Skip to content

Commit

Permalink
(helm/v1-alpha): Use namePrefix from kustomization.yaml instead of pr…
Browse files Browse the repository at this point in the history
…oject name in RBAC and Helm templates
  • Loading branch information
camilamacedo86 committed Feb 20, 2025
1 parent d7321e5 commit 84c936e
Showing 1 changed file with 26 additions and 8 deletions.
34 changes: 26 additions & 8 deletions pkg/plugins/optional/helm/v1alpha/scaffolds/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,24 @@ func (s *initScaffolder) Scaffold() error {
return nil
}

func (s *initScaffolder) getNamePrefix() (string, error) {

Check failure on line 127 in pkg/plugins/optional/helm/v1alpha/scaffolds/init.go

View workflow job for this annotation

GitHub Actions / golangci-lint

func `(*initScaffolder).getNamePrefix` is unused (unused)
filePath := "config/default/kustomization.yaml"
content, err := os.ReadFile(filePath)
if err != nil {
return "", fmt.Errorf("failed to read kustomization.yaml: %w", err)
}

var kustomization struct {
NamePrefix string `yaml:"namePrefix"`
}

if err := yaml.Unmarshal(content, &kustomization); err != nil {
return "", fmt.Errorf("failed to parse kustomization.yaml: %w", err)
}

return strings.TrimSpace(kustomization.NamePrefix), nil
}

// getDeployImagesEnvVars will return the values to append the envvars for projects
// which has the APIs scaffolded with DeployImage plugin
func (s *initScaffolder) getDeployImagesEnvVars() map[string]string {
Expand Down Expand Up @@ -255,7 +273,7 @@ func (s *initScaffolder) copyConfigFiles() error {

// copyFileWithHelmLogic reads the source file, modifies the content for Helm, applies patches
// to spec.conversion if applicable, and writes it to the destination
func copyFileWithHelmLogic(srcFile, destFile, subDir, projectName string) error {
func copyFileWithHelmLogic(srcFile, destFile, subDir, namePrefix string) error {
if _, err := os.Stat(srcFile); os.IsNotExist(err) {
log.Printf("Source file does not exist: %s", srcFile)
return err
Expand All @@ -282,14 +300,14 @@ func copyFileWithHelmLogic(srcFile, destFile, subDir, projectName string) error
"name: {{ .Values.controllerManager.serviceAccountName }}", -1)
contentStr = strings.Replace(contentStr,
"name: metrics-reader",
fmt.Sprintf("name: %s-metrics-reader", projectName), 1)
fmt.Sprintf("name: %s-metrics-reader", namePrefix), 1)

contentStr = strings.Replace(contentStr,
"name: metrics-auth-role",
fmt.Sprintf("name: %s-metrics-auth-role", projectName), -1)
fmt.Sprintf("name: %s-metrics-auth-role", namePrefix), -1)
contentStr = strings.Replace(contentStr,
"name: metrics-auth-rolebinding",
fmt.Sprintf("name: %s-metrics-auth-rolebinding", projectName), 1)
fmt.Sprintf("name: %s-metrics-auth-rolebinding", namePrefix), 1)

if strings.Contains(contentStr, ".Values.controllerManager.serviceAccountName") &&
strings.Contains(contentStr, "kind: ServiceAccount") &&
Expand All @@ -306,16 +324,16 @@ func copyFileWithHelmLogic(srcFile, destFile, subDir, projectName string) error
}
contentStr = strings.Replace(contentStr,
"name: leader-election-role",
fmt.Sprintf("name: %s-leader-election-role", projectName), -1)
fmt.Sprintf("name: %s-leader-election-role", namePrefix), -1)
contentStr = strings.Replace(contentStr,
"name: leader-election-rolebinding",
fmt.Sprintf("name: %s-leader-election-rolebinding", projectName), 1)
fmt.Sprintf("name: %s-leader-election-rolebinding", namePrefix), 1)
contentStr = strings.Replace(contentStr,
"name: manager-role",
fmt.Sprintf("name: %s-manager-role", projectName), -1)
fmt.Sprintf("name: %s-manager-role", namePrefix), -1)
contentStr = strings.Replace(contentStr,
"name: manager-rolebinding",
fmt.Sprintf("name: %s-manager-rolebinding", projectName), 1)
fmt.Sprintf("name: %s-manager-rolebinding", namePrefix), 1)

// The generated files do not include the namespace
if strings.Contains(contentStr, "leader-election-rolebinding") ||
Expand Down

0 comments on commit 84c936e

Please sign in to comment.