ansible-role-eom/tasks/webhookd.yaml

69 lines
1.8 KiB
YAML

---
# tasks file for webhookd
- name: Create ConfigMap for Webhookd scripts
k8s:
definition:
apiVersion: v1
kind: ConfigMap
metadata:
name: scripts
namespace: webhookd
data:
nextcloud-talk-gitea-webhook.sh: "{{ lookup('file', 'nextcloud-talk-gitea-webhook.sh') }}"
nextcloud-talk-grafana-webhook.sh: "{{ lookup('file', 'nextcloud-talk-grafana-webhook.sh') }}"
nextcloud-talk-minecraft-webhook.sh: "{{ lookup('file', 'nextcloud-talk-minecraft-webhook.sh') }}"
- name: Create a Deployment for Webhookd
k8s:
definition:
apiVersion: v1
kind: Deployment
metadata:
name: webhookd
namespace: webhookd
spec:
replicas: 1
selector:
matchLabels:
app: webhookd
template:
metadata:
labels:
app: webhookd
spec:
containers:
- name: webhookd
image: ncarlier/webhookd
volumeMounts:
- name: scripts
mountPath: /scripts
ports:
- containerPort: 8080
env:
- name: GITEA_ADMIN_PASSWORD
value: "{{ gitea_admin_password }}"
- name: GRAFANA_ADMIN_PASSWORD
value: "{{ grafana_admin_password }}"
volumes:
- name: scripts
configMap:
name: scripts
defaultMode: 0777
- name: Expose Webhookd Deployment as a Service
k8s:
definition:
apiVersion: v1
kind: Service
metadata:
name: webhookd
namespace: webhookd
spec:
selector:
app: webhookd
ports:
- port: 80
targetPort: 8080
name: http
type: ClusterIP