Merge pull request #72 from MealCraft/feature/attempt_2_on_stripe_to_invoice
Feature/attempt 2 on stripe to invoice
This commit is contained in:
commit
15d4d2c082
5 changed files with 425 additions and 1 deletions
180
crm/crm.yaml
Normal file
180
crm/crm.yaml
Normal file
|
|
@ -0,0 +1,180 @@
|
||||||
|
# ==========================================
|
||||||
|
# MONICA CRM (OFFICIAL DOCKER STRUCTURE)
|
||||||
|
# ==========================================
|
||||||
|
|
||||||
|
# ------------------------
|
||||||
|
# DATABASE STORAGE
|
||||||
|
# ------------------------
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: monica-db-pvc
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
storageClassName: microk8s-hostpath
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 2Gi
|
||||||
|
|
||||||
|
# ------------------------
|
||||||
|
# MONICA STORAGE
|
||||||
|
# ------------------------
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: monica-storage-pvc
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
storageClassName: microk8s-hostpath
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
|
|
||||||
|
# ------------------------
|
||||||
|
# MARIADB
|
||||||
|
# ------------------------
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: monica-db
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: monica-db
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: monica-db
|
||||||
|
spec:
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/hostname: mist
|
||||||
|
containers:
|
||||||
|
- name: mariadb
|
||||||
|
image: mariadb:10.11
|
||||||
|
env:
|
||||||
|
- name: MYSQL_ROOT_PASSWORD
|
||||||
|
value: rootpassword
|
||||||
|
- name: MYSQL_DATABASE
|
||||||
|
value: monica
|
||||||
|
- name: MYSQL_USER
|
||||||
|
value: monica
|
||||||
|
- name: MYSQL_PASSWORD
|
||||||
|
value: monica_password
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /var/lib/mysql
|
||||||
|
name: db-storage
|
||||||
|
volumes:
|
||||||
|
- name: db-storage
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: monica-db-pvc
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: monica-db
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: monica-db
|
||||||
|
ports:
|
||||||
|
- port: 3306
|
||||||
|
|
||||||
|
# ------------------------
|
||||||
|
# MONICA APP
|
||||||
|
# ------------------------
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: monica
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: monica
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: monica
|
||||||
|
spec:
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/hostname: mist
|
||||||
|
containers:
|
||||||
|
- name: monica
|
||||||
|
image: monica:apache
|
||||||
|
env:
|
||||||
|
- name: APP_ENV
|
||||||
|
value: production
|
||||||
|
- name: APP_DEBUG
|
||||||
|
value: "false"
|
||||||
|
- name: APP_URL
|
||||||
|
value: https://crm.juntekim.com
|
||||||
|
- name: APP_KEY
|
||||||
|
value: base64:EKAoON4NgmB9cOZCLSG0z+fy5KYtMKXL6m1AKBBdeOU=
|
||||||
|
- name: DB_CONNECTION
|
||||||
|
value: mysql
|
||||||
|
- name: DB_HOST
|
||||||
|
value: monica-db
|
||||||
|
- name: DB_PORT
|
||||||
|
value: "3306"
|
||||||
|
- name: DB_DATABASE
|
||||||
|
value: monica
|
||||||
|
- name: DB_USERNAME
|
||||||
|
value: monica
|
||||||
|
- name: DB_PASSWORD
|
||||||
|
value: monica_password
|
||||||
|
- name: CACHE_DRIVER
|
||||||
|
value: database
|
||||||
|
- name: SESSION_DRIVER
|
||||||
|
value: database
|
||||||
|
- name: QUEUE_CONNECTION
|
||||||
|
value: database
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /var/www/html/storage
|
||||||
|
name: monica-storage
|
||||||
|
volumes:
|
||||||
|
- name: monica-storage
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: monica-storage-pvc
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: monica
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: monica
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
targetPort: 80
|
||||||
|
|
||||||
|
# ------------------------
|
||||||
|
# TRAEFIK INGRESS
|
||||||
|
# ------------------------
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: monica-ingress
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`crm.juntekim.com`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: monica
|
||||||
|
port: 80
|
||||||
|
tls:
|
||||||
|
certResolver: myresolver
|
||||||
|
domains:
|
||||||
|
- main: crm.juntekim.com
|
||||||
65
draw/draw.yaml
Normal file
65
draw/draw.yaml
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
# ================================
|
||||||
|
# EXCALIDRAW - STATELESS
|
||||||
|
# https://excalidraw.com
|
||||||
|
# ================================
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: excalidraw
|
||||||
|
labels:
|
||||||
|
app: excalidraw
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: excalidraw
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: excalidraw
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: excalidraw
|
||||||
|
image: excalidraw/excalidraw:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: "100m"
|
||||||
|
memory: "128Mi"
|
||||||
|
limits:
|
||||||
|
cpu: "300m"
|
||||||
|
memory: "256Mi"
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: excalidraw
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: excalidraw
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
targetPort: 80
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: excalidraw-ingressroute
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`draw.juntekim.com`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: excalidraw
|
||||||
|
port: 80
|
||||||
|
tls:
|
||||||
|
certResolver: myresolver
|
||||||
|
domains:
|
||||||
|
- main: draw.juntekim.com
|
||||||
|
|
@ -16,4 +16,6 @@ spec:
|
||||||
tls:
|
tls:
|
||||||
certResolver: myresolver
|
certResolver: myresolver
|
||||||
domains:
|
domains:
|
||||||
- main: ${HOSTNAME}
|
- main: ${HOSTNAME}
|
||||||
|
sans:
|
||||||
|
- www.${HOSTNAME}
|
||||||
68
pdf/pdf.yaml
Normal file
68
pdf/pdf.yaml
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
# ================================
|
||||||
|
# STIRLING PDF - STATELESS
|
||||||
|
# https://github.com/Stirling-Tools/Stirling-PDF
|
||||||
|
# ================================
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: stirling-pdf
|
||||||
|
labels:
|
||||||
|
app: stirling-pdf
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: stirling-pdf
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: stirling-pdf
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: stirling-pdf
|
||||||
|
image: frooodle/s-pdf:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
env:
|
||||||
|
- name: DOCKER_ENABLE_SECURITY
|
||||||
|
value: "false"
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: "200m"
|
||||||
|
memory: "512Mi"
|
||||||
|
limits:
|
||||||
|
cpu: "1"
|
||||||
|
memory: "1Gi"
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: stirling-pdf
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: stirling-pdf
|
||||||
|
ports:
|
||||||
|
- port: 8080
|
||||||
|
targetPort: 8080
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: stirling-pdf-ingressroute
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`pdf.juntekim.com`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: stirling-pdf
|
||||||
|
port: 8080
|
||||||
|
tls:
|
||||||
|
certResolver: myresolver
|
||||||
|
domains:
|
||||||
|
- main: pdf.juntekim.com
|
||||||
109
uptime-kuma/uptime-kuma.yaml
Normal file
109
uptime-kuma/uptime-kuma.yaml
Normal file
|
|
@ -0,0 +1,109 @@
|
||||||
|
# ================================
|
||||||
|
# UPTIME KUMA - SIMPLE DEPLOYMENT
|
||||||
|
# https://uptime.kuma.pet/?ref=selfh.st
|
||||||
|
# ================================
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: uptime-kuma-pv
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 500Mi
|
||||||
|
volumeMode: Filesystem
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
persistentVolumeReclaimPolicy: Retain
|
||||||
|
storageClassName: uptime-kuma-local
|
||||||
|
local:
|
||||||
|
path: /home/kimjunte/k8s_storage/uptime-kuma
|
||||||
|
nodeAffinity:
|
||||||
|
required:
|
||||||
|
nodeSelectorTerms:
|
||||||
|
- matchExpressions:
|
||||||
|
- key: kubernetes.io/hostname
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- mist
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: uptime-kuma-pvc
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
storageClassName: uptime-kuma-local
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 500Mi
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: uptime-kuma
|
||||||
|
labels:
|
||||||
|
app: uptime-kuma
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: uptime-kuma
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: uptime-kuma
|
||||||
|
spec:
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/hostname: mist
|
||||||
|
containers:
|
||||||
|
- name: uptime-kuma
|
||||||
|
image: louislam/uptime-kuma:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 3001
|
||||||
|
env:
|
||||||
|
- name: PUID
|
||||||
|
value: "1000"
|
||||||
|
- name: PGID
|
||||||
|
value: "1000"
|
||||||
|
volumeMounts:
|
||||||
|
- name: uptime-kuma-data
|
||||||
|
mountPath: /app/data
|
||||||
|
volumes:
|
||||||
|
- name: uptime-kuma-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: uptime-kuma-pvc
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: uptime-kuma
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: uptime-kuma
|
||||||
|
ports:
|
||||||
|
- port: 3001
|
||||||
|
targetPort: 3001
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: uptime-kuma-ingressroute
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`uptime.kuma.juntekim.com`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: uptime-kuma
|
||||||
|
port: 3001
|
||||||
|
tls:
|
||||||
|
certResolver: myresolver
|
||||||
|
domains:
|
||||||
|
- main: uptime.kuma.juntekim.com
|
||||||
Loading…
Add table
Reference in a new issue