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.
This commit is contained in:
@@ -0,0 +1,155 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user