change(fastapi): setup live database in mariadb-init-entrypoint.sh

Centralize database setup there and remove all copying of
config.dev from the entrypoint scripts (the Dockerfile
now does it).

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2021-11-27 23:15:19 -08:00
parent 343a306bb8
commit dbeebd3b01
No known key found for this signature in database
GPG key ID: F7E46DED420788F3
6 changed files with 34 additions and 40 deletions

View file

@ -1,12 +1,30 @@
#!/bin/bash
set -eou pipefail
# Prepare AUR_CONFIG.
cp -vf conf/config.dev conf/config
sed -i "s;YOUR_AUR_ROOT;$(pwd);g" conf/config
# Setup the DB.
NO_INITDB=1 /docker/mariadb-init-entrypoint.sh
# Create directories we need.
mkdir -p /aurweb/aurblup
# Create aurblup's directory.
AURBLUP_DIR="/aurweb/aurblup/"
mkdir -p $AURBLUP_DIR
# Setup aurblup config for Docker.
AURBLUP_DBS='core extra community multilib testing community-testing'
AURBLUP_SERVER='https://mirrors.kernel.org/archlinux/%s/os/x86_64'
aurweb-config set aurblup db-path "$AURBLUP_DIR"
aurweb-config set aurblup sync-dbs "$AURBLUP_DBS"
aurweb-config set aurblup server "$AURBLUP_SERVER"
# Setup mkpkglists config for Docker.
ARCHIVE_DIR='/var/lib/aurweb/archives'
aurweb-config set mkpkglists archivedir "$ARCHIVE_DIR"
aurweb-config set mkpkglists packagesfile "$ARCHIVE_DIR/packages.gz"
aurweb-config set mkpkglists packagesmetafile \
"$ARCHIVE_DIR/packages-meta-v1.json.gz"
aurweb-config set mkpkglists packagesmetaextfile \
"$ARCHIVE_DIR/packages-meta-ext-v1.json.gz"
aurweb-config set mkpkglists pkgbasefile "$ARCHIVE_DIR/pkgbase.gz"
aurweb-config set mkpkglists userfile "$ARCHIVE_DIR/users.gz"
# Install the cron configuration.
cp /docker/config/aurweb-cron /etc/cron.d/aurweb-cron

View file

@ -1,16 +1,8 @@
#!/bin/bash
set -eou pipefail
# Setup a config for our mysql db.
cp -vf conf/config.dev conf/config
sed -i "s;YOUR_AUR_ROOT;$(pwd);g" conf/config
# Setup database.
aurweb-config set database user 'aur'
aurweb-config set database password 'aur'
aurweb-config set database host 'localhost'
aurweb-config set database socket '/var/lib/mysqld/mysqld.sock'
aurweb-config unset database port
NO_INITDB=1 /docker/mariadb-init-entrypoint.sh
# Setup some other options.
aurweb-config set options cache 'redis'

View file

@ -38,16 +38,8 @@ Match User aur
AcceptEnv AUR_OVERWRITE
EOF
# Setup a config for our mysql db.
cp -vf conf/config.dev $AUR_CONFIG
sed -i "s;YOUR_AUR_ROOT;$(pwd);g" $AUR_CONFIG
# Setup database.
aurweb-config set database user 'aur'
aurweb-config set database password 'aur'
aurweb-config set database host 'localhost'
aurweb-config set database socket '/var/lib/mysqld/mysqld.sock'
aurweb-config unset database port
NO_INITDB=1 /docker/mariadb-init-entrypoint.sh
# Setup some other options.
aurweb-config set serve repo-path '/aurweb/aur.git/'

View file

@ -2,12 +2,16 @@
set -eou pipefail
# Setup a config for our mysql db.
cp -vf conf/config.dev conf/config
sed -i "s;YOUR_AUR_ROOT;$(pwd);g" conf/config
aurweb-config set database name 'aurweb'
aurweb-config set database user 'aur'
aurweb-config set database password 'aur'
aurweb-config set database host 'localhost'
aurweb-config set database socket '/var/run/mysqld/mysqld.sock'
aurweb-config unset database port
if [ ! -z ${NO_INITDB+x} ]; then
exec "$@"
fi
python -m aurweb.initdb 2>/dev/null || /bin/true
exec "$@"

View file

@ -5,16 +5,8 @@ for archive in packages pkgbase users packages-meta-v1.json packages-meta-ext-v1
ln -vsf /var/lib/aurweb/archives/${archive}.gz /aurweb/web/html/${archive}.gz
done
# Setup a config for our mysql db.
cp -vf conf/config.dev conf/config
sed -i "s;YOUR_AUR_ROOT;$(pwd);g" conf/config
# Setup database.
aurweb-config set database user 'aur'
aurweb-config set database password 'aur'
aurweb-config set database host 'localhost'
aurweb-config set database socket '/var/lib/mysqld/mysqld.sock'
aurweb-config unset database port
NO_INITDB=1 /docker/mariadb-init-entrypoint.sh
# Setup some other options.
aurweb-config set options cache 'memcache'

View file

@ -1,10 +1,6 @@
#!/bin/bash
set -eou pipefail
# Setup a config for our mysql db.
cp -vf conf/config.dev conf/config
sed -i "s;YOUR_AUR_ROOT;$(pwd);g" conf/config
# We use the root user for testing in Docker.
# The test user must be able to create databases and drop them.
aurweb-config set database user 'root'