Commit Graph

54 Commits

Author SHA1 Message Date
Alexis Couvreur
fc1b133704 fix(kubernetes): use kind_namespace_name_replicas format for group scanning 2023-04-08 15:24:48 -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
b6d73a3587 tests: pass lock by reference instead of value
fixes vet like "app/providers/mocks/client_mock.go:314:9: Get passes lock by value: github.com/acouvreur/sablier/app/providers/mocks.DeploymentMock contains github.com/stretchr/testify/mock.Mock contains sync.Mutex"
2023-01-09 13:00:06 -05:00
Alexis Couvreur
fe954e4372 fix(kubernetes): add deletion event listener 2022-11-14 19:43:19 +00:00
Alexis Couvreur
a550f8a817 fix(swarm): listen for removed services 2022-11-14 19:35:59 +00:00
Alexis Couvreur
93e4fbb901 test(swarm): fix typo SeviceScaledEvent to ServiceScaledEvent 2022-11-14 19:35:59 +00:00
Alexis Couvreur
2e0dc8320d feat: add healthcheck capabilities 2022-11-14 18:46:38 +00:00
Alexis Couvreur
80f2304375 fix(storage): initialize file to an empty JSON
It will avoir error message like `time="2022-11-14T01:40:49Z" level=error msg="error loading sessionsEOF"`
2022-11-14 15:15:39 +00:00
Alexis Couvreur
fc9e1fa8d2 fix(storage): close file after initialization 2022-11-14 14:57:06 +00:00
Alexis Couvreur
406a93b10e fix: typo NotifyInsanceStopped to NotifyInstanceStopped 2022-11-14 03:57:31 +00:00
Alexis Couvreur
1d34a812fd fix: set routes logging to Debug 2022-11-14 01:47:07 +00:00
Alexis Couvreur
b7e17dc77c fix(provider): use Actor.Attributes["name"] instead of deprecated From 2022-11-12 17:34:54 -05:00
Alexis Couvreur
cca050be08 fix(sessions): request blocking session is stopped upon user cancellation 2022-11-11 17:00:35 -05:00
Alexis Couvreur
d5da881604 feat: add kubernetes event listener
If a deployment or a statefulset is scaled to 0, then it is removed from the store.

In order for this to work, you need the `list` and `watch` verbs in your ClusterRole
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
79d1f86ddf fix(swarm): remove suffix match on name
This could bring too much complexity. If a new service was created with exact match, it would take pecedence over the previously suffix matched service.

Closes #85
2022-11-08 15:57:38 -05:00
Alexis Couvreur
a62f098d42 feat: add swarm event listener 2022-11-07 17:12:13 -05:00
Alexis Couvreur
ec77d127ba test: fix typo existant to existent
Closes #82
2022-11-07 16:54:48 -05:00
Alexis Couvreur
1ca1934b1c feat(docker): listens for container stopped event
When a container is shutdown manually while it's registered as `ready` in Sablier it will remove it from the store.
Meaning externally events are now handled for docker.
2022-11-06 00:24:10 -04: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
411c2b2dc6 fix(tinykv): remove expired values from UnmarshalJSON 2022-11-02 23:15:06 -04:00
Alexis Couvreur
62e9d33ec8 feat(http): add graceful shutdown 2022-11-02 23:15:06 -04:00
Alexis Couvreur
154bb5e7ed feat: pretty json 2022-11-02 23:15:06 -04:00
Alexis Couvreur
29b81f9de3 fix(storage): add O_TRUNC flag to Writer
Overriding the file in order to remove garbage if writing less than the previous content
2022-11-02 23:15:06 -04:00
Alexis Couvreur
efc41311e4 fix(sessions): add MarshalJSON for SessionState 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
67bf03780c refactor: use common object for describing instances 2022-11-02 23:15:06 -04:00
Alexis Couvreur
a33c822334 feat(provider): add kubernetes provider 2022-11-02 23:15:06 -04:00
Alexis Couvreur
1b145522cf feat(provider): add docker swarm provider 2022-11-02 23:15:06 -04:00
Alexis Couvreur
bbdddca107 feat(provider): add docker provider 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
Alexis Couvreur
0045bcb494 fix(http): use gin without default configuration 2022-10-04 19:04:43 +00:00