fix: preserve generated app registrations
This commit is contained in:
parent
9f1c05a4d4
commit
66d42b6ca4
|
|
@ -479,12 +479,34 @@ func renderPlatformDeliveryConfig(dir string, cfg config.Config) error {
|
||||||
|
|
||||||
func copyAndRenderPlatformDeliveryBases(templateDir, repoDir string, cfg config.Config) error {
|
func copyAndRenderPlatformDeliveryBases(templateDir, repoDir string, cfg config.Config) error {
|
||||||
bases := []string{"gateway", "tekton", "tekton-triggers"}
|
bases := []string{"gateway", "tekton", "tekton-triggers"}
|
||||||
|
apps := filepath.Join(repoDir, "base", "tekton", "apps")
|
||||||
|
backup := apps + ".maidn-preserve"
|
||||||
|
if err := os.RemoveAll(backup); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if _, err := os.Stat(apps); err == nil {
|
||||||
|
if err := os.Rename(apps, backup); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else if !os.IsNotExist(err) {
|
||||||
|
return err
|
||||||
|
}
|
||||||
for _, base := range bases {
|
for _, base := range bases {
|
||||||
baseDir := filepath.Join(repoDir, "base", base)
|
baseDir := filepath.Join(repoDir, "base", base)
|
||||||
if err := copyDir(filepath.Join(templateDir, "base", base), baseDir, true); err != nil {
|
if err := copyDir(filepath.Join(templateDir, "base", base), baseDir, true); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if _, err := os.Stat(backup); err == nil {
|
||||||
|
if err := os.RemoveAll(apps); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := os.Rename(backup, apps); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else if !os.IsNotExist(err) {
|
||||||
|
return err
|
||||||
|
}
|
||||||
for _, base := range bases {
|
for _, base := range bases {
|
||||||
baseDir := filepath.Join(repoDir, "base", base)
|
baseDir := filepath.Join(repoDir, "base", base)
|
||||||
if err := renderPlatformDeliveryConfig(baseDir, cfg); err != nil {
|
if err := renderPlatformDeliveryConfig(baseDir, cfg); err != nil {
|
||||||
|
|
|
||||||
|
|
@ -240,6 +240,13 @@ func TestCopyAndRenderPlatformDeliveryBasesOverwritesExistingMigrationOutput(t *
|
||||||
if err := os.WriteFile(customGatewayFile, []byte("custom: route\n"), 0644); err != nil {
|
if err := os.WriteFile(customGatewayFile, []byte("custom: route\n"), 0644); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
appRegistration := filepath.Join(repoDir, "base", "tekton", "apps", "fixture.yaml")
|
||||||
|
if err := os.MkdirAll(filepath.Dir(appRegistration), 0755); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
if err := os.WriteFile(appRegistration, []byte("registered: fixture\n"), 0644); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
cfg := config.Config{
|
cfg := config.Config{
|
||||||
Git: config.GitConfig{BaseURL: "https://git.example.test", Owner: "user-org"},
|
Git: config.GitConfig{BaseURL: "https://git.example.test", Owner: "user-org"},
|
||||||
|
|
@ -259,6 +266,10 @@ func TestCopyAndRenderPlatformDeliveryBasesOverwritesExistingMigrationOutput(t *
|
||||||
if err != nil || string(content) != "custom: route\n" {
|
if err != nil || string(content) != "custom: route\n" {
|
||||||
t.Fatalf("custom gateway file was not preserved: %q, %v", content, err)
|
t.Fatalf("custom gateway file was not preserved: %q, %v", content, err)
|
||||||
}
|
}
|
||||||
|
content, err = os.ReadFile(appRegistration)
|
||||||
|
if err != nil || string(content) != "registered: fixture\n" {
|
||||||
|
t.Fatalf("generated app registration was not preserved: %q, %v", content, err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCopyTemplateBaseComponentsRefreshesCNPGAndPreservesGeneratedSecrets(t *testing.T) {
|
func TestCopyTemplateBaseComponentsRefreshesCNPGAndPreservesGeneratedSecrets(t *testing.T) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue