{"id":32117701,"url":"https://github.com/livecycle/deploykit","last_synced_at":"2026-02-19T07:01:05.516Z","repository":{"id":62421554,"uuid":"269149723","full_name":"livecycle/deploykit","owner":"livecycle","description":"A Deno toolkit for generating deployment configuration files based on Typescript","archived":false,"fork":false,"pushed_at":"2022-01-05T10:04:43.000Z","size":860,"stargazers_count":11,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-20T16:57:30.032Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/livecycle.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}},"created_at":"2020-06-03T17:18:13.000Z","updated_at":"2023-01-23T15:34:05.000Z","dependencies_parsed_at":"2022-11-01T17:32:05.144Z","dependency_job_id":null,"html_url":"https://github.com/livecycle/deploykit","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/livecycle/deploykit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/livecycle%2Fdeploykit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/livecycle%2Fdeploykit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/livecycle%2Fdeploykit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/livecycle%2Fdeploykit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/livecycle","download_url":"https://codeload.github.com/livecycle/deploykit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/livecycle%2Fdeploykit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29605796,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T06:47:36.664Z","status":"ssl_error","status_checked_at":"2026-02-19T06:45:47.551Z","response_time":117,"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":[],"created_at":"2025-10-20T16:56:59.108Z","updated_at":"2026-02-19T07:01:05.509Z","avatar_url":"https://github.com/livecycle.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deploykit\n\nA Deno based toolkit for generating deployment configuration files using\ntypescript with focus on k8s resources.\\\nInspired by Pulumi, JKCfg, ts-kubernetes-models, CDK, Helm and others...\n\n** This project is in very early and experimental stage\n\n## Quick example\n\n#### deploy.ts (./examples/deploy.ts)\n\n```typescript\nimport { createMicroservice } from \"https://deno.land/x/deploykit@0.0.24/blueprint/k8s/app.ts\";\nimport {\n  addDeployment,\n  addService,\n  expose,\n} from \"https://deno.land/x/deploykit@0.0.24/blueprint/k8s/operators/all.ts\";\n\ncreateMicroservice().with(\n  addDeployment({ image: \"my-image\" }),\n  addService({ port: 80 }),\n  expose({ domain: \"my-app.com\" }),\n).dump(\n  { name: \"my-app\", namespace: \"my-namespace\", labels: { app: \"my-app\" } },\n);\n```\n\nRun\n`deno run https://raw.githubusercontent.com/Yshayy/deploykit/master/examples/deploy.ts`\n\n\u003cdetails\u003e\u003csummary\u003eOutput\u003c/summary\u003e\n\n```yaml\napiVersion: extensions/v1beta1\nkind: Ingress\nspec:\n  rules:\n    - host: my-app.com\n      http:\n        paths:\n          - backend:\n              serviceName: my-app\n              servicePort: 80\nmetadata:\n  name: my-app\n  namespace: my-namespace\n  labels:\n    app: my-app\n---\napiVersion: v1\nkind: Service\nspec:\n  ports:\n    - port: 80\n      targetPort: 80\nmetadata:\n  name: my-app\n  namespace: my-namespace\n  labels:\n    app: my-app\n---\napiVersion: apps/v1\nkind: Deployment\nspec:\n  selector:\n    matchLabels:\n      app: my-app\n  template:\n    metadata:\n      labels:\n        app: my-app\n    spec:\n      containers:\n        - name: app\n          image: my-image\nmetadata:\n  name: my-app\n  namespace: my-namespace\n  labels:\n    app: my-app\n```\n\n\u003c/details\u003e\n\nUsage with kubectl:\\\n`deno run ./deploy.ts | kubectl apply -f -`\n\n## Why Deno?\n\nDeno brings back some of the script-y aspects of JS and the web, but with the\nsafety of Typescript. It has several advantages such as:\n\n- No need for typescript toolchain (tsc, prettier, etc...)\n- No need to manage dependencies or package.json or deployment project folder\n- Easy to publish, import and share code pieces (blueprint/operators/scripts)\n- Sandboxed security - scripts can output configuration files and nothing more\n\nThese capabilies allow us to easily create a single deploy.ts file that is easy\nto manage, execute, extend, integrate in CI/CD.\n\n## Why Typescript\n\nTBD\n\n## What's Inside\n\n- generated/k8s - TS definitions for all k8s native resourcesn based on k8s\n  OpenAPI defintions, some CRDs are also imported. (crds are defined\n  [here](https://github.com/Yshayy/deploykit/blob/master/generated/k8s/sources.json))\n- generators/openapi - library for generating TS files from open-api and CRD\n  files currently tailored to k8s.\n- blueprint - Library for creating, sharing and reusing high level abstractions\n  of deployments\n- blueprint/k8s - Base blueprint factory and operators for creating and\n  manipulating common k8s resources\n\n## Compared to other solutions\n\nTBD\n\n# Roadmap\n\nTBD\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flivecycle%2Fdeploykit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flivecycle%2Fdeploykit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flivecycle%2Fdeploykit/lists"}