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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions