{"id":51094687,"url":"https://github.com/bootc-dev/bink","last_synced_at":"2026-06-24T05:03:00.697Z","repository":{"id":359107429,"uuid":"1244284329","full_name":"bootc-dev/bink","owner":"bootc-dev","description":"Bootc in Kubernetes, tool for creating bootc kuberntes clusters","archived":false,"fork":false,"pushed_at":"2026-06-23T07:21:34.000Z","size":7536,"stargazers_count":12,"open_issues_count":12,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-06-23T08:24:58.753Z","etag":null,"topics":["bootc","kubernetes"],"latest_commit_sha":null,"homepage":"","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/bootc-dev.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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-20T06:05:26.000Z","updated_at":"2026-06-23T07:21:39.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bootc-dev/bink","commit_stats":null,"previous_names":["alicefr/bink"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/bootc-dev/bink","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bootc-dev%2Fbink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bootc-dev%2Fbink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bootc-dev%2Fbink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bootc-dev%2Fbink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bootc-dev","download_url":"https://codeload.github.com/bootc-dev/bink/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bootc-dev%2Fbink/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34717769,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["bootc","kubernetes"],"created_at":"2026-06-24T05:03:00.034Z","updated_at":"2026-06-24T05:03:00.690Z","avatar_url":"https://github.com/bootc-dev.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bink\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fbootc-dev%2Fbink.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fbootc-dev%2Fbink?ref=badge_shield)\n\n\nA CLI tool for creating Kubernetes dev clusters from bootc images.\n\nIts primary audience is K8s developers who want a \"real enough\" Kubernetes\ncluster running on real bootc hosts for hacking and CI. It's easy to use, fast,\nand runs unprivileged. It includes a local OCI registry for sharing images with\nthe cluster, networking for seamless cross-node communications, and HAProxy for\nthe API server.\n\n## Prerequisites\n\nBink uses the Podman client API. Make sure you have a Podman socket (e.g.\n`systemctl --user start podman.socket`) or remote connection available (via\n`CONTAINER_HOST`).\n\n## Installation\n\n```bash\ngo install ./cmd/bink\n```\n\n(We're working on making bink run as a container as well!)\n\n## Running via Container\n\nInstead of building the binary locally, you can run bink directly from a container image:\n\n```bash\n# Start a cluster (mount host Podman socket)\npodman run --rm -ti --network=host --security-opt label=disable \\\n  -v $XDG_RUNTIME_DIR/podman/podman.sock:/run/podman/podman.sock \\\n  -e CONTAINER_HOST=unix:///run/podman/podman.sock \\\n  -v $(pwd):/output \\\n  ghcr.io/bootc-dev/bink/bink:latest \\\n  cluster start\n\n# Expose the API (kubeconfig is written to the mounted directory)\npodman run --rm -ti --network=host --security-opt label=disable \\\n  -v $XDG_RUNTIME_DIR/podman/podman.sock:/run/podman/podman.sock \\\n  -e CONTAINER_HOST=unix:///run/podman/podman.sock \\\n  -v $(pwd):/output \\\n  ghcr.io/bootc-dev/bink/bink:latest \\\n  api expose\n```\n\nFor convenience, create a shell alias:\n```bash\nalias bink='podman run --rm -ti --network=host --security-opt label=disable \\\n  -v $XDG_RUNTIME_DIR/podman/podman.sock:/run/podman/podman.sock \\\n  -e CONTAINER_HOST=unix:///run/podman/podman.sock \\\n  -v $(pwd):/output \\\n  ghcr.io/bootc-dev/bink/bink:latest'\n```\n\nThen use it like the native binary: `bink cluster start`, `bink api expose`, etc.\n\n### Nested containerization (no socket mount)\n\nIf you don't want to mount the host podman socket, bink can run podman inside the container. The container starts a podman service and all bink commands are run via `podman exec`:\n\n```bash\n# Start the bink container (runs podman service in the background)\npodman run -d --name bink --privileged \\\n  --device /dev/kvm \\\n  -v bink-storage:/var/lib/containers \\\n  -v $(pwd):/output \\\n  ghcr.io/bootc-dev/bink/bink:latest\n\n# Wait for podman service to be ready inside the container\nuntil podman exec bink podman info \u0026\u003e/dev/null; do sleep 0.5; done\n\n# Run bink commands\npodman exec bink bink cluster start\npodman exec bink bink api expose\npodman exec bink bink cluster list\n\n# Use kubectl from inside the bink container\npodman exec bink kubectl --kubeconfig /output/kubeconfig-podman get nodes\n\n# Stop and remove when done\npodman exec bink bink cluster stop --remove-data\npodman rm -f bink\n```\n\nThe `bink-storage` volume persists container images across runs so they don't need to be re-downloaded each time.\n\n**Note:** In nested mode the cluster and its API ports live inside the bink container. Use `kubectl` from inside the container, or use the socket-mount mode for host-level access.\n\n## Create a Cluster\n\n```bash\n# Create cluster with control plane\nbink cluster start\n\n# Access the cluster\nbink api expose\nexport KUBECONFIG=$PWD/kubeconfig-podman\nkubectl get pods -A\n\n# Add worker nodes (optional)\nbink node add node2\nbink node add node3\nkubectl get nodes\n```\n\n## List Clusters\n\n```bash\n# List all running clusters\nbink cluster list\n```\n\n## Delete a Cluster\n\n```bash\n# Stop and remove all nodes\nbink cluster stop\n\n# Stop and also remove persistent data (SSH keys, kubeconfig)\nbink cluster stop --remove-data\n```\n\n\n## License\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fbootc-dev%2Fbink.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fbootc-dev%2Fbink?ref=badge_large)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbootc-dev%2Fbink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbootc-dev%2Fbink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbootc-dev%2Fbink/lists"}