Files
infrastructure/servers/legion/k8s/neuron-technologies/swarm/externalsecrets.yaml
T
Will Anderson 74dd054a36 feat(swarm): add swarm self-improvement loop infrastructure
Adds complete k8s manifests, ArgoCD app, and Terraform namespace
resources for the Neuron swarm self-improvement loop system.

Each variant (alpha, beta, gamma) gets its own isolated namespace,
PVC, MCP/REST deployments, ExternalSecrets from Vault, RBAC for CI,
and a SQLite clone Job template for session startup.
2026-04-26 00:58:43 -05:00

156 lines
4.3 KiB
YAML

# Swarm variants share the same secrets as prod.
# Each variant gets its own ExternalSecret object pointing at the same Vault paths.
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: swarm-alpha-secrets
namespace: swarm-alpha
spec:
refreshInterval: 1h
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: swarm-alpha-secrets
creationPolicy: Owner
data:
- secretKey: NEURON_API_KEY
remoteRef:
key: secret/data/neuron-technologies/prod
property: api_key
- secretKey: NEURON_WEBHOOK_SECRET
remoteRef:
key: secret/data/neuron-technologies/prod
property: gitea_webhook_secret
- secretKey: NEURON_LICENSE_ADMIN_TOKEN
remoteRef:
key: secret/data/neuron-technologies/license
property: admin_token
- secretKey: UNKEY_ROOT_KEY
remoteRef:
key: secret/data/neuron-technologies/unkey
property: root_key
- secretKey: UNKEY_API_ID
remoteRef:
key: secret/data/neuron-technologies/unkey
property: api_id
- secretKey: NEURON_R2_ENDPOINT
remoteRef:
key: secret/data/r2
property: endpoint
- secretKey: NEURON_R2_ACCESS_KEY
remoteRef:
key: secret/data/r2
property: access_key_id
- secretKey: NEURON_R2_SECRET_KEY
remoteRef:
key: secret/data/r2
property: secret_access_key
- secretKey: NEURON_R2_BUCKET
remoteRef:
key: secret/data/r2
property: neuron_bucket
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: swarm-beta-secrets
namespace: swarm-beta
spec:
refreshInterval: 1h
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: swarm-beta-secrets
creationPolicy: Owner
data:
- secretKey: NEURON_API_KEY
remoteRef:
key: secret/data/neuron-technologies/prod
property: api_key
- secretKey: NEURON_WEBHOOK_SECRET
remoteRef:
key: secret/data/neuron-technologies/prod
property: gitea_webhook_secret
- secretKey: NEURON_LICENSE_ADMIN_TOKEN
remoteRef:
key: secret/data/neuron-technologies/license
property: admin_token
- secretKey: UNKEY_ROOT_KEY
remoteRef:
key: secret/data/neuron-technologies/unkey
property: root_key
- secretKey: UNKEY_API_ID
remoteRef:
key: secret/data/neuron-technologies/unkey
property: api_id
- secretKey: NEURON_R2_ENDPOINT
remoteRef:
key: secret/data/r2
property: endpoint
- secretKey: NEURON_R2_ACCESS_KEY
remoteRef:
key: secret/data/r2
property: access_key_id
- secretKey: NEURON_R2_SECRET_KEY
remoteRef:
key: secret/data/r2
property: secret_access_key
- secretKey: NEURON_R2_BUCKET
remoteRef:
key: secret/data/r2
property: neuron_bucket
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: swarm-gamma-secrets
namespace: swarm-gamma
spec:
refreshInterval: 1h
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: swarm-gamma-secrets
creationPolicy: Owner
data:
- secretKey: NEURON_API_KEY
remoteRef:
key: secret/data/neuron-technologies/prod
property: api_key
- secretKey: NEURON_WEBHOOK_SECRET
remoteRef:
key: secret/data/neuron-technologies/prod
property: gitea_webhook_secret
- secretKey: NEURON_LICENSE_ADMIN_TOKEN
remoteRef:
key: secret/data/neuron-technologies/license
property: admin_token
- secretKey: UNKEY_ROOT_KEY
remoteRef:
key: secret/data/neuron-technologies/unkey
property: root_key
- secretKey: UNKEY_API_ID
remoteRef:
key: secret/data/neuron-technologies/unkey
property: api_id
- secretKey: NEURON_R2_ENDPOINT
remoteRef:
key: secret/data/r2
property: endpoint
- secretKey: NEURON_R2_ACCESS_KEY
remoteRef:
key: secret/data/r2
property: access_key_id
- secretKey: NEURON_R2_SECRET_KEY
remoteRef:
key: secret/data/r2
property: secret_access_key
- secretKey: NEURON_R2_BUCKET
remoteRef:
key: secret/data/r2
property: neuron_bucket