Skip to content
This repository has been archived by the owner on May 25, 2020. It is now read-only.

Latest commit

 

History

History
77 lines (43 loc) · 1.81 KB

framework.md

File metadata and controls

77 lines (43 loc) · 1.81 KB

Framework

Deployment concepts

The framework is designed to distinguish:

  • project

    • A project describes how to deploy a system of multiple hosts.

    • In terms of Salt, project is a set of states.

    • All deployments of the same project share

  • profile

    • A profile describes configuration of a project.

    • In terms of Salt, profile is a set of pillars.

    • Each deployment of the same project has its own profile.

  • host

    • A host describes individual machine.

    • In terms of Salt, host is a minion.

    • Both project and profile specify what configuration is applied individual host.

These concepts are reflected in the way how deployment using bootstrap package is done.

Required repositories

There are three types of repositories defined within this framework:

  • states

    These are Salt states - source code.

    There can be many states repositories used within specific project:

    • common-salt-states is required as part of the framework.

    • project_name-salt-states is required as part of the project.

      In case of framework development, only common-salt-states repository is required (project_name variable is set to common then).

    • Other additional repositories with Salt states are optional and part of project_name-specific requirements.

  • pillars

    These are Salt pillars - configuration data.

    There can be only one repository with pillars for specific profile.

  • resources

    These are any other content required for deployment:

    • COTS installers
    • Database dumps
    • license files
    • etc.

    There can be as many repositories with resources as meaningful for specific project.

[footer]