Agent Installation
To install and run the Mission Control agent you need to have the following prerequisites:
- Kubernetes v1.27+ and Helm v3
- 1 - 2 CPU cores and 4GB of Memory
- Persistent Volumes with 10GB+ of storage or an external postgres database like RDS.
The recommended way of installing an agent is generating the Helm/Flux install script on the UI:
-
Navigate to Settings --> Agents
-
Click on the
buttonEnter the following:
- clusterName
- Toggle Kubernetes to automatically scrape the cluster the agent is installed in, you can skip this step and perform it later by installing the chart
-
Click Next
You should see an installation script generated for Flux or Helm CLI
-
Alternatively if you are installing the agent in multiple locations you can reuse the same token generated
See values.yaml- Helm
- Flux
helm install mission-control-agent flanksource/mission-control-agent \
--set clusterName=<Unique name for this agent> \
--set upstream.agent=YOUR_LOCAL_NAME \
--set upstream.username=token \
--set upstream.password= \
--set upstream.host= \
-n mission-control --waitapiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: mission-control-agent
namespace: mission-control
spec:
chart:
spec:
chart: mission-control-agent
sourceRef:
kind: HelmRepository
name: flanksource
namespace: mission-control
interval: 1m
values:
clusterName: <Unique name for this agent>
upstream.agent: YOUR_LOCAL_NAME
upstream.username: token
upstream.password:
upstream.host:
We recommend that the upstream token be stored separately and encrypted using sops or similar
-
Create a new secret called
mission-control-upstream
title=secret.yaml apiVersion: v1 kind: Secret metadata: name: upstream stringData: UPSTREAM_HOST: "" UPSTREAM_USER: token UPSTREAM_PASSWORD: "" AGENT_NAME: "YOUR_LOCAL_NAME" -
Update the chart values: title=values.yaml upstream: createSecret: false secretName: mission-control-upstream
values.yaml
values.yaml
- image:
- repository: string
- pullPolicy: string
- tag: string
- serviceAccount:
- annotations:
- annotations:
- upstream:
- createSecret: boolean
- host: string
- username: string
- password: string
- agentName: string
- secretName: string
- resources:
- requests:
- cpu: string
- memory: string
- limits:
- memory: string
- cpu: string
- requests:
- db:
- create: boolean
- conf:
- secretKeyRef:
- name: string
- key: string
- jwtSecretKeyRef:
- name: string
- key: string
- storageClass: string
- storage: string
- shmVolume: string
- resources:
- requests:
- memory: string
- requests:
- canary-checker:
- image:
- type: string
- db:
- runMigrations: boolean
- external:
- enabled: boolean
- create: boolean
- secretKeyRef:
- name: string
- key: string
- flanksource-ui:
- enabled: boolean
- image:
- config-db:
- disablePostgrest: boolean
- db:
- runMigrations: boolean
- embedded:
- persist: boolean
- external:
- enabled: boolean
- secretKeyRef:
- name: string
- key: string