diff --git a/.github/workflows/ci_verify.sh b/.github/workflows/ci_verify.sh index 077b6c8..deca0bd 100755 --- a/.github/workflows/ci_verify.sh +++ b/.github/workflows/ci_verify.sh @@ -16,23 +16,23 @@ mkdir -p ${ROOT}/.ci_work # use docker if available else use podman if ! docker version &>/dev/null; then docker=podman; else docker=docker; fi +# copy the services to a temporary location to avoid dirtying the repo +cp -r ${ROOT}/services/* ${ROOT}/.ci_work/ + for service in ${ROOT}/services/*/ # */ to skip files do - ### Lint each service chart and validate if schema given ### service_name=$(basename $service) - cp -r $service ${ROOT}/.ci_work/$service_name schema=$(cat ${service}/values.yaml | sed -rn 's/^# yaml-language-server: \$schema=(.*)/\1/p') if [ -n "${schema}" ]; then echo "{\"\$ref\": \"$schema\"}" > ${ROOT}/.ci_work/$service_name/values.schema.json fi $docker run --rm --entrypoint bash \ - -v ${ROOT}/.ci_work/$service_name:/services/$service_name \ + -v ${ROOT}/.ci_work:/services \ alpine/helm:3.14.3 \ -c "helm dependency update /services/$service_name" $docker run --rm --entrypoint bash \ - -v ${ROOT}/.ci_work/$service_name:/services/$service_name \ - -v ${ROOT}/services/values.yaml:/services/values.yaml \ + -v ${ROOT}/.ci_work:/services \ alpine/helm:3.14.3 \ -c "helm lint /services/$service_name --values /services/values.yaml" diff --git a/services/bl45p-ea-dcam-01/values.yaml b/services/bl45p-ea-dcam-01/values.yaml index 0c2fe4c..b291c7f 100644 --- a/services/bl45p-ea-dcam-01/values.yaml +++ b/services/bl45p-ea-dcam-01/values.yaml @@ -1,6 +1,4 @@ -# Arguments to the shared ioc instance template dls-aravis -# This will make an IOC instance for an aravis camera with a standard set -# of Areadetector plugins. +# yaml-language-server: $schema=https://github.com/epics-containers/ec-helm-charts/releases/download/4.1.2/ioc-instance.schema.json dls-aravis: P: BL45P-EA-MAP-01 diff --git a/services/bl45p-ea-dcam-02/values.yaml b/services/bl45p-ea-dcam-02/values.yaml index 274da7f..18d7f40 100644 --- a/services/bl45p-ea-dcam-02/values.yaml +++ b/services/bl45p-ea-dcam-02/values.yaml @@ -1,3 +1,5 @@ +# yaml-language-server: $schema=https://github.com/epics-containers/ec-helm-charts/releases/download/4.1.2/ioc-instance.schema.json + # Arguments to the shared ioc instance template dls-aravis # This will make an IOC instance for an aravis camera with a standard set # of Areadetector plugins. @@ -8,3 +10,4 @@ dls-aravis: ioc-instance: image: ghcr.io/epics-containers/ioc-adaravis-runtime:2024.11.1 + location: bl45p # TODO remove me when schema is fixed diff --git a/services/bl45p-mo-brick-01/values.yaml b/services/bl45p-mo-brick-01/values.yaml index 37c9060..d4d84ba 100644 --- a/services/bl45p-mo-brick-01/values.yaml +++ b/services/bl45p-mo-brick-01/values.yaml @@ -1,5 +1,6 @@ -# yaml-language-server: $schema=https://github.com/marcelldls/ec-helm-charts/releases/download/3.4.4/ioc-instance.schema.json#/$defs/service +# yaml-language-server: $schema=https://github.com/epics-containers/ec-helm-charts/releases/download/4.1.2/ioc-instance.schema.json/#/$defs/service # latest container image for the pmac motion controller ioc-instance: image: ghcr.io/epics-containers/ioc-pmac-runtime:2024.9.1 + location: bl45p # TODO remove me when schema is fixed diff --git a/services/bl45p-mo-panda-01/values.yaml b/services/bl45p-mo-panda-01/values.yaml index b9e21fe..89cd342 100644 --- a/services/bl45p-mo-panda-01/values.yaml +++ b/services/bl45p-mo-panda-01/values.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://github.com/marcelldls/ec-helm-charts/releases/download/3.4.4/ioc-instance.schema.json#/$defs/service +# yaml-language-server: $schema=https://github.com/epics-containers/ec-helm-charts/releases/download/4.1.2/ioc-instance.schema.json/#/$defs/service # latest container image for GigE cameras from the GitHub Container Registry ioc-instance: @@ -8,3 +8,4 @@ ioc-instance: # /epics/ioc/start.sh - thus making the pandaBlocks container image have # the same entrypoint as ioc-template based images iocConfig: /epics/ioc + location: bl45p # TODO remove me when schema is fixed diff --git a/services/bl45p-mo-panda-02/values.yaml b/services/bl45p-mo-panda-02/values.yaml index b9e21fe..89cd342 100644 --- a/services/bl45p-mo-panda-02/values.yaml +++ b/services/bl45p-mo-panda-02/values.yaml @@ -1,4 +1,4 @@ -# yaml-language-server: $schema=https://github.com/marcelldls/ec-helm-charts/releases/download/3.4.4/ioc-instance.schema.json#/$defs/service +# yaml-language-server: $schema=https://github.com/epics-containers/ec-helm-charts/releases/download/4.1.2/ioc-instance.schema.json/#/$defs/service # latest container image for GigE cameras from the GitHub Container Registry ioc-instance: @@ -8,3 +8,4 @@ ioc-instance: # /epics/ioc/start.sh - thus making the pandaBlocks container image have # the same entrypoint as ioc-template based images iocConfig: /epics/ioc + location: bl45p # TODO remove me when schema is fixed diff --git a/services/values.yaml b/services/values.yaml index 0a91840..488935d 100644 --- a/services/values.yaml +++ b/services/values.yaml @@ -1,3 +1,4 @@ +# yaml-language-server: $schema=https://github.com/epics-containers/ec-helm-charts/releases/download/4.1.2/ioc-instance.schema.json/#/$defs/service # shared values for all services global: @@ -9,6 +10,7 @@ ioc-instance: # useHostNetwork - use host network for IOC - required for Channel Access # to work outside of the cluster hostNetwork: true + location: bl45p # TODO remove me when schema is fixed # affinity and tolerations to get the right nodes on pollux securityContext: @@ -19,7 +21,15 @@ ioc-instance: pvc: false hostPath: /dls/p45/data - useAffinity: true + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: beamline + operator: In + values: + - bl45p tolerations: - key: beamline