Skip to content

Template requirements and guidelines

Sergei Pogrebnyak edited this page Dec 21, 2018 · 3 revisions

Requirements for each template

  • Alias MUST start with sag-<product>
  • MUST have a short description:
  • MUST have only one environments/default section
  • ALL parameters MUST be declared in the environments/default section
  • Parameters MUST have sensible default values whenever possible
  • SHOULD parameterize only what is necessary. Avoid too many parameters
  • The following parameters SHOULD be declared, as they are not yet provided by the Stacks API
    • release.major: 10
  • The following parameters are provided by the Stacks API. You do not need to declare them, but they MUST be provided when the template is executed as a standalone composite template outside of the Stacks API context
    • release
    • repo.product
    • repo.fix
    • nodes
    • os.platform
  • All product-specific parameters MUST:
    • Start with a unique prefix
    • Have a comment on the same line or above starting with #
    • License key parameter
      • Name pattern: <prefix>.<productid>.license.key
      • Value wildcard: "*_<PRODUCTCODE>_${release.major}.*_*_${os.platform}"
    • Instance name parameter
      • Name ends with : .instance.name
      • Value: default
    • Credentials key parameter
      • Name ends with: .credentials.key
      • Value DEFAULT_ADMINISTRATOR or ${}
    • Port number parameter
      • Name ends with .port
      • Value must be a <number>
    • Fix list parameter
      • Name: ends with .fixes
      • Value must be: ALL
  • SHOULD define only one runtime layer. It MAY have one additional db layer
  • MUST define exactly one runtime instance
  • MUST include minimal required configuration
  • SHOULD include additional, optional configuration as *-config inline template that can be easily activated
  • SHOULD include comments (#) for all lines/properties that are not self-explanatory
  • SHOULD use 2 spaces for indentation
Clone this wiki locally