Skip to content

Script to generate cloud-config user data from a reclass model

Notifications You must be signed in to change notification settings

Cerebus/reclass-cloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

reclass-cloud

Script to generate cloud-config user data from a reclass model.

Immutable infrastructure is an important advance in managing IT infrastructure, but it's incompatible with traditional configuration management tools because they allow deployed systems to be modified in place. However, without a CM platform how do you automate the deployment of systems and applications? Containers are an answer, but not every organization or application is ready to containerize.

cloud-init is a relatively broadly supported tool for instantiating systems in public and private cloud providers, and can even be used for servers on metal with the right provisioning environment. cloud-init modules can manage most aspects of system and application deployment, and has predictable and repeatable results. cloud-init user-data is written in YAML.

Managing lots of YAML files for systems in various versions would be ugly, though.

Enter reclass. reclass is a tool for defining system configuration data in a structured external repository that can be leveraged by a configuration maangement toolchain. reclass models are written in YAML, and the reclass engine handles finding, merging, and resolving variable references between them.

Together, reclass and cloud-init can solve the problem of managing an immutable infrastructure.
reclass files can be written to generate cloud-config data directly, which can then be fed into cloud-init as user data. Instances can be composed in test with access keys, and then recomposed in deployment without--making the instance fully immutable.

This script depends on specific conventions in your model.

About

Script to generate cloud-config user data from a reclass model

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages