- Notifications
You must be signed in to change notification settings - Fork12
Reggae - DevOps tool for CBSD
License
cbsd/reggae
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
REGister Globaly Access Everywhere is a package which helps in common DevOpstasks relying on CBSD for management of jails and virtual machines on FreeBSD.If you have ever used Vagrant or Docker Compose, Reggae is best described as analternative to those. It enables you easy development inside jail while codeediting is done on the host. It makes transition from development to productioneasier by using provisioners. It makes host clean of all requirements ofdevelopment environment and puts them inside jail which is easily stopped,started, provisioned, and destroyed. Using onlymake andsh on the systemandcbsd andsudo from packages, makes it really small and easy to extend.
To install Reggae run the following as root:
pkg install reggaereggae host-init# service pflog restart# service pf restart# service sshd restartreggae backend-initreggae network-initThrough config file in/usr/local/etc/reggae.conf you can change values foranything Reggae is using. If you want to use CBSD for jail management insteadof base, you should setBACKEND=cbsd inreggaer.conf. Aterreggae network-init, you'll get jail with DHCP and DNS which is used to leaseIPs to jails and virtual machines and to register all resources in DNS so thatyou can use FQDN instead of IP addresses. The DNS jail IP is used in/etc/resolvconf.conf, so that changes of network parameters are passed to theappropriate jail. Also, host will use DNS jail IP in /etc/resolv.conf. Inshort, it enables you to not remember jail IPs when you have to use them, butuse<jail name>.<domain> to reference them, in which case comes from/usr/local/etc/reggae.conf.
Or you can justsee it all in action,first!
First, create empty directory for your jail/service and initialize it.
mkdir myservicecd myservicereggae initIt will create the simplest Reggae config. When you runmake, you'll get jailnamedmyservice. If you want to name it differently, changeSERVICE = myservice line inMakefile.
Runningmake will invokemake up and if it is the first time you run it,make provision will also be executed.
Supported make targets for the service type are:
- destroy
- devel
- exec
- export
- login
- provision
- setup
- up
Special note for thedevel target: your repo must havebin/devel.sh whichbe ran inside jail. Also, devel will only work if you haveDEVEL_MODE=YES inyour vars.mk in service root. If you use it inside a project, project'sDEVEL_MODE will be propagated.
Service can be provisioned with the supported provisioners to speed up jailsetup.
Create empty directory and initialize it.
mkdir myprojectcd myprojectreggae project-initOne project can contain many services, and that's going to be shown in thegeneratedMakefile. TheSERVICES variable in it will be commented butpopulated with example services. All services when downloaded will be inservices/<service> directory.
Supported make targets for the project type are:
- destroy
- devel
- fetch
- init
- login service=<service>
- provision
- setup
- up
Special note for thedevel target: your repo must havebin/devel.sh whichbe ran on the host. All project targets can be suffixed withservice=<service>but in the above list only those which require a service are explicitelymentioned. If the service is passed as an argument, the target will be executedonly on that service/jail.
About
Reggae - DevOps tool for CBSD
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors4
Uh oh!
There was an error while loading.Please reload this page.