{"id":15637743,"url":"https://github.com/megapixel99/nodejs-k8s","last_synced_at":"2025-04-10T05:54:29.293Z","repository":{"id":238209465,"uuid":"796101020","full_name":"Megapixel99/nodejs-k8s","owner":"Megapixel99","description":"Attempt to recreate the core functionality of v1.29.1 Kubernetes in NodeJS, whle being fully compatible with the kubectl CLI","archived":false,"fork":false,"pushed_at":"2024-06-03T03:45:22.000Z","size":1119,"stargazers_count":127,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T07:11:22.141Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/Megapixel99.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2024-05-04T23:49:18.000Z","updated_at":"2025-02-09T14:56:48.000Z","dependencies_parsed_at":"2024-06-03T05:07:40.186Z","dependency_job_id":"d4284772-65b4-4d38-ae16-e9242424eb17","html_url":"https://github.com/Megapixel99/nodejs-k8s","commit_stats":null,"previous_names":["megapixel99/nodejs-k8s"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Megapixel99%2Fnodejs-k8s","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Megapixel99%2Fnodejs-k8s/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Megapixel99%2Fnodejs-k8s/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Megapixel99%2Fnodejs-k8s/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Megapixel99","download_url":"https://codeload.github.com/Megapixel99/nodejs-k8s/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248166927,"owners_count":21058480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-03T11:12:43.849Z","updated_at":"2025-04-10T05:54:29.270Z","avatar_url":"https://github.com/Megapixel99.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kubernetes in NodeJS\n\nThis project was/is an attempt to recreate the core functionality of [v1.29.1 Kubernetes](https://v1-29.docs.kubernetes.io/) in NodeJS, while being fully compatible with the [`kubectl` CLI](https://kubernetes.io/docs/reference/kubectl/). Though this project only implements some resources, the resources which were partially/fully implemented seem to be the most used (i.e. Pods, Services, etc) and the others may be implemented in the future.\n\n### Resources Partially Implemented\n* Pod (volume mounts are not supported)\n* ClusterRole\n* ClusterRoleBinding\n* Ingress\n* Role\n* RoleBinding\n* Endpoints (untested)\n* CertificateSigningRequest\n\n### Resources Fully Implemented\n* ConfigMap\n* Secret\n* Deployment\n* Namespace\n* Service\n\n## Requirements\n* [NodeJS v20](https://nodejs.org/dist/v20.0.0/) or higher\n* [Docker Engine v25.0.3](https://docs.docker.com/engine/install/) or higher\n\n###### It is also recommended you install [kubectl](https://kubernetes.io/docs/tasks/tools/), though it is not required\n\n## How to use\n1. Install NodeJS and Docker\n2. Install the project dependencies by running `npm i`\n3. If you have your own MongDB instance, create a `.env` file and set `DB_URL` to your `MongoDB` instance. If you do not have a `MongoDB` instance, a `MongoDB` instance will be spun up with Docker for you when you run the project (in the next step).\n4. Run `npm start` (you may need to allow the start script to run by modifying the permissions of `start.sh` (with `chmod`)\n5. Set your `kubectl` to use this project by running `kubectl config use-context /localhost:8080/admin` in your shell\n6. Create Kubernetes resources with `kubectl`\n\nUpon running the project you can use the examples in `examples/helloworld` or your own YAML to create resources.\n\nFeel free to open an issue and/or make a PR if something is broken.\n\nLicensed under the MIT License, full license is available in `LICENSE.md`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmegapixel99%2Fnodejs-k8s","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmegapixel99%2Fnodejs-k8s","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmegapixel99%2Fnodejs-k8s/lists"}