charm-keystone/charmhelpers/contrib/hardening
Alex Kavanagh 31649bee99 Updates for testing period for 20.01 release
Includes updates to charmhelpers/charms.openstack for cert_utils
and unit-get for the install hook error on Juju 2.9

* charm-helpers sync for classic charms
* rebuild for reactive charms
* ensure tox.ini is from release-tools
* ensure requirements.txt files are from release-tools
* On reactive charms:
  - ensure master branch for charms.openstack
  - ensure master branch for charm-helpers

* Fixes to unit tests due to removal of unit_get from context.

Change-Id: I83f12c9e010468be34637056e645f2bfc732f2df
2021-01-18 15:23:07 +00:00
..
apache py3: Switch to using Python 3 for rocky or later 2018-10-10 09:20:51 -04:00
audits Updates for testing period for 20.01 release 2021-01-18 15:23:07 +00:00
defaults Cap workers in containers, fix admin/pubic skew 2017-04-26 11:43:14 +01:00
host Cap workers in containers, fix admin/pubic skew 2017-04-26 11:43:14 +01:00
mysql Resync charmhelpers for licensing change 2016-07-06 16:35:04 +01:00
ssh Cap workers in containers, fix admin/pubic skew 2017-04-26 11:43:14 +01:00
__init__.py Resync charmhelpers for licensing change 2016-07-06 16:35:04 +01:00
harden.py Sync charm-helpers 2018-11-07 15:34:45 -06:00
README.hardening.md Add hardening support 2016-03-24 13:17:48 +00:00
templating.py Enable Ocata Amulet Tests 2017-03-09 14:30:50 -08:00
utils.py Resync charmhelpers for licensing change 2016-07-06 16:35:04 +01:00

Juju charm-helpers hardening library

Description

This library provides multiple implementations of system and application hardening that conform to the standards of http://hardening.io/.

Current implementations include:

  • OS
  • SSH
  • MySQL
  • Apache

Requirements

  • Juju Charms

Usage

  1. Synchronise this library into your charm and add the harden() decorator (from contrib.hardening.harden) to any functions or methods you want to use to trigger hardening of your application/system.

  2. Add a config option called 'harden' to your charm config.yaml and set it to a space-delimited list of hardening modules you want to run e.g. "os ssh"

  3. Override any config defaults (contrib.hardening.defaults) by adding a file called hardening.yaml to your charm root containing the name(s) of the modules whose settings you want override at root level and then any settings with overrides e.g.

    os: general: desktop_enable: True

  4. Now just run your charm as usual and hardening will be applied each time the hook runs.