diff --git a/k8s/applications/Chart.yaml b/k8s/applications/Chart.yaml new file mode 100644 index 0000000..e69de29 diff --git a/k8s/argocd/templates/argocd.yaml b/k8s/applications/templates/argocd.yaml similarity index 78% rename from k8s/argocd/templates/argocd.yaml rename to k8s/applications/templates/argocd.yaml index 2a57770..3acb40e 100644 --- a/k8s/argocd/templates/argocd.yaml +++ b/k8s/applications/templates/argocd.yaml @@ -8,10 +8,7 @@ spec: namespace: argocd server: 'https://kubernetes.default.svc' source: - helm: - valueFiles: - - values-{{ .Values.environment }}.yaml - path: k8s/argocd + path: k8s/argocd/ repoURL: 'git@bitbucket.org:jamkazam/video-iac.git' targetRevision: HEAD project: default diff --git a/k8s/argocd/templates/cert-manager.yaml b/k8s/applications/templates/cert-manager.yaml similarity index 100% rename from k8s/argocd/templates/cert-manager.yaml rename to k8s/applications/templates/cert-manager.yaml diff --git a/k8s/argocd/templates/coturn-dns.yaml b/k8s/applications/templates/coturn-dns.yaml similarity index 100% rename from k8s/argocd/templates/coturn-dns.yaml rename to k8s/applications/templates/coturn-dns.yaml diff --git a/k8s/argocd/templates/coturn.yaml b/k8s/applications/templates/coturn.yaml similarity index 100% rename from k8s/argocd/templates/coturn.yaml rename to k8s/applications/templates/coturn.yaml diff --git a/k8s/argocd/templates/external-dns.yaml b/k8s/applications/templates/external-dns.yaml similarity index 100% rename from k8s/argocd/templates/external-dns.yaml rename to k8s/applications/templates/external-dns.yaml diff --git a/k8s/argocd/templates/ingress-nginx.yaml b/k8s/applications/templates/ingress-nginx.yaml similarity index 100% rename from k8s/argocd/templates/ingress-nginx.yaml rename to k8s/applications/templates/ingress-nginx.yaml diff --git a/k8s/argocd/templates/metrics-server.yaml b/k8s/applications/templates/metrics-server.yaml similarity index 100% rename from k8s/argocd/templates/metrics-server.yaml rename to k8s/applications/templates/metrics-server.yaml diff --git a/k8s/argocd/templates/monitoring.yaml b/k8s/applications/templates/monitoring.yaml similarity index 100% rename from k8s/argocd/templates/monitoring.yaml rename to k8s/applications/templates/monitoring.yaml diff --git a/k8s/argocd/templates/webrtc-be.yaml b/k8s/applications/templates/webrtc-be.yaml similarity index 100% rename from k8s/argocd/templates/webrtc-be.yaml rename to k8s/applications/templates/webrtc-be.yaml diff --git a/k8s/applications/values-staging.yaml b/k8s/applications/values-staging.yaml new file mode 100644 index 0000000..9cfb2b9 --- /dev/null +++ b/k8s/applications/values-staging.yaml @@ -0,0 +1 @@ +environment: "staging" \ No newline at end of file diff --git a/k8s/argocd/Chart.lock b/k8s/argocd/Chart.lock deleted file mode 100644 index f67cffe..0000000 --- a/k8s/argocd/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: argo-cd - repository: https://argoproj.github.io/argo-helm - version: 3.26.8 -digest: sha256:7bc244d0e512a0c8c0d564c8d903b9137c2530ca418532ea171faa6f23bc7694 -generated: "2021-11-16T17:46:33.014299+01:00" diff --git a/k8s/argocd/Chart.yaml b/k8s/argocd/Chart.yaml deleted file mode 100644 index 3f1cf31..0000000 --- a/k8s/argocd/Chart.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v2 -name: argocd -version: '1.0' -dependencies: - - name: argo-cd - version: "3.26.8" - repository: "https://argoproj.github.io/argo-helm" \ No newline at end of file diff --git a/k8s/argocd/base/applications.yaml b/k8s/argocd/base/applications.yaml new file mode 100644 index 0000000..0b18c5b --- /dev/null +++ b/k8s/argocd/base/applications.yaml @@ -0,0 +1,25 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: applications +spec: + destination: + name: '' + server: 'https://kubernetes.default.svc' + source: + path: k8s/applications + repoURL: 'git@bitbucket.org:jamkazam/video-iac.git' + targetRevision: HEAD + project: default + syncPolicy: + syncOptions: + - CreateNamespace=true + automated: + prune: true + allowEmpty: false + retry: + limit: 5 + backoff: + duration: 5s + factor: 2 + maxDuration: 3m \ No newline at end of file diff --git a/k8s/argocd/templates/argocd-ingress.yaml b/k8s/argocd/base/ingress.yaml similarity index 73% rename from k8s/argocd/templates/argocd-ingress.yaml rename to k8s/argocd/base/ingress.yaml index 21f2b81..311b61b 100644 --- a/k8s/argocd/templates/argocd-ingress.yaml +++ b/k8s/argocd/base/ingress.yaml @@ -8,13 +8,10 @@ metadata: kubernetes.io/ingress.class: nginx kubernetes.io/tls-acme: "true" nginx.ingress.kubernetes.io/ssl-passthrough: "true" - # If you encounter a redirect loop or are getting a 307 response code - # then you need to force the nginx ingress to connect to the backend using HTTPS. - # nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" spec: rules: - - host: {{ .Values.hostname}} + - host: hostname http: paths: - path: / @@ -26,5 +23,5 @@ spec: name: https tls: - hosts: - - {{ .Values.hostname}} + - hostname secretName: argocd-secret # do not change, this is provided by Argo CD \ No newline at end of file diff --git a/k8s/argocd/base/kustomization.yaml b/k8s/argocd/base/kustomization.yaml new file mode 100644 index 0000000..bd8451f --- /dev/null +++ b/k8s/argocd/base/kustomization.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: argocd +resources: + #- https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml + - ingress.yaml + - applications.yaml diff --git a/k8s/argocd/charts/argo-cd-3.26.8.tgz b/k8s/argocd/charts/argo-cd-3.26.8.tgz deleted file mode 100644 index 20bd39b..0000000 Binary files a/k8s/argocd/charts/argo-cd-3.26.8.tgz and /dev/null differ diff --git a/k8s/argocd/overlays/staging/applications.yaml b/k8s/argocd/overlays/staging/applications.yaml new file mode 100644 index 0000000..749654d --- /dev/null +++ b/k8s/argocd/overlays/staging/applications.yaml @@ -0,0 +1,9 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: applications +spec: + source: + helm: + valueFiles: + - values-staging.yaml \ No newline at end of file diff --git a/k8s/argocd/overlays/staging/hostname.yaml b/k8s/argocd/overlays/staging/hostname.yaml new file mode 100644 index 0000000..4eb994b --- /dev/null +++ b/k8s/argocd/overlays/staging/hostname.yaml @@ -0,0 +1,7 @@ +--- +- op: replace + path: /spec/rules/0/host + value: &host argocd.staging.video.jamkazam.com +- op: replace + path: /spec/tls/0/hosts/0 + value: *host diff --git a/k8s/argocd/overlays/staging/kustomization.yaml b/k8s/argocd/overlays/staging/kustomization.yaml new file mode 100644 index 0000000..cd5baa3 --- /dev/null +++ b/k8s/argocd/overlays/staging/kustomization.yaml @@ -0,0 +1,17 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +bases: +- ../../base + +patchesStrategicMerge: +- applications.yaml + +patchesJson6902: + - path: hostname.yaml + target: + group: networking.k8s.io + kind: Ingress + name: argocd-server-ingress + version: v1 \ No newline at end of file diff --git a/k8s/argocd/values-staging.yaml b/k8s/argocd/values-staging.yaml deleted file mode 100644 index d23725b..0000000 --- a/k8s/argocd/values-staging.yaml +++ /dev/null @@ -1,2 +0,0 @@ -hostname: "argocd.staging.video.jamkazam.com" -environment: "staging" \ No newline at end of file diff --git a/terraform/.terraform.lock.hcl b/terraform/.terraform.lock.hcl index 09fcdee..8fd401e 100644 --- a/terraform/.terraform.lock.hcl +++ b/terraform/.terraform.lock.hcl @@ -36,6 +36,24 @@ provider "registry.terraform.io/hashicorp/aws" { ] } +provider "registry.terraform.io/hashicorp/helm" { + version = "2.4.1" + hashes = [ + "h1:CLb4n9f/hLyqqq0zbc+h5SuNOB7KnO65qOOb+ohwsKA=", + "zh:07517b24ea2ce4a1d3be3b88c3efc7fb452cd97aea8fac93ca37a08a8ec06e14", + "zh:11ef6118ed03a1b40ff66adfe21b8707ece0568dae1347ddfbcff8452c0655d5", + "zh:1ae07e9cc6b088a6a68421642c05e2fa7d00ed03e9401e78c258cf22a239f526", + "zh:1c5b4cd44033a0d7bf7546df930c55aa41db27b70b3bca6d145faf9b9a2da772", + "zh:256413132110ddcb0c3ea17c7b01123ad2d5b70565848a77c5ccc22a3f32b0dd", + "zh:4ab46fd9aadddef26604382bc9b49100586647e63ef6384e0c0c3f010ff2f66e", + "zh:5a35d23a9f08c36fceda3cef7ce2c7dc5eca32e5f36494de695e09a5007122f0", + "zh:8e9823a1e5b985b63fe283b755a821e5011a58112447d42fb969c7258ed57ed3", + "zh:8f79722eba9bf77d341edf48a1fd51a52d93ec31d9cac9ba8498a3a061ea4a7f", + "zh:b2ea782848b10a343f586ba8ee0cf4d7ff65aa2d4b144eea5bbd8f9801b54c67", + "zh:e72d1ccf8a75d8e8456c6bb4d843fd4deb0e962ad8f167fa84cf17f12c12304e", + ] +} + provider "registry.terraform.io/hashicorp/http" { version = "2.1.0" hashes = [ diff --git a/terraform/lke.tf b/terraform/lke.tf index 769f590..1a5a010 100644 --- a/terraform/lke.tf +++ b/terraform/lke.tf @@ -26,9 +26,7 @@ provider "kubernetes" { config_path = local_file.kubeconfig.filename } -provider "kustomization" { - kubeconfig_path = local_file.kubeconfig.filename -} + resource "linode_lke_cluster" "prd-video-cluster" { label = "prd-video-cluster"