This includes:
- Building a Docker image for Postgres as well as SQLite
- Fuller instructions for usage of the package, including the Postgres builds.
A few related things changed here:
- `.env` is not used anymore -- the defaults in the Dockerfiles are
sufficient
- The Rust version in the Dockerfiles is increased to match the MSRV,
and with it the Alpine version bumped to one built with that Rust
version.
- Cargo dependencies on native-tls and openssl updated to include only
the `vendored` feature, so as not to require a system openssl
installation.
- Two GitHub jobs are set up, to build the two different Docker images
- The documentation incorrectly suggested using `DELETE .. CASCADE` to
delete clients. This syntax does not exist, as the cascading delete
is configured in the schema.
Building of this binary is controlled with features, allowing downstream
users to build just the SQLite version and not be concerned with the
tokio-postgres dependency tree (which includes links to OpenSSL and
other details). The Postgres version is disabled by default.
This does not change the binary name for the SQLite build, just to avoid
confusion for people upgrading to the new version.
This is built to be more robust than the SQLite storage, and to
integrate with other applications. The idea is that for example a web
application might interact with the same DB to create and delete clients
as customers come and go.
* Document RELEASING.md process
* Bump version numbers
* Do not automatically produce GH releases, and do not build binaries to attach to them
* Only build docker images on tags
* Use the `latest` Docker image tag in the Docker-compose config