diff --git a/Dev-Notes.md b/Dev-Notes.md index f071f9a..27b85cf 100644 --- a/Dev-Notes.md +++ b/Dev-Notes.md @@ -1,3 +1,33 @@ +## 20240116 + +https://github.com/CrunchyData/pg_featureserv - a lightweight alternative to Geoserver for serving WFS3 (found from https://gis.stackexchange.com/a/379506) + +QGIS has very rich PostGIS integration. + +Could periodically generate `gpkg` files: https://gis.stackexchange.com/a/365600 + +This guy in 2013 said to use PostGIS instead of Geoserver: https://gis.stackexchange.com/a/57693 + +A few WFS caches from 2011: https://gis.stackexchange.com/a/13972 (investigate WFS caching more) + +Article on enforcing TLS in PostgreSQL: https://www.percona.com/blog/enabling-and-enforcing-ssl-tls-for-postgresql-connections/ + +Docs on `pg_hba.conf`: https://www.postgresql.org/docs/current/auth-pg-hba-conf.html - can force clients to use TLS and also optionally use a client certificate + +Need to get familiar with PostgreSQL roles and accounts. That will be the primary way to determine if someone has "read meters" "read/modify/add meter metadata" or other tasks. Then create accounts with passwords, or use some other auth system (e.g. LDAP or RADIUS). OAuth2 is basically not supported (there is a Linux-only PAM module abandoned many years ago, https://www.janua.fr/postgres-oauth2-authentication/). + +Geoserver *does* support OAuth 2.0, but it looks like maybe only a few providers. Maybe the OIDC 2.0 one works with any provider? https://docs.geoserver.org/latest/en/user/community/oauth2/installing.html + +Probably best to start with PostGIS-internal role-based access control (RBAC), directly connected to QGIS. + +QGIS can create joins and views directly, but best to have it done elsewhere (either in PostGIS directly from ChirpStack event table or as a microservice that receives events and puts them into a special QGIS-friendly table). + +So the choice right now is between creating a microservice or creating a monstrous PostGIS command to create a view. The latter requires parsing JSON, which has a tutorial here: https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-json/ + +To create a view: https://www.guru99.com/postgresql-view.html + +It might be best right now to try to create a view and then connect PostGIS that way. No need for a microservice right now (though later on it's like there will need to be some admin control panel app). + ## 20240114 PostGIS setup, PostgreSQL commands, ChirpStack integration