This repository contains code for creating all of the infrastructure needed by the Boss repository.
Components:
For full instructions on how to configure everything needed to get a Boss instance running, read the Install Guide.
The boss-manage scripts and utilities make use of a minimal number of 3rd party Python3 libraries. To install them run the following command.
pip3 install -r requirements.txt
When building new AWS AMIs with Packer, SaltStack expects the boss and boss-tools repositories to be checked out to specific directories within the SaltStack directory structure.
Follow the directions in the Submodules help file to correctly setup the submodules of boss-manage.
Currently the code that uses SSH tunnels creates SSH sessions is written
expecting an SSH client ssh
to be in the system path.
When launching CloudFormation configurations the selected keypair will be used
when connecting to the Vault server. To make sure these connections are
successful make sure that the private key for the selected keypair exists as
~/.ssh/<keypair>.pem
and has file permissions 400
/ -r--------
.
AWS API keys are loaded using the boto3 profile name given in the Bosslet configuration passed to the script / utility being executed.
All boss-manage code makes use of a single configuration object, called a bosslet config. The configuration object is based on a file created by the user and containing all of the information describing the Boss instance that should be created or acted upon.
For more information see config/README.md
Use or redistribution of the Boss system in source and/or binary forms, with or without modification, are permitted provided that the following conditions are met: