From c2cd482e549fbcbafe6f4823ab82b563e3ef355b Mon Sep 17 00:00:00 2001 From: The0mikkel <28625667+The0mikkel@users.noreply.github.com> Date: Sat, 20 Dec 2025 19:14:01 +0000 Subject: [PATCH 1/4] Create challenge: A true connection by The Mikkel --- challenges/misc/a-true-connection/README.md | 4 + .../misc/a-true-connection/challenge.yml | 27 ++++ .../misc/a-true-connection/description.md | 6 + .../misc/a-true-connection/handout/.gitkeep | 2 + .../misc/a-true-connection/k8s/files/.gitkeep | 2 + .../misc/a-true-connection/solution/README.md | 3 + .../misc/a-true-connection/src/.gitkeep | 2 + .../misc/a-true-connection/src/Dockerfile | 8 ++ .../misc/a-true-connection/template/.gitkeep | 2 + .../misc/a-true-connection/template/k8s.yml | 116 ++++++++++++++++++ challenges/misc/a-true-connection/version | 1 + 11 files changed, 173 insertions(+) create mode 100644 challenges/misc/a-true-connection/README.md create mode 100644 challenges/misc/a-true-connection/challenge.yml create mode 100644 challenges/misc/a-true-connection/description.md create mode 100644 challenges/misc/a-true-connection/handout/.gitkeep create mode 100644 challenges/misc/a-true-connection/k8s/files/.gitkeep create mode 100644 challenges/misc/a-true-connection/solution/README.md create mode 100644 challenges/misc/a-true-connection/src/.gitkeep create mode 100644 challenges/misc/a-true-connection/src/Dockerfile create mode 100644 challenges/misc/a-true-connection/template/.gitkeep create mode 100644 challenges/misc/a-true-connection/template/k8s.yml create mode 100644 challenges/misc/a-true-connection/version diff --git a/challenges/misc/a-true-connection/README.md b/challenges/misc/a-true-connection/README.md new file mode 100644 index 0000000..99cc8e4 --- /dev/null +++ b/challenges/misc/a-true-connection/README.md @@ -0,0 +1,4 @@ +# A true connection + +*Add information about challenge here* +*It is meant to contain internal documentation of the challenge, such as how it is solved* diff --git a/challenges/misc/a-true-connection/challenge.yml b/challenges/misc/a-true-connection/challenge.yml new file mode 100644 index 0000000..306db33 --- /dev/null +++ b/challenges/misc/a-true-connection/challenge.yml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/ctfpilot/challenge-schema/refs/heads/main/schema.json + +enabled: true +name: A true connection +slug: a-true-connection +author: The Mikkel +category: misc +difficulty: beginner +tags: [] +type: instanced +instanced_type: tcp +instanced_name: null +instanced_subdomains: [] +connection: null +flag: +- flag: ctfpilot{what-a-connection-you-have-made!} + case_sensitive: false +points: 1000 +decay: 75 +min_points: 100 +description_location: description.md +handout_dir: handout +dockerfile_locations: +- location: src/Dockerfile + context: src/ + identifier: null + diff --git a/challenges/misc/a-true-connection/description.md b/challenges/misc/a-true-connection/description.md new file mode 100644 index 0000000..9f7cc20 --- /dev/null +++ b/challenges/misc/a-true-connection/description.md @@ -0,0 +1,6 @@ +# A true connection + +**Difficulty:** Beginner +**Author:** The Mikkel + +*Add challenge description here* diff --git a/challenges/misc/a-true-connection/handout/.gitkeep b/challenges/misc/a-true-connection/handout/.gitkeep new file mode 100644 index 0000000..0f065bc --- /dev/null +++ b/challenges/misc/a-true-connection/handout/.gitkeep @@ -0,0 +1,2 @@ +# This file is used to keep the directory in the repository. +# This directory is used to store files that are handed out, for the challenge. The files are automatically zipped and copied to the files directory. \ No newline at end of file diff --git a/challenges/misc/a-true-connection/k8s/files/.gitkeep b/challenges/misc/a-true-connection/k8s/files/.gitkeep new file mode 100644 index 0000000..4fd76bb --- /dev/null +++ b/challenges/misc/a-true-connection/k8s/files/.gitkeep @@ -0,0 +1,2 @@ +# This file is used to keep the directory in the repository. +# This directory is used to store files that are handed out, for the challenge. Use the handout directory for files that are handed out to users and want to be packaged as a zip file. \ No newline at end of file diff --git a/challenges/misc/a-true-connection/solution/README.md b/challenges/misc/a-true-connection/solution/README.md new file mode 100644 index 0000000..8614e07 --- /dev/null +++ b/challenges/misc/a-true-connection/solution/README.md @@ -0,0 +1,3 @@ +# Solution +This directory is used to store the solution script for the challenge. +This file should contain the steps to solve the challenge. \ No newline at end of file diff --git a/challenges/misc/a-true-connection/src/.gitkeep b/challenges/misc/a-true-connection/src/.gitkeep new file mode 100644 index 0000000..76376a2 --- /dev/null +++ b/challenges/misc/a-true-connection/src/.gitkeep @@ -0,0 +1,2 @@ +# This file is used to keep the directory in the repository. +# This directory is used to store source files for the challenge. \ No newline at end of file diff --git a/challenges/misc/a-true-connection/src/Dockerfile b/challenges/misc/a-true-connection/src/Dockerfile new file mode 100644 index 0000000..1ea3f79 --- /dev/null +++ b/challenges/misc/a-true-connection/src/Dockerfile @@ -0,0 +1,8 @@ +# Dockerfile for misc - A true connection +FROM ubuntu:22.04 + +RUN apt-get update && apt-get upgrade -y && apt-get install -y python3 +RUN useradd -m challengeuser + +USER challengeuser + diff --git a/challenges/misc/a-true-connection/template/.gitkeep b/challenges/misc/a-true-connection/template/.gitkeep new file mode 100644 index 0000000..709b816 --- /dev/null +++ b/challenges/misc/a-true-connection/template/.gitkeep @@ -0,0 +1,2 @@ +# This file is used to keep the directory in the repository. +# This directory is used to store templates for the challenge deployment. \ No newline at end of file diff --git a/challenges/misc/a-true-connection/template/k8s.yml b/challenges/misc/a-true-connection/template/k8s.yml new file mode 100644 index 0000000..f55c8c6 --- /dev/null +++ b/challenges/misc/a-true-connection/template/k8s.yml @@ -0,0 +1,116 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: "ctf-{{ deployment_id }}" + namespace: ctfpilot-challenges-instanced + labels: + challenges.ctfpilot.com/type: "{{ CHALLENGE_TYPE }}" + challenges.ctfpilot.com/name: "{{ CHALLENGE_NAME }}" + challenges.ctfpilot.com/category: "{{ CHALLENGE_CATEGORY }}" + instanced.challenges.ctfpilot.com/deployment: "{{ deployment_id }}" + instanced.challenges.ctfpilot.com/owner: "{{ owner_id }}" + ctfpilot.com/component: "instanced-challenge" + annotations: + janitor/expires: "{{ expires }}" +spec: + replicas: 1 + selector: + matchLabels: + instanced.challenges.ctfpilot.com/deployment: "{{ deployment_id }}" + instanced.challenges.ctfpilot.com/owner: "{{ owner_id }}" + template: + metadata: + labels: + role: "{{ CHALLENGE_TYPE }}" + challenges.ctfpilot.com/type: "{{ CHALLENGE_TYPE }}" + challenges.ctfpilot.com/name: "{{ CHALLENGE_NAME }}" + challenges.ctfpilot.com/category: "{{ CHALLENGE_CATEGORY }}" + instanced.challenges.ctfpilot.com/deployment: "{{ deployment_id }}" + instanced.challenges.ctfpilot.com/owner: "{{ owner_id }}" + ctfpilot.com/component: "instanced-challenge" + spec: + enableServiceLinks: false + automountServiceAccountToken: false + imagePullSecrets: + - name: dockerconfigjson-github-com + dnsPolicy: None + dnsConfig: + nameservers: + - 1.1.1.1 + - 8.8.8.8 + tolerations: + - key: "cluster.ctfpilot.com/node" + value: "scaler" + effect: "PreferNoSchedule" + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: "cluster.ctfpilot.com/node" + operator: In + values: + - scaler + containers: + - name: tcp + image: ghcr.io/{{ CHALLENGE_REPO }}-{{ DOCKER_IMAGE }}:{{ CHALLENGE_VERSION }} + imagePullPolicy: IfNotPresent + resources: + limits: + cpu: 200m + memory: 256Mi + requests: + cpu: 10m + memory: 32Mi + ports: + - containerPort: 8080 + name: tcp +--- +apiVersion: v1 +kind: Service +metadata: + name: "ctf-{{ deployment_id }}" + namespace: ctfpilot-challenges-instanced + labels: + challenges.ctfpilot.com/type: "{{ CHALLENGE_TYPE }}" + challenges.ctfpilot.com/name: "{{ CHALLENGE_NAME }}" + challenges.ctfpilot.com/category: "{{ CHALLENGE_CATEGORY }}" + instanced.challenges.ctfpilot.com/deployment: "{{ deployment_id }}" + instanced.challenges.ctfpilot.com/owner: "{{ owner_id }}" + ctfpilot.com/component: "instanced-challenge" + annotations: + janitor/expires: "{{ expires }}" +spec: + selector: + role: "{{ CHALLENGE_TYPE }}" + instanced.challenges.ctfpilot.com/deployment: "{{ deployment_id }}" + ports: + - port: 8080 + name: tcp + targetPort: tcp +--- +apiVersion: traefik.io/v1alpha1 +kind: IngressRouteTCP +metadata: + name: "ingress-ctf-{{ deployment_id }}" + namespace: ctfpilot-challenges-instanced + labels: + challenges.ctfpilot.com/type: "{{ CHALLENGE_TYPE }}" + challenges.ctfpilot.com/name: "{{ CHALLENGE_NAME }}" + challenges.ctfpilot.com/category: "{{ CHALLENGE_CATEGORY }}" + instanced.challenges.ctfpilot.com/deployment: "{{ deployment_id }}" + instanced.challenges.ctfpilot.com/owner: "{{ owner_id }}" + ctfpilot.com/component: "instanced-challenge" + annotations: + janitor/expires: "{{ expires }}" + traefik.ingress.kubernetes.io/router.priority: "100" +spec: + entryPoints: + - websecure + routes: + - match: HostSNI(`{{ deployment_id }}.{{ domain }}`) + services: + - name: "ctf-{{ deployment_id }}" + port: 8080 + tls: + secretName: kubectf-cert-challs diff --git a/challenges/misc/a-true-connection/version b/challenges/misc/a-true-connection/version new file mode 100644 index 0000000..56a6051 --- /dev/null +++ b/challenges/misc/a-true-connection/version @@ -0,0 +1 @@ +1 \ No newline at end of file From d300e001dc96cf6131fcb06b9f137c2646b3f582 Mon Sep 17 00:00:00 2001 From: The0Mikkel Date: Sat, 20 Dec 2025 20:23:41 +0100 Subject: [PATCH 2/4] Add `a-true-connection` challenge --- challenges/misc/a-true-connection/README.md | 3 +-- challenges/misc/a-true-connection/challenge.yml | 6 +++++- challenges/misc/a-true-connection/description.md | 2 +- challenges/misc/a-true-connection/solution/README.md | 5 +++-- challenges/misc/a-true-connection/src/Dockerfile | 8 ++------ challenges/misc/a-true-connection/src/docker-compose.yml | 5 +++++ 6 files changed, 17 insertions(+), 12 deletions(-) create mode 100644 challenges/misc/a-true-connection/src/docker-compose.yml diff --git a/challenges/misc/a-true-connection/README.md b/challenges/misc/a-true-connection/README.md index 99cc8e4..683f786 100644 --- a/challenges/misc/a-true-connection/README.md +++ b/challenges/misc/a-true-connection/README.md @@ -1,4 +1,3 @@ # A true connection -*Add information about challenge here* -*It is meant to contain internal documentation of the challenge, such as how it is solved* +An example challenge to demonstrate an instanced TCP challenge. diff --git a/challenges/misc/a-true-connection/challenge.yml b/challenges/misc/a-true-connection/challenge.yml index 306db33..45ceb59 100644 --- a/challenges/misc/a-true-connection/challenge.yml +++ b/challenges/misc/a-true-connection/challenge.yml @@ -6,7 +6,11 @@ slug: a-true-connection author: The Mikkel category: misc difficulty: beginner -tags: [] +tags: [ + Instanced, + TCP, + Example +] type: instanced instanced_type: tcp instanced_name: null diff --git a/challenges/misc/a-true-connection/description.md b/challenges/misc/a-true-connection/description.md index 9f7cc20..ba24afa 100644 --- a/challenges/misc/a-true-connection/description.md +++ b/challenges/misc/a-true-connection/description.md @@ -3,4 +3,4 @@ **Difficulty:** Beginner **Author:** The Mikkel -*Add challenge description here* +What a connection you can make, if you can connect to the endpoint below! diff --git a/challenges/misc/a-true-connection/solution/README.md b/challenges/misc/a-true-connection/solution/README.md index 8614e07..7fcdc60 100644 --- a/challenges/misc/a-true-connection/solution/README.md +++ b/challenges/misc/a-true-connection/solution/README.md @@ -1,3 +1,4 @@ # Solution -This directory is used to store the solution script for the challenge. -This file should contain the steps to solve the challenge. \ No newline at end of file + +Connect to the service using the provided connection details. +From here, the user has to send a message to the server, which will respond with the flag. diff --git a/challenges/misc/a-true-connection/src/Dockerfile b/challenges/misc/a-true-connection/src/Dockerfile index 1ea3f79..726f8c2 100644 --- a/challenges/misc/a-true-connection/src/Dockerfile +++ b/challenges/misc/a-true-connection/src/Dockerfile @@ -1,8 +1,4 @@ # Dockerfile for misc - A true connection -FROM ubuntu:22.04 - -RUN apt-get update && apt-get upgrade -y && apt-get install -y python3 -RUN useradd -m challengeuser - -USER challengeuser +FROM istio/tcp-echo-server:1.1 +CMD [ "8080", "FLAG: ctfpilot{what-a-connection-you-have-made!} | Your message: " ] diff --git a/challenges/misc/a-true-connection/src/docker-compose.yml b/challenges/misc/a-true-connection/src/docker-compose.yml new file mode 100644 index 0000000..d840188 --- /dev/null +++ b/challenges/misc/a-true-connection/src/docker-compose.yml @@ -0,0 +1,5 @@ +services: + a-true-connection: + build: . + ports: + - "8080:8080/tcp" From 6f4917da51950465c23a012fa99c49e557a3fd80 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 20 Dec 2025 19:24:39 +0000 Subject: [PATCH 3/4] CI: Update challenges [skip ci] --- .../a-true-connection/k8s/challenge/k8s.yml | 130 ++++++++++++++++++ .../a-true-connection/k8s/config/Chart.yaml | 6 + .../k8s/config/templates/k8s.yml | 64 +++++++++ .../a-true-connection/k8s/config/values.yaml | 11 ++ .../misc/a-true-connection/k8s/files/.gitkeep | 3 +- challenges/misc/a-true-connection/version | 2 +- 6 files changed, 213 insertions(+), 3 deletions(-) create mode 100644 challenges/misc/a-true-connection/k8s/challenge/k8s.yml create mode 100644 challenges/misc/a-true-connection/k8s/config/Chart.yaml create mode 100644 challenges/misc/a-true-connection/k8s/config/templates/k8s.yml create mode 100644 challenges/misc/a-true-connection/k8s/config/values.yaml diff --git a/challenges/misc/a-true-connection/k8s/challenge/k8s.yml b/challenges/misc/a-true-connection/k8s/challenge/k8s.yml new file mode 100644 index 0000000..7270e40 --- /dev/null +++ b/challenges/misc/a-true-connection/k8s/challenge/k8s.yml @@ -0,0 +1,130 @@ +apiVersion: kube-ctf.ctfpilot.com/v1 +kind: instancedChallenge +metadata: + name: "a-true-connection" + labels: + challenges.ctfpilot.com/type: "tcp" + challenges.ctfpilot.com/name: "a-true-connection" + challenges.ctfpilot.com/category: "misc" + ctfpilot.com/component: "instanced-challenge" +spec: + expires: 3600 + available_at: 0 + type: tcp + template: | + apiVersion: apps/v1 + kind: Deployment + metadata: + name: "ctf-{{ deployment_id }}" + namespace: ctfpilot-challenges-instanced + labels: + challenges.ctfpilot.com/type: "tcp" + challenges.ctfpilot.com/name: "a-true-connection" + challenges.ctfpilot.com/category: "misc" + instanced.challenges.ctfpilot.com/deployment: "{{ deployment_id }}" + instanced.challenges.ctfpilot.com/owner: "{{ owner_id }}" + ctfpilot.com/component: "instanced-challenge" + annotations: + janitor/expires: "{{ expires }}" + spec: + replicas: 1 + selector: + matchLabels: + instanced.challenges.ctfpilot.com/deployment: "{{ deployment_id }}" + instanced.challenges.ctfpilot.com/owner: "{{ owner_id }}" + template: + metadata: + labels: + role: "tcp" + challenges.ctfpilot.com/type: "tcp" + challenges.ctfpilot.com/name: "a-true-connection" + challenges.ctfpilot.com/category: "misc" + instanced.challenges.ctfpilot.com/deployment: "{{ deployment_id }}" + instanced.challenges.ctfpilot.com/owner: "{{ owner_id }}" + ctfpilot.com/component: "instanced-challenge" + spec: + enableServiceLinks: false + automountServiceAccountToken: false + imagePullSecrets: + - name: dockerconfigjson-github-com + dnsPolicy: None + dnsConfig: + nameservers: + - 1.1.1.1 + - 8.8.8.8 + tolerations: + - key: "cluster.ctfpilot.com/node" + value: "scaler" + effect: "PreferNoSchedule" + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: "cluster.ctfpilot.com/node" + operator: In + values: + - scaler + containers: + - name: tcp + image: ghcr.io/ctfpilot/challenges-example-misc-a-true-connection:2 + imagePullPolicy: IfNotPresent + resources: + limits: + cpu: 200m + memory: 256Mi + requests: + cpu: 10m + memory: 32Mi + ports: + - containerPort: 8080 + name: tcp + --- + apiVersion: v1 + kind: Service + metadata: + name: "ctf-{{ deployment_id }}" + namespace: ctfpilot-challenges-instanced + labels: + challenges.ctfpilot.com/type: "tcp" + challenges.ctfpilot.com/name: "a-true-connection" + challenges.ctfpilot.com/category: "misc" + instanced.challenges.ctfpilot.com/deployment: "{{ deployment_id }}" + instanced.challenges.ctfpilot.com/owner: "{{ owner_id }}" + ctfpilot.com/component: "instanced-challenge" + annotations: + janitor/expires: "{{ expires }}" + spec: + selector: + role: "tcp" + instanced.challenges.ctfpilot.com/deployment: "{{ deployment_id }}" + ports: + - port: 8080 + name: tcp + targetPort: tcp + --- + apiVersion: traefik.io/v1alpha1 + kind: IngressRouteTCP + metadata: + name: "ingress-ctf-{{ deployment_id }}" + namespace: ctfpilot-challenges-instanced + labels: + challenges.ctfpilot.com/type: "tcp" + challenges.ctfpilot.com/name: "a-true-connection" + challenges.ctfpilot.com/category: "misc" + instanced.challenges.ctfpilot.com/deployment: "{{ deployment_id }}" + instanced.challenges.ctfpilot.com/owner: "{{ owner_id }}" + ctfpilot.com/component: "instanced-challenge" + annotations: + janitor/expires: "{{ expires }}" + traefik.ingress.kubernetes.io/router.priority: "100" + spec: + entryPoints: + - websecure + routes: + - match: HostSNI(`{{ deployment_id }}.{{ domain }}`) + services: + - name: "ctf-{{ deployment_id }}" + port: 8080 + tls: + secretName: kubectf-cert-challs diff --git a/challenges/misc/a-true-connection/k8s/config/Chart.yaml b/challenges/misc/a-true-connection/k8s/config/Chart.yaml new file mode 100644 index 0000000..45096e3 --- /dev/null +++ b/challenges/misc/a-true-connection/k8s/config/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: configmap-a-true-connection +version: 1.2.0 +description: Challenge configmap for a-true-connection in category misc +appVersion: "1.2.0" +type: application diff --git a/challenges/misc/a-true-connection/k8s/config/templates/k8s.yml b/challenges/misc/a-true-connection/k8s/config/templates/k8s.yml new file mode 100644 index 0000000..def34be --- /dev/null +++ b/challenges/misc/a-true-connection/k8s/config/templates/k8s.yml @@ -0,0 +1,64 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: "challenge-misc-a-true-connection" + labels: + challenges.ctfpilot.com/type: "tcp" + challenges.ctfpilot.com/name: "a-true-connection" + challenges.ctfpilot.com/category: "misc" + challenges.ctfpilot.com/version: "2" + challenges.ctfpilot.com/configmap: "challenge-config" + challenges.ctfpilot.com/enabled: "true" + ctfpilot.com/component: "challenge-config" +data: + name: "a-true-connection" + path: "challenges/misc/a-true-connection" + repository: "ctfpilot/challenges-example" + generated_at: "2025-12-20 19:24:39" + challenge: | + { + "$schema": "https://raw.githubusercontent.com/ctfpilot/challenge-schema/refs/heads/main/schema.json", + "enabled": true, + "name": "A true connection", + "slug": "a-true-connection", + "author": "The Mikkel", + "category": "misc", + "difficulty": "beginner", + "tags": [ + "Instanced", + "TCP", + "Example" + ], + "type": "instanced", + "instanced_type": "tcp", + "instanced_name": null, + "instanced_subdomains": [], + "connection": null, + "flag": [ + { + "flag": "ctfpilot{what-a-connection-you-have-made!}", + "case_sensitive": false + } + ], + "points": 1000, + "decay": 75, + "min_points": 100, + "description_location": "description.md", + "handout_dir": "handout", + "dockerfile_locations": [ + { + "location": "src/Dockerfile", + "context": "src/", + "identifier": null + } + ] + } + + description: | + # A true connection + + **Difficulty:** Beginner + **Author:** The Mikkel + + What a connection you can make, if you can connect to the endpoint below! + diff --git a/challenges/misc/a-true-connection/k8s/config/values.yaml b/challenges/misc/a-true-connection/k8s/config/values.yaml new file mode 100644 index 0000000..9caf3eb --- /dev/null +++ b/challenges/misc/a-true-connection/k8s/config/values.yaml @@ -0,0 +1,11 @@ +challenge: + enabled: true + name: a-true-connection + category: misc + type: tcp + version: 2 + path: challenges/misc/a-true-connection +kubectf: + expires: 3600 + availableAt: 0 + host: example.com diff --git a/challenges/misc/a-true-connection/k8s/files/.gitkeep b/challenges/misc/a-true-connection/k8s/files/.gitkeep index 4fd76bb..ef3682f 100644 --- a/challenges/misc/a-true-connection/k8s/files/.gitkeep +++ b/challenges/misc/a-true-connection/k8s/files/.gitkeep @@ -1,2 +1 @@ -# This file is used to keep the directory in the repository. -# This directory is used to store files that are handed out, for the challenge. Use the handout directory for files that are handed out to users and want to be packaged as a zip file. \ No newline at end of file +# This file is to keep the directory in git. diff --git a/challenges/misc/a-true-connection/version b/challenges/misc/a-true-connection/version index 56a6051..d8263ee 100644 --- a/challenges/misc/a-true-connection/version +++ b/challenges/misc/a-true-connection/version @@ -1 +1 @@ -1 \ No newline at end of file +2 \ No newline at end of file From e472ac744f6c04f361da3521c03e5bf7b89a0228 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 20 Dec 2025 19:25:35 +0000 Subject: [PATCH 4/4] CI: Update challenges [skip ci] --- challenges/misc/a-true-connection/k8s/challenge/k8s.yml | 2 +- challenges/misc/a-true-connection/k8s/config/Chart.yaml | 4 ++-- .../misc/a-true-connection/k8s/config/templates/k8s.yml | 4 ++-- challenges/misc/a-true-connection/k8s/config/values.yaml | 2 +- challenges/misc/a-true-connection/version | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/challenges/misc/a-true-connection/k8s/challenge/k8s.yml b/challenges/misc/a-true-connection/k8s/challenge/k8s.yml index 7270e40..7520395 100644 --- a/challenges/misc/a-true-connection/k8s/challenge/k8s.yml +++ b/challenges/misc/a-true-connection/k8s/challenge/k8s.yml @@ -67,7 +67,7 @@ spec: - scaler containers: - name: tcp - image: ghcr.io/ctfpilot/challenges-example-misc-a-true-connection:2 + image: ghcr.io/ctfpilot/challenges-example-misc-a-true-connection:3 imagePullPolicy: IfNotPresent resources: limits: diff --git a/challenges/misc/a-true-connection/k8s/config/Chart.yaml b/challenges/misc/a-true-connection/k8s/config/Chart.yaml index 45096e3..7ab72d4 100644 --- a/challenges/misc/a-true-connection/k8s/config/Chart.yaml +++ b/challenges/misc/a-true-connection/k8s/config/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: configmap-a-true-connection -version: 1.2.0 +version: 1.3.0 description: Challenge configmap for a-true-connection in category misc -appVersion: "1.2.0" +appVersion: "1.3.0" type: application diff --git a/challenges/misc/a-true-connection/k8s/config/templates/k8s.yml b/challenges/misc/a-true-connection/k8s/config/templates/k8s.yml index def34be..8e2417a 100644 --- a/challenges/misc/a-true-connection/k8s/config/templates/k8s.yml +++ b/challenges/misc/a-true-connection/k8s/config/templates/k8s.yml @@ -6,7 +6,7 @@ metadata: challenges.ctfpilot.com/type: "tcp" challenges.ctfpilot.com/name: "a-true-connection" challenges.ctfpilot.com/category: "misc" - challenges.ctfpilot.com/version: "2" + challenges.ctfpilot.com/version: "3" challenges.ctfpilot.com/configmap: "challenge-config" challenges.ctfpilot.com/enabled: "true" ctfpilot.com/component: "challenge-config" @@ -14,7 +14,7 @@ data: name: "a-true-connection" path: "challenges/misc/a-true-connection" repository: "ctfpilot/challenges-example" - generated_at: "2025-12-20 19:24:39" + generated_at: "2025-12-20 19:25:35" challenge: | { "$schema": "https://raw.githubusercontent.com/ctfpilot/challenge-schema/refs/heads/main/schema.json", diff --git a/challenges/misc/a-true-connection/k8s/config/values.yaml b/challenges/misc/a-true-connection/k8s/config/values.yaml index 9caf3eb..d6782a9 100644 --- a/challenges/misc/a-true-connection/k8s/config/values.yaml +++ b/challenges/misc/a-true-connection/k8s/config/values.yaml @@ -3,7 +3,7 @@ challenge: name: a-true-connection category: misc type: tcp - version: 2 + version: 3 path: challenges/misc/a-true-connection kubectf: expires: 3600 diff --git a/challenges/misc/a-true-connection/version b/challenges/misc/a-true-connection/version index d8263ee..e440e5c 100644 --- a/challenges/misc/a-true-connection/version +++ b/challenges/misc/a-true-connection/version @@ -1 +1 @@ -2 \ No newline at end of file +3 \ No newline at end of file