summaryrefslogtreecommitdiffstats
path: root/setup/projects/adei/templates/60-adei.yml.j2
diff options
context:
space:
mode:
Diffstat (limited to 'setup/projects/adei/templates/60-adei.yml.j2')
-rw-r--r--setup/projects/adei/templates/60-adei.yml.j2202
1 files changed, 127 insertions, 75 deletions
diff --git a/setup/projects/adei/templates/60-adei.yml.j2 b/setup/projects/adei/templates/60-adei.yml.j2
index 991fc8d..88bfa89 100644
--- a/setup/projects/adei/templates/60-adei.yml.j2
+++ b/setup/projects/adei/templates/60-adei.yml.j2
@@ -13,6 +13,21 @@ labels:
objects:
{% for name, cfg in adei_frontends.iteritems() %}
{% if (cfg.enabled | default(true)) %}
+{% if (cfg.cron is defined) %}
+{% set pod_type = "cron" %}
+{% set pull_policy = "IfNotPresent" %}
+{% set restart_policy = "OnFailure" %}
+{# set restart_policy = "Never" #}
+{% elif (cfg.node is defined) %}
+{% set pod_type = "frontend" %}
+{% set pull_policy = "Always" %}
+{% set restart_policy = "Always" %}
+{% else %}
+{% set pod_type = "cacher" %}
+{% set pull_policy = "Always" %}
+{% set restart_policy = "Always" %}
+{% endif %}
+{% if (cfg.node is defined) %}
- apiVersion: v1
kind: Service
metadata:
@@ -38,90 +53,118 @@ objects:
tls:
termination: edge
insecureEdgeTerminationPolicy: Allow
+{% endif %}
+{% if (cfg.cron is defined) %}
+ - apiVersion: batch/v2alpha1
+ kind: CronJob
+ metadata:
+ name: "{{ cfg.name }}"
+ spec:
+ schedule: "{{ cfg.cron }}"
+ concurrencyPolicy: "Forbid"
+ jobTemplate:
+ spec:
+ completions: "1"
+ activeDeadlineSeconds: "3600"
+# restartPolicy: "Never"
+ template:
+ metadata:
+ annotations:
+ alpha.image.policy.openshift.io/resolve-names: "*"
+{% else %}
- apiVersion: v1
kind: DeploymentConfig
metadata:
name: "{{ cfg.name }}"
spec:
- replicas: "{{ cfg.replicas }}"
- revisionHistoryLimit: 2
- selector:
- name: "{{ cfg.name }}"
- strategy:
- type: Rolling
- triggers:
- - type: ConfigChange
- - type: ImageChange
- imageChangeParams:
- automatic: true
- from:
- kind: "ImageStreamTag"
- name: "adei:latest"
- containerNames:
- - "{{ cfg.name }}"
- template:
- metadata:
- name: "{{ cfg.name }}"
- labels:
- type: "adei"
- name: "{{ cfg.name }}"
- adei-type: "{{ name }}"
- adei-setup: "${setup}"
- spec:
- volumes: {{ cfg.vols | to_json }}
-{% if (cfg.groups is defined) or (cfg.run_as is defined) %}
- securityContext:
-{% if (cfg.run_as is defined) %}
-{% if (kaas_project_config.uids | default(kaas_openshift_uids))[cfg.run_as] is defined %}
- - {{ (kaas_project_config.uids | default(kaas_openshift_uids))[cfg.run_as].id }}
-{% else %}
- - {{ cfg.run_as }}
-{% endif %}
-{% endif %}
+ replicas: "{{ cfg.replicas }}"
+ revisionHistoryLimit: 2
+ selector:
+ name: "{{ cfg.name }}"
+ strategy:
+ type: Rolling
+ triggers:
+ - type: ConfigChange
+ - type: ImageChange
+ imageChangeParams:
+ automatic: true
+ from:
+ kind: "ImageStreamTag"
+ name: "adei:latest"
+ containerNames:
+ - "{{ cfg.name }}"
+ template:
+ metadata:
+{% endif %}
+ name: "{{ cfg.name }}"
+ labels:
+ app: "adei"
+ name: "{{ cfg.name }}"
+ adei-type: "{{ pod_type }}"
+ adei-name: "{{ name }}"
+ adei-setup: "${setup}"
+ spec:
+ restartPolicy: {{ restart_policy }}
+ volumes: {{ cfg.vols | to_json }}
+{% if (cfg.groups is defined) or (cfg.run_as is defined) %}
+ securityContext:
+{% if (cfg.run_as is defined) %}
+{% if (kaas_project_config.uids | default(kaas_openshift_uids))[cfg.run_as] is defined %}
+ - {{ (kaas_project_config.uids | default(kaas_openshift_uids))[cfg.run_as].id }}
+{% else %}
+ - {{ cfg.run_as }}
+{% endif %}
+{% endif %}
{% if (cfg.groups is defined) %}
- supplementalGroups:
-{% for group in cfg.groups %}
-{% if (kaas_project_config.gids | default(kaas_openshift_gids))[group] is defined %}
- - {{ (kaas_project_config.gids | default(kaas_openshift_gids))[group].id }}
-{% else %}
- - {{ group }}
-{% endif %}
-{% endfor %}
+ supplementalGroups:
+{% for group in cfg.groups %}
+{% if (kaas_project_config.gids | default(kaas_openshift_gids))[group] is defined %}
+ - {{ (kaas_project_config.gids | default(kaas_openshift_gids))[group].id }}
+{% else %}
+ - {{ group }}
+{% endif %}
+{% endfor %}
+{% endif %}
{% endif %}
-{% endif %}
- containers:
- - name: "{{ cfg.name }}"
- image: adei
- imagePullPolicy: Always
- command:
- - /opt/scripts/run-apache.sh
- ports:
- - containerPort: 8080
- env: {{ cfg.env | to_json }}
- volumeMounts: {{ cfg.mounts | to_json }}
- livenessProbe:
- timeoutSeconds: 1
- periodSeconds: 300
- initialDelaySeconds: 300
- httpGet:
- path: /adei/probe.php
- port: 8080
- readinessProbe:
- timeoutSeconds: 1
- periodSeconds: 10
- initialDelaySeconds: 10
- httpGet:
- path: /adei/probe.php
- port: 8080
- lifecycle:
-{% if (cfg.configure | default(false)) %}
- postStart:
- exec:
+ containers:
+ - name: "{{ cfg.name }}"
+ image: adei
+ imagePullPolicy: {{ pull_policy }}
+{% if (cfg.node is defined) %}
command:
- - /docker-entrypoint.sh
- - /opt/scripts/adei-branch.sh
-{% endif %}
+ - /opt/scripts/run-apache.sh
+ ports:
+ - containerPort: 8080
+{% else %}
+ command: {{ cfg.cmd | to_json }}
{% endif %}
+ env: {{ cfg.env | to_json }}
+ volumeMounts: {{ cfg.mounts | to_json }}
+{% if (cfg.node is defined) %}
+ livenessProbe:
+ timeoutSeconds: 1
+ periodSeconds: 300
+ initialDelaySeconds: 300
+ httpGet:
+ path: /adei/probe.php
+ port: 8080
+ readinessProbe:
+ timeoutSeconds: 1
+ periodSeconds: 10
+ initialDelaySeconds: 10
+ httpGet:
+ path: /adei/probe.php
+ port: 8080
+{% endif %}
+ lifecycle:
+{% if (cfg.configure | default(false)) %}
+ postStart:
+ exec:
+ command:
+ - /docker-entrypoint.sh
+ - /opt/scripts/adei-branch.sh
+{% endif %}
+{% endif %}
{% endfor %}
parameters:
@@ -136,6 +179,15 @@ parameters:
description: "Default number of backend caching replicas"
- name: apache_servers
value: "150"
+ - name: adei_schedule_cache
+ value: "*/5 * * * *"
+ description: "Schedule of caching group updates"
+ - name: adei_schedule_maintain
+ value: "*/15 * * * *"
+ description: "Schedule of maintain tasks"
+ - name: adei_schedule_clean
+ value: "9 3 * * *"
+ description: "Schedule of cleaning tasks"
- name: cache_parallel
value: "source"
description: "Type of caching parallelism: group, source, server"