diff --git a/facilitator/assets/exams/other/001/assessment.json b/facilitator/assets/exams/other/001/assessment.json index 64aee32..5e621b1 100644 --- a/facilitator/assets/exams/other/001/assessment.json +++ b/facilitator/assets/exams/other/001/assessment.json @@ -3,7 +3,7 @@ { "id": "1", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Create a Docker image named `docker-speedrun:v1` using the provided Dockerfile in the `/tmp/exam/q1` directory.\n\nTag the image also as `docker-speedrun:latest`.", "concepts": ["docker", "images", "tags"], "verification": [ @@ -26,7 +26,7 @@ { "id": "2", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Run a container named `web-server` using the `nginx:alpine` image. The container should:\n\n- Run in detached mode\n- Map host port `8080` to container port `80`\n- Set an environment variable `NGINX_HOST=localhost`", "concepts": ["docker", "containers", "port mapping", "environment variables"], "verification": [ @@ -63,7 +63,7 @@ { "id": "3", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Create a Docker volume named `data-volume` and then run a container named `volume-test` using the `alpine:latest` image that:\n\n- Mounts the `data-volume` to `/app/data` in the container\n- Creates a file called `/app/data/test.txt` with the content 'Docker volumes test'\n- Exits after completing these actions", "concepts": ["docker", "volumes", "data persistence"], "verification": [ @@ -93,7 +93,7 @@ { "id": "4", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Create a multi-stage Dockerfile in `/tmp/exam/q4/Dockerfile` that:\n\n- Uses `golang:1.17-alpine` as the build stage\n- Builds a simple Go application from `/tmp/exam/q4/main.go`\n- Uses `alpine:latest` as the final stage\n- Copies only the compiled binary to the final stage\n- Sets the entrypoint to run the binary\n\nThen build this image with the tag `multi-stage:latest`.", "concepts": ["docker", "multi-stage builds", "optimization"], "verification": [ @@ -123,7 +123,7 @@ { "id": "5", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Configure the Docker daemon to use the systemd cgroup driver and restart the Docker service. Then verify the configuration.\n\nEdit the Docker daemon configuration file at `/etc/docker/daemon.json`.", "concepts": ["docker", "configuration", "cgroups", "systemd"], "verification": [ @@ -146,7 +146,7 @@ { "id": "6", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Run a container named `logging-test` using the `nginx:alpine` image that:\n\n- Runs in detached mode\n- Configures logging driver to use the 'json-file' driver\n- Sets log rotation to keep maximum 3 files of 10m size each", "concepts": ["docker", "logging", "configuration"], "verification": [ @@ -176,7 +176,7 @@ { "id": "7", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Create a custom bridge network named `app-network` with subnet `172.18.0.0/16`. Then run two containers:\n\n- Container `app1` using `alpine` image with network `app-network` and command to keep it running\n- Container `app2` using `alpine` image with network `app-network` and command to ping `app1` 3 times", "concepts": ["docker", "networking", "dns"], "verification": [ @@ -206,7 +206,7 @@ { "id": "8", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Create a Dockerfile in `/tmp/exam/q8/Dockerfile` that implements healthchecks for a web application:\n\n- Base image: `nginx:alpine`\n- Healthcheck should test if the server responds on port 80 using curl\n- Interval: 30 seconds\n- Timeout: 10 seconds\n- Start period: 5 seconds\n- Retries: 3\n\nThen build and run this container with name `healthy-app`.", "concepts": ["docker", "healthchecks", "monitoring"], "verification": [ @@ -236,7 +236,7 @@ { "id": "9", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Pull the image manifest for `nginx:1.21.0` and save it to `/tmp/exam/q9/manifest.json`. Then extract and save the list of supported platforms from this manifest to `/tmp/exam/q9/platforms.txt`.", "concepts": ["docker", "oci", "image manifests"], "verification": [ @@ -259,7 +259,7 @@ { "id": "10", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Run a container named `limited-resources` using the `stress` image that:\n\n- Is limited to use at maximum 0.5 CPU cores\n- Is limited to use at maximum 256MB of memory\n- Runs a CPU stress test on 1 CPU\n- Runs in detached mode", "concepts": ["docker", "resource limits", "container constraints"], "verification": [ @@ -289,7 +289,7 @@ { "id": "11", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Create a Docker Compose file at `/tmp/exam/q11/docker-compose.yml` that defines a simple web application with two services:\n\n- Service `web`: Using nginx:alpine, exposed on port 8080\n- Service `db`: Using postgres:13, with environment variables for database credentials\n- Define a volume for the database data\n- Define a custom network for the services\n\nThen use Docker Compose to start the services in detached mode.", "concepts": ["docker", "docker-compose", "multi-container", "networking"], "verification": [ @@ -319,7 +319,7 @@ { "id": "12", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Analyze the existing image `webapp:latest` and create a report in `/tmp/exam/q12/image-report.txt` that includes:\n\n- The base image used\n- Number of layers\n- The exposed ports\n- Environment variables\n- The entrypoint command", "concepts": ["docker", "image inspection", "layers"], "verification": [ @@ -349,7 +349,7 @@ { "id": "13", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "A container named `broken-container` is running but not working correctly. Use Docker troubleshooting techniques to:\n\n- Check the container logs\n- Exec into the container to inspect files\n- Fix the issue (it's a missing file at `/app/config.json`)\n- Save your findings in `/tmp/exam/q13/diagnosis.txt`", "concepts": ["docker", "troubleshooting", "logs", "exec"], "verification": [ @@ -372,7 +372,7 @@ { "id": "14", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Create a Dockerfile in `/tmp/exam/q14/Dockerfile` that implements a non-root user:\n\n- Base image: `python:3.9-slim`\n- Create a user `appuser` with UID 1001\n- Set the working directory to `/app`\n- Copy a sample app.py from `/tmp/exam/q14/app.py`\n- Set the user to `appuser` before the entrypoint\n- Define the entrypoint to run the Python script\n\nBuild and run this container with the name `secure-app`.", "concepts": ["docker", "security", "non-root user"], "verification": [ @@ -395,7 +395,7 @@ { "id": "15", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Optimize an existing Docker image at `/tmp/exam/q15/Dockerfile` to improve build efficiency and reduce size:\n\n- Improve the ordering of layers for better caching\n- Add appropriate `.dockerignore` file\n- Minimize the number of layers\n- Reduce the final image size\n\nBuild the optimized image with tag `optimized-app:latest`.", "concepts": ["docker", "optimization", "caching", "layers"], "verification": [ @@ -425,7 +425,7 @@ { "id": "16", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Configure and use Docker Content Trust (DCT) to sign and verify images:\n\n- Enable Docker Content Trust\n- Pull a signed image (docker.io/library/alpine:latest)\n- Configure a passphrase for signing\n- Build, sign and push a custom image to a local registry\n\nDocument your commands in `/tmp/exam/q16/dct-commands.sh`.", "concepts": ["docker", "security", "content trust", "signing"], "verification": [ diff --git a/facilitator/assets/exams/other/002/assessment.json b/facilitator/assets/exams/other/002/assessment.json index 3e1f689..03d2276 100644 --- a/facilitator/assets/exams/other/002/assessment.json +++ b/facilitator/assets/exams/other/002/assessment.json @@ -3,7 +3,7 @@ { "id": "1", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Verify the existing Helm installation in the cluster by checking the Helm version.\n\nRun the version command and save the output to a file at `/tmp/exam/q1/helm-version.txt`.\n\nThe output should show both client and server version information.", "concepts": ["helm", "verification"], "verification": [ @@ -19,7 +19,7 @@ { "id": "2", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Add the Bitnami chart repository to your Helm configuration with the name `bitnami` and URL `https://charts.bitnami.com/bitnami`.\n\nUpdate the repository to fetch the latest chart information. Verify success by listing all repositories.", "concepts": ["helm", "repositories"], "verification": [ @@ -35,7 +35,7 @@ { "id": "3", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Search for the nginx chart in the Bitnami repository.\n\nStore the search results in a file at `/tmp/exam/q3/nginx-charts.txt`.", "concepts": ["helm", "chart search"], "verification": [ @@ -51,7 +51,7 @@ { "id": "4", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Install the Bitnami nginx chart with the release name `web-server` in the `default` namespace.\n\nEnsure the service type is set to `NodePort` and the port is set to `30080`. Only modify the necessary values without changing other default settings.", "concepts": ["helm", "chart installation", "value overrides"], "verification": [ @@ -74,7 +74,7 @@ { "id": "5", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "List all Helm releases across all namespaces.\n\nSave the output to a file at `/tmp/exam/q5/releases.txt`.", "concepts": ["helm", "release management"], "verification": [ @@ -90,7 +90,7 @@ { "id": "6", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Get the status of the `web-server` release and save the output to a file at `/tmp/exam/q6/web-server-status.txt`.\n\nAlso, get a summary of the manifests rendered by the chart and save them to `/tmp/exam/q6/web-server-manifests.txt`.", "concepts": ["helm", "release inspection"], "verification": [ @@ -113,7 +113,7 @@ { "id": "7", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Upgrade the `web-server` release to set replica count to 3.\n\nVerify the update was successful by checking the number of pods.", "concepts": ["helm", "release upgrade"], "verification": [ @@ -136,7 +136,7 @@ { "id": "8", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Create a new values file at `/tmp/exam/q8/redis-values.yaml` for a Redis installation with the following configurations:\n\n- Password: \"password123\"\n- Persistence enabled\n- Resource limits: 256Mi memory and 100m CPU\n\nThen install the Bitnami Redis chart using this values file, with the release name `cache-db` in the `default` namespace.", "concepts": ["helm", "values files", "advanced installation"], "verification": [ @@ -159,7 +159,7 @@ { "id": "9", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Create a new Helm chart named `webapp` using the Helm create command.\n\nModify the Chart.yaml to include a description: \"A simple web application\" and set the appVersion to \"1.2.3\".", "concepts": ["helm", "chart creation"], "verification": [ @@ -182,7 +182,7 @@ { "id": "10", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Package the `webapp` chart you created into a `.tgz` file.\n\nThen create a local chart repository by:\n1. Creating a directory at `/tmp/exam/q10/charts`\n2. Moving the packaged chart to this directory\n3. Creating an index file for this repository\n4. Adding this local repository to Helm with the name `localrepo`", "concepts": ["helm", "chart packaging", "repository management"], "verification": [ @@ -205,7 +205,7 @@ { "id": "11", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Roll back the `web-server` release to its first revision (the original installation).\n\nVerify the rollback was successful by checking the revision number and that the replica count is back to the original value.", "concepts": ["helm", "rollback"], "verification": [ @@ -228,7 +228,7 @@ { "id": "12", "namespace": "default", - "machineHostname": "node01", + "machineHostname": "ckad9999", "question": "Debug an existing problematic release named `buggy-app` in the `default` namespace.\n\n1. Use Helm's debug capabilities to identify the issue\n2. Create a file at `/tmp/exam/q12/diagnosis.txt` explaining the problem\n3. Fix the release by performing the necessary upgrade or reinstallation", "concepts": ["helm", "debugging", "troubleshooting"], "verification": [