{"id":26458429,"url":"https://github.com/cloudfoundry-incubator/haproxy-boshrelease","last_synced_at":"2025-03-19T00:01:50.640Z","repository":{"id":32931423,"uuid":"36527291","full_name":"cloudfoundry/haproxy-boshrelease","owner":"cloudfoundry","description":"A BOSH release for haproxy (based on cf-release's haproxy job)","archived":false,"fork":false,"pushed_at":"2024-10-29T09:35:15.000Z","size":4693,"stargazers_count":37,"open_issues_count":8,"forks_count":81,"subscribers_count":45,"default_branch":"master","last_synced_at":"2024-10-29T11:44:02.451Z","etag":null,"topics":["cff-wg-app-runtime-platform"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/cloudfoundry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-05-29T20:24:18.000Z","updated_at":"2024-10-29T07:29:14.000Z","dependencies_parsed_at":"2023-10-20T10:04:10.625Z","dependency_job_id":"8db6d557-70fd-4207-8e7f-e2f1396184d9","html_url":"https://github.com/cloudfoundry/haproxy-boshrelease","commit_stats":null,"previous_names":["cloudfoundry-incubator/haproxy-boshrelease"],"tags_count":115,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Fhaproxy-boshrelease","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Fhaproxy-boshrelease/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Fhaproxy-boshrelease/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Fhaproxy-boshrelease/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudfoundry","download_url":"https://codeload.github.com/cloudfoundry/haproxy-boshrelease/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244326199,"owners_count":20435122,"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":["cff-wg-app-runtime-platform"],"created_at":"2025-03-19T00:01:41.085Z","updated_at":"2025-03-19T00:01:50.616Z","avatar_url":"https://github.com/cloudfoundry.png","language":"Ruby","funding_links":[],"categories":["\u003ca id=\"d03d494700077f6a65092985c06bf8e8\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"d3069cac6097830d12f5933c9c8b7a77\"\u003e\u003c/a\u003eHAProxy"],"readme":"BOSH Release for haproxy\n===========================\n\nQuestions? Pop in our [slack channel](https://cloudfoundry.slack.com/messages/haproxy-boshrelease/)!\n\nThis BOSH release is an attempt to get a more customizable/secure haproxy release than what\nis provided in [cf-release](https://github.com/cloudfoundry/cf-release). It allows users to\nblacklist internal-only domains, preventing potential Host header spoofing from allowing\nunauthorized access of internal APIs. It also allows for better control over haproxy's\ntimeouts, for greater resiliency under heavy load.\n\nUsage\n-----\n\nTo deploy this BOSH release:\n\n```\ngit clone https://github.com/cloudfoundry-community/haproxy-boshrelease.git\ncd haproxy-boshrelease\n\nexport BOSH_ENVIRONMENT=\u003calias\u003e\nexport BOSH_DEPLOYMENT=haproxy\nbosh2 deploy manifests/haproxy.yml \\\n  -v haproxy-backend-port=80 \\\n  -v \"haproxy-backend-servers=[10.10.10.10,10.10.10.11]\"\n```\n\nTo make alterations to the deployment you can use the `bosh2 deploy [-o operator-file.yml]` flag to provide [operations files](https://bosh.io/docs/cli-ops-files.html).\n\nAlternately you can build a manifest using `templates/make_manifest`\n\nYou can either use the templates + examples provided to merge this in with an existing CloudFoundry\ndeployment, or create a new deployment using this command:\n\n```\nmake_manifest \u003caws-ec2|warden\u003e \u003ccomma-separated-list-of-router-servers\u003e \u003cadditional_templates\u003e\n```\n\n**NOTE**: `make_manifest` requires [spruce v1.8.9](https://github.com/geofffranks/spruce) or newer.\n\n```\n# Example for bare bones bosh-lite haproxy release on warden\ntemplates/make_manifest warden 10.244.0.22\nbosh deploy\n\n# Example for using keepalive with haproxy on warden:\nKEEPALIVED_VIP=10.244.50.2 templates/make_manifest warden 10.244.0.22\n```\n\n## Development\n\nFeel free to contribute back to this via a pull request on a feature branch! Once merged, we'll\ncut a new final release for you.\n\n### Unit Tests and Linting\n\n#### PR Validation\nPRs will be automatically tested by https://concourse.cfi.sapcloud.io/teams/main/pipelines/haproxy-boshrelease once a maintainer has labelled the PR with the `run-ci` label\n\n#### Local Test Execution\nUnit/rspec Tests and linters can be run locally to verify correct functionality before pushing to the CI system.\nIf you change any erb logic in the jobs directory please add a corresponding test to `spec`.\n\n```bash\n# install the necessary dependencies, once\nbundle package\n```\n\n```bash\n# run the rspec / unit tests for the configuration generation\ncd haproxy_boshrelease\nbundle install\nbundle exec rake spec\n```\n\n```bash\n# run the linter (rubocop) to identify any issues\ncd haproxy_boshrelease\nbundle install\nbundle exec rake lint\n```\n\n```bash\n# watch the tests while developing\ncd haproxy_boshrelease\nbundle install\nbundle exec guard\n```\n\n#### Test Debugging\nUnit/rspec Tests can also be debugged/stepped through when needed. See for example the [VSCode rdbg Ruby Debugger](https://marketplace.visualstudio.com/items?itemName=KoichiSasada.vscode-rdbg) extension. You can follow the \"Launch without configuration\" instructions for the extension, just set the \"Debug command line\" input to `bundle exec rspec \u003cfilepath\u003e`.\n\n### Acceptance tests\n\nSee [acceptance-tests README](/acceptance-tests/README.md).\n\n### Certificate reloads during runtime\n\nSee [external_certs README](/docs/external_certs.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudfoundry-incubator%2Fhaproxy-boshrelease","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudfoundry-incubator%2Fhaproxy-boshrelease","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudfoundry-incubator%2Fhaproxy-boshrelease/lists"}