quorate/services/minecraft/k8s/vso.yaml

148 lines
3.2 KiB
YAML

apiVersion: v1
kind: ServiceAccount
metadata:
name: minecraft-vso
namespace: minecraft
---
apiVersion: secrets.hashicorp.com/v1beta1
kind: VaultAuth
metadata:
name: default
namespace: minecraft
spec:
method: kubernetes
mount: kubernetes
kubernetes:
role: minecraft
serviceAccount: minecraft-vso
vaultConnectionRef: vault/vault
---
apiVersion: secrets.hashicorp.com/v1beta1
kind: VaultStaticSecret
metadata:
name: minecraft-artifacts
namespace: minecraft
spec:
type: kv-v2
mount: secret
path: versitygw/users/minecraft
refreshAfter: 1h
destination:
name: minecraft-artifacts
create: true
transformation:
excludeRaw: true
excludes: [.*]
templates:
accesskey:
text: minecraft
secretkey:
text: '{{ get .Secrets "secretAccessKey" }}'
vaultAuthRef: default
---
apiVersion: secrets.hashicorp.com/v1beta1
kind: VaultStaticSecret
metadata:
name: minecraft-ca
namespace: minecraft
spec:
type: kv-v2
mount: secret
path: ca/internal
refreshAfter: 1h
destination:
name: minecraft-ca
create: true
transformation:
excludeRaw: true
vaultAuthRef: default
---
apiVersion: secrets.hashicorp.com/v1beta1
kind: VaultStaticSecret
metadata:
name: minecraft
namespace: minecraft
spec:
type: kv-v2
mount: secret
path: minecraft/server
destination:
name: minecraft
create: true
overwrite: true
refreshAfter: 1h
vaultAuthRef: default
rolloutRestartTargets:
- kind: Deployment
name: minecraft
---
apiVersion: secrets.hashicorp.com/v1beta1
kind: VaultStaticSecret
metadata:
name: minecraft-files
namespace: minecraft
spec:
type: kv-v2
mount: secret
path: minecraft/files
destination:
name: minecraft-files
create: true
overwrite: true
transformation:
excludeRaw: true
excludes: [.*]
templates:
server.properties:
text: '{{ get .Secrets "server.properties" }}'
refreshAfter: 1h
vaultAuthRef: default
---
apiVersion: secrets.hashicorp.com/v1beta1
kind: VaultStaticSecret
metadata:
name: minecraft-rcon
namespace: minecraft
spec:
type: kv-v2
mount: secret
path: minecraft/rcon
destination:
name: minecraft-rcon
create: true
transformation:
excludeRaw: true
excludes: [.*]
templates:
password:
text: '{{ get .Secrets "password" }}'
refreshAfter: 1h
vaultAuthRef: default
rolloutRestartTargets:
- kind: Deployment
name: minecraft
---
apiVersion: secrets.hashicorp.com/v1beta1
kind: VaultStaticSecret
metadata:
name: minecraft-pull
namespace: minecraft
spec:
type: kv-v2
mount: secret
path: quay/oauth/project-delivery-reader
refreshAfter: 5m
destination:
name: minecraft-pull
create: true
overwrite: true
type: kubernetes.io/dockerconfigjson
transformation:
excludeRaw: true
excludes: [.*]
templates:
.dockerconfigjson:
text: |
{{- $token := get .Secrets "token" -}}
{"auths":{"registry.quorate.internal":{"username":"$oauthtoken","password":"{{ $token }}","auth":"{{ printf "%s:%s" "$oauthtoken" $token | b64enc }}"}}}
vaultAuthRef: default