mirror of
https://github.com/BastilleBSD/bastille.git
synced 2025-12-10 17:09:48 +01:00
README updates and created a TODO list
This commit is contained in:
118
README.md
118
README.md
@@ -15,7 +15,8 @@ would very much like to keep things flexible enough to not *require* ZFS. To
|
|||||||
bootstrap a release use the `bbsd-bootstrap` command.
|
bootstrap a release use the `bbsd-bootstrap` command.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
bbsd-bootstrap activate bastille 11.1-RELEASE
|
pebbles ~ # bbsd-bootstrap activate bastille 11.1-RELEASE
|
||||||
|
pebbles ~ #
|
||||||
```
|
```
|
||||||
|
|
||||||
This command creates the directory structure, fetches the specified release,
|
This command creates the directory structure, fetches the specified release,
|
||||||
@@ -23,13 +24,14 @@ extracts and creates a ZFS snapshot. Once a system is "activated" it should
|
|||||||
have everything it needs to create a jail.
|
have everything it needs to create a jail.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
pebbles ~ # ll /usr/local/bastille
|
pebbles ~ # ll /usr/local/bastille
|
||||||
total 27
|
total 27
|
||||||
drwxr-xr-x 2 root wheel 3B Mar 17 15:34 downloads
|
drwxr-xr-x 2 root wheel 3B Mar 17 15:34 downloads
|
||||||
drwxr-xr-x 2 root wheel 8B Apr 6 18:52 fstab
|
drwxr-xr-x 2 root wheel 8B Apr 6 18:52 fstab
|
||||||
drwxr-xr-x 8 root wheel 8B Mar 31 08:35 jails
|
drwxr-xr-x 8 root wheel 8B Mar 31 08:35 jails
|
||||||
drwxr-xr-x 2 root wheel 8B Mar 30 20:50 logs
|
drwxr-xr-x 2 root wheel 8B Mar 30 20:50 logs
|
||||||
drwxr-xr-x 3 root wheel 3B Mar 17 15:37 releases
|
drwxr-xr-x 3 root wheel 3B Mar 17 15:37 releases
|
||||||
|
pebbles ~ #
|
||||||
```
|
```
|
||||||
|
|
||||||
### bbsd-create
|
### bbsd-create
|
||||||
@@ -42,7 +44,9 @@ things:
|
|||||||
- FreeBSD release (ie; 11.1-RELEASE)
|
- FreeBSD release (ie; 11.1-RELEASE)
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
bbsd-create unbound0 https://github.com/bastillebsd/local_unbound.git 11.1-RELEASE
|
pebbles ~ # bbsd-create unbound0 https://github.com/bastillebsd/local_unbound.git 11.1-RELEASE
|
||||||
|
...[snip]...
|
||||||
|
pebbles ~ #
|
||||||
```
|
```
|
||||||
|
|
||||||
This command will create a 11.1-based basejail, and pre-populate the root
|
This command will create a 11.1-based basejail, and pre-populate the root
|
||||||
@@ -61,26 +65,38 @@ ZFS-snapshots of pre-created profiles.
|
|||||||
To start a jail you can use the `bbsd-start` command.
|
To start a jail you can use the `bbsd-start` command.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
bbsd-start unbound0
|
pebbles ~ # bbsd-start unbound0
|
||||||
|
unbound0: created
|
||||||
|
pebbles ~ #
|
||||||
```
|
```
|
||||||
|
|
||||||
This command can also take a space-separated list of jails to start.
|
This command can also take a space-separated list of jails to start.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
bbsd-start unbound0 unbound1 unbound2
|
pebbles ~ # bbsd-start unbound0 unbound1 unbound2
|
||||||
|
unbound0: created
|
||||||
|
unbound1: created
|
||||||
|
unbound2: created
|
||||||
|
pebbles ~ #
|
||||||
```
|
```
|
||||||
|
|
||||||
### bbsd-stop
|
### bbsd-stop
|
||||||
To stop a jail you can use the `bbsd-stop` command.
|
To stop a jail you can use the `bbsd-stop` command.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
bbsd-stop unbound0
|
ishmael ~ # bbsd-stop unbound0
|
||||||
|
unbound0: removed
|
||||||
|
pebbles ~ #
|
||||||
```
|
```
|
||||||
|
|
||||||
This command can also take a space-separated list of jails to stop.
|
This command can also take a space-separated list of jails to stop.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
bbsd-stop unbound0 unbound1 unbound2
|
pebbles ~ # bbsd-stop unbound0 unbound1 unbound2
|
||||||
|
unbound0: removed
|
||||||
|
unbound1: removed
|
||||||
|
unbound2: removed
|
||||||
|
pebbles ~ #
|
||||||
```
|
```
|
||||||
|
|
||||||
### bbsd-restart
|
### bbsd-restart
|
||||||
@@ -93,7 +109,7 @@ to manage my jails. It started out as a simple for-loop and have now evolved
|
|||||||
into something a _little_ more mature.
|
into something a _little_ more mature.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
bbsd-cmd ALL 'sockstat -4'
|
pebbles ~ # bbsd-cmd ALL 'sockstat -4'
|
||||||
```
|
```
|
||||||
|
|
||||||
This command will execute the "$2" argument (note the use of quotes to
|
This command will execute the "$2" argument (note the use of quotes to
|
||||||
@@ -108,42 +124,44 @@ command on *ALL* systems matching the target. Here is an example from a dev
|
|||||||
system.
|
system.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
pebbles ~ # jls
|
pebbles ~ # jls
|
||||||
JID IP Address Hostname Path
|
JID IP Address Hostname Path
|
||||||
unbound0 10.0.0.10 unbound0 /usr/local/bastille/jails/unbound0/root
|
unbound0 10.0.0.10 unbound0 /usr/local/bastille/jails/unbound0/root
|
||||||
unbound1 10.0.0.20 unbound1 /usr/local/bastille/jails/unbound1/root
|
unbound1 10.0.0.20 unbound1 /usr/local/bastille/jails/unbound1/root
|
||||||
unbound2 10.0.0.30 unbound2 /usr/local/bastille/jails/unbound2/root
|
unbound2 10.0.0.30 unbound2 /usr/local/bastille/jails/unbound2/root
|
||||||
beastie 10.0.0.79 beastie /usr/local/bastille/jails/beastie/root
|
beastie 10.0.0.79 beastie /usr/local/bastille/jails/beastie/root
|
||||||
xmakaba 10.0.0.137 xmakaba /usr/local/bastille/jails/xmakaba/root
|
xmakaba 10.0.0.137 xmakaba /usr/local/bastille/jails/xmakaba/root
|
||||||
pebbles ~ # bbsd-cmd unbound 'sockstat -4'
|
pebbles ~ #
|
||||||
Targeting specified containers.
|
pebbles ~ #
|
||||||
unbound0
|
pebbles ~ # bbsd-cmd unbound 'sockstat -4'
|
||||||
unbound1
|
Targeting specified containers.
|
||||||
unbound2
|
unbound0
|
||||||
|
unbound1
|
||||||
|
unbound2
|
||||||
|
|
||||||
unbound0:
|
unbound0:
|
||||||
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
|
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
|
||||||
unbound unbound 9639 3 udp4 10.0.0.10:53 *:*
|
unbound unbound 9639 3 udp4 10.0.0.10:53 *:*
|
||||||
unbound unbound 9639 4 tcp4 10.0.0.10:53 *:*
|
unbound unbound 9639 4 tcp4 10.0.0.10:53 *:*
|
||||||
|
|
||||||
unbound1:
|
unbound1:
|
||||||
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
|
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
|
||||||
unbound unbound 31590 3 udp4 10.0.0.20:53 *:*
|
unbound unbound 31590 3 udp4 10.0.0.20:53 *:*
|
||||||
unbound unbound 31590 4 tcp4 10.0.0.20:53 *:*
|
unbound unbound 31590 4 tcp4 10.0.0.20:53 *:*
|
||||||
|
|
||||||
unbound2:
|
unbound2:
|
||||||
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
|
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
|
||||||
unbound unbound 66761 3 udp4 10.0.0.30:53 *:*
|
unbound unbound 66761 3 udp4 10.0.0.30:53 *:*
|
||||||
unbound unbound 66761 4 tcp4 10.0.0.30:53 *:*
|
unbound unbound 66761 4 tcp4 10.0.0.30:53 *:*
|
||||||
|
|
||||||
pebbles ~ # bbsd-cmd beast 'freebsd-version'
|
pebbles ~ # bbsd-cmd beast 'freebsd-version'
|
||||||
Targeting specified containers.
|
Targeting specified containers.
|
||||||
beastie
|
beastie
|
||||||
|
|
||||||
beastie:
|
beastie:
|
||||||
11.1-RELEASE-p9
|
11.1-RELEASE-p9
|
||||||
|
|
||||||
pebbles ~ #
|
pebbles ~ #
|
||||||
```
|
```
|
||||||
|
|
||||||
As you can see, the very basic `grep` is done and limits the targeting to the
|
As you can see, the very basic `grep` is done and limits the targeting to the
|
||||||
@@ -164,8 +182,9 @@ login, but this will support specifying users. It will likely remain
|
|||||||
password-less.
|
password-less.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
pebbles ~ # bbsd-login beastie
|
pebbles ~ # bbsd-login beastie
|
||||||
root@beastie:~ #
|
root@beastie:~ # exit
|
||||||
|
pebbles ~ #
|
||||||
```
|
```
|
||||||
|
|
||||||
### bbsd-destroy
|
### bbsd-destroy
|
||||||
@@ -176,7 +195,9 @@ of a fail-safe. I just need to make the script a little more mature to make
|
|||||||
sure it handles the file system deletions properly.
|
sure it handles the file system deletions properly.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
bbsd-destroy unbound0 /usr/local/bastille/jails/unbound0
|
pebbles ~ # bbsd-destroy unbound0 /usr/local/bastille/jails/unbound0
|
||||||
|
Jail destroyed. RIP.
|
||||||
|
pebbles ~ #
|
||||||
```
|
```
|
||||||
|
|
||||||
### bbsd-top
|
### bbsd-top
|
||||||
@@ -194,7 +215,8 @@ This command requires a path argument and then creates a bunch of directories
|
|||||||
at that path. For example.
|
at that path. For example.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
bbsd-init-repo ~/Projects/www_nginx.git
|
pebbles ~ # bbsd-init-repo ~/Projects/www_nginx.git
|
||||||
|
pebbles ~ #
|
||||||
```
|
```
|
||||||
|
|
||||||
This would create the required template structure in the pre-existing directory
|
This would create the required template structure in the pre-existing directory
|
||||||
|
|||||||
16
TODO
Normal file
16
TODO
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# TODO
|
||||||
|
|
||||||
|
This is just a place to throw down the ideas of things I need to fix and or
|
||||||
|
improve. In no particular order.
|
||||||
|
|
||||||
|
+ Consolidate the commands into a single `bastille` cmd.
|
||||||
|
+ Modular design for imported `bastille` functionality (ie; pkg, cmd, sysrc)
|
||||||
|
+ ZFS or UFS support
|
||||||
|
+ `bastille create` needs to support `fetch` fallback
|
||||||
|
+ `bastille create` needs to support branches
|
||||||
|
+ `bastille bootstrap` needs a complete review
|
||||||
|
+ New commands: `sysrc`, `fstab`, `jls`, `git`, `update`, `upgrade`
|
||||||
|
+ Support for multi-jail templating (create, snapshot, deploy)
|
||||||
|
+ jail.conf validation support in `create`
|
||||||
|
+ Dynamic config support for templating
|
||||||
|
+
|
||||||
Reference in New Issue
Block a user