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
|
||||
|
|
@ -17,3 +17,5 @@ spec:
|
|||
certResolver: myresolver
|
||||
domains:
|
||||
- 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