Skip to content

Commit a4835af

Browse files
committed
EPMDEDP-16587: feat: add image digest field to CodebaseImageStream CRD and Helm scaffolding
Add optional SHA256 digest field to the Tag struct in CodebaseImageStream CRD for NIST SP 800-190 compliance. Update application Helm scaffolding templates to support immutable image references (tag@digest format) for both Kubernetes and OpenShift platforms. Signed-off-by: Sergiy Kulanov <sergiy_kulanov@epam.com>
1 parent a2933d8 commit a4835af

8 files changed

Lines changed: 18 additions & 2 deletions

File tree

api/v1/codebaseimagestream_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ type CodebaseImageStreamSpec struct {
2121
type Tag struct {
2222
Name string `json:"name"`
2323
Created string `json:"created"`
24+
Digest string `json:"digest,omitempty"`
2425
}
2526

2627
// CodebaseImageStreamStatus defines the observed state of CodebaseImageStream.

build/templates/applications/helm-chart/kubernetes/templates/deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ spec:
3434
- name: {{ .Chart.Name }}
3535
securityContext:
3636
{{- toYaml .Values.securityContext | nindent 12 }}
37-
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
37+
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}{{ if .Values.image.digest }}@{{ .Values.image.digest }}{{ end }}"
3838
imagePullPolicy: {{ .Values.image.pullPolicy }}
3939
ports:
4040
- name: http

build/templates/applications/helm-chart/kubernetes/values.tmpl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ image:
99
pullPolicy: IfNotPresent
1010
# -- Overrides the image tag whose default is the chart appVersion.
1111
tag: ""
12+
# -- Image digest for immutable reference (e.g., sha256:abc123...). If set, deployed as :tag@digest.
13+
digest: ""
1214

1315
imagePullSecrets:
1416
# Define secret to pull images. Secret can be provisioned by edp-install or manually.

build/templates/applications/helm-chart/openshift/templates/deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ spec:
3131
- name: {{ .Chart.Name }}
3232
securityContext:
3333
{{- toYaml .Values.securityContext | nindent 12 }}
34-
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
34+
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}{{ if .Values.image.digest }}@{{ .Values.image.digest }}{{ end }}"
3535
imagePullPolicy: {{ .Values.image.pullPolicy }}
3636
ports:
3737
- name: http

build/templates/applications/helm-chart/openshift/values.tmpl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ image:
99
pullPolicy: IfNotPresent
1010
# -- Overrides the image tag whose default is the chart appVersion.
1111
tag: ""
12+
# -- Image digest for immutable reference (e.g., sha256:abc123...). If set, deployed as :tag@digest.
13+
digest: ""
1214

1315
imagePullSecrets:
1416
# Define secret to pull images. Secret can be provisioned by edp-install or manually.

config/crd/bases/v2.edp.epam.com_codebaseimagestreams.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ spec:
6060
properties:
6161
created:
6262
type: string
63+
digest:
64+
type: string
6365
name:
6466
type: string
6567
required:

deploy-templates/crds/v2.edp.epam.com_codebaseimagestreams.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ spec:
6060
properties:
6161
created:
6262
type: string
63+
digest:
64+
type: string
6365
name:
6466
type: string
6567
required:

docs/api.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,13 @@ CodebaseImageStreamSpec defines the desired state of CodebaseImageStream.
603603
<br/>
604604
</td>
605605
<td>true</td>
606+
</tr><tr>
607+
<td><b>digest</b></td>
608+
<td>string</td>
609+
<td>
610+
<br/>
611+
</td>
612+
<td>false</td>
606613
</tr></tbody>
607614
</table>
608615

0 commit comments

Comments
 (0)