{"id":22735948,"url":"https://github.com/pivotal-cf/cf-rabbitmq-release","last_synced_at":"2025-04-06T22:06:37.836Z","repository":{"id":24813244,"uuid":"28227515","full_name":"pivotal-cf/cf-rabbitmq-release","owner":"pivotal-cf","description":"A BOSH Release of RabbitMQ","archived":false,"fork":false,"pushed_at":"2024-11-14T21:01:59.000Z","size":17829,"stargazers_count":25,"open_issues_count":16,"forks_count":57,"subscribers_count":69,"default_branch":"release","last_synced_at":"2025-03-30T21:05:55.931Z","etag":null,"topics":["bosh","bosh-release","cloud-foundry","pcf","rabbitmq"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/pivotal-cf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"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}},"created_at":"2014-12-19T11:50:37.000Z","updated_at":"2025-03-18T21:49:02.000Z","dependencies_parsed_at":"2023-10-11T19:57:13.192Z","dependency_job_id":"b96f0dc4-3d02-4ab4-bc71-a607abdae920","html_url":"https://github.com/pivotal-cf/cf-rabbitmq-release","commit_stats":null,"previous_names":[],"tags_count":544,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pivotal-cf%2Fcf-rabbitmq-release","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pivotal-cf%2Fcf-rabbitmq-release/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pivotal-cf%2Fcf-rabbitmq-release/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pivotal-cf%2Fcf-rabbitmq-release/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pivotal-cf","download_url":"https://codeload.github.com/pivotal-cf/cf-rabbitmq-release/tar.gz/refs/heads/release","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247557767,"owners_count":20958047,"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":["bosh","bosh-release","cloud-foundry","pcf","rabbitmq"],"created_at":"2024-12-10T21:16:14.051Z","updated_at":"2025-04-06T22:06:37.815Z","avatar_url":"https://github.com/pivotal-cf.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cloud Foundry RabbitMQ Service\n\nThis repository contains the release for RabbitMQ for Cloud Foundry.\nIt is deployable by BOSH in the [usual way](https://bosh.io/docs/deploying.html).\n\nThis release is now using BOSH v2 [job links](https://bosh.io/docs/links.html) and [cloud config](https://bosh.io/docs/cloud-config.html) and requires at least BOSH Director v255.5\n\n## Contributing\n\nEven though the default branch is `release`, you should push changes to `main`. [The `release` branch is the default so that bosh.io can find our releases](https://github.com/bosh-io/releases#how-does-boshio-find-my-release).\n\n## Status\n\nJob | Status\n--- | ---\nunit tests | [![hush-house.pivotal.io](https://hush-house.pivotal.io/api/v1/teams/pcf-rabbitmq/pipelines/cf-rabbitmq-release/jobs/unit-tests/badge)](https://hush-house.pivotal.io/teams/pcf-rabbitmq/pipelines/cf-rabbitmq-release/jobs/unit-tests)\nintegration tests | [![hush-house.pivotal.io](https://hush-house.pivotal.io/api/v1/teams/pcf-rabbitmq/pipelines/cf-rabbitmq-release/jobs/integration-test/badge)](https://hush-house.pivotal.io/teams/pcf-rabbitmq/pipelines/cf-rabbitmq-release/jobs/integration-test)\n\n## Dependencies\n\n- [bundler](http://bundler.io/)\n- [BOSH CLI v2](https://bosh.io/docs/cli-v2.html#install)\n- [BOSH Lite](https://bosh.io/docs/bosh-lite)\n\n\n## Install (locally)\n\nClone the repository and install dependencies.\n```bash\n$ bundle install\n```\n\n## Deploying\n\nOnce you have a [BOSH Lite up and running locally](https://bosh.io/docs/bosh-lite), run `scripts/deploy-to-bosh-lite`.\n\nTo deploy the release into BOSH you will need a deployment manifest. You can generate a deployment manifest using the following command:\n```sh\nbosh interpolate \\\n  --vars-file=manifests/lite-vars-file.yml \\\n  manifests/cf-rabbitmq-template.yml\n```\n\nAlternatively, you can use the `scripts/generate-manifest` in order to generate a vanilla manifest for BOSH lite.\n\nCurrently, the release has only been tested to run on manual networks (https://bosh.io/docs/networks/).\n\n## Testing\n\nRun `bundle exec rake --tasks` to list all the test subsets.\n\n### Unit Tests\n\nTo run only unit tests locally, run: `scripts/unit-test`.\n\n### Integration Tests\nIntegration tests require this release to be deployed into a BOSH director (see [Deploying section above](#deploying)).\n\nTo run integration tests do `scripts/integration-test`.\n\n### Embedded Release Tests\n\nSometimes testing BOSH releases can lead to writing many tests at the top of\nthe test pyramid, which can increase the feedback loop. Also when tests fail\ndebugging can be hard given there are many components working together.\n\nEmbedded release tests are jobs that we deploy in a co-located way so that we\ncan execute tests within a given deployment, inside a VM. The goal is to pull\ntests down the test pyramid trying to shorten the feedback loop and bring the\ntests closer to the code.\n\nTo execute embedded release tests you need to co-locate the tests within the\nrelease being tested and deploy. The deployment should fail if the tests fail.\nThe tests we use can be found in the [test release repo](https://github.com/pivotal-cf/cf-rabbitmq-test-release).\n\n### Bonus\nBack in time [Multitenant Broker Release](https://github.com/pivotal-cf/cf-rabbitmq-multitenant-broker-release/) used to live in the same Github repository as [cf-rabbitmq-release](https://github.com/pivotal-cf/cf-rabbitmq-release), but not anymore. We have split both releases into two different repositories. They do different things and have different lifecyle, which explains our decision to do that.\n\nA collection of ops-files and vars-files, features from [Bosh 2 CLI](https://bosh.io/docs/cli-int/), can be used to generate manifests. You’ll find a folder called `manifests` in both repositories with a manifest template, some ops-files and example of vars-files. It's not required to have two different deployments for `cf-rabbitmq-release` and `cf-rabbitmq-multitenant-broker-release`. In case you want to colocate both jobs you can leverage [this ops-file](https://github.com/pivotal-cf/cf-rabbitmq-multitenant-broker-release/blob/master/manifests/add-cf-rabbitmq.yml) to colocate them in the same deployment.\n\n[More information about bosh interpolate](https://bosh.io/docs/cli-int/).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpivotal-cf%2Fcf-rabbitmq-release","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpivotal-cf%2Fcf-rabbitmq-release","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpivotal-cf%2Fcf-rabbitmq-release/lists"}