Add generate section inheritance and auto-generation support @osterman (#1878)
## what- Add
generatesection to stack config inheritance pipeline with full support for base components, component-level overrides, and component overrides - Implement
atmos terraform generate filescommand with--all,--dry-run, and--cleanflags for generating auxiliary configuration files - Add
auto_generate_files: trueconfiguration option to automatically generate files during terraform operations - Extension-aware serialization:
.json,.yaml,.ymlfiles serialize in their respective formats,.tfand.hclfiles generate valid HCL - Go template support: String values in generate sections are processed as Go templates with full access to component context
- Update all integration test snapshots to reflect new
auto_generate_filesconfiguration field
why
Teams often need to generate auxiliary configuration files alongside Terraform components—files like .tool-versions, terragrunt.hcl shims for gradual migration, or environment-specific locals. This feature brings file generation directly into Atmos's declarative configuration model, maintaining the principle that infrastructure configuration should be fully described in YAML and reproducible from stack manifests. The inheritance support ensures teams can define common generate patterns in base components while allowing component-specific customization.
references
- Implements declarative file generation PRD
- Feature branch:
osterman/generate-section-prd
Summary by CodeRabbit
-
New Features
- Added declarative file generation for Terraform components via new
generatesections in stack configurations. - New
atmos terraform generate filescommand to automatically create auxiliary configuration files. - Support for extension-aware serialization (JSON, YAML, HCL, Terraform).
- Go template processing for dynamic content in generated files.
- Dry-run mode to preview generated files without writing.
- Multi-level configuration inheritance for generated files.
- Auto-generation toggle via
auto_generate_filesconfiguration.
- Added declarative file generation for Terraform components via new
-
Documentation
- Added comprehensive guides for declarative file generation and CLI usage.
-
Tests
- Added extensive test coverage for file generation and cleanup workflows.
✏️ Tip: You can customize this high-level summary in your review settings.
feat(auth): add PRD for native Okta authentication identity @RoseSecurity (#1924)
## what[!NOTE]
This is my first PRD, so any feedback is appreciated!
Add PRD for native Okta authentication as a first-class identity provider in Atmos. Unlike the existing SAML-based integration, this introduces dedicated okta/* providers enabling:
- OAuth 2.0 Device Authorization Grant for CLI authentication
- Direct Okta API access with automatic token refresh
- AWS/Azure/GCP federation via OIDC (
AssumeRoleWithWebIdentity) - XDG-compliant credential storage (
~/.config/atmos/okta/)
why
- Provides implementation reference following established auth patterns (AWS, Azure PRDs)
- Addresses user requests for native Okta support without browser-based SAML
Test plan
- PRD follows universal file isolation pattern
- Code samples reviewed for Atmos conventions
- Implementation checklist is complete and actionable
references
Summary by CodeRabbit
- Documentation
- Added a comprehensive Okta PRD defining goals, use cases (AWS OIDC federation, API access, multi-cloud), technical specification, token/file isolation and storage guidance, phased implementation roadmap, testing and security considerations, example policies, and an implementation checklist.
- Chores
- Added a roadmap milestone for Native Okta Authentication (Device Code Flow).
✏️ Tip: You can customize this high-level summary in your review settings.
feat: Implement unified import adapter registry @osterman (#1897)
## what- Added extensible ImportAdapter interface for pluggable import sources
- Implemented ImportAdapterRegistry with lazy initialization and thread-safe registration
- Created GoGetterAdapter handling http, https, git, s3, oci, and other remote schemes
- Created LocalAdapter as default fallback for filesystem paths
- Created MockAdapter for testing with mock:// scheme
- Unified import handling via registry pattern instead of if/else chains
- Removed obsolete functions (isRemoteImport, processRemoteImport, processLocalImport, downloadRemoteConfig)
- Added comprehensive adapter tests with 90%+ coverage
why
- Extensible design: New import sources (terragrunt://, etc) can be added without modifying core logic
- Clear separation of concerns: Each adapter handles its own scheme
- Testability: Mock adapter enables unit testing without external dependencies
- Thread-safe: Lazy initialization with sync.Once prevents import cycles and race conditions
- Reduced complexity: Unified registry replaces scattered conditional logic
- Better error handling: Adapters can implement their own error strategies
references
- Implements design from
docs/prd/import-adapter-registry.md - Resolves circular dependency issues with lazy adapter initialization
- Provides foundation for future adapters (terragrunt, etc)
Summary by CodeRabbit
-
New Features
- Unified, extensible import adapter system enabling custom schemes, adapter-first routing, and improved handling of nested imports.
-
Tests
- Expanded adapter-focused tests covering routing, error handling, nested imports, mock scenarios, and registry behavior.
-
Documentation
- Added a detailed PRD for the Import Adapter Registry with architecture, examples, and phased rollout.
-
Chores
- Bumped Atmos version in build/config and added a roadmap milestone for the adapter registry.
✏️ Tip: You can customize this high-level summary in your review settings.