From 33f48f92db7a2cc39646c048c279922bacfae5e4 Mon Sep 17 00:00:00 2001 From: bluejay Date: Wed, 11 Mar 2026 05:36:45 +0000 Subject: [PATCH] Add Asterisk PBX Deployment --- apps/asterisk/deployment.yaml | 130 ++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 apps/asterisk/deployment.yaml diff --git a/apps/asterisk/deployment.yaml b/apps/asterisk/deployment.yaml new file mode 100644 index 0000000..c05fdf0 --- /dev/null +++ b/apps/asterisk/deployment.yaml @@ -0,0 +1,130 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: asterisk + namespace: telephony + labels: + app: asterisk +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app: asterisk + template: + metadata: + labels: + app: asterisk + spec: + securityContext: + fsGroup: 0 + containers: + - name: asterisk + image: localhost/andrius/asterisk:latest + imagePullPolicy: Never + ports: + - name: sip-udp + containerPort: 5060 + protocol: UDP + - name: sip-tcp + containerPort: 5060 + protocol: TCP + - name: ari + containerPort: 8088 + protocol: TCP + volumeMounts: + - name: config-modules + mountPath: /etc/asterisk/modules.conf + subPath: modules.conf + - name: config-http + mountPath: /etc/asterisk/http.conf + subPath: http.conf + - name: config-ari + mountPath: /etc/asterisk/ari.conf + subPath: ari.conf + - name: config-manager + mountPath: /etc/asterisk/manager.conf + subPath: manager.conf + - name: config-pjsip + mountPath: /etc/asterisk/pjsip.conf + subPath: pjsip.conf + - name: config-extensions + mountPath: /etc/asterisk/extensions.conf + subPath: extensions.conf + - name: config-rtp + mountPath: /etc/asterisk/rtp.conf + subPath: rtp.conf + - name: asterisk-data + mountPath: /var/spool/asterisk + - name: asterisk-logs + mountPath: /var/log/asterisk + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: "1" + memory: 512Mi + livenessProbe: + tcpSocket: + port: 8088 + initialDelaySeconds: 15 + periodSeconds: 10 + readinessProbe: + httpGet: + path: /ari/asterisk/info + port: 8088 + httpHeaders: + - name: Authorization + value: "Basic Zmxvd2VyY29yZTpibHVlamF5LWFzdGVyaXNrLWFyaQ==" + initialDelaySeconds: 10 + periodSeconds: 5 + volumes: + - name: config-modules + configMap: + name: asterisk-config + items: + - key: modules.conf + path: modules.conf + - name: config-http + configMap: + name: asterisk-config + items: + - key: http.conf + path: http.conf + - name: config-ari + configMap: + name: asterisk-config + items: + - key: ari.conf + path: ari.conf + - name: config-manager + configMap: + name: asterisk-config + items: + - key: manager.conf + path: manager.conf + - name: config-pjsip + configMap: + name: asterisk-config + items: + - key: pjsip.conf + path: pjsip.conf + - name: config-extensions + configMap: + name: asterisk-config + items: + - key: extensions.conf + path: extensions.conf + - name: config-rtp + configMap: + name: asterisk-config + items: + - key: rtp.conf + path: rtp.conf + - name: asterisk-data + persistentVolumeClaim: + claimName: asterisk-data + - name: asterisk-logs + emptyDir: {}