Skip to content

Consolidating all three of the master's environments, "master", "bootstrap", and "master-bootstrap" #8

@arizvisa

Description

@arizvisa

When building the SaltStack cluster on a master, the "master", "bootstrap", and "master-bootstrap" (for masterless) environments are used to ensure each member is provisioned properly to work with the cluster. This poses an issue as the target is written using the "base" environment and so these two environments need to be combined in some way. Although these three environments should never change except when updating the non-project-specific components, the way that they're presently organized makes it difficult to process and update independantly from the target's states that reside in the "base" environment.

If the combination of these is a possibility, then we could always have templates running with the "master" role apply the "base" environment for any target-specific provisioning which will remove the need for the user to manually apply their target-specific provisioning on deployment.

It might actually be possible to use the "master" environment only during bootstrap which will then switch its default environment to "base" similar to how the "bootstrap" environment works. After applying the "master" environment, the master's minion can update its environment and then cycle its service, so that it's completely switched into the "base" environment. This way once the "master" environment has been properly provisioned, it can then apply any target-specific provisioning. This switching of the environment should only be temporary so that the "master" environment is _always_ applied on first boot.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions