In this section we will give a brief rundown of all the components that make up Autostrap. It lists all the git repositories the components of Autostrap reside in and gives a high-level description of these components. All repositories are on Github, with links provided in this section.

A note to users: for setting up your service cloud, you will usually only need a fork of project-config and a checkout of autostrap-utils. The latter is optional but recommended since it provides convenient development tools.

Core Components

bootstrap-scripts contains the bootstrap scripts that generate a hiera.yaml and get the machine to a point where it can run Puppet.
global-config contains known-good sample configuration in the shape of [Configuration Topics]{../glossary/topic.md}. Before you implement something from scratch you should browse this repository for an existing solution you might be able to customize to meet your needs.
project-config is an example repository that demonstrates and documents the structure and semantics of a project specific configuration repository. To use Autostrap, fork this repository and use it as a base for your custom configuration.
autostrap-utils contains useful utilities for building clouds using Autostrap.

Puppet Modules

puppet-autopuppet Sets up a Puppet master, Puppet agent or masterless puppet, including Sensu monitoring if desired.
puppet-base Sets up a sane environment, installs useful packages tweaks sysctls and a range of other things.
puppet-docbuild Sets up build dependencies and automatically builds this documentation from its mkdocs source.
puppet-openstackfacts Contains various Facter facts used by Autostrap.
puppet-repodeploy wraps puppetlabs-vcsrepo so it can be configured through a Hiera hash containing multiple repositories.
puppet-ssh Configures the SSH daemon and deploys SSH authorized keys.