Profiles allow you to easily share configuration between a group of related stacks or clusters for a single provider. For example you might create profiles called dev, test, prod and then create several clusters all using the dev profile. These cluster – which you might call dev1, dev2, etc. – would be able to share the majority of their configuration. So profiles are a way of not having to copy and paste configs for clusters that are only slightly different.

Every stack must have an associated profile, so you’ll need to create a profile even if only a single stack will use it. Creating profiles is easy though since they’re really just alphanumeric identifiers. However, they’re used by Sugarkube’s config loader to control which configs to load for a given stack. So while they’re simple, they’re powerful and can be very useful.

You can see how profiles might be used in practice in our sample project.