46
46
aws-region : us-west-1
47
47
role-duration-seconds : 7200
48
48
49
- - name : Clone DevZero Self-Hosted Repository
50
- env :
51
- GH_PAT : ${{ secrets.GH_TOKEN }}
52
- run : |
53
- git clone https://[email protected] /devzero-inc/self-hosted.git
54
-
55
49
- name : Set up Terraform
56
50
uses : hashicorp/setup-terraform@v3
57
51
with :
79
73
80
74
- name : Add Backend Override (Base Cluster)
81
75
run : |
82
- cd self-hosted/ terraform/examples/aws/base-cluster
76
+ cd terraform/examples/aws/base-cluster
83
77
cat <<EOF > backend_override.tf
84
78
terraform {
85
79
backend "s3" {
@@ -92,22 +86,21 @@ jobs:
92
86
93
87
- name : Set EKS version v${{ matrix.eks_version }} (Base Cluster)
94
88
run : |
95
- echo "" >> self-hosted/ terraform/examples/aws/base-cluster/terraform.tfvars
96
- echo "# Setting eks cluster version" >> self-hosted/ terraform/examples/aws/base-cluster/terraform.tfvars
97
- echo "cluster_version = \"${{ matrix.eks_version }}\"" >> self-hosted/ terraform/examples/aws/base-cluster/terraform.tfvars
89
+ echo "" >> terraform/examples/aws/base-cluster/terraform.tfvars
90
+ echo "# Setting eks cluster version" >> terraform/examples/aws/base-cluster/terraform.tfvars
91
+ echo "cluster_version = \"${{ matrix.eks_version }}\"" >> terraform/examples/aws/base-cluster/terraform.tfvars
98
92
99
93
# DevZero currently doesnt publish a base AMI for Kubernetes 1.25, but local testing has indicated that we can use the 1.30 version
100
94
# AMIs available https://us-west-1.console.aws.amazon.com/ec2/home?region=us-west-1#Images:visibility=public-images;imageName=:devzero;v=3
101
95
# TODO (debo): this is currently kind of a hack to make sure that the 1.25 test uses the 1.30 node
102
96
if [ "${{ matrix.eks_version }}" == "1.25" ]; then
103
- echo "# Using ami_version 1.30 for EKS 1.25 as a workaround" >> self-hosted/terraform/examples/aws/base-cluster/terraform.tfvars
104
- echo "ami_version = \"1.30\"" >> self-hosted/terraform/examples/aws/base-cluster/terraform.tfvars
105
- echo "" >> self-hosted/terraform/examples/aws/base-cluster/terraform.tfvars
97
+ echo "# Using ami_version 1.30 for EKS 1.25 as a workaround" >> terraform/examples/aws/base-cluster/terraform.tfvars
98
+ echo "ami_version = \"1.30\"" >> terraform/examples/aws/base-cluster/terraform.tfvars
106
99
fi
107
-
100
+
108
101
- name : Initialize and Apply Terraform (Base Cluster)
109
102
run : |
110
- cd self-hosted/ terraform/examples/aws/base-cluster
103
+ cd terraform/examples/aws/base-cluster
111
104
terraform init
112
105
if [ "${{ github.event.inputs.base_image }}" == "al2023" ]; then
113
106
terraform apply -auto-approve -var="cluster_name=$JOB_IDENTIFIER"
@@ -117,7 +110,7 @@ jobs:
117
110
118
111
- name : Update Cluster-Extensions tfvars
119
112
run : |
120
- cat <<EOT > self-hosted/ terraform/examples/aws/cluster-extensions/terraform.tfvars
113
+ cat <<EOT > terraform/examples/aws/cluster-extensions/terraform.tfvars
121
114
region = "us-west-1"
122
115
enable_cluster_autoscaler = false
123
116
cluster_name = "$JOB_IDENTIFIER"
@@ -126,7 +119,7 @@ jobs:
126
119
127
120
- name : Add Backend Override (Cluster Extensions)
128
121
run : |
129
- cd self-hosted/ terraform/examples/aws/cluster-extensions
122
+ cd terraform/examples/aws/cluster-extensions
130
123
cat <<EOF > backend_override.tf
131
124
terraform {
132
125
backend "s3" {
@@ -139,7 +132,7 @@ jobs:
139
132
140
133
- name : Initialize and Apply Cluster-Extensions
141
134
run : |
142
- cd self-hosted/ terraform/examples/aws/cluster-extensions
135
+ cd terraform/examples/aws/cluster-extensions
143
136
terraform init
144
137
terraform apply -auto-approve
145
138
@@ -149,7 +142,7 @@ jobs:
149
142
150
143
- name : Deploy Control Plane Dependencies (and modify domains)
151
144
run : |
152
- cd self-hosted/ charts/dz-control-plane-deps
145
+ cd charts/dz-control-plane-deps
153
146
find values -type f -exec sed -i'.bak' "s/example\.com/$JOB_IDENTIFIER\.ci\.selfzero\.net/g" {} \; && find values -name "*.bak" -delete
154
147
make install
155
148
@@ -161,14 +154,14 @@ jobs:
161
154
# also setting image.pullsecrets to empty to make sure that each of the deployments dont try to pull their relevant OCI images from this registry
162
155
# backend license key is ... needed
163
156
164
- yq e '.credentials.enable = false | .backend.licenseKey = strenv(BACKEND_LICENSE_KEY) | .image.pullSecrets = []' -i self-hosted/ charts/dz-control-plane/values.yaml
157
+ yq e '.credentials.enable = false | .backend.licenseKey = strenv(BACKEND_LICENSE_KEY) | .image.pullSecrets = []' -i charts/dz-control-plane/values.yaml
165
158
166
159
- name : Deploy DevZero Control Plane (after configuring kubernetes to use dockerhub creds, and patching all the deployments to point to the right domain)
167
160
env :
168
161
DOCKERHUB_USERNAME : ${{ secrets.DOCKERHUB_USERNAME }}
169
162
DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
170
163
run : |
171
- cd self-hosted/ charts/dz-control-plane
164
+ cd charts/dz-control-plane
172
165
make add-docker-creds
173
166
find . -name "values.yaml" -exec sed -i'.bak' "s/example\.com/$JOB_IDENTIFIER\.ci\.selfzero\.net/g" {} \; && find . -name "values.yaml.bak" -delete
174
167
make install
@@ -177,20 +170,20 @@ jobs:
177
170
run : |
178
171
echo -e "\nPods in namespace devzero:"
179
172
kubectl get pods -n devzero
180
- chmod +x self-hosted/ .github/scripts/dsh-pod-test.sh
181
- self-hosted/ .github/scripts/dsh-pod-test.sh
173
+ chmod +x .github/scripts/dsh-pod-test.sh
174
+ .github/scripts/dsh-pod-test.sh
182
175
echo -e "\nIngress in namespace devzero:"
183
176
kubectl get ingress -n devzero
184
177
185
178
- name : Deploy Data Plane Dependencies
186
179
run : |
187
- cd self-hosted/ charts/dz-data-plane-deps
180
+ cd charts/dz-data-plane-deps
188
181
find values -type f -exec sed -i'.bak' "s/example\.com/$JOB_IDENTIFIER\.ci\.selfzero\.net/g" {} \; && find values -name "*.bak" -delete
189
182
make install
190
183
191
184
- name : Deploy DevZero Data Plane
192
185
run : |
193
- cd self-hosted/ charts/dz-data-plane
186
+ cd charts/dz-data-plane
194
187
find . -name "values.yaml" -exec sed -i'.bak' "s/example\.com/$JOB_IDENTIFIER\.ci\.selfzero\.net/g" {} \; && find . -name "values.yaml.bak" -delete
195
188
make install
196
189
@@ -202,37 +195,37 @@ jobs:
202
195
- name : ' [helm] Destroy data-plane'
203
196
if : always()
204
197
run : |
205
- cd self-hosted/ charts/dz-data-plane
198
+ cd charts/dz-data-plane
206
199
make delete
207
200
208
201
- name : ' [helm] Destroy data-plane-deps'
209
202
if : always()
210
203
run : |
211
- cd self-hosted/ charts/dz-data-plane-deps
204
+ cd charts/dz-data-plane-deps
212
205
make delete
213
206
214
207
- name : ' [helm] Destroy control-plane'
215
208
if : always()
216
209
run : |
217
- cd self-hosted/ charts/dz-control-plane
210
+ cd charts/dz-control-plane
218
211
make delete
219
212
220
213
- name : ' [helm] Destroy control-plane-deps'
221
214
if : always()
222
215
run : |
223
- cd self-hosted/ charts/dz-control-plane-deps
216
+ cd charts/dz-control-plane-deps
224
217
make delete
225
218
226
219
- name : ' [terraform] Destroy cluster-extensions'
227
220
if : always()
228
221
run : |
229
- cd self-hosted/ terraform/examples/aws/cluster-extensions
222
+ cd terraform/examples/aws/cluster-extensions
230
223
terraform destroy -auto-approve
231
224
232
225
- name : ' [terraform] Destroy base-cluster'
233
226
if : always()
234
227
run : |
235
- cd self-hosted/ terraform/examples/aws/base-cluster
228
+ cd terraform/examples/aws/base-cluster
236
229
terraform destroy -auto-approve
237
230
238
231
- name : ' [aws-cli] clean up volumes explicitly'
0 commit comments