add app plane

This commit is contained in:
2024-07-31 01:48:52 +10:00
parent 447188e7a3
commit 1d32f45c78
12 changed files with 510 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
namespace: plane
name: plane-app-vars
data:
SENTRY_DSN: ""
SENTRY_ENVIRONMENT: ""
DEBUG: "0"
DOCKERIZED: "1"
GUNICORN_WORKERS: "1"
WEB_URL: "http://plane.cluster.edward.sydney"
CORS_ALLOWED_ORIGINS: "http://plane.cluster.edward.sydney,https:/plane.cluster.edward.sydney"
REDIS_URL: "redis://redis.redis.svc.cluster.local:6379/"
---
apiVersion: v1
kind: ConfigMap
metadata:
namespace: plane
name: plane-doc-store-vars
data:
FILE_SIZE_LIMIT: "5242880"
AWS_S3_BUCKET_NAME: "plane"
MINIO_ROOT_USER: "admin"
AWS_S3_ENDPOINT_URL: "http://minio.minio.svc.cluster.local:19000"
USE_MINIO: "1"
---

View File

@@ -0,0 +1,263 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: plane
name: plane-admin-wl
spec:
replicas: 1
selector:
matchLabels:
app.name: plane-admin
template:
metadata:
namespace: plane
labels:
app.name: plane-admin
spec:
containers:
- name: plane-admin
imagePullPolicy: Always
image: makeplane/plane-frontend:stable
stdin: true
tty: true
resources:
requests:
memory: "50Mi"
cpu: "50m"
limits:
memory: "1000Mi"
cpu: "500m"
command:
- node
args:
- admin/server.js
- admin
serviceAccount: plane-srv-account
serviceAccountName: plane-srv-account
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: plane
name: plane-api-wl
spec:
replicas: 1
selector:
matchLabels:
app.name: plane-api
template:
metadata:
namespace: plane
labels:
app.name: plane-api
spec:
containers:
- name: plane-api
imagePullPolicy: Always
image: makeplane/plane-backend:stable
stdin: true
tty: true
resources:
requests:
memory: "50Mi"
cpu: "50m"
limits:
memory: "1000Mi"
cpu: "500m"
command:
- ./bin/docker-entrypoint-api.sh
envFrom:
- configMapRef:
name: plane-app-vars
optional: false
- secretRef:
name: plane-app-secrets
optional: false
- configMapRef:
name: plane-doc-store-vars
optional: false
- secretRef:
name: plane-doc-store-secrets
optional: false
readinessProbe:
failureThreshold: 30
httpGet:
path: /
port: 8000
scheme: HTTP
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
serviceAccount: plane-srv-account
serviceAccountName: plane-srv-account
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: plane
name: plane-beat-worker-wl
spec:
replicas: 1
selector:
matchLabels:
app.name: plane-beat-worker
template:
metadata:
namespace: plane
labels:
app.name: plane-beat-worker
spec:
containers:
- name: plane-beat-worker
imagePullPolicy: Always
image: makeplane/plane-backend:stable
stdin: true
tty: true
resources:
requests:
memory: "50Mi"
cpu: "50m"
limits:
memory: "1000Mi"
cpu: "500m"
command:
- ./bin/docker-entrypoint-beat.sh
envFrom:
- configMapRef:
name: plane-app-vars
optional: false
- secretRef:
name: plane-app-secrets
optional: false
- configMapRef:
name: plane-doc-store-vars
optional: false
- secretRef:
name: plane-doc-store-secrets
optional: false
serviceAccount: plane-srv-account
serviceAccountName: plane-srv-account
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: plane
name: plane-space-wl
spec:
replicas: 1
selector:
matchLabels:
app.name: plane-space
template:
metadata:
namespace: plane
labels:
app.name: plane-space
spec:
containers:
- name: plane-space
imagePullPolicy: Always
image: makeplane/plane-space:stable
stdin: true
tty: true
resources:
requests:
memory: "50Mi"
cpu: "50m"
limits:
memory: "1000Mi"
cpu: "500m"
command:
- node
args:
- space/server.js
- space
serviceAccount: plane-srv-account
serviceAccountName: plane-srv-account
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: plane
name: plane-web-wl
spec:
replicas: 1
selector:
matchLabels:
app.name: plane-web
template:
metadata:
namespace: plane
labels:
app.name: plane-web
spec:
containers:
- name: plane-web
imagePullPolicy: Always
image: makeplane/plane-frontend:stable
stdin: true
tty: true
resources:
requests:
memory: "50Mi"
cpu: "50m"
limits:
memory: "1000Mi"
cpu: "500m"
command:
- node
args:
- web/server.js
- web
serviceAccount: plane-srv-account
serviceAccountName: plane-srv-account
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: plane
name: plane-worker-wl
spec:
replicas: 1
selector:
matchLabels:
app.name: plane-worker
template:
metadata:
namespace: plane
labels:
app.name: plane-worker
spec:
containers:
- name: plane-worker
imagePullPolicy: Always
image: makeplane/plane-backend:stable
stdin: true
tty: true
resources:
requests:
memory: "50Mi"
cpu: "50m"
limits:
memory: "1000Mi"
cpu: "500m"
command:
- ./bin/docker-entrypoint-worker.sh
envFrom:
- configMapRef:
name: plane-app-vars
optional: false
- secretRef:
name: plane-app-secrets
optional: false
- configMapRef:
name: plane-doc-store-vars
optional: false
- secretRef:
name: plane-doc-store-secrets
optional: false
serviceAccount: plane-srv-account
serviceAccountName: plane-srv-account
---

View File

@@ -0,0 +1,46 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: plane
name: plane-ingress
spec:
ingressClassName: nginx
rules:
- host: plane.cluster.edward.sydney
http:
paths:
- backend:
service:
port:
number: 3000
name: plane-web
path: /
pathType: Prefix
- backend:
service:
port:
number: 8000
name: plane-api
path: /api
pathType: Prefix
- backend:
service:
port:
number: 8000
name: plane-api
path: /auth
pathType: Prefix
- backend:
service:
port:
number: 3000
name: plane-space
path: /spaces
pathType: Prefix
- backend:
service:
port:
number: 3000
name: plane-admin
path: /god-mode
pathType: Prefix

35
apps/plane/base/job.yaml Normal file
View File

@@ -0,0 +1,35 @@
---
apiVersion: batch/v1
kind: Job
metadata:
namespace: plane
name: plane-api-migrate-{{ .Release.Revision }}
spec:
backoffLimit: 3
template:
metadata:
labels:
app.name: plane-api-migrate
spec:
containers:
- name: plane-api-migrate
image: makeplane/plane-backend:stable
command:
- ./bin/docker-entrypoint-migrator.sh
imagePullPolicy: Always
envFrom:
- configMapRef:
name: plane-app-vars
optional: false
- secretRef:
name: plane-app-secrets
optional: false
- configMapRef:
name: plane-doc-store-vars
optional: false
- secretRef:
name: plane-doc-store-secrets
optional: false
restartPolicy: OnFailure
serviceAccount: plane-srv-account
serviceAccountName: plane-srv-account

View File

@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./configmap.yaml
- ./service-account.yaml
- ./job.yaml
- ./deployment.yaml
- ./service.yaml
- ./ingress.yaml

View File

@@ -0,0 +1,6 @@
apiVersion: v1
automountServiceAccountToken: true
kind: ServiceAccount
metadata:
namespace: plane
name: plane-srv-account

View File

@@ -0,0 +1,69 @@
---
apiVersion: v1
kind: Service
metadata:
namespace: plane
name: plane-admin
labels:
app.name: plane-admin
spec:
clusterIP: None
ports:
- name: admin-3000
port: 3000
protocol: TCP
targetPort: 3000
selector:
app.name: plane-admin
---
apiVersion: v1
kind: Service
metadata:
namespace: plane
name: plane-api
labels:
app.name: plane-api
spec:
clusterIP: None
ports:
- name: api-8000
port: 8000
protocol: TCP
targetPort: 8000
selector:
app.name: plane-api
---
apiVersion: v1
kind: Service
metadata:
namespace: plane
name: plane-space
labels:
app.name: plane-space
spec:
clusterIP: None
ports:
- name: space-3000
port: 3000
protocol: TCP
targetPort: 3000
selector:
app.name: plane-space
---
apiVersion: v1
kind: Service
metadata:
namespace: plane
name: plane-web
labels:
app.name: plane-web
spec:
clusterIP: None
ports:
- name: web-3000
port: 3000
protocol: TCP
targetPort: 3000
selector:
app.name: plane-web
---

12
apps/plane/env/k3s-cluster/config.json vendored Normal file
View File

@@ -0,0 +1,12 @@
{
"appName": "plane",
"userGivenName": "plane",
"namespace": "plane",
"destNamespace": "plane",
"destServer": "https://kubernetes.default.svc",
"srcPath": "apps/plane/env/k3s-cluster",
"srcRepoURL": "https://github.com/3dwardch3ng/home-cluster-ops.git",
"srcTargetRevision": "",
"labels": null,
"annotations": null
}

View File

@@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base