rovergo only expects you to use caf_launchpad or caf_solutions. When using caf_solution/addons the cli parser fails.
Rover(sh) has the -lz option with which you can point to every terraform root directory on you machine. Here is an example how to apply the devops_v1 addon from launchpad docs using rover(sh)
when using rovergo, you can't just point to that folder, because the cli parser expects you to have one of those suffixes in your path to determine if you are rolling out caf_launchpad or caf_solution:
const cafLaunchPadDir = "/caf_launchpad"
const cafLandingzoneDir = "/caf_solution"
// SetSourcePath ensures the source path is correct and absolute
func (o *Options) SetSourcePath(sourcePath string) {
if strings.HasSuffix(sourcePath, cafLaunchPadDir) || strings.HasSuffix(sourcePath, cafLandingzoneDir) {
cobra.CheckErr(fmt.Sprintf("source should not include %s or %s", cafLandingzoneDir, cafLaunchPadDir))
}
// Convert to absolute paths as a precaution
sourcePath, err := filepath.Abs(sourcePath)
cobra.CheckErr(err)
if o.LaunchPadMode {
o.SourcePath = path.Join(sourcePath, cafLaunchPadDir)
} else {
o.SourcePath = path.Join(sourcePath, cafLandingzoneDir)
}
> $HOME/custom_actions directory exists - will not extract example files
>Unable to open source directory: /Users/me/Documents/......./terraform-landingzones/caf_solution/add-ons/azure_devops_v1/caf_solution
> Error: Source directory must exist for rover to run
Workaround:
Move the addon content to a nested caf_solution folder so the path is: /Users/me/Documents/......./terraform-landingzones/caf_solution/add-ons/azure_devops_v1/caf_solution/.
then use this command to configure your source:
rovergo only expects you to use caf_launchpad or caf_solutions. When using caf_solution/addons the cli parser fails.
Rover(sh) has the -lz option with which you can point to every terraform root directory on you machine. Here is an example how to apply the devops_v1 addon from launchpad docs using rover(sh)
when using rovergo, you can't just point to that folder, because the cli parser expects you to have one of those suffixes in your path to determine if you are rolling out caf_launchpad or caf_solution:
So when I run
I get this response:
Workaround: Move the addon content to a nested
caf_solution
folder so the path is:/Users/me/Documents/......./terraform-landingzones/caf_solution/add-ons/azure_devops_v1/caf_solution/
. then use this command to configure your source:Expected Behavior
Either of those:
Actual Behavior
rovergo fails with a misleading error message and does not allow to rollout the addon.
Steps to Reproduce the Problem
Theoretically it should be reproducible with every addon. In my specific case, I used the azure_devops_v1 with modified defaults.
Environment Details