From 0e3ea4bc18af6e949a17fec8cf8cbdb702ede785 Mon Sep 17 00:00:00 2001 From: Derek Roberts Date: Tue, 22 Oct 2024 15:48:57 -0700 Subject: [PATCH] chore(ci): deploymentconfig deprecation (#701) * chore(ci): deploymentconfig deprecation * Drop imagestreams * Random envar to ensure rollouts * Remove promote param * Temporarily comment out workflow jobs * Remove param * Remove param * Fix ZONE var reset * Template fix * Use one init job * Adjust image paths * Restore workflows * Restore workflows * Promote PROD images before deployment --- .github/workflows/merge-demo.yml | 3 -- .github/workflows/merge-main.yml | 38 +++++++++----------- .github/workflows/pr-open.yml | 35 ++++++------------- admin/openshift.deploy.yml | 56 +++++++++++------------------ api/openshift.deploy.yml | 60 ++++++++++---------------------- db/openshift.deploy.yml | 59 ++++++++++--------------------- libs/openshift.init.yml | 2 -- public/openshift.deploy.yml | 53 +++++++++------------------- 8 files changed, 102 insertions(+), 204 deletions(-) diff --git a/.github/workflows/merge-demo.yml b/.github/workflows/merge-demo.yml index 8c45a482a..1baaff4d6 100644 --- a/.github/workflows/merge-demo.yml +++ b/.github/workflows/merge-demo.yml @@ -55,7 +55,6 @@ jobs: file: api/openshift.deploy.yml overwrite: true parameters: - -p OC_NAMESPACE=${{ vars.OC_NAMESPACE }} -p URL=fom-demo.apps.silver.devops.gov.bc.ca -p FOM_EMAIL_NOTIFY=FLNR.AdminServicesCariboo@gov.bc.ca -p DB_TESTDATA=true @@ -69,7 +68,6 @@ jobs: - name: db file: db/openshift.deploy.yml overwrite: false - parameters: -p OC_NAMESPACE=${{ vars.OC_NAMESPACE }} - name: init file: libs/openshift.init.yml overwrite: false @@ -87,5 +85,4 @@ jobs: overwrite: ${{ matrix.overwrite }} penetration_test: false parameters: - -p PROMOTE=ghcr.io/${{ github.repository }}/${{ matrix.name }}:${{ env.ZONE }} -p ZONE=${{ env.ZONE }} ${{ matrix.parameters }} diff --git a/.github/workflows/merge-main.yml b/.github/workflows/merge-main.yml index d339ea252..8baf03af1 100644 --- a/.github/workflows/merge-main.yml +++ b/.github/workflows/merge-main.yml @@ -32,7 +32,6 @@ jobs: oc_version: "4.13" overwrite: true parameters: - -p OC_NAMESPACE=${{ vars.OC_NAMESPACE }} -p URL=fom-test.nrs.gov.bc.ca -p FOM_EMAIL_NOTIFY=FLNR.AdminServicesCariboo@gov.bc.ca -p DB_TESTDATA=true @@ -45,7 +44,6 @@ jobs: - name: db file: db/openshift.deploy.yml overwrite: false - parameters: -p OC_NAMESPACE=${{ vars.OC_NAMESPACE }} - name: init file: libs/openshift.init.yml overwrite: false @@ -64,13 +62,27 @@ jobs: overwrite: ${{ matrix.overwrite }} penetration_test: false parameters: - -p PROMOTE=${{ github.repository }}/${{ matrix.name }}:${{ env.ZONE }} -p ZONE=${{ env.ZONE }} ${{ matrix.parameters }} post_rollout: ${{ matrix.post_rollout }} + prod-promotions: + name: Promote images to PROD + needs: [deploy-test] + runs-on: ubuntu-22.04 + strategy: + matrix: + component: [api, admin, db, public] + steps: + - uses: shrink/actions-docker-registry-tag@v4 + with: + registry: ghcr.io + repository: ${{ github.repository }}/${{ matrix.component }} + target: test + tags: prod + deploy-prod: name: PROD Deploys - needs: [deploy-test] + needs: [prod-promotions] environment: prod env: ZONE: prod @@ -85,7 +97,6 @@ jobs: oc_version: "4.13" overwrite: true parameters: - -p OC_NAMESPACE=${{ vars.OC_NAMESPACE }} -p URL=fom.nrs.gov.bc.ca -p AWS_USER_POOLS_WEB_CLIENT_ID="4bu2n8at3m32a2fqnvd4t06la1" -p LOGOUT_CHAIN_URL="https://logon7.gov.bc.ca/clp-cgi/logoff.cgi?retnow=1&returl=https://loginproxy.gov.bc.ca/auth/realms/standard/protocol/openid-connect/logout?redirect_uri=" @@ -98,7 +109,6 @@ jobs: - name: db file: db/openshift.deploy.yml overwrite: false - parameters: -p OC_NAMESPACE=${{ vars.OC_NAMESPACE }} - name: init file: libs/openshift.init.yml overwrite: false @@ -117,21 +127,5 @@ jobs: overwrite: ${{ matrix.overwrite }} penetration_test: false parameters: - -p PROMOTE=${{ github.repository }}/${{ matrix.name }}:test -p ZONE=${{ env.ZONE }} ${{ matrix.parameters }} post_rollout: ${{ matrix.post_rollout }} - - image-promotions: - name: Promote images to PROD - needs: [deploy-prod] - runs-on: ubuntu-22.04 - strategy: - matrix: - component: [api, admin, db, public] - steps: - - uses: shrink/actions-docker-registry-tag@v4 - with: - registry: ghcr.io - repository: ${{ github.repository }}/${{ matrix.component }} - target: test - tags: prod diff --git a/.github/workflows/pr-open.yml b/.github/workflows/pr-open.yml index 5b4f90e87..cdcd892d8 100644 --- a/.github/workflows/pr-open.yml +++ b/.github/workflows/pr-open.yml @@ -9,24 +9,19 @@ concurrency: cancel-in-progress: true jobs: - setup: - name: Reset the deployment number + init: + name: Init + permissions: + pull-requests: write runs-on: ubuntu-22.04 outputs: - zone: ${{ steps.calculate.outputs.zone }} + route_number: ${{ steps.calculate.outputs.route_number }} steps: - name: Calculate the deployment number id: calculate run: | - echo "zone=$((${{ github.event.number }} % 50))" >> $GITHUB_OUTPUT + echo "route_number=$((${{ github.event.number }} % 50))" >> $GITHUB_OUTPUT - prep: - name: Prep - permissions: - pull-requests: write - runs-on: ubuntu-22.04 - needs: setup - steps: - name: OpenShift Init uses: bcgov-nr/action-deployer-openshift@v2.3.0 with: @@ -35,7 +30,7 @@ jobs: oc_token: ${{ secrets.OC_TOKEN }} file: libs/openshift.init.yml overwrite: false - parameters: -p ZONE=${{ needs.setup.outputs.zone }} + parameters: -p ZONE=${{ github.event.number }} triggers: ('db/' 'libs/' 'api/' 'admin/' 'public/') builds: @@ -43,9 +38,6 @@ jobs: runs-on: ubuntu-22.04 permissions: packages: write - needs: setup - env: - ZONE: ${{ needs.setup.outputs.zone }} strategy: matrix: package: [admin, api, db, public] @@ -72,17 +64,15 @@ jobs: build_context: ${{ matrix.build_context }} build_file: ${{ matrix.build_file }} keep_versions: 100 - tag: ${{ env.ZONE }} + tag: ${{ github.event.number }} tag_fallback: test token: ${{ secrets.GITHUB_TOKEN }} triggers: ${{ matrix.triggers }} deploys: name: Deploys - needs: [prep, builds, setup] + needs: [builds, init] runs-on: ubuntu-22.04 - env: - ZONE: ${{ needs.setup.outputs.zone }} timeout-minutes: 10 strategy: matrix: @@ -92,7 +82,6 @@ jobs: file: api/openshift.deploy.yml overwrite: true parameters: - -p OC_NAMESPACE=${{ vars.OC_NAMESPACE }} -p REPLICA_COUNT=1 -p FOM_EMAIL_NOTIFY=SIBIFSAF@victoria1.gov.bc.ca -p DB_TESTDATA=true @@ -107,7 +96,6 @@ jobs: - name: db file: db/openshift.deploy.yml overwrite: false - parameters: -p OC_NAMESPACE=${{ vars.OC_NAMESPACE }} triggers: ('db/' 'libs/' 'api/' 'admin/' 'public/') - name: public file: public/openshift.deploy.yml @@ -124,7 +112,6 @@ jobs: overwrite: ${{ matrix.overwrite }} penetration_test: false parameters: - -p PROMOTE=${{ github.repository }}/${{ matrix.name }}:${{ env.ZONE }} - -p URL=fom-${{ env.ZONE }}.apps.silver.devops.gov.bc.ca - -p ZONE=${{ env.ZONE }} ${{ matrix.parameters }} + -p URL=fom-${{ needs.init.outputs.route_number }}.apps.silver.devops.gov.bc.ca + -p ZONE=${{ github.event.number }} ${{ matrix.parameters }} triggers: ${{ matrix.triggers }} diff --git a/admin/openshift.deploy.yml b/admin/openshift.deploy.yml index bcc19e1ff..8a11cec18 100644 --- a/admin/openshift.deploy.yml +++ b/admin/openshift.deploy.yml @@ -29,9 +29,12 @@ parameters: - name: REGISTRY description: Container registry to import from (internal is image-registry.openshift-image-registry.svc:5000) value: ghcr.io - - name: PROMOTE - description: Image (namespace/name:tag) to promote/import - required: true + - name: ORG + description: Organization name + value: bcgov + - name: ORG + description: Organization name + value: bcgov - description: Number of replicas displayName: Replica Count name: REPLICA_COUNT @@ -42,23 +45,11 @@ parameters: name: CADDY_DATA_PVC_SIZE required: true value: 22Mi + - name: RANDOM_EXPRESSION + description: Random expression to make sure deployments update + from: "[a-zA-Z0-9]{32}" + generate: expression objects: - - apiVersion: v1 - kind: ImageStream - metadata: - labels: - app: ${NAME}-${ZONE} - name: ${NAME}-${ZONE}-${COMPONENT} - spec: - lookupPolicy: - local: false - tags: - - name: ${ZONE}-${COMPONENT} - from: - kind: DockerImage - name: ${REGISTRY}/${PROMOTE} - referencePolicy: - type: Local - kind: ConfigMap apiVersion: v1 data: @@ -67,8 +58,8 @@ objects: window.localStorage.setItem('fom_api_base_url', 'https://${URL}'); metadata: name: ${NAME}-${ZONE}-${COMPONENT} - - apiVersion: v1 - kind: DeploymentConfig + - apiVersion: apps/v1 + kind: Deployment metadata: labels: app: ${NAME}-${ZONE} @@ -78,7 +69,7 @@ objects: revisionHistoryLimit: 10 test: false strategy: - type: Rolling + type: RollingUpdate rollingParams: updatePeriodSeconds: 1 intervalSeconds: 1 @@ -86,26 +77,17 @@ objects: maxUnavailable: 25% maxSurge: 25% activeDeadlineSeconds: 21600 - triggers: - - type: ConfigChange - - type: ImageChange - imageChangeParams: - automatic: true - containerNames: - - ${NAME} - from: - kind: ImageStreamTag - name: ${NAME}-${ZONE}-${COMPONENT}:${ZONE}-${COMPONENT} selector: - deploymentconfig: ${NAME}-${ZONE}-${COMPONENT} + matchLabels: + deployment: ${NAME}-${ZONE}-${COMPONENT} template: metadata: labels: app: ${NAME}-${ZONE} - deploymentconfig: ${NAME}-${ZONE}-${COMPONENT} + deployment: ${NAME}-${ZONE}-${COMPONENT} spec: containers: - - image: ${NAME}-${ZONE}-${COMPONENT}:${ZONE}-${COMPONENT} + - image: ${REGISTRY}/${ORG}/nr-fom/${COMPONENT}:${ZONE} securityContext: capabilities: add: ["NET_BIND_SERVICE"] @@ -116,6 +98,8 @@ objects: value: fom-${ZONE}-api - name: fom_api_base_url value: fom-${ZONE}-api + - name: RANDOM_EXPRESSION + value: ${RANDOM_EXPRESSION} ports: - containerPort: 4200 protocol: TCP @@ -170,7 +154,7 @@ objects: port: 80 targetPort: 4200 selector: - deploymentconfig: ${NAME}-${ZONE}-${COMPONENT} + deployment: ${NAME}-${ZONE}-${COMPONENT} - apiVersion: route.openshift.io/v1 kind: Route metadata: diff --git a/api/openshift.deploy.yml b/api/openshift.deploy.yml index 3ea0f1500..61d6dc7a6 100644 --- a/api/openshift.deploy.yml +++ b/api/openshift.deploy.yml @@ -44,9 +44,9 @@ parameters: - name: REGISTRY description: Container registry to import from (internal is image-registry.openshift-image-registry.svc:5000) value: ghcr.io - - name: PROMOTE - description: Image (namespace/name:tag) to promote/import - required: true + - name: ORG + description: Organization name + value: bcgov - name: CRON_MINUTES description: Random number, 0-60, for scheduling cronjobs from: "[0-5]{1}[0-9]{1}" @@ -78,26 +78,11 @@ parameters: - name: BATCH_CLIENT_RFSH_API_TKN_OP_SECRET_NAME description: OP secrete name for CLIENT API Token. value: "fom-client-app-api" - - name: OC_NAMESPACE - description: OpenShift namespace containing imported images - required: true + - name: RANDOM_EXPRESSION + description: Random expression to make sure deployments update + from: "[a-zA-Z0-9]{32}" + generate: expression objects: - - apiVersion: v1 - kind: ImageStream - metadata: - labels: - app: ${NAME}-${ZONE} - name: ${NAME}-${ZONE}-${COMPONENT} - spec: - lookupPolicy: - local: false - tags: - - name: ${ZONE}-api - from: - kind: DockerImage - name: ${REGISTRY}/${PROMOTE} - referencePolicy: - type: Local - apiVersion: v1 kind: ConfigMap data: @@ -120,8 +105,8 @@ objects: } metadata: name: ${NAME}-${ZONE}-${COMPONENT} - - apiVersion: v1 - kind: DeploymentConfig + - apiVersion: apps/v1 + kind: Deployment metadata: labels: app: ${NAME}-${ZONE} @@ -131,7 +116,7 @@ objects: revisionHistoryLimit: 10 test: false strategy: - type: Rolling + type: RollingUpdate rollingParams: # Delay pod updates to account for time to run migrations updatePeriodSeconds: 30 @@ -139,26 +124,17 @@ objects: timeoutSeconds: 600 maxUnavailable: 25% maxSurge: 25% - triggers: - - type: ConfigChange - - type: ImageChange - imageChangeParams: - automatic: true - containerNames: - - ${NAME} - from: - kind: ImageStreamTag - name: ${NAME}-${ZONE}-${COMPONENT}:${ZONE}-api selector: - deploymentconfig: ${NAME}-${ZONE}-${COMPONENT} + matchLabels: + deployment: ${NAME}-${ZONE}-${COMPONENT} template: metadata: labels: app: ${NAME}-${ZONE} - deploymentconfig: ${NAME}-${ZONE}-${COMPONENT} + deployment: ${NAME}-${ZONE}-${COMPONENT} spec: containers: - - image: ${NAME}-${ZONE}-${COMPONENT}:${ZONE}-api + - image: ${REGISTRY}/${ORG}/nr-fom/${COMPONENT}:${ZONE} imagePullPolicy: Always name: ${NAME} env: @@ -225,6 +201,8 @@ objects: secretKeyRef: key: api_token name: ${BATCH_CLIENT_RFSH_API_TKN_OP_SECRET_NAME} + - name: RANDOM_EXPRESSION + value: ${RANDOM_EXPRESSION} ports: - containerPort: ${{PORT}} protocol: TCP @@ -283,7 +261,7 @@ objects: port: 80 targetPort: ${{PORT}} selector: - deploymentconfig: ${NAME}-${ZONE}-${COMPONENT} + deployment: ${NAME}-${ZONE}-${COMPONENT} - apiVersion: route.openshift.io/v1 kind: Route metadata: @@ -325,7 +303,7 @@ objects: containers: - name: ${NAME}-batch # Full image name required due to bug https://bugzilla.redhat.com/show_bug.cgi?id=2000216 - image: image-registry.apps.silver.devops.gov.bc.ca/${OC_NAMESPACE}/${NAME}-${ZONE}-${COMPONENT}:${ZONE}-api + image: ${REGISTRY}/${ORG}/nr-fom/${COMPONENT}:${ZONE} imagePullPolicy: Always args: ["-batchWorkflowStateChange"] env: @@ -388,7 +366,7 @@ objects: containers: - name: ${NAME}-batch # Full image name required due to bug https://bugzilla.redhat.com/show_bug.cgi?id=2000216 - image: image-registry.apps.silver.devops.gov.bc.ca/${OC_NAMESPACE}/${NAME}-${ZONE}-${COMPONENT}:${ZONE}-api + image: ${REGISTRY}/${ORG}/nr-fom/${COMPONENT}:${ZONE} imagePullPolicy: Always args: ["-batchForestClientDataRefresh"] env: diff --git a/db/openshift.deploy.yml b/db/openshift.deploy.yml index d24bc51ae..ed70e7273 100644 --- a/db/openshift.deploy.yml +++ b/db/openshift.deploy.yml @@ -25,7 +25,11 @@ parameters: required: true value: 1Gi - name: REGISTRY + description: Container registry to import from (internal is image-registry.openshift-image-registry.svc:5000) value: ghcr.io + - name: ORG + description: Organization name + value: bcgov - name: CPU_REQUEST value: 30m - name: MEMORY_REQUEST @@ -34,9 +38,6 @@ parameters: value: 1000m - name: MEMORY_LIMIT value: 1Gi - - name: PROMOTE - description: Image (namespace/name:tag) to promote/import - required: true - name: URL description: Dummy parameter to make workflows easier ### Backup-Container starts here ### @@ -94,9 +95,10 @@ parameters: description: Random number, 0-60, for scheduling cronjobs from: "[0-5]{1}[0-9]{1}" generate: expression - - name: OC_NAMESPACE - description: OpenShift namespace containing imported images - required: true + - name: RANDOM_EXPRESSION + description: Random expression to make sure deployments update + from: "[a-zA-Z0-9]{32}" + generate: expression objects: - kind: PersistentVolumeClaim apiVersion: v1 @@ -111,42 +113,17 @@ objects: requests: storage: "${DB_PVC_SIZE}" storageClassName: netapp-file-standard - - kind: ImageStream - apiVersion: v1 - metadata: - labels: - app: ${NAME}-${ZONE} - name: ${NAME}-${ZONE}-${COMPONENT} - spec: - lookupPolicy: - local: false - tags: - - name: ${ZONE}-db - from: - kind: DockerImage - name: ${REGISTRY}/${PROMOTE} - referencePolicy: - type: Local - - kind: DeploymentConfig - apiVersion: v1 + - kind: Deployment + apiVersion: apps/v1 metadata: name: ${NAME}-${ZONE}-${COMPONENT} labels: app: ${NAME}-${ZONE} spec: replicas: 1 - triggers: - - type: ConfigChange - - type: ImageChange - imageChangeParams: - automatic: true - containerNames: - - ${NAME} - from: - kind: ImageStreamTag - name: ${NAME}-${ZONE}-${COMPONENT}:${ZONE}-db selector: - deploymentconfig: ${NAME}-${ZONE}-${COMPONENT} + matchLabels: + deployment: ${NAME}-${ZONE}-${COMPONENT} strategy: type: Recreate recreateParams: @@ -157,7 +134,7 @@ objects: name: ${NAME}-${ZONE}-${COMPONENT} labels: app: ${NAME}-${ZONE} - deploymentconfig: ${NAME}-${ZONE}-${COMPONENT} + deployment: ${NAME}-${ZONE}-${COMPONENT} spec: volumes: - name: ${NAME}-${ZONE}-${COMPONENT} @@ -165,7 +142,7 @@ objects: claimName: ${NAME}-${ZONE}-${COMPONENT} containers: - name: ${NAME} - image: ${NAME}-${ZONE}-${COMPONENT}:${ZONE}-db + image: ${REGISTRY}/${ORG}/nr-fom/${COMPONENT}:${ZONE} ports: - containerPort: 5432 protocol: TCP @@ -199,6 +176,8 @@ objects: secretKeyRef: name: ${NAME}-${ZONE}-${COMPONENT} key: database-user + - name: RANDOM_EXPRESSION + value: ${RANDOM_EXPRESSION} resources: requests: cpu: ${CPU_REQUEST} @@ -230,7 +209,7 @@ objects: protocol: TCP targetPort: 5432 selector: - deploymentconfig: ${NAME}-${ZONE}-${COMPONENT} + deployment: ${NAME}-${ZONE}-${COMPONENT} sessionAffinity: None type: ClusterIP ### Backup-Container starts here ### @@ -357,7 +336,7 @@ objects: containers: - name: ${NAME}-${ZONE}-${COMPONENT}-restore # use the same image as our database, so we can run the psql command - image: image-registry.apps.silver.devops.gov.bc.ca/${OC_NAMESPACE}/${NAME}-${ZONE}-${COMPONENT}:${ZONE}-db + image: ${REGISTRY}/${ORG}/nr-fom/${COMPONENT}:${ZONE} command: ["/bin/sh", "-c"] args: - | @@ -449,4 +428,4 @@ objects: activeDeadlineSeconds: 1600 dnsPolicy: "ClusterFirst" serviceAccountName: "${JOB_SERVICE_ACCOUNT}" - serviceAccount: "${JOB_SERVICE_ACCOUNT}" \ No newline at end of file + serviceAccount: "${JOB_SERVICE_ACCOUNT}" diff --git a/libs/openshift.init.yml b/libs/openshift.init.yml index 6d2097c74..7be5baeb1 100644 --- a/libs/openshift.init.yml +++ b/libs/openshift.init.yml @@ -36,8 +36,6 @@ parameters: description: Secret key for data encryption within database from: "[a-zA-Z0-9]{16}" generate: expression - - name: PROMOTE - description: Dummy parameter to make workflows easier objects: - apiVersion: v1 kind: Secret diff --git a/public/openshift.deploy.yml b/public/openshift.deploy.yml index 76b6998a5..fd1d31ddb 100644 --- a/public/openshift.deploy.yml +++ b/public/openshift.deploy.yml @@ -29,9 +29,9 @@ parameters: - name: REGISTRY description: Container registry to import from (internal is image-registry.openshift-image-registry.svc:5000) value: ghcr.io - - name: PROMOTE - description: Image (namespace/name:tag) to promote/import - required: true + - name: ORG + description: Organization name + value: bcgov - description: Number of replicas displayName: Replica Count name: REPLICA_COUNT @@ -42,23 +42,11 @@ parameters: name: CADDY_DATA_PVC_SIZE required: true value: 22Mi + - name: RANDOM_EXPRESSION + description: Random expression to make sure deployments update + from: "[a-zA-Z0-9]{32}" + generate: expression objects: - - apiVersion: v1 - kind: ImageStream - metadata: - labels: - app: ${NAME}-${ZONE} - name: ${NAME}-${ZONE}-${COMPONENT} - spec: - lookupPolicy: - local: false - tags: - - name: ${ZONE}-${COMPONENT} - from: - kind: DockerImage - name: ${REGISTRY}/${PROMOTE} - referencePolicy: - type: Local - kind: ConfigMap apiVersion: v1 data: @@ -67,8 +55,8 @@ objects: window.localStorage.setItem('fom_api_base_url', 'https://${URL}'); metadata: name: ${NAME}-${ZONE}-${COMPONENT} - - apiVersion: v1 - kind: DeploymentConfig + - apiVersion: apps/v1 + kind: Deployment metadata: labels: app: ${NAME}-${ZONE} @@ -78,7 +66,7 @@ objects: revisionHistoryLimit: 10 test: false strategy: - type: Rolling + type: RollingUpdate rollingParams: updatePeriodSeconds: 1 intervalSeconds: 1 @@ -86,26 +74,17 @@ objects: maxUnavailable: 25% maxSurge: 25% activeDeadlineSeconds: 21600 - triggers: - - type: ConfigChange - - type: ImageChange - imageChangeParams: - automatic: true - containerNames: - - ${NAME} - from: - kind: ImageStreamTag - name: ${NAME}-${ZONE}-${COMPONENT}:${ZONE}-${COMPONENT} selector: - deploymentconfig: ${NAME}-${ZONE}-${COMPONENT} + matchLabels: + deployment: ${NAME}-${ZONE}-${COMPONENT} template: metadata: labels: app: ${NAME}-${ZONE} - deploymentconfig: ${NAME}-${ZONE}-${COMPONENT} + deployment: ${NAME}-${ZONE}-${COMPONENT} spec: containers: - - image: ${NAME}-${ZONE}-${COMPONENT}:${ZONE}-${COMPONENT} + - image: ${REGISTRY}/${ORG}/nr-fom/${COMPONENT}:${ZONE} securityContext: capabilities: add: ["NET_BIND_SERVICE"] @@ -116,6 +95,8 @@ objects: value: fom-${ZONE}-api - name: fom_api_base_url value: fom-${ZONE}-api + - name: RANDOM_EXPRESSION + value: ${RANDOM_EXPRESSION} ports: - containerPort: 4300 protocol: TCP @@ -170,7 +151,7 @@ objects: port: 80 targetPort: 4300 selector: - deploymentconfig: ${NAME}-${ZONE}-${COMPONENT} + deployment: ${NAME}-${ZONE}-${COMPONENT} - apiVersion: route.openshift.io/v1 kind: Route metadata: