Skip to content
This repository was archived by the owner on Aug 18, 2022. It is now read-only.

Groups Design Session

Hattan Shobokshi edited this page Aug 17, 2021 · 4 revisions

Actions.

One action that you specify in the command line. Apply - plan/apply.

Avoid duplication of init with plan/apply.

Validate (ci)

  • Terraform validate (init)
  • Terraform fmt
  • Chekov
  • Tfsec
  • Detect-secrets
  • Tflint
  • Caflint

rover validate …

Deploy (cd)

  • Plan
  • Apply
  • Test

Examples:

rover apply rover tflint

rover foo

.rover folder. groups.yml

Add default groups.yml to pkg/custom/source to copy over to .rover.

groups: validate:

  • validate
  • fmt -tflint
  • caflint foo:
  • fmt deploy:
  • plan
  • apply
  • test

Action Items:

• Create yml files for all tools in pkg/custom/source.
• Create default groups.yml and add it to pkg/custom/source
• Document which variables are available for tool authors.
• Design groups.yml syntax.
• Integrate groups with command line.
• Add validation between group name and custom command name.
• Modify usage (--help) to show groups in a separate area as compared to top level build in actions.
• Order of actions in the group should be the order of execution.
• Support running init with no backend (for ci tools that need init)
• Refactor custom actions to be a single yaml file instead of multiple.

Rover plan should not auto-init, it will be expected that users of rover call rover init prior to either of those. With the exception of terraform destroy for removal of launchpad.

groups.yaml

groups:

  deploy:
    - plan
    - apply
    - test

  validate:
    - plan
    - apply
    - security
    - unit
    -int


----
rover validate
rover deploy

Clone this wiki locally