diggerhq / helm-charts

Apache License 2.0
8 stars 6 forks source link
digger-opensource-gitops-banner

CI/CD for Terraform is tricky. To make life easier, specialised CI systems aka TACOS exist - Terraform Cloud, Spacelift, Atlantis, etc.

But why have 2 CI systems? Why not reuse the async jobs infrastructure with compute, orchestration, logs, etc of your existing CI?

Digger runs terraform natively in your CI. This is:

Differences Compared to Atlantis

We are currently designing Digger to be Multi-CI, so that in addition to GitHub Actions, you can run Terraform/OpenTofu within other CI’s such as Gitlab CI, Azure DevOps, Bitbucket, TeamCity, Circle CI and Jenkins, while still having the option to orchestrate jobs using Digger’s Orchestrator Backend.

Read more in this blog, and please share your requirement on Slack if you require support for other CI’s. Your feedback/insight would help us a lot as this feature is in active development.

Digger Backend Helm Chart

Installation steps

The installation must be executed in two steps, as explaned in the Digger official documentation:

  1. Install the digger-backend helm chart from https://diggerhq.github.io/helm-charts/, leaving empty all the data related to the GitHub App
  2. Go to your_digger_hostname/github/setup to install and configure the GitHub App
  3. Configure in the helm values or in the external secret all the data related to the new GitHub app and upgrade the helm installation to reload the Digger application with the new configuration

Configuration Details

To configure the Digger backend deployment with the Helm chart, you'll need to set several values in the values.yaml file. Below are the key configurations to consider:

Remember to replace placeholders and default values with your specific, sensitive information before deploying the chart. For example, it's essential to generate a strong bearerAuthToken and postgresPassword rather than using the defaults for security reasons.

You can also deploy a PostgreSQL database ONLY FOR TEST PURPOSES configuring the postgres.* section: