Open davidsiaw opened 4 years ago
Current kaiserfiles have huge amounts of code to define how to database:
db 'postgres:alpine', port: 5432, data_dir: '/var/lib/postgresql/data', params: '-e POSTGRES_PASSWORD=example', waitscript_params: " -e PG_HOST=<%= db_container_name %> -e PG_USER=postgres -e PGPASSWORD=example -e PG_DATABASE=postgres", waitscript: <<~SCRIPT #!/bin/sh RETRIES=5 until psql -h $PG_HOST -U $PG_USER -d $PG_DATABASE -c "select 1" > /dev/null 2>&1 || [ $RETRIES -eq 0 ]; do echo "Waiting for postgres server, $((RETRIES--)) remaining attempts..." sleep 1 done SCRIPT
This is nice and general and suitable for a large family of databases that are in practical use today.
But need to make this easier for well-known databases, or make something like a Kaiser plugin repository where kaiser can simply retrieve them.
Something like
database :postgres
And if you want to specify an image
database :postgres, image: 'postgres:alpine'
If you want to add additional params (ala KOMOJU)
database :mysql, image: 'mysql:5.6', commands: <<~CMD --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --innodb-large-prefix --innodb-file-format=barracuda CMD
And maybe some well known params for the database:
database :mysql, env: { MYSQL_ROOT_PASSWORD: 'qwerty' }
Current kaiserfiles have huge amounts of code to define how to database:
This is nice and general and suitable for a large family of databases that are in practical use today.
But need to make this easier for well-known databases, or make something like a Kaiser plugin repository where kaiser can simply retrieve them.
Something like
And if you want to specify an image
If you want to add additional params (ala KOMOJU)
And maybe some well known params for the database: