Delete directory 'apps/notesnook'
This commit is contained in:
@@ -1,23 +0,0 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: notesnook-attachments
|
|
||||||
namespace: notesnook
|
|
||||||
annotations:
|
|
||||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
|
||||||
spec:
|
|
||||||
ingressClassName: traefik
|
|
||||||
rules:
|
|
||||||
- host: attachments.notes.aleshym.co
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: notesnook-s3
|
|
||||||
port: { number: 9000 }
|
|
||||||
tls:
|
|
||||||
- hosts: ["attachments.notes.aleshym.co"]
|
|
||||||
secretName: notesnook-attachments-tls
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
apiVersion: batch/v1
|
|
||||||
kind: Job
|
|
||||||
metadata:
|
|
||||||
name: notesnook-db-init
|
|
||||||
namespace: notesnook
|
|
||||||
annotations:
|
|
||||||
argocd.argoproj.io/hook: PostSync
|
|
||||||
argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
|
|
||||||
spec:
|
|
||||||
backoffLimit: 20
|
|
||||||
template:
|
|
||||||
spec:
|
|
||||||
restartPolicy: OnFailure
|
|
||||||
containers:
|
|
||||||
- name: rs-init
|
|
||||||
image: mongo:7.0.12
|
|
||||||
command: ["bash", "-c"]
|
|
||||||
args:
|
|
||||||
- |
|
|
||||||
until mongosh mongodb://notesnook-db:27017 --quiet --eval 'db.runCommand("ping").ok' ; do
|
|
||||||
echo "waiting for mongod..."; sleep 3;
|
|
||||||
done
|
|
||||||
mongosh mongodb://notesnook-db:27017 --quiet --eval '
|
|
||||||
try { rs.status() }
|
|
||||||
catch (e) { rs.initiate({_id:"rs0", members:[{_id:0, host:"notesnook-db:27017"}]}) }
|
|
||||||
'
|
|
||||||
echo "replica set ready"
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: notesnook-db
|
|
||||||
namespace: notesnook
|
|
||||||
spec:
|
|
||||||
clusterIP: None
|
|
||||||
selector:
|
|
||||||
app: notesnook-db
|
|
||||||
ports:
|
|
||||||
- name: mongo
|
|
||||||
port: 27017
|
|
||||||
targetPort: 27017
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: StatefulSet
|
|
||||||
metadata:
|
|
||||||
name: notesnook-db
|
|
||||||
namespace: notesnook
|
|
||||||
spec:
|
|
||||||
serviceName: notesnook-db
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: notesnook-db
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: notesnook-db
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: mongod
|
|
||||||
image: mongo:7.0.12
|
|
||||||
args: ["--replSet", "rs0", "--bind_ip_all"]
|
|
||||||
ports:
|
|
||||||
- containerPort: 27017
|
|
||||||
name: mongo
|
|
||||||
volumeMounts:
|
|
||||||
- name: dbdata
|
|
||||||
mountPath: /data/db
|
|
||||||
readinessProbe:
|
|
||||||
exec:
|
|
||||||
command: ["mongosh", "--quiet", "--eval", "db.runCommand('ping').ok"]
|
|
||||||
initialDelaySeconds: 10
|
|
||||||
periodSeconds: 15
|
|
||||||
resources:
|
|
||||||
requests: { cpu: "100m", memory: "256Mi" }
|
|
||||||
limits: { cpu: "1000m", memory: "1Gi" }
|
|
||||||
volumeClaimTemplates:
|
|
||||||
- metadata:
|
|
||||||
name: dbdata
|
|
||||||
spec:
|
|
||||||
accessModes: ["ReadWriteOnce"]
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 10Gi
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: notesnook-identity
|
|
||||||
namespace: notesnook
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: notesnook-identity
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: notesnook-identity
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: identity
|
|
||||||
image: streetwriters/identity:latest
|
|
||||||
envFrom:
|
|
||||||
- configMapRef: { name: notesnook-config }
|
|
||||||
- secretRef: { name: notesnook-secret }
|
|
||||||
env:
|
|
||||||
- name: MONGODB_CONNECTION_STRING
|
|
||||||
value: "mongodb://notesnook-db:27017/identity?replSet=rs0"
|
|
||||||
- name: MONGODB_DATABASE_NAME
|
|
||||||
value: "identity"
|
|
||||||
ports:
|
|
||||||
- { containerPort: 8264, name: http }
|
|
||||||
readinessProbe:
|
|
||||||
httpGet: { path: /health, port: 8264 }
|
|
||||||
initialDelaySeconds: 20
|
|
||||||
periodSeconds: 15
|
|
||||||
livenessProbe:
|
|
||||||
httpGet: { path: /health, port: 8264 }
|
|
||||||
initialDelaySeconds: 60
|
|
||||||
periodSeconds: 30
|
|
||||||
resources:
|
|
||||||
requests: { cpu: "50m", memory: "128Mi" }
|
|
||||||
limits: { cpu: "500m", memory: "512Mi" }
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: notesnook-auth
|
|
||||||
namespace: notesnook
|
|
||||||
annotations:
|
|
||||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
|
||||||
spec:
|
|
||||||
ingressClassName: traefik
|
|
||||||
rules:
|
|
||||||
- host: auth.notes.aleshym.co
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: notesnook-identity
|
|
||||||
port: { name: http }
|
|
||||||
tls:
|
|
||||||
- hosts: ["auth.notes.aleshym.co"]
|
|
||||||
secretName: notesnook-auth-tls
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: notesnook-identity
|
|
||||||
namespace: notesnook
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
app: notesnook-identity
|
|
||||||
ports:
|
|
||||||
- { name: http, port: 8264, targetPort: 8264 }
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
namespace: notesnook
|
|
||||||
resources:
|
|
||||||
- namespace.yaml
|
|
||||||
- notesnook-config.yaml
|
|
||||||
- notesnook-sealedsecret.yaml
|
|
||||||
- db-service.yaml
|
|
||||||
- db-statefulset.yaml
|
|
||||||
- db-init-job.yaml
|
|
||||||
- minio-pvc.yaml
|
|
||||||
- minio-deployment.yaml
|
|
||||||
- minio-service.yaml
|
|
||||||
- minio-bucket-job.yaml
|
|
||||||
- identity-deployment.yaml
|
|
||||||
- identity-service.yaml
|
|
||||||
- identity-ingress.yaml
|
|
||||||
- sync-deployment.yaml
|
|
||||||
- sync-service.yaml
|
|
||||||
- sync-ingress.yaml
|
|
||||||
- sse-deployment.yaml
|
|
||||||
- sse-service.yaml
|
|
||||||
- sse-ingress.yaml
|
|
||||||
- monograph-deployment.yaml
|
|
||||||
- monograph-service.yaml
|
|
||||||
- monograph-ingress.yaml
|
|
||||||
- attachments-ingress.yaml
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
apiVersion: batch/v1
|
|
||||||
kind: Job
|
|
||||||
metadata:
|
|
||||||
name: notesnook-s3-setup
|
|
||||||
namespace: notesnook
|
|
||||||
annotations:
|
|
||||||
argocd.argoproj.io/hook: PostSync
|
|
||||||
argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
|
|
||||||
spec:
|
|
||||||
backoffLimit: 20
|
|
||||||
template:
|
|
||||||
spec:
|
|
||||||
restartPolicy: OnFailure
|
|
||||||
containers:
|
|
||||||
- name: mc
|
|
||||||
image: minio/mc:RELEASE.2024-07-26T13-08-44Z
|
|
||||||
envFrom:
|
|
||||||
- secretRef: { name: notesnook-secret }
|
|
||||||
command: ["/bin/bash", "-c"]
|
|
||||||
args:
|
|
||||||
- |
|
|
||||||
until mc alias set minio http://notesnook-s3:9000 "$MINIO_ROOT_USER" "$MINIO_ROOT_PASSWORD"; do
|
|
||||||
sleep 2;
|
|
||||||
done
|
|
||||||
mc mb --ignore-existing minio/attachments
|
|
||||||
echo "bucket ready"
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: notesnook-s3
|
|
||||||
namespace: notesnook
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
strategy: { type: Recreate }
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: notesnook-s3
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: notesnook-s3
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: minio
|
|
||||||
image: minio/minio:RELEASE.2024-07-29T22-14-52Z
|
|
||||||
args: ["server", "/data/s3", "--console-address", ":9090"]
|
|
||||||
envFrom:
|
|
||||||
- secretRef: { name: notesnook-secret }
|
|
||||||
env:
|
|
||||||
- name: MINIO_BROWSER
|
|
||||||
value: "on"
|
|
||||||
ports:
|
|
||||||
- { containerPort: 9000, name: api }
|
|
||||||
- { containerPort: 9090, name: console }
|
|
||||||
volumeMounts:
|
|
||||||
- name: s3data
|
|
||||||
mountPath: /data/s3
|
|
||||||
readinessProbe:
|
|
||||||
tcpSocket: { port: 9000 }
|
|
||||||
initialDelaySeconds: 10
|
|
||||||
periodSeconds: 15
|
|
||||||
resources:
|
|
||||||
requests: { cpu: "50m", memory: "128Mi" }
|
|
||||||
limits: { cpu: "500m", memory: "512Mi" }
|
|
||||||
volumes:
|
|
||||||
- name: s3data
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: notesnook-s3-data
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: notesnook-s3-data
|
|
||||||
namespace: notesnook
|
|
||||||
spec:
|
|
||||||
accessModes: ["ReadWriteOnce"]
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 20Gi
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: notesnook-s3
|
|
||||||
namespace: notesnook
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
app: notesnook-s3
|
|
||||||
ports:
|
|
||||||
- { name: api, port: 9000, targetPort: 9000 }
|
|
||||||
- { name: console, port: 9090, targetPort: 9090 }
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: notesnook-monograph
|
|
||||||
namespace: notesnook
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: notesnook-monograph
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: notesnook-monograph
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: monograph
|
|
||||||
image: streetwriters/monograph:latest
|
|
||||||
envFrom:
|
|
||||||
- configMapRef: { name: notesnook-config }
|
|
||||||
- secretRef: { name: notesnook-secret }
|
|
||||||
env:
|
|
||||||
- name: HOST
|
|
||||||
value: "0.0.0.0"
|
|
||||||
- name: API_HOST
|
|
||||||
value: "http://notesnook-sync:5264"
|
|
||||||
- name: PUBLIC_URL
|
|
||||||
value: "https://monograph.notes.aleshym.co"
|
|
||||||
ports:
|
|
||||||
- { containerPort: 3000, name: http }
|
|
||||||
readinessProbe:
|
|
||||||
httpGet: { path: /, port: 3000 }
|
|
||||||
initialDelaySeconds: 20
|
|
||||||
periodSeconds: 15
|
|
||||||
resources:
|
|
||||||
requests: { cpu: "50m", memory: "128Mi" }
|
|
||||||
limits: { cpu: "500m", memory: "512Mi" }
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: notesnook-monograph
|
|
||||||
namespace: notesnook
|
|
||||||
annotations:
|
|
||||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
|
||||||
spec:
|
|
||||||
ingressClassName: traefik
|
|
||||||
rules:
|
|
||||||
- host: monograph.notes.aleshym.co
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service: { name: notesnook-monograph, port: { name: http } }
|
|
||||||
tls:
|
|
||||||
- hosts: ["monograph.notes.aleshym.co"]
|
|
||||||
secretName: notesnook-monograph-tls
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: notesnook-monograph
|
|
||||||
namespace: notesnook
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
app: notesnook-monograph
|
|
||||||
ports:
|
|
||||||
- { name: http, port: 3000, targetPort: 3000 }
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Namespace
|
|
||||||
metadata:
|
|
||||||
name: notesnook
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: notesnook-config
|
|
||||||
namespace: notesnook
|
|
||||||
data:
|
|
||||||
INSTANCE_NAME: "aleshym-notesnook"
|
|
||||||
DISABLE_SIGNUPS: "true"
|
|
||||||
NOTESNOOK_APP_PUBLIC_URL: "https://app.notesnook.com"
|
|
||||||
AUTH_SERVER_PUBLIC_URL: "https://auth.notes.aleshym.co"
|
|
||||||
MONOGRAPH_PUBLIC_URL: "https://monograph.notes.aleshym.co"
|
|
||||||
ATTACHMENTS_SERVER_PUBLIC_URL: "https://attachments.notes.aleshym.co"
|
|
||||||
NOTESNOOK_CORS_ORIGINS: "https://app.notesnook.com,https://notes.aleshym.co"
|
|
||||||
KNOWN_PROXIES: ""
|
|
||||||
SELF_HOSTED: "1"
|
|
||||||
NOTESNOOK_SERVER_HOST: "notesnook-sync"
|
|
||||||
NOTESNOOK_SERVER_PORT: "5264"
|
|
||||||
IDENTITY_SERVER_HOST: "notesnook-identity"
|
|
||||||
IDENTITY_SERVER_PORT: "8264"
|
|
||||||
SSE_SERVER_HOST: "notesnook-sse"
|
|
||||||
SSE_SERVER_PORT: "7264"
|
|
||||||
IDENTITY_SERVER_URL: "https://auth.notes.aleshym.co"
|
|
||||||
NOTESNOOK_APP_HOST: "https://app.notesnook.com"
|
|
||||||
S3_INTERNAL_SERVICE_URL: "http://notesnook-s3:9000"
|
|
||||||
S3_INTERNAL_BUCKET_NAME: "attachments"
|
|
||||||
S3_SERVICE_URL: "https://attachments.notes.aleshym.co"
|
|
||||||
S3_BUCKET_NAME: "attachments"
|
|
||||||
S3_REGION: "us-east-1"
|
|
||||||
MINIO_BROWSER: "on"
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: bitnami.com/v1alpha1
|
|
||||||
kind: SealedSecret
|
|
||||||
metadata:
|
|
||||||
name: notesnook-secret
|
|
||||||
namespace: notesnook
|
|
||||||
spec:
|
|
||||||
encryptedData:
|
|
||||||
MINIO_ROOT_PASSWORD: AgDAj0bx9aNQHIXAcNB3YfA4+P5qIhVNwEDBDDTEcJ9OQ3qrmTrZ0HtYIWswMU1CYuCGzfCT9sdoJ94L4VFWCdqavHdPn3/zDtXXR7WAaMOoYygiKIPTVO1rmRNnk0gzirl1aWSm+fWsc61+SYCvx08C/RnSyTeocfhpY0rvm0r9eiIxmdjc0u2VKksh1ARSkSqJkLniPXBH6PCFH/tUOH3FZqYycCW+FEhj8KE9D/FIVKy3pCFhfg9KfH7XHqQx5wnQ0j2aL9ljqA6DPI6tDB5rcR8lW7+3iC8X3YZwaExFfWq+3ksZj5LLnESBlqwvV1IY8B7k1VoiL8f5r/5VAE/EJ6SFvIueoOnKxUWC+NJroWeBSnk0isDpNPluVkrGJOVTHv0bx3bAhUVjr3lQsimvyi1ZZXKvr/b/Hpg++RLTF3wBGLjM7tsJ0RHnzysvIyfg8euU2OYitjfkQKbvDIREkU5A0AQ35oapgNnVAB2gWlm4SAkkfOQuT/oowTOLEYKg4zzk64lQiOWFtD5q82Dr6PU6s/snIDixkY/5ICgcV5/Y1Oq0wtvhblDBroWpEnohoQAqlYkRNN4jh+oSEJwJORv6mF370XxBxY9k3h/IyCdJeC9xv9DocUjUP+FU9HQE7Qvd3OcNag1DAyhmtLv5wDgZEea3fPX5XMhnvE5U+YUxZDXkN1MchItTTMMim5fySIPg5KZ+Hr2Ticpxfjw47RMFNH3y2qfDqb8hBfB9SA==
|
|
||||||
MINIO_ROOT_USER: AgAyLNT8gHmThqLjQBBcmoZsxtEG/ZR/hjUICEZKAyF8+FV6A3WFizA8tYBzjNyfaGFSdS2yLmZGbwtEKmHSApBmXoY4xgnyZpEjh2whsgeBjMFdx2jWt+odvEaPGA+xEbuODJbkJMQiXhi/ctyiMD1/y6WIWZ5Ya8Ahz469di0fT1znMk9B050FKFgVEK6Sfzb8MQuZBj2wukTgZ2rlKMQ+7EQi6pb6cEATLDjheXvbgx4g9LTPwVN+1uZcC5GU7jg/IGJcEg/QJfmOCgRmz9iDx3/d9lFnDnJBOv8Plt6PmWEMR9QOvdQjUhWiN2BwrdICHqFxFTnV+z9JbMk2kT2Ovw6W239BT+KbabEaiwVE5+3ubLLymF3bXwRO7fqPO3xy6/aVsv6k9995jPY7/DNIr5kozo/uFf2DeP8sbldJp2ymR2RBoa8TCiGHT5pgWr36qHxMt1J7fU1mWIRPeUmkFJchCjNc8qDr1bwY9hjrdXxC5fUkFsG/gyb5FsmzvQaAPAy45Wl1DRpp4xBiE/SUc+xBcA1y3Bo6lJ2w7w8tB2bMZUqZkgOyPDaPfzLViMtPUlnCnKRGzvi8HoGvzLS4gN1jjRUK33YtLpLqa6B9Wj1/fkgu9H1cIz1ffS3baL4ZIyA3K7/4LrAS2xzUcJ8HdezxjuZQKqtwDgJSysZJ0blXG6GLpx8JonZh4gx8na1c9kKt07BNYao=
|
|
||||||
NOTESNOOK_API_SECRET: AgC3JoH/PCMgUPPvUCkIsRWGEIJtwt+E+wXvfBTi2V60nN19RiJLpXF860UrKnFZxvloFalJLIxA1mtLUAfO2wZuzGpid8IIrAUIyhXCZkZWkZr9UbB/TjzmorC5NEAwjo08zhBKIlME+Emdb7BrpHGbj2ykQlyKqwCSTPKoitkypdgXQsbPWM6j03o/F9hSmKVFCTb6ugBY72rXBlVBqBGdeoPLkwSnuk7kk6y+lOfufeqGw2MXoNCZJ1+rbZQ2ihGFSGLKd955I3wnidcu8oCQO50u4V1IHhj0/iJHh/bXu6ipXEw4ZX886SFQgqqb36sFt8b2PIk+h2GtqFC+Ixew+ay790B/wXIMWhze680oAwq/6ZvWe0PSbJgDXLCYga7ZIw8RYFphk3+VblYfc9EObGWvuLDoGzSs/qgi/+euxOkM1P8lGUGuSETz4Bm7VEg4udEneuCnfHqQ19/qkhu/isMwN7KpOaymKwpw0Yb2oefUljjPOGHq+ni08TUU1V+fmKMmnxG3Uq05mLDjTpN6lkpm5yF5xCA4WRflL1kqLFsCPm4JF62NiLDXuVb7c0uz9l85YaJg06RaYVHOf5Km7B3wnBHHrk8sJ2NtkUa2vvGbkZ64JFP9PrD7Ubvh62i4QoXn83nv67rihtzB8BNzkA7sQVLH2OpBqFkbJaTquBWXo3zg8AWcxpuXvNXv6ba4kZJEbBbCDpQDUdQ//MSJttHEgPKvZgmqtqCQ7W3Mypr6CWWGhSfcEmgAzcSfYlYNAbGAGxFErDkXelhbsgNr
|
|
||||||
S3_ACCESS_KEY: AgC9kcAVZEpanlIjfkpJjDDJe6nikUTorye4l03NhgOoMrU6ivxVXBboiXAYyRYYRidp60r041YPs5lZNCYOwwpuf5iquAlAuD5mecR2xFJIsv3Mxi5wEdoFvPtCIFv8Xm0MTMvR1ch4J4X1gds4S3HQmYIxEKSg/qU+/4ww1CccbDexGOhwOwMMor2KZwfGTrDIZO7/3SwMQs6h8XVRUR5BhuLGftV6tUFEOQBQ6pjijurkSW/faG6YJbE2hpmWNdot6Qau7matCcJhRZI0NAeZhAPeCvIlyrEyJpqjMxNEMVJszj//F7dlPxTW8AkWyw2bmzzgNPhAYvpRTxrDDr70huRUWIo5mAlBbJypT3haVjKYFoRKAGXWC/8dhLSp3NKWQ/smBzpvUOQ30N4EskIVT+V8GArkrLN35yi2yP1aFaQpvLCA1m8pp5hUTgyDm1dqcOnQg3DRJgiMN7/Jt+P9TQGs2RiKoHCPp6lIfDGRKDLYeG5uuiUouridf1HnkrKGXlSmnd4xYWYlym6ZAC7Uzd9GlwTeZwZT8YJCQHqnZFPGq6MAVOPR5B+kQldAH81qosXjRdQyn8RT3DefdAjbduh4/DzuLJTTu8OeSmyPx7H5uqDIrkn1DLuBca2+lJPu4xMv6bthGRzwBLA1aU+nmniFBznkg+YlI5XxJLrA5Ra/PZsglhCHRz1hSiajZ5g1jUzMk2XDjti/q3Xbqj1AkmLmKjZbR05e7VRELMIj4g==
|
|
||||||
S3_ACCESS_KEY_ID: AgAjLq/HHmD30h2/2mHU/iQKS6l4PRTRhquB4UgCdJjkr/a4eGfxxPZWRJJrj/AbFaWQrAq/ADqa9cAxwXsJInwVLkmv42sB9hODGxRtKbQgwubJaa84uOqdNvce/GvlxXrVIh5H7GUTTKuIXSuS5U/AtBniPudJ5/p8QulYXyqY3K34uePIMEqBP5m7CJ8kKB7EPTLvb29pjr/VdKCpSMwnhXiiiwU/Y1NDdf4ZiIc1gsp79kRd1RhFsLfJky/tBntv4waHHfYKZ7jkCJOGp189ZSqNFlAkP2TPg+jpygpznPvTTggQB45DlYKupUI1bMGlkWcfYLM9+/jmvHngGuzPvSUlGFukaPHkhJ8YwLz+Jc+K6xxdbX9WjzqqGYs3CW41ccxHjxgrZnUW62NbCYIR7xj1K2vCVmmyjwC++N9ArDvS/VreXAq2QJsxKQjL7YElsQrFlMzKrRw98kUd4vpQPQxK+nkLe9HVj0VJprDK22ZrfCcyA8rl64Zx8huwbKEmNscZou49oDx3LJRI8vGFS0lQJFLBrjJKjF9xT+7R59SIo+7JxFAWDvmEaJrdPSq4EDEturHhzvKcv5y1Gy1ul4nwIGvxDZAK9kwp5oiGxfARncoVzgFINqwlVmVfPRb4RZl5mzu8IToMebwvJ52Rpf+IhkW1yEnCYxppBNmUyPWewTc3UUvtViOOawaARaXii6O9sR0uhlE=
|
|
||||||
SMTP_HOST: AgBZiWzF45lbMOrRXlGi2k1jq2bA+hQWF1DVLJemKgn9et0uBfcIyICHS/7E4cukDI+MOInEQEYem5M4FoQ2mM2ylcIm+LrUI+p5azDKRYkkbcwKD2F0+J9G5YDXxYth11NzS3fLhrVxAuqmbqy3LxOmSkjFvFdJxLx0Su78B2CSDBXmy+gu4soY7bdQV0L3T/zfG6s1WuLzR8WPnji3EmBM5dexG7Smhziz0dymOuhdGfSwaI2MWrYzw9J3Vshc+mRXzw1JvI5mVbawhQOLrnW57NvXlJtk19LLr/kXWOt1ppJcJOYGOxWrFs4VA4Bg4QSN2piARWZ6FbL1/a8ynamUhw+R2yDlT/J8oQIVBzhIWCU5EwfHgDu+QRKzmd2iAhfYZjrUkJNojUjqaQvb7RXrG4DVL9UJxGjushebgc2EG/PykdzoRL2d1KMfJRK6O5ouM42UvOCqRzbBbWuTiA6fj8hGTIZYFXX3vWIM368uDvrEVxj2C+skrRzHEzAQgsJEaWtFvZm6WGkZZOLTuava9+JxMvnpftWMIE8FrYCAYwn5xa88eftgw+GW65EWVSm8IXFtGoNd4DKYj5OGF2DcN//OxteoVd3OxsmuJtY0Qx0REb9nqg9Qdw2bP6emmpmgtyw8opUS/VubGghdCnhLUES+CA08ooK4a8n8rZSSFiujvjMjoDdOnVktM/D3R6ECftJRakhMes4INANM4w==
|
|
||||||
SMTP_PASSWORD: AgAdjxnT2uC0LRUmlQ/BOlLs6l1PCP13tMmgmSnqqNWSuucYkWwTWtz4qBnG3dauhC0ufS5eqABJqZq0r+QpyhxU0Otqzk7oVcea0Mq9ai159IMCx/rZL8HXIkUF76muv8GOGDYlaf3A+CbrNTsaRXDbjZ7LjzD8OwsdfaeIzUejyNXgs5EMjSOHLx4YhmVfVEZLAtoP9zcNlDSNFaat79wnwjwUifHuY3usvQXhJS+vLVtLLtWwKF0rCsfkbCRwJtJCCrOvOLuid8aZ3cO9Y7n0+TOAlkSe4dSSq0D2psg3njEZ2l3RNLW2YbM2LkcXK+MjIpCivqSCXLufq1dUuhDxCirxSd0VgTt5TPgeTCi+kuNv/UAqydQWDQlh6izUDdnTtMlRqtk4ZFhoBvIo1NVdpObmbFlSlBURwrmNqmdyO1/MNZT40gi1UsuEtktDCohoq6zQrahiGqcXr1VVscE+u5VoV7PRTICMSJQexFV9fx8YsZxDycng7zaf6xbK0JWVSuU1IXwb1ZOReQs0MtZj45o/c9JtYS1HPoSZRCCSCAd6qPhnHoUc6jYYFznfKTqvrpSdXqoBF61I1Sw+CKuVA/aut9mgCzWIwGjb38Hjh/VYufrgkFMcvnqbpkX4F8sMvzI3zsvFT2S0RwNGHOay6f+otg2KJdPlE2HSLVGLTFxS1Ku2F3ZPL79/Br8eCW3PPnq4c6w4f0XBFtuGSXtt
|
|
||||||
SMTP_PORT: AgATegLz9D+74mUBak9tv+7L/LeRqcJXcE58T1fOh1shsz3KjSzuXb4HxytqghT0LqplAEemCPoG823wPFKYnxZtvedQ2CyZGCxEXPoV6iUvBAVC3Pj6H92k9CIEZRPHLvR6IR+mXzu6HLWwJsOGrxn28waSx374uVizylptkpjIHvyseY3chfH0N/x2tK0yZn9rKOqnzfjKVGh4DF+i7wU/uuFPhcMbqRPg70J0pxhesTKHBAerGnvfnoCxFRoSl0ZPgC0kK5NfIEp3zWW45NWshPNsbb0yix76Rnr+8dEn/Rbopa8jZtfdK260ZPclLRO6z04ks69Zp5u9kE1g883Q25I+M9C8B27QDC+KHxgSwq0w8a5CwlCYDRu/e9UBHtsJobRaARgghyyAVsS4FsDS45kJom3U7n0Ip/27hg2VMm+jwNRoB5cmlyhDDlFng49U36DRsd0z2d2wBFAG4NM4xgbWlK5zUDmKCveC7zJfFAuZGsMbY5U8/lDv1WvGIG8xmQsg5CgriVL6gG3ReRjk3BmK93b8OkUhfquFHKBoyqJZWIIz+W5dcP2fKdjZc0Ec2vPqszHaNTN+dEcGzm9MGFpeus6rA6Egxzq1esVbEPuixcI6eXc87SOG0Ntn2wbPJQKpNZq+JkzYSXBUZcemPz5M2nybLr/lwuX7//Qg5b95nwzXMRRm9kagwWubDPNPpd8=
|
|
||||||
SMTP_USERNAME: AgAxdxvMjUjvj8vYu8upKMfpAIi00dBizXD83F5f6TCSlAFlo3kuVFbfJ8tCQZNRSdU7vP6n3zQfW2IhYUQSnO44+Wb8q5V4sfs1cClbPyGpQdEyFeLk1KwW3LeFxsi9cym3H7Qtu9e/S3dOmD9IxK8AuOJkq5t7Xepum7WvuOuvBVFm2nVetZlTs1BmHoxA8dHlAhk+qwGMAuo/Xltut67uDsPzZTcA4fEAYe+We7zqfD0hpN+k1TffZHE7x+GpA3tyc6yUf/uSsWRq9HKyASc0UM5uoK/WoxYoUA7RF5j5FXFrA1jY/Y1pE3oLjQmpB59q5vOasd77uXE/1b+rs6l8L1zngWw+8MeKA/julrmWBwte+vs68yqDFOL7QNfwpYmYoaAcuvezeXZwF4nnwzXyE8ZEO7xtbp/r9DATeGypjRnm1bDAMTARGLgHoxV18UELCiksNNCbVO7twXJs+HUE/sbfI3tQmk6O5zbWD/GbcR0lTsTjM+hcM5r9ZYfrq7Ad3Oyb3ANU184Rm4fiR9v+t9OyJf9jIASF9p8oFcTr2dupdv3r8wzPq/ayfvN44nyOr2xVfIv+ubMqjjLixg0jUDeFoR/GST6fpvWBmd2HVMG1tHvZxphUb0V/M946HxKBMpsFn/WWyLgUzJG64bIICDAetCferbaa4UFEHP23G/R5tLBWM2GNZpT6yfkBQYppc6e1/KAjGNVMrTpKQeNkD/xs
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
sealedsecrets.bitnami.com/managed: "true"
|
|
||||||
name: notesnook-secret
|
|
||||||
namespace: notesnook
|
|
||||||
type: Opaque
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# NOTE: This app's Secret is now managed via SealedSecrets (notesnook-sealedsecret.yaml),
|
|
||||||
# which IS committed (encrypted). You should not need to hand-apply a plain Secret.
|
|
||||||
#
|
|
||||||
# This file remains only as documentation of the required keys.
|
|
||||||
#
|
|
||||||
# To change a secret value:
|
|
||||||
# 1. Build a plain Secret locally (NEVER commit it):
|
|
||||||
# kubectl -n notesnook create secret generic notesnook-secret \
|
|
||||||
# --from-literal=KEY=value ... --dry-run=client -o yaml > /tmp/s.yaml
|
|
||||||
# 2. Seal it:
|
|
||||||
# kubeseal --format yaml --scope strict < /tmp/s.yaml \
|
|
||||||
# > apps/notesnook/notesnook-sealedsecret.yaml
|
|
||||||
# 3. Commit the SealedSecret; ArgoCD applies it, controller unseals it.
|
|
||||||
#
|
|
||||||
# DISASTER RECOVERY: the controller's private key is backed up GPG-encrypted at
|
|
||||||
# /mnt/bulk/backups/sealed-secrets/master-key-YYYYMMDD.gpg (passphrase in password manager)
|
|
||||||
# Restore it BEFORE applying SealedSecrets to a rebuilt cluster:
|
|
||||||
# gpg -d master-key-YYYYMMDD.gpg | kubectl apply -f -
|
|
||||||
# kubectl -n kube-system rollout restart deploy/sealed-secrets-controller
|
|
||||||
#
|
|
||||||
# Required keys:
|
|
||||||
# NOTESNOOK_API_SECRET (reuse existing — do NOT regenerate)
|
|
||||||
# SMTP_USERNAME, SMTP_PASSWORD, SMTP_HOST, SMTP_PORT
|
|
||||||
# MINIO_ROOT_USER, MINIO_ROOT_PASSWORD
|
|
||||||
# S3_ACCESS_KEY_ID (= MINIO_ROOT_USER), S3_ACCESS_KEY (= MINIO_ROOT_PASSWORD)
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: notesnook-sse
|
|
||||||
namespace: notesnook
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: notesnook-sse
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: notesnook-sse
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: sse
|
|
||||||
image: streetwriters/sse:latest
|
|
||||||
envFrom:
|
|
||||||
- configMapRef: { name: notesnook-config }
|
|
||||||
- secretRef: { name: notesnook-secret }
|
|
||||||
ports:
|
|
||||||
- { containerPort: 7264, name: http }
|
|
||||||
readinessProbe:
|
|
||||||
httpGet: { path: /health, port: 7264 }
|
|
||||||
initialDelaySeconds: 20
|
|
||||||
periodSeconds: 15
|
|
||||||
livenessProbe:
|
|
||||||
httpGet: { path: /health, port: 7264 }
|
|
||||||
initialDelaySeconds: 60
|
|
||||||
periodSeconds: 30
|
|
||||||
resources:
|
|
||||||
requests: { cpu: "50m", memory: "128Mi" }
|
|
||||||
limits: { cpu: "500m", memory: "256Mi" }
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: notesnook-sse
|
|
||||||
namespace: notesnook
|
|
||||||
annotations:
|
|
||||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
|
||||||
spec:
|
|
||||||
ingressClassName: traefik
|
|
||||||
rules:
|
|
||||||
- host: events.notes.aleshym.co
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service: { name: notesnook-sse, port: { name: http } }
|
|
||||||
tls:
|
|
||||||
- hosts: ["events.notes.aleshym.co"]
|
|
||||||
secretName: notesnook-sse-tls
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: notesnook-sse
|
|
||||||
namespace: notesnook
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
app: notesnook-sse
|
|
||||||
ports:
|
|
||||||
- { name: http, port: 7264, targetPort: 7264 }
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: notesnook-sync
|
|
||||||
namespace: notesnook
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: notesnook-sync
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: notesnook-sync
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: sync
|
|
||||||
image: streetwriters/notesnook-sync:latest
|
|
||||||
envFrom:
|
|
||||||
- configMapRef: { name: notesnook-config }
|
|
||||||
- secretRef: { name: notesnook-secret }
|
|
||||||
env:
|
|
||||||
- name: MONGODB_CONNECTION_STRING
|
|
||||||
value: "mongodb://notesnook-db:27017/?replSet=rs0"
|
|
||||||
- name: MONGODB_DATABASE_NAME
|
|
||||||
value: "notesnook"
|
|
||||||
ports:
|
|
||||||
- { containerPort: 5264, name: http }
|
|
||||||
readinessProbe:
|
|
||||||
httpGet: { path: /health, port: 5264 }
|
|
||||||
initialDelaySeconds: 20
|
|
||||||
periodSeconds: 15
|
|
||||||
livenessProbe:
|
|
||||||
httpGet: { path: /health, port: 5264 }
|
|
||||||
initialDelaySeconds: 60
|
|
||||||
periodSeconds: 30
|
|
||||||
resources:
|
|
||||||
requests: { cpu: "50m", memory: "128Mi" }
|
|
||||||
limits: { cpu: "1000m", memory: "512Mi" }
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: notesnook-sync
|
|
||||||
namespace: notesnook
|
|
||||||
annotations:
|
|
||||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
|
||||||
spec:
|
|
||||||
ingressClassName: traefik
|
|
||||||
rules:
|
|
||||||
- host: sync.notes.aleshym.co
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service: { name: notesnook-sync, port: { name: http } }
|
|
||||||
- host: notes.aleshym.co
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service: { name: notesnook-sync, port: { name: http } }
|
|
||||||
tls:
|
|
||||||
- hosts: ["sync.notes.aleshym.co", "notes.aleshym.co"]
|
|
||||||
secretName: notesnook-sync-tls
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: notesnook-sync
|
|
||||||
namespace: notesnook
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
app: notesnook-sync
|
|
||||||
ports:
|
|
||||||
- { name: http, port: 5264, targetPort: 5264 }
|
|
||||||
Reference in New Issue
Block a user