Installation
Moonin installation has two parts:
- Register the cluster in the Admin Console
- Install the Moonin Agent Helm chart in that cluster
The current public chart bundles both in-cluster components:
Discovery-AgentScaling-Rules-Agent
Public resources:
1. Register the cluster
Section titled “1. Register the cluster”From app-admin.moonin.app:
- Open the target organization and project
- Go to Clusters
- Create a new cluster record
- Copy:
PROJECT_IDCLUSTER_IDCLUSTER_TOKEN
These values are stored in the shared chart credentials Secret.
2. Install the chart
Section titled “2. Install the chart”helm repo add moonin-agent https://Moonin-Lab.github.io/Moonin-Agent-Charthelm repo updatehelm upgrade --install moonin-agent moonin-agent/moonin-agent \ --version 1.0.1 \ -n moonin-agent \ --create-namespace \ --set-string global.credentialsSecretName=moonin-credentials \ --set-string global.clusterCredentials.projectId=<PROJECT_ID> \ --set-string global.clusterCredentials.clusterId=<CLUSTER_ID> \ --set-string global.clusterCredentials.clusterToken=<CLUSTER_TOKEN>Optional settings
Section titled “Optional settings”Disable the scaling rules agent
Section titled “Disable the scaling rules agent”helm upgrade --install moonin-agent moonin-agent/moonin-agent \ -n moonin-agent \ --create-namespace \ --set Scaling-Rules-Agent.enabled=falseScaling Rules Agent defaults
Section titled “Scaling Rules Agent defaults”Scaling-Rules-Agent: enabled: true env: API_URL: https://api-scaling-rules.moonin.app LOG_LEVEL: info IGNORE_RESOURCES: ""What the agents do after installation
Section titled “What the agents do after installation”Discovery Agent
Section titled “Discovery Agent”- sends heartbeats
- syncs namespaces, Deployments, images and revisions
- captures node snapshots
- detects cluster cloud metadata
- syncs CronJobs and Job executions
- stores up to the last 200 lines of failed job logs in the platform
Scaling Rules Agent
Section titled “Scaling Rules Agent”- polls templates every 30 seconds
- evaluates manual and scheduled execution windows
- applies temporary HPA changes
- reverts them when the window ends
- reverts them again if the template is disabled before expiration
Verify a healthy install
Section titled “Verify a healthy install”kubectl get pods -n moonin-agentkubectl logs deploy/moonin-agent-discovery-agent -n moonin-agentLook for:
- leader election success
- namespace and Deployment synchronization
- node snapshot loop startup
- cluster metadata heartbeat
- CronJob synchronization
Provider metadata detection
Section titled “Provider metadata detection”Moonin attempts to detect provider context from cloud metadata and Kubernetes labels. It currently supports:
- GKE
- EKS
- AKS
- on-prem or unknown environments
If metadata endpoints are restricted, the agent falls back to node labels when possible.