Separate TidesDB configuration from MariaDB configuration in Docker image#4
Separate TidesDB configuration from MariaDB configuration in Docker image#4Copilot wants to merge 8 commits into
Conversation
Agent-Logs-Url: https://github.com/Vettabase/tidesql/sessions/32627f94-b1b2-42d9-9106-f0538ad92df9 Co-authored-by: federico-razzoli <497022+federico-razzoli@users.noreply.github.com>
f99e3ef to
422d325
Compare
|
@copilot The configuration directory should have a subdirectory called Include Add documentation in |
Agent-Logs-Url: https://github.com/Vettabase/tidesql/sessions/0f095892-e6d9-4e1a-ac3f-874b082ca453 Co-authored-by: federico-razzoli <497022+federico-razzoli@users.noreply.github.com>
Done in commit
|
|
@copilot Make the following changes to the Docker image. Containers need a As soon as MariaDB is up and responding, the entrypoint needs to execute any Add documentation for this feature in the |
Agent-Logs-Url: https://github.com/Vettabase/tidesql/sessions/b2b72453-bc0b-4003-ae9f-1c00c7d095e4 Co-authored-by: federico-razzoli <497022+federico-razzoli@users.noreply.github.com>
Done in commit
|
|
@copilot Right now the Dockerfile fails because |
Agent-Logs-Url: https://github.com/Vettabase/tidesql/sessions/6dc9212c-7f70-40a7-8673-cfb7567697cd Co-authored-by: federico-razzoli <497022+federico-razzoli@users.noreply.github.com>
Fixed in commit |
TidesDB-specific settings were co-mingled with MariaDB's
my.cnf, making it harder to manage each independently. This PR also introduces acustomconfiguration directory for user-supplied overrides, and a/docker-entrypoint-initdb.ddirectory for container initialisation scripts.Changes
New file
docker/conf/inc/tidesdb.cfg— contains only TidesDB system variables under[mysqld]:New file
docker/conf/custom/00-example.cfg— example custom configuration file with commented-outsql_modeandold_modesettings under[server], and a header comment explaining it is an example to be copied and edited.New file
docker/conf/custom/.gitignore— gitignores all files in thecustom/directory except itself and00-example.cfg, so user-created config files remain local and unversioned.docker/conf/my.cnf— TidesDB section replaced with a!includedirective, and!includedir /etc/mysql/customappended at the very end so custom files are loaded last and override all defaults:New file
docker/initdb.d/00-example.sql— example initialisation script with an explanatory comment and no SQL content, serving as a template for users to copy and edit.New file
docker/initdb.d/.gitignore— gitignores all files in theinitdb.d/directory except itself and00-example.sql, so user-created init scripts remain local and unversioned.docker/ubuntu/Dockerfile— copiesdocker/initdb.d/to/docker-entrypoint-initdb.d/in the image and declares it as aVOLUME.docker/ubuntu/entrypoint.sh— MariaDB now starts in the background; after it is up and accepting connections, any.sqland.shfiles in/docker-entrypoint-initdb.dare executed in alphabetical order, then the entrypoint waits on the server process.docker/README.md— new "Customising the Configuration" section explaining how to add files toconf/customto override defaults, and a new "Initialisation Scripts" section documenting the/docker-entrypoint-initdb.dfeature, its backup-restore use case, and guidance on avoiding unintended re-execution on subsequent restarts.The
docker/conf/tree is copied to/etc/mysql/in the Dockerfile, sotidesdb.cfglands at/etc/mysql/inc/tidesdb.cfgand the custom directory at/etc/mysql/custom/— matching the include paths exactly. Theinitdb.d/tree is copied to/docker-entrypoint-initdb.d/in the image.⌨️ Start Copilot coding agent tasks without leaving your editor — available in VS Code, Visual Studio, JetBrains IDEs and Eclipse.