forked from bomoko/lagoon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.lagoon.app.yml
147 lines (147 loc) · 3.81 KB
/
.lagoon.app.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
apiVersion: v1
kind: Template
metadata:
creationTimestamp: null
name: lagoon-openshift-template-node
parameters:
- name: SERVICE_NAME
description: Name of this service
required: true
- name: SAFE_BRANCH
description: Which branch this belongs to, special chars replaced with dashes
required: true
- name: SAFE_PROJECT
description: Which project this belongs to, special chars replaced with dashes
required: true
- name: BRANCH
description: Which branch this belongs to, original value
required: true
- name: PROJECT
description: Which project this belongs to, original value
required: true
- name: LAGOON_GIT_SHA
description: git hash sha of the current deployment
required: true
- name: SERVICE_ROUTER_URL
description: URL of the Router for this service
value: ""
- name: OPENSHIFT_PROJECT
description: Name of the Project that this service is in
required: true
- name: REGISTRY
description: Registry where Images are pushed to
required: true
- name: DEPLOYMENT_STRATEGY
description: Strategy of Deploymentconfig
value: "Rolling"
- name: SERVICE_IMAGE
description: Pullable image of service
required: true
- name: CRONJOBS
description: Oneliner of Cronjobs
value: ""
objects:
- apiVersion: v1
kind: DeploymentConfig
metadata:
creationTimestamp: null
labels:
branch: ${SAFE_BRANCH}
project: ${SAFE_PROJECT}
name: ${SERVICE_NAME}
spec:
replicas: 2
selector:
service: ${SERVICE_NAME}
strategy:
type: ${DEPLOYMENT_STRATEGY}
template:
metadata:
creationTimestamp: null
labels:
service: ${SERVICE_NAME}
branch: ${SAFE_BRANCH}
project: ${SAFE_PROJECT}
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: service
operator: In
values:
- ${SERVICE_NAME}
topologyKey: kubernetes.io/hostname
containers:
- image: ${SERVICE_IMAGE}
name: ${SERVICE_NAME}
ports:
- containerPort: 3000
protocol: TCP
readinessProbe:
tcpSocket:
port: 3000
initialDelaySeconds: 15
timeoutSeconds: 1
envFrom:
- configMapRef:
name: lagoon-env
env:
- name: RABBITMQ_USERNAME
valueFrom:
secretKeyRef:
name: rabbitmq-username
key: RABBITMQ_USERNAME
- name: RABBITMQ_PASSWORD
valueFrom:
secretKeyRef:
name: rabbitmq-password
key: RABBITMQ_PASSWORD
- name: SERVICE_NAME
value: ${SERVICE_NAME}
- name: CRONJOBS
value: ${CRONJOBS}
resources:
requests:
cpu: 10m
memory: 10Mi
test: false
triggers:
- type: ConfigChange
status: {}
- apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
service: ${SERVICE_NAME}
branch: ${SAFE_BRANCH}
project: ${SAFE_PROJECT}
name: ${SERVICE_NAME}
spec:
ports:
- name: 3000-tcp
port: 3000
protocol: TCP
targetPort: 3000
selector:
service: ${SERVICE_NAME}
status:
loadBalancer: {}
- apiVersion: v1
kind: Route
metadata:
creationTimestamp: null
labels:
service: ${SERVICE_NAME}
branch: ${SAFE_BRANCH}
project: ${SAFE_PROJECT}
name: ${SERVICE_NAME}
spec:
host: ${SERVICE_ROUTER_URL}
port:
targetPort: 3000-tcp
to:
kind: Service
name: ${SERVICE_NAME}