{"id":49573773,"url":"https://github.com/antoniakras/k8s-crd-controller-webhook","last_synced_at":"2026-05-03T15:39:43.687Z","repository":{"id":311604090,"uuid":"1043334298","full_name":"antoniakras/k8s-crd-controller-webhook","owner":"antoniakras","description":"Extended Kubernetes with Custom Resource Definitions (CRDs), custom controllers, and admission webhooks for validation and automation.","archived":false,"fork":false,"pushed_at":"2025-08-25T13:01:35.000Z","size":4689,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-03T15:39:42.329Z","etag":null,"topics":["automation","cloud-native","crd","devops","kubernetes","webhook"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antoniakras.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-23T16:27:47.000Z","updated_at":"2025-08-25T13:01:39.000Z","dependencies_parsed_at":"2025-08-25T13:39:56.554Z","dependency_job_id":"fc4716ee-34f5-418a-90b9-5e07ed95f362","html_url":"https://github.com/antoniakras/k8s-crd-controller-webhook","commit_stats":null,"previous_names":["antoniakras/k8s-crd-controller-webhook"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/antoniakras/k8s-crd-controller-webhook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniakras%2Fk8s-crd-controller-webhook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniakras%2Fk8s-crd-controller-webhook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniakras%2Fk8s-crd-controller-webhook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniakras%2Fk8s-crd-controller-webhook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antoniakras","download_url":"https://codeload.github.com/antoniakras/k8s-crd-controller-webhook/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniakras%2Fk8s-crd-controller-webhook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32575114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","cloud-native","crd","devops","kubernetes","webhook"],"created_at":"2026-05-03T15:39:41.271Z","updated_at":"2026-05-03T15:39:43.640Z","avatar_url":"https://github.com/antoniakras.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project Overview\n---------------------\n\n## Project Overview\nThis project extends Kubernetes functionality by implementing:\n- **Custom Resource Definitions (CRDs)** to introduce new Kubernetes resource types.\n- **Custom Controllers** to manage lifecycle events of these resources.\n- **Admission Webhooks** for validating and mutating requests before they reach the cluster.\n\n\n## csd4140 | Antonia Krasoudaki\n\n\n### Task 1\n\n* a )\nkubectl apply -f fruit-crd.yaml\n\n* b )\nkubectl apply -f basket.yaml\n\n* c )\nkubectl get fruit apple -o yaml\n\n* d )\n  kubectl get fruits\n\n  ![1](task1/1.png)\n\n  ### Task 2\n\n* a )\n  \ndocker build -t antoniakras/greeting-controller:latest .\n\ndocker push antoniakras/greeting-controller:latest\n\nIn the Dockerfile the image python:slim-buster is being pulled. It updates downloads kubectl and installs it,\nAt the path /app it copies the appropriate files and installs the requirements.\nFinally, the controller is running.\n![1](task1/1.1.png)\n![1](task1/1.2.png)\n\n* b )\n  \nApply crd and the deployment:\n\nkubectl apply -f greeting-crd.yaml\nkubectl apply -f greeting-controler.yaml\n\nIn the deployment CLusterRole we use * in rules to make sure that\nthe right role and access is granted. ClusterRoleBinding references greeting-cluster-role \nand binds it with service account. \n\nAt the directory crd in the screenshots 1-5  it's visible that when the kubectl describe deployments command is executed, the data and messages are correct in each case. \n\n\n  ### Task 3\n\n  * a )\n\n  * b )\n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantoniakras%2Fk8s-crd-controller-webhook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantoniakras%2Fk8s-crd-controller-webhook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantoniakras%2Fk8s-crd-controller-webhook/lists"}