Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
7 changes: 7 additions & 0 deletions dagger/maintenance/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,16 @@ func (m *Maintenance) GenerateTestingValues(
targetExtensionImage)
}

// Sanitize the extension name for Kubernetes compatibility.
// Underscores are valid in extension metadata but prohibited in K8s
// object names, which must follow DNS subdomain conventions
// (RFC-1123).
k8sName := strings.ReplaceAll(metadata.Name, "_", "-")

// Build values.yaml content
values := map[string]any{
"name": metadata.Name,
"k8s_name": k8sName,
"sql_name": metadata.SQLName,
"image_name": metadata.ImageName,
"shared_preload_libraries": metadata.SharedPreloadLibraries,
Expand Down
2 changes: 1 addition & 1 deletion postgis/test/check-extension.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ spec:
- name: DB_URI
valueFrom:
secretKeyRef:
name: (join('-', [$values.name, 'app']))
name: (join('-', [$values.k8s_name, 'app']))
key: uri
image: alpine/psql:latest
command: ['sh', '-c']
Expand Down
2 changes: 1 addition & 1 deletion postgis/test/cluster-assert.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: ($values.name)
name: ($values.k8s_name)
status:
readyInstances: 1
phase: Cluster in healthy state
Expand Down
4 changes: 2 additions & 2 deletions postgis/test/cluster.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: ($values.name)
name: ($values.k8s_name)
spec:
imageName: ($values.pg_image)
instances: 1
Expand All @@ -12,7 +12,7 @@ spec:
postgresql:
shared_preload_libraries: ($values.shared_preload_libraries)
extensions:
- name: ($values.name)
- name: ($values.k8s_name)
image:
reference: ($values.extension_image)
extension_control_path: ($values.extension_control_path)
Expand Down
2 changes: 1 addition & 1 deletion postgis/test/database-assert.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: postgresql.cnpg.io/v1
kind: Database
metadata:
name: (join('-', [$values.name, 'app']))
name: (join('-', [$values.k8s_name, 'app']))
status:
applied: true
extensions:
Expand Down
4 changes: 2 additions & 2 deletions postgis/test/database.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
apiVersion: postgresql.cnpg.io/v1
kind: Database
metadata:
name: (join('-', [$values.name, 'app']))
name: (join('-', [$values.k8s_name, 'app']))
spec:
name: app
owner: app
cluster:
name: ($values.name)
name: ($values.k8s_name)
extensions:
- name: ($values.sql_name)
version: ($values.version)
Expand Down
8 changes: 4 additions & 4 deletions templates/README.md.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ your `Cluster` resource. For example:
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: cluster-{{ .Name }}
name: cluster-{{ replaceAll .Name "_" "-" }}
spec:
imageName: ghcr.io/cloudnative-pg/postgresql:{{ .DefaultVersion }}-minimal-{{ .DefaultDistro }}
instances: 1
Expand All @@ -39,7 +39,7 @@ spec:

postgresql:
extensions:
- name: {{ .Name }}
- name: {{ replaceAll .Name "_" "-" }}
image:
# renovate: suite={{ .DefaultDistro }}-pgdg depName={{ replaceAll .Package "%version%" (printf "%d" .DefaultVersion) }}
reference: ghcr.io/cloudnative-pg/{{ .Name }}:1.0-{{ .DefaultVersion }}-{{ .DefaultDistro }}
Expand All @@ -54,12 +54,12 @@ You can install `{{ .Name }}` in a specific database by creating or updating a
apiVersion: postgresql.cnpg.io/v1
kind: Database
metadata:
name: cluster-{{ .Name }}-app
name: cluster-{{ replaceAll .Name "_" "-" }}-app
spec:
name: app
owner: app
cluster:
name: cluster-{{ .Name }}
name: cluster-{{ replaceAll .Name "_" "-" }}
extensions:
- name: {{ .Name }}
# renovate: suite={{ .DefaultDistro }}-pgdg depName={{ replaceAll .Package "%version%" (printf "%d" .DefaultVersion) }}
Expand Down
2 changes: 1 addition & 1 deletion test/check-extension.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ spec:
- name: DB_URI
valueFrom:
secretKeyRef:
name: (join('-', [$values.name, 'app']))
name: (join('-', [$values.k8s_name, 'app']))
key: uri
image: alpine/psql:latest
command: ['sh', '-c']
Expand Down
2 changes: 1 addition & 1 deletion test/cluster-assert.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: ($values.name)
name: ($values.k8s_name)
status:
readyInstances: 1
phase: Cluster in healthy state
Expand Down
4 changes: 2 additions & 2 deletions test/cluster.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: ($values.name)
name: ($values.k8s_name)
spec:
imageName: ($values.pg_image)
instances: 1
Expand All @@ -12,7 +12,7 @@ spec:
postgresql:
shared_preload_libraries: ($values.shared_preload_libraries)
extensions:
- name: ($values.name)
- name: ($values.k8s_name)
image:
reference: ($values.extension_image)
extension_control_path: ($values.extension_control_path)
Expand Down
2 changes: 1 addition & 1 deletion test/database-assert.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: postgresql.cnpg.io/v1
kind: Database
metadata:
name: (join('-', [$values.name, 'app']))
name: (join('-', [$values.k8s_name, 'app']))
status:
applied: true
extensions:
Expand Down
4 changes: 2 additions & 2 deletions test/database.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
apiVersion: postgresql.cnpg.io/v1
kind: Database
metadata:
name: (join('-', [$values.name, 'app']))
name: (join('-', [$values.k8s_name, 'app']))
spec:
name: app
owner: app
cluster:
name: ($values.name)
name: ($values.k8s_name)
extensions:
- name: ($values.sql_name)
version: ($values.version)