aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/namespaces/default/bitwarden
diff options
context:
space:
mode:
authorGravatar Chris Lovering <[email protected]>2023-08-13 20:01:42 +0100
committerGravatar Chris Lovering <[email protected]>2023-08-14 11:44:03 +0100
commit661f49409e69f5cfafbef4cd41411a72ebc5418d (patch)
tree9ddd7f2a2ab09cadc5b716be00628e19d839ad4d /kubernetes/namespaces/default/bitwarden
parentAllow multiple documents within yaml files (diff)
Copy all files from kubernetes repo into this one
This commit is a like-for-like copy of the [kubernetes repo](https://github.com/python-discord/kubernetes) check that repo for comit history prioir to this commit. Co-authored-by: Amrou Bellalouna <[email protected]> Co-authored-by: Bradley Reynolds <[email protected]> Co-authored-by: Chris <[email protected]> Co-authored-by: Chris Lovering <[email protected]> Co-authored-by: ChrisJL <[email protected]> Co-authored-by: Den4200 <[email protected]> Co-authored-by: GDWR <[email protected]> Co-authored-by: Hassan Abouelela <[email protected]> Co-authored-by: Hassan Abouelela <[email protected]> Co-authored-by: jchristgit <[email protected]> Co-authored-by: Joe Banks <[email protected]> Co-authored-by: Joe Banks <[email protected]> Co-authored-by: Joe Banks <[email protected]> Co-authored-by: Johannes Christ <[email protected]> Co-authored-by: Kieran Siek <[email protected]> Co-authored-by: kosayoda <[email protected]> Co-authored-by: ks129 <[email protected]> Co-authored-by: Leon Sand├©y <[email protected]> Co-authored-by: Leon Sand├©y <[email protected]> Co-authored-by: MarkKoz <[email protected]> Co-authored-by: Matteo Bertucci <[email protected]> Co-authored-by: Sebastiaan Zeeff <[email protected]> Co-authored-by: Sebastiaan Zeeff <[email protected]> Co-authored-by: vcokltfre <[email protected]>
Diffstat (limited to 'kubernetes/namespaces/default/bitwarden')
-rw-r--r--kubernetes/namespaces/default/bitwarden/README.md14
-rw-r--r--kubernetes/namespaces/default/bitwarden/configmap.yaml23
-rw-r--r--kubernetes/namespaces/default/bitwarden/deployment.yaml34
-rw-r--r--kubernetes/namespaces/default/bitwarden/ingress.yaml24
-rw-r--r--kubernetes/namespaces/default/bitwarden/secrets.yamlbin0 -> 345 bytes
-rw-r--r--kubernetes/namespaces/default/bitwarden/service.yaml9
6 files changed, 104 insertions, 0 deletions
diff --git a/kubernetes/namespaces/default/bitwarden/README.md b/kubernetes/namespaces/default/bitwarden/README.md
new file mode 100644
index 0000000..37f01eb
--- /dev/null
+++ b/kubernetes/namespaces/default/bitwarden/README.md
@@ -0,0 +1,14 @@
+# BitWarden
+
+Our internal password manager, used by the admins to share passwords for our services. Hosted at https://bitwarden.pythondiscord.com
+
+To deploy this, first set up the secrets (see below) and then run `kubectl apply -f .` in this folder.
+
+## Secrets
+This deployment expects a few secrets to exist in a secret called `bitwarden-secret-env`.
+
+
+| Environment | Description |
+|-----------------------|-------------------------------------------|
+| ADMIN_TOKEN | 64-character token used for initial login |
+| DATABASE_URL | Database string: host://user:pass/db |
diff --git a/kubernetes/namespaces/default/bitwarden/configmap.yaml b/kubernetes/namespaces/default/bitwarden/configmap.yaml
new file mode 100644
index 0000000..c758f5d
--- /dev/null
+++ b/kubernetes/namespaces/default/bitwarden/configmap.yaml
@@ -0,0 +1,23 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: bitwarden-config-env
+data:
+ # Domain to access bitwarden by
+ DOMAIN: "https://bitwarden.pythondiscord.com"
+
+ # Password hint must be sent to an email when this is false.
+ # When it's true, it'll be shown right on the page.
+ SHOW_PASSWORD_HINT: "false"
+
+ # Admins only, please!
+ SIGNUPS_ALLOWED: "false"
+
+ # Used for LiveSync
+ WEBSOCKET_ENABLED: "true"
+
+ # Max conns to the DB
+ DATABASE_MAX_CONNS: "2"
+
+ # Force bitwarden to use postgres, rather than it's own volume
+ I_REALLY_WANT_VOLATILE_STORAGE: "true"
diff --git a/kubernetes/namespaces/default/bitwarden/deployment.yaml b/kubernetes/namespaces/default/bitwarden/deployment.yaml
new file mode 100644
index 0000000..70a22ce
--- /dev/null
+++ b/kubernetes/namespaces/default/bitwarden/deployment.yaml
@@ -0,0 +1,34 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: bitwarden
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: bitwarden
+ template:
+ metadata:
+ labels:
+ app: bitwarden
+ spec:
+ containers:
+ - name: bitwarden
+ image: vaultwarden/server:latest
+ imagePullPolicy: Always
+ resources:
+ requests:
+ cpu: 1m
+ memory: 50Mi
+ limits:
+ cpu: 50m
+ memory: 100Mi
+ ports:
+ - containerPort: 80
+ envFrom:
+ - secretRef:
+ name: bitwarden-secret-env
+ - configMapRef:
+ name: bitwarden-config-env
+ securityContext:
+ readOnlyRootFilesystem: true
diff --git a/kubernetes/namespaces/default/bitwarden/ingress.yaml b/kubernetes/namespaces/default/bitwarden/ingress.yaml
new file mode 100644
index 0000000..d0371f6
--- /dev/null
+++ b/kubernetes/namespaces/default/bitwarden/ingress.yaml
@@ -0,0 +1,24 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ annotations:
+ nginx.ingress.kubernetes.io/auth-tls-verify-client: "on"
+ nginx.ingress.kubernetes.io/auth-tls-secret: "kube-system/mtls-client-crt-bundle"
+ nginx.ingress.kubernetes.io/auth-tls-error-page: "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
+ name: bitwarden
+spec:
+ tls:
+ - hosts:
+ - "*.pythondiscord.com"
+ secretName: pythondiscord.com-tls
+ rules:
+ - host: bitwarden.pythondiscord.com
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: bitwarden
+ port:
+ number: 80
diff --git a/kubernetes/namespaces/default/bitwarden/secrets.yaml b/kubernetes/namespaces/default/bitwarden/secrets.yaml
new file mode 100644
index 0000000..34cfd7a
--- /dev/null
+++ b/kubernetes/namespaces/default/bitwarden/secrets.yaml
Binary files differ
diff --git a/kubernetes/namespaces/default/bitwarden/service.yaml b/kubernetes/namespaces/default/bitwarden/service.yaml
new file mode 100644
index 0000000..3df8cc2
--- /dev/null
+++ b/kubernetes/namespaces/default/bitwarden/service.yaml
@@ -0,0 +1,9 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: bitwarden
+spec:
+ ports:
+ - port: 80
+ selector:
+ app: bitwarden