feat: add cf manifest command for external tool integration#68
Merged
Conversation
Add 'ibosh cf manifest' command that outputs the interpolated CF deployment manifest with all ops files applied. This enables external tools to build on top of the ibosh-generated CF manifest. Key features: - Variable credentials remain as placeholders (e.g. ((cf_admin_password))) - system_domain and router_static_ips are substituted with resolved values - BOSH env is optional when --router-ip is explicitly provided - Manifest output goes to stdout, info messages to stderr Also refactors CFDeployAction to use shared functions (ResolveCFConfig, PrepareCFManifestFiles) for DRY code.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
ibosh cf manifestcommand that outputs the interpolated CF deployment manifest with all ops files appliedCFDeployActionto use shared functions for DRY codeFeatures
((cf_admin_password))) since they are generated by config-server during deploymentsystem_domainandrouter_static_ipsare substituted with resolved values--router-ipis explicitly providedUsage Examples
Changes
internal/commands/cf.go: Added shared types (CFManifestConfig,CFManifestFiles) and functions (ResolveCFConfig,PrepareCFManifestFiles), newCFManifestAction, and refactoredCFDeployActioncmd/ibosh/main.go: Registered newmanifestsubcommand undercfinternal/commands/commands_test.go: Added test forCFManifestActionexport