Skip to main content

Agent Installation

Prerequisites

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:

  1. Navigate to Settings --> Agents

  2. Click on the

    button

    Enter 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

  3. Click Next

    You should see an installation script generated for Flux or Helm CLI

  4. Alternatively if you are installing the agent in multiple locations you can reuse the same token generated

    apiVersion:  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:
    See values.yaml
Externalize the token

We recommend that the upstream token be stored separately and encrypted using sops or similar

  1. 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"

  2. 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:
    • upstream:
      • createSecret: boolean
      • host: string
      • username: string
      • password: string
      • agentName: string
      • secretName: string
    • resources:
      • requests:
        • cpu: string
        • memory: string
      • limits:
        • memory: string
        • cpu: string
    • db:
      • create: boolean
      • conf:
        • secretKeyRef:
          • name: string
          • key: string
        • jwtSecretKeyRef:
          • name: string
          • key: string
        • storageClass: string
        • storage: string
        • shmVolume: string
        • resources:
          • requests:
            • memory: string
      • canary-checker:
        • image:
          • type: string
        • db:
          • runMigrations: boolean
          • external:
            • enabled: boolean
            • create: boolean
            • secretKeyRef:
              • name: string
              • key: string
        • flanksource-ui:
          • enabled: boolean
      • config-db:
        • disablePostgrest: boolean
        • db:
          • runMigrations: boolean
          • embedded:
            • persist: boolean
          • external:
            • enabled: boolean
            • secretKeyRef:
              • name: string
              • key: string