Skip to content

Commit eac2373

Browse files
committed
revert container.yml
1 parent 44ffbcb commit eac2373

File tree

1 file changed

+55
-76
lines changed

1 file changed

+55
-76
lines changed
Lines changed: 55 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,111 +1,90 @@
11
version: "3"
22

3-
vars:
4-
CONTAINER_REGISTRY: '{{.CONTAINER_REGISTRY | default "ghcr.io"}}'
5-
CONTAINER_IMAGE: '{{.CONTAINER_IMAGE | default "replicatedhq/platform-examples/wg-easy-tools"}}'
6-
CONTAINER_TAG: '{{.CONTAINER_TAG | default "latest"}}'
7-
CONTAINER_NAME: '{{.CONTAINER_NAME | default "wg-easy-tools"}}'
8-
CONTAINER_RUNTIME: '{{.CONTAINER_RUNTIME | default "podman"}}'
9-
103
# Development environment tasks
114
tasks:
12-
exec:
13-
desc: Attach to development container shell
14-
silent: true
15-
requires:
16-
vars: [CONTAINER_NAME]
17-
deps:
18-
- task: start
19-
cmds:
20-
- echo "Connecting to {{.CONTAINER_NAME}}..."
21-
- "{{.CONTAINER_RUNTIME}} exec -it {{.CONTAINER_NAME}} {{.CMD}}"
22-
vars:
23-
CMD: "{{if .CMD}}bash -c '{{.CMD}}'{{else}}/bin/bash{{end}}"
24-
25-
build:
26-
run: once
5+
build-image:
276
desc: Build development container image
287
vars:
29-
IMAGE_NAME: "{{.CONTAINER_REGISTRY}}/{{.CONTAINER_IMAGE}}:{{.CONTAINER_TAG}}"
8+
IMAGE_NAME: '{{.DEV_CONTAINER_REGISTRY}}/{{.DEV_CONTAINER_IMAGE}}:{{.DEV_CONTAINER_TAG}}'
309
CONTAINERFILE: '{{.CONTAINERFILE | default "./container/Containerfile"}}'
3110
BUILD_ARGS: '{{.BUILD_ARGS | default ""}}'
32-
MESSAGE: "{{.MESSAGE}}"
33-
cmds:
34-
- '{{if .MESSAGE}}echo "{{.MESSAGE}}"{{end}}'
35-
- "{{.CONTAINER_RUNTIME}} build -t {{.IMAGE_NAME}} -f {{.CONTAINERFILE}} ."
36-
status:
37-
- "{{.CONTAINER_RUNTIME}} image exists {{.IMAGE_NAME}}"
11+
requires:
12+
vars: [DEV_CONTAINER_REGISTRY, DEV_CONTAINER_IMAGE, CONTAINERFILE]
3813

39-
pull:
40-
run: once
41-
vars:
42-
IMAGE_NAME: "{{.CONTAINER_REGISTRY}}/{{.CONTAINER_IMAGE}}:{{.CONTAINER_TAG}}"
43-
CONTAINERFILE: '{{.CONTAINERFILE | default "./container/Containerfile"}}'
4414
cmds:
45-
- cmd: "{{.CONTAINER_RUNTIME}} pull {{.IMAGE_NAME}}"
46-
ignore_error: true
47-
status:
48-
- "{{.CONTAINER_RUNTIME}} image exists {{.IMAGE_NAME}}"
49-
50-
# Replaces long if/else commands with idempotent tasks and task-color user feedback
51-
check-image-exists:
52-
desc: If image does not exist, tries to pull. If pull fails, tries to build
53-
run: always
54-
vars:
55-
IMAGE_NAME: "{{.CONTAINER_REGISTRY}}/{{.CONTAINER_IMAGE}}:{{.CONTAINER_TAG}}"
56-
cmds:
57-
- echo "Image '{{.IMAGE_NAME}}' does not exist. Trying pull"
58-
- task: pull
59-
- task: build
60-
vars:
61-
MESSAGE: "Pull failed. Trying build"
62-
status:
63-
- "{{.CONTAINER_RUNTIME}} image exists {{.IMAGE_NAME}}"
15+
- '{{.CONTAINER_RUNTIME}} build -t {{.IMAGE_NAME}} -f {{.CONTAINERFILE}} .'
6416

17+
# Start development container in background.
6518
start:
6619
desc: Start development container in background
20+
silent: true
6721
run: once
6822
vars:
69-
IMAGE_NAME: "{{.CONTAINER_REGISTRY}}/{{.CONTAINER_IMAGE}}:{{.CONTAINER_TAG}}"
23+
IMAGE_NAME: '{{.DEV_CONTAINER_REGISTRY}}/{{.DEV_CONTAINER_IMAGE}}:{{.DEV_CONTAINER_TAG}}'
7024
CONTAINERFILE: '{{.CONTAINERFILE | default "./container/Containerfile"}}'
7125
BUILD_ARGS: '{{.BUILD_ARGS | default ""}}'
7226
requires:
73-
vars:
74-
[
75-
CONTAINER_REGISTRY,
76-
CONTAINER_IMAGE,
77-
CONTAINER_TAG,
78-
CONTAINER_NAME,
79-
REPLICATED_API_TOKEN,
80-
]
27+
vars: [DEV_CONTAINER_REGISTRY, DEV_CONTAINER_IMAGE, DEV_CONTAINER_TAG, DEV_CONTAINER_NAME, REPLICATED_API_TOKEN]
28+
29+
status:
30+
- '{{.CONTAINER_RUNTIME}} ps | grep -q "{{.DEV_CONTAINER_NAME}}"'
8131
cmds:
82-
- task: check-image-exists
83-
# Start with host networking for kubectl port-forward compatibility
8432
- |
85-
{{.CONTAINER_RUNTIME}} run --rm --name {{.CONTAINER_NAME}} -d \
33+
# Check if the image exists locally
34+
# If not, pull it from the registry
35+
# If that fails, build it locally
36+
if ! {{.CONTAINER_RUNTIME}} image exists {{.IMAGE_NAME}}; then
37+
echo "Image {{.IMAGE_NAME}} not found locally."
38+
echo "Attempting to pull the image..."
39+
if ! {{.CONTAINER_RUNTIME}} pull {{.IMAGE_NAME}}; then
40+
echo "Failed to pull image. Building it locally..."
41+
{{.CONTAINER_RUNTIME}} build -t {{.IMAGE_NAME}} -f {{.CONTAINERFILE}} .
42+
fi
43+
fi
44+
45+
# Start container with host networking for kubectl port-forward compatibility
46+
CONTAINER_ID=$({{.CONTAINER_RUNTIME}} run --rm --name {{.DEV_CONTAINER_NAME}} -d \
8647
-v $(pwd):/workspace \
87-
-v $(pwd)/taskfiles/internal.yaml:/workspace/Taskfile.yaml \
8848
-e REPLICATED_API_TOKEN={{ .REPLICATED_API_TOKEN }} \
89-
{{.IMAGE_NAME}} bash -c 'trap "exit 0" TERM; sleep infinity & wait'
90-
status:
91-
- '[[ $({{.CONTAINER_RUNTIME}} ps | grep -c "{{.CONTAINER_NAME}}") -eq 1 ]] && exit 0'
49+
{{.IMAGE_NAME}} bash -c 'trap "exit 0" TERM; sleep infinity & wait')
50+
51+
if [ $? -eq 0 ]; then
52+
echo "Development container started successfully with ID: $CONTAINER_ID"
53+
else
54+
echo "Failed to start development container"
55+
exit 1
56+
fi
57+
58+
shell:
59+
desc: Attach to development container shell
60+
silent: true
61+
requires:
62+
vars: [DEV_CONTAINER_NAME]
63+
deps:
64+
- task: start
65+
cmds:
66+
- echo "Connecting to {{.DEV_CONTAINER_NAME}}..."
67+
- '{{.CONTAINER_RUNTIME}} exec -it {{.DEV_CONTAINER_NAME}} /bin/bash'
9268

9369
stop:
9470
desc: Stop development container
95-
run: once
71+
silent: true
9672
requires:
97-
vars: [CONTAINER_NAME]
73+
vars: [DEV_CONTAINER_NAME]
9874
cmds:
99-
- "{{.CONTAINER_RUNTIME}} stop {{.CONTAINER_NAME}}"
100-
status:
101-
- 'exit $({{.CONTAINER_RUNTIME}} ps | grep -c "{{.CONTAINER_NAME}}")'
75+
- |
76+
if {{.CONTAINER_RUNTIME}} ps | grep -q "{{.DEV_CONTAINER_NAME}}"; then
77+
echo "Stopping {{.DEV_CONTAINER_NAME}} development container..."
78+
{{.CONTAINER_RUNTIME}} stop {{.DEV_CONTAINER_NAME}}
79+
else
80+
echo "Container {{.DEV_CONTAINER_NAME}} is not running"
81+
fi
10282
10383
restart:
10484
desc: Restart development container
105-
run: once
10685
silent: true
10786
requires:
108-
vars: [CONTAINER_NAME]
87+
vars: [DEV_CONTAINER_NAME]
10988
cmds:
11089
- task: stop
11190
- task: start

0 commit comments

Comments
 (0)