Skip to content

Commit 61792ed

Browse files
committed
checkpoint
1 parent 308df17 commit 61792ed

File tree

7 files changed

+242
-136
lines changed

7 files changed

+242
-136
lines changed

scaletest/terraform/infra/gcp_cluster.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
data "google_compute_default_service_account" "default" {
22
project = var.project_id
3+
depends_on = [ google_project_service.api["compute.googleapis.com"] ]
34
}
45

56
locals {

scaletest/terraform/infra/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ terraform {
1111
}
1212
}
1313

14-
required_version = "~> 1.5.0"
14+
required_version = "~> 1.9.0"
1515
}
1616

1717
provider "google" {

scaletest/terraform/k8s/cert-manager.tf

Lines changed: 50 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -36,32 +36,54 @@ EOF
3636
]
3737
}
3838

39-
resource "kubernetes_manifest" "cloudflare-cluster-issuer" {
40-
manifest = {
41-
apiVersion = "cert-manager.io/v1"
42-
kind = "ClusterIssuer"
43-
metadata = {
44-
name = "cloudflare-issuer"
45-
}
46-
spec = {
47-
acme = {
48-
email = var.cloudflare_email
49-
privateKeySecretRef = {
50-
name = local.cloudflare_issuer_private_key_secret_name
51-
}
52-
solvers = [
53-
{
54-
dns01 = {
55-
cloudflare = {
56-
apiTokenSecretRef = {
57-
name = kubernetes_secret.cloudflare-api-key.metadata.0.name
58-
key = "api-token"
59-
}
60-
}
61-
}
62-
}
63-
]
64-
}
65-
}
66-
}
39+
# resource "kubernetes_manifest" "cloudflare-cluster-issuer" {
40+
# manifest = {
41+
# apiVersion = "cert-manager.io/v1"
42+
# kind = "ClusterIssuer"
43+
# metadata = {
44+
# name = "cloudflare-issuer"
45+
# }
46+
# spec = {
47+
# acme = {
48+
# email = var.cloudflare_email
49+
# privateKeySecretRef = {
50+
# name = local.cloudflare_issuer_private_key_secret_name
51+
# }
52+
# solvers = [
53+
# {
54+
# dns01 = {
55+
# cloudflare = {
56+
# apiTokenSecretRef = {
57+
# name = kubernetes_secret.cloudflare-api-key.metadata.0.name
58+
# key = "api-token"
59+
# }
60+
# }
61+
# }
62+
# }
63+
# ]
64+
# }
65+
# }
66+
# }
67+
# }
68+
69+
resource "kubectl_manifest" "cloudflare-cluster-issuer" {
70+
depends_on = [ helm_release.cert-manager ]
71+
yaml_body = <<YAML
72+
apiVersion: cert-manager.io/v1
73+
kind: ClusterIssuer
74+
metadata:
75+
name: cloudflare-issuer
76+
spec:
77+
acme:
78+
email: ${var.cloudflare_email}
79+
server: https://acme-staging-v02.api.letsencrypt.org/directory
80+
privateKeySecretRef:
81+
name: ${local.cloudflare_issuer_private_key_secret_name}
82+
solvers:
83+
- dns01:
84+
cloudflare:
85+
apiTokenSecretRef:
86+
name: ${kubernetes_secret.cloudflare-api-key.metadata.0.name}
87+
key: api-token
88+
YAML
6789
}

scaletest/terraform/k8s/coder.tf

Lines changed: 61 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ locals {
1010
coder_release_name = var.name
1111
provisionerd_helm_chart = "coder-provisioner"
1212
provisionerd_release_name = "${var.name}-provisionerd"
13+
dnsNames = regex("https?://([^/]+)", local.coder_url)
1314
}
1415

1516
resource "kubernetes_namespace" "coder_namespace" {
@@ -61,31 +62,49 @@ data "kubernetes_secret" "coder_oidc" {
6162
}
6263
}
6364

64-
resource "kubernetes_manifest" "coder_certificate" {
65-
manifest = {
66-
apiVersion = "cert-manager.io/v1"
67-
kind = "Certificate"
68-
metadata = {
69-
name = "${var.name}"
70-
namespace = kubernetes_namespace.coder_namespace.metadata.0.name
71-
}
72-
spec = {
73-
secretName = "${var.name}-tls"
74-
dnsNames = regex("https?://([^/]+)", local.coder_url)
75-
issuerRef = {
76-
name = kubernetes_manifest.cloudflare-cluster-issuer.manifest.metadata.name
77-
kind = "ClusterIssuer"
78-
}
79-
}
80-
}
65+
# resource "kubernetes_manifest" "coder_certificate" {
66+
# manifest = {
67+
# apiVersion = "cert-manager.io/v1"
68+
# kind = "Certificate"
69+
# metadata = {
70+
# name = "${var.name}"
71+
# namespace = kubernetes_namespace.coder_namespace.metadata.0.name
72+
# }
73+
# spec = {
74+
# secretName = "${var.name}-tls"
75+
# dnsNames = regex("https?://([^/]+)", local.coder_url)
76+
# issuerRef = {
77+
# name = "cloudflare-issuer"
78+
# kind = "ClusterIssuer"
79+
# }
80+
# }
81+
# }
82+
# }
83+
84+
resource "kubectl_manifest" "coder_certificate" {
85+
depends_on = [ helm_release.cert-manager ]
86+
yaml_body = <<YAML
87+
apiVersion: cert-manager.io/v1
88+
kind: Certificate
89+
metadata:
90+
name: ${var.name}
91+
namespace: ${kubernetes_namespace.coder_namespace.metadata.0.name}
92+
spec:
93+
secretName: ${var.name}-tls
94+
dnsNames:
95+
- ${local.dnsNames.0}
96+
issuerRef:
97+
name: cloudflare-issuer
98+
kind: ClusterIssuer
99+
YAML
81100
}
82101

83102
data "kubernetes_secret" "coder_tls" {
84103
metadata {
85104
namespace = kubernetes_namespace.coder_namespace.metadata.0.name
86105
name = "${var.name}-tls"
87106
}
88-
depends_on = [kubernetes_manifest.coder_certificate]
107+
depends_on = [kubectl_manifest.coder_certificate]
89108
}
90109

91110
resource "helm_release" "coder-chart" {
@@ -153,29 +172,29 @@ coder:
153172
key: psk
154173
name: "${kubernetes_secret.provisionerd_psk.metadata.0.name}"
155174
# Enable OIDC
156-
- name: "CODER_OIDC_ISSUER_URL"
157-
valueFrom:
158-
secretKeyRef:
159-
key: issuer-url
160-
name: "${data.kubernetes_secret.coder_oidc.metadata.0.name}"
161-
- name: "CODER_OIDC_EMAIL_DOMAIN"
162-
valueFrom:
163-
secretKeyRef:
164-
key: email-domain
165-
name: "${data.kubernetes_secret.coder_oidc.metadata.0.name}"
166-
- name: "CODER_OIDC_CLIENT_ID"
167-
valueFrom:
168-
secretKeyRef:
169-
key: client-id
170-
name: "${data.kubernetes_secret.coder_oidc.metadata.0.name}"
171-
- name: "CODER_OIDC_CLIENT_SECRET"
172-
valueFrom:
173-
secretKeyRef:
174-
key: client-secret
175-
name: "${data.kubernetes_secret.coder_oidc.metadata.0.name}"
175+
# - name: "CODER_OIDC_ISSUER_URL"
176+
# valueFrom:
177+
# secretKeyRef:
178+
# key: issuer-url
179+
# name: "${data.kubernetes_secret.coder_oidc.metadata.0.name}"
180+
# - name: "CODER_OIDC_EMAIL_DOMAIN"
181+
# valueFrom:
182+
# secretKeyRef:
183+
# key: email-domain
184+
# name: "${data.kubernetes_secret.coder_oidc.metadata.0.name}"
185+
# - name: "CODER_OIDC_CLIENT_ID"
186+
# valueFrom:
187+
# secretKeyRef:
188+
# key: client-id
189+
# name: "${data.kubernetes_secret.coder_oidc.metadata.0.name}"
190+
# - name: "CODER_OIDC_CLIENT_SECRET"
191+
# valueFrom:
192+
# secretKeyRef:
193+
# key: client-secret
194+
# name: "${data.kubernetes_secret.coder_oidc.metadata.0.name}"
176195
# Send OTEL traces to the cluster-local collector to sample 10%
177196
- name: "OTEL_EXPORTER_OTLP_ENDPOINT"
178-
value: "http://${kubernetes_manifest.otel-collector.manifest.metadata.name}-collector.${kubernetes_namespace.coder_namespace.metadata.0.name}.svc.cluster.local:4317"
197+
value: "http://otel-collector.${kubernetes_namespace.coder_namespace.metadata.0.name}.svc.cluster.local:4317"
179198
- name: "OTEL_TRACES_SAMPLER"
180199
value: parentbased_traceidratio
181200
- name: "OTEL_TRACES_SAMPLER_ARG"
@@ -240,6 +259,8 @@ coder:
240259
value: "${local.coder_url}"
241260
- name: "CODER_VERBOSE"
242261
value: "true"
262+
- name: "CODER_CONFIG_DIR"
263+
value: "/tmp/config"
243264
- name: "CODER_CACHE_DIRECTORY"
244265
value: "/tmp/coder"
245266
- name: "CODER_TELEMETRY_ENABLE"
@@ -251,7 +272,7 @@ coder:
251272
- name: "CODER_PROMETHEUS_ENABLE"
252273
value: "true"
253274
- name: "CODER_PROVISIONERD_TAGS"
254-
value = "socpe=organization"
275+
value: "scope=organization"
255276
image:
256277
repo: ${var.provisionerd_image_repo}
257278
tag: ${var.provisionerd_image_tag}

scaletest/terraform/k8s/main.tf

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ terraform {
55
version = "~> 2.20"
66
}
77

8+
kubectl = {
9+
source = "alekc/kubectl"
10+
version = ">= 2.0.0"
11+
}
12+
813
helm = {
914
source = "hashicorp/helm"
1015
version = "~> 2.9"
@@ -21,13 +26,17 @@ terraform {
2126
}
2227
}
2328

24-
required_version = "~> 1.5.0"
29+
required_version = "~> 1.9.0"
2530
}
2631

2732
provider "kubernetes" {
2833
config_path = var.kubernetes_kubeconfig_path
2934
}
3035

36+
provider "kubectl" {
37+
config_path = var.kubernetes_kubeconfig_path
38+
}
39+
3140
provider "helm" {
3241
kubernetes {
3342
config_path = var.kubernetes_kubeconfig_path

0 commit comments

Comments
 (0)