Skip to content

Commit e1dccc6

Browse files
committed
Merge remote-tracking branch 'origin/main' into VAULT-40343/instant-updates-database-secrets
2 parents cb21eea + 74f8702 commit e1dccc6

40 files changed

+858
-185
lines changed

.github/dependabot.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ updates:
1010
- package-ecosystem: "gomod"
1111
directory: "/"
1212
schedule:
13-
interval: "weekly"
13+
interval: "daily"
1414
groups:
1515
gomod-breaking:
1616
update-types:
@@ -22,7 +22,7 @@ updates:
2222
- package-ecosystem: "github-actions"
2323
directory: "/"
2424
schedule:
25-
interval: "weekly"
25+
interval: "daily"
2626
# Disable version updates and only check security updates for github
2727
# actions, since we can't bump the versions until they're on our allow-list
2828
open-pull-requests-limit: 0

.github/workflows/build.yaml

Lines changed: 5 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ jobs:
122122
runs-on: ubuntu-latest
123123
strategy:
124124
matrix:
125-
arch: ["arm64", "amd64"]
125+
arch: ["arm64", "amd64", "s390x"]
126126
fail-fast: true
127127
steps:
128128
- name: Checkout
@@ -164,7 +164,7 @@ jobs:
164164
runs-on: ubuntu-latest
165165
strategy:
166166
matrix:
167-
arch: ["arm64", "amd64"]
167+
arch: ["arm64", "amd64", "s390x"]
168168
env:
169169
repo: ${{github.event.repository.name}}
170170
version: ${{needs.get-product-version.outputs.product-version}}
@@ -207,7 +207,7 @@ jobs:
207207
runs-on: ubuntu-latest
208208
strategy:
209209
matrix:
210-
arch: ["arm64", "amd64"]
210+
arch: ["arm64", "amd64", "s390x"]
211211
env:
212212
repo: ${{github.event.repository.name}}
213213
version: ${{needs.get-product-version.outputs.product-version}}
@@ -227,6 +227,7 @@ jobs:
227227
version: ${{env.version}}
228228
target: release-ubi
229229
arch: ${{matrix.arch}}
230+
redhat_tag: quay.io/redhat-isv-containers/64b072322e2773c28d30d988:${{env.image_tag}}
230231
tags: |
231232
docker.io/hashicorp/${{env.repo}}:${{env.image_tag}}
232233
public.ecr.aws/hashicorp/${{env.repo}}:${{env.image_tag}}
@@ -243,51 +244,6 @@ jobs:
243244
exit 1
244245
fi
245246
246-
build-docker-ubi-redhat:
247-
name: UBI ${{ matrix.arch }} RedHat build
248-
needs:
249-
- get-product-version
250-
- build-pre-checks
251-
- build
252-
runs-on: ubuntu-latest
253-
strategy:
254-
matrix:
255-
# Building only amd64 for the RedHat registry for now
256-
arch: ["amd64"]
257-
env:
258-
repo: ${{github.event.repository.name}}
259-
version: ${{needs.get-product-version.outputs.product-version}}
260-
image_tag: ${{needs.get-product-version.outputs.product-version}}-ubi
261-
steps:
262-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
263-
- name: Setup scripts directory
264-
shell: bash
265-
run: |
266-
make ci-build-scripts-dir GOARCH="${{ matrix.arch }}"
267-
- name: Docker Build (Action)
268-
uses: hashicorp/actions-docker-build@v2
269-
env:
270-
VERSION: ${{ needs.get-product-version.outputs.product-version }}
271-
GO_VERSION: ${{ needs.build-pre-checks.outputs.go-version }}
272-
with:
273-
version: ${{env.version}}
274-
target: release-ubi-redhat
275-
arch: ${{matrix.arch}}
276-
# The quay id here corresponds to the project id on RedHat's portal
277-
redhat_tag: quay.io/redhat-isv-containers/64b072322e2773c28d30d988:${{env.image_tag}}
278-
279-
- name: Check binary version in container
280-
shell: bash
281-
run: |
282-
version_output=$(docker run quay.io/redhat-isv-containers/64b072322e2773c28d30d988:${{env.image_tag}} --version --output=json)
283-
echo $version_output
284-
git_version=$(echo $version_output | jq -r .gitVersion)
285-
286-
if [ "$git_version" != "${{ env.version }}" ]; then
287-
echo "$gitVersion expected to be ${{ env.version }}"
288-
exit 1
289-
fi
290-
291247
chart-upgrade-tests:
292248
runs-on: ubuntu-latest
293249
needs:
@@ -312,6 +268,7 @@ jobs:
312268
- "0.9.1"
313269
- "0.10.0"
314270
- "1.0.0"
271+
- "1.0.1"
315272
steps:
316273
- uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
317274
with:
@@ -475,7 +432,6 @@ jobs:
475432
- build
476433
- build-docker
477434
- build-docker-ubi
478-
- build-docker-ubi-redhat
479435
- chart-upgrade-tests
480436
- unit-tests
481437
- latest-vault

.release/vault-secrets-operator-artifacts.hcl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,17 @@ artifacts {
66
zip = [
77
"vault-secrets-operator_${version}_linux_amd64.zip",
88
"vault-secrets-operator_${version}_linux_arm64.zip",
9+
"vault-secrets-operator_${version}_linux_s390x.zip",
910
]
1011
container = [
1112
"vault-secrets-operator_release-default_linux_amd64_${version}_${commit_sha}.docker.tar",
1213
"vault-secrets-operator_release-default_linux_arm64_${version}_${commit_sha}.docker.tar",
13-
"vault-secrets-operator_release-ubi-redhat_linux_amd64_${version}_${commit_sha}.docker.redhat.tar",
14+
"vault-secrets-operator_release-default_linux_s390x_${version}_${commit_sha}.docker.tar",
15+
"vault-secrets-operator_release-ubi_linux_amd64_${version}_${commit_sha}.docker.redhat.tar",
16+
"vault-secrets-operator_release-ubi_linux_arm64_${version}_${commit_sha}.docker.redhat.tar",
17+
"vault-secrets-operator_release-ubi_linux_s390x_${version}_${commit_sha}.docker.redhat.tar",
1418
"vault-secrets-operator_release-ubi_linux_amd64_${version}_${commit_sha}.docker.tar",
1519
"vault-secrets-operator_release-ubi_linux_arm64_${version}_${commit_sha}.docker.tar",
20+
"vault-secrets-operator_release-ubi_linux_s390x_${version}_${commit_sha}.docker.tar",
1621
]
1722
}

chart/templates/_helpers.tpl

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,3 +482,18 @@ topologySpreadConstraints appends the "vso.chart.selectorLabels" to .Values.cont
482482
{{- end -}}
483483
{{- toYaml $out -}}
484484
{{- end -}}
485+
486+
{{/*
487+
vso.privileged.securityContext extends the given securithContext to always
488+
include privileged: true
489+
*/}}
490+
{{- define "vso.privileged.securityContext" -}}
491+
{{- $sc := dict -}}
492+
{{- with . -}}
493+
{{- range $k, $v := . -}}
494+
{{- $_ := set $sc $k $v -}}
495+
{{- end -}}
496+
{{- end -}}
497+
{{- $_ := set $sc "privileged" "true" -}}
498+
{{- toYaml $sc -}}
499+
{{- end -}}

chart/templates/csi-driver.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,12 @@ spec:
6161
annotations:
6262
{{- include "vso.csi.annotations" . | nindent 8 }}
6363
spec:
64+
securityContext:
65+
{{- include "vso.privileged.securityContext" .Values.csi.securityContext | nindent 8 }}
6466
serviceAccountName: {{ include "vso.chart.fullname" . }}-csi
6567
{{- with .Values.csi.hostAliases }}
6668
hostAliases:
67-
{{- toYaml . | nindent 8 }}
69+
{{ toYaml . | nindent 8 }}
6870
{{- end }}
6971
{{- if .Values.csi.affinity }}
7072
affinity:
@@ -131,7 +133,7 @@ spec:
131133
{{- end }}
132134
imagePullPolicy: {{ .Values.csi.driver.image.pullPolicy }}
133135
securityContext:
134-
privileged: true
136+
{{- include "vso.privileged.securityContext" .Values.csi.driver.securityContext | nindent 10 }}
135137
livenessProbe:
136138
failureThreshold: 5
137139
httpGet:

chart/values.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -928,6 +928,12 @@ csi:
928928
# @type: boolean
929929
enabled: false
930930

931+
# Configures the Pod level security context
932+
# https://kubernetes.io/docs/tasks/configure-pod-container/security-context
933+
#
934+
# Note: the driver container security context can be configured below.
935+
securityContext: {}
936+
931937
# Host Aliases settings for the `vault-secrets-operator-csi` pods as
932938
# an array of PodSpec HostAlias maps.
933939
# ref: https://kubernetes.io/docs/tasks/network/customize-hosts-file-for-pods/
@@ -1006,6 +1012,16 @@ csi:
10061012
annotations: {}
10071013

10081014
driver:
1015+
# Configures the driver container's security context
1016+
# https://kubernetes.io/docs/tasks/configure-pod-container/security-context
1017+
#
1018+
# Note: the Pod level security can also be configured above.
1019+
#
1020+
# Note: when deploying to an OpenShift cluster you should set:
1021+
# privileged: true
1022+
#
1023+
securityContext: {}
1024+
10091025
# Image information for the CSI driver.
10101026
# ref: https://kubernetes.io/docs/concepts/containers/images/
10111027
image:

config/manifests/bases/vault-secrets-operator.clusterserviceversion.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ metadata:
7272
features.operators.openshift.io/token-auth-gcp: "false"
7373
repository: https://github.com/hashicorp/vault-secrets-operator
7474
support: HashiCorp
75+
labels:
76+
operatorframework.io/arch.amd64: supported
77+
operatorframework.io/arch.arm64: supported
78+
operatorframework.io/arch.s390x: supported
79+
operatorframework.io/os.linux: supported
7580
name: vault-secrets-operator.v0.0.0-dev
7681
namespace: placeholder
7782
spec:

go.mod

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ require (
2525
github.com/argoproj/argo-rollouts v1.8.3
2626
github.com/cenkalti/backoff/v4 v4.3.0
2727
github.com/go-logr/logr v1.4.3
28-
github.com/go-openapi/runtime v0.29.1
28+
github.com/go-openapi/runtime v0.29.2
2929
github.com/go-openapi/strfmt v0.25.0
3030
github.com/google/uuid v1.6.0
31-
github.com/gruntwork-io/terratest v0.52.0
31+
github.com/gruntwork-io/terratest v0.54.0
3232
github.com/hashicorp/go-hclog v1.6.3
3333
github.com/hashicorp/go-rootcerts v1.0.2
3434
github.com/hashicorp/go-secure-stdlib/awsutil v0.3.0
@@ -43,13 +43,13 @@ require (
4343
github.com/prometheus/client_golang v1.23.2
4444
github.com/prometheus/client_model v0.6.2
4545
github.com/stretchr/testify v1.11.1
46-
golang.org/x/crypto v0.43.0
47-
google.golang.org/api v0.255.0
46+
golang.org/x/crypto v0.45.0
47+
google.golang.org/api v0.256.0
4848
gopkg.in/yaml.v3 v3.0.1
49-
k8s.io/api v0.34.1
50-
k8s.io/apiextensions-apiserver v0.34.1
51-
k8s.io/apimachinery v0.34.1
52-
k8s.io/client-go v0.34.1
49+
k8s.io/api v0.34.2
50+
k8s.io/apiextensions-apiserver v0.34.2
51+
k8s.io/apimachinery v0.34.2
52+
k8s.io/client-go v0.34.2
5353
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
5454
sigs.k8s.io/controller-runtime v0.22.4
5555
sigs.k8s.io/yaml v1.6.0
@@ -114,10 +114,11 @@ require (
114114
github.com/jackc/puddle/v2 v2.2.2 // indirect
115115
github.com/x448/float16 v0.8.4 // indirect
116116
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
117+
go.opentelemetry.io/otel/sdk/metric v1.38.0 // indirect
117118
go.yaml.in/yaml/v2 v2.4.2 // indirect
118119
go.yaml.in/yaml/v3 v3.0.4 // indirect
119-
golang.org/x/mod v0.28.0 // indirect
120-
golang.org/x/tools v0.37.0 // indirect
120+
golang.org/x/mod v0.29.0 // indirect
121+
golang.org/x/tools v0.38.0 // indirect
121122
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
122123
sigs.k8s.io/randfill v1.0.0 // indirect
123124
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect
@@ -158,7 +159,7 @@ require (
158159
github.com/google/gnostic-models v0.7.0 // indirect
159160
github.com/google/go-cmp v0.7.0 // indirect
160161
github.com/google/s2a-go v0.1.9 // indirect
161-
github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect
162+
github.com/googleapis/enterprise-certificate-proxy v0.3.7 // indirect
162163
github.com/googleapis/gax-go/v2 v2.15.0 // indirect
163164
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
164165
github.com/gruntwork-io/go-commons v0.8.0 // indirect
@@ -221,15 +222,15 @@ require (
221222
go.opentelemetry.io/otel/trace v1.38.0 // indirect
222223
go.uber.org/multierr v1.11.0 // indirect
223224
go.uber.org/zap v1.27.0 // indirect
224-
golang.org/x/net v0.46.0 // indirect
225-
golang.org/x/oauth2 v0.32.0 // indirect
225+
golang.org/x/net v0.47.0 // indirect
226+
golang.org/x/oauth2 v0.33.0 // indirect
226227
golang.org/x/sync v0.18.0 // indirect
227-
golang.org/x/sys v0.37.0 // indirect
228-
golang.org/x/term v0.36.0 // indirect
229-
golang.org/x/text v0.30.0 // indirect
228+
golang.org/x/sys v0.38.0 // indirect
229+
golang.org/x/term v0.37.0 // indirect
230+
golang.org/x/text v0.31.0 // indirect
230231
golang.org/x/time v0.14.0 // indirect
231232
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
232-
google.golang.org/genproto/googleapis/rpc v0.0.0-20251029180050-ab9386a59fda // indirect
233+
google.golang.org/genproto/googleapis/rpc v0.0.0-20251103181224-f26f9409b101 // indirect
233234
google.golang.org/grpc v1.76.0 // indirect
234235
google.golang.org/protobuf v1.36.10 // indirect
235236
gopkg.in/inf.v0 v0.9.1 // indirect

0 commit comments

Comments
 (0)