1548 lines
43 KiB
YAML
1548 lines
43 KiB
YAML
---
|
|
# Source: self-host/templates/pre-install-secret-keys.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: release-name-self-host-secretkeys
|
|
namespace: default
|
|
data:
|
|
globalSettings__internalIdentityKey: "aUZ3STVRREJ0MDBSSHpRUHVCV0RHWmM0ODBib0RNR3BOdUxPME1HcXlWMHQxTGI3MGdLVlZLdUlkOExhNzhTSA=="
|
|
globalSettings__oidcIdentityClientKey: "UkdmcVR1TlZDNUZ5VjU5SXgyUjhQaTZFSFg3THlCa1hFSHdqZU9MblBRVXBVWDI1NXNGZWlJUmMzQlFlSHFBNQ=="
|
|
globalSettings__duo__aKey: "YTBhYmxyQ3JiQzZMUTJxdGE5UjZ2VHpIbkJ3VjExWmNJRW9TdXlpVllURzRjVDhyMTdydExoQ2xPZEc0c3lXTg=="
|
|
---
|
|
# Source: self-host/templates/volumes.yaml
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
namespace: default
|
|
name: release-name-self-host-dataprotection
|
|
labels:
|
|
app.kubernetes.io/component: dataprotection
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteMany
|
|
storageClassName: shared-storage
|
|
resources:
|
|
requests:
|
|
storage: 1Gi
|
|
---
|
|
# Source: self-host/templates/volumes.yaml
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
namespace: default
|
|
name: release-name-self-host-licenses
|
|
labels:
|
|
app.kubernetes.io/component: licenses
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteMany
|
|
storageClassName: shared-storage
|
|
resources:
|
|
requests:
|
|
storage: 1Gi
|
|
---
|
|
# Source: self-host/templates/volumes.yaml
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
namespace: default
|
|
name: release-name-self-host-attachments
|
|
labels:
|
|
app.kubernetes.io/component: attachments
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteMany
|
|
storageClassName: shared-storage
|
|
resources:
|
|
requests:
|
|
storage: 1Gi
|
|
|
|
#################
|
|
# MSSQL Volumes #
|
|
#################
|
|
---
|
|
# Source: self-host/templates/volumes.yaml
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
namespace: default
|
|
name: release-name-self-host-mssqllog
|
|
labels:
|
|
app.kubernetes.io/component: mssql-log
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteMany
|
|
storageClassName: shared-storage
|
|
resources:
|
|
requests:
|
|
storage: 10Gi
|
|
---
|
|
# Source: self-host/templates/volumes.yaml
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
namespace: default
|
|
name: release-name-self-host-mssqlbackups
|
|
labels:
|
|
app.kubernetes.io/component: mssql-backups
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteMany
|
|
storageClassName: shared-storage
|
|
resources:
|
|
requests:
|
|
storage: 1Gi
|
|
---
|
|
# Source: self-host/templates/volumes.yaml
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
namespace: default
|
|
name: release-name-self-host-mssqldata
|
|
labels:
|
|
app.kubernetes.io/component: mssql-data
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteMany
|
|
storageClassName: shared-storage
|
|
resources:
|
|
requests:
|
|
storage: 10Gi
|
|
---
|
|
# Source: self-host/templates/admin.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: release-name-self-host-admin
|
|
namespace: default
|
|
labels:
|
|
app.kubernetes.io/component: admin
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
selector:
|
|
app: release-name-self-host-admin
|
|
ports:
|
|
- port: 5000
|
|
targetPort: 5000
|
|
---
|
|
# Source: self-host/templates/api.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: release-name-self-host-api
|
|
namespace: default
|
|
labels:
|
|
app.kubernetes.io/component: api
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
selector:
|
|
app: release-name-self-host-api
|
|
ports:
|
|
- port: 5000
|
|
targetPort: 5000
|
|
---
|
|
# Source: self-host/templates/attachments.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: release-name-self-host-attachments
|
|
namespace: default
|
|
labels:
|
|
app.kubernetes.io/component: attachments
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
selector:
|
|
app: release-name-self-host-attachments
|
|
ports:
|
|
- port: 5000
|
|
targetPort: 5000
|
|
---
|
|
# Source: self-host/templates/events.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: release-name-self-host-events
|
|
namespace: default
|
|
labels:
|
|
app.kubernetes.io/component: events
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
selector:
|
|
app: release-name-self-host-events
|
|
ports:
|
|
- port: 5000
|
|
targetPort: 5000
|
|
---
|
|
# Source: self-host/templates/icons.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: release-name-self-host-icons
|
|
namespace: default
|
|
labels:
|
|
app.kubernetes.io/component: icons
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
selector:
|
|
app: release-name-self-host-icons
|
|
ports:
|
|
- port: 5000
|
|
targetPort: 5000
|
|
---
|
|
# Source: self-host/templates/identity.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: release-name-self-host-identity
|
|
namespace: default
|
|
labels:
|
|
app.kubernetes.io/component: identity
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
selector:
|
|
app: release-name-self-host-identity
|
|
ports:
|
|
- port: 5000
|
|
targetPort: 5000
|
|
---
|
|
# Source: self-host/templates/mssql.yaml
|
|
kind: Service
|
|
apiVersion: v1
|
|
metadata:
|
|
name: release-name-self-host-mssql
|
|
labels:
|
|
app.kubernetes.io/component: mssql
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- name: http-port
|
|
port: 1433
|
|
targetPort: 1433
|
|
selector:
|
|
app: release-name-self-host-mssql
|
|
---
|
|
# Source: self-host/templates/notifications.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: release-name-self-host-notifications
|
|
namespace: default
|
|
labels:
|
|
app.kubernetes.io/component: notifications
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
selector:
|
|
app: release-name-self-host-notifications
|
|
ports:
|
|
- port: 5000
|
|
targetPort: 5000
|
|
---
|
|
# Source: self-host/templates/sso.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: release-name-self-host-sso
|
|
namespace: default
|
|
labels:
|
|
app.kubernetes.io/component: sso
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
selector:
|
|
app: release-name-self-host-sso
|
|
ports:
|
|
- port: 5000
|
|
targetPort: 5000
|
|
---
|
|
# Source: self-host/templates/web.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: release-name-self-host-web
|
|
namespace: default
|
|
labels:
|
|
app.kubernetes.io/component: web
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
selector:
|
|
app: release-name-self-host-web
|
|
ports:
|
|
- port: 5000
|
|
targetPort: 5000
|
|
---
|
|
# Source: self-host/templates/admin.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: release-name-self-host-admin
|
|
namespace: default
|
|
labels:
|
|
app.kubernetes.io/component: admin
|
|
app: release-name-self-host-admin
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: "RollingUpdate"
|
|
selector:
|
|
matchLabels:
|
|
app: release-name-self-host-admin
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: admin
|
|
app: release-name-self-host-admin
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
containers:
|
|
- name: release-name-self-host-admin
|
|
image: "bitwarden/admin:2024.2.3"
|
|
envFrom:
|
|
- configMapRef:
|
|
name: release-name-config-map
|
|
- secretRef:
|
|
name: "custom-secret"
|
|
- secretRef:
|
|
name: release-name-self-host-secretkeys
|
|
- secretRef:
|
|
name: release-name-sql-connection-string
|
|
env:
|
|
- name: ASPNETCORE_URLS
|
|
value: http://+:5000
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /alive
|
|
port: 5000
|
|
initialDelaySeconds: 180
|
|
ports:
|
|
- containerPort: 5000
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
volumeMounts:
|
|
- name: dataprotection
|
|
mountPath: /etc/bitwarden/core/aspnet-dataprotection
|
|
- name: licenses
|
|
mountPath: /etc/bitwarden/core/licenses
|
|
securityContext:
|
|
null
|
|
volumes:
|
|
- name: dataprotection
|
|
persistentVolumeClaim:
|
|
claimName: release-name-self-host-dataprotection
|
|
- name: licenses
|
|
persistentVolumeClaim:
|
|
claimName: release-name-self-host-licenses
|
|
---
|
|
# Source: self-host/templates/api.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: release-name-self-host-api
|
|
namespace: default
|
|
labels:
|
|
app: release-name-self-host-api
|
|
app.kubernetes.io/component: api
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: "RollingUpdate"
|
|
selector:
|
|
matchLabels:
|
|
app: release-name-self-host-api
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: release-name-self-host-api
|
|
app.kubernetes.io/component: api
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
containers:
|
|
- name: release-name-self-host-api
|
|
image: "bitwarden/api:2024.2.3"
|
|
envFrom:
|
|
- configMapRef:
|
|
name: release-name-config-map
|
|
- secretRef:
|
|
name: "custom-secret"
|
|
- secretRef:
|
|
name: release-name-self-host-secretkeys
|
|
- secretRef:
|
|
name: release-name-sql-connection-string
|
|
env:
|
|
- name: ASPNETCORE_URLS
|
|
value: http://+:5000
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /alive
|
|
port: 5000
|
|
initialDelaySeconds: 180
|
|
ports:
|
|
- containerPort: 5000
|
|
resources:
|
|
limits:
|
|
cpu: 200m
|
|
memory: 256Mi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
volumeMounts:
|
|
- name: attachments
|
|
mountPath: /etc/bitwarden/core/attachments
|
|
- name: dataprotection
|
|
mountPath: /etc/bitwarden/core/aspnet-dataprotection
|
|
- name: licenses
|
|
mountPath: /etc/bitwarden/core/licenses
|
|
securityContext:
|
|
null
|
|
volumes:
|
|
- name: dataprotection
|
|
persistentVolumeClaim:
|
|
claimName: release-name-self-host-dataprotection
|
|
- name: attachments
|
|
persistentVolumeClaim:
|
|
claimName: release-name-self-host-attachments
|
|
- name: licenses
|
|
persistentVolumeClaim:
|
|
claimName: release-name-self-host-licenses
|
|
---
|
|
# Source: self-host/templates/attachments.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: release-name-self-host-attachments
|
|
namespace: default
|
|
labels:
|
|
app: release-name-self-host-attachments
|
|
app.kubernetes.io/component: attachments
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: "RollingUpdate"
|
|
selector:
|
|
matchLabels:
|
|
app: release-name-self-host-attachments
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: release-name-self-host-attachments
|
|
app.kubernetes.io/component: attachments
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
containers:
|
|
- name: release-name-self-host-attachments
|
|
image: "bitwarden/attachments:2024.2.3"
|
|
envFrom:
|
|
- configMapRef:
|
|
name: release-name-config-map
|
|
- secretRef:
|
|
name: "custom-secret"
|
|
- secretRef:
|
|
name: release-name-self-host-secretkeys
|
|
- secretRef:
|
|
name: release-name-sql-connection-string
|
|
env:
|
|
- name: ASPNETCORE_URLS
|
|
value: http://+:5000
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /alive
|
|
port: 5000
|
|
initialDelaySeconds: 180
|
|
ports:
|
|
- containerPort: 5000
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
volumeMounts:
|
|
- name: attachments
|
|
mountPath: /etc/bitwarden/core/attachments
|
|
securityContext:
|
|
null
|
|
volumes:
|
|
- name: attachments
|
|
persistentVolumeClaim:
|
|
claimName: release-name-self-host-attachments
|
|
---
|
|
# Source: self-host/templates/events.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: release-name-self-host-events
|
|
namespace: default
|
|
labels:
|
|
app: release-name-self-host-events
|
|
app.kubernetes.io/component: events
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: "RollingUpdate"
|
|
selector:
|
|
matchLabels:
|
|
app: release-name-self-host-events
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: release-name-self-host-events
|
|
app.kubernetes.io/component: events
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
containers:
|
|
- name: release-name-self-host-events
|
|
image: "bitwarden/events:2024.2.3"
|
|
envFrom:
|
|
- configMapRef:
|
|
name: release-name-config-map
|
|
- secretRef:
|
|
name: "custom-secret"
|
|
- secretRef:
|
|
name: release-name-self-host-secretkeys
|
|
- secretRef:
|
|
name: release-name-sql-connection-string
|
|
env:
|
|
- name: ASPNETCORE_URLS
|
|
value: http://+:5000
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /alive
|
|
port: 5000
|
|
initialDelaySeconds: 180
|
|
ports:
|
|
- containerPort: 5000
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
volumeMounts:
|
|
securityContext:
|
|
null
|
|
volumes:
|
|
---
|
|
# Source: self-host/templates/icons.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: release-name-self-host-icons
|
|
namespace: default
|
|
labels:
|
|
app: release-name-self-host-icons
|
|
app.kubernetes.io/component: icons
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: "RollingUpdate"
|
|
selector:
|
|
matchLabels:
|
|
app: release-name-self-host-icons
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: release-name-self-host-icons
|
|
app.kubernetes.io/component: icons
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
containers:
|
|
- name: release-name-self-host-icons
|
|
image: "bitwarden/icons:2024.2.3"
|
|
envFrom:
|
|
- configMapRef:
|
|
name: release-name-config-map
|
|
- secretRef:
|
|
name: "custom-secret"
|
|
- secretRef:
|
|
name: release-name-self-host-secretkeys
|
|
- secretRef:
|
|
name: release-name-sql-connection-string
|
|
env:
|
|
- name: ASPNETCORE_URLS
|
|
value: http://+:5000
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /alive
|
|
port: 5000
|
|
initialDelaySeconds: 180
|
|
ports:
|
|
- containerPort: 5000
|
|
volumeMounts:
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
securityContext:
|
|
null
|
|
volumes:
|
|
---
|
|
# Source: self-host/templates/identity.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: release-name-self-host-identity
|
|
namespace: default
|
|
labels:
|
|
app: release-name-self-host-identity
|
|
app.kubernetes.io/component: identity
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: "RollingUpdate"
|
|
selector:
|
|
matchLabels:
|
|
app: release-name-self-host-identity
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: release-name-self-host-identity
|
|
app.kubernetes.io/component: identity
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
containers:
|
|
- name: release-name-self-host-identity
|
|
image: "bitwarden/identity:2024.2.3"
|
|
envFrom:
|
|
- configMapRef:
|
|
name: release-name-config-map
|
|
- secretRef:
|
|
name: "custom-secret"
|
|
- secretRef:
|
|
name: release-name-self-host-secretkeys
|
|
- secretRef:
|
|
name: release-name-sql-connection-string
|
|
- secretRef:
|
|
name: release-name-identity-cert-password
|
|
env:
|
|
- name: ASPNETCORE_URLS
|
|
value: http://+:5000
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /alive
|
|
port: 5000
|
|
initialDelaySeconds: 180
|
|
ports:
|
|
- containerPort: 5000
|
|
resources:
|
|
limits:
|
|
cpu: 200m
|
|
memory: 256Mi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
volumeMounts:
|
|
- name: identity
|
|
mountPath: /etc/bitwarden/identity
|
|
- name: dataprotection
|
|
mountPath: /etc/bitwarden/core/aspnet-dataprotection
|
|
- name: licenses
|
|
mountPath: /etc/bitwarden/core/licenses
|
|
securityContext:
|
|
null
|
|
volumes:
|
|
- name: identity
|
|
secret:
|
|
secretName: release-name-identity-cert
|
|
- name: dataprotection
|
|
persistentVolumeClaim:
|
|
claimName: release-name-self-host-dataprotection
|
|
- name: licenses
|
|
persistentVolumeClaim:
|
|
claimName: release-name-self-host-licenses
|
|
---
|
|
# Source: self-host/templates/notifications.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: release-name-self-host-notifications
|
|
namespace: default
|
|
labels:
|
|
app: release-name-self-host-notifications
|
|
app.kubernetes.io/component: notifications
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: "RollingUpdate"
|
|
selector:
|
|
matchLabels:
|
|
app: release-name-self-host-notifications
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: release-name-self-host-notifications
|
|
app.kubernetes.io/component: notifications
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
containers:
|
|
- name: release-name-self-host-notifications
|
|
image: "bitwarden/notifications:2024.2.3"
|
|
envFrom:
|
|
- configMapRef:
|
|
name: release-name-config-map
|
|
- secretRef:
|
|
name: "custom-secret"
|
|
- secretRef:
|
|
name: release-name-self-host-secretkeys
|
|
- secretRef:
|
|
name: release-name-sql-connection-string
|
|
env:
|
|
- name: ASPNETCORE_URLS
|
|
value: http://+:5000
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /alive
|
|
port: 5000
|
|
initialDelaySeconds: 180
|
|
ports:
|
|
- containerPort: 5000
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
volumeMounts:
|
|
securityContext:
|
|
null
|
|
volumes:
|
|
---
|
|
# Source: self-host/templates/sso.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: release-name-self-host-sso
|
|
namespace: default
|
|
labels:
|
|
app: release-name-self-host-sso
|
|
app.kubernetes.io/component: sso
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: "RollingUpdate"
|
|
selector:
|
|
matchLabels:
|
|
app: release-name-self-host-sso
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: release-name-self-host-sso
|
|
app.kubernetes.io/component: sso
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
containers:
|
|
- name: release-name-self-host-sso
|
|
image: "bitwarden/sso:2024.2.3"
|
|
envFrom:
|
|
- configMapRef:
|
|
name: release-name-config-map
|
|
- secretRef:
|
|
name: "custom-secret"
|
|
- secretRef:
|
|
name: release-name-self-host-secretkeys
|
|
- secretRef:
|
|
name: release-name-identity-cert-password
|
|
- secretRef:
|
|
name: release-name-sql-connection-string
|
|
env:
|
|
- name: ASPNETCORE_URLS
|
|
value: http://+:5000
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /alive
|
|
port: 5000
|
|
initialDelaySeconds: 180
|
|
ports:
|
|
- containerPort: 5000
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
volumeMounts:
|
|
- name: identity
|
|
mountPath: /etc/bitwarden/identity
|
|
- name: dataprotection
|
|
mountPath: /etc/bitwarden/core/aspnet-dataprotection
|
|
- name: licenses
|
|
mountPath: /etc/bitwarden/core/licenses
|
|
securityContext:
|
|
null
|
|
volumes:
|
|
- name: identity
|
|
secret:
|
|
secretName: release-name-identity-cert
|
|
- name: dataprotection
|
|
persistentVolumeClaim:
|
|
claimName: release-name-self-host-dataprotection
|
|
- name: licenses
|
|
persistentVolumeClaim:
|
|
claimName: release-name-self-host-licenses
|
|
---
|
|
# Source: self-host/templates/web.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: release-name-self-host-web
|
|
namespace: default
|
|
labels:
|
|
app: release-name-self-host-web
|
|
app.kubernetes.io/component: web
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
replicas: 1
|
|
strategy:
|
|
type: "RollingUpdate"
|
|
selector:
|
|
matchLabels:
|
|
app: release-name-self-host-web
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: release-name-self-host-web
|
|
app.kubernetes.io/component: web
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
containers:
|
|
- name: release-name-self-host-web
|
|
image: "bitwarden/web:2024.2.5"
|
|
envFrom:
|
|
- configMapRef:
|
|
name: release-name-config-map
|
|
- secretRef:
|
|
name: "custom-secret"
|
|
- secretRef:
|
|
name: release-name-self-host-secretkeys
|
|
- secretRef:
|
|
name: release-name-sql-connection-string
|
|
env:
|
|
- name: ASPNETCORE_URLS
|
|
value: http://+:5000
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: 5000
|
|
initialDelaySeconds: 180
|
|
ports:
|
|
- containerPort: 5000
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
requests:
|
|
cpu: 50m
|
|
memory: 64Mi
|
|
volumeMounts:
|
|
- name: web
|
|
mountPath: /etc/bitwarden/web
|
|
securityContext:
|
|
null
|
|
volumes:
|
|
- name: web
|
|
configMap:
|
|
name: release-name-config-map-web
|
|
---
|
|
# Source: self-host/templates/mssql.yaml
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: release-name-self-host-mssql
|
|
namespace: default
|
|
labels:
|
|
app: release-name-self-host-mssql
|
|
app.kubernetes.io/component: mssql
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
serviceName: release-name-self-host-mssql
|
|
replicas: 1
|
|
updateStrategy:
|
|
type: "OnDelete"
|
|
selector:
|
|
matchLabels:
|
|
app: release-name-self-host-mssql
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: release-name-self-host-mssql
|
|
app.kubernetes.io/component: mssql
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
containers:
|
|
- name: release-name-self-host-mssql
|
|
image: "mcr.microsoft.com/mssql/server:2022-CU11-ubuntu-22.04"
|
|
imagePullPolicy: Always
|
|
resources:
|
|
limits:
|
|
cpu: 500m
|
|
memory: 2G
|
|
requests:
|
|
cpu: 100m
|
|
memory: 2G
|
|
envFrom:
|
|
- configMapRef:
|
|
name: release-name-config-map
|
|
- secretRef:
|
|
name: "custom-secret"
|
|
- secretRef:
|
|
name: release-name-sql-connection-string
|
|
ports:
|
|
- name: mssql
|
|
containerPort: 1433
|
|
volumeMounts:
|
|
- name: mssql-data
|
|
mountPath: /var/opt/mssql/data
|
|
- name: mssql-log
|
|
mountPath: /var/opt/mssql/log
|
|
- name: mssql-backups
|
|
mountPath: /var/opt/mssql/backups
|
|
livenessProbe:
|
|
tcpSocket:
|
|
port: mssql
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
readinessProbe:
|
|
tcpSocket:
|
|
port: mssql
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 2
|
|
timeoutSeconds: 1
|
|
startupProbe:
|
|
exec:
|
|
command:
|
|
- '/bin/sh'
|
|
- '-c'
|
|
- '/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P ${SA_PASSWORD} -Q "SELECT 1" || exit 1'
|
|
initialDelaySeconds: 120
|
|
periodSeconds: 10
|
|
timeoutSeconds: 3
|
|
enableServiceLinks: false
|
|
volumes:
|
|
- name: mssql-data
|
|
persistentVolumeClaim:
|
|
claimName: release-name-self-host-mssqldata
|
|
- name: mssql-log
|
|
persistentVolumeClaim:
|
|
claimName: release-name-self-host-mssqllog
|
|
- name: mssql-backups
|
|
persistentVolumeClaim:
|
|
claimName: release-name-self-host-mssqlbackups
|
|
---
|
|
# Source: self-host/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: release-name-self-host-ingress
|
|
namespace: default
|
|
annotations:
|
|
labels:
|
|
app.kubernetes.io/component: ingress
|
|
app.kubernetes.io/name: self-host
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/instance: release-name
|
|
helm.sh/chart: self-host-2024.2.3
|
|
spec:
|
|
ingressClassName: nginx
|
|
rules:
|
|
- host: REPLACE
|
|
http:
|
|
paths:
|
|
- path: /(.*)
|
|
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: release-name-self-host-web
|
|
port:
|
|
number: 5000
|
|
|
|
- path: /attachments/(.*)
|
|
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: release-name-self-host-attachments
|
|
port:
|
|
number: 5000
|
|
|
|
|
|
- path: /api/(.*)
|
|
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: release-name-self-host-api
|
|
port:
|
|
number: 5000
|
|
|
|
|
|
- path: /icons/(.*)
|
|
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: release-name-self-host-icons
|
|
port:
|
|
number: 5000
|
|
|
|
|
|
- path: /notifications/(.*)
|
|
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: release-name-self-host-notifications
|
|
port:
|
|
number: 5000
|
|
|
|
|
|
- path: /events/(.*)
|
|
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: release-name-self-host-events
|
|
port:
|
|
number: 5000
|
|
|
|
- path: /(sso/.*)
|
|
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: release-name-self-host-sso
|
|
port:
|
|
number: 5000
|
|
|
|
|
|
- path: /(identity/.*)
|
|
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: release-name-self-host-identity
|
|
port:
|
|
number: 5000
|
|
|
|
|
|
- path: /(admin/?.*)
|
|
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: release-name-self-host-admin
|
|
port:
|
|
number: 5000
|
|
|
|
tls:
|
|
- hosts:
|
|
- REPLACE
|
|
---
|
|
# Source: self-host/templates/pre-install-service-acc.yaml
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: service-account
|
|
namespace: default
|
|
annotations:
|
|
"helm.sh/hook": pre-install,pre-upgrade
|
|
"helm.sh/hook-weight": "0"
|
|
---
|
|
# Source: self-host/templates/pre-install-hook-configmap.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: release-name-config-map
|
|
namespace: default
|
|
annotations:
|
|
"helm.sh/hook": pre-install,pre-upgrade
|
|
"helm.sh/hook-weight": "1"
|
|
data:
|
|
ACCEPT_EULA: "Y"
|
|
MSSQL_PID: "Express"
|
|
ASPNETCORE_ENVIRONMENT: "Production"
|
|
globalSettings__selfHosted: "true"
|
|
globalSettings__baseServiceUri__vault: "https://REPLACE"
|
|
globalSettings__baseServiceUri__api: "https://REPLACE/api"
|
|
globalSettings__baseServiceUri__identity: "https://REPLACE/identity"
|
|
globalSettings__baseServiceUri__admin: "https://REPLACE/admin"
|
|
globalSettings__baseServiceUri__notifications: "https://REPLACE/notifications"
|
|
globalSettings__baseServiceUri__sso: "https://REPLACE/sso"
|
|
globalSettings__baseServiceUri__internalNotifications: "http://release-name-self-host-notifications:5000"
|
|
globalSettings__baseServiceUri__internalAdmin: "http://release-name-self-host-admin:5000"
|
|
globalSettings__baseServiceUri__internalIdentity: "http://release-name-self-host-identity:5000"
|
|
globalSettings__baseServiceUri__internalApi: "http://release-name-self-host-api:5000"
|
|
globalSettings__baseServiceUri__internalVault: "http://release-name-self-host-web:5000"
|
|
globalSettings__baseServiceUri__internalSso: "http://release-name-self-host-sso:5000"
|
|
globalSettings__baseServiceUri__internalScim: "http://release-name-self-host-scim:5000"
|
|
globalSettings__attachment__baseDirectory: "/etc/bitwarden/core/attachments"
|
|
globalSettings__attachment__baseUrl: "https://REPLACE/attachments"
|
|
globalSettings__send__baseDirectory: "/etc/bitwarden/core/attachments/sendfiles"
|
|
globalSettings__send__baseUrl: "https://REPLACE/attachments/sendfiles"
|
|
globalSettings__mail__replyToEmail: "no-reply@bitwarden.localhost"
|
|
globalSettings__mail__smtp__host: "smtp.gmail.com"
|
|
globalSettings__mail__smtp__port: "587"
|
|
globalSettings__mail__smtp__ssl: "false"
|
|
globalSettings__logDirectory: "/dev/null"
|
|
globalSettings__logRollBySizeLimit: ""
|
|
globalSettings__syslog__destination: ""
|
|
globalSettings__dataProtection__directory: "/etc/bitwarden/core/aspnet-dataprotection"
|
|
globalSettings__licenseDirectory: "/etc/bitwarden/core/licenses"
|
|
globalSettings__disableUserRegistration: "false"
|
|
globalSettings__enableCloudCommunication: "false"
|
|
globalSettings__baseServiceUri__cloudRegion: US
|
|
globalSettings__pushRelayBaseUri: "https://push.bitwarden.com"
|
|
adminSettings__admins: "false"
|
|
LOCAL_UID: "1000"
|
|
LOCAL_GID: "1000"
|
|
---
|
|
# Source: self-host/templates/pre-install-hook-configmap.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: release-name-config-map-web
|
|
namespace: default
|
|
annotations:
|
|
"helm.sh/hook": pre-install
|
|
"helm.sh/hook-weight": "1"
|
|
data:
|
|
app-id.json: |-
|
|
{
|
|
"trustedFacets": [
|
|
{
|
|
"version": {
|
|
"major": 1,
|
|
"minor": 0
|
|
},
|
|
"ids": [
|
|
"https://REPLACE",
|
|
"ios:bundle-id:com.8bit.bitwarden",
|
|
"android:apk-key-hash:dUGFzUzf3lmHSLBDBIv+WaFyZMI"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
---
|
|
# Source: self-host/templates/pre-install-service-acc.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
name: role:service-acc
|
|
namespace: default
|
|
annotations:
|
|
"helm.sh/hook": pre-install,pre-upgrade
|
|
"helm.sh/hook-weight": "0"
|
|
rules: # Authorization rules for this role
|
|
- apiGroups: [""]
|
|
resources: ["secrets"]
|
|
verbs: ["create","update","patch","delete"]
|
|
---
|
|
# Source: self-host/templates/pre-install-service-acc.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
name: role:service-acc-pods
|
|
namespace: default
|
|
annotations:
|
|
"helm.sh/hook": pre-install,pre-upgrade
|
|
"helm.sh/hook-weight": "0"
|
|
rules: # Authorization rules for this role
|
|
- apiGroups: [""]
|
|
resources: ["pods"]
|
|
verbs: ["get","list","watch"]
|
|
---
|
|
# Source: self-host/templates/pre-install-service-acc.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: rolebinding:service-acc
|
|
namespace: default
|
|
annotations:
|
|
"helm.sh/hook": pre-install,pre-upgrade
|
|
"helm.sh/hook-weight": "0"
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: role:service-acc
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: service-account
|
|
namespace: default
|
|
---
|
|
# Source: self-host/templates/pre-install-service-acc.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: rolebinding:service-acc-pods
|
|
namespace: default
|
|
annotations:
|
|
"helm.sh/hook": pre-install,pre-upgrade
|
|
"helm.sh/hook-weight": "0"
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: role:service-acc-pods
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: service-account
|
|
namespace: default
|
|
---
|
|
# Source: self-host/templates/post-delete-hook.yaml
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: "release-name-cleanup"
|
|
labels:
|
|
app.kubernetes.io/component: post-delete-hook
|
|
annotations:
|
|
"helm.sh/hook": post-delete
|
|
"helm.sh/hook-weight": "0"
|
|
"helm.sh/hook-delete-policy": hook-succeeded,hook-failed,before-hook-creation
|
|
spec:
|
|
template:
|
|
metadata:
|
|
name: "release-name-cleanup"
|
|
labels:
|
|
app.kubernetes.io/component: post-delete-hook
|
|
spec:
|
|
serviceAccountName: "service-account"
|
|
containers:
|
|
- name: delete-resources
|
|
command: [
|
|
"/bin/sh", "-c"
|
|
]
|
|
args: ['
|
|
kubectl delete configmap release-name-config-map -n default;
|
|
kubectl delete configmap release-name-config-map-web -n default;
|
|
kubectl delete secret "release-name-sql-connection-string" -n default;
|
|
kubectl delete secret release-name-identity-cert -n default;
|
|
kubectl delete secret release-name-identity-cert-password -n default;
|
|
kubectl delete job release-name-setup;
|
|
kubectl delete job release-name-migrator;
|
|
echo "Done"
|
|
']
|
|
image: "bitnami/kubectl:1.21"
|
|
restartPolicy: Never
|
|
---
|
|
# Source: self-host/templates/post-install-db-migrator-job.yaml
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: "release-name-migrator"
|
|
labels:
|
|
app.kubernetes.io/component: post-install-db-migrator-job
|
|
annotations:
|
|
"helm.sh/hook": post-install,post-upgrade
|
|
"helm.sh/hook-weight": "0"
|
|
"helm.sh/hook-delete-policy": hook-succeeded,hook-failed,before-hook-creation
|
|
spec:
|
|
template:
|
|
metadata:
|
|
name: "release-name-migrator"
|
|
labels:
|
|
app.kubernetes.io/component: post-install-db-migrator-job
|
|
spec:
|
|
serviceAccountName: "service-account"
|
|
initContainers:
|
|
- name: wait-for-db
|
|
command:
|
|
- "/bin/bash"
|
|
- "-c"
|
|
args: ['
|
|
while [[ $(kubectl get pods -n default -l app=release-name-self-host-mssql -o jsonpath="{.items[*].status.containerStatuses[*].ready}") != "true" ]]; do sleep 1; done
|
|
|
|
echo "SQL Ready!"
|
|
|
|
while [[ $(kubectl get pods -n default -l app=release-name-self-host-admin -o jsonpath="{.items[*].status.containerStatuses[*].ready}") != "true" ]]; do sleep 1; done
|
|
|
|
echo "Admin Ready!"
|
|
|
|
while [ ! -f /db/vault.mdf ]; do sleep 1; done
|
|
|
|
echo "DB Ready!"
|
|
']
|
|
image: "bitnami/kubectl:1.21"
|
|
volumeMounts:
|
|
- name: mssql-data
|
|
mountPath: /db
|
|
containers:
|
|
- name: migrate-db
|
|
env:
|
|
- name: MSSQL_CONN_STRING
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: release-name-sql-connection-string
|
|
key: globalSettings__sqlServer__connectionString
|
|
image: "bitwarden/mssqlmigratorutility:2024.2.3"
|
|
volumeMounts:
|
|
restartPolicy: Never
|
|
volumes:
|
|
- name: mssql-data
|
|
persistentVolumeClaim:
|
|
claimName: release-name-self-host-mssqldata
|
|
---
|
|
# Source: self-host/templates/pre-install-db-migrator-job.yaml
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: "release-name-db-pre-upgrade"
|
|
labels:
|
|
app.kubernetes.io/component: pre-install-db-migrator-job
|
|
annotations:
|
|
"helm.sh/hook": pre-upgrade
|
|
"helm.sh/hook-weight": "4"
|
|
"helm.sh/hook-delete-policy": hook-succeeded,hook-failed,before-hook-creation
|
|
spec:
|
|
template:
|
|
metadata:
|
|
name: "release-name-db-pre-upgrade"
|
|
labels:
|
|
app.kubernetes.io/component: pre-install-db-migrator-job
|
|
spec:
|
|
serviceAccountName: "service-account"
|
|
containers:
|
|
- name: migrate-db
|
|
env:
|
|
- name: MSSQL_CONN_STRING
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: release-name-sql-connection-string
|
|
key: globalSettings__sqlServer__connectionString
|
|
image: "bitwarden/mssqlmigratorutility:2024.2.3"
|
|
volumeMounts:
|
|
restartPolicy: Never
|
|
volumes:
|
|
---
|
|
# Source: self-host/templates/pre-install-job.yaml
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: "release-name-setup"
|
|
labels:
|
|
app.kubernetes.io/component: pre-install-hook
|
|
annotations:
|
|
"helm.sh/hook": pre-install
|
|
"helm.sh/hook-weight": "2"
|
|
"helm.sh/hook-delete-policy": hook-succeeded,hook-failed,before-hook-creation
|
|
spec:
|
|
template:
|
|
metadata:
|
|
name: "release-name-setup"
|
|
labels:
|
|
app.kubernetes.io/component: pre-install-hook
|
|
spec:
|
|
serviceAccountName: "service-account"
|
|
initContainers:
|
|
- name: generate-identity-cert
|
|
command:
|
|
- "/bin/sh"
|
|
- "-c"
|
|
args: ['
|
|
openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout /bitwarden/identity.key -out /bitwarden/identity.crt -subj "/CN=Bitwarden IdentityServer" -days 36500;
|
|
openssl pkcs12 -export -out /bitwarden/identity.pfx -inkey /bitwarden/identity.key -in /bitwarden/identity.crt -passout pass:map[];
|
|
chmod 777 /bitwarden/identity.pfx;
|
|
echo Done;
|
|
']
|
|
image: "docker.io/nginx:1.25.3"
|
|
volumeMounts:
|
|
- name: temp
|
|
mountPath: "/bitwarden"
|
|
containers:
|
|
- name: create-resources
|
|
command:
|
|
- "/bin/sh"
|
|
- "-c"
|
|
args: ['
|
|
ls -atlh /bitwarden;
|
|
kubectl create secret generic release-name-identity-cert --from-file=/bitwarden/identity.pfx -n default ;
|
|
kubectl create secret generic release-name-identity-cert-password -n default
|
|
--from-literal=globalSettings__identityServer__certificatePassword="map[]";
|
|
echo "Done"
|
|
']
|
|
image: "bitnami/kubectl:1.21"
|
|
volumeMounts:
|
|
- name: temp
|
|
mountPath: "/bitwarden"
|
|
restartPolicy: Never
|
|
volumes:
|
|
- name: temp
|
|
emptyDir:
|
|
medium: Memory
|
|
---
|
|
# Source: self-host/templates/pre-install-secret-sql.yaml
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: "release-name-secret-sql"
|
|
labels:
|
|
app.kubernetes.io/component: pre-install-hook
|
|
annotations:
|
|
"helm.sh/hook": pre-install
|
|
"helm.sh/hook-weight": "3"
|
|
"helm.sh/hook-delete-policy": hook-succeeded,hook-failed,before-hook-creation
|
|
spec:
|
|
template:
|
|
metadata:
|
|
name: "release-name-secret-sql"
|
|
labels:
|
|
app.kubernetes.io/component: pre-install-hook
|
|
spec:
|
|
serviceAccountName: "service-account"
|
|
containers:
|
|
- name: create-resources
|
|
command:
|
|
- "/bin/sh"
|
|
- "-c"
|
|
args: ['
|
|
kubectl create secret generic release-name-sql-connection-string -n default
|
|
--from-literal=globalSettings__sqlServer__connectionString="Data Source=tcp:release-name-self-host-mssql,1433;Initial Catalog=vault;Persist Security Info=False;User ID=sa;Password=$SA_PASSWORD;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=True"
|
|
|
|
echo "Done"
|
|
']
|
|
image: "bitnami/kubectl:1.21"
|
|
envFrom:
|
|
- secretRef:
|
|
name: "custom-secret"
|
|
volumeMounts:
|
|
- name: temp
|
|
mountPath: "/bitwarden"
|
|
restartPolicy: Never
|
|
volumes:
|
|
- name: temp
|
|
emptyDir:
|
|
medium: Memory
|