Skip to content

Commit b4d0b16

Browse files
jshum2479rjeberhard
authored andcommitted
Fix problem for MII auxiliary image not honoring podSecurityContext in serverPod
1 parent 195739c commit b4d0b16

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

operator/src/main/java/oracle/kubernetes/operator/helpers/BasePodStepContext.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,18 +150,26 @@ protected V1Volume createEmptyDirVolume() {
150150
.name(AUXILIARY_IMAGE_INTERNAL_VOLUME_NAME).emptyDir(emptyDirVolumeSource);
151151
}
152152

153-
protected V1Container createInitContainerForAuxiliaryImage(DeploymentImage auxiliaryImage, int index) {
154-
return new V1Container().name(getName(index))
153+
protected V1Container createInitContainerForAuxiliaryImage(DeploymentImage auxiliaryImage, int index,
154+
boolean isInitializeDomainOnPV) {
155+
V1Container container = new V1Container().name(getName(index))
155156
.image(auxiliaryImage.getImage())
156157
.imagePullPolicy(auxiliaryImage.getImagePullPolicy())
157158
.command(Collections.singletonList(AUXILIARY_IMAGE_INIT_CONTAINER_WRAPPER_SCRIPT))
158159
.env(createEnv(auxiliaryImage, getName(index)))
159160
.resources(createResources())
160-
.securityContext(PodSecurityHelper.getDefaultContainerSecurityContext())
161161
.volumeMounts(Arrays.asList(
162162
new V1VolumeMount().name(AUXILIARY_IMAGE_INTERNAL_VOLUME_NAME)
163163
.mountPath(AUXILIARY_IMAGE_TARGET_PATH),
164164
new V1VolumeMount().name(SCRIPTS_VOLUME).mountPath(SCRIPTS_MOUNTS_PATH)));
165+
166+
if (isInitializeDomainOnPV) {
167+
container.securityContext(PodSecurityHelper.getDefaultContainerSecurityContext());
168+
} else {
169+
container.securityContext(getInitContainerSecurityContext());
170+
}
171+
172+
return container;
165173
}
166174

167175
abstract V1SecurityContext getInitContainerSecurityContext();

operator/src/main/java/oracle/kubernetes/operator/helpers/JobStepContext.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,8 @@ protected void addInitContainers(V1PodSpec podSpec) {
463463

464464
private void addInitContainers(List<V1Container> initContainers, List<? extends DeploymentImage> auxiliaryImages) {
465465
IntStream.range(0, auxiliaryImages.size()).forEach(idx ->
466-
initContainers.add(createInitContainerForAuxiliaryImage(auxiliaryImages.get(idx), idx)));
466+
initContainers.add(createInitContainerForAuxiliaryImage(auxiliaryImages.get(idx), idx,
467+
isInitializeDomainOnPV())));
467468
}
468469

469470
private Optional<InitializeDomainOnPV> getInitializeDomainOnPV() {

operator/src/main/java/oracle/kubernetes/operator/helpers/PodStepContext.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -724,7 +724,8 @@ private List<V1Container> getInitContainers() {
724724
protected void getAuxiliaryImageInitContainers(List<AuxiliaryImage> auxiliaryImageList,
725725
List<V1Container> initContainers) {
726726
Optional.ofNullable(auxiliaryImageList).ifPresent(cl -> IntStream.range(0, cl.size()).forEach(idx ->
727-
initContainers.add(createInitContainerForAuxiliaryImage(cl.get(idx), idx))));
727+
initContainers.add(createInitContainerForAuxiliaryImage(cl.get(idx), idx,
728+
getDomain().isInitializeDomainOnPV()))));
728729
}
729730

730731
// ---------------------- model methods ------------------------------

0 commit comments

Comments
 (0)