Alexis Couvreur
ce7de13ade
refactor: remove session manager
...
The session manager is now simply Sablier
2025-03-08 12:17:12 -05:00
Alexis Couvreur
b1e8fc2f20
test(docker): use testcontainers ( #519 )
...
* refactor: move app/theme to pkg/theme
* refactor
* wip
* use dockerindocker
* add providertest
* wip
* wip
* test(docker): get state now uses dind container to test against a real provider
* test(docker): move to docker_test package
* refactor(docker): create container_inspect.go
* test(docker): add more dind test
* test(docker): event test now use docker in docker
* refactor: remove unused instance type props
* refactor test docker
* fix instance list sort
* stabilize test
* remove testcontainers custom config
2025-03-01 19:34:36 -05:00
Alexis Couvreur
8844a36e4a
refactor(logging): use slog instead of logrus ( #501 )
...
Everything uses slog now and the logger is part of every struct
2025-02-02 23:01:51 -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
9821c621fb
fix(dynamic): avoid panic on nil instance
...
For some yet unknown reasons, some instances are returned as nil.
This commits adds a nil check to prevent that and logs a warning to help further debugging.
Fixes #380
2024-10-01 17:30:14 -07:00
valankar
b7ffc86b43
fix(api): add Cache-Control header on dynamic page to prevent caching by services like Cloudflare. ( #389 )
...
* Disable caching for dynamic page.
* Add test for Cache-Control header.
2024-10-01 17:30:14 -07:00
Alexis Couvreur
df1b8d21a6
feat(http): add Content-Length header on dynamic strategy
...
The Content-Length header will help system work better with long payloads.
The ngx_wasm_module from kong is not able to read the whole request without this header.
2024-04-30 15:49:22 -04: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
8b57b9cd05
fix: use paramter for dynamic strategy
...
The value was using a hardcoded 5s
Fixes #175
2023-09-11 13:43:03 -04:00
Alexis Couvreur
795792058f
feat: add filter by labels ( #134 )
...
You are now able to use labels on containers and services such as `--sablier.enable=true` and `--sablier.group=mygroup` to select groups.
2023-03-28 21:31:22 -04: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
2e0dc8320d
feat: add healthcheck capabilities
2022-11-14 18:46:38 +00:00
Alexis Couvreur
1d34a812fd
fix: set routes logging to Debug
2022-11-14 01:47:07 +00:00
Alexis Couvreur
cca050be08
fix(sessions): request blocking session is stopped upon user cancellation
2022-11-11 17:00:35 -05:00
Alexis Couvreur
006fb6679b
refactor(events): close the channel from the sender
2022-11-11 17:00:35 -05:00
Alexis Couvreur
546b378416
feat(strategy): add option to show instances details
...
Closes #77
2022-11-10 11:31:46 -05:00
Alexis Couvreur
ec77d127ba
test: fix typo existant to existent
...
Closes #82
2022-11-07 16:54:48 -05:00
Alexis Couvreur
8096a4e87e
feat: add DesiredReplicas inside State struct
...
For now only the `Kubernetes` provider benefits from this improvement as `Docker` and `Swarm` have hardcoded 1 value
2022-11-03 20:55:09 -04:00
Alexis Couvreur
8a85a32561
feat: update JSON object returned by blocking strategy
...
Closes #68
2022-11-03 16:37:41 -04:00
Alexis Couvreur
62e9d33ec8
feat(http): add graceful shutdown
2022-11-02 23:15:06 -04:00
Alexis Couvreur
f842b491c6
test(render): add refresh frequency test
2022-11-02 23:15:06 -04:00
Alexis Couvreur
cf9f2f8ae3
feat(strategy): add dynamic theme listing endpoint /strategies/dynamic/themes
2022-11-02 23:15:06 -04:00
Alexis Couvreur
c47137edc7
feat(themes): add custom themes with security feature
2022-11-02 23:15:06 -04:00
Alexis Couvreur
e72a307163
fix(render): allow to load default themes when specifying custom themes
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
6cebeef97d
fix(render): set refresh frequency to seconds
...
merge this with a6410f8613
2022-11-02 23:15:06 -04:00
Alexis Couvreur
6eb0789b7b
feat(strategies): add blocking strategy
2022-11-02 23:15:06 -04:00
Alexis Couvreur
df2a67a290
feat: default theme for dynamic strategy is hacker-terminal
2022-11-02 23:15:06 -04:00
Alexis Couvreur
3196b1aa63
fix(render): set refresh frequency to seconds
2022-11-02 23:15:06 -04:00
Alexis Couvreur
723ee38a3e
feat(plugins): add traefik plugin
2022-11-02 23:15:06 -04:00
Alexis Couvreur
160faaad0f
feat(dynamic): sort instances by name
...
To keep a stable order, instances are sorted by name
2022-11-02 23:15:06 -04:00
Alexis Couvreur
e32425c468
fix(themes): remove extra "}"
2022-11-02 23:15:06 -04:00
Alexis Couvreur
04c55c2f49
stabilization
2022-11-02 23:15:06 -04:00
Alexis Couvreur
c827154506
refactor: instance are in unrecoverable state instead of error
...
To avoid confusion between error from a call or network.
Instance has an Unrecoverable state instead of Error.
2022-11-02 23:15:06 -04:00
Alexis Couvreur
c63bbee7dd
feat(theme): add success and error to shuffle
2022-11-02 23:15:06 -04:00
Alexis Couvreur
42b9f2c1b6
feat: add version endpoint
2022-11-02 23:15:06 -04:00
Alexis Couvreur
f725d49521
feat: add ghost, hacker-terminal, matrix and shuffle themes
2022-11-02 23:15:06 -04:00