Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up some template parsing. #1127

Merged
merged 4 commits into from
Jul 1, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion atrium/trcflow/core/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@ func (tfmContext *TrcFlowMachineContext) CreateDataFlowTableTriggers(trcfc *TrcF
}

func (tfmContext *TrcFlowMachineContext) GetFlowConfiguration(trcfc *TrcFlowContext, flowTemplatePath string) (map[string]interface{}, bool) {
flowProject, flowService, flowConfigTemplatePath := eUtils.GetProjectService(flowTemplatePath)
flowProject, flowService, _, flowConfigTemplatePath := eUtils.GetProjectService(nil, flowTemplatePath)
flowConfigTemplateName := eUtils.GetTemplateFileName(flowConfigTemplatePath, flowService)
trcfc.GoMod.SectionKey = "/Restricted/"
trcfc.GoMod.SectionName = flowService
Expand Down
12 changes: 6 additions & 6 deletions atrium/vestibulum/trcdb/trcplgtoolbase/trcplgtoolbase.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import (
trcapimgmtbase "github.com/trimble-oss/tierceron/atrium/vestibulum/trcdb/trcapimgmtbase"
)

func CommonMain(envPtr *string,
func CommonMain(envDefaultPtr *string,
addrPtr *string,
tokenPtr *string,
envCtxPtr *string,
Expand Down Expand Up @@ -260,7 +260,7 @@ func CommonMain(envPtr *string,

//
if tokenNamePtr == nil || *tokenNamePtr == "" || tokenPtr == nil || *tokenPtr == "" {
autoErr := eUtils.AutoAuth(&trcshDriverConfigBase.DriverConfig, secretIDPtr, appRoleIDPtr, tokenPtr, tokenNamePtr, envPtr, addrPtr, envCtxPtr, *appRoleConfigPtr, false)
autoErr := eUtils.AutoAuth(&trcshDriverConfigBase.DriverConfig, secretIDPtr, appRoleIDPtr, tokenPtr, tokenNamePtr, envDefaultPtr, addrPtr, envCtxPtr, *appRoleConfigPtr, false)
if autoErr != nil {
eUtils.LogErrorMessage(&trcshDriverConfigBase.DriverConfig.CoreConfig, "Auth failure: "+autoErr.Error(), false)
return errors.New("auth failure")
Expand All @@ -278,7 +278,7 @@ func CommonMain(envPtr *string,
fmt.Println("Error: Could not find plugin config")
return errors.New("could not find plugin config")
}
pluginConfig["env"] = *envPtr
pluginConfig["env"] = *envDefaultPtr
pluginConfig["vaddress"] = *addrPtr
if tokenPtr != nil {
pluginConfig["token"] = *tokenPtr
Expand Down Expand Up @@ -309,12 +309,12 @@ func CommonMain(envPtr *string,
} else {
trcshDriverConfigBase.DriverConfig.SubSectionValue = *pluginNamePtr
}
mod.Env = *envPtr
mod.Env = *envDefaultPtr
if logger != nil {
logger.Printf("Certify mod initialized\n")
}

if strings.HasPrefix(*envPtr, "staging") || strings.HasPrefix(*envPtr, "prod") || strings.HasPrefix(*envPtr, "dev") {
if strings.HasPrefix(*envDefaultPtr, "staging") || strings.HasPrefix(*envDefaultPtr, "prod") || strings.HasPrefix(*envDefaultPtr, "dev") {
supportedRegions := eUtils.GetSupportedProdRegions()
if *regionPtr != "" {
for _, supportedRegion := range supportedRegions {
Expand All @@ -332,7 +332,7 @@ func CommonMain(envPtr *string,
}

if *updateAPIMPtr {
updateAPIMError := trcapimgmtbase.CommonMain(envPtr, addrPtr, tokenPtr, nil, secretIDPtr, appRoleIDPtr, tokenNamePtr, regionPtr, startDirPtr, config, mod)
updateAPIMError := trcapimgmtbase.CommonMain(envDefaultPtr, addrPtr, tokenPtr, nil, secretIDPtr, appRoleIDPtr, tokenNamePtr, regionPtr, startDirPtr, config, mod)
if updateAPIMError != nil {
fmt.Println(updateAPIMError.Error())
fmt.Println("Couldn't update APIM...proceeding with build")
Expand Down
2 changes: 1 addition & 1 deletion atrium/vestibulum/trcflow/deploy/process.go
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,7 @@ func PluginDeployedUpdate(driverConfig *eUtils.DriverConfig, mod *helperkv.Modif

hostRegion := coreopts.BuildOptions.GetRegion(hostName)
mod.Regions = append(mod.Regions, hostRegion)
projects, services, _ := eUtils.GetProjectServices(cPath)
projects, services, _ := eUtils.GetProjectServices(nil, cPath)
for _, pluginName := range pluginNameList {
for i := 0; i < len(projects); i++ {
if services[i] == "Certify" {
Expand Down
4 changes: 2 additions & 2 deletions atrium/vestibulum/trcflow/flumen/process.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ func ProcessFlows(pluginConfig map[string]interface{}, logger *log.Logger) error
GetAdditionalFlowsByState: flowopts.BuildOptions.GetAdditionalFlowsByState,
FlowMap: map[flowcore.FlowNameType]*flowcore.TrcFlowContext{},
}
projects, services, _ := eUtils.GetProjectServices(pluginConfig["connectionPath"].([]string))
projects, services, _ := eUtils.GetProjectServices(nil, pluginConfig["connectionPath"].([]string))
var sourceDatabaseConfigs []map[string]interface{}
var vaultDatabaseConfig map[string]interface{}
var spiralDatabaseConfig map[string]interface{}
Expand Down Expand Up @@ -198,7 +198,7 @@ func ProcessFlows(pluginConfig map[string]interface{}, logger *log.Logger) error
flowStateReceiverMap := map[string]chan flowcorehelper.FlowStateUpdate{}

for _, template := range templateList {
source, service, tableTemplateName := eUtils.GetProjectService(template)
source, service, _, tableTemplateName := eUtils.GetProjectService(nil, template)
tableName := eUtils.GetTemplateFileName(tableTemplateName, service)
if tableName != flowcorehelper.TierceronFlowConfigurationTableName {
driverConfigBasis.VersionFilter = append(driverConfigBasis.VersionFilter, tableName)
Expand Down
4 changes: 1 addition & 3 deletions atrium/vestibulum/trcsh/deployutil/deployutil.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func LoadPluginDeploymentScript(trcshDriverConfig *capauth.TrcshDriverConfig, tr
tempEnv := trcshDriverConfig.DriverConfig.EnvBasis
envParts := strings.Split(trcshDriverConfig.DriverConfig.EnvBasis, "-")
mod.Env = envParts[0]
fmt.Printf("Loading deployment details for %s and env %s", deployment, mod.Env)
fmt.Printf("Loading deployment details for %s and env %s\n", deployment, mod.Env)
deploymentConfig, err := mod.ReadData(fmt.Sprintf("super-secrets/Index/TrcVault/trcplugin/%s/Certify", deployment))
mod.Env = tempEnv
if err != nil {
Expand All @@ -56,9 +56,7 @@ func LoadPluginDeploymentScript(trcshDriverConfig *capauth.TrcshDriverConfig, tr
if trcProjectService, ok := trcshDriverConfig.DriverConfig.DeploymentConfig["trcprojectservice"]; ok && strings.Contains(trcProjectService.(string), "/") {
var content []byte
trcProjectServiceSlice := strings.Split(trcProjectService.(string), "/")
trcshDriverConfig.DriverConfig.ZeroConfig = true
contentArray, _, _, err := vcutils.ConfigTemplate(&trcshDriverConfig.DriverConfig, mod, fmt.Sprintf("./trc_templates/%s/deploy/deploy.trc.tmpl", trcProjectService.(string)), true, trcProjectServiceSlice[0], trcProjectServiceSlice[1], false, true)
trcshDriverConfig.DriverConfig.ZeroConfig = false
if err != nil {
eUtils.LogErrorObject(&trcshDriverConfig.DriverConfig.CoreConfig, err, false)
return nil, err
Expand Down
31 changes: 15 additions & 16 deletions atrium/vestibulum/trcshbase/trcsh.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,9 @@ func TrcshInitConfig(env string, region string, pathParam string, outputMemCache
MemFs: &trcshMemFs.TrcshMemFs{
BillyFs: memfs.New(),
},
Regions: regions,
PathParam: pathParam, // Make available to trcplgtool
ZeroConfig: true,
Regions: regions,
PathParam: pathParam, // Make available to trcplgtool
},
}
return trcshDriverConfig, nil
Expand Down Expand Up @@ -287,14 +288,14 @@ func CommonMain(envPtr *string, addrPtr *string, envCtxPtr *string,
memprotectopts.MemProtect(nil, secretIDPtr)
memprotectopts.MemProtect(nil, appRoleIDPtr)

config, err := TrcshInitConfig(*envPtr, *regionPtr, pathParam, true)
trcshDriverConfig, err := TrcshInitConfig(*envPtr, *regionPtr, pathParam, true)
if err != nil {
fmt.Printf("trcsh config setup failure: %s\n", err.Error())
os.Exit(124)
}

//Open deploy script and parse it.
ProcessDeploy(nil, config, "", "", *trcPathPtr, *projectServicePtr, secretIDPtr, appRoleIDPtr, true, dronePtr)
ProcessDeploy(nil, trcshDriverConfig, "", "", *trcPathPtr, *projectServicePtr, secretIDPtr, appRoleIDPtr, true, dronePtr)
} else {
agentToken := os.Getenv("AGENT_TOKEN")
agentEnv := os.Getenv("AGENT_ENV")
Expand Down Expand Up @@ -485,7 +486,7 @@ func featherCtlCb(featherCtx *cap.FeatherContext, agentName string) error {
return nil
}

func roleBasedRunner(env string,
func roleBasedRunner(
region string,
trcshDriverConfig *capauth.TrcshDriverConfig,
control string,
Expand All @@ -497,7 +498,6 @@ func roleBasedRunner(env string,
*configCount -= 1
trcshDriverConfig.DriverConfig.AppRoleConfig = "config.yml"
trcshDriverConfig.DriverConfig.FileFilter = nil
trcshDriverConfig.DriverConfig.EnvBasis = env
trcshDriverConfig.DriverConfig.CoreConfig.WantCerts = false
trcshDriverConfig.DriverConfig.IsShellSubProcess = true
trcshDriverConfig.DriverConfig.CoreConfig.Log.Printf("Role runner init: %s\n", control)
Expand All @@ -513,25 +513,26 @@ func roleBasedRunner(env string,
trcshDriverConfig.DriverConfig.EndDir = "."
}
configRoleSlice := strings.Split(*gTrcshConfig.ConfigRole, ":")
tokenName := "config_token_" + env
tokenName := "config_token_" + trcshDriverConfig.DriverConfig.EnvBasis
tokenConfig := ""
configEnv := env
envDefaultPtr := trcshDriverConfig.DriverConfig.EnvBasis
var err error
trcshDriverConfig.DriverConfig.CoreConfig.Log.Printf("Role runner complete: %s\n", control)

switch control {
case "trcplgtool":
tokenConfig := token
err = trcplgtoolbase.CommonMain(&configEnv, &trcshDriverConfig.DriverConfig.VaultAddress, &tokenConfig, &gTrcshConfig.EnvContext, &configRoleSlice[1], &configRoleSlice[0], &tokenName, &region, nil, deployArgLines, trcshDriverConfig)
envDefaultPtr = trcshDriverConfig.DriverConfig.Env
err = trcplgtoolbase.CommonMain(&envDefaultPtr, &trcshDriverConfig.DriverConfig.VaultAddress, &tokenConfig, &gTrcshConfig.EnvContext, &configRoleSlice[1], &configRoleSlice[0], &tokenName, &region, nil, deployArgLines, trcshDriverConfig)
case "trcconfig":
if trcshDriverConfig.DriverConfig.EnvBasis == "itdev" || trcshDriverConfig.DriverConfig.EnvBasis == "staging" || trcshDriverConfig.DriverConfig.EnvBasis == "prod" ||
trcshDriverConfig.DriverConfig.Env == "itdev" || trcshDriverConfig.DriverConfig.Env == "staging" || trcshDriverConfig.DriverConfig.Env == "prod" {
trcshDriverConfig.DriverConfig.OutputMemCache = false
}
err = trcconfigbase.CommonMain(&configEnv, &trcshDriverConfig.DriverConfig.VaultAddress, &tokenConfig, &gTrcshConfig.EnvContext, &configRoleSlice[1], &configRoleSlice[0], &tokenName, &region, nil, deployArgLines, &trcshDriverConfig.DriverConfig)
err = trcconfigbase.CommonMain(&envDefaultPtr, &trcshDriverConfig.DriverConfig.VaultAddress, &tokenConfig, &gTrcshConfig.EnvContext, &configRoleSlice[1], &configRoleSlice[0], &tokenName, &region, nil, deployArgLines, &trcshDriverConfig.DriverConfig)
case "trcsub":
trcshDriverConfig.DriverConfig.EndDir = trcshDriverConfig.DriverConfig.EndDir + "/trc_templates"
err = trcsubbase.CommonMain(&configEnv, &trcshDriverConfig.DriverConfig.VaultAddress, &gTrcshConfig.EnvContext, &configRoleSlice[1], &configRoleSlice[0], nil, deployArgLines, &trcshDriverConfig.DriverConfig)
err = trcsubbase.CommonMain(&envDefaultPtr, &trcshDriverConfig.DriverConfig.VaultAddress, &gTrcshConfig.EnvContext, &configRoleSlice[1], &configRoleSlice[0], nil, deployArgLines, &trcshDriverConfig.DriverConfig)
}
ResetModifier(&trcshDriverConfig.DriverConfig) //Resetting modifier cache to avoid token conflicts.

Expand Down Expand Up @@ -576,7 +577,7 @@ func processPluginCmds(trcKubeDeploymentConfig **kube.TrcKubeConfig,
trcshDriverConfig.DriverConfig.Token = token
}
case "trcconfig":
err := roleBasedRunner(env, region, trcshDriverConfig, control, isAgentToken, token, argsOrig, deployArgLines, configCount)
err := roleBasedRunner(region, trcshDriverConfig, control, isAgentToken, token, argsOrig, deployArgLines, configCount)
if err != nil {
os.Exit(1)
}
Expand Down Expand Up @@ -651,7 +652,7 @@ func processPluginCmds(trcKubeDeploymentConfig **kube.TrcKubeConfig,
trcshDriverConfig.FeatherCtx.Log = trcshDriverConfig.DriverConfig.CoreConfig.Log
}

err := roleBasedRunner(env, region, trcshDriverConfig, control, isAgentToken, *gTrcshConfig.CToken, argsOrig, deployArgLines, configCount)
err := roleBasedRunner(region, trcshDriverConfig, control, isAgentToken, *gTrcshConfig.CToken, argsOrig, deployArgLines, configCount)
if err != nil {
os.Exit(1)
}
Expand Down Expand Up @@ -694,7 +695,6 @@ func processPluginCmds(trcKubeDeploymentConfig **kube.TrcKubeConfig,
func processDroneCmds(trcKubeDeploymentConfig *kube.TrcKubeConfig,
onceKubeInit *sync.Once,
PipeOS billy.File,
env string,
region string,
trcshDriverConfig *capauth.TrcshDriverConfig,
control string,
Expand All @@ -704,7 +704,7 @@ func processDroneCmds(trcKubeDeploymentConfig *kube.TrcKubeConfig,
deployArgLines []string,
configCount *int) error {

err := roleBasedRunner(env, region, trcshDriverConfig, control, isAgentToken, token, argsOrig, deployArgLines, configCount)
err := roleBasedRunner(region, trcshDriverConfig, control, isAgentToken, token, argsOrig, deployArgLines, configCount)
return err
}

Expand Down Expand Up @@ -1048,7 +1048,6 @@ collaboratorReRun:
trcKubeDeploymentConfig,
&onceKubeInit,
PipeOS,
trcshDriverConfig.DriverConfig.Env,
region,
trcshDriverConfig,
control,
Expand Down
4 changes: 2 additions & 2 deletions cmd/trcctl/trcctl.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@ func main() {
case "init":
trcinitbase.CommonMain(envPtr, &addrPtr, &envContext, flagset, os.Args)
case "config":
trcconfigbase.CommonMain(envPtr, &addrPtr, tokenPtr, &envContext, secretIDPtr, appRoleIDPtr, tokenNamePtr, nil, nil, os.Args, nil)
trcconfigbase.CommonMain(envPtr, &addrPtr, tokenPtr, &envContext, secretIDPtr, appRoleIDPtr, tokenNamePtr, nil, flagset, os.Args, nil)
case "x":
trcxbase.CommonMain(nil, xutil.GenerateSeedsFromVault, envPtr, &addrPtr, &envContext, nil, nil, os.Args)
trcxbase.CommonMain(nil, xutil.GenerateSeedsFromVault, envPtr, &addrPtr, &envContext, nil, flagset, os.Args)
}
}
}
Expand Down
11 changes: 8 additions & 3 deletions pkg/cli/trcconfigbase/trcconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ var (
ENDDIR_DEFAULT = "."
)

func CommonMain(envPtr *string,
func CommonMain(envDefaultPtr *string,
addrPtr *string,
tokenPtr *string,
envCtxPtr *string,
Expand All @@ -96,6 +96,7 @@ func CommonMain(envPtr *string,
ConfigWg: sync.WaitGroup{},
Mutex: &sync.Mutex{},
}
var envPtr *string = nil

if flagset == nil {
flagset = flag.NewFlagSet(argLines[0], flag.ExitOnError)
Expand All @@ -104,7 +105,7 @@ func CommonMain(envPtr *string,
flagset.PrintDefaults()
}

flagset.String("env", "dev", "Environment to configure")
envPtr = flagset.String("env", "dev", "Environment to configure")
flagset.String("addr", "", "API endpoint for the vault")
flagset.String("token", "", "Vault access token")
flagset.String("secretID", "", "Secret for app role ID")
Expand Down Expand Up @@ -172,6 +173,9 @@ func CommonMain(envPtr *string,
*wantCertsPtr = true
}
}
if envPtr == nil {
joel-rieke marked this conversation as resolved.
Show resolved Hide resolved
envPtr = envDefaultPtr
}
if !isShell {
if _, err := os.Stat(*startDirPtr); os.IsNotExist(err) {
fmt.Println("Missing required template folder: " + *startDirPtr)
Expand Down Expand Up @@ -213,6 +217,7 @@ func CommonMain(envPtr *string,
Insecure: *insecurePtr,
StartDir: append([]string{}, *startDirPtr),
EndDir: *endDirPtr,
ZeroConfig: *zcPtr,
}

appRoleConfigPtr = new(string)
Expand Down Expand Up @@ -493,7 +498,7 @@ func CommonMain(envPtr *string,
StartDir: driverConfigBase.StartDir,
EndDir: driverConfigBase.EndDir,
WantKeystore: *keyStorePtr,
ZeroConfig: *zcPtr,
ZeroConfig: driverConfigBase.ZeroConfig,
GenAuth: false,
OutputMemCache: driverConfigBase.OutputMemCache,
MemFs: driverConfigBase.MemFs,
Expand Down
Loading