{"id":20544331,"url":"https://github.com/ratulsharker/k8-probes","last_synced_at":"2026-04-11T17:38:26.008Z","repository":{"id":209504652,"uuid":"724053184","full_name":"ratulSharker/k8-probes","owner":"ratulSharker","description":"Exploring kubernetes probes.","archived":false,"fork":false,"pushed_at":"2025-05-05T05:25:32.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-06T19:47:47.208Z","etag":null,"topics":["docker","express","kubernetes","liveliness","nodejs","probes","readiness","readiness-probe","readiness-probes","startup"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ratulSharker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-11-27T09:53:13.000Z","updated_at":"2025-05-05T05:17:13.000Z","dependencies_parsed_at":"2025-05-04T19:28:32.995Z","dependency_job_id":"c3681905-d89a-45bc-ab57-5ef8d72f6c38","html_url":"https://github.com/ratulSharker/k8-probes","commit_stats":null,"previous_names":["ratulsharker/k8-probes"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ratulSharker/k8-probes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ratulSharker%2Fk8-probes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ratulSharker%2Fk8-probes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ratulSharker%2Fk8-probes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ratulSharker%2Fk8-probes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ratulSharker","download_url":"https://codeload.github.com/ratulSharker/k8-probes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ratulSharker%2Fk8-probes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31689762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T13:07:20.380Z","status":"ssl_error","status_checked_at":"2026-04-11T13:06:47.903Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["docker","express","kubernetes","liveliness","nodejs","probes","readiness","readiness-probe","readiness-probes","startup"],"created_at":"2024-11-16T01:43:56.023Z","updated_at":"2026-04-11T17:38:26.003Z","avatar_url":"https://github.com/ratulSharker.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Dev.to blog](https://img.shields.io/badge/dev.to-0A0A0A?style=for-the-badge\u0026logo=dev.to\u0026logoColor=white)](https://dev.to/ratulsharker/my-understanding-was-wrong-about-readiness-and-liveliness-probes-1bl8) ![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white) ![Kubernetes](https://img.shields.io/badge/kubernetes-%23326ce5.svg?style=for-the-badge\u0026logo=kubernetes\u0026logoColor=white) ![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge\u0026logo=node.js\u0026logoColor=white) ![Express.js](https://img.shields.io/badge/express.js-%23404d59.svg?style=for-the-badge\u0026logo=express\u0026logoColor=%2361DAFB) [![Docker Image CI](https://github.com/ratulSharker/k8-probes/actions/workflows/docker-image-push.yml/badge.svg)](https://github.com/ratulSharker/k8-probes/actions/workflows/docker-image-push.yml)\n\n# k8-probes \n\n## Blog post:\nThis repository is better accompanied with the blog post [My understanding was wrong about readiness and liveliness probes](https://dev.to/ratulsharker/my-understanding-was-wrong-about-readiness-and-liveliness-probes-1bl8) and [killercoda.com](https://killercoda.com)\n\n## Background:\nFor better availability of services,  kubernetes offers three type of probes:\n\n- Startup Probe.\n- Readiness Probe.\n- Liveliness Probe.\n\nTo accomodate exploring these probes, requires following:\n\n- A simple rest service.\n- Containerisation of the rest service.\n- Kubernetes deployment definitions.\n\nThis repository covers all above points for exploring the kubernetes probes.\n\n## Implementation details:\n\n**Rest Service:**\n- A simple nodejs + expressjs service.\n- Exposed three routes `/liveliness`, `/readiness` \u0026 `/startup`.\n- Each of these routes logs with timestamp.\n- Each of these routes response code can be controlled via environment variables.\n\n**Containersation:**\n- Docker is used in containerisation of the rest service.\n- Used [Dockerhub](https://hub.docker.com) to store the container image.\n- `docker-compose.yaml` for local testing and image pushing into [Dockerhub](https://hub.docker.com).\n\n**Kubernetes Deployment:**\n- `playground` named namespace declared in the definition.\n- Environments variables are configured for response codes for routes.\n- Two different deployment files added, with `startup` probe and another without `startup` probe configured.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fratulsharker%2Fk8-probes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fratulsharker%2Fk8-probes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fratulsharker%2Fk8-probes/lists"}