Skip to content

Commit

Permalink
[feature] Dockerfile and configuration-as-code to build & run in Open…
Browse files Browse the repository at this point in the history
…Shift
  • Loading branch information
Dominique Quatravaux committed Nov 2, 2021
1 parent be2876e commit 83b4330
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 0 deletions.
65 changes: 65 additions & 0 deletions ansible/roles/epfl.phd-assess/tasks/monitoring.yml
Original file line number Diff line number Diff line change
Expand Up @@ -168,3 +168,68 @@
cmd: |
oc delete pod prometheus-0
tags: monitoring.restart


- name: "Pull upstream {{ monitoring_node_base_image_mirrored_from }} image into {{ monitoring_node_base_image_mirrored_to }}"
when: openshift_namespace == phd_assess_build_namespace
delegate_to: localhost
openshift_imagestream:
metadata:
name: node
namespace: "{{ openshift_namespace }}"
from: "{{ monitoring_node_base_image_mirrored_from }}"
tag: "{{ monitoring_node_base_image_tag }}"

- name: "Build the disk-usage-exporter image"
when: openshift_namespace == phd_assess_build_namespace
delegate_to: localhost
openshift_imagestream:
metadata:
name: disk-usage-exporter
namespace: "{{ openshift_namespace }}"
from: "{{ monitoring_node_base_image_mirrored_to }}:{{ monitoring_node_base_image_tag }}"
git:
repository: "https://github.com/epfl-si/PhDAssess"
path: docker/monitoring
spec:
resources:
limits:
cpu: '1'
memory: 100M

- name: "disk-usage-exporter DeploymentConfig"
openshift:
state: latest
apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
name: disk-usage-exporter
namespace: "{{ openshift_namespace }}"
spec:
selector:
deployment-config.name: disk-usage-exporter
template:
metadata:
labels:
deployment-config.name: disk-usage-exporter
spec:
containers:
- name: disk-image-exporter
image: "{{ monitoring_node_disk_usage_exporter_image }}"
volumeMounts:
- name: zeebe-data
mountPath: /usr/local/zeebe/data
env:
- name: DISK_USAGE_TARGET
value: /usr/local/zeebe/data
resources:
limits:
cpu: '1'
memory: 50M
ports:
- name: metrics
containerPort: 3000
volumes:
- name: zeebe-data
persistentVolumeClaim:
claimName: "{{ volume_zeebe_name }}"
5 changes: 5 additions & 0 deletions ansible/roles/epfl.phd-assess/vars/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,8 @@ monitoring_prometheus_htpass: |-
{% for cred in lookup("file", "/keybase/team/epfl_phdassess/prometheus-credentials.yml") | from_yaml %}
{{ cred.user }}:{{ cred.password | password_hash('bcrypt', cred.salt) }}
{% endfor %}
monitoring_node_base_image_mirrored_from: "docker.io/library/node:{{ monitoring_node_base_image_tag }}"
monitoring_node_base_image_tag: alpine
monitoring_node_base_image_mirrored_to: "{{openshift_local_image_registry}}/{{openshift_namespace}}/node"
monitoring_node_disk_usage_exporter_image: "{{openshift_local_image_registry}}/{{openshift_namespace}}/disk-usage-exporter"
9 changes: 9 additions & 0 deletions docker/monitoring/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FROM node:alpine

WORKDIR /app
COPY package.json yarn.lock .
RUN yarn

ADD server.ts .
CMD ["node", "-r", "ts-node/register", "server.ts"]

0 comments on commit 83b4330

Please sign in to comment.