From 94e6f55e4db1744fae7afe8d36c2e632800e3f6a Mon Sep 17 00:00:00 2001 From: samuel Date: Sun, 22 Feb 2026 15:11:58 +0100 Subject: [PATCH] feat: create user and db --- .gitea/workflows/cd.yaml | 2 +- .gitea/workflows/ci.yaml | 2 +- netoik-db.spec | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/cd.yaml b/.gitea/workflows/cd.yaml index 955726e..7912265 100644 --- a/.gitea/workflows/cd.yaml +++ b/.gitea/workflows/cd.yaml @@ -18,7 +18,7 @@ jobs: env: GIT_REFERENCE: ${{ github.ref }} - name: Build rpm package - run: rpmbuild -ba netoik-db.spec + run: rpmbuild -ba "%(make name).spec" - name: Upload rpm package run: make upload env: diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index ae44ee6..fc23cbd 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -17,4 +17,4 @@ jobs: - name: Build tarball run: make tarball - name: Build rpm file - run: rpmbuild -ba netoik-db.spec + run: rpmbuild -ba "$(make name).spec" diff --git a/netoik-db.spec b/netoik-db.spec index b0cb012..0a1279a 100644 --- a/netoik-db.spec +++ b/netoik-db.spec @@ -22,6 +22,15 @@ Install the database management system called postgresql with a predefined confi %make_install %post +# Create databases and users from DB_USERS variable (separator is ",") if not existing +echo "$DB_USERS" | IFS="," read -ra users +for user in "${users[@]}"; do + if ! runuser --user=postgres -- psql --quiet --tuples-only --command='\du' | grep --invert-match postgres | grep --quiet "$user"; then + runuser --user=postgres -- createuser "$user" + runuser --user=postgres -- createdb --owner="$user" "$user" + fi +done + # Restart services systemctl daemon-reload systemctl reenable --now postgresql.service