Skip to content

Commit 966e064

Browse files
authored
Merge branch 'main' into local-build
2 parents 59a3201 + b1b6652 commit 966e064

File tree

180 files changed

+10200
-4196
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

180 files changed

+10200
-4196
lines changed

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ trim_trailing_whitespace = true
1414
indent_size = tab
1515
indent_style = tab
1616

17-
[*.{md,yml,yaml}]
17+
[*.{jq,md,yml,yaml}]
1818
indent_size = 2
1919
indent_style = space
2020

.github/actions/trivy/action.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ inputs:
3939
The value "skip" fetches no Trivy data at all.
4040
4141
setup:
42-
default: v0.62.1,cache
42+
default: v0.65.0,cache
4343
description: >-
4444
How to install Trivy; one or more of version, none, or cache.
4545
The value "none" does not install Trivy at all.
@@ -84,7 +84,7 @@ runs:
8484
# Install Trivy as requested.
8585
# NOTE: `setup-trivy` can download a "latest" version but cannot cache it.
8686
- if: ${{ ! contains(fromJSON(steps.parsed.outputs.setup), 'none') }}
87-
uses: aquasecurity/[email protected].3
87+
uses: aquasecurity/[email protected].4
8888
with:
8989
cache: ${{ contains(fromJSON(steps.parsed.outputs.setup), 'cache') }}
9090
version: ${{ steps.parsed.outputs.version }}

.github/workflows/codeql-analysis.yaml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@ on:
99
schedule:
1010
- cron: '10 18 * * 2'
1111

12-
env:
13-
# Use the Go toolchain installed by setup-go
14-
# https://github.com/actions/setup-go/issues/457
15-
GOTOOLCHAIN: local
16-
1712
jobs:
1813
analyze:
1914
if: ${{ github.repository == 'CrunchyData/postgres-operator' }}
@@ -25,7 +20,7 @@ jobs:
2520
runs-on: ubuntu-24.04
2621
steps:
2722
- uses: actions/checkout@v5
28-
- uses: actions/setup-go@v5
23+
- uses: actions/setup-go@v6
2924
with: { go-version: stable }
3025

3126
- name: Initialize CodeQL

.github/workflows/govulncheck.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ on:
1010
env:
1111
# Use the Go toolchain installed by setup-go
1212
# https://github.com/actions/setup-go/issues/457
13+
#
14+
# TODO(govulncheck): Remove when "golang/govulncheck-action" uses "actions/setup-go" v6 or newer
1315
GOTOOLCHAIN: local
1416

1517
jobs:

.github/workflows/lint.yaml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,6 @@ name: Linters
33
on:
44
pull_request:
55

6-
env:
7-
# Use the Go toolchain installed by setup-go
8-
# https://github.com/actions/setup-go/issues/457
9-
GOTOOLCHAIN: local
10-
116
jobs:
127
golangci-lint:
138
runs-on: ubuntu-24.04
@@ -16,7 +11,7 @@ jobs:
1611
checks: write
1712
steps:
1813
- uses: actions/checkout@v5
19-
- uses: actions/setup-go@v5
14+
- uses: actions/setup-go@v6
2015
with: { go-version: stable }
2116

2217
- uses: golangci/golangci-lint-action@v8

.github/workflows/test.yaml

Lines changed: 34 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,16 @@ on:
66
branches:
77
- main
88

9-
env:
10-
# Use the Go toolchain installed by setup-go
11-
# https://github.com/actions/setup-go/issues/457
12-
GOTOOLCHAIN: local
13-
149
jobs:
1510
go-test:
1611
runs-on: ubuntu-24.04
1712
steps:
1813
- uses: actions/checkout@v5
19-
- uses: actions/setup-go@v5
14+
- uses: actions/setup-go@v6
2015
with: { go-version: stable }
2116

2217
- name: Ensure go.mod is tidy
23-
run: go mod tidy && git diff --exit-code -- go.mod
18+
run: go mod tidy --diff
2419
- name: Ensure generated files are committed
2520
run: make check-generate
2621
- run: make check
@@ -34,7 +29,7 @@ jobs:
3429
kubernetes: ['default']
3530
steps:
3631
- uses: actions/checkout@v5
37-
- uses: actions/setup-go@v5
32+
- uses: actions/setup-go@v6
3833
with: { go-version: stable }
3934

4035
- run: go mod download
@@ -58,20 +53,20 @@ jobs:
5853
strategy:
5954
fail-fast: false
6055
matrix:
61-
kubernetes: [v1.33, v1.28]
56+
kubernetes: [v1.30, v1.33]
6257
steps:
6358
- uses: actions/checkout@v5
64-
- uses: actions/setup-go@v5
59+
- uses: actions/setup-go@v6
6560
with: { go-version: stable }
6661

6762
- name: Start k3s
6863
uses: ./.github/actions/k3d
6964
with:
7065
k3s-channel: "${{ matrix.kubernetes }}"
7166
prefetch-images: |
72-
registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi9-2.54.2-2520
73-
registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi9-1.24-2520
74-
registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-16.9-2520
67+
registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi9-2.56.0-2534
68+
registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi9-1.24-2534
69+
registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-16.10-2534
7570
7671
- run: make createnamespaces check-envtest-existing
7772
env:
@@ -92,26 +87,27 @@ jobs:
9287
strategy:
9388
fail-fast: false
9489
matrix:
95-
kubernetes: [v1.33, v1.28]
90+
kubernetes: [v1.30, v1.33]
9691
steps:
9792
- uses: actions/checkout@v5
98-
- uses: actions/setup-go@v5
93+
- uses: actions/setup-go@v6
9994
with: { go-version: stable }
10095

10196
- name: Start k3s
10297
uses: ./.github/actions/k3d
10398
with:
10499
k3s-channel: "${{ matrix.kubernetes }}"
105100
prefetch-images: |
106-
registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi9-2.54.2-2520
107-
registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi9-1.24-2520
108-
registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi9-0.17.1-2520
109-
registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-17.5-2520
110-
registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-16.9-2520
111-
registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-16.9-3.3-2520
112-
registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-16.9-3.4-2520
113-
registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi9-17.5-2520
114-
registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-17.5-3.4-2520
101+
registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi9-2.56.0-2534
102+
registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi9-1.24-2534
103+
registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi9-0.17.1-2534
104+
registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-17.6-2534
105+
registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-16.10-2534
106+
registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-16.10-3.3-2534
107+
registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-16.10-3.4-2534
108+
registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi9-17.6-2534
109+
registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-17.6-3.4-2534
110+
registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-17.6-3.5-2534
115111
116112
- name: Get pgMonitor files.
117113
run: make get-pgmonitor
@@ -131,17 +127,18 @@ jobs:
131127
--env 'CHECK_FOR_UPGRADES=false' \
132128
--env 'QUERIES_CONFIG_DIR=/mnt/hack/tools/queries' \
133129
--env 'KUBECONFIG=hack/.kube/postgres-operator/pgo' \
134-
--env 'RELATED_IMAGE_PGBACKREST=registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi9-2.54.2-2520' \
135-
--env 'RELATED_IMAGE_PGBOUNCER=registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi9-1.24-2520' \
136-
--env 'RELATED_IMAGE_PGEXPORTER=registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi9-0.17.1-2520' \
137-
--env 'RELATED_IMAGE_PGUPGRADE=registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi9-17.5-2520' \
138-
--env 'RELATED_IMAGE_POSTGRES_16=registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-16.9-2520' \
139-
--env 'RELATED_IMAGE_POSTGRES_16_GIS_3.3=registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-16.9-3.3-2520' \
140-
--env 'RELATED_IMAGE_POSTGRES_16_GIS_3.4=registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-16.9-3.4-2520' \
141-
--env 'RELATED_IMAGE_POSTGRES_17=registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-17.5-2520' \
142-
--env 'RELATED_IMAGE_POSTGRES_17_GIS_3.4=registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-17.5-3.4-2520' \
143-
--env 'RELATED_IMAGE_STANDALONE_PGADMIN=registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi9-9.2-2520' \
144-
--env 'RELATED_IMAGE_COLLECTOR=registry.developers.crunchydata.com/crunchydata/postgres-operator:ubi9-5.8.2-0' \
130+
--env 'RELATED_IMAGE_PGBACKREST=registry.developers.crunchydata.com/crunchydata/crunchy-pgbackrest:ubi9-2.56.0-2534' \
131+
--env 'RELATED_IMAGE_PGBOUNCER=registry.developers.crunchydata.com/crunchydata/crunchy-pgbouncer:ubi9-1.24-2534' \
132+
--env 'RELATED_IMAGE_PGEXPORTER=registry.developers.crunchydata.com/crunchydata/crunchy-postgres-exporter:ubi9-0.17.1-2534' \
133+
--env 'RELATED_IMAGE_PGUPGRADE=registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi9-17.6-2534' \
134+
--env 'RELATED_IMAGE_POSTGRES_16=registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-16.10-2534' \
135+
--env 'RELATED_IMAGE_POSTGRES_16_GIS_3.3=registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-16.10-3.3-2534' \
136+
--env 'RELATED_IMAGE_POSTGRES_16_GIS_3.4=registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-16.10-3.4-2534' \
137+
--env 'RELATED_IMAGE_POSTGRES_17=registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-17.6-2534' \
138+
--env 'RELATED_IMAGE_POSTGRES_17_GIS_3.4=registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-17.6-3.4-2534' \
139+
--env 'RELATED_IMAGE_POSTGRES_17_GIS_3.5=registry.developers.crunchydata.com/crunchydata/crunchy-postgres-gis:ubi9-17.6-3.5-2534' \
140+
--env 'RELATED_IMAGE_STANDALONE_PGADMIN=registry.developers.crunchydata.com/crunchydata/crunchy-pgadmin4:ubi9-9.2-2534' \
141+
--env 'RELATED_IMAGE_COLLECTOR=registry.developers.crunchydata.com/crunchydata/postgres-operator:ubi9-5.8.3-0' \
145142
--env 'PGO_FEATURE_GATES=TablespaceVolumes=true,OpenTelemetryLogs=true,OpenTelemetryMetrics=true' \
146143
--name 'postgres-operator' localhost/postgres-operator
147144
@@ -157,7 +154,7 @@ jobs:
157154
KUTTL_PG_UPGRADE_TO_VERSION: '17'
158155
KUTTL_PG_VERSION: '16'
159156
KUTTL_POSTGIS_VERSION: '3.4'
160-
KUTTL_PSQL_IMAGE: 'registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-16.9-2520'
157+
KUTTL_PSQL_IMAGE: 'registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-16.10-2534'
161158
- run: |
162159
make check-kuttl && exit
163160
failed=$?
@@ -175,7 +172,7 @@ jobs:
175172
- kubernetes-k3d
176173
steps:
177174
- uses: actions/checkout@v5
178-
- uses: actions/setup-go@v5
175+
- uses: actions/setup-go@v6
179176
with: { go-version: stable }
180177
- uses: actions/download-artifact@v5
181178
with: { path: download }

.github/workflows/trivy.yaml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@ on:
88
- main
99

1010
env:
11-
# Use the Go toolchain installed by setup-go
12-
# https://github.com/actions/setup-go/issues/457
13-
GOTOOLCHAIN: local
14-
1511
# Use the committed Trivy configuration files.
1612
TRIVY_IGNOREFILE: .trivyignore.yaml
1713
TRIVY_SECRET_CONFIG: trivy-secret.yaml
@@ -48,7 +44,7 @@ jobs:
4844
- uses: actions/checkout@v5
4945

5046
# Trivy needs a populated Go module cache to detect Go module licenses.
51-
- uses: actions/setup-go@v5
47+
- uses: actions/setup-go@v6
5248
with: { go-version: stable }
5349
- run: go mod download
5450

.golangci.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ linters:
6363
- zerologlint
6464

6565
settings:
66+
dupword:
67+
ignore:
68+
# We might see duplicate instances of 'fi' if we end two bash 'if' statements
69+
- fi
70+
6671
depguard:
6772
rules:
6873
everything:
@@ -85,6 +90,8 @@ linters:
8590
desc: Should be used only in tests.
8691
- pkg: testing/*
8792
desc: The "testing" packages should be used only in tests.
93+
- pkg: github.com/crunchydata/postgres-operator/internal/crd/*
94+
desc: The "internal/crd" packages should be used only in tests.
8895
- pkg: github.com/crunchydata/postgres-operator/internal/testing/*
8996
desc: The "internal/testing" packages should be used only in tests.
9097
- pkg: k8s.io/client-go/discovery
@@ -111,6 +118,8 @@ linters:
111118
gomodguard:
112119
blocked:
113120
modules:
121+
- go.yaml.in/yaml/v2: { recommendations: [sigs.k8s.io/yaml] }
122+
- go.yaml.in/yaml/v3: { recommendations: [sigs.k8s.io/yaml] }
114123
- gopkg.in/yaml.v2: { recommendations: [sigs.k8s.io/yaml] }
115124
- gopkg.in/yaml.v3: { recommendations: [sigs.k8s.io/yaml] }
116125
- gotest.tools: { recommendations: [gotest.tools/v3] }

Makefile

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ CONTROLLER ?= $(GO) tool sigs.k8s.io/controller-tools/cmd/controller-gen
1515
# Run tests using the latest tools.
1616
CHAINSAW ?= $(GO) run github.com/kyverno/chainsaw@latest
1717
CHAINSAW_TEST ?= $(CHAINSAW) test
18+
CRD_CHECKER ?= $(GO) run github.com/openshift/crd-schema-checker/cmd/crd-schema-checker@latest
1819
ENVTEST ?= $(GO) run sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
1920
KUTTL ?= $(GO) run github.com/kudobuilder/kuttl/cmd/kubectl-kuttl@latest
2021
KUTTL_TEST ?= $(KUTTL) test
@@ -108,16 +109,15 @@ undeploy: ## Undeploy the PostgreSQL Operator
108109

109110
.PHONY: deploy-dev
110111
deploy-dev: ## Deploy the PostgreSQL Operator locally
111-
deploy-dev: PGO_FEATURE_GATES ?= "AllAlpha=true"
112112
deploy-dev: get-pgmonitor
113113
deploy-dev: createnamespaces
114114
kubectl apply --server-side -k ./config/dev
115115
hack/create-kubeconfig.sh postgres-operator pgo
116116
env \
117-
QUERIES_CONFIG_DIR="${QUERIES_CONFIG_DIR}" \
118-
CRUNCHY_DEBUG=true \
119-
PGO_FEATURE_GATES="${PGO_FEATURE_GATES}" \
120-
CHECK_FOR_UPGRADES='$(if $(CHECK_FOR_UPGRADES),$(CHECK_FOR_UPGRADES),false)' \
117+
QUERIES_CONFIG_DIR='$(QUERIES_CONFIG_DIR)' \
118+
CRUNCHY_DEBUG="$${CRUNCHY_DEBUG:-true}" \
119+
PGO_FEATURE_GATES="$${PGO_FEATURE_GATES:-AllAlpha=true}" \
120+
CHECK_FOR_UPGRADES="$${CHECK_FOR_UPGRADES:-false}" \
121121
KUBECONFIG=hack/.kube/postgres-operator/pgo \
122122
PGO_NAMESPACE='postgres-operator' \
123123
PGO_INSTALLER='deploy-dev' \
@@ -134,6 +134,7 @@ deploy-dev: createnamespaces
134134

135135
.PHONY: build
136136
build: ## Build a postgres-operator image
137+
build: get-pgmonitor
137138
$(BUILDAH) build --tag '$(IMAGE)' \
138139
--label org.opencontainers.image.authors='Crunchy Data' \
139140
--label org.opencontainers.image.description='Crunchy PostgreSQL Operator' \
@@ -160,6 +161,12 @@ check: ## Run basic go tests with coverage output
160161
check: get-pgmonitor
161162
QUERIES_CONFIG_DIR="$(CURDIR)/${QUERIES_CONFIG_DIR}" $(GO_TEST) -cover ./...
162163

164+
# Informational only; no criteria to enforce at this time.
165+
.PHONY: check-crd
166+
check-crd:
167+
$(foreach CRD, $(wildcard config/crd/bases/*.yaml), \
168+
$(CRD_CHECKER) check-manifests --new-crd-filename '$(CRD)' 2>&1 | awk -f hack/check-manifests.awk $(newline))
169+
163170
# Available versions: curl -s 'https://storage.googleapis.com/kubebuilder-tools/' | grep -o '<Key>[^<]*</Key>'
164171
# - KUBEBUILDER_ATTACH_CONTROL_PLANE_OUTPUT=true
165172
.PHONY: check-envtest
@@ -211,22 +218,15 @@ generate-kuttl: export KUTTL_PG_UPGRADE_FROM_VERSION ?= 16
211218
generate-kuttl: export KUTTL_PG_UPGRADE_TO_VERSION ?= 17
212219
generate-kuttl: export KUTTL_PG_VERSION ?= 16
213220
generate-kuttl: export KUTTL_POSTGIS_VERSION ?= 3.4
214-
generate-kuttl: export KUTTL_PSQL_IMAGE ?= registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-17.5-2520
221+
generate-kuttl: export KUTTL_PSQL_IMAGE ?= registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi9-17.6-2534
215222
generate-kuttl: export KUTTL_TEST_DELETE_NAMESPACE ?= kuttl-test-delete-namespace
216223
generate-kuttl: ## Generate kuttl tests
217224
[ ! -d testing/kuttl/e2e-generated ] || rm -r testing/kuttl/e2e-generated
218225
bash -ceu ' \
219-
case $(KUTTL_PG_VERSION) in \
220-
16 ) export KUTTL_BITNAMI_IMAGE_TAG=16.0.0-debian-11-r3 ;; \
221-
15 ) export KUTTL_BITNAMI_IMAGE_TAG=15.0.0-debian-11-r4 ;; \
222-
14 ) export KUTTL_BITNAMI_IMAGE_TAG=14.5.0-debian-11-r37 ;; \
223-
13 ) export KUTTL_BITNAMI_IMAGE_TAG=13.8.0-debian-11-r39 ;; \
224-
12 ) export KUTTL_BITNAMI_IMAGE_TAG=12.12.0-debian-11-r40 ;; \
225-
esac; \
226226
render() { envsubst '"'"' \
227227
$$KUTTL_PG_UPGRADE_FROM_VERSION $$KUTTL_PG_UPGRADE_TO_VERSION \
228228
$$KUTTL_PG_VERSION $$KUTTL_POSTGIS_VERSION $$KUTTL_PSQL_IMAGE \
229-
$$KUTTL_BITNAMI_IMAGE_TAG $$KUTTL_TEST_DELETE_NAMESPACE'"'"'; }; \
229+
$$KUTTL_TEST_DELETE_NAMESPACE'"'"'; }; \
230230
while [ $$# -gt 0 ]; do \
231231
source="$${1}" target="$${1/e2e/e2e-generated}"; \
232232
mkdir -p "$${target%/*}"; render < "$${source}" > "$${target}"; \
@@ -252,24 +252,30 @@ generate: generate-rbac
252252

253253
.PHONY: generate-crd
254254
generate-crd: ## Generate Custom Resource Definitions (CRDs)
255-
$(CONTROLLER) \
256-
crd:crdVersions='v1' \
257-
paths='./pkg/apis/...' \
258-
output:dir='config/crd/bases' # {directory}/{group}_{plural}.yaml
255+
$(CONTROLLER) $(\
256+
) crd paths='./pkg/apis/...' $(\
257+
) output:dir='config/crd/bases' # {directory}/{group}_{plural}.yaml
258+
$(GO) generate ./internal/crd
259259

260260
.PHONY: generate-collector
261261
generate-collector: ## Generate OTel Collector files
262262
$(GO) generate ./internal/collector
263263

264264
.PHONY: generate-deepcopy
265265
generate-deepcopy: ## Generate DeepCopy functions
266-
$(CONTROLLER) \
267-
object:headerFile='hack/boilerplate.go.txt' \
268-
paths='./pkg/apis/postgres-operator.crunchydata.com/...'
266+
$(CONTROLLER) $(\
267+
) object:headerFile='hack/boilerplate.go.txt' $(\
268+
) paths='./pkg/apis/postgres-operator.crunchydata.com/...'
269269

270270
.PHONY: generate-rbac
271271
generate-rbac: ## Generate RBAC
272-
$(CONTROLLER) \
273-
rbac:roleName='postgres-operator' \
274-
paths='./cmd/...' paths='./internal/...' \
275-
output:dir='config/rbac' # {directory}/role.yaml
272+
$(CONTROLLER) $(\
273+
) rbac:roleName='postgres-operator' $(\
274+
) paths='./cmd/...' paths='./internal/...' $(\
275+
) output:dir='config/rbac' # {directory}/role.yaml
276+
277+
# https://www.gnu.org/software/make/manual/make.html#Multi_002dLine
278+
define newline
279+
280+
281+
endef

0 commit comments

Comments
 (0)