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.yml
|
|
path: envoy.yml
|
|
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.yml
|
|
path: envoy.yml
|
|
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
|