Compare commits
2 Commits
47cdf16b54
...
65852c9f38
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
65852c9f38 | ||
|
|
d586e10776 |
@@ -6,17 +6,19 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|||||||
|
|
||||||
This project is called "Wild Cloud". Wild Cloud is a platform for managing and orchestrating cloud-native applications on local networks using a network appliance called "Wild Central".
|
This project is called "Wild Cloud". Wild Cloud is a platform for managing and orchestrating cloud-native applications on local networks using a network appliance called "Wild Central".
|
||||||
|
|
||||||
Wild Central is a lightweight server that runs on a local machine (e.g., a Raspberry Pi) and provides an API for users to manage their Wild Cloud instances. The Wild Cloud API is implemented in the wild-central-api project. @wild-central-api/README.md . Wild Central devices can be set up using our apt package implemented in the wild-central project. @wild-central/README.md
|
Wild Central is a lightweight server that runs on a local machine (e.g., a Raspberry Pi) and provides an API for users to manage their Wild Cloud instances. The Wild Cloud API is implemented in the wild-central-api project. @wild-central-api/CLAUDE.md . Wild Central devices can be set up using our apt package implemented in the wild-central project. @wild-central/README.md
|
||||||
|
|
||||||
|
All data and config for an instance of Wild Central is defined in Central's environment in the WILD_API_DATA_DIR variable. For ease of access, a symlink to our Wild API data dir is made at ./wild-cloud-redmond-data.
|
||||||
|
|
||||||
A Wild Cloud instance is a kubernetes (k8s) environment that runs Wild Cloud services and applications. Wild Cloud instances can be created, managed, and monitored using the Wild Cloud API running on a Wild Central device.
|
A Wild Cloud instance is a kubernetes (k8s) environment that runs Wild Cloud services and applications. Wild Cloud instances can be created, managed, and monitored using the Wild Cloud API running on a Wild Central device.
|
||||||
|
|
||||||
Wild Cloud applications are custom packages designed to be deployed to Wild Cloud instances. They consist of kustomize templates and a Wild Cloud app manifest file that describes the application and how it should be deployed configured and deployed in a Wild Cloud instance. Wild Cloud applications are stored in a "Wild Directory". The directory contained in the wild-directory folder is the official Wild Directory. @wild-directory/README.md
|
Wild Cloud applications are custom packages designed to be deployed to Wild Cloud instances. They consist of kustomize templates and a Wild Cloud app manifest file that describes the application and how it should be deployed configured and deployed in a Wild Cloud instance. Wild Cloud applications are stored in a "Wild Directory". The directory contained in the wild-directory folder is the official Wild Directory. @wild-directory/CLAUDE.md
|
||||||
|
|
||||||
The Wild Cloud API maintains data for each Wild Cloud instance in its configured WILD_API_DATA_DIR. A data directory is intended to be checked into version control (e.g., git) to track changes to the configuration of Wild Cloud instances and their deployed applications over time. These are designed to follow infrastructure-as-code principles, allowing experienced devops users to manage their Wild Cloud instances using familiar tools and workflows.
|
The Wild Cloud API maintains data for each Wild Cloud instance in its configured WILD_API_DATA_DIR. A data directory is intended to be checked into version control (e.g., git) to track changes to the configuration of Wild Cloud instances and their deployed applications over time. These are designed to follow infrastructure-as-code principles, allowing experienced devops users to manage their Wild Cloud instances using familiar tools and workflows.
|
||||||
|
|
||||||
We provide a command-line interface (CLI) tool called Wild CLI, implemented in the wild-cli project, that allows users to interact with the Wild Cloud API and manage their Wild Cloud instances from the terminal. This allows users to automate tasks and integrate Wild Cloud management into their existing workflows. @wild-cli/README.md
|
We provide a command-line interface (CLI) tool called Wild CLI, implemented in the wild-cli project, that allows users to interact with the Wild Cloud API and manage their Wild Cloud instances from the terminal. This allows users to automate tasks and integrate Wild Cloud management into their existing workflows. @wild-cli/README.md
|
||||||
|
|
||||||
To make Wild Cloud more accessible to less-experienced users, the Wild Central device hosts a web-based interface for managing Wild Cloud instances, which is implemented in the wild-web-app project. @wild-web-app/README.md
|
To make Wild Cloud more accessible to less-experienced users, the Wild Central device hosts a web-based interface for managing Wild Cloud instances, which is implemented in the wild-web-app project. @wild-web-app/CLAUDE.md
|
||||||
|
|
||||||
## Additional Documentation
|
## Additional Documentation
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ defaultConfig:
|
|||||||
storage: 10Gi
|
storage: 10Gi
|
||||||
dbHostname: postgres.postgres.svc.cluster.local
|
dbHostname: postgres.postgres.svc.cluster.local
|
||||||
dbUsername: myapp
|
dbUsername: myapp
|
||||||
requiredSecrets:
|
defaultSecrets:
|
||||||
- apps.myapp.dbPassword
|
- apps.myapp.dbPassword
|
||||||
- apps.postgres.password
|
- apps.postgres.password
|
||||||
```
|
```
|
||||||
@@ -55,7 +55,7 @@ requiredSecrets:
|
|||||||
- `icon` - A URL to an icon representing the app
|
- `icon` - A URL to an icon representing the app
|
||||||
- `requires` - A list of other apps that this app depends on (each entry should be the name of another app)
|
- `requires` - A list of other apps that this app depends on (each entry should be the name of another app)
|
||||||
- `defaultConfig` - A set of default configuration values for the app (when an app is added using `wild-app-add`, these values will be added to the Wild Cloud `config.yaml` file)
|
- `defaultConfig` - A set of default configuration values for the app (when an app is added using `wild-app-add`, these values will be added to the Wild Cloud `config.yaml` file)
|
||||||
- `requiredSecrets` - A list of secrets that must be set in the Wild Cloud `secrets.yaml` file for the app to function properly (these secrets are typically sensitive information like database passwords or API keys; keys with random values will be generated automatically when the app is added)
|
- `defaultSecrets` - A list of secrets that must be set in the Wild Cloud `secrets.yaml` file for the app to function properly (these secrets are typically sensitive information like database passwords or API keys; keys with random values will be generated automatically when the app is added)
|
||||||
|
|
||||||
### Kustomization Configuration
|
### Kustomization Configuration
|
||||||
|
|
||||||
@@ -354,7 +354,7 @@ spec:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# In manifest.yaml
|
# In manifest.yaml
|
||||||
requiredSecrets:
|
defaultSecrets:
|
||||||
- apps.myapp.dbUrl
|
- apps.myapp.dbUrl
|
||||||
|
|
||||||
# Generated secret (by wild-app-add)
|
# Generated secret (by wild-app-add)
|
||||||
@@ -509,7 +509,7 @@ Wild Cloud includes apps for common self-hosted services:
|
|||||||
|
|
||||||
**Manifest Design**:
|
**Manifest Design**:
|
||||||
- Include comprehensive `defaultConfig` for all configurable values
|
- Include comprehensive `defaultConfig` for all configurable values
|
||||||
- List all `requiredSecrets` the app needs
|
- List all `defaultSecrets` the app needs
|
||||||
- Specify dependencies in `requires` field
|
- Specify dependencies in `requires` field
|
||||||
- Use semantic versioning
|
- Use semantic versioning
|
||||||
|
|
||||||
|
|||||||
@@ -247,7 +247,7 @@ wild-secret-set apps.database '{"user":"admin","password":"secret"}'
|
|||||||
|
|
||||||
When you run `wild-app-add`, Wild Cloud automatically generates required secrets:
|
When you run `wild-app-add`, Wild Cloud automatically generates required secrets:
|
||||||
|
|
||||||
1. **Reads App Manifest**: Identifies `requiredSecrets` list
|
1. **Reads App Manifest**: Identifies `defaultSecrets` list
|
||||||
2. **Checks Existing Secrets**: Never overwrites existing values
|
2. **Checks Existing Secrets**: Never overwrites existing values
|
||||||
3. **Generates Missing Secrets**: Creates secure random values
|
3. **Generates Missing Secrets**: Creates secure random values
|
||||||
4. **Updates secrets.yaml**: Adds new secrets with proper structure
|
4. **Updates secrets.yaml**: Adds new secrets with proper structure
|
||||||
@@ -255,7 +255,7 @@ When you run `wild-app-add`, Wild Cloud automatically generates required secrets
|
|||||||
**Example App Manifest**:
|
**Example App Manifest**:
|
||||||
```yaml
|
```yaml
|
||||||
name: ghost
|
name: ghost
|
||||||
requiredSecrets:
|
defaultSecrets:
|
||||||
- apps.ghost.dbPassword # Auto-generated if missing
|
- apps.ghost.dbPassword # Auto-generated if missing
|
||||||
- apps.ghost.jwtSecret # Auto-generated if missing
|
- apps.ghost.jwtSecret # Auto-generated if missing
|
||||||
- apps.postgresql.password # Auto-generated if missing (dependency)
|
- apps.postgresql.password # Auto-generated if missing (dependency)
|
||||||
|
|||||||
Reference in New Issue
Block a user