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: containers: - env: - name: IdentityUrlExternal value: ${IDENTITY_URL_EXTERNAL} - name: IdentityUrl value: ${IDENTITY_URL} - name: ConnectionString value: ${REDIS_HOSTNAME} - name: EventBusConnection value: ${RABBITMQ_HOSTNAME} - name: PORT value: "8080" - name: GRPC_PORT value: "8081" - name: PATH_BASE value: /basket-api image: docker-registry.default.svc:5000/${IMAGE_REGISTRY_PROJECT_NAME}/${APPLICATION_NAME}:latest imagePullPolicy: Always name: ${APPLICATION_NAME} ports: - containerPort: 8080 protocol: TCP - containerPort: 8081 protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File 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: 8081-tcp-grpc port: 8081 protocol: TCP targetPort: 8081 selector: app: ${APPLICATION_NAME} deploymentconfig: ${APPLICATION_NAME} sessionAffinity: None type: ClusterIP status: loadBalancer: {} parameters: - description: The name for the application. displayName: Application Name name: APPLICATION_NAME required: true value: basketapi - 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: basketapi-deploy-template - description: The external URL of the Identity endpoint displayName: Identity URL External name: IDENTITY_URL_EXTERNAL required: true - description: The cluster internal URL of the Identity endpoint displayName: Identity URL name: IDENTITY_URL required: true - description: The hostname of the Redis service displayName: Redis Hostname name: REDIS_HOSTNAME required: true - description: The hostname of the RabbitMQ service displayName: RabbitMQ Hostname name: RABBITMQ_HOSTNAME required: true