Limited Operational DB PostgreSQL support #32
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add support for using PostgreSQL as the backend database for the Operational DB at first, meaning the clients table.
Switch to specifying the clients table programmatically rather than relying purely on embedded SQL scriptlet. This also leverages the previously added placeholder generators to address the fact that the different supported backends use different placeholders. Also updated the ClientsRow implementation to leverage the new table definition mechanism.
Updated the Dockerfile to install the postgresql16 client tools.
Updated the docker compose.yaml to deploy a customised postgres:16 based db container, backed by a persistent volume, that is plumbed to be accessible by the tsg container on an internal network. The customisations to the postgres image add a startup script that will define our 3 possible databases and authorise our DB user to be able to access and manage them.
The tsg container also depends upon the db container being healthy.
Split the docker and compose make actions out into the corresponding Makefile.docker and Makefile.compose that are included into the main Makefile.
Added a generate Makefile action that can be used to generate and submit telemetry to a telemetry server instance running locally on port 9999.
Added an end-to-end Makefile action that can be used for testing end-to-end operation.
Updated dockerServer.yaml and composeServer.yaml configs.
Updated README.md to reflect availability of the docker and compose related actions, and that the compose.yaml now deploys the postgres db container.