Alexis Couvreur
7ddb6ae6e0
fix(docker): ensure connection is established with host
...
The `docker` and `docker_swarm` providers have been patched to ensure that the connection is properly established upon starting.
If the docker host is not available at starting time, then the application will stop. This will prevent from trying to register to the event stream on a non working client.
2024-10-01 17:30:14 -07:00
renovate[bot]
f40fe10d59
fix(deps): update module github.com/docker/docker to v26
2024-05-30 12:10:00 -04:00
Alexis Couvreur
a5a6e06cf4
fix(kubernetes): discovered deployments will be properly registered
...
closes #299
2024-05-04 23:05:03 -04: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
932d9c9c52
Merge branch 'main' into beta
2024-04-21 04:44:51 +00:00
Alexis Couvreur
0e6a13249c
fix(providers): add docker_swarm as a provider
...
Currently the documentation states that `docker_swarm` is an acceptable value for the Docker Swarm provider.
However, the code actually uses `swarm`.
This changes adds `docker_swarm` as a supported provider alias for docker swarm.
Closes #279
2024-04-16 17:22:58 -04:00
Alexis Couvreur
60b270472d
feat(kubernetes): add provider.kubernetes.delimiter config property
...
the delimiter configuration property for kubernetes allows you to change the default "_" delimiter.
By specifying "/" or "." as a delimiter you ensure that you won't collide with objects names that contains the default delimiter "_".
Fixes #207
2024-02-05 12:05:12 -05:00
Alexis Couvreur
1cbe5d6fbb
fix(deps): update module github.com/docker/docker to v25
2024-02-05 05:17:13 +00:00
Massimeddu Cireddu
0a72b337c2
feat(kubernetes-provider): get groups from statefulsets
2024-02-05 04:50:30 +00:00
Alexander Vyssochin
f4e88ae322
fix(providers/kubernetes): Added QPS and Burst tweaks for client-side throttling
2023-10-10 13:30:23 -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
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
ea1030353e
feat(deps): upgrade to go 1.21
2023-08-25 18:11:01 -04:00
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