-
-
Notifications
You must be signed in to change notification settings - Fork 153
feat: Add automatic backend provisioning #1808
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 65 commits
Commits
Show all changes
71 commits
Select commit
Hold shift + click to select a range
f83367d
feat: Add automatic backend provisioning with S3 support
osterman e972b3e
docs: Document provision block configuration hierarchy
osterman ead68a1
fix: Address CodeRabbit review feedback for backend provisioning
osterman 70f808f
test: Add comprehensive test coverage for backend provisioning
osterman d7200b9
test: Add interface-based mocking for S3 provisioner
osterman 461e596
test: Regenerate snapshots for provision command
osterman 79b874e
Merge branch 'main' into osterman/auto-backend-provision
osterman 074bfe2
Merge branch 'main' into osterman/auto-backend-provision
osterman 26aa9de
fix: Remove BucketKeyEnabled from AES-256 encryption config
osterman 9a6e9f1
docs: Add use_lockfile to S3 backend provisioning examples
osterman d1067cb
docs: Streamline blog post and refocus on Terraform compatibility
osterman 80aaeb4
docs: Reframe blog post section as solving Terraform bootstrap problem
osterman ff06678
docs: Remove unnecessary step to disable automatic provisioning
osterman 61eced2
feat: Add CRUD operations for backend provisioning
osterman 21f318e
refactor: Eliminate code duplication in backend commands
osterman a84289e
docs: Update backend provisioning command documentation
osterman f1770dd
docs: Update backend provisioning docs to emphasize Terraform compati…
osterman 8b4209e
docs: Fix documentation links and restructure provision command docs
osterman d963787
Merge remote-tracking branch 'origin/main' into osterman/auto-backend…
osterman 3ee21c7
test: update snapshots for provision command move to terraform subcom…
osterman dc7a632
test: increase coverage for backend provision and TUI templates
osterman 60ce6f0
fix: resolve lintroller errors for performance tracking and test isol…
osterman a3bfde7
refactor: eliminate code duplication and reduce test complexity
osterman ca8b98c
docs: fix backend_type placement in YAML examples and godot linter vi…
osterman 16e8d85
fix(ci): configure git authentication for golangci-lint custom build
osterman ab18ce0
refactor: simplify backend commands by removing provision namespace
osterman 843eeb1
refactor: consolidate provisioner packages and adopt CRUD naming
osterman 5d832a6
feat: add component-level auth support for backend commands
osterman 98f6063
docs: add component-level auth documentation for backend commands
osterman 1a0f8af
test: regenerate snapshot for atmos terraform help
osterman 607a918
Merge branch 'main' into osterman/auto-backend-provision
osterman 57c7ef9
fix: enforce force flag requirement in DeleteS3Backend
osterman e48531e
refactor: improve DeleteS3Backend function structure and test coverage
osterman 45fa45a
test: increase cmd/terraform/backend test coverage to 75%
osterman 0d40d27
docs: refactor backend documentation into 3 focused pages
osterman 627edd1
docs: convert backend lists to Terraform/OpenTofu tabs
osterman a3a2b95
docs: update backend docs to use native S3 locking and lead with Atmo…
osterman a61b9bb
docs: fix S3 bucket naming to follow null label format
osterman 058109f
Merge branch 'main' into osterman/auto-backend-provision
osterman b378ab0
fix: remove unused Screengrab import and add period to comment
osterman 557b83d
docs: replace :::note Purpose with <Intro> component
osterman ea9c010
docs: add screengrab for atmos terraform backend command
osterman 054ac1f
docs: move Backend Provisioning link from bullet to CTA
osterman bf8b477
docs: add tip about committing backend.tf.json
osterman 81c03a4
Merge branch 'main' into osterman/auto-backend-provision
osterman 8305606
Merge branch 'main' into osterman/auto-backend-provision
osterman 7b3eeb3
docs: reorganize backend documentation with MDX partials
osterman 1c1f192
Merge branch 'main' into osterman/auto-backend-provision
osterman f01e73c
Merge branch 'main' into osterman/auto-backend-provision
osterman 7c47fc9
Merge branch 'main' into osterman/auto-backend-provision
osterman b457df3
refactor: consolidate AWS config error to ErrLoadAWSConfig
osterman f089e6f
test: add tests for help printer empty lines handling
osterman bb38566
Merge remote-tracking branch 'origin/main' into osterman/auto-backend…
osterman 06c050f
test: add init() verification tests for backend commands
osterman 72371af
docs: fix hard tab in auth-context-multi-identity.md line 559
osterman 5a18e15
Merge branch 'main' into osterman/auto-backend-provision
osterman a9522f0
refactor: remove duplicate ErrLoadAwsConfig sentinel error
osterman 9cad4f8
Merge branch 'main' into osterman/auto-backend-provision
osterman 9670bec
Merge branch 'main' into osterman/auto-backend-provision
osterman fab1c6c
Merge branch 'main' into osterman/auto-backend-provision
aknysh 3fe5e75
Merge branch 'main' into osterman/auto-backend-provision
aknysh c60a3ab
update docs, add tests
aknysh 33a196d
Merge branch 'main' into osterman/auto-backend-provision
aknysh ff69265
Merge branch 'main' into osterman/auto-backend-provision
aknysh 88f00fe
address comments, update docs, add tests
aknysh e64b79e
address comments, update docs
aknysh 8e9cb73
fix: Address final CodeRabbit review comments
aknysh 79d49b1
refactor: Use ErrorBuilder for user-facing errors in s3_delete.go
aknysh 9423186
fix: Use params.AtmosConfig for perf.Track in provisioner functions
aknysh 811d4bd
fix: Replace hard tabs with spaces in PRD Go code blocks (MD010)
aknysh 3e43c02
fix: Add missing errors import to PRD Go example
aknysh File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| package backend | ||
|
|
||
| import ( | ||
| "github.com/spf13/cobra" | ||
|
|
||
| "github.com/cloudposse/atmos/pkg/schema" | ||
| ) | ||
|
|
||
| // AtmosConfigPtr will be set by SetAtmosConfig before command execution. | ||
| var atmosConfigPtr *schema.AtmosConfiguration | ||
|
|
||
| // SetAtmosConfig sets the Atmos configuration for the backend command. | ||
| // This is called from root.go after atmosConfig is initialized. | ||
| func SetAtmosConfig(config *schema.AtmosConfiguration) { | ||
| atmosConfigPtr = config | ||
| } | ||
|
|
||
| // backendCmd represents the backend command. | ||
| var backendCmd = &cobra.Command{ | ||
| Use: "backend", | ||
| Short: "Manage Terraform state backends", | ||
| Long: `Create, list, describe, update, and delete Terraform state backends.`, | ||
| } | ||
|
|
||
| func init() { | ||
| // Add CRUD subcommands | ||
| backendCmd.AddCommand(createCmd) | ||
| backendCmd.AddCommand(listCmd) | ||
| backendCmd.AddCommand(describeCmd) | ||
| backendCmd.AddCommand(updateCmd) | ||
| backendCmd.AddCommand(deleteCmd) | ||
| } | ||
|
|
||
| // GetBackendCommand returns the backend command for parent registration. | ||
| func GetBackendCommand() *cobra.Command { | ||
| return backendCmd | ||
| } |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.