A lightweight solution for configuration of baremetal nodes.
Go to file
Matt Carter 4c6ac4712d Update uamlite.sh to handle empty user_sshkeys arrays
Previously _uamlite.sh.tpl would fail to render if any user data
had an empty user_sshkeys array. This is because the template would
check to see if the key existed, but not actually make sure that the
array contained within that key had any elements. "first" would be
called against the empty array, which would return nil, and then
the outer eq function call would fail (as it can't be used to
compare nil values).

This patch set adds a default statement after the "first" function,
so that if the array is empty and first returns nil, a default of
"Unmanaged" will be returned, which will end up making the eq
statement evaluate to false, and the code inside the if statement to
not be run.

Change-Id: I52713795284cd1d0961bd430858061f9df9c5f78
2019-06-25 15:16:31 -05:00
divingbell Update uamlite.sh to handle empty user_sshkeys arrays 2019-06-25 15:16:31 -05:00
doc Enhance docs rendering; update documentation 2019-03-18 22:46:50 +01:00
tools Merge "Use common logger for consistent log output" 2019-04-24 18:24:35 +00:00
.gitignore Enhance docs rendering; update documentation 2019-03-18 22:46:50 +01:00
.gitreview OpenDev Migration Patch 2019-04-19 19:52:20 +00:00
.zuul.yaml CI: Add chart build job for latest Helm toolkit 2019-04-03 14:25:44 +00:00
LICENSE Initial commit 2017-10-17 13:25:54 -05:00
Makefile Create Makefile target to install Helm binary 2018-11-26 16:34:45 -06:00
README.rst Enhance docs rendering; update documentation 2019-03-18 22:46:50 +01:00
TODO Initial commit. 2017-11-16 05:59:36 +00:00
Vagrantfile Minor: Git URI schema and URL change 2019-03-21 00:57:07 +01:00
setup.cfg Exec: Use nsenter to enter all host namespaces when running exec 2019-03-11 19:32:48 -07:00
setup.py docs(tox): Add tox target to generate docs 2018-05-22 14:26:20 -05:00
test-requirements.txt docs(tox): Add tox target to generate docs 2018-05-22 14:26:20 -05:00
tox.ini Set up publishing of docs 2018-10-04 16:38:36 +00:00

README.rst

Divingbell

Documentation Status

Introduction

Divingbell is a lightweight solution for:

1. Bare metal configuration management for a few very targeted use cases via the following modules:

  • apparmor
  • ethtool
  • exec (run arbitrary scripts)
  • system limits
  • mounts
  • permissions (perm)
  • sysctl values
  • basic user account management (uamlite)
  1. Bare metal package manager orchestration using apt module

What problems does it solve?

The needs identified for Divingbell were:

  1. To plug gaps in day 1 tools (e.g., Drydock) for node configuration
  2. To provide a day 2 solution for managing these configurations going forward
  3. [Future] To provide a day 2 solution for system level host patching

Documentation

Find more documentation for Divingbell on Read the Docs.

Further Reading

Airship.