From 41c4b277aa086b9f4cbfd5dd1ab9dd89c3510008 Mon Sep 17 00:00:00 2001 From: Nishan Date: Sat, 5 Apr 2025 15:20:55 +0530 Subject: [PATCH] Refactor Labs --- LICENSE | 21 + README.md | 20 +- app/public/index.html | 16 +- app/public/js/results.js | 4 +- compose.yaml => docker-compose.yaml | 0 docs/CONTRIBUTING.md | 2 +- .../TERMS_OF_SERVICE.md | 0 docs/how-to-add-new-labs.md | 10 +- docs/local-setup-guide.md | 6 +- facilitator/assets/exams/cka/001/answers.md | 343 ++++++++++ .../assets/exams/cka/001/assessment.json | 255 +++++++ facilitator/assets/exams/cka/001/config.json | 10 + .../exams/cka/001/scripts/setup/q10_setup.sh | 28 + .../exams/cka/001/scripts/setup/q1_setup.sh | 8 + .../exams/cka/001/scripts/setup/q2_setup.sh | 10 + .../exams/cka/001/scripts/setup/q3_setup.sh | 11 + .../exams/cka/001/scripts/setup/q4_setup.sh | 21 + .../exams/cka/001/scripts/setup/q5_setup.sh | 12 + .../exams/cka/001/scripts/setup/q6_setup.sh | 14 + .../exams/cka/001/scripts/setup/q7_setup.sh | 13 + .../exams/cka/001/scripts/setup/q8_setup.sh | 15 + .../exams/cka/001/scripts/setup/q9_setup.sh | 13 + .../scripts/validation/q10_s1_validate_pod.sh | 70 ++ ..._s2_validate_health_check_effectiveness.sh | 88 +++ .../validation/q1_s1_validate_namespace.sh | 12 + .../scripts/validation/q1_s2_validate_pod.sh | 29 + .../validation/q1_s3_validate_pod_status.sh | 36 + .../validation/q2_s1_validate_static_pod.sh | 32 + .../q2_s2_validate_static_pod_config.sh | 43 ++ .../validation/q3_s1_validate_storageclass.sh | 21 + .../scripts/validation/q3_s2_validate_pvc.sh | 30 + .../q3_s3_validate_storage_access.sh | 44 ++ .../scripts/validation/q4_s1_validate_pod.sh | 52 ++ .../validation/q4_s2_validate_logging.sh | 43 ++ .../scripts/validation/q5_s1_validate_sa.sh | 14 + .../scripts/validation/q5_s2_validate_rbac.sh | 50 ++ .../q5_s3_validate_rbac_permissions.sh | 43 ++ .../q6_s1_validate_networkpolicy.sh | 37 + .../q6_s2_validate_network_policy_effect.sh | 42 ++ .../validation/q7_s1_validate_deployment.sh | 36 + .../validation/q7_s2_validate_service.sh | 44 ++ .../scripts/validation/q8_s1_validate_pod.sh | 61 ++ .../q8_s2_validate_resource_usage.sh | 73 ++ .../validation/q9_s1_validate_configmap.sh | 28 + .../scripts/validation/q9_s2_validate_pod.sh | 43 ++ .../q9_s3_validate_configmap_usage.sh | 60 ++ facilitator/assets/exams/ckad/001/answers.md | 338 ++++++---- .../assets/exams/ckad/001/assessment.json | 36 +- .../exams/ckad/001/scripts/setup/q7_setup.sh | 2 +- .../validation/q10_s2_validate_pod_running.sh | 16 + .../q10_s3_validate_pod_env_vars.sh | 30 + .../q11_s3_validate_cronjob_command.sh | 23 + .../q11_s4_validate_cronjob_policy.sh | 28 + .../q13_s2_validate_clusterrolebinding.sh | 34 +- .../q16_s2_validate_pod_selector.sh | 29 + .../q16_s3_validate_policy_rules.sh | 39 ++ .../q17_s2_validate_service_selector.sh | 27 + .../q17_s3_validate_service_ports.sh | 41 ++ .../q19_s3_validate_ingress_backend.sh | 98 +-- .../validation/q20_s1_validate_job_created.sh | 14 + .../validation/q20_s2_validate_job_config.sh | 11 +- .../q20_s3_validate_job_completed.sh | 56 ++ ...3_s3_validate_storageclass_binding_mode.sh | 2 +- .../q4_s3_validate_pvc_access_mode.sh | 12 + .../q4_s4_validate_pvc_storageclass.sh | 12 + .../q5_s2_validate_container_image.sh | 18 + .../q6_s1_validate_multicontainer_pod.sh | 30 +- .../validation/q8_s2_validate_pod_running.sh | 27 +- .../validation/q8_s3_validate_cpu_usage.sh | 60 -- facilitator/assets/exams/ckad/002/answers.md | 574 +++++++++++----- .../assets/exams/ckad/002/assessment.json | 156 ++--- .../exams/ckad/002/scripts/setup/q12_setup.sh | 22 +- .../exams/ckad/002/scripts/setup/q15_setup.sh | 16 +- .../exams/ckad/002/scripts/setup/q18_setup.sh | 14 +- .../exams/ckad/002/scripts/setup/q19_setup.sh | 70 +- .../exams/ckad/002/scripts/setup/q9_setup.sh | 2 +- .../validation/q12_s1_validate_dockerfile.sh | 26 + .../validation/q12_s1_validate_namespace.sh | 13 - .../validation/q12_s2_validate_html.sh | 32 + .../validation/q12_s2_validate_statefulset.sh | 32 - .../validation/q12_s3_validate_image.sh | 12 + .../validation/q12_s3_validate_service.sh | 31 - .../validation/q12_s4_validate_container.sh | 32 + .../q12_s4_validate_volume_claim.sh | 32 - .../scripts/validation/q13_s2_validate_job.sh | 29 +- .../validation/q15_s1_validate_namespace.sh | 16 +- .../q15_s2_validate_chart_install.sh | 31 + .../validation/q15_s2_validate_values.sh | 70 ++ .../validation/q15_s3_validate_chart.sh | 61 ++ .../q15_s3_validate_release_notes.sh | 22 + .../q17_s5_validate_grace_period.sh | 4 +- .../validation/q18_s1_validate_namespace.sh | 16 +- .../scripts/validation/q18_s2_validate_crd.sh | 40 ++ .../validation/q18_s3_validate_cr_name.sh | 18 + .../validation/q18_s4_validate_cr_image.sh | 18 + .../validation/q18_s5_validate_cr_replicas.sh | 18 + .../validation/q19_s1_validate_namespace.sh | 16 +- .../q19_s2_validate_basic_output.sh | 41 ++ .../q19_s3_validate_advanced_output.sh | 46 ++ .../validation/q20_s1_validate_namespace.sh | 16 +- .../validation/q20_s2_validate_configmap.sh | 24 + .../validation/q20_s3_validate_secret.sh | 24 + .../validation/q20_s4_validate_env_vars.sh | 58 ++ .../q20_s5_validate_configmap_mount.sh | 25 + .../q9_s2_validate_deployment_replicas.sh | 13 + .../validation/q9_s4_validate_pods_image.sh | 18 + facilitator/assets/exams/cks/001/answers.md | 42 +- .../assets/exams/cks/001/assessment.json | 235 +------ .../scripts/validation/q10_s1_validate_pod.sh | 36 + .../q10_s1_validate_service_account.sh | 40 -- .../validation/q10_s2_validate_configmap.sh | 47 ++ .../validation/q10_s2_validate_pod_access.sh | 44 -- .../validation/q10_s3_validate_rbac_rules.sh | 64 -- .../validation/q10_s3_validate_syscalls.sh | 56 ++ .../validation/q6_s3_validate_rolebinding.sh | 45 ++ .../q8_s1_validate_policy_exists.sh | 22 + .../q8_s1_validate_sec_profile_exists.sh | 28 - .../validation/q8_s2_validate_default_deny.sh | 29 - .../q8_s2_validate_policy_selectors.sh | 36 + .../validation/q8_s3_validate_admin_access.sh | 68 ++ .../q8_s3_validate_allowed_syscalls.sh | 0 .../validation/q8_s4_validate_pod_seccomp.sh | 30 - .../q8_s4_validate_restricted_access.sh | 38 ++ .../validation/q9_s1_validate_enc_secret.sh | 0 .../validation/q9_s1_validate_pod_exists.sh | 29 + .../validation/q9_s2_validate_capabilities.sh | 35 + .../validation/q9_s2_validate_config_file.sh | 0 .../validation/q9_s3_validate_readonly_fs.sh | 39 ++ .../validation/q9_s4_validate_user_group.sh | 31 + facilitator/assets/exams/labs.json | 34 +- facilitator/assets/exams/other/001/answers.md | 404 +++++++++++ .../assets/exams/other/001/assessment.json | 449 +++++++++++++ .../assets/exams/other/001/config.json | 10 + .../other/001/scripts/setup/q10_setup.sh | 22 + .../other/001/scripts/setup/q11_setup.sh | 22 + .../other/001/scripts/setup/q12_setup.sh | 60 ++ .../other/001/scripts/setup/q13_setup.sh | 55 ++ .../other/001/scripts/setup/q14_setup.sh | 39 ++ .../other/001/scripts/setup/q15_setup.sh | 100 +++ .../other/001/scripts/setup/q16_setup.sh | 30 + .../exams/other/001/scripts/setup/q1_setup.sh | 26 + .../exams/other/001/scripts/setup/q2_setup.sh | 11 + .../exams/other/001/scripts/setup/q3_setup.sh | 14 + .../exams/other/001/scripts/setup/q4_setup.sh | 30 + .../exams/other/001/scripts/setup/q5_setup.sh | 27 + .../exams/other/001/scripts/setup/q6_setup.sh | 11 + .../exams/other/001/scripts/setup/q7_setup.sh | 14 + .../exams/other/001/scripts/setup/q8_setup.sh | 15 + .../exams/other/001/scripts/setup/q9_setup.sh | 14 + .../validation/q10_s1_validate_running.sh | 19 + .../scripts/validation/q10_s2_validate_cpu.sh | 23 + .../validation/q10_s3_validate_memory.sh | 23 + .../q11_s1_validate_compose_file.sh | 37 + .../validation/q11_s2_validate_services.sh | 38 ++ .../q11_s3_validate_network_volume.sh | 48 ++ .../validation/q12_s1_validate_file.sh | 17 + .../validation/q12_s2_validate_base_image.sh | 28 + .../validation/q12_s3_validate_details.sh | 53 ++ .../validation/q13_s1_validate_diagnosis.sh | 25 + .../q13_s2_validate_container_fixed.sh | 39 ++ .../validation/q14_s1_validate_dockerfile.sh | 35 + .../q14_s2_validate_container_user.sh | 46 ++ .../validation/q1_s1_validate_image_v1.sh | 13 + .../validation/q1_s2_validate_image_latest.sh | 13 + .../q2_s1_validate_container_running.sh | 19 + .../validation/q2_s2_validate_image.sh | 22 + .../scripts/validation/q2_s3_validate_port.sh | 23 + .../scripts/validation/q2_s4_validate_env.sh | 23 + .../validation/q3_s1_validate_volume.sh | 13 + .../q3_s2_validate_container_mount.sh | 23 + .../validation/q3_s3_validate_file_content.sh | 29 + .../validation/q4_s1_validate_dockerfile.sh | 19 + .../validation/q4_s2_validate_image_built.sh | 14 + .../validation/q4_s3_validate_image_size.sh | 23 + .../q5_s1_validate_daemon_config.sh | 21 + .../q5_s2_validate_cgroup_driver.sh | 23 + .../validation/q6_s1_validate_container.sh | 19 + .../validation/q6_s2_validate_log_driver.sh | 21 + .../validation/q6_s3_validate_log_rotation.sh | 27 + .../validation/q7_s1_validate_network.sh | 21 + .../scripts/validation/q7_s2_validate_app1.sh | 30 + .../scripts/validation/q7_s3_validate_ping.sh | 39 ++ .../validation/q8_s1_validate_dockerfile.sh | 33 + .../validation/q8_s2_validate_container.sh | 29 + .../q8_s3_validate_health_params.sh | 46 ++ .../validation/q9_s1_validate_manifest.sh | 25 + .../validation/q9_s2_validate_platforms.sh | 30 + facilitator/assets/exams/other/002/answers.md | 195 ++++++ .../assets/exams/other/002/assessment.json | 252 +++++++ .../assets/exams/other/002/config.json | 10 + .../002/scripts/setup/create_directories.sh | 14 + .../scripts/setup/q12_setup_buggy_release.sh | 93 +++ .../q10_s1_validate_chart_packaged.sh | 25 + .../validation/q10_s2_validate_local_repo.sh | 61 ++ .../validation/q11_s1_validate_rollback.sh | 40 ++ .../validation/q11_s2_validate_revision.sh | 53 ++ .../validation/q12_s1_validate_diagnosis.sh | 38 ++ .../validation/q12_s2_validate_fixed.sh | 56 ++ .../q1_s1_validate_helm_installed.sh | 35 + .../validation/q2_s1_validate_repo_added.sh | 39 ++ .../q3_s1_validate_search_results.sh | 36 + .../q4_s1_validate_nginx_installed.sh | 31 + .../q4_s2_validate_service_config.sh | 40 ++ .../q5_s1_validate_releases_list.sh | 50 ++ .../validation/q6_s1_validate_status.sh | 38 ++ .../validation/q6_s2_validate_manifests.sh | 38 ++ .../validation/q7_s1_validate_upgrade.sh | 34 + .../validation/q7_s2_validate_replicas.sh | 45 ++ .../validation/q8_s1_validate_values_file.sh | 44 ++ .../q8_s2_validate_redis_install.sh | 56 ++ .../q9_s1_validate_chart_created.sh | 32 + .../q9_s2_validate_chart_metadata.sh | 29 + facilitator/src/services/metricService.js | 2 +- facilitator/src/utils/logger.js | 10 +- facilitator/src/utils/redisClient.js | 20 +- jumphost/Dockerfile | 3 +- jumphost/scripts/cleanup-exam-env.sh | 8 + remote-desktop/Dockerfile | 2 +- remote-desktop/startup.sh | 2 +- scripts/COMPOSE-DEPLOY.md | 12 +- scripts/house-keeping/build-and-push.sh | 65 +- scripts/install.ps1 | 632 ++++++++++-------- scripts/install.sh | 4 +- 223 files changed, 8468 insertions(+), 1620 deletions(-) create mode 100644 LICENSE rename compose.yaml => docker-compose.yaml (100%) rename TERMS_OF_SERVICE.md => docs/TERMS_OF_SERVICE.md (100%) create mode 100644 facilitator/assets/exams/cka/001/answers.md create mode 100644 facilitator/assets/exams/cka/001/assessment.json create mode 100644 facilitator/assets/exams/cka/001/config.json create mode 100644 facilitator/assets/exams/cka/001/scripts/setup/q10_setup.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/setup/q1_setup.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/setup/q2_setup.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/setup/q3_setup.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/setup/q4_setup.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/setup/q5_setup.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/setup/q6_setup.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/setup/q7_setup.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/setup/q8_setup.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/setup/q9_setup.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q10_s1_validate_pod.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q10_s2_validate_health_check_effectiveness.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q1_s1_validate_namespace.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q1_s2_validate_pod.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q1_s3_validate_pod_status.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q2_s1_validate_static_pod.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q2_s2_validate_static_pod_config.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q3_s1_validate_storageclass.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q3_s2_validate_pvc.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q3_s3_validate_storage_access.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q4_s1_validate_pod.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q4_s2_validate_logging.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q5_s1_validate_sa.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q5_s2_validate_rbac.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q5_s3_validate_rbac_permissions.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q6_s1_validate_networkpolicy.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q6_s2_validate_network_policy_effect.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q7_s1_validate_deployment.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q7_s2_validate_service.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q8_s1_validate_pod.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q8_s2_validate_resource_usage.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q9_s1_validate_configmap.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q9_s2_validate_pod.sh create mode 100644 facilitator/assets/exams/cka/001/scripts/validation/q9_s3_validate_configmap_usage.sh create mode 100644 facilitator/assets/exams/ckad/001/scripts/validation/q10_s2_validate_pod_running.sh create mode 100644 facilitator/assets/exams/ckad/001/scripts/validation/q10_s3_validate_pod_env_vars.sh create mode 100644 facilitator/assets/exams/ckad/001/scripts/validation/q11_s3_validate_cronjob_command.sh create mode 100644 facilitator/assets/exams/ckad/001/scripts/validation/q11_s4_validate_cronjob_policy.sh create mode 100644 facilitator/assets/exams/ckad/001/scripts/validation/q16_s2_validate_pod_selector.sh create mode 100644 facilitator/assets/exams/ckad/001/scripts/validation/q16_s3_validate_policy_rules.sh create mode 100644 facilitator/assets/exams/ckad/001/scripts/validation/q17_s2_validate_service_selector.sh create mode 100644 facilitator/assets/exams/ckad/001/scripts/validation/q17_s3_validate_service_ports.sh create mode 100755 facilitator/assets/exams/ckad/001/scripts/validation/q20_s1_validate_job_created.sh mode change 100644 => 100755 facilitator/assets/exams/ckad/001/scripts/validation/q20_s2_validate_job_config.sh create mode 100755 facilitator/assets/exams/ckad/001/scripts/validation/q20_s3_validate_job_completed.sh create mode 100755 facilitator/assets/exams/ckad/001/scripts/validation/q4_s3_validate_pvc_access_mode.sh create mode 100755 facilitator/assets/exams/ckad/001/scripts/validation/q4_s4_validate_pvc_storageclass.sh create mode 100644 facilitator/assets/exams/ckad/001/scripts/validation/q5_s2_validate_container_image.sh delete mode 100644 facilitator/assets/exams/ckad/001/scripts/validation/q8_s3_validate_cpu_usage.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q12_s1_validate_dockerfile.sh delete mode 100755 facilitator/assets/exams/ckad/002/scripts/validation/q12_s1_validate_namespace.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q12_s2_validate_html.sh delete mode 100755 facilitator/assets/exams/ckad/002/scripts/validation/q12_s2_validate_statefulset.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q12_s3_validate_image.sh delete mode 100755 facilitator/assets/exams/ckad/002/scripts/validation/q12_s3_validate_service.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q12_s4_validate_container.sh delete mode 100755 facilitator/assets/exams/ckad/002/scripts/validation/q12_s4_validate_volume_claim.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q15_s2_validate_chart_install.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q15_s2_validate_values.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q15_s3_validate_chart.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q15_s3_validate_release_notes.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q18_s2_validate_crd.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q18_s3_validate_cr_name.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q18_s4_validate_cr_image.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q18_s5_validate_cr_replicas.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q19_s2_validate_basic_output.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q19_s3_validate_advanced_output.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q20_s2_validate_configmap.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q20_s3_validate_secret.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q20_s4_validate_env_vars.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q20_s5_validate_configmap_mount.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q9_s2_validate_deployment_replicas.sh create mode 100644 facilitator/assets/exams/ckad/002/scripts/validation/q9_s4_validate_pods_image.sh create mode 100755 facilitator/assets/exams/cks/001/scripts/validation/q10_s1_validate_pod.sh delete mode 100644 facilitator/assets/exams/cks/001/scripts/validation/q10_s1_validate_service_account.sh create mode 100755 facilitator/assets/exams/cks/001/scripts/validation/q10_s2_validate_configmap.sh delete mode 100644 facilitator/assets/exams/cks/001/scripts/validation/q10_s2_validate_pod_access.sh delete mode 100644 facilitator/assets/exams/cks/001/scripts/validation/q10_s3_validate_rbac_rules.sh create mode 100755 facilitator/assets/exams/cks/001/scripts/validation/q10_s3_validate_syscalls.sh create mode 100755 facilitator/assets/exams/cks/001/scripts/validation/q6_s3_validate_rolebinding.sh create mode 100755 facilitator/assets/exams/cks/001/scripts/validation/q8_s1_validate_policy_exists.sh delete mode 100644 facilitator/assets/exams/cks/001/scripts/validation/q8_s1_validate_sec_profile_exists.sh delete mode 100644 facilitator/assets/exams/cks/001/scripts/validation/q8_s2_validate_default_deny.sh create mode 100755 facilitator/assets/exams/cks/001/scripts/validation/q8_s2_validate_policy_selectors.sh create mode 100755 facilitator/assets/exams/cks/001/scripts/validation/q8_s3_validate_admin_access.sh mode change 100644 => 100755 facilitator/assets/exams/cks/001/scripts/validation/q8_s3_validate_allowed_syscalls.sh delete mode 100644 facilitator/assets/exams/cks/001/scripts/validation/q8_s4_validate_pod_seccomp.sh create mode 100755 facilitator/assets/exams/cks/001/scripts/validation/q8_s4_validate_restricted_access.sh mode change 100644 => 100755 facilitator/assets/exams/cks/001/scripts/validation/q9_s1_validate_enc_secret.sh create mode 100755 facilitator/assets/exams/cks/001/scripts/validation/q9_s1_validate_pod_exists.sh create mode 100755 facilitator/assets/exams/cks/001/scripts/validation/q9_s2_validate_capabilities.sh mode change 100644 => 100755 facilitator/assets/exams/cks/001/scripts/validation/q9_s2_validate_config_file.sh create mode 100755 facilitator/assets/exams/cks/001/scripts/validation/q9_s3_validate_readonly_fs.sh create mode 100755 facilitator/assets/exams/cks/001/scripts/validation/q9_s4_validate_user_group.sh create mode 100644 facilitator/assets/exams/other/001/answers.md create mode 100644 facilitator/assets/exams/other/001/assessment.json create mode 100644 facilitator/assets/exams/other/001/config.json create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q10_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q11_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q12_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q13_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q14_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q15_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q16_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q1_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q2_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q3_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q4_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q5_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q6_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q7_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q8_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/setup/q9_setup.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q10_s1_validate_running.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q10_s2_validate_cpu.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q10_s3_validate_memory.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q11_s1_validate_compose_file.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q11_s2_validate_services.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q11_s3_validate_network_volume.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q12_s1_validate_file.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q12_s2_validate_base_image.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q12_s3_validate_details.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q13_s1_validate_diagnosis.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q13_s2_validate_container_fixed.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q14_s1_validate_dockerfile.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q14_s2_validate_container_user.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q1_s1_validate_image_v1.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q1_s2_validate_image_latest.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q2_s1_validate_container_running.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q2_s2_validate_image.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q2_s3_validate_port.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q2_s4_validate_env.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q3_s1_validate_volume.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q3_s2_validate_container_mount.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q3_s3_validate_file_content.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q4_s1_validate_dockerfile.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q4_s2_validate_image_built.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q4_s3_validate_image_size.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q5_s1_validate_daemon_config.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q5_s2_validate_cgroup_driver.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q6_s1_validate_container.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q6_s2_validate_log_driver.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q6_s3_validate_log_rotation.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q7_s1_validate_network.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q7_s2_validate_app1.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q7_s3_validate_ping.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q8_s1_validate_dockerfile.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q8_s2_validate_container.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q8_s3_validate_health_params.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q9_s1_validate_manifest.sh create mode 100644 facilitator/assets/exams/other/001/scripts/validation/q9_s2_validate_platforms.sh create mode 100644 facilitator/assets/exams/other/002/answers.md create mode 100644 facilitator/assets/exams/other/002/assessment.json create mode 100644 facilitator/assets/exams/other/002/config.json create mode 100644 facilitator/assets/exams/other/002/scripts/setup/create_directories.sh create mode 100644 facilitator/assets/exams/other/002/scripts/setup/q12_setup_buggy_release.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q10_s1_validate_chart_packaged.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q10_s2_validate_local_repo.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q11_s1_validate_rollback.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q11_s2_validate_revision.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q12_s1_validate_diagnosis.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q12_s2_validate_fixed.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q1_s1_validate_helm_installed.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q2_s1_validate_repo_added.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q3_s1_validate_search_results.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q4_s1_validate_nginx_installed.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q4_s2_validate_service_config.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q5_s1_validate_releases_list.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q6_s1_validate_status.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q6_s2_validate_manifests.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q7_s1_validate_upgrade.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q7_s2_validate_replicas.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q8_s1_validate_values_file.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q8_s2_validate_redis_install.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q9_s1_validate_chart_created.sh create mode 100644 facilitator/assets/exams/other/002/scripts/validation/q9_s2_validate_chart_metadata.sh diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3e25ef0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index ca8df7a..75c83c8 100644 --- a/README.md +++ b/README.md @@ -10,16 +10,26 @@ A powerful Kubernetes certification practice environment that provides a realist - **Docker-based deployment** for easy setup and consistent environment - **Timed exam mode** with real exam-like conditions and countdown timer + +## Demo Video + +Watch our live demo video showcasing the CK-X Simulator in action: + +[![CK-X Simulator Demo](https://img.youtube.com/vi/EQVGhF8x7R4/0.jpg)](https://www.youtube.com/watch?v=EQVGhF8x7R4&ab_channel=NishanB) + +Click the image above or [this link](https://www.youtube.com/watch?v=EQVGhF8x7R4&ab_channel=NishanB) to see the full demo. + + ## Installation -#### Linux & macOS +#### Linux & macOS (tested on m1) ```bash -bash <(curl -fsSL https://raw.githubusercontent.com/nishanb/ck-x/main/scripts/install.sh) +bash <(curl -fsSL https://raw.githubusercontent.com/nishanb/ck-x/master/scripts/install.sh) ``` -#### Windows +#### Windows ( Currently not supported. Windows installation is unstable and may break during setup. ) ```powershell -irm https://raw.githubusercontent.com/nishanb/ck-x/main/scripts/install.ps1 | iex +irm https://raw.githubusercontent.com/nishanb/ck-x/master/scripts/install.ps1 | iex ``` ### Manual Installation @@ -48,7 +58,7 @@ If you find CK-X Simulator helpful, consider [buying me a coffee](https://buymea ## Disclaimer -CK-X is an independent tool, not affiliated with CNCF, Linux Foundation, or PSI. We do not guarantee exam success. Please read our [Privacy Policy](PRIVACY_POLICY.md) and [Terms of Service](TERMS_OF_SERVICE.md) for more details about data collection, usage, and limitations. +CK-X is an independent tool, not affiliated with CNCF, Linux Foundation, or PSI. We do not guarantee exam success. Please read our [Privacy Policy](docs/PRIVACY_POLICY.md) and [Terms of Service](docs/TERMS_OF_SERVICE.md) for more details about data collection, usage, and limitations. ## Acknowledgments diff --git a/app/public/index.html b/app/public/index.html index f5e9eef..a59bd13 100644 --- a/app/public/index.html +++ b/app/public/index.html @@ -41,7 +41,7 @@