-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Test Validation Request
Parent Issue: #132
Developer Branch: simple-forge/issue-132-implement-environment-specific-ta3muh
Pull Request: #139
Description
Verify the implementation of environment-specific secrets filtering in parent stacks. The feature includes three modes (include, exclude, override), three reference patterns (direct/~, mapped/${secret:KEY}, literal), stack reconciliation integration, and validation. All acceptance criteria have been addressed.
Test Types
- unit
Acceptance Criteria
- AC-1: Basic Environment Isolation - When deploying to staging, only staging-configured secrets are available
- AC-2: Secret Mapping - When a client references DATABASE_PASSWORD in staging, the value resolves to DATABASE_PASSWORD_STAGING using ${secret:} syntax
- AC-3: Literal Values - When a parent stack has literal secret values configured, the literal value is used
- AC-4: Exclusion Mode - When using inheritAll: true with exclusions, all secrets except excluded ones are available
- AC-5: Backwards Compatibility - Existing parent stacks without secretsConfig work without modification
- AC-6: Validation Errors - When a client references an unavailable secret, validation returns clear error message
Files/Areas to Test
pkg/api/server.gopkg/api/secrets.gopkg/api/read.gopkg/api/models.gopkg/api/validation.gopkg/api/copy.gopkg/api/secrets_config_test.go
Implementation Notes
Added EnvironmentSecretsConfig and SecretsConfigMap types to server.go. Implemented SecretResolver in secrets.go with support for include/exclude/override modes and direct/mapped/literal reference patterns. Added DetectSecretsConfigType to read.go for validation during config reading. Modified ReconcileForDeploy in models.go to apply secret filtering during stack reconciliation. Created validation.go with ValidateSecretReferences and ValidateSecretAccess functions. Updated SecretsConfigDescriptor.Copy() in copy.go to preserve SecretsConfig field. Added comprehensive unit tests covering all modes and edge cases.
Known Issues
None known. All tests pass. The JSON schema generator will automatically discover the new types through reflection.
Priority: high
This QA validation issue was automatically created by the Multi-Role Orchestration system.