steve-chavez
71f6061d30
Add Supabase as a sponsor
2021-03-25 20:42:43 -05:00
Robert Vollmert and Steve Chavez
3a466aea9a
tests: don't match JSON bodies literally
...
The change of hash function with hashable-1.3.1.0 changes object
ordering in JSON output, causing some test failures:
https://app.circleci.com/pipelines/github/PostgREST/postgrest/805/workflows/067844c9-9ce4-49e8-8790-315625ab309b/jobs/8309
e.g.:
> expected: "[{\"b\":\"baz\",\"a\":\"bar\"}]"
> but got: "[{\"a\":\"bar\",\"b\":\"baz\"}]"
This changes the tests to not compare against the body literally,
and instead use the ResponseMatcher instance from Test.Hspec.Wai.JSON.
2021-03-14 12:45:02 -05:00
Robert Vollmert and Steve Chavez
5baec4819f
circleci: update base image
...
Switches to the non-legacy cimg/base: https://circleci.com/developer/images/image/cimg/base
In particular, this updates the gcc version to fix the build of
cryptonite-0.27: https://github.com/haskell-crypto/cryptonite/issues/326
2021-03-14 12:45:02 -05:00
steve-chavez
d3a8b5f6e1
Change db-load-guc-config to db-config
...
Make clear that in-db config is being read
2021-03-05 19:03:15 -05:00
steve-chavez
498e77215a
Reread in-db config when recoverying connection
...
* Separate reading files from whole config re-read
* Only reload external file on SIGUSR2/NOTIFY
2021-03-05 19:03:15 -05:00
steve-chavez
6750a5c44d
Restrict db settings to current db and global
...
Global settings are overriden by database specific settings if they
share common ones.
2021-03-05 19:03:15 -05:00
steve-chavez
e4516ab606
Correct db settings to use "_" instead of "-"
...
GUC settings with dashes cannot be shown with show or current_setting.
https://www.postgresql.org/message-id/flat/20210209144059.GA21360%40depesz.com
2021-03-05 19:03:15 -05:00
Robert Vollmert and Steve Chavez
c3ccaf1a08
Allow lens-5.0
2021-02-28 13:02:37 -05:00
Robert Vollmert and Steve Chavez
a7dab6d95a
cirrusci: update to FreeBSD 12.2
...
This fixes CI failure because FreeBSD 12.1 became EOL in Jan 2021
(3 months after release of 12.2): https://www.freebsd.org/security/#sup
2021-02-27 13:26:02 -05:00
steve-chavez
b50b67491d
Update CYBERTEC logo and BACKERS
2021-02-25 20:03:38 -05:00
Remo Rechkemmer and GitHub
e6973f966b
refactor: App.hs and related changes ( #1725 )
...
* Use ExceptT to avoid 'staircasing' case analysis in App.hs
* Split large function in App.hs into individual handler functions
* Adapt API of Auth.hs, OpenApi.hs etc. to simplify the use of those modules in App.hs
* Split optional rollback functionality into Middleware
* Unify SimpleError and ApiRequestError into one Error type, so it can be used across modules
2021-02-23 22:41:48 +01:00
Remo Rechkemmer and GitHub
0ddd676ef0
nix: Add a script to generate a graph of Haskell imports ( #1751 )
2021-02-07 22:15:44 +01:00
Steve Chavez and GitHub
c93e8f9e0c
Correct hardcoded postgrest_test_authenticator ( #1743 )
...
Also remove panic from Config and correct io test not running
2021-01-25 18:38:46 -05:00
steve-chavez
6557f1f9c0
correct NOTIFY config reload dying on error
2021-01-22 15:56:08 -05:00
steve-chavez
17af56adb1
refactor: config validation inside readAppConfig
...
Remove Either from configJwtRoleClaimKey/configServerUnixSocketMode
and remove whenLefts.
2021-01-22 15:56:08 -05:00
steve-chavez
4344cc9202
refactor: use optString and move overrideFrom
2021-01-22 15:56:08 -05:00
steve-chavez
125ea8f6d9
feat: allow reloading config with NOTIFY
...
Enables reloading the config by doing:
NOTIFY pgrst, 'reload config'
Adds an alias for reloading the schema cache:
NOTIFY pgrst, 'reload schema'
2021-01-19 13:49:40 -05:00
steve-chavez
9c005fc683
feat: get configuration parameters from the db
...
Allows configuring postgrest from the db by setting config parameters
on the connection role. For example:
ALTER ROLE postgrest_test_authenticator
SET pgrst.jwt-secret = "REALLYREALLYREALLYREALLYVERYSAFE"
The above wWill set the `jwt-secret` config option accordingly.
SUPERUSER privileges are required for ALTERing role settings,
so this might not work on some cloud-managed databases.
This feature is enabled by default, for disabling it you can add the
following to the config file:
db-load-guc-config = false
2021-01-19 13:49:40 -05:00
steve-chavez
674615041a
Correct --dump-schema swallowing error
...
When there's no connection to pg, the following error happens
when running --dump-schema:
postgrest: user error (Pattern match failure in do expression at
main/Main.hs:361:5-14)
Now it shows a regular "could not connect to server.." error.
2021-01-19 13:49:40 -05:00
steve-chavez
15039553db
Correct openapi preparing statements by default
2021-01-19 13:49:40 -05:00
Wolfgang Walther and Wolfgang Walther
ba86b479f8
cov: refactor ApiRequest profile header detection
2021-01-14 16:40:29 +01:00
Wolfgang Walther and Wolfgang Walther
6dd126461e
cov: Remove unused code
2021-01-14 16:40:29 +01:00
Wolfgang Walther and Wolfgang Walther
97d8456382
cov: Add io tests for basic cli commands and invalid config options
...
Full code coverage for Config.hs except expected overlays.
2021-01-14 16:40:29 +01:00
Wolfgang Walther and Remo Rechkemmer
ab6f90aa78
nix: Add postgrest-with-* tools to run with temporary databases of different versions
2021-01-04 23:14:44 +01:00
Wolfgang Walther and Wolfgang Walther
522308217a
refactor: Combine relConstraint and relJunction in relLink
2021-01-03 17:54:28 +01:00
Wolfgang Walther and Wolfgang Walther
d173b7d8d6
cov: remove unused fields from type Column
2021-01-03 17:54:28 +01:00
Wolfgang Walther and Wolfgang Walther
b8e6450af1
refactor: simplify addXRels
2021-01-03 17:54:28 +01:00
Wolfgang Walther and Wolfgang Walther
45ebaf0ad8
cov: Add comment on SCHEMA in test fixtures
2021-01-03 17:54:28 +01:00
Wolfgang Walther and Wolfgang Walther
1edbef0538
Add STABLE RPCs in test fixtures to increase coverage
2021-01-03 17:54:28 +01:00
Wolfgang Walther and Wolfgang Walther
6efa304142
refactor: Move parseArg to SQL
2021-01-03 17:54:28 +01:00
Wolfgang Walther and Wolfgang Walther
eed6015e70
refactor: Move addHasVariadic to SQL
2021-01-03 17:54:28 +01:00
Wolfgang Walther and Wolfgang Walther
94b516d074
Add flag to postgrest.cabal to disable collecting coverage data
2021-01-02 13:51:00 +01:00
Wolfgang Walther and Wolfgang Walther
56a7bc5030
nix: Fix build errors with stale .tix files present
2021-01-02 13:51:00 +01:00
Wolfgang Walther and Wolfgang Walther
af2788468e
Add basic error handling to --dump-schema
2021-01-02 13:50:19 +01:00
Wolfgang Walther
cc54135bf0
Rename master branch to main; replace whiteList with isAllowed
2020-12-31 14:37:52 +01:00
Wolfgang Walther and GitHub
519550e9af
Add codecov to README.md
2020-12-30 17:52:15 +01:00
Wolfgang Walther and Remo Rechkemmer
93541035f6
Fix postgrest-coverage throwing error when installed with nix-env
2020-12-30 16:38:13 +01:00
Wolfgang Walther and Remo Rechkemmer
568477b6af
Fix io tests not collecting coverage data when using run()
...
Before, postgrest was killed after each test and no coverage data was saved.
Now the process is terminated gracefully via SIGTERM first to allow writing the .tix file.
2020-12-30 14:51:58 +01:00
Wolfgang Walther and GitHub
c7f0d42323
Add postgrest-coverage to show and upload hpc reports to codecov
2020-12-30 13:22:25 +01:00
Wolfgang Walther and GitHub
2015688312
Fix spec test concurrency issue related to tx=commit on simple_pk
2020-12-29 23:58:37 +01:00
Wolfgang Walther and Wolfgang Walther
8e02551956
Fix "unused-imports" warning for windows build
2020-12-29 16:07:07 +01:00
Remo Rechkemmer and GitHub
96478ed016
Add docs to all checked shell scripts in nix
2020-12-28 13:23:12 +01:00
Remo Rechkemmer and GitHub
2425cddaed
improve io-tests
...
Tests are now run through unix socket by default allowing
parallel execution. Test setup configuration is done via
environment variables instead of config files.
2020-12-24 16:09:25 +01:00
Wolfgang Walther and Wolfgang Walther
b5185de706
nix: add "cd $rootdir" to all shell scripts via checked-shell-script
2020-12-24 14:44:01 +01:00
Wolfgang Walther and Wolfgang Walther
56557c9c40
ci: remove broken travis coverage job
2020-12-23 19:39:40 +01:00
Wolfgang Walther and Wolfgang Walther
2cbe1ba903
feat: Add --example cli option to show example config file
2020-12-23 19:39:40 +01:00
Wolfgang Walther and Wolfgang Walther
69b459e7b6
Use environment variables for configuration in developer tooling
...
Avoid the need for configuration files for temporary database connections.
2020-12-23 19:39:40 +01:00
Wolfgang Walther and Wolfgang Walther
add326a79d
ci: skip postgrest-release-dockerhubdescription for nightly builds
2020-12-23 19:39:40 +01:00
Wolfgang Walther and Wolfgang Walther
b7fc393e49
feat: Read config directly from environment variables
...
resolves #1624
2020-12-23 19:39:40 +01:00
monacoremo and Steve Chavez
f2f639e484
update stack to lts-16.26
2020-12-23 09:39:36 -05:00