{"id":17362169,"url":"https://github.com/calebfroese/rules_bosh","last_synced_at":"2026-01-07T03:45:35.958Z","repository":{"id":100592942,"uuid":"214083141","full_name":"calebfroese/rules_bosh","owner":"calebfroese","description":"bazel rules for bosh","archived":false,"fork":false,"pushed_at":"2019-10-10T04:02:50.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-01T20:29:31.942Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/calebfroese.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}},"created_at":"2019-10-10T04:02:24.000Z","updated_at":"2019-11-20T23:13:56.000Z","dependencies_parsed_at":"2023-05-16T05:00:14.756Z","dependency_job_id":null,"html_url":"https://github.com/calebfroese/rules_bosh","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calebfroese%2Frules_bosh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calebfroese%2Frules_bosh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calebfroese%2Frules_bosh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calebfroese%2Frules_bosh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/calebfroese","download_url":"https://codeload.github.com/calebfroese/rules_bosh/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245887897,"owners_count":20688893,"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-15T19:37:14.092Z","updated_at":"2026-01-07T03:45:35.915Z","avatar_url":"https://github.com/calebfroese.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# BOSH rules for Bazel\n\n## About\n\nThese rules provide support for building BOSH releases using the [Bazel][bazel]\nbuild system. This may be useful to you if you're already using Bazel for\nbuilding your project and would like to start using BOSH for deployment.\n\nThis project is still in early stages but it can already build valid compiled\nreleases for BOSH directors.\n\n[bazel]: https://bazel.build/\n\n## Usage\n\nYou should familiarize yourself with the [components of a BOSH\nrelease][release] if you haven't already done so. The rules do not use the\nstandard toolchain to build the release but the basic components are still the\nsame.\n\n[release]: https://bosh.io/docs/create-release.html\n\nThe core API has 3 rules at the moment. Here are some examples below from the\n[BPM branch which uses Bazel][bpm-branch] to build its release. I'm still\nworking on this documentation: expect something more proper in the future.\n\n[bpm-branch]: https://github.com/cloudfoundry-incubator/bpm-release/tree/bazel\n\n``` python\nload(\"@com_github_xoebus_rules_bosh//bosh:def.bzl\", \"bosh_package\")\n\nbosh_package(\n    name = \"bpm\",\n    srcs = [\n        \"//bpm/cmd/bpm\",\n    ],\n)\n```\n\n``` python\nload(\"@com_github_xoebus_rules_bosh//bosh:def.bzl\", \"bosh_release\")\n\nbosh_release(\n    name = \"bpmrelease\",\n    jobs = [\n        \"//bosh/jobs/bpm:bpm\",\n        \"//bosh/jobs/test-server:test-server\",\n    ],\n    packages = [\n        \":bpm\",\n        \":bpm-runc\",\n        \":test-server\",\n    ],\n    stemcell_distro = \"ubuntu-trusty\",\n    stemcell_version = \"1234\",\n)\n```\n\n``` python\nload(\"@com_github_xoebus_rules_bosh//bosh:def.bzl\", \"bosh_job\")\n\nbosh_job(\n    name = \"bpm\",\n    monit = \":monit\",\n    spec = \":spec\",\n    templates = [\n        \"templates/bpm\",\n        \"templates/pre-start.erb\",\n        \"templates/setup.erb\",\n    ],\n    visibility = [\"//bosh:__pkg__\"],\n)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalebfroese%2Frules_bosh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcalebfroese%2Frules_bosh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalebfroese%2Frules_bosh/lists"}