Kubernetes Operator
Deploy the Solen operator to your cluster. Register workloads with a SolenApp CRD, monitor pods, and trigger infrastructure heals from inside Kubernetes.
What it does
The in-cluster operator:
- Watches
SolenAppcustom resources (add, update, delete) - Registers each app with Solen via
POST /api/external-apps - Patches status with
externalAppId, phase, and sync time - Creates a
solen-agent-{name}Secret for sidecar credentials - Triggers heals through Solen when health checks fail (restart, rollback image, scale — no source edits)
Install via Helm
helm install solen gautamtalksdev/k8s-operator:v3Create the API key secret before the operator starts (see deploy/operator-deployment.yaml in the repo).
Install via kubectl
Apply the CRD, RBAC, credentials Secret, and operator Deployment:
kubectl apply -f https://raw.githubusercontent.com/GautamTalksDev/Solen/main/packages/solen-k8s-operator/deploy/operator-deployment.yamlFor a full install (CRD + RBAC separately), see the operator README on GitHub.
SolenApp CRD example
Install the CRD once per cluster, then apply a SolenApp per workload:
apiVersion: solen.ai/v1alpha1
kind: SolenApp
metadata:
name: payments-api
namespace: production
spec:
healthCheckUrl: http://payments-api.production.svc.cluster.local:8080/health
healMode: supervised
rollbackImages:
- ghcr.io/acme/payments-api:v2.4.1
- ghcr.io/acme/payments-api:v2.4.0
platform: kubernetesSidecar injection example
After the operator registers your SolenApp, add the Solen agent container and mount the generated Secret (V3: manual sidecar; automatic mutating webhook planned for a future release):
- name: solen-agent
image: gautamtalksdev/agent:v3
env:
- name: SOLEN_AGENT_TOKEN
valueFrom:
secretKeyRef:
name: solen-agent-payments-api
key: SOLEN_AGENT_TOKEN
- name: SOLEN_EXTERNAL_APP_ID
valueFrom:
secretKeyRef:
name: solen-agent-payments-api
key: SOLEN_EXTERNAL_APP_ID
- name: SOLEN_HEALTH_CHECK_URL
valueFrom:
secretKeyRef:
name: solen-agent-payments-api
key: SOLEN_HEALTH_CHECK_URL
- name: SOLEN_API_URL
value: "https://api.solenai.ca"Full documentation
Helm values, RBAC, environment variables, and troubleshooting live in the GitHub repo:
github.com/GautamTalksDev/Solen — packages/solen-k8s-operator →
