diff --git a/charts/cert-manager/.helmignore b/charts/cert-manager/.helmignore new file mode 100644 index 0000000..0e8a0eb --- /dev/null +++ b/charts/cert-manager/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/charts/cert-manager/Chart.lock b/charts/cert-manager/Chart.lock new file mode 100644 index 0000000..9828f69 --- /dev/null +++ b/charts/cert-manager/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: cert-manager + repository: https://charts.jetstack.io + version: v1.16.2 +digest: sha256:356899ad78a5ab6fecec926dfa8ea5fddd7e189961af4fac92cd74fbba612a79 +generated: "2025-01-30T17:09:27.404477-07:00" diff --git a/charts/cert-manager/Chart.yaml b/charts/cert-manager/Chart.yaml new file mode 100644 index 0000000..10abfb7 --- /dev/null +++ b/charts/cert-manager/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +name: cert-manager +description: A Cert Manager Helm chart for Kubernetes + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.1.0 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +# It is recommended to use it with quotes. +appVersion: "1.16.0" + +dependencies: + - name: cert-manager + version: 1.16.2 + repository: https://charts.jetstack.io diff --git a/charts/cert-manager/charts/cert-manager-v1.16.2.tgz b/charts/cert-manager/charts/cert-manager-v1.16.2.tgz new file mode 100644 index 0000000..2b6ef23 Binary files /dev/null and b/charts/cert-manager/charts/cert-manager-v1.16.2.tgz differ diff --git a/charts/cert-manager/templates/clusterissuer.yaml b/charts/cert-manager/templates/clusterissuer.yaml new file mode 100644 index 0000000..f4dbb01 --- /dev/null +++ b/charts/cert-manager/templates/clusterissuer.yaml @@ -0,0 +1,20 @@ +{{- range $envName, $envData := .Values.environments }} +--- +apiVersion: cert-manager.io/v1 +kind: ClusterIssuer +metadata: + labels: + argocd.argoproj.io/instance: cert-manager + name: letsencrypt-{{ $envName }} + namespace: cert-manager +spec: + acme: + server: {{ $envData.server }} + email: {{ $envData.email }} + privateKeySecretRef: + name: letsencrypt-{{ $envName }} + solvers: + - http01: + ingress: + ingressClassName: nginx +{{- end }} \ No newline at end of file diff --git a/charts/cert-manager/values.yaml b/charts/cert-manager/values.yaml new file mode 100644 index 0000000..e2266c0 --- /dev/null +++ b/charts/cert-manager/values.yaml @@ -0,0 +1,13 @@ +crds: + enabled: true +global: + leaderElection: + namespace: cert-manager + +environments: + staging: + server: https://acme-staging-v02.api.letsencrypt.org/directory + email: john@hntlabs.com + prod: + server: https://acme-v02.api.letsencrypt.org/directory + email: john@hntlabs.com \ No newline at end of file diff --git a/environments/gamma/values.yaml b/environments/gamma/values.yaml index c37398c..2ec2170 100644 --- a/environments/gamma/values.yaml +++ b/environments/gamma/values.yaml @@ -12,7 +12,8 @@ global: chainId: "6524490" # TODO: always update contractAddresses: riverRegistry: "0xf18E98D36A6bd1aDb52F776aCc191E69B491c070" # TODO: always update this accross environments - + leaderElection: + namespace: cert-manager appOfApps: default: valuesFile: ../../environments/gamma/values.yaml # TODO: always update @@ -43,6 +44,19 @@ appOfApps: - name: metrics-aggregator disable: false namespace: default + - name: cert-manager + disable: false + namespace: cert-manager + values: | + crds: + enabled: true + environments: + staging: + server: https://acme-staging-v02.api.letsencrypt.org/directory + email: john@hntlabs.com + prod: + server: https://acme-v02.api.letsencrypt.org/directory + email: john@hntlabs.com - name: notification-service disable: false namespace: default