Skip to content

ovh/puppet-thebastion

Repository files navigation

Puppet-Thebastion

Puppet module for Thebastion management.

Table of Contents

  1. Description
  2. Getting started
  3. Usage - Configuration options and additional functionality
  4. Limitations - OS compatibility

Description

This module manages:

  • Software installation (with the use of git and github).
  • Dependencies on supported OS (packages).
  • Main configuration
  • Addons configuration
  • Plugins configuration

Setup

Setup Requirements

This module has two dependencies:

Install and configure thebastion

Simply call the main class in a Puppet manifest:

class{'thebastion': }

Usage

Customize Installation

To ease integration to more complex setups, you can decide whether you want to pull the code and/or install required system packages.

For instance, you can decide not to install dependencies packages with this module. Simply pass the relevant parameter to the class:

class {'thebastion':
  install_packages => false,
}

Customize configuration and addons

This module allows every parameter to be customized via hiera, or via class instantiation.

You can, for instance, change interactive mode timeout to 30 seconds:

class {'thebastion':
  interactive_mode_timeout => 30,
}

You can consult REFERENCE.md file for a complete list of available parameters.

Customize plugins configuration

For security reasons, or simple customization of a plugin, you might want to change a plugin configuration. You have multiple choices in order to do this:

  • Instantiate a plugin configuration directly in your manifest:
thebastion::plugin {'selfResetIngressKeys':
  configuration => {
    disabled => true,
  }
}
  • Pass a list of plugins inside the main class:
class {'thebastion':
  plugins => {
    selfResetIngressKeys => {
      configuration => {
        disabled => true,
      }
    }
  }
}
  • Pass the same parameters via a hiera file:
thebastion::plugins:
  selfResetIngressKeys:
    configuration:
      disabled: true

Limitations

Take a close look at the supported distributions in metadata.json file. Although the main configuration offers sane default values in order to be directly operable, the addons configuration will require some tweaks in order to be fully operational (e.g sync_watcher_remote_host_list parameter).

Related

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.