skunk
skunk copied to clipboard
Add support for unix domain sockets (and peer authentication)
Adds support for connecting to the Postgres server via unix domain sockets.
Example usage:
Session.Builder[IO]
.withUnixSockets
.withUser("jimmy")
.withDatabase("world")
.single
The above configuration results in connecting via /tmp/.s.PGSQL.5432. Variations of withUnixSockets are supplied for customizing the path.
Supports both trust and peer authentication types.
TODO: Figure out how to test this with the current docker-compose based configuration
I tried adding a test in c521068 but it fails on Mac w/ Colima due to permissions issues. The new container fails to start with this error:
025-03-25 12:57:24.774 UTC [49] LOG: could not set permissions of file "/var/run/postgresql/.s.PGSQL.5432": Invalid argument
2025-03-25 12:57:24.774 UTC [49] WARNING: could not create Unix-domain socket in directory "/var/run/postgresql"
2025-03-25 12:57:24.774 UTC [49] FATAL: could not create any Unix-domain sockets
2025-03-25 12:57:24.782 UTC [49] LOG: database system is shut down
Tried various things (e.g. changing fstype used by Colima, symlink nonsense, etc) without luck.
Codecov Report
Attention: Patch coverage is 52.17391% with 11 lines in your changes missing coverage. Please review.
Project coverage is 83.24%. Comparing base (
a2c4f74) to head (7ca500b). Report is 197 commits behind head on main.
| Files with missing lines | Patch % | Lines |
|---|---|---|
| modules/core/shared/src/main/scala/Session.scala | 50.00% | 11 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## main #1192 +/- ##
==========================================
- Coverage 83.94% 83.24% -0.70%
==========================================
Files 138 140 +2
Lines 2136 2238 +102
Branches 243 230 -13
==========================================
+ Hits 1793 1863 +70
- Misses 343 375 +32
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.