{"id":39838621,"url":"https://github.com/acrlabs/fireconfig","last_synced_at":"2026-01-18T13:24:24.525Z","repository":{"id":184595763,"uuid":"672157968","full_name":"acrlabs/fireconfig","owner":"acrlabs","description":"Configuration language for Kubernetes manifests","archived":false,"fork":false,"pushed_at":"2025-09-10T03:30:54.000Z","size":1019,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-01-15T15:38:12.332Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/acrlabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"acrlabs"}},"created_at":"2023-07-29T05:38:58.000Z","updated_at":"2025-09-10T03:18:53.000Z","dependencies_parsed_at":"2024-01-29T22:05:41.335Z","dependency_job_id":"59001b59-7754-48d7-9b9a-f445104f05af","html_url":"https://github.com/acrlabs/fireconfig","commit_stats":null,"previous_names":["acrlabs/fireconfig"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/acrlabs/fireconfig","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acrlabs%2Ffireconfig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acrlabs%2Ffireconfig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acrlabs%2Ffireconfig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acrlabs%2Ffireconfig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/acrlabs","download_url":"https://codeload.github.com/acrlabs/fireconfig/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acrlabs%2Ffireconfig/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28536751,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T13:04:05.990Z","status":"ssl_error","status_checked_at":"2026-01-18T13:01:44.092Z","response_time":98,"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":"2026-01-18T13:24:23.785Z","updated_at":"2026-01-18T13:24:24.519Z","avatar_url":"https://github.com/acrlabs.png","language":"Python","funding_links":["https://github.com/sponsors/acrlabs"],"categories":[],"sub_categories":[],"readme":"# 🔥Config\n\n🔥Config is a (prototype of) a Python-based configuration-as-code library for generating Kubernetes manifests built on\ntop of [cdk8s](https://cdk8s.io).  It is _extremely_ alpha code, so use at your own risk!  If this seems cool, I'd\nwelcome pull requests to make it better!  There is currently no stable API, no tests, and no guarantees.  Things may\nbe horribly broken, or change significantly between versions.\n\n## Usage\n\n🔥Config is designed on the [builder pattern](https://en.wikipedia.org/wiki/Builder_pattern).  You construct a base\nKubernetes object with all the required fields, and then can configure it using chained method calls.  Here is an\nexample to construct a deployment object with a single container:\n\n```\nimport fireconfig as fire\nfrom cdk8s import App, Chart\nfrom constructs import Construct\n\nlisten_port = 8080\n\nclass Nginx(Chart):\n    def __init__(self, scope: Construct, id: str):\n        super().__init__(scope, id)\n\n        container = fire.ContainerBuilder(\n            name='nginx',\n            image='nginx:latest',\n            command='nginx',\n        ).with_ports(listen_port)\n\n        deployment = fire.DeploymentBuilder(\n            namespace=\"default\",\n            selector={\"app\": \"nginx\"},\n        ).with_service().with_containers(container).build(self)\n```\n\nThis creates a Kubernetes manifest for an nginx pod and a service listening on port 8080.\n\n## Developing\n\nIt is highly recommended that you install [pre-commit](https://pre-commit.com); this will run useful checks before you\npush anything to GitHub.  To set up the hooks in this repo, run `pre-commit install`.\n\nThis project uses [poetry](https://python-poetry.org) to manage dependencies.  You can set up for development by running\n`poetry install`, and for tests/mypy/etc, you can run `poetry shell` to enter the virtualenv.\n\nThere are currently no tests.  Maybe someday I will add some.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facrlabs%2Ffireconfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facrlabs%2Ffireconfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facrlabs%2Ffireconfig/lists"}