Files
domain-incoming/apps/nextcloud/configs.tf
2023-07-26 16:45:21 +02:00

48 lines
1.5 KiB
HCL

locals {
script-wrap = <<-EOF
#!/bin/bash
cp /etc/local-ca/ca.crt /usr/local/share/ca-certificates/
update-ca-certificate
exec /entrypoint.sh "$@"
EOF
script-head = <<-EOF
#!/bin/bash
export user=www-data
run_as() {
if [ "$(id -u)" = 0 ]; then
su -p "$user" -s /bin/sh -c "$*"
else
sh -c "$*"
fi
}
run_as ./occ app:install user_oidc ||:
run_as ./occ user_oidc:provider "$${OAUTH2_CONNECTOR_NAME}" --clientid="$${OAUTH2_CLIENT_ID}" \
--clientsecret="$${OAUTH2_CLIENT_SECRET}" \
--discoveryuri="$${OAUTH2_DISCOVER_URI}"
EOF
script-apps = concat(
var.apps.deck?["run_as ./occ app:install deck ||:"]:[],
var.apps.calendar?["run_as ./occ app:install calendar ||:"]:[],
var.apps.contacts?["run_as ./occ app:install contacts ||:"]:[],
var.apps.groupfolders?["run_as ./occ app:install groupfolders ||:"]:[],
var.apps.notes?["run_as ./occ app:install notes ||:"]:[],
var.apps.tasks?["run_as ./occ app:install tasks ||:"]:[],
var.apps.spreed?["run_as ./occ app:install spreed ||:"]:[])
data-config-init = {
"autostart.sh" = join("\n", concat([local.script-head],local.script-apps))
"wrapper" = local.script-wrap
}
}
resource "kubectl_manifest" "nextcloud-config" {
yaml_body = <<-EOF
apiVersion: v1
kind: ConfigMap
metadata:
name: "${var.component}-${var.instance}-init"
namespace: "${var.namespace}"
labels: ${jsonencode(local.common-labels)}
data: ${jsonencode(local.data-config-init)}
EOF
}