Skip to content

Establish template-formula as the go-to resource for all formula development #21

@myii

Description

@myii

This issue is a collection of ideas initially taken from the log of discussions[1][2][3][4] captured in the wiki.

Visibility

  • Make this template-formula a sticky formula for the whole SaltStack Formulas project.
    • Probably best to wait until most of these changes have been made, to prevent premature use of the template.

Release tagging (for each merged PR)

YAML & Jinja

TOFS pattern vs. pillar

Other pillar-avoidance methods to consider

  • Consider changing all uses of pillar.get to config.get globally (as in, for all formulas eventually).
  • Work through discussions captured from Slack where alternatives are discussed (TODO: capture the discussions in a wiki page here).

Make the formula portable

Documentation

Tests and CI

States

  • Make the formula "actually functional" so that all parts can be run, to aid understanding and quality assurance.
  • Adapt template-formula to not be too focussed on pkg:
    • Must also consider archives, tarball releases, GitHub repos, etc.
  • Add the remove state advocated by @noelmcloughlin.
  • Ensure that each file does only one thing and do it well (instead of monolithic files):
    • E.g. pkg/install.sls, pkg/clean.sls, repo/install.sls, repo/clean.sls, etc.
  • Add 'formula components' that can be reused in a formula as suggested by @javierbertoli, such as:
    • 'service-template'
    • 'pkg-template'
    • 'ini-config-template'
    • 'yaml-config-template'
    • Etc.
  • Prevent the formula from running on unsupported minions -- WIP: feat(unsupported): prevent formula running on unsupported minions #91.

Repo standards

Other resources to evaluate for inclusion

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions