Argo CD Bootstrap module

This module is used to bootstrap the Argo CD that will deploy the rest of the DevOps Stack modules on a first deployment of a cluster.

The Argo CD installed is the same as the one deployed by the Argo CD module, however this module deploys it using the Helm provider for Terraform, since the Argo CD provider cannot be obviously used until it installed.

Usage

To do that, on your Terraform configuration you can declare the module as such:

module "argocd_bootstrap" {
  source = "git::https://github.com/camptocamp/devops-stack-module-argocd.git//bootstrap?ref=v1.1.0"

  # Note here that you should mark the module as depending on the module that deployed the cluster
  depends_on = [module.eks]
}

Do not forget to add the Argo CD provider settings, which is needed to deploy all the other modules, since they use the Argo CD provider:

provider "argocd" {
  server_addr                 = "127.0.0.1:8080"
  auth_token                  = module.argocd_bootstrap.argocd_auth_token
  insecure                    = true
  plain_text                  = true
  port_forward                = true
  port_forward_with_namespace = "argocd"

  kubernetes {
    ...
  }
}

Technical Documentation

Requirements

The following requirements are needed by this module:

Providers

The following providers are used by this module:

Resources

The following resources are used by this module:

Optional Inputs

The following input variables are optional (have default values):

namespace

Description: Namespace where to deploy Argo CD.

Type: string

Default: "argocd"

helm_values

Description: Helm chart value overrides. They should be passed as a list of HCL structures.

Type: any

Default:

[
  {
    "argo-cd": {}
  }
]

Outputs

The following outputs are exported:

id

Description: ID to pass other modules in order to refer to this module as a dependency.

argocd_namespace

Description: The namespace where to deploy Argo CD.

argocd_server_secretkey

Description: The Argo CD server secret key.

argocd_auth_token

Description: The token to set in ARGOCD_AUTH_TOKEN environment variable. May be used for configuring Argo CD Terraform provider.

argocd_accounts_pipeline_tokens

Description: The Argo CD accounts pipeline tokens.

Reference in table format

Show tables

= Requirements

Name Version

>= 1.2

>= 2

>= 1

jwt

>= 1.1

>= 3

>= 0.9

>= 1.6

= Providers

Name Version

>= 3

jwt

>= 1.1

>= 0.9

>= 2

>= 1.6

n/a

= Resources

Name Type

resource

resource

resource

resource

resource

resource

data source

= Inputs

Name Description Type Default Required

Namespace where to deploy Argo CD.

string

"argocd"

no

Helm chart value overrides. They should be passed as a list of HCL structures.

any

[
  {
    "argo-cd": {}
  }
]

no

= Outputs

Name Description

id

ID to pass other modules in order to refer to this module as a dependency.

The namespace where to deploy Argo CD.

The Argo CD server secret key.

The token to set in ARGOCD_AUTH_TOKEN environment variable. May be used for configuring Argo CD Terraform provider.

The Argo CD accounts pipeline tokens.