Commit Graph

17 Commits

Author SHA1 Message Date
Alexis Couvreur
f29b13a55a refactor(storage): add store.Store interface
There is a first implementation with ValKey that will allow to use redis APIs as a backend for Sablier with Hight Availability
2025-02-02 18:13:45 -05:00
Alexis Couvreur
00cc153d7a fix: add http error responses (#494)
This features adds rfc7807 Problem detail responses when an error happens processing a request.

This will greatly improve the common issues  with "blank pages" and "404 pages" issues which should now properly tell the user what input was wrong (group that does not exist, container name that does not exist, etc.)
2025-02-02 00:00:49 -05:00
Alexis Couvreur
8b113a3c76 fix: changing module to github.com/sablierapp/sablier 2024-10-20 23:54:53 -04:00
Alexis Couvreur
c6f0628411 perf(providers): retrieve state on start instead of assuming starting (#350)
When an instance does not exist yet and needs to be started, its status is not assumed to be starting anymore.

Instead, the statue will be retrieved from the provider. This changes one thing, it's that you may be able to start and access your services instantly because they'll be instantly seen as ready.

With this change, you might want to make sure that your containers have a proper healthcheck used to determine when the application is able to process incoming requests.

* refactor: add interface guards

* refactor(providers): remove instance.State as a return value from Stop and Start

* test(e2e): add healthcheck on nginx container

Because now the container check is so fast, we need to add a delay on which the container is considered started and healthy to have a proper waiting page.

* fix(tests): using acouvreur/whoami:v1.10.2 instead of containous/whoami:v1.5.0

This image simply retrieve the curl binary from curlimages/curl:8.8.0 to be able to add proper docker healthcheck commands.

Once this is merged with traefik/whoami, I'll update back to the original image.

See https://github.com/traefik/whoami/issues/33
2024-10-01 17:30:14 -07:00
Alexis Couvreur
dfb9bacf59 feat(providers): add provider.auto-stop-on-startup argument (#346)
This feature adds the capability to stop unregistered running instances upon startup.

Previously, you had to stop running instances manually or issue an initial request that will shut down instances afterwards.

With this change, all discovered instances will be shutdown. They need to be registered using labels. E.g.: sablier.enable=true

Fixes #153
2024-10-01 17:30:14 -07:00
Alexis Couvreur
9167e9c8c8 refactor(theme): themes are loaded at startup instead of every request 2024-04-30 14:07:53 -04:00
Alexis Couvreur
72ea3b3645 refactor(provider): pass context.Context down to all operations
This means that with more work, a canceled request would cancel to underlying request.
2023-09-15 01:03:41 +02:00
Alexis Couvreur
dd07ed0db0 fix(config): set session_duration optional with default value from sessions.default-duration 2023-03-26 22:10:43 -04:00
Alexis Couvreur
006fb6679b refactor(events): close the channel from the sender 2022-11-11 17:00:35 -05:00
Alexis Couvreur
62e9d33ec8 feat(http): add graceful shutdown 2022-11-02 23:15:06 -04:00
Alexis Couvreur
cc01caa5d4 feat(config): add strategy config 2022-11-02 23:15:06 -04:00
Alexis Couvreur
04c55c2f49 stabilization 2022-11-02 23:15:06 -04:00
Alexis Couvreur
0045bcb494 fix(http): use gin without default configuration 2022-10-04 19:04:43 +00:00
Alexis Couvreur
7703a3041c Revert "fix: bump import to v2"
This reverts commit 9cb9b2aa7a57047a7e61b2c54732b3e25300bf20.
2022-10-03 20:27:14 +00:00
Alexis Couvreur
a374322f99 fix: bump import to v2
See https://go.dev/doc/modules/major-version
2022-10-03 20:27:14 +00:00
Alexis Couvreur
573f0c1e5b refactor: put acouvreur/tinykv inside the repository 2022-10-03 20:27:14 +00:00
Alexis Couvreur
0daddf377c feat: add new cli system (#51) 2022-10-03 20:27:14 +00:00