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