{"id":38079495,"url":"https://github.com/cbsd/reggae","last_synced_at":"2026-01-16T20:47:25.507Z","repository":{"id":23916959,"uuid":"100108774","full_name":"cbsd/reggae","owner":"cbsd","description":"Reggae - DevOps tool for CBSD","archived":false,"fork":false,"pushed_at":"2026-01-02T20:52:27.000Z","size":686,"stargazers_count":50,"open_issues_count":2,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-01-09T06:03:30.556Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cbsd.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":"2017-08-12T11:43:06.000Z","updated_at":"2026-01-02T20:52:30.000Z","dependencies_parsed_at":"2023-11-22T23:32:15.342Z","dependency_job_id":"d7071222-20db-4241-9cfa-e583d67f6178","html_url":"https://github.com/cbsd/reggae","commit_stats":null,"previous_names":[],"tags_count":57,"template":false,"template_full_name":null,"purl":"pkg:github/cbsd/reggae","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbsd%2Freggae","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbsd%2Freggae/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbsd%2Freggae/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbsd%2Freggae/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cbsd","download_url":"https://codeload.github.com/cbsd/reggae/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbsd%2Freggae/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28482310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: 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":[],"created_at":"2026-01-16T20:47:24.916Z","updated_at":"2026-01-16T20:47:25.497Z","avatar_url":"https://github.com/cbsd.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Reggae\n*REGister Globaly Access Everywhere* is a package which helps in common DevOps\ntasks relying on CBSD for management of jails and virtual machines on FreeBSD.\nIf you have ever used Vagrant or Docker Compose, Reggae is best described as an\nalternative to those. It enables you easy development inside jail while code\nediting is done on the host. It makes transition from development to production\neasier by using provisioners. It makes host clean of all requirements of\ndevelopment environment and puts them inside jail which is easily stopped,\nstarted, provisioned, and destroyed. Using only `make`, `mdo` and `sh` on the\nsystem and `cbsd` from packages, makes it really small and easy to extend.\n\n## Installation\n\nTo install Reggae run the following as root:\n```\npkg install reggae\nreggae host-init\n# service pflog restart\n# service pf restart\n# service sshd restart\nreggae backend-init\nreggae network-init\n```\n\nThrough config file in `/usr/local/etc/reggae.conf` you can change values for\nanything Reggae is using. If you want to use CBSD for jail management instead\nof base, you should set `BACKEND=cbsd` in `reggaer.conf`. Ater\n`reggae network-init`, you'll get jail with DHCP and DNS which is used to lease\nIPs to jails and virtual machines and to register all resources in DNS so that\nyou can use FQDN instead of IP addresses. The DNS jail IP is used in\n/etc/resolvconf.conf, so that changes of network parameters are passed to the\nappropriate jail. Also, host will use DNS jail IP in /etc/resolv.conf. In\nshort, it enables you to not remember jail IPs when you have to use them, but\nuse `\u003cjail name\u003e.\u003cdomain\u003e` to reference them, in which case \u003cdomain\u003e comes from\n/usr/local/etc/reggae.conf.\n\nOr you can just\n**[see it all in action](https://www.youtube.com/watch?v=6GPKO6Gp7b0\u0026list=PLtcibmaW4u3tJj8m1bKH8TbmYWxayX5VC)**,\nfirst!\n\n## Getting started\n\n### Service\n\nFirst, create empty directory for your jail/service and initialize it.\n```\nmkdir myservice\ncd myservice\nreggae init\n```\nIt will create the simplest Reggae config. When you run `make`, you'll get jail\nnamed `myservice`. If you want to name it differently, change\n`SERVICE = myservice` line in `Makefile`.\n\nRunning `make` will invoke `make up` and if it is the first time you run it,\n`make provision` will also be executed.\n\nSupported make targets for the service type are:\n* destroy\n* devel\n* exec\n* export\n* login\n* provision\n* setup\n* up\n\nSpecial note for the `devel` target: your repo must have `bin/devel.sh` which\nbe ran inside jail. Also, devel will only work if you have `DEVEL_MODE=YES` in\nyour vars.mk in service root. If you use it inside a project, project's\n`DEVEL_MODE` will be propagated.\n\nService can be provisioned with the supported provisioners to speed up jail\nsetup.\n\n### Project\n\nCreate empty directory and initialize it.\n```\nmkdir myproject\ncd myproject\nreggae project-init\n```\n\nOne project can contain many services, and that's going to be shown in the\ngenerated `Makefile`. The `SERVICES` variable in it will be commented but\npopulated with example services. All services when downloaded will be in\n`services/\u003cservice\u003e` directory.\n\nSupported make targets for the project type are:\n* destroy\n* devel\n* fetch\n* init\n* login service=\\\u003cservice\u003e\n* provision\n* setup\n* up\n\nSpecial note for the `devel` target: your repo must have `bin/devel.sh` which\nbe ran on the host. All project targets can be suffixed with `service=\u003cservice\u003e`\nbut in the above list only those which require a service are explicitely\nmentioned. If the service is passed as an argument, the target will be executed\nonly on that service/jail.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcbsd%2Freggae","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcbsd%2Freggae","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcbsd%2Freggae/lists"}