These setup files provide the text-only configurations for DMZ.
It should not contain private data.
Dependencies
recutils
- (optional)
graph-easy
(the package may be calledperl-graph-easy
)
Aspirations
- Each service should reside in its own directory.
- Everything should be automated, including:
- backups,
- turning the backup back into a service,
- configuring the service to run,
- Makefile (or similar) wherever practical,
- Idempotency.
- All secrets stored elsewhere (probably in the
dmzadmin
repo) - Any maintenance scripts.
- Configurations should reside in shadow-directories, e.g. a backup
soft-serve
'sconfig.yaml
should reside in this repo undersplint.rs/soft-serve/etc/soft/config.yaml
.
Network Database
I have a half-baked plan to finally make use of plain-text databases, and it's already half-working. Try these commands:
Ask what types of _rec_ords it contains:
Database
recinf network.rec
Select queries
Select with recsel
, then specify the database (.rec) and type of record (like table in db).
--include-descriptors
or-d
--type
or-t
--expression
or-e
--quick
or-q
recsel network.rec --type router
recsel network.rec -d -t lxc
User -q
for a --quick
selection, or -e
for more precise selections.
recsel network.rec --type lxc --quick wiki
recsel network.rec -t lxc -q nginx
recsel network.rec -t lxc -e "name ~ 'nginx'"
recsel network.rec -t lxc -e "name = 'nginx12'"
Insert queries
Insert a new record with recins
.
recins network.rec -t lxc -r "name: bob" -r "service: bob" -r "host: moxx"
Update queries
If you can select something, you can also set its fields with recset
.
Use -f
to set the --field
, and -a
to --add
, or -s
to --set
.
recset network.rec -t lxc -e "name = 'nginx12'" -f proxies -a soft-serve
recsel network.rec -t lxc -e "name = 'nginx11'" -p proxies[0]
recset network.rec -t lxc -e" name = 'nginx11'" -f proxies[0] -s wiki9
Description
Languages
Shell
60.9%
Python
23.6%
Makefile
15.5%