From f946644cebb94bb62646cce6fcf3900fe71e2bea Mon Sep 17 00:00:00 2001 From: Klas Mellbourn Date: Sun, 26 Jun 2022 20:40:36 +0200 Subject: Add kubernetes instructions and manifests (#427) * add kubernetes instructions * minor wording improvements * better password instructions * add information about changed port * improved grammar * Separate docker and k8s docs Add k8s folder for kubernetes configs --- k8s/atuin.yaml | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++++ k8s/namespaces.yaml | 6 +++ k8s/secrets.yaml | 13 +++++ 3 files changed, 159 insertions(+) create mode 100644 k8s/atuin.yaml create mode 100644 k8s/namespaces.yaml create mode 100644 k8s/secrets.yaml (limited to 'k8s') diff --git a/k8s/atuin.yaml b/k8s/atuin.yaml new file mode 100644 index 00000000..b4df0b21 --- /dev/null +++ b/k8s/atuin.yaml @@ -0,0 +1,140 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: atuin +spec: + replicas: 1 + selector: + matchLabels: + io.kompose.service: atuin + template: + metadata: + labels: + io.kompose.service: atuin + spec: + containers: + - args: + - server + - start + env: + - name: ATUIN_DB_URI + valueFrom: + secretKeyRef: + name: atuin-secrets + key: ATUIN_DB_URI + optional: false + - name: ATUIN_HOST + value: 0.0.0.0 + - name: ATUIN_PORT + value: "8888" + - name: ATUIN_OPEN_REGISTRATION + value: "true" + image: ghcr.io/ellie/atuin:main + name: atuin + ports: + - containerPort: 8888 + resources: + limits: + cpu: 250m + memory: 1Gi + requests: + cpu: 250m + memory: 1Gi + volumeMounts: + - mountPath: /config + name: atuin-claim0 + - name: postgresql + image: postgres:14 + ports: + - containerPort: 5432 + env: + - name: POSTGRES_DB + value: atuin + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: atuin-secrets + key: ATUIN_DB_PASSWORD + optional: false + - name: POSTGRES_USER + valueFrom: + secretKeyRef: + name: atuin-secrets + key: ATUIN_DB_USERNAME + optional: false + resources: + limits: + cpu: 250m + memory: 1Gi + requests: + cpu: 250m + memory: 1Gi + volumeMounts: + - mountPath: /var/lib/postgresql/data/ + name: database + volumes: + - name: database + persistentVolumeClaim: + claimName: database + - name: atuin-claim0 + persistentVolumeClaim: + claimName: atuin-claim0 +--- +apiVersion: v1 +kind: Service +metadata: + labels: + io.kompose.service: atuin + name: atuin +spec: + type: NodePort + ports: + - name: "8888" + port: 8888 + nodePort: 31929 + selector: + io.kompose.service: atuin +--- +kind: PersistentVolume +apiVersion: v1 +metadata: + name: database-pv + labels: + app: database + type: local +spec: + storageClassName: manual + capacity: + storage: 300Mi + accessModes: + - ReadWriteOnce + hostPath: + path: "/Users/firstname.lastname/.kube/database" +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + io.kompose.service: database + name: database +spec: + storageClassName: manual + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 300Mi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + io.kompose.service: atuin-claim0 + name: atuin-claim0 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Mi diff --git a/k8s/namespaces.yaml b/k8s/namespaces.yaml new file mode 100644 index 00000000..20a401f6 --- /dev/null +++ b/k8s/namespaces.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: atuin-namespace + labels: + name: atuin diff --git a/k8s/secrets.yaml b/k8s/secrets.yaml new file mode 100644 index 00000000..d6391fad --- /dev/null +++ b/k8s/secrets.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Secret +metadata: + name: atuin-secrets +type: Opaque +stringData: + ATUIN_DB_USERNAME: atuin + ATUIN_DB_PASSWORD: seriously-insecure + ATUIN_HOST: "127.0.0.1" + ATUIN_PORT: "8888" + ATUIN_OPEN_REGISTRATION: "true" + ATUIN_DB_URI: "postgres://atuin:seriously-insecure@localhost/atuin" +immutable: true -- cgit v1.3.1