Skip to content

Releases: suzuki-shunsuke/tfaction

v0.6.2

18 Jun 23:26
Compare
Choose a tag to compare

v0.6.1

06 Jun 08:52
Compare
Choose a tag to compare

Issues | Pull Requests | v0.6.0...v0.6.1 | Base revision

Fixes

#986 Fixed the pull request comment for terraform validate @ponkio-o

AS IS

image

TO BE

image

v0.6.1-1

06 Jun 08:47
Compare
Choose a tag to compare

v0.6.0

05 Jun 00:14
Compare
Choose a tag to compare

Issues | Pull Requests | v0.5.25...v0.6.0 | Base revision

Features

#851 #876 Support Drift Detection

For details, please see the document.

image

tfaction enables you to detect the drift periodically and manage the drift as GitHub Issues.

This feature is disabled by default. To enable, please see the document.

tfaction creates an Issue per working directory.
tfaction checks if the drift exists at the following timing.

  • apply workflow
    • apply workflow is run when the pull request is merged
    • If the job succeeds, the issue is closed.
    • If the job fails, the issue is reopened.
  • schedule-detect-drifts workflow
    • schedule-detect-drifts is run periodically
    • If terraform plan has no change, the issue is closed
    • If the job fails or terraform plan has change, the issue is reopened.

tfaction reopens the issue when the drift is detected, and closes the issue when the drift is resolved.
tfaction posts a comment and updates the issue description according to the result of the drift detection.

Example 1. An Issue is closed because terraform apply succeeded and the drift is resolved

image

Example 2. An Issue is opened because terraform apply fails

image

Example 3. Drift is checked by schedule-detect-drifts periodically

image

image

Example 4. The latest comment is reflected to the issue description

image

Good point

If you already use GitHub Issues for your task management, you can add drift handling into your task management naturally.
You don't have to create issues yourself. You can manage issues in GitHub Projects, adjust the priority, and assign someone to issues.

Issue's comments become the history, so you can track when the drift is raised and which pull request caused the drift.
And comments tell you not only the existence of the drift but also the content of the drift.

You can adjust the frequency of the drift detection, and select workfing directories where the dirft detection is enabled.

v0.6.0-7

01 Jun 00:52
Compare
Choose a tag to compare

v0.6.0-6

26 May 00:35
Compare
Choose a tag to compare

v0.6.0-5

26 May 00:26
Compare
Choose a tag to compare

v0.6.0-4

08 May 11:08
Compare
Choose a tag to compare

v0.5.25

02 May 00:05
Compare
Choose a tag to compare

Issues | Pull Requests | v0.5.24...v0.5.25 | Base revision

Features

#910 scaffold-working-directory: Support skipping to create aqua.yaml and add aqua packages

By default scaffold-working-directory creates aqua.yaml and add some packages.

aqua init
aqua g -i open-policy-agent/conftest terraform-linters/tflint aquasecurity/tfsec hashicorp/terraform

You can skip this.

tfaction-root.yaml

scaffold_working_directory:
  skip_adding_aqua_packages: true

You can configure packages and their versions in your template or you can also manage them in repository root's aqua.yaml.

v0.5.24

01 May 11:47
Compare
Choose a tag to compare

Issues | Pull Requests | v0.5.23...v0.5.24 | Base revision

Features

#909 scaffold-tfmigrate: Support scaffolding tfmigrate migration related files to existing pull requests

A new input pr_number was added to the action scaffold-tfmigrate.

e.g. .github/workflows/scaffolf-tfmigrate.yaml

on:
  workflow_dispatch:
    inputs:
      target:
        description: 'target'
        required: true
      migration_name:
        description: 'migration name. e.g. "import_foo"'
        required: true
      pr_number: # New
        description: Pull Request Number
        required: false
jobs:
  scaffold-tfmigrate:
    # ...
    steps:
      # ...
      - uses: suzuki-shunsuke/tfaction/scaffold-tfmigrate@pr/909
        id: scaffold-working-dir
        with:
          github_app_token: ${{steps.generate_token.outputs.token}}
          migration_name: ${{github.event.inputs.migration_name}}
          pr_number: ${{inputs.pr_number}} # New

If pr_number is set, the action pushes a commit to the given request instead of creating a new pull request.