mirror of
https://github.com/dredx/prole.git
synced 2026-09-24 15:04:31 +00:00
fix(db-build): ensure Build Database Image uses valid Percona packages and non-interactive tzdata
- generator: map pg_stat_monitor to percona-pg-stat-monitor{major} for Percona 17/18 (was percona-postgresql-*-stat-monitor).
- templates: add non-interactive tzdata setup pinned to Etc/GMT-0 to avoid stdin prompts.
- templates: switch contrib to percona-postgresql-contrib metapackage.
- dockerfile: regenerated to reflect fixes; confirmed build succeeds.
Co-authored-by: Junie <junie@jetbrains.com>
This commit is contained in:
parent
f20df131df
commit
28b3cd72df
@ -1,5 +1,5 @@
|
|||||||
; Prole Master Configuration File
|
; Prole Master Configuration File
|
||||||
; Generated by install.py on 2026-02-28 22:51:26
|
; Generated by install.py on 2026-02-28 23:26:36
|
||||||
; This file is used as input for Ansible deployment and k8s cluster creation.
|
; This file is used as input for Ansible deployment and k8s cluster creation.
|
||||||
|
|
||||||
[User]
|
[User]
|
||||||
@ -27,38 +27,38 @@ dependencies.opentofu.install = true
|
|||||||
dependencies.python.install = true
|
dependencies.python.install = true
|
||||||
dependencies.verify_all = false
|
dependencies.verify_all = false
|
||||||
disk_selection.disk_type = local
|
disk_selection.disk_type = local
|
||||||
disk_selection.local_path = ${PROLE_HOME}/prole-tools-app/dist
|
disk_selection.local_path = /Users/chrisfu
|
||||||
disk_selection.removable_mount =
|
disk_selection.removable_mount =
|
||||||
env_setup.NAMESPACE = prole-hq0-db0
|
env_setup.NAMESPACE = ${NAMESPACE}
|
||||||
env_setup.PROLE_CONF = ${PROLE_CONF}
|
env_setup.PROLE_CONF = ${PROLE_CONF}
|
||||||
env_setup.PROLE_DATA = ${PROLE_DATA}
|
env_setup.PROLE_DATA = ${PROLE_DATA}
|
||||||
env_setup.PROLE_HOME = ${PROLE_HOME}
|
env_setup.PROLE_HOME = ${PROLE_HOME}
|
||||||
env_setup.PROLE_LOGS = ${PROLE_LOGS}
|
env_setup.PROLE_LOGS = ${PROLE_LOGS}
|
||||||
env_setup.PROLE_SERVICE = ${PROLE_SERVICE}
|
env_setup.PROLE_SERVICE = ${PROLE_SERVICE}
|
||||||
init_cluster.at_rest_encryption_enabled = true
|
init_cluster.at_rest_encryption_enabled = true
|
||||||
init_cluster.cluster_env = service
|
init_cluster.cluster_env = dev
|
||||||
init_cluster.deployment_target = prole-service-cluster
|
init_cluster.deployment_target = prole-dev-cluster
|
||||||
init_cluster.gitops_enabled = false
|
init_cluster.gitops_enabled = false
|
||||||
init_cluster.k3s_server_url = https://myrddin.prole.org:6443
|
init_cluster.k3s_server_url =
|
||||||
init_cluster.k3s_token = ${PROLE_SECRET:v1:WQH1gOPkAhxbQdaD:TPu9jANobgFhqGuXdZEBH87Nf7kp9GzQ7rX52ddcv9vxYRE-aooXVvtIPjEnYZaMhmU9eHwKcLCUGcNLMY5QTxe4H5Wt_kLM_8CeMnT1_49M-FCe09hkCvyCMWtsp7Z7T7ceu9740RYLZWwOn5YlTTYvN8j2DIc-3pRaag==}
|
init_cluster.k3s_token =
|
||||||
init_cluster.kerberos_enabled = true
|
init_cluster.kerberos_enabled = false
|
||||||
init_cluster.mode = k3s
|
init_cluster.mode = k3d
|
||||||
init_cluster.start_cluster = true
|
init_cluster.start_cluster = true
|
||||||
init_cluster.supabase_enabled = false
|
init_cluster.supabase_enabled = false
|
||||||
init_cnpg_deploy.force_rollout = false
|
init_cnpg_deploy.force_rollout = false
|
||||||
init_cnpg_deploy.run_deploy = true
|
init_cnpg_deploy.run_deploy = true
|
||||||
init_db_build.run_build = true
|
init_db_build.run_build = true
|
||||||
init_password.db_host_port = 5432
|
init_password.db_host_port = 5432
|
||||||
init_password.db_namespace = prole-hq0-db0
|
init_password.db_namespace = ${NAMESPACE}
|
||||||
init_password.db_password = ${PROLE_SECRET:v1:SseiI-jBFyTZ9zoB:3eqr2gEMnrJuilQPcBEI9MTq8ahrVblz}
|
init_password.db_password =
|
||||||
init_password.db_password_confirm = ${PROLE_SECRET:v1:SseiI-jBFyTZ9zoB:3eqr2gEMnrJuilQPcBEI9MTq8ahrVblz}
|
init_password.db_password_confirm =
|
||||||
init_password.db_username = chrisfu
|
init_password.db_username = root
|
||||||
init_password.generate_ssh_key = true
|
init_password.generate_ssh_key = true
|
||||||
init_scripts.run_scripts = true
|
init_scripts.run_scripts = true
|
||||||
kerberos_config.enabled = true
|
kerberos_config.enabled = false
|
||||||
kerberos_config.kdc = 10.0.0.3
|
kerberos_config.kdc =
|
||||||
kerberos_config.password =
|
kerberos_config.password =
|
||||||
kerberos_config.realm = PROLE.ORG
|
kerberos_config.realm =
|
||||||
kerberos_config.test_connection = false
|
kerberos_config.test_connection = false
|
||||||
kerberos_config.user =
|
kerberos_config.user =
|
||||||
network_scan.run = true
|
network_scan.run = true
|
||||||
@ -68,16 +68,16 @@ ollama_config.server_port = 11434
|
|||||||
|
|
||||||
[Global]
|
[Global]
|
||||||
; Variables used by name in more than one place or assumed global scope
|
; Variables used by name in more than one place or assumed global scope
|
||||||
CLUSTER_ENV = service
|
CLUSTER_ENV = dev
|
||||||
DB_HOST_PORT = 5432
|
DB_HOST_PORT = 5432
|
||||||
DB_PASSWORD = ${PROLE_SECRET:v1:RRx5Zbnsbz1L1FDz:QOzdAPLCl-qLzeeoHl7leEdG60W2FX75}
|
DB_PASSWORD =
|
||||||
DEPLOYMENT_MODE = k3s
|
DEPLOYMENT_MODE = k3d
|
||||||
DEPLOYMENT_TARGET = prole-service-cluster
|
DEPLOYMENT_TARGET = prole-dev-cluster
|
||||||
NAMESPACE = ${NAMESPACE}
|
NAMESPACE = ${NAMESPACE}
|
||||||
PROLE_DB_USER = chrisfu
|
PROLE_DB_USER = root
|
||||||
PROLE_HOME = ${PROLE_HOME}
|
PROLE_HOME = ${PROLE_HOME}
|
||||||
PROLE_K3S_SERVER = https://myrddin.prole.org:6443
|
PROLE_K3S_SERVER =
|
||||||
PROLE_K3S_TOKEN = ${PROLE_SECRET:v1:WQH1gOPkAhxbQdaD:TPu9jANobgFhqGuXdZEBH87Nf7kp9GzQ7rX52ddcv9vxYRE-aooXVvtIPjEnYZaMhmU9eHwKcLCUGcNLMY5QTxe4H5Wt_kLM_8CeMnT1_49M-FCe09hkCvyCMWtsp7Z7T7ceu9740RYLZWwOn5YlTTYvN8j2DIc-3pRaag==}
|
PROLE_K3S_TOKEN =
|
||||||
PROLE_OPENTOFU_URL = http://127.0.0.1:8080
|
PROLE_OPENTOFU_URL = http://127.0.0.1:8080
|
||||||
SERVICE_NAMESPACE = default
|
SERVICE_NAMESPACE = default
|
||||||
|
|
||||||
@ -96,8 +96,6 @@ ANSIBLE_INVENTORY = ${PROLE_HOME}/infrastructure/inventory
|
|||||||
ANSIBLE_REALM = PROLE.ORG
|
ANSIBLE_REALM = PROLE.ORG
|
||||||
ANSIBLE_TOPOLOGY = {"domain":"prole.org","realm":"PROLE.ORG","internal_records":{"aventage.prole.org":"10.0.0.206","fairyland.prole.org":"10.0.0.208","loghost.prole.org":"10.0.0.3","morana.prole.org":"10.0.0.66","morgoth.prole.org":"10.0.0.204","myrddin.prole.org":"10.0.0.3","pi.prole.org":"10.0.0.5","raspberry.prole.org":"10.0.0.4","retropie.prole.org":"10.0.0.207","synology.prole.org":"10.0.0.203","zinfandel.prole.org":"10.0.0.205"},"ad_dc":{"host":"myrddin.prole.org","ip":"10.0.0.3"},"k3s":{"server_url":"https://myrddin.prole.org:6443","server_host":"myrddin.prole.org","token_present":true},"groups":{"iscsi":["pi.prole.org","raspberry.prole.org","myrddin.prole.org","retropie.prole.org"],"pihole":["pi.prole.org","raspberry.prole.org"],"ad_dc":["myrddin.prole.org"],"k3s_hosts":["myrddin.prole.org","pi.prole.org","retropie.prole.org"],"linux_hosts":["pi.prole.org","raspberry.prole.org","myrddin.prole.org","retropie.prole.org"]},"hosts":{"myrddin.prole.org":"10.0.0.3","pi.prole.org":"10.0.0.5","raspberry.prole.org":"10.0.0.4","retropie.prole.org":"10.0.0.207"},"unmapped_hosts":[]}
|
ANSIBLE_TOPOLOGY = {"domain":"prole.org","realm":"PROLE.ORG","internal_records":{"aventage.prole.org":"10.0.0.206","fairyland.prole.org":"10.0.0.208","loghost.prole.org":"10.0.0.3","morana.prole.org":"10.0.0.66","morgoth.prole.org":"10.0.0.204","myrddin.prole.org":"10.0.0.3","pi.prole.org":"10.0.0.5","raspberry.prole.org":"10.0.0.4","retropie.prole.org":"10.0.0.207","synology.prole.org":"10.0.0.203","zinfandel.prole.org":"10.0.0.205"},"ad_dc":{"host":"myrddin.prole.org","ip":"10.0.0.3"},"k3s":{"server_url":"https://myrddin.prole.org:6443","server_host":"myrddin.prole.org","token_present":true},"groups":{"iscsi":["pi.prole.org","raspberry.prole.org","myrddin.prole.org","retropie.prole.org"],"pihole":["pi.prole.org","raspberry.prole.org"],"ad_dc":["myrddin.prole.org"],"k3s_hosts":["myrddin.prole.org","pi.prole.org","retropie.prole.org"],"linux_hosts":["pi.prole.org","raspberry.prole.org","myrddin.prole.org","retropie.prole.org"]},"hosts":{"myrddin.prole.org":"10.0.0.3","pi.prole.org":"10.0.0.5","raspberry.prole.org":"10.0.0.4","retropie.prole.org":"10.0.0.207"},"unmapped_hosts":[]}
|
||||||
KDC_ANSIBLE_DETECTED = 10.0.0.3
|
KDC_ANSIBLE_DETECTED = 10.0.0.3
|
||||||
KDC_AUTO_DETECTED = 10.0.0.3
|
|
||||||
KERBEROS_AUTO_ENABLED = True
|
|
||||||
|
|
||||||
[Port Forwards]
|
[Port Forwards]
|
||||||
; No configuration values captured yet for this section.
|
; No configuration values captured yet for this section.
|
||||||
@ -119,10 +117,7 @@ PROLE_SERVICE = ${PROLE_SERVICE}
|
|||||||
; No configuration values captured yet for this section.
|
; No configuration values captured yet for this section.
|
||||||
|
|
||||||
[Optional Features]
|
[Optional Features]
|
||||||
AT_REST_ENCRYPTION_ENABLED = True
|
|
||||||
GITOPS_ENABLED = False
|
GITOPS_ENABLED = False
|
||||||
KERBEROS_ENABLED = True
|
|
||||||
SUPABASE_ENABLED = False
|
|
||||||
|
|
||||||
[GitOps]
|
[GitOps]
|
||||||
; No configuration values captured yet for this section.
|
; No configuration values captured yet for this section.
|
||||||
@ -131,41 +126,38 @@ SUPABASE_ENABLED = False
|
|||||||
NAMESPACE = ${NAMESPACE}
|
NAMESPACE = ${NAMESPACE}
|
||||||
|
|
||||||
[Initialize Cluster]
|
[Initialize Cluster]
|
||||||
ENVIRONMENT = service
|
; No configuration values captured yet for this section.
|
||||||
K3S_SERVER_URL = https://myrddin.prole.org:6443
|
|
||||||
K3S_TOKEN = ${PROLE_SECRET:v1:WQH1gOPkAhxbQdaD:TPu9jANobgFhqGuXdZEBH87Nf7kp9GzQ7rX52ddcv9vxYRE-aooXVvtIPjEnYZaMhmU9eHwKcLCUGcNLMY5QTxe4H5Wt_kLM_8CeMnT1_49M-FCe09hkCvyCMWtsp7Z7T7ceu9740RYLZWwOn5YlTTYvN8j2DIc-3pRaag==}
|
|
||||||
|
|
||||||
[Dev Cluster (k3d)]
|
[Dev Cluster (k3d)]
|
||||||
CLUSTER_ENV = dev
|
CLUSTER_ENV = dev
|
||||||
DISPLAY_NAME = prole-dev-cluster
|
DISPLAY_NAME = prole-dev-cluster
|
||||||
KUBECTL_CONTEXT = prole-k3s
|
KUBECTL_CONTEXT =
|
||||||
MODE = k3d
|
MODE = k3d
|
||||||
|
|
||||||
[Service Cluster (k3s)]
|
[Service Cluster (k3s)]
|
||||||
CLUSTER_ENV = prole-service-cluster
|
CLUSTER_ENV = prole-service-cluster
|
||||||
DISPLAY_NAME = prole-service-cluster
|
DISPLAY_NAME = prole-service-cluster
|
||||||
K3S_SERVER_URL = https://myrddin.prole.org:6443
|
K3S_SERVER_URL =
|
||||||
K3S_TOKEN = ${PROLE_SECRET:v1:WQH1gOPkAhxbQdaD:TPu9jANobgFhqGuXdZEBH87Nf7kp9GzQ7rX52ddcv9vxYRE-aooXVvtIPjEnYZaMhmU9eHwKcLCUGcNLMY5QTxe4H5Wt_kLM_8CeMnT1_49M-FCe09hkCvyCMWtsp7Z7T7ceu9740RYLZWwOn5YlTTYvN8j2DIc-3pRaag==}
|
K3S_TOKEN =
|
||||||
MODE = k3s
|
MODE = k3s
|
||||||
PIPELINE_URL = http://127.0.0.1:8080
|
PIPELINE_URL = http://127.0.0.1:8080
|
||||||
|
|
||||||
[Prod Cluster (k8s)]
|
[Prod Cluster (k8s)]
|
||||||
ARTIFACTS_DIR = /Users/chrisfu/dev/prole/data/staging
|
ARTIFACTS_DIR = /private/var/folders/rt/pywlnmxj3dn7t5552vwdcpp80000gn/T/pytest-of-chrisfu/pytest-67/test_encryption_toggle0/data/staging
|
||||||
CLUSTER_ENV = prole-prod-cluster
|
CLUSTER_ENV = prole-prod-cluster
|
||||||
DISPLAY_NAME = prole-prod-cluster
|
DISPLAY_NAME = prole-prod-cluster
|
||||||
MODE = k8s
|
MODE = k8s
|
||||||
PIPELINE_URL = http://127.0.0.1:8080
|
PIPELINE_URL = http://127.0.0.1:8080
|
||||||
|
|
||||||
[Docker Build]
|
[Docker Build]
|
||||||
LOCAL_REGISTRY = localhost:5000
|
; No configuration values captured yet for this section.
|
||||||
LOCAL_REGISTRY_INTERNAL = k3d-prole-registry.localhost:5000
|
|
||||||
|
|
||||||
[Initialization Scripts]
|
[Initialization Scripts]
|
||||||
; No configuration values captured yet for this section.
|
; No configuration values captured yet for this section.
|
||||||
|
|
||||||
[Deployment]
|
[Deployment]
|
||||||
MODE = k3s
|
MODE = k3d
|
||||||
TARGET = prole-service-cluster
|
TARGET = prole-dev-cluster
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
; No configuration values captured yet for this section.
|
; No configuration values captured yet for this section.
|
||||||
|
|||||||
@ -320,7 +320,7 @@ class DatabaseOptionsScreenMixin:
|
|||||||
elif ext_id == "pgbadger":
|
elif ext_id == "pgbadger":
|
||||||
pkg = "percona-pgbadger"
|
pkg = "percona-pgbadger"
|
||||||
elif ext_id == "pg_stat_monitor":
|
elif ext_id == "pg_stat_monitor":
|
||||||
pkg = f"percona-postgresql-{version}-stat-monitor"
|
pkg = f"percona-pg-stat-monitor{version}"
|
||||||
else:
|
else:
|
||||||
pkg = f"percona-postgresql-{version}-{ext_id}"
|
pkg = f"percona-postgresql-{version}-{ext_id}"
|
||||||
else:
|
else:
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
77
|
78
|
||||||
@ -4,18 +4,30 @@ FROM ubuntu:24.04
|
|||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
ENV LANG=C.UTF-8
|
ENV LANG=C.UTF-8
|
||||||
ENV PGDATA=/var/lib/postgresql/data
|
ENV PGDATA=/var/lib/postgresql/data
|
||||||
|
ENV TZ=Etc/GMT-0
|
||||||
|
|
||||||
RUN set -eux; \
|
RUN set -eux; \
|
||||||
apt-get update; \
|
apt-get update; \
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
ca-certificates curl wget gnupg2 lsb-release \
|
ca-certificates curl wget gnupg2 lsb-release \
|
||||||
locales tzdata \
|
locales \
|
||||||
gosu \
|
gosu \
|
||||||
build-essential git openssh-client \
|
build-essential git openssh-client \
|
||||||
; \
|
; \
|
||||||
rm -rf /var/lib/apt/lists/*; \
|
rm -rf /var/lib/apt/lists/*; \
|
||||||
locale-gen en_US.UTF-8
|
locale-gen en_US.UTF-8
|
||||||
|
|
||||||
|
# Configure non-interactive timezone to avoid tzdata prompts
|
||||||
|
RUN set -eux; \
|
||||||
|
echo "tzdata tzdata/Areas select Etc" | debconf-set-selections; \
|
||||||
|
echo "tzdata tzdata/Zones/Etc select GMT-0" | debconf-set-selections; \
|
||||||
|
apt-get update; \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata; \
|
||||||
|
rm -rf /var/lib/apt/lists/*; \
|
||||||
|
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime; \
|
||||||
|
echo $TZ > /etc/timezone; \
|
||||||
|
dpkg-reconfigure -f noninteractive tzdata
|
||||||
|
|
||||||
RUN set -eux; \
|
RUN set -eux; \
|
||||||
mkdir -p /root/.ssh; \
|
mkdir -p /root/.ssh; \
|
||||||
ssh-keyscan github.com >> /root/.ssh/known_hosts
|
ssh-keyscan github.com >> /root/.ssh/known_hosts
|
||||||
@ -64,7 +76,7 @@ RUN set -eux; \
|
|||||||
apt-get update; \
|
apt-get update; \
|
||||||
{{EXTENSION_INSTALL_STEPS}}
|
{{EXTENSION_INSTALL_STEPS}}
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
percona-postgresql-contrib-{{MAJOR_VERSION}} \
|
percona-postgresql-contrib \
|
||||||
freetds-dev \
|
freetds-dev \
|
||||||
; \
|
; \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|||||||
@ -4,18 +4,30 @@ FROM ubuntu:24.04
|
|||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
ENV LANG=C.UTF-8
|
ENV LANG=C.UTF-8
|
||||||
ENV PGDATA=/var/lib/postgresql/data
|
ENV PGDATA=/var/lib/postgresql/data
|
||||||
|
ENV TZ=Etc/GMT-0
|
||||||
|
|
||||||
RUN set -eux; \
|
RUN set -eux; \
|
||||||
apt-get update; \
|
apt-get update; \
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
ca-certificates curl wget gnupg2 lsb-release \
|
ca-certificates curl wget gnupg2 lsb-release \
|
||||||
locales tzdata \
|
locales \
|
||||||
gosu \
|
gosu \
|
||||||
build-essential git openssh-client \
|
build-essential git openssh-client \
|
||||||
; \
|
; \
|
||||||
rm -rf /var/lib/apt/lists/*; \
|
rm -rf /var/lib/apt/lists/*; \
|
||||||
locale-gen en_US.UTF-8
|
locale-gen en_US.UTF-8
|
||||||
|
|
||||||
|
# Configure non-interactive timezone to avoid tzdata prompts
|
||||||
|
RUN set -eux; \
|
||||||
|
echo "tzdata tzdata/Areas select Etc" | debconf-set-selections; \
|
||||||
|
echo "tzdata tzdata/Zones/Etc select GMT-0" | debconf-set-selections; \
|
||||||
|
apt-get update; \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata; \
|
||||||
|
rm -rf /var/lib/apt/lists/*; \
|
||||||
|
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime; \
|
||||||
|
echo $TZ > /etc/timezone; \
|
||||||
|
dpkg-reconfigure -f noninteractive tzdata
|
||||||
|
|
||||||
RUN set -eux; \
|
RUN set -eux; \
|
||||||
mkdir -p /root/.ssh; \
|
mkdir -p /root/.ssh; \
|
||||||
ssh-keyscan github.com >> /root/.ssh/known_hosts
|
ssh-keyscan github.com >> /root/.ssh/known_hosts
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user