Self-Hosted Install With Helm
Prerequisites
To install and run Mission Control you need to have the following prerequisites:
- Kubernetes 1.26+ with an Ingress Controller
- 500-1000m of CPU and 2GB of Memory
- Persistent Volumes with 20GB+ of storage or an external postgres database
- (Optional) SMTP Server (For sending notifications and invites)
helm repo add flanksource https://flanksource.github.io/charts
helm repo update
To set custom values file for your mission-control helm chart installation to override existing values in mission-control-chart
.
values.yamlglobal:
ui:
host: "mission-control-ui.local" # hostname
serviceAccount:
annotations: # Any annotations required to attach custom IAM policies etc.
adminPassword: admin # The default password for the admin@local user
flanksource-ui:
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
db:
storageClass: # e.g. gp3
storage: 50Gi
helm install mission-control \
flanksource/mission-control \
-n mission-control \
--create-namespace \
--wait \
-f values.yaml
See mission-control-chart/values.yaml or helm show values flanksource/mission-control
for a full list of configuration options
Optional Steps
Configure SMTPAn SMTP server is required for sending notifications, user invites and password resets.
The format of connection_uri
is smtp://hostname:port
values.yamlkratos:
kratos:
config:
courier:
smtp:
connection_uri: # smtp://localhost:25
from_address: noreply@
from_name: Mission Control
headers: {} # These headers will be passed in the SMTP conversation -- e.g. when using the AWS SES SMTP interface for cross-account sending.
local_name: #Identifier used in the SMTP HELO/EHLO command. Some SMTP relays require a unique identifier.
Kratos also supports HTTP Webhooks for sending emails.
See SSO for OIDC.
See Database for using an external database like AWS RDS or for tweaking postgres settings.