---
kind: Template
apiVersion: v1
metadata:
name: php-fedora
annotations:
description: Php source to image builder
tags: php s2i
iconClass: icon-php
labels:
template: php
role: php_application_builder
objects:
- kind : ImageStream
apiVersion : v1
metadata :
name : ${APP_NAME}
labels :
appid : php-${APP_NAME}
- kind : ImageStream
apiVersion : v1
metadata :
name : ${APP_NAME}-s2i
labels :
appid : php-${APP_NAME}
spec :
tags :
- name : latest
from :
kind : DockerImage
name : modularitycontainers/php
- kind : BuildConfig
apiVersion : v1
metadata :
name : ${APP_NAME}
labels :
appid : php-${APP_NAME}
spec :
triggers :
- type : ConfigChange
- type : ImageChange
- type : GitHub
github:
secret: secret101
source :
type : Git
git :
uri : ${SOURCE_REPOSITORY}
contextDir : ${SOURCE_REPOSITORY}
strategy :
type : Source
sourceStrategy :
from :
kind : ImageStreamTag
name : ${APP_NAME}-s2i:latest
output :
to :
kind : ImageStreamTag
name : ${APP_NAME}:latest
- kind : DeploymentConfig
apiVersion : v1
metadata :
name: ${APP_NAME}
labels :
appid : php-${APP_NAME}
spec :
strategy :
type : Rolling
triggers :
- type : ConfigChange
- type : ImageChange
imageChangeParams :
automatic : true
containerNames :
- ${APP_NAME}
from :
kind : ImageStreamTag
name : ${APP_NAME}:latest
replicas : 1
selector :
deploymentconfig : ${APP_NAME}
template :
metadata :
labels :
appid: php-${APP_NAME}
deploymentconfig : ${APP_NAME}
spec :
containers :
- name : ${APP_NAME}
image : ${APP_NAME}:latest
ports :
- containerPort : 8080
protocol : TCP
livenessProbe:
tcpSocket:
port: 8080
initialDelaySeconds: 15
timeoutSeconds: 1
readinessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 15
timeoutSeconds: 1
- kind : Service
apiVersion : v1
metadata :
name : ${APP_NAME}
labels :
appid : php-${APP_NAME}
spec :
ports :
- name: 8080-tcp
protocol : TCP
port : 8080
targetPort : 8080
selector :
deploymentconfig : ${APP_NAME}
- kind : Route
apiVersion : v1
metadata :
name : ${APP_NAME}
labels :
appid : php-${APP_NAME}
spec :
host :
to :
kind : Service
name : ${APP_NAME}
weight : 100
port :
targetPort : 8080-tcp
parameters :
- name : APP_NAME
description : Name of application
value :
required : true
- name : SOURCE_REPOSITORY
description : Git source repository
value :
required : true