From 0da0ae5f6ba1938c17354ad48a48dc7059401297 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Depriester?= Date: Mon, 20 Jul 2026 12:18:27 +0200 Subject: [PATCH] lint: use constants where appropriate --- .golangci.yml | 2 ++ Makefile | 2 +- .../controller/postgresrole_controller.go | 27 +++++++++++-------- internal/postgresql/types.go | 10 +++++++ 4 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 internal/postgresql/types.go diff --git a/.golangci.yml b/.golangci.yml index a7246fb..e08abad 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -25,6 +25,8 @@ linters: revive: rules: - name: comment-spacings + goconst: + ignore-tests: true exclusions: generated: lax rules: diff --git a/Makefile b/Makefile index 682798c..cce6323 100644 --- a/Makefile +++ b/Makefile @@ -181,7 +181,7 @@ CONTROLLER_TOOLS_VERSION ?= v0.17.2 ENVTEST_VERSION ?= $(shell go list -m -f "{{ .Version }}" sigs.k8s.io/controller-runtime | awk -F'[v.]' '{printf "release-%d.%d", $$2, $$3}') #ENVTEST_K8S_VERSION is the version of Kubernetes to use for setting up ENVTEST binaries (i.e. 1.31) ENVTEST_K8S_VERSION ?= $(shell go list -m -f "{{ .Version }}" k8s.io/api | awk -F'[v.]' '{printf "1.%d", $$3}') -GOLANGCI_LINT_VERSION ?= v2.11.4 +GOLANGCI_LINT_VERSION ?= v2.12.2 .PHONY: helm helm: $(HELM) ## Download helm locally if necessary. diff --git a/internal/controller/postgresrole_controller.go b/internal/controller/postgresrole_controller.go index 068d20a..4c1a86b 100644 --- a/internal/controller/postgresrole_controller.go +++ b/internal/controller/postgresrole_controller.go @@ -45,7 +45,12 @@ import ( "github.com/jackc/pgx/v5" ) -const PostgresRoleFinalizer = "postgresrole.managed-postgres-operator.hoppscale.com/finalizer" +const ( + PostgresRoleFinalizer = "postgresrole.managed-postgres-operator.hoppscale.com/finalizer" + + K8SLabelManagedByName = "app.kubernetes.io/managed-by" + K8SLabelManagedByValue = "managed-postgres-operator.hoppscale.com" +) // PostgresRoleReconciler reconciles a PostgresRole object type PostgresRoleReconciler struct { @@ -365,11 +370,11 @@ func (r *PostgresRoleReconciler) reconcileRoleSecret(secretNamespace, secretName } desiredSecretData := map[string][]byte{ - "PGUSER": []byte(secretDataTemplateVars.Role), - "PGPASSWORD": []byte(secretDataTemplateVars.Password), - "PGHOST": []byte(secretDataTemplateVars.Host), - "PGPORT": []byte(secretDataTemplateVars.Port), - "PGDATABASE": []byte(secretDataTemplateVars.Database), + postgresql.PGUSER: []byte(secretDataTemplateVars.Role), + postgresql.PGPASSWORD: []byte(secretDataTemplateVars.Password), + postgresql.PGHOST: []byte(secretDataTemplateVars.Host), + postgresql.PGPORT: []byte(secretDataTemplateVars.Port), + postgresql.PGDATABASE: []byte(secretDataTemplateVars.Database), } for secretKey, secretValue := range secretTemplate { @@ -394,7 +399,7 @@ func (r *PostgresRoleReconciler) reconcileRoleSecret(secretNamespace, secretName Namespace: secretNamespace, Name: secretName, Labels: map[string]string{ - "app.kubernetes.io/managed-by": "managed-postgres-operator.hoppscale.com", + K8SLabelManagedByName: K8SLabelManagedByValue, }, }, Type: "Opaque", @@ -413,11 +418,11 @@ func (r *PostgresRoleReconciler) reconcileRoleSecret(secretNamespace, secretName // Update secret if needed toUpdate := false - if val, ok := resourceSecret.Labels["app.kubernetes.io/managed-by"]; !ok || val != "managed-postgres-operator.hoppscale.com" { + if val, ok := resourceSecret.Labels[K8SLabelManagedByName]; !ok || val != K8SLabelManagedByValue { if resourceSecret.Labels == nil { resourceSecret.Labels = make(map[string]string) } - resourceSecret.Labels["app.kubernetes.io/managed-by"] = "managed-postgres-operator.hoppscale.com" + resourceSecret.Labels[K8SLabelManagedByName] = K8SLabelManagedByValue toUpdate = true } @@ -488,9 +493,9 @@ func (r *PostgresRoleReconciler) retrieveRolePassword(resource *managedpostgreso } } else { // Retrieve password from the Secret - password, ok := resourceSecret.Data["PGPASSWORD"] + password, ok := resourceSecret.Data[postgresql.PGPASSWORD] if !ok { - err = fmt.Errorf("failed to retrieve password from secret `%s`: key `%s` doesn't exist", secretNamespacedName, "PGPASSWORD") + err = fmt.Errorf("failed to retrieve password from secret `%s`: key `%s` doesn't exist", secretNamespacedName, postgresql.PGPASSWORD) } return string(password), err } diff --git a/internal/postgresql/types.go b/internal/postgresql/types.go new file mode 100644 index 0000000..bc7a3ad --- /dev/null +++ b/internal/postgresql/types.go @@ -0,0 +1,10 @@ +package postgresql + +const ( + // Environment variables from libpq + PGHOST = "PGHOST" + PGPORT = "PGPORT" + PGUSER = "PGUSER" + PGPASSWORD = "PGPASSWORD" + PGDATABASE = "PGDATABASE" +)