Skip to content

Commit c4bdb6e

Browse files
feat: convert pvcs to dict (#381)
1 parent 56ccca1 commit c4bdb6e

File tree

7 files changed

+95
-25
lines changed

7 files changed

+95
-25
lines changed

charts/cf-runtime/Chart.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v2
22
description: A Helm chart for Codefresh Runner
33
name: cf-runtime
4-
version: 4.0.2
4+
version: 5.0.0
55
keywords:
66
- codefresh
77
- runner
@@ -15,10 +15,10 @@ maintainers:
1515
annotations:
1616
artifacthub.io/changes: |
1717
- kind: added
18-
description: Add external secrets template
19-
- kind: fixed
20-
description: Fix condition if existing secrets are provided (API and Agent tokens)
18+
description: Update cf-common lib chart
19+
- kind: changed
20+
description: Change .runtime.dind.pvcs from list to dict
2121
dependencies:
2222
- name: cf-common
2323
repository: https://chartmuseum.codefresh.io/cf-common
24-
version: 0.12.2
24+
version: 0.12.3

charts/cf-runtime/README.md

Lines changed: 44 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Codefresh Runner
22

3-
![Version: 4.0.2](https://img.shields.io/badge/Version-4.0.2-informational?style=flat-square)
3+
![Version: 5.0.0](https://img.shields.io/badge/Version-5.0.0-informational?style=flat-square)
44

55
Helm chart for deploying [Codefresh Runner](https://codefresh.io/docs/docs/installation/codefresh-runner/) to Kubernetes.
66

@@ -13,6 +13,7 @@ Helm chart for deploying [Codefresh Runner](https://codefresh.io/docs/docs/insta
1313
- [To 2.x](#to-2x)
1414
- [To 3.x](#to-3x)
1515
- [To 4.x](#to-4x)
16+
- [To 5.x](#to-5x)
1617
- [Architecture](#architecture)
1718
- [Configuration](#configuration)
1819
- [EBS backend volume configuration](#ebs-backend-volume-configuration)
@@ -105,6 +106,38 @@ This major release adds **agentless inCluster** runtime mode (relevant only for
105106
Affected values:
106107
- `runtime.agent` / `runtime.inCluster` / `runtime.accounts` / `runtime.description` are added
107108

109+
### To 5.x
110+
111+
This major release converts `.runtime.dind.pvcs` from **list** to **dict**
112+
113+
> 4.x chart's values example:
114+
```yaml
115+
runtime:
116+
dind:
117+
pvcs:
118+
- name: dind
119+
storageClassName: my-storage-class-name
120+
volumeSize: 32Gi
121+
reuseVolumeSelector: 'codefresh-app,io.codefresh.accountName'
122+
reuseVolumeSortOrder: pipeline_id
123+
```
124+
125+
> 5.x chart's values example:
126+
```yaml
127+
runtime:
128+
dind:
129+
pvcs:
130+
dind:
131+
name: dind
132+
storageClassName: my-storage-class-name
133+
volumeSize: 32Gi
134+
reuseVolumeSelector: 'codefresh-app,io.codefresh.accountName'
135+
reuseVolumeSortOrder: pipeline_id
136+
```
137+
138+
Affected values:
139+
- `.runtime.dind.pvcs` converted from **list** to **dict**
140+
108141
## Architecture
109142

110143
[Codefresh Runner architecture](https://codefresh.io/docs/docs/installation/codefresh-runner/#codefresh-runner-architecture)
@@ -213,9 +246,8 @@ volumeProvisioner:
213246
# -- Create service account
214247
create: true
215248
# -- Additional service account annotations
216-
serviceAccount:
217-
annotations:
218-
eks.amazonaws.com/role-arn: "arn:aws:iam::<ACCOUNT_ID>:role/<IAM_ROLE_NAME>"
249+
annotations:
250+
eks.amazonaws.com/role-arn: "arn:aws:iam::<ACCOUNT_ID>:role/<IAM_ROLE_NAME>"
219251
```
220252
221253
### Custom volume mounts
@@ -662,7 +694,7 @@ Go to [https://<YOUR_ONPREM_DOMAIN_HERE>/admin/runtime-environments/system](http
662694

663695
| Repository | Name | Version |
664696
|------------|------|---------|
665-
| https://chartmuseum.codefresh.io/cf-common | cf-common | 0.12.2 |
697+
| https://chartmuseum.codefresh.io/cf-common | cf-common | 0.12.3 |
666698

667699
## Values
668700

@@ -761,17 +793,18 @@ Go to [https://<YOUR_ONPREM_DOMAIN_HERE>/admin/runtime-environments/system](http
761793
| runtime.accounts | list | `[]` | (for On-Premise only) Assign accounts to runtime (list of account ids) |
762794
| runtime.agent | bool | `true` | (for On-Premise only) Enable agent |
763795
| runtime.description | string | `""` | Runtime description |
764-
| runtime.dind | object | `{"affinity":{},"env":{},"image":{"registry":"quay.io","repository":"codefresh/dind","tag":"20.10.18-1.25.7"},"nodeSelector":{},"podAnnotations":{},"pvcs":[{"name":"dind","reuseVolumeSelector":"codefresh-app,io.codefresh.accountName","reuseVolumeSortOrder":"pipeline_id","storageClassName":"{{ include \"dind-volume-provisioner.storageClassName\" . }}","volumeSize":"16Gi"}],"resources":{"limits":{"cpu":"400m","memory":"800Mi"},"requests":null},"schedulerName":"","serviceAccount":"codefresh-engine","tolerations":[],"userAccess":true,"userVolumeMounts":{},"userVolumes":{}}` | Parameters for DinD (docker-in-docker) pod (aka "runtime" pod). |
796+
| runtime.dind | object | `{"affinity":{},"env":{},"image":{"registry":"quay.io","repository":"codefresh/dind","tag":"20.10.18-1.25.7"},"nodeSelector":{},"podAnnotations":{},"pvcs":{"dind":{"name":"dind","reuseVolumeSelector":"codefresh-app,io.codefresh.accountName","reuseVolumeSortOrder":"pipeline_id","storageClassName":"{{ include \"dind-volume-provisioner.storageClassName\" . }}","volumeSize":"16Gi"}},"resources":{"limits":{"cpu":"400m","memory":"800Mi"},"requests":null},"schedulerName":"","serviceAccount":"codefresh-engine","tolerations":[],"userAccess":true,"userVolumeMounts":{},"userVolumes":{}}` | Parameters for DinD (docker-in-docker) pod (aka "runtime" pod). |
765797
| runtime.dind.affinity | object | `{}` | Set affinity |
766798
| runtime.dind.env | object | `{}` | Set additional env vars. |
767799
| runtime.dind.image | object | `{"registry":"quay.io","repository":"codefresh/dind","tag":"20.10.18-1.25.7"}` | Set dind image. |
768800
| runtime.dind.nodeSelector | object | `{}` | Set node selector. |
769801
| runtime.dind.podAnnotations | object | `{}` | Set pod annotations. |
770-
| runtime.dind.pvcs | list | `[{"name":"dind","reuseVolumeSelector":"codefresh-app,io.codefresh.accountName","reuseVolumeSortOrder":"pipeline_id","storageClassName":"{{ include \"dind-volume-provisioner.storageClassName\" . }}","volumeSize":"16Gi"}]` | PV claim spec parametes. |
771-
| runtime.dind.pvcs[0] | object | `{"name":"dind","reuseVolumeSelector":"codefresh-app,io.codefresh.accountName","reuseVolumeSortOrder":"pipeline_id","storageClassName":"{{ include \"dind-volume-provisioner.storageClassName\" . }}","volumeSize":"16Gi"}` | PVC name prefix. Keep `dind` as default! Don't change! |
772-
| runtime.dind.pvcs[0].reuseVolumeSelector | string | `"codefresh-app,io.codefresh.accountName"` | PV reuse selector. Ref: https://codefresh.io/docs/docs/installation/codefresh-runner/#volume-reuse-policy |
773-
| runtime.dind.pvcs[0].storageClassName | string | `"{{ include \"dind-volume-provisioner.storageClassName\" . }}"` | PVC storage class name. Change ONLY if you need to use storage class NOT from Codefresh volume-provisioner |
774-
| runtime.dind.pvcs[0].volumeSize | string | `"16Gi"` | PVC size. |
802+
| runtime.dind.pvcs | object | `{"dind":{"name":"dind","reuseVolumeSelector":"codefresh-app,io.codefresh.accountName","reuseVolumeSortOrder":"pipeline_id","storageClassName":"{{ include \"dind-volume-provisioner.storageClassName\" . }}","volumeSize":"16Gi"}}` | PV claim spec parametes. |
803+
| runtime.dind.pvcs.dind | object | `{"name":"dind","reuseVolumeSelector":"codefresh-app,io.codefresh.accountName","reuseVolumeSortOrder":"pipeline_id","storageClassName":"{{ include \"dind-volume-provisioner.storageClassName\" . }}","volumeSize":"16Gi"}` | Default dind PVC parameters |
804+
| runtime.dind.pvcs.dind.name | string | `"dind"` | PVC name prefix. Keep `dind` as default! Don't change! |
805+
| runtime.dind.pvcs.dind.reuseVolumeSelector | string | `"codefresh-app,io.codefresh.accountName"` | PV reuse selector. Ref: https://codefresh.io/docs/docs/installation/codefresh-runner/#volume-reuse-policy |
806+
| runtime.dind.pvcs.dind.storageClassName | string | `"{{ include \"dind-volume-provisioner.storageClassName\" . }}"` | PVC storage class name. Change ONLY if you need to use storage class NOT from Codefresh volume-provisioner |
807+
| runtime.dind.pvcs.dind.volumeSize | string | `"16Gi"` | PVC size. |
775808
| runtime.dind.resources | object | `{"limits":{"cpu":"400m","memory":"800Mi"},"requests":null}` | Set dind resources. |
776809
| runtime.dind.schedulerName | string | `""` | Set scheduler name. |
777810
| runtime.dind.serviceAccount | string | `"codefresh-engine"` | Set service account for pod. |

charts/cf-runtime/README.md.gotmpl

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Helm chart for deploying [Codefresh Runner](https://codefresh.io/docs/docs/insta
1313
- [To 2.x](#to-2x)
1414
- [To 3.x](#to-3x)
1515
- [To 4.x](#to-4x)
16+
- [To 5.x](#to-5x)
1617
- [Architecture](#architecture)
1718
- [Configuration](#configuration)
1819
- [EBS backend volume configuration](#ebs-backend-volume-configuration)
@@ -105,6 +106,39 @@ This major release adds **agentless inCluster** runtime mode (relevant only for
105106
Affected values:
106107
- `runtime.agent` / `runtime.inCluster` / `runtime.accounts` / `runtime.description` are added
107108

109+
### To 5.x
110+
111+
This major release converts `.runtime.dind.pvcs` from **list** to **dict**
112+
113+
> 4.x chart's values example:
114+
```yaml
115+
runtime:
116+
dind:
117+
pvcs:
118+
- name: dind
119+
storageClassName: my-storage-class-name
120+
volumeSize: 32Gi
121+
reuseVolumeSelector: 'codefresh-app,io.codefresh.accountName'
122+
reuseVolumeSortOrder: pipeline_id
123+
```
124+
125+
> 5.x chart's values example:
126+
```yaml
127+
runtime:
128+
dind:
129+
pvcs:
130+
dind:
131+
name: dind
132+
storageClassName: my-storage-class-name
133+
volumeSize: 32Gi
134+
reuseVolumeSelector: 'codefresh-app,io.codefresh.accountName'
135+
reuseVolumeSortOrder: pipeline_id
136+
```
137+
138+
Affected values:
139+
- `.runtime.dind.pvcs` converted from **list** to **dict**
140+
141+
108142
## Architecture
109143

110144
[Codefresh Runner architecture](https://codefresh.io/docs/docs/installation/codefresh-runner/#codefresh-runner-architecture)
@@ -213,9 +247,8 @@ volumeProvisioner:
213247
# -- Create service account
214248
create: true
215249
# -- Additional service account annotations
216-
serviceAccount:
217-
annotations:
218-
eks.amazonaws.com/role-arn: "arn:aws:iam::<ACCOUNT_ID>:role/<IAM_ROLE_NAME>"
250+
annotations:
251+
eks.amazonaws.com/role-arn: "arn:aws:iam::<ACCOUNT_ID>:role/<IAM_ROLE_NAME>"
219252
```
220253

221254
### Custom volume mounts

charts/cf-runtime/templates/hooks/cm-update-runtime.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@ metadata:
99
labels:
1010
{{- include "runtime.labels" . | nindent 4 }}
1111
annotations:
12-
helm.sh/hook: post-install,post-upgrade
13-
helm.sh/hook-weight: "-5"
14-
helm.sh/hook-delete-policy: before-hook-creation
1512
{{- with $values.annotations }}
1613
{{- toYaml . | nindent 4 }}
1714
{{- end }}

charts/cf-runtime/templates/runtime/runtime-env-spec-tmpl.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,11 @@ dockerDaemonScheduler:
118118
schedulerName: {{ $dindContext.schedulerName }}
119119
{{- end }}
120120
{{- if $dindContext.pvcs }}
121-
pvcs: {{- include (printf "%v.tplrender" $cfCommonTplSemver) (dict "Values" $dindContext.pvcs "context" .) | nindent 4 }}
121+
pvcs:
122+
{{- range $index, $pvc := $dindContext.pvcs }}
123+
- name: {{ $pvc.name }}
124+
{{- include (printf "%v.tplrender" $cfCommonTplSemver) (dict "Values" (omit $pvc "name" ) "context" $) | nindent 6 }}
125+
{{- end }}
122126
{{- end }}
123127
defaultDindResources:
124128
{{- with $dindContext.resources }}

charts/cf-runtime/tests/runtime/runtime_values.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ runtime:
88
cpu: 1000m
99
memory: 2048Mi
1010
pvcs:
11-
- name: dind
11+
dind:
12+
name: dind
1213
storageClassName: my-custom-storage-class
1314
volumeSize: 8Gi
1415
reuseVolumeSelector: 'codefresh-app,io.codefresh.accountName'

charts/cf-runtime/values.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,9 +411,11 @@ runtime:
411411
memory: 800Mi
412412
# -- PV claim spec parametes.
413413
pvcs:
414+
# -- Default dind PVC parameters
415+
dind:
414416
# -- PVC name prefix.
415417
# Keep `dind` as default! Don't change!
416-
- name: dind
418+
name: dind
417419
# -- PVC storage class name.
418420
# Change ONLY if you need to use storage class NOT from Codefresh volume-provisioner
419421
storageClassName: '{{ include "dind-volume-provisioner.storageClassName" . }}'

0 commit comments

Comments
 (0)