{"id":38733444,"url":"https://github.com/gopatchy/bkl","last_synced_at":"2026-01-17T11:28:35.837Z","repository":{"id":177746676,"uuid":"660841263","full_name":"gopatchy/bkl","owner":"gopatchy","description":"Layered Configuration Language","archived":false,"fork":false,"pushed_at":"2025-12-01T16:42:02.000Z","size":24196,"stargazers_count":10,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-04T05:55:25.709Z","etag":null,"topics":["configuration","deployment","devops","json","k8s","kubernetes","sre","toml","yaml"],"latest_commit_sha":null,"homepage":"https://bkl.gopatchy.io/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gopatchy.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-07-01T02:04:47.000Z","updated_at":"2025-12-03T19:59:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"4b8dba2d-5183-457d-a3c5-75ece610f113","html_url":"https://github.com/gopatchy/bkl","commit_stats":null,"previous_names":["gopatchy/bkl"],"tags_count":54,"template":false,"template_full_name":null,"purl":"pkg:github/gopatchy/bkl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gopatchy%2Fbkl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gopatchy%2Fbkl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gopatchy%2Fbkl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gopatchy%2Fbkl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gopatchy","download_url":"https://codeload.github.com/gopatchy/bkl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gopatchy%2Fbkl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28507591,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T10:25:30.148Z","status":"ssl_error","status_checked_at":"2026-01-17T10:25:29.718Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["configuration","deployment","devops","json","k8s","kubernetes","sre","toml","yaml"],"created_at":"2026-01-17T11:28:35.729Z","updated_at":"2026-01-17T11:28:35.809Z","avatar_url":"https://github.com/gopatchy.png","language":"Go","readme":"# [bkl](https://bkl.gopatchy.io/)\n\nbkl (short for Baklava because it has layers) is a templating configuration language without the templates. It's designed to be simple to read and write with obvious behavior.\n\nWrite your configuration in your favorite format: [JSON](https://json.org/), [YAML](https://yaml.org/), or [TOML](https://toml.io/). Layer configurations on top of each other, even from different file formats. Use filenames to define the inheritance. Have as many layers as you like. bkl merges your layers together with sane default behavior that you can override. Export your results in any supported format for human or machine consumption. Use the CLI directly or in scripts or automate with the [library](https://pkg.go.dev/github.com/gopatchy/bkl).\n\n[![Go Reference](https://bkl.gopatchy.io/go-reference.svg)](https://pkg.go.dev/github.com/gopatchy/bkl)\n[![GitHub: bkl](https://bkl.gopatchy.io/github-bkl.svg)](https://github.com/gopatchy/bkl/)\n[![Discord: bkl](https://bkl.gopatchy.io/discord-bkl.svg)](https://discord.gg/TyDAmqkz3m)\n\n## Example\n\n### service.yaml\n```yaml\naddr: 127.0.0.1\nname: myService\nport: 8080\n```\n\n### service.test.toml\n```toml\nport = 8081\n```\n\n### Run it!\n```console\n$ bkl service.test.toml\naddr = '127.0.0.1'\nname = 'myService'\nport = 8081\n```\n\nbkl knows that `service.test.toml` inherits from `service.yaml` by the filename pattern (override with `$parent`) and uses filename extensions to determine formats.\n\n## Install\n\n```console\n$ go install github.com/gopatchy/bkl/...@latest\n```\n\nVerify that `~/go/bin` is in your `$PATH`.\n\nYou can also download binaries directly [here](https://github.com/gopatchy/bkl/releases).\n\n## Links\n\n* [Language documentation including examples](https://bkl.gopatchy.io/)\n* [Golang library reference](https://pkg.go.dev/github.com/gopatchy/bkl)\n* [Support (Discord)](https://discord.gg/TyDAmqkz3m)\n* [Bug and feature request tracking (GitHub)](https://github.com/gopatchy/bkl/issues)\n* [Source code (GitHub)](https://github.com/gopatchy/bkl/)\n* [Downloads \u0026 release notes (GitHub)](https://github.com/gopatchy/bkl/releases)\n* [Container images (GitHub)](https://github.com/gopatchy/bkl/pkgs/container/bkl)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgopatchy%2Fbkl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgopatchy%2Fbkl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgopatchy%2Fbkl/lists"}