Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions charts/cf-runtime/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v2
description: A Helm chart for Codefresh Runner
name: cf-runtime
version: 6.0.0
version: 6.0.1
keywords:
- codefresh
- runner
Expand All @@ -14,12 +14,8 @@ maintainers:
url: https://codefresh-io.github.io/
annotations:
artifacthub.io/changes: |
- kind: deprecated
description: Deprecated --generate-helm-values-file
- kind: changed
description: Update engine version
- kind: changed
description: Update dind version
- kind: fixed
description: Fix imageRegistry prefix for runtime images
dependencies:
- name: cf-common
repository: https://chartmuseum.codefresh.io/cf-common
Expand Down
2 changes: 1 addition & 1 deletion charts/cf-runtime/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Codefresh Runner

![Version: 6.0.0](https://img.shields.io/badge/Version-6.0.0-informational?style=flat-square)
![Version: 6.0.1](https://img.shields.io/badge/Version-6.0.1-informational?style=flat-square)

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

Expand Down
23 changes: 12 additions & 11 deletions charts/cf-runtime/templates/runtime/runtime-env-spec-tmpl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
{{- $name := (include "runtime.runtime-environment-spec.runtime-name" .) -}}
{{- $engineContext := .Values.runtime.engine -}}
{{- $dindContext := .Values.runtime.dind -}}
{{- $imageRegistry := .Values.global.imageRegistry -}}
metadata:
name: {{ include "runtime.runtime-environment-spec.runtime-name" . }}
agent: {{ .Values.runtime.agent }}
Expand All @@ -26,17 +27,17 @@ runtimeScheduler:
{{- with $engineContext.env }}
{{- toYaml . | nindent 4 }}
{{- end }}
COMPOSE_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" .Values.global.imageRegisty "imageFullName" $engineContext.runtimeImages.COMPOSE_IMAGE) }}'
CONTAINER_LOGGER_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" .Values.global.imageRegisty "imageFullName" $engineContext.runtimeImages.CONTAINER_LOGGER_IMAGE) }}'
DOCKER_BUILDER_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" .Values.global.imageRegisty "imageFullName" $engineContext.runtimeImages.DOCKER_BUILDER_IMAGE) }}'
DOCKER_PULLER_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" .Values.global.imageRegisty "imageFullName" $engineContext.runtimeImages.DOCKER_PULLER_IMAGE) }}'
DOCKER_PUSHER_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" .Values.global.imageRegisty "imageFullName" $engineContext.runtimeImages.DOCKER_PUSHER_IMAGE) }}'
DOCKER_TAG_PUSHER_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" .Values.global.imageRegisty "imageFullName" $engineContext.runtimeImages.DOCKER_TAG_PUSHER_IMAGE) }}'
FS_OPS_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" .Values.global.imageRegisty "imageFullName" $engineContext.runtimeImages.FS_OPS_IMAGE) }}'
GIT_CLONE_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" .Values.global.imageRegisty "imageFullName" $engineContext.runtimeImages.GIT_CLONE_IMAGE) }}'
KUBE_DEPLOY: '{{ include "runtime.runtimeImageName" (dict "registry" .Values.global.imageRegisty "imageFullName" $engineContext.runtimeImages.KUBE_DEPLOY) }}'
PIPELINE_DEBUGGER_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" .Values.global.imageRegisty "imageFullName" $engineContext.runtimeImages.PIPELINE_DEBUGGER_IMAGE) }}'
TEMPLATE_ENGINE: '{{ include "runtime.runtimeImageName" (dict "registry" .Values.global.imageRegisty "imageFullName" $engineContext.runtimeImages.TEMPLATE_ENGINE) }}'
COMPOSE_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" $imageRegistry "imageFullName" $engineContext.runtimeImages.COMPOSE_IMAGE) }}'
CONTAINER_LOGGER_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" $imageRegistry "imageFullName" $engineContext.runtimeImages.CONTAINER_LOGGER_IMAGE) }}'
DOCKER_BUILDER_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" $imageRegistry "imageFullName" $engineContext.runtimeImages.DOCKER_BUILDER_IMAGE) }}'
DOCKER_PULLER_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" $imageRegistry "imageFullName" $engineContext.runtimeImages.DOCKER_PULLER_IMAGE) }}'
DOCKER_PUSHER_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" $imageRegistry "imageFullName" $engineContext.runtimeImages.DOCKER_PUSHER_IMAGE) }}'
DOCKER_TAG_PUSHER_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" $imageRegistry "imageFullName" $engineContext.runtimeImages.DOCKER_TAG_PUSHER_IMAGE) }}'
FS_OPS_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" $imageRegistry "imageFullName" $engineContext.runtimeImages.FS_OPS_IMAGE) }}'
GIT_CLONE_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" $imageRegistry "imageFullName" $engineContext.runtimeImages.GIT_CLONE_IMAGE) }}'
KUBE_DEPLOY: '{{ include "runtime.runtimeImageName" (dict "registry" $imageRegistry "imageFullName" $engineContext.runtimeImages.KUBE_DEPLOY) }}'
PIPELINE_DEBUGGER_IMAGE: '{{ include "runtime.runtimeImageName" (dict "registry" $imageRegistry "imageFullName" $engineContext.runtimeImages.PIPELINE_DEBUGGER_IMAGE) }}'
TEMPLATE_ENGINE: '{{ include "runtime.runtimeImageName" (dict "registry" $imageRegistry "imageFullName" $engineContext.runtimeImages.TEMPLATE_ENGINE) }}'
{{- with $engineContext.userEnvVars }}
userEnvVars: {{- toYaml . | nindent 2 }}
{{- end }}
Expand Down
153 changes: 153 additions & 0 deletions charts/cf-runtime/tests/private-registry/private_registry_test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/quintush/helm-unittest/master/schema/helm-testsuite.json
suite: private_registry test
values:
- ../values.yaml
- ../values-private-registry.yaml
templates:
- templates/hooks/post-install/cm-update-runtime.yaml
- templates/runner/deployment.yaml
- templates/volume-provisioner/deployment.yaml
- templates/volume-provisioner/daemonset.yaml
- templates/volume-provisioner/cronjob.yaml
- templates/monitor/deployment.yaml
- templates/app-proxy/deployment.yaml
release:
name: cf-runtime
namespace: codefresh
revision: 1
upgrade: true
chart:
version: 1.0.0
appVersion: 1.0.0
tests:
- it: Test private registry in runtime spec
template: templates/hooks/post-install/cm-update-runtime.yaml
asserts:
- equal:
path: data["runtime.yaml"]
value: |-
metadata:
name: my-context/codefresh
agent: true
extends:
- system/default/hybrid/k8s_low_limits
runtimeScheduler:
type: KubernetesPod
image: somedomain.io/codefresh/engine:tagoverride
command:
- npm
- run
- start
envVars:
COMPOSE_IMAGE: 'somedomain.io/codefresh/compose:tagoverride'
CONTAINER_LOGGER_IMAGE: 'somedomain.io/codefresh/cf-container-logger:tagoverride'
DOCKER_BUILDER_IMAGE: 'somedomain.io/codefresh/cf-docker-builder:tagoverride'
DOCKER_PULLER_IMAGE: 'somedomain.io/codefresh/cf-docker-puller:tagoverride'
DOCKER_PUSHER_IMAGE: 'somedomain.io/codefresh/cf-docker-pusher:tagoverride'
DOCKER_TAG_PUSHER_IMAGE: 'somedomain.io/codefresh/cf-docker-tag-pusher:tagoverride'
FS_OPS_IMAGE: 'somedomain.io/codefresh/fs-ops:tagoverride'
GIT_CLONE_IMAGE: 'somedomain.io/codefresh/cf-git-cloner:tagoverride'
KUBE_DEPLOY: 'somedomain.io/codefresh/cf-deploy-kubernetes:tagoverride'
PIPELINE_DEBUGGER_IMAGE: 'somedomain.io/codefresh/cf-debugger:tagoverride'
TEMPLATE_ENGINE: 'somedomain.io/codefresh/pikolo:tagoverride'
cluster:
namespace: codefresh
serviceAccount: codefresh-engine
clusterProvider:
accountId: 7890
selector: my-context
resources:
limits:
cpu: 1000m
memory: 2048Mi
requests:
cpu: 100m
memory: 128Mi
dockerDaemonScheduler:
type: DindKubernetesPod
dindImage: somedomain.io/codefresh/dind:tagoverride
userAccess: true
cluster:
namespace: codefresh
serviceAccount: codefresh-engine
clusterProvider:
accountId: 7890
selector: my-context
pvcs:
- name: dind
reuseVolumeSelector: codefresh-app,io.codefresh.accountName
reuseVolumeSortOrder: pipeline_id
storageClassName: 'dind-local-volumes-runner-codefresh'
volumeSize: 16Gi
defaultDindResources:
limits:
cpu: 400m
memory: 800Mi
requests: null

- it: Test private registy in runner
template: templates/runner/deployment.yaml
asserts:
- matchRegex:
path: spec.template.spec.containers[0].image
pattern: ^somedomain.io/codefresh/.*$

- it: Test private registy in runner init container
template: templates/runner/deployment.yaml
asserts:
- matchRegex:
path: spec.template.spec.initContainers[0].image
pattern: ^somedomain.io/codefresh/.*$

- it: Test private registy in volume-provisioner
template: templates/runner/deployment.yaml
asserts:
- matchRegex:
path: spec.template.spec.containers[0].image
pattern: ^somedomain.io/codefresh/.*$

- it: Test private registy in dind-lv-monitor
template: templates/volume-provisioner/daemonset.yaml
asserts:
- matchRegex:
path: spec.template.spec.containers[0].image
pattern: ^somedomain.io/codefresh/.*$

- it: Test private registy in cronjob
template: templates/volume-provisioner/cronjob.yaml
set:
storage.backend: ebs-csi
asserts:
- matchRegex:
path: spec.jobTemplate.spec.template.spec.containers[0].image
pattern: ^somedomain.io/codefresh/.*$

- it: Test private registy in monitor
template: templates/monitor/deployment.yaml
set:
monitor.enabled: true
asserts:
- matchRegex:
path: spec.template.spec.containers[0].image
pattern: ^somedomain.io/codefresh/.*$

- it: Test private registy in app-proxy
template: templates/app-proxy/deployment.yaml
set:
appProxy.enabled: true
asserts:
- matchRegex:
path: spec.template.spec.containers[0].image
pattern: ^somedomain.io/codefresh/.*$

- it: Test private registy in hooks
asserts:
- matchRegex:
path: spec.template.spec.containers[0].image
pattern: ^somedomain.io/codefresh/.*$
template: templates/hooks/post-install/job-update-runtime.yaml
- matchRegex:
path: spec.template.spec.containers[0].image
pattern: ^somedomain.io/codefresh/.*$
template: templates/hooks/post-install/job-gencerts-dind.yaml

24 changes: 24 additions & 0 deletions charts/cf-runtime/tests/values-private-registry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
global:
imageRegistry: somedomain.io

runtime:
# just locking tags for unit test
engine:
image:
tag: tagoverride
runtimeImages:
COMPOSE_IMAGE: quay.io/codefresh/compose:tagoverride
CONTAINER_LOGGER_IMAGE: quay.io/codefresh/cf-container-logger:tagoverride
DOCKER_BUILDER_IMAGE: quay.io/codefresh/cf-docker-builder:tagoverride
DOCKER_PULLER_IMAGE: quay.io/codefresh/cf-docker-puller:tagoverride
DOCKER_PUSHER_IMAGE: quay.io/codefresh/cf-docker-pusher:tagoverride
DOCKER_TAG_PUSHER_IMAGE: quay.io/codefresh/cf-docker-tag-pusher:tagoverride
FS_OPS_IMAGE: quay.io/codefresh/fs-ops:tagoverride
GIT_CLONE_IMAGE: quay.io/codefresh/cf-git-cloner:tagoverride
KUBE_DEPLOY: quay.io/codefresh/cf-deploy-kubernetes:tagoverride
PIPELINE_DEBUGGER_IMAGE: quay.io/codefresh/cf-debugger:tagoverride
TEMPLATE_ENGINE: quay.io/codefresh/pikolo:tagoverride

dind:
image:
tag: tagoverride