---
prelude: >
    Enable setting Nordix component versions using environment variables
features:
  - |
    Setting component versions are enabled using environment variables.
    By doing this, users can set versions of installers and provisioners
    which in turn sets versions of the stacks deployed by these components.
    An example to this is Kubespray version that is set using NORDIX_KUBESPRAY_VERSION
    environment variable. Setting this variable to release-1.15 will result in
    framework checking out release-1.15 branch of infra/installer/kubespray
    repository which in turn let user to install Kubernetes 1.15.x version.
    This could also be a tag or sha. Tags and branches must not be named same
    in order for this feature to function as intended.

    The environment variables that could be used are
    - NORDIX_BIFROST_VERSION
    - NORDIX_HEAT_VERSION
    - NORDIX_KOLLA_VERSION
    - NORDIX_KUBESPRAY_VERSION

    Please check available tags and branches in the repositories to
    decide what to package and deploy.
