1
0
Fork 0

Compare commits

..

16 Commits
matrix ... main

Author SHA1 Message Date
Ryan Heywood 27a5916409
k/website: add CC team@distrust.co for web form 2024-09-10 16:56:33 -04:00
Ryan Heywood 4bba28e670
k/forgejo: add robots to ban facebook/meta 2024-09-07 00:44:38 -04:00
Ryan Heywood f243bb2d4b
k/website{,-beta}: add new contact form 2024-09-05 00:01:21 -04:00
Ryan Heywood 8951deadb1
k/website: commit matrix changes, add docs 2024-08-08 21:18:20 -04:00
Ryan Heywood 5dd08dc94d
k/website: include all current keys 2024-07-05 16:34:16 -04:00
Ryan Heywood 83ec5d1faf
k/forgejo: fix snapshot deletion 2024-06-21 18:35:14 -04:00
Ryan Heywood 0331504457
k/forgejo: bump version to 1.21.11-1 2024-05-30 23:46:04 -04:00
Ryan Heywood 800af4d364
Merge remote-tracking branch 'origin/pull/8/head' 2024-05-30 01:08:09 -04:00
Ryan Heywood 0ca85e65f8
Merge remote-tracking branch 'origin/pull/7/head' 2024-05-30 01:05:45 -04:00
Danny Grove 9d5e1f074f
Drop billing.distrust.co DNS record in favor of external-dns 2024-04-24 22:25:57 -07:00
Danny Grove 59c36f47b3
k/invoiceshelf: fix config to get working. migrate ingress to billing.distrust.co 2024-03-31 21:24:45 -07:00
Danny Grove 10119fd557
k/invoiceshelf: migrate to invoiceshelf, use statefulset, grab secrets from backup 2024-03-31 03:29:37 -07:00
Danny Grove c3d9a55497
Add support for mysql db cluster, add crater mysql db, upgrade DO provider 2024-03-31 02:11:40 -07:00
Danny Grove 860ee7772b
k/invoiceshelf: initial commit 2024-03-31 02:08:56 -07:00
Danny Grove dda0c1f77c
Fix make setup to work with open tofu 2024-03-28 21:28:02 -07:00
Danny Grove 6d149d96e5
Add MySQL DB cluster and database for crater app 2024-03-28 21:27:29 -07:00
40 changed files with 2629 additions and 37 deletions

View File

@ -7,7 +7,7 @@ ENVIRONMENT := production
REGION := sfo3 REGION := sfo3
ROOT_DIR := $(shell pwd) ROOT_DIR := $(shell pwd)
# TODO: automatically determine # TODO: automatically determine
TERRAFORM := $(ROOT_DIR)/out/terraform.linux-x86_64 TERRAFORM := $(ROOT_DIR)/out/tofu.linux-x86_64
SOPS := $(ROOT_DIR)/out/sops.linux-x86_64 SOPS := $(ROOT_DIR)/out/sops.linux-x86_64
KEYS := \ KEYS := \
6B61ECD76088748C70590D55E90A401336C8AAA9 \ 6B61ECD76088748C70590D55E90A401336C8AAA9 \
@ -15,13 +15,13 @@ KEYS := \
3D7C8D39E8C4DF771583D3F0A8A091FD346001CA \ 3D7C8D39E8C4DF771583D3F0A8A091FD346001CA \
F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D
EXTRA_ARGS :=
.DEFAULT_GOAL := .DEFAULT_GOAL :=
.PHONY: default .PHONY: default
default: \ default: \
toolchain \ toolchain \
tools \ tools \
$(patsubst %,$(KEY_DIR)/%.asc,$(KEYS)) \
$(CACHE_DIR)/website/.well-known/openpgpkey \
apply apply
.PHONY: .PHONY:
@ -76,6 +76,13 @@ infra/backend/.terraform: \
$(SOPS) exec-env secrets/$(ENVIRONMENT).enc.env '\ $(SOPS) exec-env secrets/$(ENVIRONMENT).enc.env '\
env -C infra/backend $(TERRAFORM) init -upgrade \ env -C infra/backend $(TERRAFORM) init -upgrade \
' '
$(SOPS) exec-env secrets/$(ENVIRONMENT).enc.env '\
env -C infra/backend $(TERRAFORM) refresh \
-var environment=$(ENVIRONMENT) \
-var namespace=$(ENVIRONMENT) \
-var region=$(REGION) \
-state $(ENVIRONMENT).tfstate \
'
infra/main/.terraform: | \ infra/main/.terraform: | \
$(TERRAFORM) \ $(TERRAFORM) \
@ -85,6 +92,13 @@ infra/main/.terraform: | \
env -C infra/main $(TERRAFORM) init -upgrade \ env -C infra/main $(TERRAFORM) init -upgrade \
-backend-config="../../config/$(ENVIRONMENT).tfbackend" \ -backend-config="../../config/$(ENVIRONMENT).tfbackend" \
' '
$(SOPS) exec-env secrets/$(ENVIRONMENT).enc.env '\
env -C infra/main $(TERRAFORM) refresh \
-var environment=$(ENVIRONMENT) \
-var namespace=$(ENVIRONMENT) \
-var region=$(REGION) \
-state $(ENVIRONMENT).tfstate \
'
infra/backend/$(ENVIRONMENT).tfstate: \ infra/backend/$(ENVIRONMENT).tfstate: \
$(TERRAFORM) \ $(TERRAFORM) \
@ -96,7 +110,7 @@ infra/backend/$(ENVIRONMENT).tfstate: \
-var environment=$(ENVIRONMENT) \ -var environment=$(ENVIRONMENT) \
-var namespace=$(ENVIRONMENT) \ -var namespace=$(ENVIRONMENT) \
-var region=$(REGION) \ -var region=$(REGION) \
-state ../../$@ \ -state $@ \
' '
config/$(ENVIRONMENT).tfbackend: | \ config/$(ENVIRONMENT).tfbackend: | \
@ -107,9 +121,17 @@ config/$(ENVIRONMENT).tfbackend: | \
$(SOPS) exec-env secrets/$(ENVIRONMENT).enc.env '\ $(SOPS) exec-env secrets/$(ENVIRONMENT).enc.env '\
env -C infra/backend \ env -C infra/backend \
$(TERRAFORM) \ $(TERRAFORM) \
output -state ../../$< \ output -state $(ENVIRONMENT).tfstate \
> $@ \ > $@ \
' '
$(SOPS) exec-env secrets/$(ENVIRONMENT).enc.env '\
env -C infra/backend \
$(TERRAFORM) refresh \
-var environment=$(ENVIRONMENT) \
-var namespace=$(ENVIRONMENT) \
-var region=$(REGION) \
-state $(ENVIRONMENT).tfstate \
'
.PHONY: .PHONY:
apply: \ apply: \
@ -126,7 +148,7 @@ apply: \
-var environment=$(ENVIRONMENT) \ -var environment=$(ENVIRONMENT) \
-var namespace=$(ENVIRONMENT) \ -var namespace=$(ENVIRONMENT) \
-var region=$(REGION) \ -var region=$(REGION) \
' $(EXTRA_ARGS) '
$(call maybe_encrypt_secret,infra/main/talos/talosconfig,secrets/$(ENVIRONMENT).talosconfig) $(call maybe_encrypt_secret,infra/main/talos/talosconfig,secrets/$(ENVIRONMENT).talosconfig)
$(call maybe_encrypt_secret,infra/main/talos/kubeconfig,secrets/$(ENVIRONMENT).kubeconfig) $(call maybe_encrypt_secret,infra/main/talos/kubeconfig,secrets/$(ENVIRONMENT).kubeconfig)
$(call maybe_encrypt_secret,infra/main/talos/controlplane.yaml,secrets/$(ENVIRONMENT).controlplane.yaml) $(call maybe_encrypt_secret,infra/main/talos/controlplane.yaml,secrets/$(ENVIRONMENT).controlplane.yaml)

View File

@ -22,7 +22,7 @@ SOPS_REF=b6d3c9700d88e0c9348f3ec7cd2f10ce4a4b3ee1
BUSYBOX_URL=https://busybox.net/downloads/busybox-1.36.1.tar.bz2 BUSYBOX_URL=https://busybox.net/downloads/busybox-1.36.1.tar.bz2
BUSYBOX_HASH=b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314 BUSYBOX_HASH=b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314
TOFU_REPO=https://github.com/opentofu/opentofu TOFU_REPO=https://github.com/opentofu/opentofu
TOFU_REF=f9d8b3ca2c0926f66757241baf81af523be73726 TOFU_REF=5d05dba18b6e276a6262a4722fe90c13350c5428
KSOPS_REPO=https://github.com/viaduct-ai/kustomize-sops KSOPS_REPO=https://github.com/viaduct-ai/kustomize-sops
KSOPS_REF=ac33c40e1b78d9847a8d0f58473e99419be5b170 KSOPS_REF=ac33c40e1b78d9847a8d0f58473e99419be5b170
KUSTOMIZE_REPO=https://github.com/kubernetes-sigs/kustomize KUSTOMIZE_REPO=https://github.com/kubernetes-sigs/kustomize

View File

@ -10,21 +10,18 @@ resource "random_id" "suffix" {
byte_length = 8 byte_length = 8
} }
data "digitalocean_region" "provided" {
slug = var.region
}
resource "digitalocean_custom_image" "talos" { resource "digitalocean_custom_image" "talos" {
name = "talos" name = "talos"
url = "https://github.com/siderolabs/talos/releases/download/v1.4.3/digital-ocean-amd64.raw.gz" url = "https://github.com/siderolabs/talos/releases/download/v1.4.3/digital-ocean-amd64.raw.gz"
# this gets reset by DigitalOcean otherwise # this gets reset by DigitalOcean otherwise
distribution = "Unknown OS" distribution = "Unknown OS"
regions = [data.digitalocean_region.provided.slug] regions = [var.region]
} }
resource "digitalocean_vpc" "main" { resource "digitalocean_vpc" "main" {
name = "talos" name = "talos"
region = data.digitalocean_region.provided.slug region = var.region
# Note: This is VERY CAREFULLY chosen to avoid conflict with k8s and cilium # Note: This is VERY CAREFULLY chosen to avoid conflict with k8s and cilium
ip_range = "192.168.0.0/16" ip_range = "192.168.0.0/16"
} }
@ -45,7 +42,7 @@ module "digitalocean_talos_cluster" {
size = "s-2vcpu-4gb", size = "s-2vcpu-4gb",
}] }]
vpc_id = digitalocean_vpc.main.id vpc_id = digitalocean_vpc.main.id
digitalocean_region = data.digitalocean_region.provided.slug digitalocean_region = var.region
} }
module "digitalocean_database_cluster" { module "digitalocean_database_cluster" {
@ -84,7 +81,28 @@ module "digitalocean_database_cluster" {
}] }]
vpc_id = digitalocean_vpc.main.id vpc_id = digitalocean_vpc.main.id
digitalocean_region = data.digitalocean_region.provided.slug digitalocean_region = var.region
}
# Crater App requires MySQL currently, when it adds PG support we should migrate
#
module "digitalocean_mysql_database_cluster" {
source = "../../terraform_modules/digitalocean_database_cluster"
cluster_name = "distrust-mysql"
db_engine = "mysql"
dbcli_name = "mariadb"
db_version = "8"
size = "db-s-1vcpu-1gb"
node_count = 1
databases = [{
name = "crater",
create_default_superuser = true,
}]
vpc_id = digitalocean_vpc.main.id
digitalocean_region = var.region
} }
resource "digitalocean_spaces_bucket" "matrix_media_repo" { resource "digitalocean_spaces_bucket" "matrix_media_repo" {
@ -103,10 +121,11 @@ locals {
]) ])
} }
# `jq .database_users.value.forgejo | sops --encrypt` # `jq .database_users.value.forgejo | sops --encrypt`
output "database_users" { output "database_users" {
value = { value = {
for db_user in module.digitalocean_database_cluster.database_users: for db_user in concat(module.digitalocean_database_cluster.database_users, module.digitalocean_mysql_database_cluster.database_users):
db_user.name => { db_user.name => {
apiVersion = "v1", apiVersion = "v1",
kind = "Secret", kind = "Secret",
@ -134,6 +153,11 @@ output "database" {
sensitive = true sensitive = true
} }
output "mysql_database" {
value = module.digitalocean_mysql_database_cluster.database_cluster
sensitive = true
}
output "vpc_id" { output "vpc_id" {
value = digitalocean_vpc.main.id value = digitalocean_vpc.main.id
} }

View File

@ -2,12 +2,13 @@ terraform {
required_providers { required_providers {
digitalocean = { digitalocean = {
source = "digitalocean/digitalocean" source = "digitalocean/digitalocean"
version = "2.28.1" version = "2.36.0"
} }
} }
backend "s3" { backend "s3" {
skip_requesting_account_id = true skip_requesting_account_id = true
skip_credentials_validation = true skip_credentials_validation = true
skip_region_validation = true
skip_get_ec2_platforms = true skip_get_ec2_platforms = true
skip_metadata_api_check = true skip_metadata_api_check = true
} }

View File

@ -7,7 +7,7 @@ spec:
spec: spec:
initContainers: initContainers:
- name: forgejo-ssh-key-prep - name: forgejo-ssh-key-prep
image: codeberg.org/forgejo/forgejo:1.20.5-0 image: codeberg.org/forgejo/forgejo:1.21.11-1
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:

View File

@ -19,6 +19,13 @@ spec:
name: forgejo name: forgejo
port: port:
number: 80 number: 80
- path: /robots.txt
pathType: Exact
backend:
service:
name: robots
port:
number: 80
tls: tls:
- hosts: - hosts:
- git.distrust.co - git.distrust.co

View File

@ -5,6 +5,7 @@ resources:
- namespace.yaml - namespace.yaml
- resources.yaml - resources.yaml
- ingress.yaml - ingress.yaml
- robots.yaml
- snapshots - snapshots
patches: patches:
- path: forgejo-env-vars.patch.yaml - path: forgejo-env-vars.patch.yaml
@ -33,5 +34,5 @@ configMapGenerator:
files: files:
- app_template.ini - app_template.ini
images: images:
- name: codeberg.org/forgejo/forgejo:1.20.5-0 - name: codeberg.org/forgejo/forgejo:1.21.11-1
newTag: 1.20.5-0@sha256:d665129e66cc04fa72aa6a284eb98b17c0eee642aeaad7c88edec21f9edbf519 newTag: 1.21.11-1@sha256:d036b8021aac6449e3a128fda50bae3598f1403578f3e83bb7717bceb60ae875

View File

@ -43,7 +43,7 @@ spec:
type: RuntimeDefault type: RuntimeDefault
initContainers: initContainers:
- name: forgejo-ensure-directories - name: forgejo-ensure-directories
image: codeberg.org/forgejo/forgejo:1.20.5-0 image: codeberg.org/forgejo/forgejo:1.21.11-1
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
@ -61,7 +61,7 @@ spec:
- name: forgejo-data - name: forgejo-data
mountPath: /data mountPath: /data
- name: config-templater - name: config-templater
image: codeberg.org/forgejo/forgejo:1.20.5-0 image: codeberg.org/forgejo/forgejo:1.21.11-1
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
@ -79,7 +79,7 @@ spec:
- name: forgejo-config - name: forgejo-config
mountPath: /output mountPath: /output
- name: forgejo-migrate - name: forgejo-migrate
image: codeberg.org/forgejo/forgejo:1.20.5-0 image: codeberg.org/forgejo/forgejo:1.21.11-1
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
@ -96,7 +96,7 @@ spec:
- name: forgejo-config - name: forgejo-config
mountPath: /etc/forgejo mountPath: /etc/forgejo
- name: forgejo-oidc - name: forgejo-oidc
image: codeberg.org/forgejo/forgejo:1.20.5-0 image: codeberg.org/forgejo/forgejo:1.21.11-1
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
@ -120,7 +120,7 @@ spec:
mountPath: /etc/forgejo mountPath: /etc/forgejo
containers: containers:
- name: forgejo-web - name: forgejo-web
image: codeberg.org/forgejo/forgejo:1.20.5-0 image: codeberg.org/forgejo/forgejo:1.21.11-1
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
@ -140,7 +140,7 @@ spec:
- name: forgejo-config - name: forgejo-config
mountPath: /etc/forgejo mountPath: /etc/forgejo
- name: forgejo-ssh - name: forgejo-ssh
image: codeberg.org/forgejo/forgejo:1.20.5-0 image: codeberg.org/forgejo/forgejo:1.21.11-1
securityContext: securityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:

View File

@ -0,0 +1,50 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: robots
spec:
replicas: 1
selector:
matchLabels:
app: robots
template:
metadata:
labels:
app: robots
spec:
containers:
- name: robots
image: nginx
ports:
- containerPort: 80
volumeMounts:
- name: robots-txt
mountPath: /usr/share/nginx/html
volumes:
- name: robots-txt
configMap:
name: robots-txt
---
apiVersion: v1
kind: ConfigMap
metadata:
name: robots-txt
data:
# Facebook/Meta have a web crawler that absolutely _spams_ Forgejo when
# large repositories exist. It's nonstop requests.
robots.txt: |-
User-agent: facebookexternalhit
User-agent: meta-externalagent
Disallow: /
---
apiVersion: v1
kind: Service
metadata:
name: robots
spec:
ports:
- name: http
port: 80
targetPort: 80
selector:
app: robots

View File

@ -75,7 +75,7 @@ spec:
| while read snapshot_name snapshot_date; do | while read snapshot_name snapshot_date; do
echo "$snapshot_name" "$snapshot_date" "$datestr" | awk '$2 <= $3 { print $1 }' echo "$snapshot_name" "$snapshot_date" "$datestr" | awk '$2 <= $3 { print $1 }'
done \ done \
| xargs --no-run-if-empty -n 1 echo kubectl -n $(POD_NAMESPACE) delete volumesnapshot "$snapshot_name" | xargs --verbose --no-run-if-empty -n 1 kubectl -n $(POD_NAMESPACE) delete volumesnapshot
env: env:
- name: POD_NAMESPACE - name: POD_NAMESPACE
valueFrom: valueFrom:

View File

@ -0,0 +1,117 @@
apiVersion: v1
kind: Secret
metadata:
name: env
stringData:
env: ENC[AES256_GCM,data:eOLjpVzWl5bamDBmg3an2DrYKJcyMve/RkHha5PvsPFInQLJHlPm0qHP8AucafntFbTg2tV5umcnlJ2+aqNv5h1UF7QGN1oKhe8VTHHxKG4fZWD+m+j+UfpD6eA8dmEf//npgiJsBAx6qRBDWN4SxkryNAP9WsiiN9+VMsJdWe5ItQYQLU+uPNjDHMjYnw1p/JcIxilFFMn6GSV4Kc62ilE6oU5cUKk96xm/JzIX/T4GZ9q3LzCdJtaXsNic/9i6EDDIxNsLYzn0A+T1hp+jZ4k4HICx6ATPA85k1NhH0cH/r4aOv9BYed1375wkWWp4v3qzC8paHATZ5pyPeUrpJqd/uPAE8IYO3sDTimWBKU7X/O0lfTO4tiNVQFDF8cXq8tRJlZWogs67iSSepjb04e7a+OFW9f++E4eeXrbSsVw+YW43Rtbhjw0qlVBM4nBFCchiZk8etTIFkfVvbirvdcLCOCtzjtYO8rVNdj6tzwBFrpFrbvCxgEMLB6P6FwM5epMfiiOLF9DT+ljFeafBEXvy+kU5afYkf1Sh9HNvvs9ifOILyFXjMXb9jAKvNPqd0rZPOQhyvBIwRlhbsWfPO4owa/mFpNmU9mYOwHSFrVZ+V5bDAzXTQ9LKS25/NonBil0c+99peN09U5CwL1gNOtRIaFP3VlRR3/FhUwyKlgeq/Ah0s6jYN7LcNyTj0PKIMjdLotO5XHssQW+Z34s0EDDdkH1t+IODbtE39oVeErfatj+i3kFNSL+E6iVbe3KiWLIWm1xDf0pP5PD/N0OVi6abj/2OD5ClylDzO2q7dRKn3aHlRAZWXeQGMq9hxJm6VCP9HspQs+pGjDiMOs/cYib6LWkoeVN3IDV9rQ9XHeHKAXOQYVQ58auuYAIJ9qbLG0+YQvHoHiFtuK3ucXMbq17oQ/NjZEX/e77ZZCYTfxuxhW9Zwa1abojIwrfKSyhoh91HHvgYmOh8hU+gCthWDNaPJ8XIAaGy+M9V7F2TK4V2vPy6xLp/XmzPUchO78/ZcW71jPDoR7pV5I3vab+c27EWlPw4mv4U+emnVZ1L7VM7+EkpsXuncNaKPCaFz1LDl4sbaAJSS2UK2ZfBBbM/EcGT2Ymm8jOjBwHwDi2VqN/CHMf6qG3P9R3XN/jNU5ShR97D52mSE3zy25wJHcv4Z8iSu98KEC9rNvJviPjncftWkycGjWFXx7mLwsKo6VyfUn/OXuk=,iv:HXTsRJEHxceO1HIA4CaR9CYt3oO18+cdeTAiBk4w0zo=,tag:e44hqgGLC9ugivxaxr+0Gw==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age: []
lastmodified: "2024-04-01T03:47:06Z"
mac: ENC[AES256_GCM,data:mrjkTQF+cKuNzbaAaflQCTMT+H7D0dKL6keVLs1ig6ok4Z6JCKxe9+1Fa3q2OIpgq0bhHZqPPe5e2ztQSAzFC9z6c7YCHGh6kPZ8fQ7F0l2dATqNSeaRMsjsMdo7vOOQjNqj0SkeU5c4PSQpQHz9Rg7CtMupQ60iLbsm8GGM1tU=,iv:uhzyxgDSdJ/jw0qZyOddxP3JZ3S4okuWhZdJE22nDEI=,tag:EYe9MYxL8QDPe9Rf53OM+Q==,type:str]
pgp:
- created_at: "2024-01-11T20:56:10Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA82rPM2mSf/aARAAvQd7qO44LNyywY03qCXI18cx6nj9mo36ehJyq6wuYhWa
n95jXEsmRbGt2l8cAJrH9sZB3uE5DCfeZMzEiZ9heaAyxzC34BxSGP+4PBdRqp6B
jv7Ej6F9lV70bQYvDDry5ihWRmADEVrnDrs2+pXsMQiui9dZSGB676d2PIdliV6y
StqbyudjWZS6fLv2xy25yxJBfzb27rLh1d2yo/9AEm873bFVn7bXQxwOoud8s8KU
MLsQxE05zDQrzm+RpDU0mYk3X4ByyL0/J0dyipjHErOLhOCk2MZ4xTVW8U+Jefuu
htLAzftc9NGwWHdSVXqfwSWUq/UklzurPdDcA1riEqE4XmE74cdgP0vqHYeGPykh
M67Xcr1WLDk7i/n4EISqnp5qwItfJIxWlEpKNANEMveYggHXUz3wTk7qHwjpIDwG
7mMfKlL221M1elk1lY60bx//tr2ZqIlN9IXCjOUZOlxlqvYcmie09YbR6tRZAbag
KZcq4s5y5HlVQ10ZUe7eY8qjXMlLVm7N+TJRnfgJrr2+7GTy/wCcx5nwsVBeYm8h
GrHT3PS0CVRA19ynlEqF1jXfqlRMjX0szPIUGb6/7HLiw514otq3KuZmHYAq2TZ2
HMKncOptoUyfpG252v6NJYQC7yF76tdd5YuykeD40ZOBUULtvUEOZyZVdsaAU9zS
UQHygqf8d16qbh2rWK69Kqmc8DbZHCH/f1IDwekPOsNltQhdgn3lOP7gNSEwI7yV
/qk+5kVHg+Yk0l1K34v5aiWEGrI1SKd1m+nvVW7VcEtufw==
=SjUY
-----END PGP MESSAGE-----
fp: 6B61ECD76088748C70590D55E90A401336C8AAA9
- created_at: "2024-01-11T20:56:10Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMAw95Vf08z8oUAQ/+OHoip407wu+pF9bWolOK+dViuRhA/X9JUVyQfJer9HM2
thZUChYerdnUBn674pVUkjS5szch19pdZLeK5/YqUXyWoW1qHUgYgzHHq6JvxXXf
PIC7Q+jCfsmDBGcSJefK9rA5u7S+7rULBZvbMbL7gpCG8cG0aXJBoNLzZ/vva16V
x/3Mn6taKjZX0ACeoQ4ma4HS6kB3Nz280S8PKIQeMuUQQfXNWMAlR2ebleovvmvh
pJtN0T5dMLEImexLFSgfPoU1OQmfrnQR/mWP0W3LtGn2o8EE5LordJSgMuwd5eqv
v+XOHoj5E5O88SO2mIwWY0Oh+6P5pf6PJDL8XLLq+0nm2HZrK1Ip8WvYar9xi/12
HClde7vk1ESWw9Kdiop6rSj7C7M3dD+95ufG6F3c1XJQkp3H+AlK7aTK3/rx6Dml
FekNVioLC0LjiMZ1ZeVBOtIYoXXyrYE8nQF9E6kkW/o6dajMDo9F0Ck5LWLiES/E
34bHkP3p+lwOOj0l8PONG/MaP5j2S8v7LjfuMBxcuoo1RhplLJQLUYGvkywmqDK2
2t5vqIkpGAxBN6WNgZt0OwcBlPC3PP3JHQ+kIn9Sk3MAR5plCAhkywTHFwoDBe1e
FnlmDyVjgOdtzZl3aNjz7uOiDtpecwPmsxah8ox7H5wOOagAabDhweFXh0IxKKXS
UQH4zAt2MLHWqAAGjFPFiYxb/ugU1R5Qjv6NKw8bWGFOrbexMiA2bCGOGmstxd7G
SU0tn54SBi+wOEDmJGnaZS89ZzGEoRm6LRJ5EJz+a03tTg==
=KOLu
-----END PGP MESSAGE-----
fp: 88823A75ECAA786B0FF38B148E401478A3FBEF72
- created_at: "2024-01-11T20:56:10Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA0/D4ws+/KPtARAArZ/F2Sh0LIACUnzLO45O0GsesOm4QS/vVEcZ0BDms/fi
Xe4mmJbYTvRIgWfoXpbt79UreBamMFCSpXBPJnx/d2F0s1RHxKvbq7LwNL/qpH3/
pUJuAbToVTqLyS329YfJVtGtfYRsL0nIyt28wNjz4XudoTfoaaegk+1SSpedT7gW
Wq4ipL3m226yXyTv6DTu61o389TV3H2OR18hawjF6lDfDSCYtNexRCxV3aSqkDU5
Ik9n9OkWrIgJ0ZM4DJ7U/Ltx9ju89oWCmjBfw6IPSkQGSBMNbTolVHdrFbtsygK4
FnHRJn75Q7RkrobkrusqypFqu+D9QK2tijOhahFxfdU/S/zWuzfPiKv4m+iwRo5Q
UeJ43uea8DtnfLCIHISh80mqXwhEpulEb73l7y80EdtHuRURlqer4KPmVtV2Q620
OyLHugmLaqJUXzC6sPyrWBO2tPMqD7JRA34fx5gOVRvyd6KdTc/Pn64/nbqWFcIM
94VIOdJUGoyDtxLVPu7nttlVddqn0obUmSuSvs1ouTntMkScRS6hNTptxS3BbQZ+
FDG/mLgArkrEk/2m/+OuxH4teRqDVcwgbKzkZWgZ0RH6k4v2BJSKnTT1S5TOjJg5
H/RcnMtQeZq0G67fz8uwo3Hqm6FAGBuaWkhtDknNtLEXHaOGE8IIM9L2CeLftq7S
UQGxv6DQZ7PpMjo4LRCyCHNj9ddykRneojKG5cjQxMhTMH2PmamfpB+c2dUSvqin
Ius8vdBiHGuvEwcdJQ3m7cYhkLZWuRgIqGpIrGJX5dvTIw==
=Hi+j
-----END PGP MESSAGE-----
fp: 3D7C8D39E8C4DF771583D3F0A8A091FD346001CA
- created_at: "2024-01-11T20:56:10Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA5Wf+FyJ+zFJAQ//fyZa4Tzetgnur+02xwrfyxuU3Pvh2+NqSwFQCpo+reWo
bO59a5McV5rWnzL59r9XK/SGwBN87JiDFaTvpc2VJnGAxkz6vw5fuXQI7opybVp/
exqsqtR6lFLaznAi53oeIgBXIg2svOLr5tD6y9eh6eB4rGrbVf8T2N7TlrSal1RT
qoRjtLLZtNXWPMyIGUTjTr4HIUoYvScwQkBhG54R78PXtkW3QfmYJVqXlzTsbKrM
uAdC+Fd7k2ko39s64PPG6QsFFBg81UAz8SvQPfe6b8sv5IaVDBBk8IJ1tORX5/26
BbXOQLjyqdxHR9/KDeS/wj1e9rpRH3BgHybft0T9vBZyyBZY1dPAisRKXThs/Khb
QZUrEd9tNQqGhJrBEKGQuoY39G6mVOywvi4Amubg4L4VbETOD1CM8MMQFlhWmXDP
k6UYMY4vUt9O9/R8SljZBejO6Y2+smCzC4lDq5W3sBu5P+JnnHCnM0wgRoS1aCpR
tsBIKE1f+rlG+kb6eTGcCCR64H+TK9hT49MtbkFeKUO7rlZkbxqKgYdN/Q1HzCEW
YCYsxzJQo4mqTRQ4PYRvo+9Oo9gGtWY48H09qTGR737qayxA3VpdHepABBHC9nm5
BogU/3lTH9PzjESZkEckE1sx7QHUs39FiovXDgvsMRt6+wo6Y5L+dKoXU4MszAzS
UQE0UZL7h7N+QvTbujVrarB6A6vVlwjV0gbQJDRXmPw2awJjBvsjGNfLQ0mruwqb
RLB5G2SvQHiILN/ByD3NxhonQ90mPSjmVBfbdsOp6H4woQ==
=J+qg
-----END PGP MESSAGE-----
fp: F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D
- created_at: "2024-01-11T20:56:10Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA8KRInHl7Vz+AQ//USOIJ5cPWOQgcqjauvvccC22wxU7Rp/Bx86ajZFpL6M3
ns8g3TC4ga8OO2XYjLTHNXPAzPvEE5lskpO+bkDbqRPkkkGeauqupQTtDIMg25kF
ouBPcvCirWvBJ3uiHHKw1hvTMXAIwcdvIyvxP4zK7sWU8OScDw9nNS8uhOLH9wds
J+Y0qWPuxAJrJF8cgLORxjk5BFh5IdOrmijm72+qEHER6qgYgXoVVbGtIixUTcfv
H9TqxHPkeqgMH2QVGEGKGRueoUVWc0FXtVLNRKlZ5VYX+nZUBDdhVjiiG6DBkWtu
BayAhjRFh/oGs4Q+WyozKy/mv1hJvxsRjpyK78wYw0yQVuwfd/X73y2EkQQNquCk
SyzU+C+5+faJpf9HPq2nv1zrUJid1zSv01IE70OsRFAgKXI9thQlx3VIbLTU6RkZ
Bw6BsWoQmanUR3DUzWvL+lhzYLKhVQ9Gf9rPOK0B1XTvntTGgq1zOYQn/FmlhJjc
SJoXgNU+i9F52CGIJ0fTZaw+8+aJ6oL9SLETl4T9Gj/XCpuDUGJAMP++V7YLWsEf
5tqwHDngm5UJNmqy5vzVbQAIVyLCK868S4xNFRUFwQMCZCHQeW4MhVM5XFE0d0ab
A5MSm8X7HmYgvg+WvXzawyEX3OyAnw1RZ+n+b6w2NN8YLP1kRLjirDS3PbsLybTS
UQHc1/GvEhu+7CSv118mKOyJwOQ6u1KAblmg2yzyhxN6ZvuwNJ9zvSnovSALJHWQ
HSwUH1xcOoL1xQTwJ/+Ha/n1q9i2MqD4uLSP29yYGgdq1A==
=cXXw
-----END PGP MESSAGE-----
fp: C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD
encrypted_regex: ^(data|stringData)$
version: 3.8.1

View File

@ -0,0 +1,23 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: invoiceshelf
annotations:
cert-manager.io/cluster-issuer: letsencrypt
spec:
ingressClassName: nginx
rules:
- host: billing.distrust.co
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: invoiceshelf
port:
name: http
tls:
- hosts:
- billing.distrust.co
secretName: invoiceshelf-tls

View File

@ -0,0 +1,13 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
commonLabels:
app.kubernetes.io/part-of: invoiceshelf
resources:
- statefulset.yaml
- service.yaml
- ingress.yaml
generators:
- secret-generator.yaml
images:
- name: invoiceshelf/invoiceshelf
newTag: 1.1.0@sha256:50787e404725ad4f47462eaf38832d97c627a5d139d51a84f31a9bd90caffb3f

View File

@ -0,0 +1,6 @@
apiVersion: viaduct.ai/v1
kind: ksops
metadata:
name: invoiceshelf
files:
- ./env.enc.yaml

View File

@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: invoiceshelf
labels:
app.kubernetes.io/name: invoiceshelf
app.kubernetes.io/part-of: invoiceshelf
spec:
selector:
app.kubernetes.io/name: invoiceshelf
app.kubernetes.io/component: server
ports:
- name: http
port: 80
targetPort: 80

View File

@ -0,0 +1,62 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: invoiceshelf
labels:
app.kubernetes.io/name: invoiceshelf
app.kubernetes.io/component: server
spec:
selector:
matchLabels:
app.kubernetes.io/name: invoiceshelf
app.kubernetes.io/component: server
template:
metadata:
labels:
app.kubernetes.io/name: invoiceshelf
app.kubernetes.io/component: server
spec:
containers:
- name: invoiceshelf
image: invoiceshelf/invoiceshelf
ports:
- name: http
containerPort: 80
securityContext:
allowPrivilegeEscalation: false
startupProbe:
initialDelaySeconds: 60
periodSeconds: 5
failureThreshold: 10
httpGet:
path: /api/v1/app/version
port: http
livenessProbe:
periodSeconds: 5
httpGet:
path: /api/v1/app/version
port: http
readinessProbe:
periodSeconds: 5
httpGet:
path: /api/v1/app/version
port: http
volumeMounts:
- name: invoiceshelf-data
mountPath: /data
subPath: data
- name: dot-env
mountPath: /conf/.env
subPath: env
volumes:
- name: dot-env
secret:
secretName: env
volumeClaimTemplates:
- metadata:
name: invoiceshelf-data
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 10Gi

View File

@ -0,0 +1,32 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: docs
spec:
replicas: 2
selector:
matchLabels:
app: docs
template:
metadata:
labels:
app: docs
spec:
containers:
- name: docs
image: git.distrust.co/public/docs
imagePullPolicy: Always
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: docs
spec:
ports:
- name: http
port: 80
targetPort: 8080
selector:
app: docs

View File

@ -0,0 +1,8 @@
{
"m.homeserver": {
"base_url": "https://matrix.distrust.co"
},
"m.identity_server": {
"base_url": "https://vector.im"
}
}

View File

@ -0,0 +1,3 @@
{
"m.server": "matrix.distrust.co:443"
}

View File

@ -0,0 +1,58 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: website
annotations:
cert-manager.io/cluster-issuer: letsencrypt
external-dns.alpha.kubernetes.io/hostname: beta.distrust.co
nginx.ingress.kubernetes.io/enable-cors: "true"
spec:
ingressClassName: nginx
rules:
- host: beta.distrust.co
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: website
port:
number: 80
- path: /submit-email
pathType: Prefix
backend:
service:
name: web-form
port:
number: 80
tls:
- hosts:
- beta.distrust.co
secretName: website-tls
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: docs
annotations:
cert-manager.io/cluster-issuer: letsencrypt
external-dns.alpha.kubernetes.io/hostname: docs.beta.distrust.co
nginx.ingress.kubernetes.io/enable-cors: "true"
spec:
ingressClassName: nginx
rules:
- host: docs.beta.distrust.co
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: docs
port:
number: 80
tls:
- hosts:
- docs.beta.distrust.co
secretName: docs-tls

View File

@ -0,0 +1,762 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFi8udoBEAD0OKIpZJ7TAqFI5G0x5AIX/0milJYZt9ZBfv40SBBm1ZgDg4iY
jugikXidxF21vDcj7VweY0DZSzsBsEgnFsRStSjAWUc0lVpIi2whJ0t4tXQJU0+X
qc4yb1IcIA8wsSgzEA/LRktL5AuvJbD8Y6jvFjzPryopSpZvFrydC+Ziy4THlh1o
lVAX3CfF9PgXF3P+XvFLhU0Iqo2bLChM8gUtwA7kT1+vaOXTaLfjIUsHDPwknoOu
qdLoou0DKWxcHd69riVoVveOhY4GnUbHbCj9LaRLjg8DSI9+SSM2X+YJ4scB2MCD
G9PtKIyAkuLjsZbg91hHFqRJyRPUZRxn6WR7waxvoKvxLanLJbTMiBiCepbRxDQT
r/hEPQ3tsDmPgg0j0ZO1FT0iLtjYm9gkTEIXiur/ZwGG3fqyAg0vKm0/crrBdLGL
TOGT4g3w5JbOF//ORfCcr1OxYtcWNiiO/hWElBMfbP9/iBXxZ06BW5Apc2O+tHQq
gwhQ76mKZNb2rwphnBt7Djz17vPIeqoH4xBYmo4obcvjMqlj8z2YkGSs7xj2E3hg
N5LHjcSJAQMiM85fZYmnP4Dlorz76qIkx+HXxy8V99HdFe8WFeeStbRywCjkp2RZ
YEZ0jVIS7re493VY+2f21lCIqMS0d06NYpscuxpDeEKilOiCkauC+N/odwARAQAB
tC5TaGFuZSBFbmdlbG1hbiA8Y29udGFjdEBydW5uaW5naW50aGVuaWdodC5jb20+
iQLhBBMBCADLAhsDBQkNgEknBQsJCAcCAyICAQYVCgkICwIEFgIDAQIeBwIXgBYh
BD18jTnoxN93FYPT8Kigkf00YAHKBQJj0LldOxSAAAAAABAAInByb29mQGFyaWFk
bmUuaWRkbnM6cnVubmluZ2ludGhlbmlnaHQuY29tP3R5cGU9VFhUTBSAAAAAABAA
M3Byb29mQGFyaWFkbmUuaWRodHRwczovL21hc3RvZG9uLnJ1bm5pbmdpbnRoZW5p
Z2h0LmNvbS9Ac2luZ2xlcmlkZXIACgkQqKCR/TRgAcrR5xAA75FQNh3zbZzNpLcT
HZLF0Rfu9jR244AaLFcr+j7BLYOi3bRnukE1L1f1evIln1QVZQUTPuKgH4q5MApU
erIGDQ7pe8oFflzU2wRnpu001D7lbNDkNqHmEo0G353YbEe+QRcpgq0xhuW9ZbZy
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
ZG5zOnNoYW5lLmdnP3R5cGU9VFhUXRSAAAAAABAARHByb29mQGFyaWFkbmUuaWRo
dHRwczovL2dpc3QuZ2l0aHViLmNvbS9zaW5nbGVyaWRlci9jNWU2NTBjNWE3MzRm
MWM0ZDZhNTgyYjBmYWZhYjg2OKMUgAAAAAAQAIpwcm9vZkBhcmlhZG5lLmlkbWF0
cml4OnUvQHNpbmdsZXJpZGVyOm1hdHJpeC5vcmc/b3JnLmtleW94aWRlLnI9IWRC
ZlFaeENvR1ZtU1R1amZpdjptYXRyaXgub3JnJm9yZy5rZXlveGlkZS5lPSQwVjd3
MWY2X0tlNVpKTXUycXlNdXVBVjVSZmVadVBKQ2NzMnFiaksxd0l3RRSAAAAAABAA
LHByb29mQGFyaWFkbmUuaWRodHRwczovL2NvZGViZXJnLm9yZy9zaW5nbGVyaWRl
ci9naXRlYV9wcm9vZgAKCRCooJH9NGABypl7D/9k7XFqGXeKkqTrXrbAuf1I3l0z
1dWs8WksfsROqni3P+NjI8tdeuDO+7XRdhR3ZWdvHaB9bTuJ5UaE0p/Un8U9UWUl
qZBXgLuYTSzatH0Ln1f0poeYR2ufR6SljSCxKUEhYABmK6+mNcTmpD1mUINpmDce
BK1uZu/aCBVUVLqQu/epkEBTR915Q0imsvClPda2WffNnK9JTY2wW+GtBHJ3D6Da
FemqwVTX8rSG2Ms0h/uNij3wKX4UysyyWLYpRGUJuKVYH8Fpyijr/biiDR53gi2A
isydA428BMZqsPmQLcVOyV8/lS4qetXjAUZGgw67huxvPHJ67e3uCYgDue2EqPoN
L9Dlxc2TVVI3vTLBlczAvVw0FlMErlSXH39oyrBTYyIgC2vQlOmQq0+Eb/+m24QG
S7UvUAVl0aVzZYXpQ4MOM/0ZkK/5A7ppzpzn2X6El4ZbI8/5Z72q3ZIRiDixhLtg
NQlrA/cupYl+JyRBGD767pe79AMBplGuMN9TMR4ka1HIEMfnrr/5uQgrA5Ylq8jg
hBVqWFy9dVwD/+8f2R1Es3/vo1lXxywwr1SGlRaipt4jayUYb9azn5yE70k6HSHe
6aNkJGRcr/q8ohuWetdXEir4cRZgS/MeEjp3+N9QVU/hZLCR8cE/cIYXn9RE6v5G
RsezLdXYIsnDdB/WVYkDoQQTAQgBiwIbAwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4B
AheAAhkBBQkOz3WZFiEEPXyNOejE33cVg9PwqKCR/TRgAcoFAmPQhNpFFIAAAAAA
EAAscHJvb2ZAYXJpYWRuZS5pZGh0dHBzOi8vY29kZWJlcmcub3JnL3NpbmdsZXJp
ZGVyL2dpdGVhX3Byb29moxSAAAAAABAAinByb29mQGFyaWFkbmUuaWRtYXRyaXg6
dS9Ac2luZ2xlcmlkZXI6bWF0cml4Lm9yZz9vcmcua2V5b3hpZGUucj0hZEJmUVp4
Q29HVm1TVHVqZml2Om1hdHJpeC5vcmcmb3JnLmtleW94aWRlLmU9JDBWN3cxZjZf
S2U1WkpNdTJxeU11dUFWNVJmZVp1UEpDY3MycWJqSzF3SXddFIAAAAAAEABEcHJv
b2ZAYXJpYWRuZS5pZGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL3NpbmdsZXJpZGVy
L2M1ZTY1MGM1YTczNGYxYzRkNmE1ODJiMGZhZmFiODY4AAoJEKigkf00YAHK3xQP
/Rapb5NSCikCjuYAjCSVNrH7F9ufgJUGRQMPO5sCUsg/RQzNk6AD2J6Sw8A132PP
pg10wfxoVLhJVwwgHiWbXNwEbcQVQO4gG53LxlerLzNWQfbCQL7q46P0G9iAAmTC
h8pvTnLNaptWwvS1e5FQ9ltcuVtKaGq3IS3iLTfLQmZ1RUV1SZ6ND/aOdDAUDwuL
/ybHyqfi9qWJhJIFwut7lWEG1/nc2+gaFOPj+R4DCDe7cOo3hZBqDf8CrLbevVTv
8fCwuPyPIA5B/FQQxqxmN2fkbGTaxA6mqiDYFwhsyf6A1Lyw48CSFaHGowcSZ+VO
MNF7hnNHP0BOdE4dpZGCgUd9PbFdEIl0+fEfgDTsQYDNDSStTcRV0f7vT8BEXXnH
5gXi5gY41ShyxYgPWEG4h5a9trSy6pI9cjBpcx7fbEnWQ9qUCfG9P+bgQIZ/1osl
vIBnr+2Aa01ZzHsN2NKwDZOTaWJyzMrhK/VGsR/cqTVoU1RabmLgz1URTLJ04WOC
bgJ31TG9xhIs2XBthebSEFFpjJu8b1CWC2gypi5ZwHMjEYWJBodqFyngXYtW1oLB
rkdk8cxIh5e50MaYhPzoZpRU/vqEbcgWsQnE9DZ1t+cGnCRPPjVF3Inu6+Lajlyl
eCtA0iadi+D/FEbUEPylvtTc52pUo5/8sbe/F5wwGQHfiQNbBBMBCAFFAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4ACGQEFCQ7PdZkWIQQ9fI056MTfdxWD0/Co
oJH9NGABygUCY9B0nl0UgAAAAAAQAERwcm9vZkBhcmlhZG5lLmlkaHR0cHM6Ly9n
aXN0LmdpdGh1Yi5jb20vc2luZ2xlcmlkZXIvYzVlNjUwYzVhNzM0ZjFjNGQ2YTU4
MmIwZmFmYWI4NjijFIAAAAAAEACKcHJvb2ZAYXJpYWRuZS5pZG1hdHJpeDp1L0Bz
aW5nbGVyaWRlcjptYXRyaXgub3JnP29yZy5rZXlveGlkZS5yPSFkQmZRWnhDb0dW
bVNUdWpmaXY6bWF0cml4Lm9yZyZvcmcua2V5b3hpZGUuZT0kMFY3dzFmNl9LZTVa
Sk11MnF5TXV1QVY1UmZlWnVQSkNjczJxYmpLMXdJdwAKCRCooJH9NGAByqvhEADG
ZDGHWe9Ga8D4EPdHZV3EErZOE1FznNMfd0yPVJwDaL2QKrGJfiCbld7WHHlkJBdu
12642L1F83Iw9R8PnVFnDTG2VBzUtdxXD+ogKqxqiGRfO9ANZHX0bQ++h06wkk/E
Q1dzoAv9gnc3tVKtqjHgSScIDT2QbSUypuK70tqLyZWv+hjpv6xlJYz/cGwbCSHC
11I2pCfRxMAKj/gY6jdkWbYd9/Ck3R0ShPy9E3yiKfmCrGxnfnTVH5nnS3WDaOnc
8eqN/DZJkixF/Ud8j2RqyCQByDYRLzVsJvKcXFWPWz4UDd2xbaQ3DqFHER2fyTlj
V7Vzf/fnMi23KkpnRB6J2lrFCIZzOQZ3moig67doazkZzLwEAow3rfza1G7xDULI
hpw6rn/BY7Mi9YdItl/wTx2Xb67WfCIWlEplpO+mm3ZCLxQgN//mi8xSggN2QLmm
9yjwEgrG4pFivyVldDwx3GrVteDi9sG9e3DZahVK6clCYwT0uT6IigF2WJUhQY9W
IPXDGIyDKXBP7pcdIwEnYXryyluG52XENU3p4lz9ECRn4y1abOsxdAMsjDLZTzU2
2/cNjE3C2ETFEE+ZbMle8R/mOzUGPxWOK+9jh7Wq5Np1pdKOW5H0NEhlJu1f7Ktu
gpZmAvEG8uwUiJFlGmTV/VYCCTdvogSSeegKyEi+6IkCWQQTAQgAQwIbAwcLCQgH
AwIBBhUIAgkKCwQWAgMBAh4BAheAAhkBFiEEPXyNOejE33cVg9PwqKCR/TRgAcoF
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
PokDlwQTAQgBgQIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAUJDs91mRYhBD18
jTnoxN93FYPT8Kigkf00YAHKBQJj0ITbRRSAAAAAABAALHByb29mQGFyaWFkbmUu
aWRodHRwczovL2NvZGViZXJnLm9yZy9zaW5nbGVyaWRlci9naXRlYV9wcm9vZp4U
gAAAAAAQAIVwcm9vZkBhcmlhZG5lLmlkbWF0cml4OnUvQHNoYW5lOmRpc3RydXN0
LmNvP29yZy5rZXlveGlkZS5yPSFkQmZRWnhDb0dWbVNUdWpmaXY6bWF0cml4Lm9y
ZyZvcmcua2V5b3hpZGUuZT0kblMtVnF2S3owY2Y4VWREX3AyejFwVnRrVFFwNXUy
SXhmRzZrOFBCZ2JvSV0UgAAAAAAQAERwcm9vZkBhcmlhZG5lLmlkaHR0cHM6Ly9n
aXN0LmdpdGh1Yi5jb20vc2luZ2xlcmlkZXIvYzVlNjUwYzVhNzM0ZjFjNGQ2YTU4
MmIwZmFmYWI4NjgACgkQqKCR/TRgAcpE3Q/8CZ36kXGZ54z8MXWSq5joN4pII8nN
38MpZN4QSB/lzMrdhrkGb8WD+wzOaff5Bt4a7u2l8Imx36f/CtbsEk/ig8J2bpsG
Cbvnon2zPo8aKFtOV35kfEHsqvCvy6q9fPpEF0MW37pdKsANVjusAvaT8yiFXsW3
8beaE1naWX4Bx0/kb7ERIIyHLZW9sS6tdCHM9fHmujeMItwUPtjMRGyHvMXTXYAQ
mkovWEUKf1tVc06KNzHx3LOcAowt3R8/YwtRxCMNU5oTFwfi9uxR1rsqb5urjwbI
N3uD40zfXP9UWz+GA0USHYymtoR3+kB7sZXLDI1u42wJcVVjEfK5m2Rg8hoKseOz
uOtBttVP7zcTfRDj2Y59G+dYHPzScwmvA/8JHy2Mdg8vcWwHazypHgA+E2R1Fgmp
uz6zLotGife61jy/x7g2y20UWcbogUCLpZDWW5tgzbpb0+jZQ0LRLNNxz3VV9apc
DVAfPjE03e9+xMgtUHSiT8MBGjJ5OWz6mVt7j/LAxL3LVPkbCYASjZAfVecXppdm
MvJ77RCApRB3lMbaOF1WW8DYIgDLm+8Drz3wT8xpbPxCFdvTH4UQLO8nIB9UYYaD
Bp3/YLLRpG4nJcm2CywDot2COq/MP8xYnHgM2frk759Z3gdl5F1IEBFE2NcsEUTa
Gi+SGZYCwcfxi1eJA1EEEwEIATsCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AF
CQ7PdZkWIQQ9fI056MTfdxWD0/CooJH9NGABygUCY9B0nl0UgAAAAAAQAERwcm9v
ZkBhcmlhZG5lLmlkaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vc2luZ2xlcmlkZXIv
YzVlNjUwYzVhNzM0ZjFjNGQ2YTU4MmIwZmFmYWI4NjieFIAAAAAAEACFcHJvb2ZA
YXJpYWRuZS5pZG1hdHJpeDp1L0BzaGFuZTpkaXN0cnVzdC5jbz9vcmcua2V5b3hp
ZGUucj0hZEJmUVp4Q29HVm1TVHVqZml2Om1hdHJpeC5vcmcmb3JnLmtleW94aWRl
LmU9JG5TLVZxdkt6MGNmOFVkRF9wMnoxcFZ0a1RRcDV1Mkl4Zkc2azhQQmdib0kA
CgkQqKCR/TRgAcoa+A/+P7uaM0Yna66tHAhd4Y7myXXGEpR7W+jgG0UX5AgduoV5
sS2E5mSXtUROgsaNUqrHZjq4L30Yk+tEDD/5G7gppg27Qtanl+tfArd6NCHFOcIf
O61tUcS/tl4EmZtWRCUWjriAI21cwzq/0dxbCImEYxX7kCC9ZvSStAlRUeK8HkkO
tBUYOU9GzDQyt7ZCCfGZe5gJejqqET8I6K1/wn5ys6vCL16vsrnDSwRH0BVUqcy7
daY+pzhtKkkWTIm2GTs2Wqpykeo90ILfVx3VTYRXLXvuBAWhzFnldw1pq5Aqpo2p
dNPjw+2eAkGrCgelivrAYTEoJUxjA/4sxDhMfk/lRWXjt0+e32/mwNB/9e9R2ms0
C8cq2J8rjkfYYu0YtDPth+K9pJEI7ZV/Yf/v7R4CvToLDKzpeucLJsn9MPmIkYQj
wc2iED6NLJsYBYcgir057q8CZrfEUarIEaC4Kus9wfhxk0GLM7+Jzs8vP/qkwcoE
ur2vdj9h8nTgdzFBAjkE6a3AHxWls/OQ9Lpbmp4NTofsvwriAOPHVpUVi0QWuaaa
VAF+eclu1nvnyNAa8i3w87MISXkEGCc2ErZeKT1kedNmJ5GBw5kPdlgj+dh5m8Q0
bqMo4mJr2cVVHPU9pM6CsXha2D1MRYrWrazOyB0lAkLG5g/P9UumzD0RGqXQYPGJ
AlQEEwEIAD4CGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQQ9fI056MTfdxWD
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
U+pVYGFv4IXQhLs=
=y6JC
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,582 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=z4xZ
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,235 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGBiDUIBEACwTbvu3ohQvwrv3eaYKRR7fRUzgFEwbmCXt+e1CgVR9dwAuNp4
1KW0yMg2xD2G6jhoc0z4WaTjt1Mnc8Bk4q+Dt6nFIBOb/DjIeAPcOGP9FKVES7fl
71PFWV4j1eT4e8XeW2TRIdOLKJufwUMGXytQbxGonx/KPLjbVdbYMOOouj9rjbY2
uzXC6JfnYv/9GTLkWiy2lMwgHojknKmL98nhfsvVps0CbMfLE0q9P7Atgxd38XoD
0UbijZsLH+liA9ewOCoknxXuPc6E1TO+KRPVfXogRxh2fWZuV4ZNLe7MN4SXT6Qr
MZAF1ruhM6oGgJIEueOG/5H1wdJ+W5cRJ6vF3eSDXz8ZSmBB4ezixR8wbhj2YEhz
09Vp+QjtwmvJK1INmt97Db1iy+zqCj2s6+Ub/MEzygmFPpcTVnnY4tsPy3kfeL84
V/N0MxbywPZA7u/f7uC8Hs2kz4xaSSbYI3izZuDzklgGOdChUOyRa+g0JXSwA5AP
Uh5gKXDx3hgH33WubkQZdmM8GISEpUaD4IfCe9nw5Pv7cxB/kupnnQOsoDlcmrv7
b3QNxueZ861QRFdISKgxdn2ZqO5d9d70xZHuCfWEnckBXHJrCXSZLK7iH0f+xnTQ
wms9MqetXKTaACTN03P64eXoxgXAi2X/I22S33R9Ftnu6+QEbazLjIj5iwARAQAB
tC1SeWFuIEhleXdvb2QgKFJ5YW5TcXVhcmVkKSA8cnlhbkBoYXNoYmFuZy5zaD6J
AlQEEwEKAD4WIQSIgjp17Kp4aw/zixSOQBR4o/vvcgUCYGINQgIbAwUJA8JnAAUL
CQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCOQBR4o/vvcpTSEACFge0zA8PsW5sy
A62NBoKEq5/NcpFrW5Q7HRwspmLq/HUppJ0FqjmYMaIuDkkiv3+P9Yz8LSml3OZX
Eqiq7/hj7SXiSZ0AVNyluRdGGIO/nX6xVDdS+LTtizBfN2JLwGWCsfVcxpUQl1Wg
QMZusni61/zb6O1VqWB6z+Os4jGLA92HNF5yVH6tR+D1pd0xFxMXczA8xux78E4H
YpjBnf/I8Lud9QS0z6t+KH+wZE5QTinYzADyCFAed9t+38CNJrQgbm64JAE9FoEH
uEvi/wF04SMqEJ+9cmjuEyAVvULUck5SgBMRPx5MyxvBjpZkasNha0OgoBRSEQ5h
tqea7CmKfWaWV79az2E53K8vDtr2NkYe4F3iS7w8hbeItfnrsQYMAGdjjXO9Aqmg
vRWivbtwMpGqU4cx+T+d7kVwKXYMPjcDrQ4G2CaU3SEibFyxPSwc9a+5OEvHP1Rl
7G/XkG2kbA7abgcTOpO1AMpUMvF5MQMr83AzlLDEz0onxQU3RR6UFcOHLd00XX9u
eV4YTbdSQK6Kb58uDVx08hDO8rqyJqXRWRhfA4pqA+2y/hEfbSEOmPV4tcpYoqro
+kAN19oFCOsddq7WfIaqkXyPlZMA0crqC5s53va29ULHmJkMtW7nqCKPp3WucyQT
R6+eF7rw+Zhc+jkX1nNefvUriMSlcokC+wQTAQoA5QIbAwUJA8JnAAULCQgHAgYV
CgkICwIEFgIDAQIeAQIXgBYhBIiCOnXsqnhrD/OLFI5AFHij++9yBQJg2re6RhSA
AAAAABIAK3Byb29mQG1ldGFjb2RlLmJpemh0dHBzOi8vZ2l0bGFiLmNvbS9SeWFu
U3F1YXJlZC9naXRsYWJfcHJvb2ZfFIAAAAAAEgBEcHJvb2ZAbWV0YWNvZGUuYml6
aHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vUnlhblNxdWFyZWQvMWEzNTBjNzE1MWNm
YmJjZDhiOGYxOGZhZWJiNGJkODUACgkQjkAUeKP773IZOBAAm95gnhIty2S1xvG1
MhUWI7yUlCgKYu75SOVYnr5Pzgs3oKCB6lffBTdtslqcsw32FzSSJ6ShVZX5QxVw
spgxv+r46CQK0Dvh59GgvN6DhcLw3qtJJkgE4PS5dN9wn3GIV2uJJOrnnqIRh1Wg
XdmMZfYVlazWqfgfJygZ+WHdk+5g8fTvYda0qsYWZ0pnBcqC/zfEMwNDTN1bQEJ1
YAvatNAw3KpUOHrsY1yBrgAIEyArf8DJ7BzLF2V1n5Ee+YOEP66+9kEn7TDA0lV0
xaNHInE5orNro/BFmwj0faCW9YZlB/xP+Q9Hbl1RGp9YPhVEkFTFASKqMwazMrat
wV7mW6MnaP+oMzcBHhJq5UVXtxSTUcPLav4G7TLkO0iU/ztiPaIw0L5OpEYjW02i
yYYWftauWqbkDtMjFJ9Elnud86/IO0ZTQXELLN+nnZVMU3lqw4VK2gmfytmlk9gM
uE2mvTbnFWkQ80tUaYCy5fIde5Qg4vJxG26Sr0GfJiR0szav/9X9Bovc9I7xkmXW
bGRtfgMFDY0K1GkvN2mk6uikZJu5iqd+x34stvbnAATpMLOhAWjbV4/dJDBRlY1X
jb1ojEdmAmI1FHT4d90y/jc7xNHY/wq4JF8bQjSM3JeWc/RrC8rqElY27ERy27xe
AJiNQyJt2S/hpBYMzJ6KagNodACJArQEEwEKAJ4CGwMFCQPCZwAFCwkIBwIGFQoJ
CAsCBBYCAwECHgECF4AWIQSIgjp17Kp4aw/zixSOQBR4o/vvcgUCYNq1El8UgAAA
AAASAERwcm9vZkBtZXRhY29kZS5iaXpodHRwczovL2dpc3QuZ2l0aHViLmNvbS9S
eWFuU3F1YXJlZC8xYTM1MGM3MTUxY2ZiYmNkOGI4ZjE4ZmFlYmI0YmQ4NQAKCRCO
QBR4o/vvcspWD/9tPmipSq3Bp4V12PzTr1U1FpRG8mWzcqZW2CpNGSIK9AxFH3CN
yBG9/CvCSuDz0Lgyjl69ixoQKGlacfDHRyPghJrRzzV4TTiBpMmRnqgi/TDnEr1S
b/2hFxT3/XFaPfTVIc3JPkfS/ywRf48UOt3gF/A3/CmVDNfQWUpW0+1Z6QcjmTfX
xNhYUF/CqyyapfuBuFX7wKoY1PBZpkOOoycKlEyrtJjjWRMCX5ZD09jhVVI8va1U
Umxshfol3yapxGwkndrX2qnIHJbVwwJrrxr2i3jMnp4+EopK58epSx0d91vqGsti
JJCl6PHB5XJthyyFZj5DssDyFPnf7Y1RovsXcoBU6TLUF6k1jk9V+t6c0D9PQb5v
UJTprIOHkqCzJwGsflyJiLjWijk0kUN5XDsUp+RqeweIr+5o0FI3HLOGE6cavRFU
NzXPHTLBdDFWK8TPH3IJ9WdHkAWkzPDzuYokVR8HCVQygrnzKm+iufr3UpOLvtSK
I0hdbfpeAj2fNKEwPoK/XS/AkjaobMuhwYB1wS/ZiX7lBrWxULYKzdCp1qPTqD5I
Hn2UMw1kmI7jSd8/gtYosHf2cKukc5uFCMUj0lLbHJGpOUCRnpAbarypY0heH3Fk
1nDNWwsKfX+hxHQgSLl/TO/YBXcECYSnWrHlAPZzfTywbeFR5lW7n/QhaokC+wQT
AQoA5QIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgEYUgAAAAAASACtwcm9vZkBt
ZXRhY29kZS5iaXpodHRwczovL2dpdGxhYi5jb20vUnlhblNxdWFyZWQvZ2l0bGFi
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
=y7aU
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,10 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: website-beta
resources:
- namespace.yaml
- ingress.yaml
- website.yaml
- docs.yaml
generators:
- secret-generator.yaml

View File

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: website-beta

View File

@ -0,0 +1,6 @@
apiVersion: viaduct.ai/v1
kind: ksops
metadata:
name: webmail
files:
- ./webmail-credentials.enc.yaml

View File

@ -0,0 +1,118 @@
apiVersion: v1
kind: Secret
metadata:
name: webmail-credentials
stringData:
WEBMAIL_USERNAME: ENC[AES256_GCM,data:9tO99BuuepmaOB3vDS+Sovlxiw==,iv:1QnVUEgwZqmJiPfq2eDODCppmid7MAwwYtit4RQGiwk=,tag:nTKA86gwJzaCQG9jbdsCkA==,type:str]
WEBMAIL_PASSWORD: ENC[AES256_GCM,data:G86wfaVvxJcyAAEf+hfNXgt1IvUlXAbP,iv:6nrRUBkRCryUsA4Lk0Qlxm5EwdPvVmJ1NtvD4H/Wlhk=,tag:Mk9mSfSGCO8ceTq7+0jCFg==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age: []
lastmodified: "2024-09-04T19:29:32Z"
mac: ENC[AES256_GCM,data:iBZgkBJcRK5ll5rqCyo+eoYBRlZUNPQKMVo/fkcvWygX0vjPUJes7ZlcgUkMvLKuE7sg2Gjxfi/Hz5wHTHONHi6H+NrX8wMV5YBADyTit6iUnY+E4prKkO+4UjNApJWK2qkYSJOmki2tsgnSOtrOBE1kTzrQk8PX9mro/6Bd9lc=,iv:pCyFOQUA6DKigmL/AhaqDZ+ubhFUGfTuznDv9RSK+ek=,tag:G7getVh7S7ehj4pXI7mhAw==,type:str]
pgp:
- created_at: "2024-01-11T20:56:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA82rPM2mSf/aAQ/+PJZZk8l5rIqLgeZzumY/oZYbgSLhB1+kfrQSFKuWlWU2
wO8dabV77egBrHrViU8ZryJeq9rEmAwEZPTlTbvGdP4YWkXuQvjcnG41a9047p4Y
t67hvZbqdrLhtpAbYYC4DqEJAlQIFC9CfCCHybU3NvxDOntmSoXJ1VRdDwxeT4k/
2/W/4XbzvrV3mK4pocHryFkWfitplt92TQS+N+Y5mrRZAHioQNvSjD+mB5qllIGE
OenplDUOR5K28lAhKwJi9YU+4Q+WwRILn4Anh2kbthkOKbR2V01XEE7rZZ7miSmJ
HSSebOokY0KEwc5TS4YJjz4VJ25UTcw74z9oZXFh5UOCCbiOHS3vRqd8ZvbAOtxg
N69bHW6I61EvAmNj34r8ZIPYDsAUmVWg3RODzrHv53XH+7TIRAVwtyf0sq49BJz7
NYOIoAh3gfdt6AcX1wzE3NPO6GaF9loccKHzjZlgPrcG+OIiCfWvLe/ZSdEfWOz3
2ts4TH2GCTt8y5A3YZv6TiJTqkeZp+aTKTWHZ8VPbb1f/K/LZCgy8xJtsdPAm76H
Hs0fra+/igXCcsTn1hy8ApBd0kQmtaLfMdABJ4rdeft8M8ZYUE3hx0nk6nAY73TM
vUdtLKYYTd+8ZY8e61Hop7MEsxnV1MRCmxQYNTBCCLXyEb7EXBAFI3Dd60C29ZXS
UQGgFne06+Ylj2sDkWOEVDe6YJJ9uQpFLuVS0wkZv5k1IkSgQn+vIZLqo5ltWFlN
5sovHvmmclSlC7m0G90ReoNpSWP7RbSddqI3ht6H5GVYCQ==
=HuH6
-----END PGP MESSAGE-----
fp: 6B61ECD76088748C70590D55E90A401336C8AAA9
- created_at: "2024-01-11T20:56:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMAw95Vf08z8oUARAA55KjH0BV0S3PzGBlbxNr2864BRPbHcupAj52Smdh/dwb
0GL64ULgfFoytddgYXeXVKPwBw1l8UIZnRDoMZyeTlUGKrwR6UgAtYcs/BId9/jF
B8yJzLk19d1ld017Pl/3zGE6/2YxnE56MMeX+4Az8K1z1EBVOI5XFBjYz+r8tG0q
9j2ypWtzLK9Az0g4V5kTrnGQwA3NN3siF1Uo8lvJzL+YDVV7d9cfB+slYM0xBOKn
6amxxwKwRZegSckPg+/UWXZOdj6NEDpiQz94hQMm4Bm3N0HtrulATAMjAiTFfzst
W2R9X7U9FCMwhX1wi9QMVOy5crbBMMc3wmv0b3Ya+5smnrr/91ZDwD8s0fHKk/ju
BVMI9DaA7usAvlziX8LQv8Be6EHQSnBF3cDVQSTyM8TFtbQMMKMFQszbsRnvRqs1
k4b3veNYev8fJOK5JaQTJ+Wm7uFm22tw7Q6orSoPuD2+gIzfWzPFU1q0I7ROdN9h
sMc+/ytwKCU3oGbSLQLAyXI5E5czRJJ2797uwLQ3a5aFUSP3/iR/qfu4/MzGDgnW
XNVYadheL5xdgwnugm2CeYNwskZZXgto/bwiL/+jzeTmX9GfKN0+Nl2VqZTSRw+0
o9MTmKsZfq7BBJ/eOJhD1xK5rF2bvduQ9re4LJ8+31RGTN0eXWvQ43jU5FA6tF3S
UQHrcMjwQaVpVMNRH5AjrMS2ZKfMf+Ehbjoby6c+7W/zkOgYkPLI8dKFpUZGjPAg
YifFb+hBtcJTNiNJjVU/QGEenfMho9X9Uu0QmjyEbbXnIA==
=upcn
-----END PGP MESSAGE-----
fp: 88823A75ECAA786B0FF38B148E401478A3FBEF72
- created_at: "2024-01-11T20:56:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA0/D4ws+/KPtARAAt1m79BSP6vyV/zZNl+2tiI+1KLA4q+lMcWpzD4YAkWof
VDKGnr7sxDXA3EP5SZoCz9KJuKHMxc1cDgZ1AGNTNHYRVGyMNmWLbbqfX9XW6pZT
MuDr3W4wZc8aJP8sL8VjknbzuXTQPqdu8SYfHSPjXmNz3ai0h1dmYWJBF+2E7Uxa
r223JDz6TwS1VMk8TtJvlZgx+hCc1hroMmO5Su3CsbSum8ccRSPCOzXzURloM5Jv
xWZrmTWSsvg5lb8MQjnJ2ETG8alQDAZOgsK72Brq2baRZCcWJArFFMx7y0UlbBML
PYlC5QzsKFEnCC6lF+V1O1jUFgPYqs5Ck7H0kbfZbSCiF9fs7lhi2tQqRN1My7aX
cy5G+rbRg+4+TaA/xBssMiaCVSnI28zotrLX+Q5q+/laL+AdMSWTtfYbGpfEiLx0
ejWym/PJfgeozZsUXdcZsrVmMowksVyP0cnczNFBWbUVcSFRZ6+KaNBobjr2hiFC
NqX77VhkKnDsNE7HIo42yyqjU5ipqPaLp0qs6pQquWVNb/MBid07S4KBTQ2HJo79
tTki8djQBpBGPZJj1hwJvUtb+HuJTWEgI2Az6Pw9S70kmdWLSnp7aJtHAP9/GN+b
NainzJJ8mwv+03ohCxPHUercRtlSKjws6miCKQkxdGpqVCMrXlqx5XV1N3BX+PHS
UQGLbpsU8EovlP+jyc7WIqPAcGl6UGpHKuEJtk473eWKAwdoGdM2hug/83Iru6DI
pQN6SMixNNNpxvhoyaHhFyYFzC5Xj5YO/obEYpDfJa7tWA==
=TZtK
-----END PGP MESSAGE-----
fp: 3D7C8D39E8C4DF771583D3F0A8A091FD346001CA
- created_at: "2024-01-11T20:56:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA5Wf+FyJ+zFJAQ/+OZlDJaJgpA0OZIXM4zRaDwztjdvrsmEkupUH/mC8sXsJ
1Q7/pVDJZqi5z/ewl2EJGyar7uvmgVVauvqOGVP8pIb04hL16M7p385U9VdBMa9V
IhBIYDKQi8Ia67xz6kQsMvT4zvzo52Z7opb6Rmxf3qQt919iOLdJRtJXUX0Vhjs3
m0zyBw4jji5zeBcfNWFxwLe8Ie5+0E2zZpyakQobTLrinEzTqwOpoEi6p18b6tWw
/tLHvi52TejXxkfBVsBzHMDz44WEOMu81BG13BY2JvSmOtj9+yPad5SMBy/4ugti
6YN974B7Dsetsm8UavMj9kU44nh14oZ8cPJ+sbf0POttSXJJY98+i5eUFptrIZ0X
4SyUo8wMkxHtDiL7rx3nkiglUkpG4H4+uzcaS0y/A9zlQas+igYL5YdE7CL/M5ET
V0UWNQEVqCk3EjCFYGR6Ccc3nGOtxnc3eWuBDBCd3oYINjqci6ZK+ds8yIqUY64B
Y29bvQvLSBGWkJs7ol86LyuQrFC7vvLZelsGvkSjwaRE/Be8AADgreZe1BHC91cn
eE0vr1rY8RcVvFjbLonzBhO9aMC5o1FkTbmKbpYcnrB7VyiierGMe9g7wRxcJrEh
SMvquMdOZxPgiB6e1yJ44WPsWHZMQvBjacCToX9LhIPe8QsebnrIHny0GYmYS5XS
UQGiVLKMnZJkACJGLtotqZWFPJi0oE1B+X3+wQch5aYTDWqtQqY9aDXSHbKSvZ+u
MU7a2nFCcMMrlM3Z/MzQNQxD5az/NivyIXjT1tOjc8PiLQ==
=3nk5
-----END PGP MESSAGE-----
fp: F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D
- created_at: "2024-01-11T20:56:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA8KRInHl7Vz+AQ//WXsaXLEl1BDCWBw0sDI02p8QKUosA9JOSr9Za5iO/G8v
Pn5JU1Fk5hAPvy874pk5jlGSSyXsO9b1PAY0i18kZ8/MMZgolyNgi/mK2B8QvixY
zOr6tQ2aG84tbVmBO9rt+AVkhggOx/gu3ZF3gWskjs3dY7/mD2krhNynIReQfTUc
MpOWmVsPh2x+8zJ7siECIkD4stNcgRGKAabQHRNig0Zg0dJhsL7z8tVuGzZGCDbu
q5fXPF0bM5Rb38g9DC0pXp1WAfdpCoSh8LoOrF7UbWsQFws4+looAoarFzk0tUM4
/XTZTzBEAhf/f/RX9yJku+14erwC7hnWnM7Yr2O19lfQ1ZNuOqkZKFLT8kV4PPcR
vB/3OD15HGvQD3T7DQUe9C1kFs3u1Kymk0SUocv5xTRTvbQQSEqe3KkEhh3yjb87
0ZsEczDafx9b6BSG7hEUyBhND9Rk1FjbGM0u1Kowy+oLMFrEQ0Z/wtm4bam5Nyho
5i7BBvFUquSfqh3zM+uzd/69G5AD4B+E3VDtz04cVqzNYbCmRP9Tof1czxiPYJ+1
kyqlk1Kd53zU2RtH1K66Dy3VNHtjVheccEHhRYCMv1q1g1+4LgdaBkouqfNld9Zc
9OfK8ZYeeH1iiTjgvSB2FN5ZBZYSEfs1Hnfw0XpyZcPXxPw+UA3h0awellWk7D3S
UQFE/ARKfbhBbLgbaCduwrF2sWLMAj5WlQv+z4QLJkWire4Z9A13qUEvUNvys+i7
/nOXorVH9UnvqXobQSAT8I91/LzkyGZB7lZrTnHzKQm6pQ==
=tZkd
-----END PGP MESSAGE-----
fp: C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD
encrypted_regex: ^(data|stringData)$
version: 3.7.3

View File

@ -0,0 +1,71 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: website
spec:
replicas: 2
selector:
matchLabels:
app: website
template:
metadata:
labels:
app: website
spec:
containers:
- name: website
image: git.distrust.co/public/website
imagePullPolicy: Always
ports:
- containerPort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-form
spec:
replicas: 2
selector:
matchLabels:
app: web-form
template:
metadata:
labels:
app: web-form
spec:
containers:
- name: web-form
image: git.distrust.co/public/web-form
imagePullPolicy: Always
env:
- name: WEBMAIL_TARGET
value: ryan@distrust.co
envFrom:
- secretRef:
name: webmail-credentials
ports:
- containerPort: 4200
---
apiVersion: v1
kind: Service
metadata:
name: website
spec:
ports:
- name: http
port: 80
targetPort: 80
selector:
app: website
---
apiVersion: v1
kind: Service
metadata:
name: web-form
spec:
ports:
- name: http
port: 80
targetPort: 4200
selector:
app: web-form

View File

@ -0,0 +1,111 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: wellknown-openpgp
spec:
replicas: 2
selector:
matchLabels:
app: wellknown-openpgp
template:
metadata:
labels:
app: wellknown-openpgp
spec:
initContainers:
- name: generate-wot-data
image: registry.gitlab.com/sequoia-pgp/sequoia
# TODO: distrust.co is hardcoded
command: ["sh"]
args:
- -c
- >-
cat /keys/* |
sq wkd generate -d /output distrust.co
volumeMounts:
- name: data
mountPath: /output
- name: keys
mountPath: /keys
containers:
- name: wellknown-openpgp
image: nginx
ports:
- containerPort: 80
volumeMounts:
- name: data
mountPath: /usr/share/nginx/html
volumes:
- name: data
emptyDir: {}
- name: keys
configMap:
name: openpgp-keys
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: wellknown-matrix
spec:
replicas: 2
selector:
matchLabels:
app: wellknown-matrix
template:
metadata:
labels:
app: wellknown-matrix
spec:
initContainers:
- name: copy-files
image: nginx
command: ["sh"]
args:
- -c
- |-
mkdir -p /output/.well-known/matrix
cp /input/client /output/.well-known/matrix
cp /input/server /output/.well-known/matrix
volumeMounts:
- name: data
mountPath: /output
- name: wellknown
mountPath: /input
containers:
- name: wellknown-openpgp
image: nginx
ports:
- containerPort: 80
volumeMounts:
- name: data
mountPath: /usr/share/nginx/html
volumes:
- name: data
emptyDir: {}
- name: wellknown
configMap:
name: wellknown-matrix
---
apiVersion: v1
kind: Service
metadata:
name: wellknown-openpgp
spec:
ports:
- name: http
port: 80
targetPort: 80
selector:
app: wellknown-openpgp
---
apiVersion: v1
kind: Service
metadata:
name: wellknown-matrix
spec:
ports:
- name: http
port: 80
targetPort: 80
selector:
app: wellknown-matrix

View File

@ -0,0 +1,32 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: docs
spec:
replicas: 2
selector:
matchLabels:
app: docs
template:
metadata:
labels:
app: docs
spec:
containers:
- name: docs
image: git.distrust.co/public/docs
imagePullPolicy: Always
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: docs
spec:
ports:
- name: http
port: 80
targetPort: 8080
selector:
app: docs

View File

@ -1,6 +1,6 @@
{ {
"m.homeserver": { "m.homeserver": {
"base_url": "https://distrust.ems.host" "base_url": "https://matrix.distrust.co"
}, },
"m.identity_server": { "m.identity_server": {
"base_url": "https://vector.im" "base_url": "https://vector.im"

View File

@ -1,3 +1,3 @@
{ {
"m.server": "distrust.ems.host:443" "m.server": "matrix.distrust.co:443"
} }

View File

@ -33,7 +33,40 @@ spec:
name: website name: website
port: port:
number: 80 number: 80
- path: /submit-email
pathType: Prefix
backend:
service:
name: web-form
port:
number: 80
tls: tls:
- hosts: - hosts:
- distrust.co - distrust.co
secretName: website-tls secretName: website-tls
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: docs
annotations:
cert-manager.io/cluster-issuer: letsencrypt
external-dns.alpha.kubernetes.io/hostname: docs.distrust.co
nginx.ingress.kubernetes.io/enable-cors: "true"
spec:
ingressClassName: nginx
rules:
- host: docs.distrust.co
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: docs
port:
number: 80
tls:
- hosts:
- docs.distrust.co
secretName: docs-tls

View File

@ -5,12 +5,17 @@ resources:
- namespace.yaml - namespace.yaml
- ingress.yaml - ingress.yaml
- website.yaml - website.yaml
- docs.yaml
- wellknown.yaml - wellknown.yaml
configMapGenerator: configMapGenerator:
- name: openpgp-keys - name: openpgp-keys
files: files:
- keys/88823A75ECAA786B0FF38B148E401478A3FBEF72.asc - keys/88823A75ECAA786B0FF38B148E401478A3FBEF72.asc
- keys/6B61ECD76088748C70590D55E90A401336C8AAA9.asc
- keys/3D7C8D39E8C4DF771583D3F0A8A091FD346001CA.asc
- name: wellknown-matrix - name: wellknown-matrix
files: files:
- files/matrix/client - files/matrix/client
- files/matrix/server - files/matrix/server
generators:
- secret-generator.yaml

View File

@ -0,0 +1,6 @@
apiVersion: viaduct.ai/v1
kind: ksops
metadata:
name: webmail
files:
- ./webmail-credentials.enc.yaml

View File

@ -0,0 +1,118 @@
apiVersion: v1
kind: Secret
metadata:
name: webmail-credentials
stringData:
WEBMAIL_USERNAME: ENC[AES256_GCM,data:9tO99BuuepmaOB3vDS+Sovlxiw==,iv:1QnVUEgwZqmJiPfq2eDODCppmid7MAwwYtit4RQGiwk=,tag:nTKA86gwJzaCQG9jbdsCkA==,type:str]
WEBMAIL_PASSWORD: ENC[AES256_GCM,data:G86wfaVvxJcyAAEf+hfNXgt1IvUlXAbP,iv:6nrRUBkRCryUsA4Lk0Qlxm5EwdPvVmJ1NtvD4H/Wlhk=,tag:Mk9mSfSGCO8ceTq7+0jCFg==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age: []
lastmodified: "2024-09-04T19:29:32Z"
mac: ENC[AES256_GCM,data:iBZgkBJcRK5ll5rqCyo+eoYBRlZUNPQKMVo/fkcvWygX0vjPUJes7ZlcgUkMvLKuE7sg2Gjxfi/Hz5wHTHONHi6H+NrX8wMV5YBADyTit6iUnY+E4prKkO+4UjNApJWK2qkYSJOmki2tsgnSOtrOBE1kTzrQk8PX9mro/6Bd9lc=,iv:pCyFOQUA6DKigmL/AhaqDZ+ubhFUGfTuznDv9RSK+ek=,tag:G7getVh7S7ehj4pXI7mhAw==,type:str]
pgp:
- created_at: "2024-01-11T20:56:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA82rPM2mSf/aAQ/+PJZZk8l5rIqLgeZzumY/oZYbgSLhB1+kfrQSFKuWlWU2
wO8dabV77egBrHrViU8ZryJeq9rEmAwEZPTlTbvGdP4YWkXuQvjcnG41a9047p4Y
t67hvZbqdrLhtpAbYYC4DqEJAlQIFC9CfCCHybU3NvxDOntmSoXJ1VRdDwxeT4k/
2/W/4XbzvrV3mK4pocHryFkWfitplt92TQS+N+Y5mrRZAHioQNvSjD+mB5qllIGE
OenplDUOR5K28lAhKwJi9YU+4Q+WwRILn4Anh2kbthkOKbR2V01XEE7rZZ7miSmJ
HSSebOokY0KEwc5TS4YJjz4VJ25UTcw74z9oZXFh5UOCCbiOHS3vRqd8ZvbAOtxg
N69bHW6I61EvAmNj34r8ZIPYDsAUmVWg3RODzrHv53XH+7TIRAVwtyf0sq49BJz7
NYOIoAh3gfdt6AcX1wzE3NPO6GaF9loccKHzjZlgPrcG+OIiCfWvLe/ZSdEfWOz3
2ts4TH2GCTt8y5A3YZv6TiJTqkeZp+aTKTWHZ8VPbb1f/K/LZCgy8xJtsdPAm76H
Hs0fra+/igXCcsTn1hy8ApBd0kQmtaLfMdABJ4rdeft8M8ZYUE3hx0nk6nAY73TM
vUdtLKYYTd+8ZY8e61Hop7MEsxnV1MRCmxQYNTBCCLXyEb7EXBAFI3Dd60C29ZXS
UQGgFne06+Ylj2sDkWOEVDe6YJJ9uQpFLuVS0wkZv5k1IkSgQn+vIZLqo5ltWFlN
5sovHvmmclSlC7m0G90ReoNpSWP7RbSddqI3ht6H5GVYCQ==
=HuH6
-----END PGP MESSAGE-----
fp: 6B61ECD76088748C70590D55E90A401336C8AAA9
- created_at: "2024-01-11T20:56:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMAw95Vf08z8oUARAA55KjH0BV0S3PzGBlbxNr2864BRPbHcupAj52Smdh/dwb
0GL64ULgfFoytddgYXeXVKPwBw1l8UIZnRDoMZyeTlUGKrwR6UgAtYcs/BId9/jF
B8yJzLk19d1ld017Pl/3zGE6/2YxnE56MMeX+4Az8K1z1EBVOI5XFBjYz+r8tG0q
9j2ypWtzLK9Az0g4V5kTrnGQwA3NN3siF1Uo8lvJzL+YDVV7d9cfB+slYM0xBOKn
6amxxwKwRZegSckPg+/UWXZOdj6NEDpiQz94hQMm4Bm3N0HtrulATAMjAiTFfzst
W2R9X7U9FCMwhX1wi9QMVOy5crbBMMc3wmv0b3Ya+5smnrr/91ZDwD8s0fHKk/ju
BVMI9DaA7usAvlziX8LQv8Be6EHQSnBF3cDVQSTyM8TFtbQMMKMFQszbsRnvRqs1
k4b3veNYev8fJOK5JaQTJ+Wm7uFm22tw7Q6orSoPuD2+gIzfWzPFU1q0I7ROdN9h
sMc+/ytwKCU3oGbSLQLAyXI5E5czRJJ2797uwLQ3a5aFUSP3/iR/qfu4/MzGDgnW
XNVYadheL5xdgwnugm2CeYNwskZZXgto/bwiL/+jzeTmX9GfKN0+Nl2VqZTSRw+0
o9MTmKsZfq7BBJ/eOJhD1xK5rF2bvduQ9re4LJ8+31RGTN0eXWvQ43jU5FA6tF3S
UQHrcMjwQaVpVMNRH5AjrMS2ZKfMf+Ehbjoby6c+7W/zkOgYkPLI8dKFpUZGjPAg
YifFb+hBtcJTNiNJjVU/QGEenfMho9X9Uu0QmjyEbbXnIA==
=upcn
-----END PGP MESSAGE-----
fp: 88823A75ECAA786B0FF38B148E401478A3FBEF72
- created_at: "2024-01-11T20:56:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA0/D4ws+/KPtARAAt1m79BSP6vyV/zZNl+2tiI+1KLA4q+lMcWpzD4YAkWof
VDKGnr7sxDXA3EP5SZoCz9KJuKHMxc1cDgZ1AGNTNHYRVGyMNmWLbbqfX9XW6pZT
MuDr3W4wZc8aJP8sL8VjknbzuXTQPqdu8SYfHSPjXmNz3ai0h1dmYWJBF+2E7Uxa
r223JDz6TwS1VMk8TtJvlZgx+hCc1hroMmO5Su3CsbSum8ccRSPCOzXzURloM5Jv
xWZrmTWSsvg5lb8MQjnJ2ETG8alQDAZOgsK72Brq2baRZCcWJArFFMx7y0UlbBML
PYlC5QzsKFEnCC6lF+V1O1jUFgPYqs5Ck7H0kbfZbSCiF9fs7lhi2tQqRN1My7aX
cy5G+rbRg+4+TaA/xBssMiaCVSnI28zotrLX+Q5q+/laL+AdMSWTtfYbGpfEiLx0
ejWym/PJfgeozZsUXdcZsrVmMowksVyP0cnczNFBWbUVcSFRZ6+KaNBobjr2hiFC
NqX77VhkKnDsNE7HIo42yyqjU5ipqPaLp0qs6pQquWVNb/MBid07S4KBTQ2HJo79
tTki8djQBpBGPZJj1hwJvUtb+HuJTWEgI2Az6Pw9S70kmdWLSnp7aJtHAP9/GN+b
NainzJJ8mwv+03ohCxPHUercRtlSKjws6miCKQkxdGpqVCMrXlqx5XV1N3BX+PHS
UQGLbpsU8EovlP+jyc7WIqPAcGl6UGpHKuEJtk473eWKAwdoGdM2hug/83Iru6DI
pQN6SMixNNNpxvhoyaHhFyYFzC5Xj5YO/obEYpDfJa7tWA==
=TZtK
-----END PGP MESSAGE-----
fp: 3D7C8D39E8C4DF771583D3F0A8A091FD346001CA
- created_at: "2024-01-11T20:56:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA5Wf+FyJ+zFJAQ/+OZlDJaJgpA0OZIXM4zRaDwztjdvrsmEkupUH/mC8sXsJ
1Q7/pVDJZqi5z/ewl2EJGyar7uvmgVVauvqOGVP8pIb04hL16M7p385U9VdBMa9V
IhBIYDKQi8Ia67xz6kQsMvT4zvzo52Z7opb6Rmxf3qQt919iOLdJRtJXUX0Vhjs3
m0zyBw4jji5zeBcfNWFxwLe8Ie5+0E2zZpyakQobTLrinEzTqwOpoEi6p18b6tWw
/tLHvi52TejXxkfBVsBzHMDz44WEOMu81BG13BY2JvSmOtj9+yPad5SMBy/4ugti
6YN974B7Dsetsm8UavMj9kU44nh14oZ8cPJ+sbf0POttSXJJY98+i5eUFptrIZ0X
4SyUo8wMkxHtDiL7rx3nkiglUkpG4H4+uzcaS0y/A9zlQas+igYL5YdE7CL/M5ET
V0UWNQEVqCk3EjCFYGR6Ccc3nGOtxnc3eWuBDBCd3oYINjqci6ZK+ds8yIqUY64B
Y29bvQvLSBGWkJs7ol86LyuQrFC7vvLZelsGvkSjwaRE/Be8AADgreZe1BHC91cn
eE0vr1rY8RcVvFjbLonzBhO9aMC5o1FkTbmKbpYcnrB7VyiierGMe9g7wRxcJrEh
SMvquMdOZxPgiB6e1yJ44WPsWHZMQvBjacCToX9LhIPe8QsebnrIHny0GYmYS5XS
UQGiVLKMnZJkACJGLtotqZWFPJi0oE1B+X3+wQch5aYTDWqtQqY9aDXSHbKSvZ+u
MU7a2nFCcMMrlM3Z/MzQNQxD5az/NivyIXjT1tOjc8PiLQ==
=3nk5
-----END PGP MESSAGE-----
fp: F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D
- created_at: "2024-01-11T20:56:23Z"
enc: |-
-----BEGIN PGP MESSAGE-----
wcFMA8KRInHl7Vz+AQ//WXsaXLEl1BDCWBw0sDI02p8QKUosA9JOSr9Za5iO/G8v
Pn5JU1Fk5hAPvy874pk5jlGSSyXsO9b1PAY0i18kZ8/MMZgolyNgi/mK2B8QvixY
zOr6tQ2aG84tbVmBO9rt+AVkhggOx/gu3ZF3gWskjs3dY7/mD2krhNynIReQfTUc
MpOWmVsPh2x+8zJ7siECIkD4stNcgRGKAabQHRNig0Zg0dJhsL7z8tVuGzZGCDbu
q5fXPF0bM5Rb38g9DC0pXp1WAfdpCoSh8LoOrF7UbWsQFws4+looAoarFzk0tUM4
/XTZTzBEAhf/f/RX9yJku+14erwC7hnWnM7Yr2O19lfQ1ZNuOqkZKFLT8kV4PPcR
vB/3OD15HGvQD3T7DQUe9C1kFs3u1Kymk0SUocv5xTRTvbQQSEqe3KkEhh3yjb87
0ZsEczDafx9b6BSG7hEUyBhND9Rk1FjbGM0u1Kowy+oLMFrEQ0Z/wtm4bam5Nyho
5i7BBvFUquSfqh3zM+uzd/69G5AD4B+E3VDtz04cVqzNYbCmRP9Tof1czxiPYJ+1
kyqlk1Kd53zU2RtH1K66Dy3VNHtjVheccEHhRYCMv1q1g1+4LgdaBkouqfNld9Zc
9OfK8ZYeeH1iiTjgvSB2FN5ZBZYSEfs1Hnfw0XpyZcPXxPw+UA3h0awellWk7D3S
UQFE/ARKfbhBbLgbaCduwrF2sWLMAj5WlQv+z4QLJkWire4Z9A13qUEvUNvys+i7
/nOXorVH9UnvqXobQSAT8I91/LzkyGZB7lZrTnHzKQm6pQ==
=tZkd
-----END PGP MESSAGE-----
fp: C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD
encrypted_regex: ^(data|stringData)$
version: 3.7.3

View File

@ -19,6 +19,35 @@ spec:
ports: ports:
- containerPort: 80 - containerPort: 80
--- ---
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-form
spec:
replicas: 2
selector:
matchLabels:
app: web-form
template:
metadata:
labels:
app: web-form
spec:
containers:
- name: web-form
image: git.distrust.co/public/web-form
imagePullPolicy: Always
env:
- name: WEBMAIL_TARGET
value: sales@distrust.co
- name: WEBMAIL_CC
value: team@distrust.co
envFrom:
- secretRef:
name: webmail-credentials
ports:
- containerPort: 4200
---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
@ -30,3 +59,15 @@ spec:
targetPort: 80 targetPort: 80
selector: selector:
app: website app: website
---
apiVersion: v1
kind: Service
metadata:
name: web-form
spec:
ports:
- name: http
port: 80
targetPort: 4200
selector:
app: web-form

@ -1 +1 @@
Subproject commit 23fc267a9dfdda30ba4287f8234879961722bafb Subproject commit a2315fdbc8cd0e4a654d1aa4623a53d5292b3574

View File

@ -39,23 +39,34 @@ resource "digitalocean_database_user" "default_users" {
name = each.key name = each.key
provisioner "local-exec" { provisioner "local-exec" {
command = "GRANT ALL ON DATABASE ${each.key} TO ${each.key};" command = var.dbcli_name == "psql" ? "GRANT ALL ON DATABASE ${each.key} TO ${each.key};" : "GRANT ALL PRIVILEGES ON ${each.key} TO '${each.key}'@'%';"
interpreter = [ interpreter = var.dbcli_name == "psql" ? [
"psql", "${var.dbcli_name}",
"-v", "ON_ERROR_STOP=1",
"${local.base_connection_string}/${each.key}", "${local.base_connection_string}/${each.key}",
"-c" "-c"
] : [
"${var.dbcli_name}",
"-u",
"${digitalocean_database_cluster.main.user}",
"-p",
"-h",
"${digitalocean_database_cluster.main.host}",
"-P",
"25060",
"-D",
"${each.key}",
"-e"
] ]
} }
provisioner "local-exec" { provisioner "local-exec" {
command = "GRANT ALL ON SCHEMA public TO ${each.key}" command = var.dbcli_name == "psql" ? "GRANT ALL ON SCHEMA public TO ${each.key}" : "true"
interpreter = [ interpreter = var.dbcli_name == "psql" ? [
"psql", "${var.dbcli_name}",
"-v", "ON_ERROR_STOP=1", "-v", "ON_ERROR_STOP=1",
"${local.base_connection_string}/${each.key}", "${local.base_connection_string}/${each.key}",
"-c" "-c"
] ] : ["true"]
} }
# Note: provisioners depend on databases existing # Note: provisioners depend on databases existing

View File

@ -33,3 +33,8 @@ variable "vpc_id" {
type = string type = string
nullable = true nullable = true
} }
variable "dbcli_name" {
type = string
default = "psql"
}