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
|
|
revisionHistoryLimit: 10
|
|
selector:
|
|
app: ${APPLICATION_NAME}
|
|
deploymentconfig: ${APPLICATION_NAME}
|
|
strategy:
|
|
activeDeadlineSeconds: 21600
|
|
resources: {}
|
|
rollingParams:
|
|
intervalSeconds: 1
|
|
maxSurge: 25%
|
|
maxUnavailable: 25%
|
|
timeoutSeconds: 600
|
|
updatePeriodSeconds: 1
|
|
type: Rolling
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: ${APPLICATION_NAME}
|
|
deploymentconfig: ${APPLICATION_NAME}
|
|
spec:
|
|
containers:
|
|
- image: ${APPLICATION_NAME}:latest
|
|
imagePullPolicy: Always
|
|
name: ${APPLICATION_NAME}
|
|
ports:
|
|
- containerPort: 27017
|
|
protocol: TCP
|
|
resources: {}
|
|
terminationMessagePath: /dev/termination-log
|
|
terminationMessagePolicy: File
|
|
volumeMounts:
|
|
- mountPath: /data/configdb
|
|
name: ${APPLICATION_NAME}-volume-1
|
|
- mountPath: /data/db
|
|
name: ${APPLICATION_NAME}-volume-2
|
|
dnsPolicy: ClusterFirst
|
|
restartPolicy: Always
|
|
schedulerName: default-scheduler
|
|
securityContext: {}
|
|
terminationGracePeriodSeconds: 30
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: ${APPLICATION_NAME}-volume-1
|
|
- emptyDir: {}
|
|
name: ${APPLICATION_NAME}-volume-2
|
|
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: 27017-tcp
|
|
port: 27017
|
|
protocol: TCP
|
|
targetPort: 27017
|
|
selector:
|
|
app: ${APPLICATION_NAME}
|
|
deploymentconfig: ${APPLICATION_NAME}
|
|
sessionAffinity: None
|
|
type: ClusterIP
|
|
- 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: mongo
|
|
from:
|
|
kind: DockerImage
|
|
name: mongo
|
|
importPolicy: {}
|
|
name: latest
|
|
referencePolicy:
|
|
type: Source
|
|
parameters:
|
|
- description: The name for the application.
|
|
displayName: Application Name
|
|
name: APPLICATION_NAME
|
|
required: true
|
|
value: mongo
|
|
- 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: mongo-db-deploy-template
|