Welcome, Wild Cloud!
This commit is contained in:
@@ -175,5 +175,5 @@
|
||||
"system_prompt_path": null,
|
||||
"name": "cyclo",
|
||||
"emoji": "🤖",
|
||||
"init_cwd": "/data/repos/sovereign-cloud"
|
||||
"init_cwd": "/data/repos/wild-cloud"
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
source $SCLOUD/load-env.sh
|
||||
source $WCLOUD/load-env.sh
|
||||
|
||||
|
@@ -1,36 +1,36 @@
|
||||
# System Prompt for Bot CLI Assistant
|
||||
|
||||
You are {{ bot.emoji }} {{ bot.name }}, a CLI assistant that helps Soverign Cloud operators manage and develop their sovereign clouds. Sovereign Clouds are network clusters of one or more hosts that aim to provide network operating centers and cloud applications using Open Source software to to individuals and organizations across civil society.
|
||||
You are {{ bot.emoji }} {{ bot.name }}, a CLI assistant that helps Soverign Cloud operators manage and develop their wild clouds. Wild Clouds are network clusters of one or more hosts that aim to provide network operating centers and cloud applications using Open Source software to to individuals and organizations across civil society.
|
||||
|
||||
## Capabilities:
|
||||
|
||||
- You are backed by a full LLM.
|
||||
- Full access to bash shell commands. You are a shell wizard and can issue commands to accomplish almost any task efficiently.
|
||||
- You operate with full access to a sovereign cloud operator machine which has full access to the sovereign cloud.
|
||||
- `kubectl` - A sovereign cloud is run on k3s and kubectl is available on the operator machine.
|
||||
- `git` - Git is used widely in a soverign cloud as we favor descriptive over procedural. Sovereign cloud is cloned from the official repo at `https://github.com/payneio/sovereign-cloud`.
|
||||
- You operate with full access to a wild cloud operator machine which has full access to the wild cloud.
|
||||
- `kubectl` - A wild cloud is run on k3s and kubectl is available on the operator machine.
|
||||
- `git` - Git is used widely in a soverign cloud as we favor descriptive over procedural. Wild cloud is cloned from the official repo at `https://github.com/payneio/wild-cloud`.
|
||||
|
||||
## Operation Guidelines:
|
||||
|
||||
- When users mention "the cloud" or "my cloud" or "the sovereign cloud" they are usually referring to the currently running instance which you have access to. If they ask a question about the cloud you should use local or Sovereign Cloud resources and documentation to answer the question versus general network, cloud, or kubernetes information. Respond in a personalized and sovereign-cloud contextualized manner.
|
||||
- When users mention "the cloud" or "my cloud" or "the wild cloud" they are usually referring to the currently running instance which you have access to. If they ask a question about the cloud you should use local or Wild Cloud resources and documentation to answer the question versus general network, cloud, or kubernetes information. Respond in a personalized and wild-cloud contextualized manner.
|
||||
- Be concise and direct in your responses
|
||||
- For complex tasks, break down the steps clearly
|
||||
- If you're unsure about a command's effects, err on the side of caution
|
||||
- Respect the operator machine and the sovereign cloud - avoid destructive operations unless explicitly requested
|
||||
- Respect the operator machine and the wild cloud - avoid destructive operations unless explicitly requested
|
||||
- Your response will be printed on the command line. DO use UTF-8. Do NOT use markdown.
|
||||
- When starting a new session, you should check on the current status of the cloud.
|
||||
|
||||
## Helpful resources
|
||||
|
||||
- $SCLOUD environment variable. Points to the Sovereign Cloud repository.
|
||||
- $SCLOUD/README.md - Information about this sovereign cloud.
|
||||
- `source $SCLOUD/load-env.sh` should be run before any other operations.
|
||||
- $SCLOUD/bin - Operator scripts including:
|
||||
- $WCLOUD environment variable. Points to the Wild Cloud repository.
|
||||
- $WCLOUD/README.md - Information about this wild cloud.
|
||||
- `source $WCLOUD/load-env.sh` should be run before any other operations.
|
||||
- $WCLOUD/bin - Operator scripts including:
|
||||
- `dashboard-token` to get the Kubernetes dashboard access token.
|
||||
- `deploy-service` for deploying cloud services from the `$SCLOUD/services` directory.
|
||||
- $SCLOUD/docs: Important information about the cloud including:
|
||||
- $SCLOUD/docs/learning: Docs for operators to go deeper and learn cloud operation concepts.
|
||||
- $SCLOUD/docs/troubleshooting: Docs helpful for operators in fixing common issues.
|
||||
- `deploy-service` for deploying cloud services from the `$WCLOUD/services` directory.
|
||||
- $WCLOUD/docs: Important information about the cloud including:
|
||||
- $WCLOUD/docs/learning: Docs for operators to go deeper and learn cloud operation concepts.
|
||||
- $WCLOUD/docs/troubleshooting: Docs helpful for operators in fixing common issues.
|
||||
|
||||
## Best Practices:
|
||||
|
||||
|
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@@ -2,7 +2,7 @@
|
||||
"cSpell.customDictionaries": {
|
||||
"custom-dictionary-workspace": {
|
||||
"name": "custom-dictionary-workspace",
|
||||
"path": "${workspaceFolder:sovereign-cloud}/.cspell/custom-dictionary-workspace.txt",
|
||||
"path": "${workspaceFolder:wild-cloud}/.cspell/custom-dictionary-workspace.txt",
|
||||
"addWords": true,
|
||||
"scope": "workspace"
|
||||
}
|
||||
|
@@ -1,6 +1,8 @@
|
||||
# Sovereign Cloud
|
||||
# Wild Cloud
|
||||
|
||||
> Take control of your digital life with your own personal cloud infrastructure
|
||||
Welcome! So excited you're here!
|
||||
|
||||
When I was an 8 year old kid, I had a computer named the Commodore64. One of the coolest things about it was th
|
||||
|
||||
## Why Build Your Own Cloud?
|
||||
|
||||
|
@@ -19,6 +19,6 @@ spec:
|
||||
port:
|
||||
number: 3001
|
||||
tls:
|
||||
- secretName: wildcard-internal-sovereign-cloud-tls
|
||||
- secretName: wildcard-internal-wild-cloud-tls
|
||||
hosts:
|
||||
- your.immich.domain
|
@@ -19,6 +19,6 @@ spec:
|
||||
port:
|
||||
number: 8096
|
||||
tls:
|
||||
- secretName: wildcard-internal-sovereign-cloud-tls
|
||||
- secretName: wildcard-internal-wild-cloud-tls
|
||||
hosts:
|
||||
- your.jellyfin.domain
|
@@ -6,7 +6,7 @@ labels:
|
||||
pairs:
|
||||
app: jellyfin
|
||||
managedBy: kustomize
|
||||
partOf: sovereign-cloud
|
||||
partOf: wild-cloud
|
||||
resources:
|
||||
- deployment.yaml
|
||||
- ingress.yaml
|
||||
|
@@ -20,6 +20,6 @@ spec:
|
||||
port:
|
||||
number: 80
|
||||
tls:
|
||||
- secretName: wildcard-internal-sovereign-cloud-tls
|
||||
- secretName: wildcard-internal-wild-cloud-tls
|
||||
hosts:
|
||||
- your.nextcloud.domain
|
||||
|
@@ -6,7 +6,7 @@ labels:
|
||||
pairs:
|
||||
app: nextcloud
|
||||
managedBy: kustomize
|
||||
partOf: sovereign-cloud
|
||||
partOf: wild-cloud
|
||||
resources:
|
||||
- cron.yaml
|
||||
- deployment.yaml
|
||||
|
@@ -20,7 +20,10 @@ spec:
|
||||
- containerPort: 6379
|
||||
env:
|
||||
- name: TZ
|
||||
value: America/New_York
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: config
|
||||
key: TZ
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: config
|
||||
|
@@ -6,7 +6,7 @@ labels:
|
||||
pairs:
|
||||
app: redis
|
||||
managedBy: kustomize
|
||||
partOf: sovereign-cloud
|
||||
partOf: wild-cloud
|
||||
resources:
|
||||
- deployment.yaml
|
||||
- namespace.yaml
|
||||
|
@@ -1,3 +1,3 @@
|
||||
# Sovereign Cloud Binaries
|
||||
# Wild Cloud Binaries
|
||||
|
||||
These are the scripts that help you manage your cloud.
|
||||
|
@@ -28,14 +28,14 @@ fi
|
||||
CONTAINER_NAME="$1"
|
||||
VERSION="${2:-latest}"
|
||||
REGISTRY=$DOCKER_REGISTRY_HOST
|
||||
CONTAINER_DIR="/data/repos/sovereign-cloud/containers/${CONTAINER_NAME}"
|
||||
CONTAINER_DIR="/data/repos/wild-cloud/containers/${CONTAINER_NAME}"
|
||||
IMAGE_NAME="${REGISTRY}/${CONTAINER_NAME}:${VERSION}"
|
||||
|
||||
# Check if container directory exists
|
||||
if [ ! -d "$CONTAINER_DIR" ]; then
|
||||
echo "Error: Container directory not found: $CONTAINER_DIR"
|
||||
echo "Available containers:"
|
||||
ls -1 /data/repos/sovereign-cloud/containers/
|
||||
ls -1 /data/repos/wild-cloud/containers/
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
@@ -95,7 +95,7 @@ spec:
|
||||
tls:
|
||||
- hosts:
|
||||
- my-app.CLOUD_DOMAIN
|
||||
secretName: wildcard-sovereign-cloud-tls
|
||||
secretName: wildcard-wild-cloud-tls
|
||||
```
|
||||
|
||||
This Ingress tells the cluster to route requests for `my-app.CLOUD_DOMAIN` to your service. The annotations provide hints to other systems like ExternalDNS.
|
||||
@@ -150,7 +150,7 @@ spec:
|
||||
- --source=service
|
||||
- --source=ingress
|
||||
- --provider=cloudflare
|
||||
- --txt-owner-id=sovereign-cloud
|
||||
- --txt-owner-id=wild-cloud
|
||||
```
|
||||
|
||||
ExternalDNS watches Kubernetes Services and Ingresses with appropriate annotations, then creates corresponding DNS records in CloudFlare, making your applications discoverable by domain name.
|
||||
@@ -163,10 +163,10 @@ To secure connections with HTTPS, we use cert-manager to automatically obtain an
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: wildcard-sovereign-cloud-io
|
||||
name: wildcard-wild-cloud-io
|
||||
namespace: default
|
||||
spec:
|
||||
secretName: wildcard-sovereign-cloud-tls
|
||||
secretName: wildcard-wild-cloud-tls
|
||||
dnsNames:
|
||||
- "*.CLOUD_DOMAIN"
|
||||
- "CLOUD_DOMAIN"
|
||||
|
@@ -2,10 +2,10 @@
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: wildcard-internal-sovereign-cloud
|
||||
name: wildcard-internal-wild-cloud
|
||||
namespace: cert-manager
|
||||
spec:
|
||||
secretName: wildcard-internal-sovereign-cloud-tls
|
||||
secretName: wildcard-internal-wild-cloud-tls
|
||||
dnsNames:
|
||||
- "*.internal.${DOMAIN}"
|
||||
- "internal.${DOMAIN}"
|
||||
|
@@ -2,10 +2,10 @@
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: wildcard-sovereign-cloud
|
||||
name: wildcard-wild-cloud
|
||||
namespace: cert-manager
|
||||
spec:
|
||||
secretName: wildcard-sovereign-cloud-tls
|
||||
secretName: wildcard-wild-cloud-tls
|
||||
dnsNames:
|
||||
- "*.${DOMAIN}"
|
||||
- "${DOMAIN}"
|
||||
|
@@ -17,4 +17,4 @@ spec:
|
||||
tls:
|
||||
- hosts:
|
||||
- docker-registry.internal.${DOMAIN}
|
||||
secretName: wildcard-internal-sovereign-cloud-tls
|
||||
secretName: wildcard-internal-wild-cloud-tls
|
||||
|
@@ -5,7 +5,7 @@ labels:
|
||||
- includeSelectors: true
|
||||
pairs:
|
||||
app: docker-registry
|
||||
managedBy: sovereign-cloud
|
||||
managedBy: wild-cloud
|
||||
resources:
|
||||
- deployment.yaml
|
||||
- ingress.yaml
|
||||
|
@@ -47,7 +47,7 @@ spec:
|
||||
port: 443
|
||||
serversTransport: dashboard-transport
|
||||
tls:
|
||||
secretName: wildcard-internal-sovereign-cloud-tls
|
||||
secretName: wildcard-internal-wild-cloud-tls
|
||||
|
||||
---
|
||||
# HTTP to HTTPS redirect.
|
||||
@@ -82,4 +82,3 @@ metadata:
|
||||
spec:
|
||||
insecureSkipVerify: true
|
||||
serverName: dashboard.internal.${DOMAIN}
|
||||
|
||||
|
@@ -20,8 +20,8 @@ echo "Installing Kubernetes Dashboard core components..."
|
||||
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
|
||||
|
||||
# Copying cert-manager secrets to the dashboard namespace
|
||||
copy-secret cert-manager:wildcard-internal-sovereign-cloud-tls $NAMESPACE
|
||||
copy-secret cert-manager:wildcard-sovereign-cloud-tls $NAMESPACE
|
||||
copy-secret cert-manager:wildcard-internal-wild-cloud-tls $NAMESPACE
|
||||
copy-secret cert-manager:wildcard-wild-cloud-tls $NAMESPACE
|
||||
|
||||
# Create admin service account and token
|
||||
echo "Creating dashboard admin service account and token..."
|
||||
|
Reference in New Issue
Block a user