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: - image: docker-registry.default.svc:5000/${IMAGE_REGISTRY_PROJECT_NAME}/${APPLICATION_NAME}:latest imagePullPolicy: Always name: ${APPLICATION_NAME} ports: - containerPort: 8080 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 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 - 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: webapp-template