udx/Rabbit Automation Action
Declare cloud infrastructure in YAML. Deploy to AWS, GCP, and Kubernetes with git push.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| project_id | GCP project ID for Terraform state and resource operations | yes | — |
| gcp_auth_provider | GCP Workload Identity Federation provider resource name | yes | — |
| gcp_service_account | GCP service account email for Workload Identity | yes | — |
| aws_role_arn | AWS IAM OIDC role ARN for Route53, CloudFront, WAF, ACM | no | — |
| aws_region | AWS region | no | — |
| dockerhub_username | Docker Hub username for pulling R2A image | no | — |
| dockerhub_token | Docker Hub token for pulling R2A image (avoids rate limits) | no | — |
| dockerhub_helm_token | Docker Hub token for Helm OCI registry auth inside R2A container (falls back to dockerhub_token) | no | — |
| r2a_version | R2A Docker image tag (default: latest) | no | latest |
| terraform_action | Terraform action: apply or destroy (default: apply; auto-set to destroy on branch delete) | no | apply |
| plan_only | Override plan mode (auto-detected: PRs and schedules → true, pushes → false) | no | — |
| environment | Override environment name (auto-detected from branch name) | no | — |
| print_config | Print merged config in logs for debugging (true/false) | no | true |
| multi_repo | Enable per-repo Terraform state isolation (true/false) | no | false |
| shared_project | Shared GCP project for cross-project K8s cluster access | no | — |
| k8s_cluster_name | GKE cluster name for kubeconfig setup | no | — |
| newrelic_account_id | New Relic account ID (passed as TF_VAR_newrelic_account_id) | no | — |
| newrelic_api_key | New Relic API key (passed as TF_VAR_newrelic_api_key) | no | — |
| slack_webhook | Slack incoming webhook URL for deployment notifications | no | — |
| source_dir | Source directory for .rabbit configs | no | .rabbit |
| github_token | GitHub token for branch protection detection and PR comments | no | ${{ github.token }} |
Outputs
| name | description |
|---|---|
| environment | Resolved environment name |
| lifecycle | Resolved lifecycle (production, staging, development) |
| plan_only | Whether the run was plan-only |
| terraform_action | Terraform action that was executed (apply, destroy, skip) |
| has_changes | Whether Terraform detected changes |
| changes_msg | Summary of changes (e.g. Add: 2, Change: 1, Destroy: 0) |
| cloudfront_distribution_id | CloudFront distribution ID from Terraform outputs |
| k8s_namespace | Kubernetes namespace derived from repository name |
| config_path | Path to the merged config file |