Search
⌃K

ArgoCD integration

This page details how deploy groundcover through ArgoCD

Step 1: Create ArgoCD Application Manifest

Example of groundcover application manifest only replace <groundcover-version> and <project-name>
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: groundcover
namespace: groundcover
spec:
project: <project-name>
source:
chart: groundcover
repoURL: https://helm.groundcover.com
targetRevision: <groundcover-version>
helm:
releaseName: groundcover
valueFiles:
- values.yaml
destination:
server: "https://kubernetes.default.svc"
namespace: groundcover
# avoid OutOfSync state on secrets with random-data.
# https://argo-cd.readthedocs.io/en/stable/user-guide/helm/#random-data
syncPolicy:
syncOptions:
- RespectIgnoreDifferences=true
ignoreDifferences:
- kind: Secret
jsonPointers:
- /data

Step 2: Setup groundcover installation secrets

Option 1: Predefined Secrets

Either manually or using a secret manager, create a secret in the following structure
apiVersion: v1
kind: Secret
metadata:
name: groundcover-api-key
namespace: groundcover
stringData:
API_KEY: <apikey>
type: Opaque
---
apiVersion: v1
kind: Secret
metadata:
name: groundcover-tsdb
namespace: groundcover
type: Opaque
stringData:
PATRONI_SUPERUSER_PASSWORD: <random-password>
PATRONI_REPLICATION_PASSWORD: <random-password>
PATRONI_admin_PASSWORD: <random-password>
---
apiVersion: v1
kind: Secret
metadata:
name: groundcover-clickhouse
namespace: groundcover
type: Opaque
stringData:
admin-password: <random-password>
​
Add the following overrides to your helm override values
global:
groundcoverPredefinedTokenSecret:
secretKey: API_KEY
secretName: groundcover-api-key
clickhouse:
auth:
existingSecretKey: admin-password
existingSecret: groundcover-clickhouse
timescaledb-single:
secrets:
credentialsSecretName: groundcover-tsdb

Option 2: Inline Secrets

Add the following overrides to your helm override values
global:
groundcover_token: <apikey>
clickhouse:
auth:
password: <random-password>
timescaledb-single:
secrets:
credentials:
PATRONI_SUPERUSER_PASSWORD: <random-password>
PATRONI_REPLICATION_PASSWORD: <random-password>
PATRONI_admin_PASSWORD: <random-password>