Config refactor split files#27
Conversation
Add viper for configuration management and other required dependencies. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add default config.yaml template and comprehensive documentation explaining the new configuration system. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add specialized config structs for different commands: - app.go: Application-level config - migrate_config.go: Migration command config - serve_config.go: Serve command config - Corresponding test files with comprehensive coverage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Refactor all config components to integrate with viper-based configuration system: - config.go: Core config loading and validation - db.go: Database configuration - health_check.go: Health check configuration - metrics.go: Metrics configuration - ocm.go: OCM configuration - server.go: Server configuration - config_test.go: Updated tests for new system 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add HTTP handlers to expose configuration via API endpoint for runtime inspection and debugging. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Refactor environment framework to integrate with the new viper-based configuration system. Simplify environment-specific configurations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Update migrate and serve commands to use the new configuration framework with command-specific config structs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Update API, healthcheck, and metrics servers to use the new configuration system. Add config endpoint to routes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Update test helpers to work with new config system and fix integration tests to use updated configuration. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Update build and test targets to support the new configuration system and testing requirements. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Comment |
|
@rh-amarin: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Config Refactor based on proposed standard
This PR refactors the configuration system to use https://github.com/spf13/viper for more flexible and maintainable configuration management.
What Changed
How to Review This PR
The commits are organized in a logical sequence to make reviewing easier. Review them in order:
1️⃣ Dependencies (Commit 1)
Files: go.mod, go.sum
Focus: Verify viper and related dependencies are appropriate
2️⃣ Documentation & Template (Commit 2)
Files: configs/config.yaml, docs/config.md
Focus:
3️⃣ New Config Components (Commit 3)
Files: pkg/config/app.go, pkg/config/migrate_config.go, pkg/config/serve_config.go, tests
Focus:
4️⃣ Core Config Refactor (Commit 4)
Files: pkg/config/*.go
Focus:
5️⃣ Config Handlers (Commit 5)
Files: pkg/handlers/config.go, pkg/handlers/config_test.go
Focus:
6️⃣ Environment Framework (Commit 6)
Files: cmd/hyperfleet-api/environments/*.go
Focus:
7️⃣ Command Updates (Commit 7)
Files: cmd/hyperfleet-api/migrate/cmd.go, cmd/hyperfleet-api/servecmd/cmd.go
Focus:
8️⃣ Server Components (Commit 8)
Files: cmd/hyperfleet-api/server/*.go
Focus:
9️⃣ Test Updates (Commit 9)
Files: test/helper.go, test/integration/*.go
Focus:
🔟 Build System (Commit 10)
Files: Makefile
Focus:
Testing Checklist
Acceptance Criteria