Skip to content

Commit a8bd489

Browse files
committed
WIP fix. It's ugly, but overrides work at all levels if we're VERY careful. WDYT?
Signed-off-by: Scott Rigby <[email protected]>
1 parent 9f35e03 commit a8bd489

File tree

3 files changed

+78
-16
lines changed

3 files changed

+78
-16
lines changed

applications/wg-easy/Taskfile.yaml

Lines changed: 63 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,25 @@ tasks:
3434
cmds:
3535
- task: container:exec
3636
vars:
37-
CMD: 'task {{.TASK}}'
37+
CMD: 'task {{.TASK}} {{.EMBEDDED}} {{.LICENSE_ID}} {{.TIMEOUT}} {{.TTL}} {{.DISTRIBUTION}} {{.K8S_VERSION}} {{.DISK_SIZE}} {{.INSTANCE_TYPE}}'
38+
vars:
39+
EMBEDDED: "{{if .EMBEDDED}}EMBEDDED={{.EMBEDDED}}{{end}}"
40+
LICENSE_ID: "{{if .LICENSE_ID}}LICENSE_ID={{.LICENSE_ID}}{{end}}"
41+
TIMEOUT: "{{if .TIMEOUT}}TIMEOUT={{.TIMEOUT}}{{end}}"
42+
TTL: "{{if .TTL}}TTL={{.TTL}}{{end}}"
43+
DISTRIBUTION: "{{if .DISTRIBUTION}}DISTRIBUTION={{.DISTRIBUTION}}{{end}}"
44+
K8S_VERSION: "{{if .K8S_VERSION}}K8S_VERSION={{.K8S_VERSION}}{{end}}"
45+
DISK_SIZE: "{{if .DISK_SIZE}}DISK_SIZE={{.DISK_SIZE}}{{end}}"
46+
INSTANCE_TYPE: "{{if .INSTANCE_TYPE}}INSTANCE_TYPE={{.INSTANCE_TYPE}}{{end}}"
3847

3948
cluster-list:
4049
desc: List the cluster
4150
cmds:
4251
- task: container:exec
4352
vars:
44-
CMD: 'task {{.TASK}}'
53+
CMD: 'task {{.TASK}} {{.CLUSTER_NAME}}'
54+
vars:
55+
CLUSTER_NAME: "{{if .CLUSTER_NAME}}CLUSTER_NAME={{.CLUSTER_NAME}}{{end}}"
4556

4657
test:
4758
desc: Run a basic test suite
@@ -55,14 +66,32 @@ tasks:
5566
cmds:
5667
- task: container:exec
5768
vars:
58-
CMD: 'task {{.TASK}}'
69+
CMD: 'task {{.TASK}} {{.CLUSTER_NAME}}'
70+
vars:
71+
CLUSTER_NAME: "{{if .CLUSTER_NAME}}CLUSTER_NAME={{.CLUSTER_NAME}}{{end}}"
5972

73+
# deps:
74+
# - cluster-create
75+
# - verify-kubeconfig
6076
setup-kubeconfig:
6177
desc: Get kubeconfig and prepare cluster for application deployment
6278
cmds:
6379
- task: container:exec
6480
vars:
65-
CMD: 'task {{.TASK}}'
81+
CMD: 'task {{.TASK}} {{.DISTRIBUTION}} {{.EMBEDDED}} {{.LICENSE_ID}} {{.TIMEOUT}} {{.TTL}} {{.DISTRIBUTION}} {{.K8S_VERSION}} {{.DISK_SIZE}} {{.INSTANCE_TYPE}} {{.CLUSTER_NAME}}'
82+
vars:
83+
DISTRIBUTION: "{{if .DISTRIBUTION}}DISTRIBUTION={{.DISTRIBUTION}}{{end}}"
84+
# from deps cluster-create
85+
EMBEDDED: "{{if .EMBEDDED}}EMBEDDED={{.EMBEDDED}}{{end}}"
86+
LICENSE_ID: "{{if .LICENSE_ID}}LICENSE_ID={{.LICENSE_ID}}{{end}}"
87+
TIMEOUT: "{{if .TIMEOUT}}TIMEOUT={{.TIMEOUT}}{{end}}"
88+
TTL: "{{if .TTL}}TTL={{.TTL}}{{end}}"
89+
DISTRIBUTION: "{{if .DISTRIBUTION}}DISTRIBUTION={{.DISTRIBUTION}}{{end}}"
90+
K8S_VERSION: "{{if .K8S_VERSION}}K8S_VERSION={{.K8S_VERSION}}{{end}}"
91+
DISK_SIZE: "{{if .DISK_SIZE}}DISK_SIZE={{.DISK_SIZE}}{{end}}"
92+
INSTANCE_TYPE: "{{if .INSTANCE_TYPE}}INSTANCE_TYPE={{.INSTANCE_TYPE}}{{end}}"
93+
# from deps verify-kubeconfig
94+
CLUSTER_NAME: "{{if .CLUSTER_NAME}}CLUSTER_NAME={{.CLUSTER_NAME}}{{end}}"
6695

6796
dependencies-update:
6897
desc: Update Helm dependencies for all charts
@@ -76,14 +105,41 @@ tasks:
76105
cmds:
77106
- task: container:exec
78107
vars:
79-
CMD: 'task {{.TASK}}'
108+
CMD: 'task {{.TASK}} {{.CLUSTER_NAME}} {{.OPERATION}}'
109+
vars:
110+
CLUSTER_NAME: "{{if .CLUSTER_NAME}}CLUSTER_NAME={{.CLUSTER_NAME}}{{end}}"
111+
# from task: utils:port-operations
112+
OPERATION: "{{if .OPERATION}}OPERATION={{.OPERATION}}{{end}}"
113+
# CLUSTER_NAME already above
80114

115+
# deps:
116+
# - setup-kubeconfig
117+
# - cluster-ports-expose
81118
helm-install:
82119
desc: Deploy all charts using helmfile
83120
cmds:
84121
- task: container:exec
85122
vars:
86-
CMD: 'task {{.TASK}}'
123+
CMD: 'task {{.TASK}} {{.DISTRIBUTION}} {{.EMBEDDED}} {{.LICENSE_ID}} {{.TIMEOUT}} {{.TTL}} {{.DISTRIBUTION}} {{.K8S_VERSION}} {{.DISK_SIZE}} {{.INSTANCE_TYPE}} {{.CLUSTER_NAME}} {{.OPERATION}}'
124+
vars:
125+
# from deps setup-kubeconfig
126+
DISTRIBUTION: "{{if .DISTRIBUTION}}DISTRIBUTION={{.DISTRIBUTION}}{{end}}"
127+
# from deps cluster-create
128+
EMBEDDED: "{{if .EMBEDDED}}EMBEDDED={{.EMBEDDED}}{{end}}"
129+
LICENSE_ID: "{{if .LICENSE_ID}}LICENSE_ID={{.LICENSE_ID}}{{end}}"
130+
TIMEOUT: "{{if .TIMEOUT}}TIMEOUT={{.TIMEOUT}}{{end}}"
131+
TTL: "{{if .TTL}}TTL={{.TTL}}{{end}}"
132+
DISTRIBUTION: "{{if .DISTRIBUTION}}DISTRIBUTION={{.DISTRIBUTION}}{{end}}"
133+
K8S_VERSION: "{{if .K8S_VERSION}}K8S_VERSION={{.K8S_VERSION}}{{end}}"
134+
DISK_SIZE: "{{if .DISK_SIZE}}DISK_SIZE={{.DISK_SIZE}}{{end}}"
135+
INSTANCE_TYPE: "{{if .INSTANCE_TYPE}}INSTANCE_TYPE={{.INSTANCE_TYPE}}{{end}}"
136+
## from deps verify-kubeconfig
137+
CLUSTER_NAME: "{{if .CLUSTER_NAME}}CLUSTER_NAME={{.CLUSTER_NAME}}{{end}}"
138+
# from deps cluster-ports-expose
139+
## CLUSTER_NAME: "{{if .CLUSTER_NAME}}CLUSTER_NAME={{.CLUSTER_NAME}}{{end}}"
140+
## from task: utils:port-operations
141+
OPERATION: "{{if .OPERATION}}OPERATION={{.OPERATION}}{{end}}"
142+
## CLUSTER_NAME already above
87143

88144
cluster-delete:
89145
desc: Delete all test clusters with matching name and clean up kubeconfig
@@ -111,7 +167,7 @@ tasks:
111167
cmds:
112168
- task: container:exec
113169
vars:
114-
CMD: 'task {{.TASK}}'
170+
CMD: 'task {{.TASK}} CUSTOMER_NAME={{.CUSTOMER_NAME}} CUSTOMER_EMAIL={{.CUSTOMER_EMAIL}} LICENSE_TYPE={{.LICENSE_TYPE}} EXPIRES_IN={{.EXPIRES_IN}}'
115171

116172
gcp-vm-create:
117173
desc: Create a simple GCP VM instance

applications/wg-easy/taskfiles/internal.yaml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,20 @@ version: "3"
22

33
includes:
44
utils: ./taskfiles/utils.yml
5-
dev: ./taskfiles/container.yml
65

6+
## TO-DO: clean our vars usage
7+
# - some are global, but unused
8+
# - some are global, but also re-stated as task vars
9+
# - some are "requires.vars[]", even though they're set as global vars
10+
# - some are "requires.vars[]", even though they're set as task vars
11+
# - some are only set as task vars
712
vars:
813
# Application configuration
914
APP_NAME: '{{.REPLICATED_APP | default "wg-easy"}}'
10-
APP_SLUG: '{{.REPLICATED_APP_SLUG | default "wg-easy-cre"}}'
15+
APP_SLUG: '{{.APP_SLUG | default "wg-easy-cre"}}'
1116

1217
# Release configuration
13-
RELEASE_CHANNELd: '{{.RELEASE_CHANNEL | default "Unstable"}}'
18+
RELEASE_CHANNEL: '{{.RELEASE_CHANNEL | default "Unstable"}}'
1419
RELEASE_VERSION: '{{.RELEASE_VERSION | default "0.0.1"}}'
1520
RELEASE_NOTES: '{{.RELEASE_NOTES | default "Release created via task release-create"}}'
1621

@@ -20,6 +25,7 @@ vars:
2025
DISK_SIZE: '{{.DISK_SIZE | default "100"}}'
2126
INSTANCE_TYPE: '{{.INSTANCE_TYPE | default "r1.small"}}'
2227
DISTRIBUTION: '{{.DISTRIBUTION | default "k3s"}}'
28+
# can not override
2329
KUBECONFIG_FILE: './{{.CLUSTER_NAME}}.kubeconfig'
2430

2531
# Ports configuration
@@ -297,12 +303,12 @@ tasks:
297303
requires:
298304
vars: [APP_SLUG, VERSION]
299305
cmds:
300-
- echo "Creating and promoting release for {{.APP_SLUG}} to channel {{.CHANNEL}}..."
306+
- echo "Creating and promoting release for {{.APP_SLUG}} to channel {{.RELEASE_CHANNEL}}..."
301307
- |
302308
# Create and promote the release in one step
303309
echo "Creating release from files in ./release directory..."
304-
replicated release create --app {{.APP_SLUG}} --yaml-dir ./release --release-notes "{{.RELEASE_NOTES}}" --promote {{.CHANNEL}} --version {{.VERSION}}
305-
echo "Release version {{.VERSION}} created and promoted to channel {{.CHANNEL}}"
310+
replicated release create --app {{.APP_SLUG}} --yaml-dir ./release --release-notes "{{.RELEASE_NOTES}}" --promote {{.RELEASE_CHANNEL}} --version {{.RELEASE_VERSION}}
311+
echo "Release version {{.RELEASE_VERSION}} created and promoted to channel {{.RELEASE_CHANNEL}}"
306312
deps:
307313
- release-prepare
308314

@@ -338,7 +344,7 @@ tasks:
338344
--app {{.APP_SLUG}} \
339345
--name {{.CUSTOMER_NAME}} \
340346
--email {{.CUSTOMER_EMAIL}} \
341-
--channel {{.CHANNEL}} \
347+
--channel {{.RELEASE_CHANNEL}} \
342348
--type {{.LICENSE_TYPE}} \
343349
--output json"
344350

applications/wg-easy/taskfiles/utils.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,10 +271,10 @@ tasks:
271271
gcloud compute ssh {{.VM_NAME}} --project={{.GCP_PROJECT}} --zone={{.GCP_ZONE}} --command="
272272
set -e
273273
echo 'Downloading {{.APP_NAME}} installer...'
274-
curl -f 'https://replicated.app/embedded/{{.APP_NAME}}/{{.CHANNEL}}' -H 'Authorization: {{.AUTH_TOKEN}}' -o {{.APP_NAME}}-{{.CHANNEL}}.tgz
274+
curl -f 'https://replicated.app/embedded/{{.APP_NAME}}/{{.RELEASE_CHANNEL}}' -H 'Authorization: {{.AUTH_TOKEN}}' -o {{.APP_NAME}}-{{.RELEASE_CHANNEL}}.tgz
275275
276276
echo 'Extracting installer...'
277-
tar -xvzf {{.APP_NAME}}-{{.CHANNEL}}.tgz
277+
tar -xvzf {{.APP_NAME}}-{{.RELEASE_CHANNEL}}.tgz
278278
"
279279
280280
echo "Embedded cluster setup initiated on VM {{.VM_NAME}}"

0 commit comments

Comments
 (0)