apiVersion: template.openshift.io/v1 kind: Template metadata: name: ${TEMPLATE_NAME} objects: - apiVersion: apps.openshift.io/v1 kind: DeploymentConfig metadata: labels: app: ${APPLICATION_NAME} template: ${TEMPLATE_NAME} name: ${APPLICATION_NAME} spec: replicas: 1 selector: app: ${APPLICATION_NAME} deploymentconfig: ${APPLICATION_NAME} strategy: type: Rolling revisionHistoryLimit: 2 template: metadata: labels: app: ${APPLICATION_NAME} deploymentconfig: ${APPLICATION_NAME} spec: volumes: - name: config configMap: name: ${APPLICATION_NAME}-config-map items: - key: envoy.yaml path: envoy.yaml containers: - env: - name: PATH_BASE value: /${APPLICATION_NAME} image: docker-registry.default.svc:5000/${IMAGE_REGISTRY_PROJECT_NAME}/${APPLICATION_NAME}:latest imagePullPolicy: Always name: ${APPLICATION_NAME} volumeMounts: - name: config mountPath: /etc/envoy ports: - containerPort: 8080 protocol: TCP - containerPort: 8001 protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumes: - name: config configMap: name: ${APPLICATION_NAME}-config-map items: - key: envoy.yaml path: envoy.yaml dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 triggers: - type: ConfigChange - imageChangeParams: automatic: true containerNames: - ${APPLICATION_NAME} from: kind: ImageStreamTag name: ${APPLICATION_NAME}:latest namespace: ${IMAGE_REGISTRY_PROJECT_NAME} type: ImageChange - apiVersion: v1 kind: Service metadata: labels: app: ${APPLICATION_NAME} template: ${TEMPLATE_NAME} name: ${APPLICATION_NAME} spec: ports: - name: 8080-tcp port: 8080 protocol: TCP targetPort: 8080 - name: 8001-tcp port: 8001 protocol: TCP targetPort: 8001 selector: app: ${APPLICATION_NAME} deploymentconfig: ${APPLICATION_NAME} sessionAffinity: None type: ClusterIP status: loadBalancer: {} - apiVersion: image.openshift.io/v1 kind: ImageStream metadata: labels: app: ${APPLICATION_NAME} template: ${TEMPLATE_NAME} name: ${APPLICATION_NAME} spec: lookupPolicy: local: false tags: - annotations: openshift.io/imported-from: 'envoyproxy/envoy:v1.11.1' from: kind: DockerImage name: 'envoyproxy/envoy:v1.11.1' importPolicy: {} name: latest referencePolicy: type: Source parameters: - description: The name for the application. displayName: Application Name name: APPLICATION_NAME required: true - description: The OpenShift project name that is hosting the image registry. displayName: Image Registry Project Name name: IMAGE_REGISTRY_PROJECT_NAME required: true - description: The template name. displayName: Template Name name: TEMPLATE_NAME required: true value: apigw-deploy-template