ci: Skip SELinux relabel on start
dustin/airplaypi/pipeline/head This commit looks good Details

By default, CRI-O assigns a random SELinux category to every pod, and
then must adjust the label of every file and directory in the persistent
volume to match.  For very large volumes like a Buildroot output
directory, this can take quite some time.  Fortunately, if we assign a
static category, we can tell CRI-O to skip the relabel step.

Unfortunately, Jenkins does not merge the `securityContext` field of the
pod spec when the `yamlMergeStrategy` is set to `merge`.  For our custom
settings to apply, we have to leave the merge strategy at the default,
`override`.
Dustin 2025-08-31 10:55:49 -05:00
parent 1f1a9ed621
commit d4460d2b4d
2 changed files with 5 additions and 1 deletions

1
ci/Jenkinsfile vendored
View File

@ -11,7 +11,6 @@ pipeline {
agent {
kubernetes {
yamlFile 'ci/podTemplate.yaml'
yamlMergeStrategy merge()
workspaceVolume persistentVolumeClaimWorkspaceVolume(
claimName: 'buildroot-airplaypi'
)

View File

@ -1,3 +1,6 @@
metadata:
annotations:
io.kubernetes.cri-o.TrySkipVolumeSELinuxLabel: 'true'
spec:
containers:
- name: build
@ -13,6 +16,8 @@ spec:
subPath: ssh_known_hosts
securityContext:
fsGroupChangePolicy: OnRootMismatch
seLinuxOptions:
level: s0:c596,c675
volumes:
- name: ssh-known-hosts
configMap: