add app plane
This commit is contained in:
28
apps/plane/base/configmap.yaml
Normal file
28
apps/plane/base/configmap.yaml
Normal 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"
|
||||||
|
---
|
||||||
263
apps/plane/base/deployment.yaml
Normal file
263
apps/plane/base/deployment.yaml
Normal 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
|
||||||
|
|
||||||
|
---
|
||||||
46
apps/plane/base/ingress.yaml
Normal file
46
apps/plane/base/ingress.yaml
Normal 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
35
apps/plane/base/job.yaml
Normal 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
|
||||||
9
apps/plane/base/kustomization.yaml
Normal file
9
apps/plane/base/kustomization.yaml
Normal 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
|
||||||
6
apps/plane/base/service-account.yaml
Normal file
6
apps/plane/base/service-account.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
automountServiceAccountToken: true
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
namespace: plane
|
||||||
|
name: plane-srv-account
|
||||||
69
apps/plane/base/service.yaml
Normal file
69
apps/plane/base/service.yaml
Normal 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
12
apps/plane/env/k3s-cluster/config.json
vendored
Normal 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
|
||||||
|
}
|
||||||
4
apps/plane/env/k3s-cluster/kustomization.yaml
vendored
Normal file
4
apps/plane/env/k3s-cluster/kustomization.yaml
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- ../../base
|
||||||
14
resources/app-secrets/env/k3s-cluster/templates/plane-app.yaml
vendored
Normal file
14
resources/app-secrets/env/k3s-cluster/templates/plane-app.yaml
vendored
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-options: Prune=false
|
||||||
|
sealedsecrets.bitnami.com/cluster-wide: "true"
|
||||||
|
sealedsecrets.bitnami.com/managed: "true"
|
||||||
|
creationTimestamp: null
|
||||||
|
name: plane-app-secrets
|
||||||
|
namespace: plane
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
SECRET_KEY: "jvxSWYiseYAAStxb5D5EPTCTuLiPAc7CKRJ2iCVRJxCUrR5AQB"
|
||||||
|
DATABASE_URL: "postgresql://plane:a@ZAfKma&CAfJQjUePXJf8U^@postgresql.argocd.svc.cluster.local/plane"
|
||||||
15
resources/app-secrets/env/k3s-cluster/templates/plane-doc-store.yaml
vendored
Normal file
15
resources/app-secrets/env/k3s-cluster/templates/plane-doc-store.yaml
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-options: Prune=false
|
||||||
|
sealedsecrets.bitnami.com/cluster-wide: "true"
|
||||||
|
sealedsecrets.bitnami.com/managed: "true"
|
||||||
|
creationTimestamp: null
|
||||||
|
name: plane-doc-store-secrets
|
||||||
|
namespace: plane
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
MINIO_ROOT_PASSWORD: "XVHXyKiFk997QvhxRkyF"
|
||||||
|
AWS_ACCESS_KEY_ID: "5O8DvpKi6DGf7IjjoD3I"
|
||||||
|
AWS_SECRET_ACCESS_KEY: "f7vptIeYy3EJDUzqOFMmGJ73IsfHcA9MPZs3RELH"
|
||||||
9
resources/namespaces/env/k3s-cluster/templates/plane.yaml
vendored
Normal file
9
resources/namespaces/env/k3s-cluster/templates/plane.yaml
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-options: Prune=false
|
||||||
|
creationTimestamp: null
|
||||||
|
name: plane
|
||||||
|
spec: {}
|
||||||
|
status: {}
|
||||||
Reference in New Issue
Block a user