diff --git a/k8s/copies/cm.yml b/k8s/copies/cm.yml deleted file mode 100644 index f6f8dabb51..0000000000 --- a/k8s/copies/cm.yml +++ /dev/null @@ -1,81 +0,0 @@ -apiVersion: v1 -items: -- apiVersion: v1 - data: - ca.crt: | - -----BEGIN CERTIFICATE----- - MIIDBTCCAe2gAwIBAgIICy770MnfOrQwDQYJKoZIhvcNAQELBQAwFTETMBEGA1UE - AxMKa3ViZXJuZXRlczAeFw0yNjA1MzEyMTI2NTRaFw0zNjA1MjgyMTMxNTRaMBUx - EzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK - AoIBAQCfPa4zkpVWrXryR7J0Uu/sXTeZC4m7MBepTWiiJ48GCICi4rHvFOENBUdo - beNIP3nv9Moyblna787Tobs0qMuTu/Sxpl4riR0+4g8cMsxbcc9p9+8jo4g5sbyE - e+GBl23P2rZWesURQoh67f/l/l28atOHVvvQKKgQ28pZsCJ8v09KPGCvojOICMZV - cgbtpKlV5GYU1fy72Kg1AUeVqXw5nRvNGXI1isMi01aAhSEzNjRpvfbVbk2YYkrJ - eN0TzjD0AQYSGZRkRFtUyOCvT9li797G/oLDvfdVajFFjO4I4UU4eFWvENeMj++D - 8jpMSc47rfMzN+KftqBWjtM0RczRAgMBAAGjWTBXMA4GA1UdDwEB/wQEAwICpDAP - BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTgtRDcOUxvlZVWm4j7FKRWarWByjAV - BgNVHREEDjAMggprdWJlcm5ldGVzMA0GCSqGSIb3DQEBCwUAA4IBAQCc6faB9Uyv - NDVDDD3TUQncahH5YKCcGKX2b0vw38LV3sJJ4ynRemE0JQPEf27ywJW44hIATFRx - fhG6eUXxkd8VTfeshNt6FzVvexkiMakF6WZg6c0tjfrmncs6lqkb2K9jYMaudk7f - wvYBpX1ckdPkjyBkYMmbpnDEOOE/tu0XkiGn2e/DtU0oEx1ShQFN7iTQmhq0ABFm - aIXzEw2CI9gZJOSLh2Ob6GXH2x/RN0BpFsoj+rnDqh7fOKXRnPLLgX9AUOwNjbqf - AyWERb+6o9gsYrFKMJ58sjM8U8Fx1PUVY89sfAQTRbkfPtQy2ufjHuKBog3inWdU - x5eD6greM+9x - -----END CERTIFICATE----- - kind: ConfigMap - metadata: - annotations: - kubernetes.io/description: Contains a CA bundle that can be used to verify the - kube-apiserver when using internal endpoints such as the internal service - IP or kubernetes.default.svc. No other usage is guaranteed across distributions - of Kubernetes clusters. - creationTimestamp: "2026-05-31T21:33:22Z" - name: kube-root-ca.crt - namespace: overleaf - resourceVersion: "843" - uid: a3eb92ac-b555-4b9d-978d-0b9f165ec031 -- apiVersion: v1 - data: - mongodb-init-replica-set.js: | - rs.initiate({ _id: 'overleaf', members: [{ _id: 0, host: 'mongo:27017' }] }) - kind: ConfigMap - metadata: - annotations: - argocd.argoproj.io/tracking-id: overleaf:/ConfigMap:overleaf/mongo-init - kubectl.kubernetes.io/last-applied-configuration: | - {"apiVersion":"v1","data":{"mongodb-init-replica-set.js":"rs.initiate({ _id: 'overleaf', members: [{ _id: 0, host: 'mongo:27017' }] })\n"},"kind":"ConfigMap","metadata":{"annotations":{"argocd.argoproj.io/tracking-id":"overleaf:/ConfigMap:overleaf/mongo-init"},"labels":{"app":"mongo","app.kubernetes.io/managed-by":"Helm","helm.sh/chart":"overleaf-0.1.0"},"name":"mongo-init","namespace":"overleaf"}} - creationTimestamp: "2026-05-31T21:33:22Z" - labels: - app: mongo - app.kubernetes.io/managed-by: Helm - helm.sh/chart: overleaf-0.1.0 - name: mongo-init - namespace: overleaf - resourceVersion: "845" - uid: e20f7740-ad61-4188-b03f-95593b3107b0 -- apiVersion: v1 - data: - EMAIL_CONFIRMATION_DISABLED: "true" - EXTERNAL_AUTH: none - OVERLEAF_APP_NAME: kind Overleaf - OVERLEAF_MONGO_URL: mongodb://mongo/overleaf - OVERLEAF_PORT_80_TCP: "30080" - OVERLEAF_PORT_80_TCP_ADDR: "30081" - OVERLEAF_REDIS_HOST: redis - OVERLEAF_SERVICE_HOST: overleaf - REDIS_HOST: redis - REDIS_PORT: "6379" - kind: ConfigMap - metadata: - annotations: - argocd.argoproj.io/tracking-id: overleaf:/ConfigMap:overleaf/overleaf-variables - kubectl.kubernetes.io/last-applied-configuration: | - {"apiVersion":"v1","data":{"EMAIL_CONFIRMATION_DISABLED":"true","EXTERNAL_AUTH":"none","OVERLEAF_APP_NAME":"kind Overleaf","OVERLEAF_MONGO_URL":"mongodb://mongo/overleaf","OVERLEAF_PORT_80_TCP":"30080","OVERLEAF_PORT_80_TCP_ADDR":"30081","OVERLEAF_REDIS_HOST":"redis","OVERLEAF_SERVICE_HOST":"overleaf","REDIS_HOST":"redis","REDIS_PORT":"6379"},"kind":"ConfigMap","metadata":{"annotations":{"argocd.argoproj.io/tracking-id":"overleaf:/ConfigMap:overleaf/overleaf-variables"},"name":"overleaf-variables","namespace":"overleaf"}} - creationTimestamp: "2026-05-31T21:33:22Z" - name: overleaf-variables - namespace: overleaf - resourceVersion: "846" - uid: 328975dc-fec0-425f-9a8c-2ebf4173730d -kind: List -metadata: - resourceVersion: "" diff --git a/k8s/copies/dep.yml b/k8s/copies/dep.yml deleted file mode 100644 index a3beff9e3e..0000000000 --- a/k8s/copies/dep.yml +++ /dev/null @@ -1,335 +0,0 @@ -apiVersion: v1 -items: -- apiVersion: apps/v1 - kind: Deployment - metadata: - annotations: - argocd.argoproj.io/tracking-id: overleaf:apps/Deployment:overleaf/mongo - deployment.kubernetes.io/revision: "1" - kubectl.kubernetes.io/last-applied-configuration: | - {"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{"argocd.argoproj.io/tracking-id":"overleaf:apps/Deployment:overleaf/mongo"},"labels":{"app":"mongo","app.kubernetes.io/managed-by":"Helm","helm.sh/chart":"overleaf-0.1.0"},"name":"mongo","namespace":"overleaf"},"spec":{"replicas":1,"selector":{"matchLabels":{"app":"mongo"}},"template":{"metadata":{"labels":{"app":"mongo"}},"spec":{"containers":[{"args":["--replSet","overleaf","--bind_ip_all"],"command":["mongod"],"env":[{"name":"MONGO_INITDB_DATABASE","value":"overleaf"},{"name":"GLIBC_TUNABLES","value":"glibc.pthread.rseq=1"}],"image":"localhost:5001/overleaf/mongo:8.0","imagePullPolicy":"IfNotPresent","lifecycle":{"postStart":{"exec":{"command":["/bin/sh","-c","sleep 60; mongosh overleaf /docker-entrypoint-initdb.d/mongodb-init-replica-set.js || true"]}}},"livenessProbe":{"exec":{"command":["/bin/sh","-c","echo 'db.stats().ok' | mongosh localhost:27017/test --quiet"]},"failureThreshold":5,"initialDelaySeconds":30,"periodSeconds":10,"timeoutSeconds":10},"name":"mongo","ports":[{"containerPort":27017}],"readinessProbe":{"exec":{"command":["/bin/sh","-c","echo 'db.stats().ok' | mongosh localhost:27017/test --quiet"]},"failureThreshold":3,"initialDelaySeconds":15,"periodSeconds":10,"timeoutSeconds":5},"volumeMounts":[{"mountPath":"/data/db","name":"data"},{"mountPath":"/docker-entrypoint-initdb.d/mongodb-init-replica-set.js","name":"init-script","subPath":"mongodb-init-replica-set.js"}]}],"hostAliases":[{"hostnames":["mongo"],"ip":"127.0.0.1"}],"restartPolicy":"Always","volumes":[{"name":"data","persistentVolumeClaim":{"claimName":"mongo-data"}},{"configMap":{"name":"mongo-init"},"name":"init-script"}]}}}} - creationTimestamp: "2026-06-01T19:25:07Z" - generation: 1 - labels: - app: mongo - app.kubernetes.io/managed-by: Helm - helm.sh/chart: overleaf-0.1.0 - name: mongo - namespace: overleaf - resourceVersion: "7490" - uid: c03f67d4-4e98-43e5-8a72-057fe615cf99 - spec: - progressDeadlineSeconds: 600 - replicas: 1 - revisionHistoryLimit: 10 - selector: - matchLabels: - app: mongo - strategy: - rollingUpdate: - maxSurge: 25% - maxUnavailable: 25% - type: RollingUpdate - template: - metadata: - labels: - app: mongo - spec: - containers: - - args: - - --replSet - - overleaf - - --bind_ip_all - command: - - mongod - env: - - name: MONGO_INITDB_DATABASE - value: overleaf - - name: GLIBC_TUNABLES - value: glibc.pthread.rseq=1 - image: localhost:5001/overleaf/mongo:8.0 - imagePullPolicy: IfNotPresent - lifecycle: - postStart: - exec: - command: - - /bin/sh - - -c - - sleep 60; mongosh overleaf /docker-entrypoint-initdb.d/mongodb-init-replica-set.js - || true - livenessProbe: - exec: - command: - - /bin/sh - - -c - - echo 'db.stats().ok' | mongosh localhost:27017/test --quiet - failureThreshold: 5 - initialDelaySeconds: 30 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 10 - name: mongo - ports: - - containerPort: 27017 - protocol: TCP - readinessProbe: - exec: - command: - - /bin/sh - - -c - - echo 'db.stats().ok' | mongosh localhost:27017/test --quiet - failureThreshold: 3 - initialDelaySeconds: 15 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - resources: {} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /data/db - name: data - - mountPath: /docker-entrypoint-initdb.d/mongodb-init-replica-set.js - name: init-script - subPath: mongodb-init-replica-set.js - dnsPolicy: ClusterFirst - hostAliases: - - hostnames: - - mongo - ip: 127.0.0.1 - restartPolicy: Always - schedulerName: default-scheduler - securityContext: {} - terminationGracePeriodSeconds: 30 - volumes: - - name: data - persistentVolumeClaim: - claimName: mongo-data - - configMap: - defaultMode: 420 - name: mongo-init - name: init-script - status: - availableReplicas: 1 - conditions: - - lastTransitionTime: "2026-06-01T19:25:07Z" - lastUpdateTime: "2026-06-01T19:26:09Z" - message: ReplicaSet "mongo-84b6dfc9b4" has successfully progressed. - reason: NewReplicaSetAvailable - status: "True" - type: Progressing - - lastTransitionTime: "2026-06-01T19:38:32Z" - lastUpdateTime: "2026-06-01T19:38:32Z" - message: Deployment has minimum availability. - reason: MinimumReplicasAvailable - status: "True" - type: Available - observedGeneration: 1 - readyReplicas: 1 - replicas: 1 - terminatingReplicas: 0 - updatedReplicas: 1 -- apiVersion: apps/v1 - kind: Deployment - metadata: - annotations: - argocd.argoproj.io/tracking-id: overleaf:apps/Deployment:overleaf/overleaf - deployment.kubernetes.io/revision: "1" - kubectl.kubernetes.io/last-applied-configuration: | - {"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{"argocd.argoproj.io/tracking-id":"overleaf:apps/Deployment:overleaf/overleaf"},"labels":{"app":"overleaf","app.kubernetes.io/managed-by":"Helm","helm.sh/chart":"overleaf-0.1.0"},"name":"overleaf","namespace":"overleaf"},"spec":{"replicas":1,"selector":{"matchLabels":{"app":"overleaf"}},"strategy":{"type":"Recreate"},"template":{"metadata":{"labels":{"app":"overleaf"}},"spec":{"containers":[{"env":[{"name":"DOCKER_RUNNER","value":"false"},{"name":"EMAIL_CONFIRMATION_DISABLED","value":"true"},{"name":"EXTERNAL_AUTH","value":"none"},{"name":"OVERLEAF_APP_NAME","value":"Overleaf Community Edition"},{"name":"OVERLEAF_MONGO_URL","value":"mongodb://mongo.overleaf.svc.cluster.local/overleaf"},{"name":"OVERLEAF_REDIS_HOST","value":"redis"},{"name":"REDIS_HOST","value":"redis"},{"name":"REDIS_PORT","value":"tcp://redis:6379"},{"name":"SANDBOXED_COMPILES","value":"false"}],"envFrom":[{"configMapRef":{"name":"overleaf-variables"}}],"image":"localhost:5001/overleaf/overleaf:latest","imagePullPolicy":"Always","livenessProbe":{"failureThreshold":5,"httpGet":{"path":"/login","port":80},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":10},"name":"overleaf","ports":[{"containerPort":80}],"readinessProbe":{"failureThreshold":6,"httpGet":{"path":"/login","port":80},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":10},"resources":{"limits":{"cpu":"2000m","memory":"4Gi"},"requests":{"cpu":1,"memory":"1Gi"}},"volumeMounts":[{"mountPath":"/var/lib/overleaf","name":"data"}]}],"restartPolicy":"Always","terminationGracePeriodSeconds":60,"volumes":[{"name":"data","persistentVolumeClaim":{"claimName":"overleaf-data"}}]}}}} - creationTimestamp: "2026-05-31T21:33:22Z" - generation: 1 - labels: - app: overleaf - app.kubernetes.io/managed-by: Helm - helm.sh/chart: overleaf-0.1.0 - name: overleaf - namespace: overleaf - resourceVersion: "7521" - uid: 0c7c1e73-54e4-4cc5-bd25-05ef108e20e9 - spec: - progressDeadlineSeconds: 600 - replicas: 1 - revisionHistoryLimit: 10 - selector: - matchLabels: - app: overleaf - strategy: - type: Recreate - template: - metadata: - labels: - app: overleaf - spec: - containers: - - env: - - name: DOCKER_RUNNER - value: "false" - - name: EMAIL_CONFIRMATION_DISABLED - value: "true" - - name: EXTERNAL_AUTH - value: none - - name: OVERLEAF_APP_NAME - value: Overleaf Community Edition - - name: OVERLEAF_MONGO_URL - value: mongodb://mongo.overleaf.svc.cluster.local/overleaf - - name: OVERLEAF_REDIS_HOST - value: redis - - name: REDIS_HOST - value: redis - - name: REDIS_PORT - value: tcp://redis:6379 - - name: SANDBOXED_COMPILES - value: "false" - envFrom: - - configMapRef: - name: overleaf-variables - image: localhost:5001/overleaf/overleaf:latest - imagePullPolicy: Always - livenessProbe: - failureThreshold: 5 - httpGet: - path: /login - port: 80 - scheme: HTTP - initialDelaySeconds: 30 - periodSeconds: 30 - successThreshold: 1 - timeoutSeconds: 10 - name: overleaf - ports: - - containerPort: 80 - protocol: TCP - readinessProbe: - failureThreshold: 6 - httpGet: - path: /login - port: 80 - scheme: HTTP - initialDelaySeconds: 30 - periodSeconds: 30 - successThreshold: 1 - timeoutSeconds: 10 - resources: - limits: - cpu: "2" - memory: 4Gi - requests: - cpu: "1" - memory: 1Gi - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /var/lib/overleaf - name: data - dnsPolicy: ClusterFirst - restartPolicy: Always - schedulerName: default-scheduler - securityContext: {} - terminationGracePeriodSeconds: 60 - volumes: - - name: data - persistentVolumeClaim: - claimName: overleaf-data - status: - availableReplicas: 1 - conditions: - - lastTransitionTime: "2026-05-31T21:33:23Z" - lastUpdateTime: "2026-05-31T21:40:32Z" - message: ReplicaSet "overleaf-7f5f6759cb" has successfully progressed. - reason: NewReplicaSetAvailable - status: "True" - type: Progressing - - lastTransitionTime: "2026-06-01T19:38:52Z" - lastUpdateTime: "2026-06-01T19:38:52Z" - message: Deployment has minimum availability. - reason: MinimumReplicasAvailable - status: "True" - type: Available - observedGeneration: 1 - readyReplicas: 1 - replicas: 1 - terminatingReplicas: 0 - updatedReplicas: 1 -- apiVersion: apps/v1 - kind: Deployment - metadata: - annotations: - argocd.argoproj.io/tracking-id: overleaf:apps/Deployment:overleaf/redis - deployment.kubernetes.io/revision: "1" - kubectl.kubernetes.io/last-applied-configuration: | - {"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{"argocd.argoproj.io/tracking-id":"overleaf:apps/Deployment:overleaf/redis"},"labels":{"app":"redis","app.kubernetes.io/managed-by":"Helm","helm.sh/chart":"overleaf-0.1.0"},"name":"redis","namespace":"overleaf"},"spec":{"replicas":1,"selector":{"matchLabels":{"app":"redis"}},"strategy":{"type":"Recreate"},"template":{"metadata":{"labels":{"app":"redis"}},"spec":{"containers":[{"args":["--appendonly","yes"],"command":["redis-server"],"image":"localhost:5001/overleaf/redis:6.2","imagePullPolicy":"IfNotPresent","name":"redis","ports":[{"containerPort":6379}],"volumeMounts":[{"mountPath":"/data","name":"data"}]}],"restartPolicy":"Always","volumes":[{"name":"data","persistentVolumeClaim":{"claimName":"redis-data"}}]}}}} - creationTimestamp: "2026-05-31T21:33:23Z" - generation: 1 - labels: - app: redis - app.kubernetes.io/managed-by: Helm - helm.sh/chart: overleaf-0.1.0 - name: redis - namespace: overleaf - resourceVersion: "1641" - uid: 75fc2e27-18e6-460b-bd21-2503d3aa7ba8 - spec: - progressDeadlineSeconds: 600 - replicas: 1 - revisionHistoryLimit: 10 - selector: - matchLabels: - app: redis - strategy: - type: Recreate - template: - metadata: - labels: - app: redis - spec: - containers: - - args: - - --appendonly - - "yes" - command: - - redis-server - image: localhost:5001/overleaf/redis:6.2 - imagePullPolicy: IfNotPresent - name: redis - ports: - - containerPort: 6379 - protocol: TCP - resources: {} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /data - name: data - dnsPolicy: ClusterFirst - restartPolicy: Always - schedulerName: default-scheduler - securityContext: {} - terminationGracePeriodSeconds: 30 - volumes: - - name: data - persistentVolumeClaim: - claimName: redis-data - status: - availableReplicas: 1 - conditions: - - lastTransitionTime: "2026-05-31T21:39:08Z" - lastUpdateTime: "2026-05-31T21:39:08Z" - message: Deployment has minimum availability. - reason: MinimumReplicasAvailable - status: "True" - type: Available - - lastTransitionTime: "2026-05-31T21:33:23Z" - lastUpdateTime: "2026-05-31T21:39:08Z" - message: ReplicaSet "redis-6466bbc86f" has successfully progressed. - reason: NewReplicaSetAvailable - status: "True" - type: Progressing - observedGeneration: 1 - readyReplicas: 1 - replicas: 1 - terminatingReplicas: 0 - updatedReplicas: 1 -kind: List -metadata: - resourceVersion: "" diff --git a/k8s/copies/pods.yml b/k8s/copies/pods.yml deleted file mode 100644 index d1410eb5e4..0000000000 --- a/k8s/copies/pods.yml +++ /dev/null @@ -1,700 +0,0 @@ -apiVersion: v1 -items: -- apiVersion: v1 - kind: Pod - metadata: - annotations: - argocd.argoproj.io/tracking-id: overleaf:/Pod:overleaf/busybox-sleep - kubectl.kubernetes.io/last-applied-configuration: | - {"apiVersion":"v1","kind":"Pod","metadata":{"annotations":{"argocd.argoproj.io/tracking-id":"overleaf:/Pod:overleaf/busybox-sleep"},"name":"busybox-sleep","namespace":"overleaf"},"spec":{"containers":[{"args":["sleep","1000000"],"image":"busybox:1.28","name":"busybox"}]}} - creationTimestamp: "2026-05-31T21:33:22Z" - generation: 1 - name: busybox-sleep - namespace: overleaf - resourceVersion: "7201" - uid: df2e32e8-99d5-4d14-9387-fe4ad6ba416e - spec: - containers: - - args: - - sleep - - "1000000" - image: busybox:1.28 - imagePullPolicy: IfNotPresent - name: busybox - resources: {} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /var/run/secrets/kubernetes.io/serviceaccount - name: kube-api-access-b5mjl - readOnly: true - dnsPolicy: ClusterFirst - enableServiceLinks: true - nodeName: overleaf-control-plane - preemptionPolicy: PreemptLowerPriority - priority: 0 - restartPolicy: Always - schedulerName: default-scheduler - securityContext: {} - serviceAccount: default - serviceAccountName: default - terminationGracePeriodSeconds: 30 - tolerations: - - effect: NoExecute - key: node.kubernetes.io/not-ready - operator: Exists - tolerationSeconds: 300 - - effect: NoExecute - key: node.kubernetes.io/unreachable - operator: Exists - tolerationSeconds: 300 - volumes: - - name: kube-api-access-b5mjl - projected: - defaultMode: 420 - sources: - - serviceAccountToken: - expirationSeconds: 3607 - path: token - - configMap: - items: - - key: ca.crt - path: ca.crt - name: kube-root-ca.crt - - downwardAPI: - items: - - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - path: namespace - status: - conditions: - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:37:30Z" - observedGeneration: 1 - status: "True" - type: PodReadyToStartContainers - - lastProbeTime: null - lastTransitionTime: "2026-05-31T21:33:22Z" - observedGeneration: 1 - status: "True" - type: Initialized - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:37:30Z" - observedGeneration: 1 - status: "True" - type: Ready - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:37:30Z" - observedGeneration: 1 - status: "True" - type: ContainersReady - - lastProbeTime: null - lastTransitionTime: "2026-05-31T21:33:22Z" - observedGeneration: 1 - status: "True" - type: PodScheduled - containerStatuses: - - containerID: containerd://1142d00a3c5c7f63763ccfcc030b8a35b6eb6656017e3da1c42b24770b31410e - image: docker.io/library/busybox:1.28 - imageID: docker.io/library/busybox@sha256:141c253bc4c3fd0a201d32dc1f493bcf3fff003b6df416dea4f41046e0f37d47 - lastState: - terminated: - containerID: containerd://dede2119be82664c72d486cdcbaca7e557287ae3f3e04f40bea04c5e532d08fd - exitCode: 255 - finishedAt: "2026-06-01T19:37:26Z" - reason: Unknown - startedAt: "2026-06-01T19:32:14Z" - name: busybox - ready: true - resources: {} - restartCount: 3 - started: true - state: - running: - startedAt: "2026-06-01T19:37:30Z" - user: - linux: - gid: 0 - supplementalGroups: - - 0 - - 10 - uid: 0 - volumeMounts: - - mountPath: /var/run/secrets/kubernetes.io/serviceaccount - name: kube-api-access-b5mjl - readOnly: true - recursiveReadOnly: Disabled - hostIP: 10.89.0.2 - hostIPs: - - ip: 10.89.0.2 - observedGeneration: 1 - phase: Running - podIP: 10.244.0.2 - podIPs: - - ip: 10.244.0.2 - qosClass: BestEffort - startTime: "2026-05-31T21:33:22Z" -- apiVersion: v1 - kind: Pod - metadata: - creationTimestamp: "2026-06-01T19:25:07Z" - generateName: mongo-84b6dfc9b4- - generation: 1 - labels: - app: mongo - pod-template-hash: 84b6dfc9b4 - name: mongo-84b6dfc9b4-9k2j4 - namespace: overleaf - ownerReferences: - - apiVersion: apps/v1 - blockOwnerDeletion: true - controller: true - kind: ReplicaSet - name: mongo-84b6dfc9b4 - uid: 865ace0d-2a98-4a8a-906d-e61e92138bf6 - resourceVersion: "7486" - uid: 2b7a0ac0-aea4-4e78-8a12-f54b9c0df9af - spec: - containers: - - args: - - --replSet - - overleaf - - --bind_ip_all - command: - - mongod - env: - - name: MONGO_INITDB_DATABASE - value: overleaf - - name: GLIBC_TUNABLES - value: glibc.pthread.rseq=1 - image: localhost:5001/overleaf/mongo:8.0 - imagePullPolicy: IfNotPresent - lifecycle: - postStart: - exec: - command: - - /bin/sh - - -c - - sleep 60; mongosh overleaf /docker-entrypoint-initdb.d/mongodb-init-replica-set.js - || true - livenessProbe: - exec: - command: - - /bin/sh - - -c - - echo 'db.stats().ok' | mongosh localhost:27017/test --quiet - failureThreshold: 5 - initialDelaySeconds: 30 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 10 - name: mongo - ports: - - containerPort: 27017 - protocol: TCP - readinessProbe: - exec: - command: - - /bin/sh - - -c - - echo 'db.stats().ok' | mongosh localhost:27017/test --quiet - failureThreshold: 3 - initialDelaySeconds: 15 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 5 - resources: {} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /data/db - name: data - - mountPath: /docker-entrypoint-initdb.d/mongodb-init-replica-set.js - name: init-script - subPath: mongodb-init-replica-set.js - - mountPath: /var/run/secrets/kubernetes.io/serviceaccount - name: kube-api-access-ftgfx - readOnly: true - dnsPolicy: ClusterFirst - enableServiceLinks: true - hostAliases: - - hostnames: - - mongo - ip: 127.0.0.1 - nodeName: overleaf-control-plane - preemptionPolicy: PreemptLowerPriority - priority: 0 - restartPolicy: Always - schedulerName: default-scheduler - securityContext: {} - serviceAccount: default - serviceAccountName: default - terminationGracePeriodSeconds: 30 - tolerations: - - effect: NoExecute - key: node.kubernetes.io/not-ready - operator: Exists - tolerationSeconds: 300 - - effect: NoExecute - key: node.kubernetes.io/unreachable - operator: Exists - tolerationSeconds: 300 - volumes: - - name: data - persistentVolumeClaim: - claimName: mongo-data - - configMap: - defaultMode: 420 - name: mongo-init - name: init-script - - name: kube-api-access-ftgfx - projected: - defaultMode: 420 - sources: - - serviceAccountToken: - expirationSeconds: 3607 - path: token - - configMap: - items: - - key: ca.crt - path: ca.crt - name: kube-root-ca.crt - - downwardAPI: - items: - - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - path: namespace - status: - conditions: - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:38:31Z" - observedGeneration: 1 - status: "True" - type: PodReadyToStartContainers - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:25:07Z" - observedGeneration: 1 - status: "True" - type: Initialized - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:38:32Z" - observedGeneration: 1 - status: "True" - type: Ready - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:38:32Z" - observedGeneration: 1 - status: "True" - type: ContainersReady - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:25:07Z" - observedGeneration: 1 - status: "True" - type: PodScheduled - containerStatuses: - - containerID: containerd://be4472221c035c897de260c14c164f0201ec0459dbfdafb035c6d622d158b775 - image: localhost:5001/overleaf/mongo:8.0 - imageID: localhost:5001/overleaf/mongo@sha256:99d4ee4cc1d64439847c5016d4ea12d0e05d900bd773bc75912f199c0bde785a - lastState: - terminated: - containerID: containerd://e9beeca4fe29ead2a3a824d5891d026b675b97e3fdc25ca0d9b971f25b0a93ad - exitCode: 255 - finishedAt: "2026-06-01T19:37:26Z" - reason: Unknown - startedAt: "2026-06-01T19:32:14Z" - name: mongo - ready: true - resources: {} - restartCount: 2 - started: true - state: - running: - startedAt: "2026-06-01T19:37:30Z" - user: - linux: - gid: 0 - supplementalGroups: - - 0 - uid: 0 - volumeMounts: - - mountPath: /data/db - name: data - - mountPath: /docker-entrypoint-initdb.d/mongodb-init-replica-set.js - name: init-script - - mountPath: /var/run/secrets/kubernetes.io/serviceaccount - name: kube-api-access-ftgfx - readOnly: true - recursiveReadOnly: Disabled - hostIP: 10.89.0.2 - hostIPs: - - ip: 10.89.0.2 - observedGeneration: 1 - phase: Running - podIP: 10.244.0.12 - podIPs: - - ip: 10.244.0.12 - qosClass: BestEffort - startTime: "2026-06-01T19:25:07Z" -- apiVersion: v1 - kind: Pod - metadata: - creationTimestamp: "2026-06-01T19:27:18Z" - generateName: overleaf-7f5f6759cb- - generation: 1 - labels: - app: overleaf - pod-template-hash: 7f5f6759cb - name: overleaf-7f5f6759cb-7f4qz - namespace: overleaf - ownerReferences: - - apiVersion: apps/v1 - blockOwnerDeletion: true - controller: true - kind: ReplicaSet - name: overleaf-7f5f6759cb - uid: 064c6503-7625-4fd5-85e7-2a097d6d38f4 - resourceVersion: "7517" - uid: 26f14019-67a2-4912-a711-140871cfa4d0 - spec: - containers: - - env: - - name: DOCKER_RUNNER - value: "false" - - name: EMAIL_CONFIRMATION_DISABLED - value: "true" - - name: EXTERNAL_AUTH - value: none - - name: OVERLEAF_APP_NAME - value: Overleaf Community Edition - - name: OVERLEAF_MONGO_URL - value: mongodb://mongo.overleaf.svc.cluster.local/overleaf - - name: OVERLEAF_REDIS_HOST - value: redis - - name: REDIS_HOST - value: redis - - name: REDIS_PORT - value: tcp://redis:6379 - - name: SANDBOXED_COMPILES - value: "false" - envFrom: - - configMapRef: - name: overleaf-variables - image: localhost:5001/overleaf/overleaf:latest - imagePullPolicy: Always - livenessProbe: - failureThreshold: 5 - httpGet: - path: /login - port: 80 - scheme: HTTP - initialDelaySeconds: 30 - periodSeconds: 30 - successThreshold: 1 - timeoutSeconds: 10 - name: overleaf - ports: - - containerPort: 80 - protocol: TCP - readinessProbe: - failureThreshold: 6 - httpGet: - path: /login - port: 80 - scheme: HTTP - initialDelaySeconds: 30 - periodSeconds: 30 - successThreshold: 1 - timeoutSeconds: 10 - resources: - limits: - cpu: "2" - memory: 4Gi - requests: - cpu: "1" - memory: 1Gi - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /var/lib/overleaf - name: data - - mountPath: /var/run/secrets/kubernetes.io/serviceaccount - name: kube-api-access-vhx2n - readOnly: true - dnsPolicy: ClusterFirst - enableServiceLinks: true - nodeName: overleaf-control-plane - preemptionPolicy: PreemptLowerPriority - priority: 0 - restartPolicy: Always - schedulerName: default-scheduler - securityContext: {} - serviceAccount: default - serviceAccountName: default - terminationGracePeriodSeconds: 60 - tolerations: - - effect: NoExecute - key: node.kubernetes.io/not-ready - operator: Exists - tolerationSeconds: 300 - - effect: NoExecute - key: node.kubernetes.io/unreachable - operator: Exists - tolerationSeconds: 300 - volumes: - - name: data - persistentVolumeClaim: - claimName: overleaf-data - - name: kube-api-access-vhx2n - projected: - defaultMode: 420 - sources: - - serviceAccountToken: - expirationSeconds: 3607 - path: token - - configMap: - items: - - key: ca.crt - path: ca.crt - name: kube-root-ca.crt - - downwardAPI: - items: - - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - path: namespace - status: - conditions: - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:37:30Z" - observedGeneration: 1 - status: "True" - type: PodReadyToStartContainers - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:27:18Z" - observedGeneration: 1 - status: "True" - type: Initialized - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:38:52Z" - observedGeneration: 1 - status: "True" - type: Ready - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:38:52Z" - observedGeneration: 1 - status: "True" - type: ContainersReady - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:27:18Z" - observedGeneration: 1 - status: "True" - type: PodScheduled - containerStatuses: - - allocatedResources: - cpu: "1" - memory: 1Gi - containerID: containerd://78d118381c9dd21fff0a08345ed4195af47969a09db05d3fd2131c791a047131 - image: localhost:5001/overleaf/overleaf:latest - imageID: localhost:5001/overleaf/overleaf@sha256:2542ee85e4ef3c4c8c9877c8d81c2631dbfe9906dbac6e76e9ce5be9e6986428 - lastState: - terminated: - containerID: containerd://2599d05993c28514ac770e6e5b8508369d55b06b8ebe0b3219c0d356131c23d5 - exitCode: 255 - finishedAt: "2026-06-01T19:37:26Z" - reason: Unknown - startedAt: "2026-06-01T19:32:35Z" - name: overleaf - ready: true - resources: - limits: - cpu: "2" - memory: 4Gi - requests: - cpu: "1" - memory: 1Gi - restartCount: 2 - started: true - state: - running: - startedAt: "2026-06-01T19:37:48Z" - user: - linux: - gid: 0 - supplementalGroups: - - 0 - uid: 0 - volumeMounts: - - mountPath: /var/lib/overleaf - name: data - - mountPath: /var/run/secrets/kubernetes.io/serviceaccount - name: kube-api-access-vhx2n - readOnly: true - recursiveReadOnly: Disabled - hostIP: 10.89.0.2 - hostIPs: - - ip: 10.89.0.2 - observedGeneration: 1 - phase: Running - podIP: 10.244.0.14 - podIPs: - - ip: 10.244.0.14 - qosClass: Burstable - startTime: "2026-06-01T19:27:18Z" -- apiVersion: v1 - kind: Pod - metadata: - creationTimestamp: "2026-05-31T21:33:23Z" - generateName: redis-6466bbc86f- - generation: 1 - labels: - app: redis - pod-template-hash: 6466bbc86f - name: redis-6466bbc86f-bq56t - namespace: overleaf - ownerReferences: - - apiVersion: apps/v1 - blockOwnerDeletion: true - controller: true - kind: ReplicaSet - name: redis-6466bbc86f - uid: 9550c2a5-b898-459a-8b4b-e1cd566cabb4 - resourceVersion: "7204" - uid: 18eaf288-7d92-4d1c-91e6-1326b71dff06 - spec: - containers: - - args: - - --appendonly - - "yes" - command: - - redis-server - image: localhost:5001/overleaf/redis:6.2 - imagePullPolicy: IfNotPresent - name: redis - ports: - - containerPort: 6379 - protocol: TCP - resources: {} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /data - name: data - - mountPath: /var/run/secrets/kubernetes.io/serviceaccount - name: kube-api-access-fzvmv - readOnly: true - dnsPolicy: ClusterFirst - enableServiceLinks: true - nodeName: overleaf-control-plane - preemptionPolicy: PreemptLowerPriority - priority: 0 - restartPolicy: Always - schedulerName: default-scheduler - securityContext: {} - serviceAccount: default - serviceAccountName: default - terminationGracePeriodSeconds: 30 - tolerations: - - effect: NoExecute - key: node.kubernetes.io/not-ready - operator: Exists - tolerationSeconds: 300 - - effect: NoExecute - key: node.kubernetes.io/unreachable - operator: Exists - tolerationSeconds: 300 - volumes: - - name: data - persistentVolumeClaim: - claimName: redis-data - - name: kube-api-access-fzvmv - projected: - defaultMode: 420 - sources: - - serviceAccountToken: - expirationSeconds: 3607 - path: token - - configMap: - items: - - key: ca.crt - path: ca.crt - name: kube-root-ca.crt - - downwardAPI: - items: - - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - path: namespace - status: - conditions: - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:37:30Z" - observedGeneration: 1 - status: "True" - type: PodReadyToStartContainers - - lastProbeTime: null - lastTransitionTime: "2026-05-31T21:33:27Z" - observedGeneration: 1 - status: "True" - type: Initialized - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:37:30Z" - observedGeneration: 1 - status: "True" - type: Ready - - lastProbeTime: null - lastTransitionTime: "2026-06-01T19:37:30Z" - observedGeneration: 1 - status: "True" - type: ContainersReady - - lastProbeTime: null - lastTransitionTime: "2026-05-31T21:33:27Z" - observedGeneration: 1 - status: "True" - type: PodScheduled - containerStatuses: - - containerID: containerd://38ec171e2bdf64aefecdb098417f6dadaca60c4287f04cc13a4ead6b99f412d8 - image: localhost:5001/overleaf/redis:6.2 - imageID: localhost:5001/overleaf/redis@sha256:c30491f3143c61c179527cc66c8a942b9e1d1f8e75f6d879694bdb15c1553615 - lastState: - terminated: - containerID: containerd://3e04166dd203fcbfa17741900610b719719bfe56d053cbcc55ce05fe2a447bbd - exitCode: 255 - finishedAt: "2026-06-01T19:37:26Z" - reason: Unknown - startedAt: "2026-06-01T19:32:14Z" - name: redis - ready: true - resources: {} - restartCount: 3 - started: true - state: - running: - startedAt: "2026-06-01T19:37:30Z" - user: - linux: - gid: 0 - supplementalGroups: - - 0 - uid: 0 - volumeMounts: - - mountPath: /data - name: data - - mountPath: /var/run/secrets/kubernetes.io/serviceaccount - name: kube-api-access-fzvmv - readOnly: true - recursiveReadOnly: Disabled - hostIP: 10.89.0.2 - hostIPs: - - ip: 10.89.0.2 - observedGeneration: 1 - phase: Running - podIP: 10.244.0.15 - podIPs: - - ip: 10.244.0.15 - qosClass: BestEffort - startTime: "2026-05-31T21:33:27Z" -kind: List -metadata: - resourceVersion: "" diff --git a/k8s/copies/svcs.yml b/k8s/copies/svcs.yml deleted file mode 100644 index ba740e5cdb..0000000000 --- a/k8s/copies/svcs.yml +++ /dev/null @@ -1,112 +0,0 @@ -apiVersion: v1 -items: -- apiVersion: v1 - kind: Service - metadata: - annotations: - argocd.argoproj.io/tracking-id: overleaf:/Service:overleaf/mongo - kubectl.kubernetes.io/last-applied-configuration: | - {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"argocd.argoproj.io/tracking-id":"overleaf:/Service:overleaf/mongo"},"labels":{"app":"mongo","app.kubernetes.io/managed-by":"Helm","helm.sh/chart":"overleaf-0.1.0"},"name":"mongo","namespace":"overleaf"},"spec":{"ports":[{"name":"mongo","port":27017,"targetPort":27017}],"selector":{"app":"mongo"}}} - creationTimestamp: "2026-05-31T21:33:22Z" - labels: - app: mongo - app.kubernetes.io/managed-by: Helm - helm.sh/chart: overleaf-0.1.0 - name: mongo - namespace: overleaf - resourceVersion: "857" - uid: 834cd8be-3d59-40ca-9cc8-b0eab00ec5f8 - spec: - clusterIP: 10.96.234.168 - clusterIPs: - - 10.96.234.168 - internalTrafficPolicy: Cluster - ipFamilies: - - IPv4 - ipFamilyPolicy: SingleStack - ports: - - name: mongo - port: 27017 - protocol: TCP - targetPort: 27017 - selector: - app: mongo - sessionAffinity: None - type: ClusterIP - status: - loadBalancer: {} -- apiVersion: v1 - kind: Service - metadata: - annotations: - argocd.argoproj.io/tracking-id: overleaf:/Service:overleaf/overleaf - kubectl.kubernetes.io/last-applied-configuration: | - {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"argocd.argoproj.io/tracking-id":"overleaf:/Service:overleaf/overleaf"},"labels":{"app":"overleaf","app.kubernetes.io/managed-by":"Helm","helm.sh/chart":"overleaf-0.1.0"},"name":"overleaf","namespace":"overleaf"},"spec":{"externalTrafficPolicy":"Cluster","internalTrafficPolicy":"Cluster","ports":[{"name":"http","nodePort":30000,"port":80,"targetPort":80}],"selector":{"app":"overleaf"},"type":"NodePort"}} - creationTimestamp: "2026-05-31T21:33:22Z" - labels: - app: overleaf - app.kubernetes.io/managed-by: Helm - helm.sh/chart: overleaf-0.1.0 - name: overleaf - namespace: overleaf - resourceVersion: "866" - uid: 25d13b4a-c530-4260-83be-d2896e85a6b7 - spec: - clusterIP: 10.96.115.172 - clusterIPs: - - 10.96.115.172 - externalTrafficPolicy: Cluster - internalTrafficPolicy: Cluster - ipFamilies: - - IPv4 - ipFamilyPolicy: SingleStack - ports: - - name: http - nodePort: 30000 - port: 80 - protocol: TCP - targetPort: 80 - selector: - app: overleaf - sessionAffinity: None - type: NodePort - status: - loadBalancer: {} -- apiVersion: v1 - kind: Service - metadata: - annotations: - argocd.argoproj.io/tracking-id: overleaf:/Service:overleaf/redis - kubectl.kubernetes.io/last-applied-configuration: | - {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"argocd.argoproj.io/tracking-id":"overleaf:/Service:overleaf/redis"},"labels":{"app":"redis","app.kubernetes.io/managed-by":"Helm","helm.sh/chart":"overleaf-0.1.0"},"name":"redis","namespace":"overleaf"},"spec":{"ports":[{"name":"redis","port":6379,"targetPort":6379}],"selector":{"app":"redis"}}} - creationTimestamp: "2026-05-31T21:33:22Z" - labels: - app: redis - app.kubernetes.io/managed-by: Helm - helm.sh/chart: overleaf-0.1.0 - name: redis - namespace: overleaf - resourceVersion: "861" - uid: bad10e52-6e7a-44f8-9390-d9eef417bef7 - spec: - clusterIP: 10.96.194.245 - clusterIPs: - - 10.96.194.245 - internalTrafficPolicy: Cluster - ipFamilies: - - IPv4 - ipFamilyPolicy: SingleStack - ports: - - name: redis - port: 6379 - protocol: TCP - targetPort: 6379 - selector: - app: redis - sessionAffinity: None - type: ClusterIP - status: - loadBalancer: {} -kind: List -metadata: - resourceVersion: ""