Skip to content

Externalize auth, OpenTofu support, multi-cloud backends, Node.js 24 actions#1

Open
andypotanin wants to merge 7 commits intoproductionfrom
opentofu-test
Open

Externalize auth, OpenTofu support, multi-cloud backends, Node.js 24 actions#1
andypotanin wants to merge 7 commits intoproductionfrom
opentofu-test

Conversation

@andypotanin
Copy link
Copy Markdown
Contributor

Summary

  • Externalize cloud auth: callers handle GCP/AWS/Azure auth, action auto-detects credentials from environment
  • Make GCP optional for AWS-only deployments
  • Add generic state backend override inputs (state_backend, state_backend_config, state_prefix_key) for S3, azurerm, HTTP, Consul
  • Bump actions/checkout to v5 and actions/upload-artifact to v6 for Node.js 24 (Node.js 20 deprecated June 2, 2026)
  • Rewrite README for new multi-cloud architecture

Test plan

  • Verified with demo-rabbit-example using S3 state backend (AWS-only, no GCP)
  • Verified CloudFront distribution created successfully
  • Confirmed no Node.js 20 deprecation warnings after v5/v6 bumps
  • Verify existing GCP+AWS tenant workflows still work

🤖 Generated with Claude Code

andypotanin and others added 6 commits May 2, 2026 12:06
- state_backend: override backend type (s3, http, consul, etc.)
- state_backend_config: key=value backend config lines
- state_prefix_key: backend-specific path key (prefix for gcs, key for s3)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Node.js 20 actions are deprecated (EOL June 2, 2026). v5 of both
actions uses Node.js 24.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
v5 still runs on Node.js 20. v6 is required for Node.js 24 runtime.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 2, 2026 21:44
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the GitHub composite action to support a multi-cloud model where authentication is handled by the calling workflow, adds backend override inputs for non-GCS Terraform/OpenTofu state, and refreshes documentation/examples accordingly.

Changes:

  • Removed built-in GCP/AWS auth inputs/steps and switched to environment-based credential detection (AWS/GCP/Azure) passed into the IaC container.
  • Added state backend override inputs (state_backend, state_backend_config, state_prefix_key) for multi-cloud backends.
  • Updated artifact upload action versions and rewrote README examples/architecture docs for the new model.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
action.yml Removes embedded auth steps, adds state backend inputs, and forwards detected cloud credentials into the container runtime.
README.md Updates usage examples for externalized auth, adds multi-backend documentation, and refreshes config shape examples.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread action.yml
Comment thread README.md Outdated
Comment thread action.yml
- Add explicit default: "gcs" to state_backend input
- Add :- fallback on AWS_SECRET_ACCESS_KEY to prevent unbound var error
- Clarify README state_backend default column

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@andypotanin andypotanin requested a review from fqjony May 4, 2026 14:33
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.

2 participants