Skip to content

Conversation

goruha
Copy link
Contributor

@goruha goruha commented Sep 11, 2025

what

  • Use atmos instead of makefile

why

  • build-harness deprecated. Use atmos instead

Summary by CodeRabbit

  • Documentation

    • Expanded module docs with Requirements, Providers, Modules, Resources, Inputs, and Outputs.
    • Added guidance for running Terraform tests with Atmos/Terratest.
    • Fixed minor markup issues and added support/community badges, newsletter, and office hours info.
  • Chores

    • Added ignore rule for Atmos artifacts.
    • Introduced Atmos configuration to standardize project setup.
    • Simplified build scripts by removing remote build harness and legacy test targets.

@goruha goruha requested a review from a team as a code owner September 11, 2025 17:56
Copy link

coderabbitai bot commented Sep 11, 2025

Walkthrough

Adds Atmos configuration and ignores its local state, removes build-harness and some Makefile targets, and expands documentation (README and module docs). No runtime code changes.

Changes

Cohort / File(s) Summary of changes
Git ignore update
.gitignore
Added rule to ignore .atmos.
Makefile cleanup
Makefile
Removed remote build-harness inclusion, removed all: init readme, and removed test:: target with its recipe.
Atmos integration
atmos.yaml
Introduced Atmos config importing a shared terraform-component template from a remote URL.
Documentation updates
README.md, src/README.md
Expanded module documentation (Requirements, Providers, Modules, Resources, Inputs, Outputs), added support/badges, newsletter/office hours, Terraform testing with Atmos/Terratest; fixed a closing tag; includes duplicated “Running Terraform Tests” content. Purely docs.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    actor Dev as Developer
    participant Repo as Repo
    participant Atmos as Atmos CLI
    participant TF as Terraform
    participant Tests as Terratest

    Note over Repo,Atmos: New workflow with atmos.yaml
    Dev->>Repo: Pull repo
    Dev->>Atmos: atmos run <cmd>
    Atmos->>TF: Init/Plan/Apply (per config)
    TF-->>Atmos: Results
    alt tests invoked
        Atmos->>Tests: Execute test suite
        Tests-->>Atmos: Test results
    end
    Atmos-->>Dev: Output and status
Loading
sequenceDiagram
    autonumber
    actor Dev as Developer
    participant Make as Makefile
    participant Tests as test/run.sh

    Note over Make,Tests: Removed targets
    Dev->>Make: make all / make test
    Make--x Dev: Targets removed (no-op)
    Note right of Dev: Use Atmos or direct Terraform instead
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Pre-merge checks (3 passed)

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title succinctly and accurately summarizes the PR's primary change—switching from a Makefile/build-harness workflow to Atmos—and directly aligns with the PR objectives and the diffs (Makefile removals and addition of atmos.yaml). It's concise and specific enough for a teammate scanning history.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

Poem

I thump my paws on README plains,
New Atmos winds hum tidy refrains.
The Makefile sheds old harness tack,
Tests hop a different, clearer track.
In docs I burrow, crisp and bright—
Ignore the .atmos, keep it light.
Carrots committed. All byte! 🥕

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.

✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-readme-generation

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@mergify mergify bot requested review from a team September 11, 2025 17:56
Copy link

mergify bot commented Sep 11, 2025

Important

Do not edit the README.md directly. It's auto-generated from the README.yaml

Please update the README.yaml file instead.

Could you fix it @goruha? 🙏

Copy link

mergify bot commented Sep 11, 2025

Important

Cloud Posse Engineering Team Review Required

This pull request modifies files that require Cloud Posse's review. Please be patient, and a core maintainer will review your changes.

To expedite this process, reach out to us on Slack in the #pr-reviews channel.

@mergify mergify bot added triage Needs triage needs-cloudposse Needs Cloud Posse assistance labels Sep 11, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
README.md (2)

141-214: Docs section duplicated; unify to one source of truth

The full module docs appear twice in this README. This invites drift and conflicting guidance. Keep a single autogenerated block.

Suggested change: remove the later duplicate block (lines 246–318).

-<!-- markdownlint-disable -->
-## Requirements
-...
-<!-- markdownlint-restore -->
+<!-- (removed duplicate docs block; keep a single autogenerated section) -->

Also applies to: 246-318


17-23: Update generation notice to reflect Atmos workflow

The notice still references build-harness. Update to the new generation method to prevent contributor confusion.

-  ** This file was automatically generated by the `cloudposse/build-harness`.
-  ** 1) Make all changes to `README.yaml`
-  ** 2) Run `make init` (you only need to do this once)
-  ** 3) Run`make readme` to rebuild this file.
+  ** This file is automatically generated.
+  ** 1) Make all changes to `README.yaml`
+  ** 2) Run `atmos docs generate` (or the configured pre-commit hook)
+  ** 3) Commit the regenerated README.
🧹 Nitpick comments (6)
.gitignore (2)

10-10: Prefer directory-specific ignore for Atmos cache

Use a trailing slash to unambiguously ignore the directory and avoid accidental file matches.

-.atmos
+.atmos/

1-12: Mirror .atmos ignore to .dockerignore per file header

Header says entries “below here should also be in .dockerignore”. Ensure .dockerignore includes .atmos/ to keep local Atmos state out of images.

atmos.yaml (3)

11-11: Add newline at EOF (yamllint failure)

YAML lints flag “no newline at end of file”. Add a trailing newline.

   - https://raw.githubusercontent.com/cloudposse-terraform-components/.github/refs/heads/main/.github/atmos/terraform-component.yaml
+

9-11: Pin imported config to immutable ref to avoid drift

Importing from refs/heads/main risks silent behavior changes. Prefer a tag or commit SHA; alternatively vendor this file.

Example options:

  • Use a tag: .../.github/refs/tags/vX.Y.Z/...
  • Use a commit: .../.github/<commit_sha>/.github/atmos/terraform-component.yaml

9-11: Docs/test link mismatch: imported file vs README link

This repo imports terraform-component.yaml, while README links to terraform-module.yaml for test commands. Confirm the file you import actually defines atmos test commands referenced in the docs, or align the import and docs.

README.md (1)

413-426: Verify Atmos test commands are defined in imported config

The docs instruct atmos test run/clean and link to a terraform-module.yaml, but atmos.yaml imports terraform-component.yaml. Ensure the imported file actually defines these custom commands or adjust the link/instructions accordingly.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d0209da and 7039739.

📒 Files selected for processing (5)
  • .gitignore (1 hunks)
  • Makefile (0 hunks)
  • README.md (3 hunks)
  • atmos.yaml (1 hunks)
  • src/README.md (2 hunks)
💤 Files with no reviewable changes (1)
  • Makefile
🧰 Additional context used
🪛 YAMLlint (1.37.1)
atmos.yaml

[error] 11-11: no new line character at the end of file

(new-line-at-end-of-file)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Summary

@goruha goruha merged commit cdd6209 into main Sep 11, 2025
14 checks passed
@goruha goruha deleted the fix-readme-generation branch September 11, 2025 18:03
@mergify mergify bot removed needs-cloudposse Needs Cloud Posse assistance triage Needs triage labels Sep 11, 2025
Copy link

These changes were released in v1.535.3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant