Yoann Lecuyer
0d699effc3
feat(docker): add docker pause strategy ( #755 )
...
* add tmp test
* add strategy config
* strategy config
* pause / unpause strategy impl
* Fix tests
* fix compilation
* add pause / unpause tests
* add doc
* add config test
* start if not paused
* remove test files
2025-11-27 12:03:37 -05:00
Alexis Couvreur
112bdaaf8f
fix: warn when the custom theme path does not exist
2025-11-23 16:56:24 -05:00
Alexis Couvreur
0f4a3a2e93
refactor: add sabliercmd pkg ( #727 )
...
This will enable doc generation
2025-11-13 20:18:57 -05:00
Alexis Couvreur
0588627d36
fix: bump go 1.25 ( #723 )
...
* fix: bump go 1.25
also bump deps and fix golangci lint
* golangci lint fixes
2025-11-10 22:51:07 -05:00
Alexis Couvreur
8f82cfd8b6
ci: pin to SHA versions
2025-11-09 17:59:23 -05:00
Alexis Couvreur
6d880928c7
fix\!: remove plugins from the repository
2025-11-09 17:28:18 -05:00
Alexis Couvreur
fad97d7901
fix(provider): add debug logging ( #653 )
...
* fix(provider): add debug logging
Add a bunch of debug logging calls
* return a swarm service pointer
* revert to service list with status true
* change trace to debug
* --no-verify
2025-07-30 22:44:20 -04:00
Alexis Couvreur
b65fbcd514
feat: add podman provider ( #648 )
2025-07-26 00:46:11 -04:00
dependabot[bot]
52ce80d46c
build(deps): bump the testcontainers-go group across 1 directory with 3 updates ( #578 )
...
* build(deps): bump the testcontainers-go group across 1 directory with 3 updates
Bumps the testcontainers-go group with 3 updates in the / directory: [github.com/testcontainers/testcontainers-go](https://github.com/testcontainers/testcontainers-go ), [github.com/testcontainers/testcontainers-go/modules/k3s](https://github.com/testcontainers/testcontainers-go ) and [github.com/testcontainers/testcontainers-go/modules/valkey](https://github.com/testcontainers/testcontainers-go ).
Updates `github.com/testcontainers/testcontainers-go` from 0.35.0 to 0.36.0
- [Release notes](https://github.com/testcontainers/testcontainers-go/releases )
- [Commits](https://github.com/testcontainers/testcontainers-go/compare/v0.35.0...v0.36.0 )
Updates `github.com/testcontainers/testcontainers-go/modules/k3s` from 0.35.0 to 0.36.0
- [Release notes](https://github.com/testcontainers/testcontainers-go/releases )
- [Commits](https://github.com/testcontainers/testcontainers-go/compare/v0.35.0...v0.36.0 )
Updates `github.com/testcontainers/testcontainers-go/modules/valkey` from 0.35.0 to 0.36.0
- [Release notes](https://github.com/testcontainers/testcontainers-go/releases )
- [Commits](https://github.com/testcontainers/testcontainers-go/compare/v0.35.0...v0.36.0 )
---
updated-dependencies:
- dependency-name: github.com/testcontainers/testcontainers-go
dependency-version: 0.36.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: testcontainers-go
- dependency-name: github.com/testcontainers/testcontainers-go/modules/k3s
dependency-version: 0.36.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: testcontainers-go
- dependency-name: github.com/testcontainers/testcontainers-go/modules/valkey
dependency-version: 0.36.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: testcontainers-go
...
Signed-off-by: dependabot[bot] <support@github.com >
* use dind module for docker based tests
* do not use testcontainers dind module fork
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexis Couvreur <alexiscouvreur.pro@gmail.com >
2025-03-31 23:49:58 -04:00
dependabot[bot]
cc23853966
build(deps): bump github.com/docker/docker from 27.5.1+incompatible to 28.0.1+incompatible ( #539 )
...
* build(deps): bump github.com/docker/docker
Bumps [github.com/docker/docker](https://github.com/docker/docker ) from 27.5.1+incompatible to 28.0.1+incompatible.
- [Release notes](https://github.com/docker/docker/releases )
- [Commits](https://github.com/docker/docker/compare/v27.5.1...v28.0.1 )
---
updated-dependencies:
- dependency-name: github.com/docker/docker
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix tests
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexis Couvreur <alexiscouvreur.pro@gmail.com >
2025-03-13 00:08:13 -04:00
Alexis Couvreur
a897c65d39
feat: add blocking refresh frequency ( #558 )
...
* feat: add blocking refresh frequency
The refresh frequency when using the blocking strategy was set to 5 seconds. This is now configurable with a default value of 5 seconds.
* fail ci if codecov fail
* always upload codecov even if ci fails
* remove useless panic
* use fork
* add -short - revert later
* remove short
* publish test results
2025-03-12 21:06:28 -04:00
Alexis Couvreur
fca9c79289
refactor: reorganize code structure ( #556 )
...
* refactor: rename providers to Provider
* refactor folders
* fix build cmd
* fix build cmd
* fix build cmd
* fix cmd start
2025-03-10 14:11:40 -04:00
Alexis Couvreur
7a885ebd5f
test: use httpexpect v2.17 upstream ( #552 )
...
* test: use httpexpect v2.17 upstream
This change brings the WithRetryPolicyFunc previously implemented in the fork.
* fix e2e test
* extend key duration
* remove parallel
2025-03-09 18:34:19 -04:00
Alexis Couvreur
b72c37a85a
refactor: remove discovery package ( #553 )
2025-03-09 01:29:06 -05:00
Alexis Couvreur
92eb721d69
refactor: remove session manager ( #551 )
...
The session manager is now simply Sablier
2025-03-08 15:43:33 -05:00
Alexis Couvreur
b5c68c6f1b
test(discovery): use providertest ( #547 )
2025-03-03 22:35:02 -05:00
Alexis Couvreur
a37f5943cc
test(kubernetes): increase test coverage ( #546 )
2025-03-03 22:05:20 -05:00
Alexis Couvreur
edbf7d9d15
fix(kubernetes): consider workload not ready when scaled to 0 ( #543 )
...
* test(kubernetes): use testcontainers for test
* fix(kubernetes): get state properly reports the workload as down when scaled to 0
* refactor(kubernetes): split provider in multiple files
* refactor(provider): use Instance prefix for actions
* test(testcontainers): use provider.PullImage
* squash
* Revert "test(testcontainers): use provider.PullImage"
This reverts commit 6f958c48a5 .
* test: add random generator thread safety
2025-03-02 23:30:59 -05:00
Alexis Couvreur
5863e65f7b
test(swarm): use testcontainers for tests ( #542 )
...
* test(swarm): add service_inspect.go
* test(swarm): add testcontainers tests
2025-03-02 11:36: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
9430cc3eb3
chore(deps): bump to go1.24.0 ( #521 )
...
* chore(deps): bump to go1.24.0
* use proxy-wasm/proxy-wasm-go-sdk
* remove tinygo
* update docker image
* add missing env
* use go tool directive for mockgen
* chore: bump Kong/ngx_wasm_module to pre-release 0.6.0
Thanks to https://github.com/Kong/ngx_wasm_module/issues/682
* fix go mod
* set caddy to go1.23
2025-03-01 15:12:54 -05:00
Alexis Couvreur
731a21c0b8
test(swarm): fix race condition ( #532 )
2025-02-23 17:27:26 -05:00
Alexis Couvreur
35a8b07c20
refactor(provider): move app/providers to pkg/provider ( #517 )
2025-02-09 21:10:53 -05:00
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
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
33d5d0905a
tests: set timezone to UTC for consistency
...
The test would fail if you're running it from a different timezone
2023-01-09 13:01:04 -05:00
Alexis Couvreur
eb83d39652
feat(tinykv): add Delete method
2022-11-06 00:24:10 -04:00
Alexis Couvreur
411c2b2dc6
fix(tinykv): remove expired values from UnmarshalJSON
2022-11-02 23:15:06 -04:00
Alexis Couvreur
8cf668976c
feat(tinykv): remove ExpiresAfter from json
2022-11-02 23:15:06 -04:00
Alexis Couvreur
04c55c2f49
stabilization
2022-11-02 23:15:06 -04:00
Alexis Couvreur
73afffe726
remove old scaler
2022-11-02 23:15:06 -04:00
Alexis Couvreur
333efd2d70
fix(swarm): remove 503 error workaround
...
It's not working as it is part of a higher issue
2022-11-02 23:15:06 -04:00
Alexis Couvreur
08bd9b7520
test(tinykv): use regex quantifier instead of repeating pattern
2022-10-06 23:50:21 -04:00
Alexis Couvreur
b220bc4bf7
fix(tinykv): remove sliding feature
2022-10-03 21:45:44 +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
551a146d94
feat: merge service repository into Sablier
...
Add plugins folder to integrate with multiple reverse proxies
The project is now released as 'Sablier'
2022-10-03 20:27:06 +00:00
Alexis Couvreur
3eb7d480da
feat: add persistent storage ( #30 )
...
* refactor: remove unused default timeout
* feat: add persistent storage
Allows you to save the state to a file and load it upon restarting the app to restore the previous state.
* chore: upgrade to go 1.18
* use tinykv with generics
* build: add "-buildvcs=false" flag
Git is not available in golang:1.18-alpine image
2022-07-23 12:53:23 -04:00
Alexis Couvreur
4eb086f9d5
fix(swarm): avoid API hammering on scaling request ( #26 )
2022-07-23 12:53:23 -04:00
Alexis Couvreur
410a5e15eb
fix(swarm): add an extra wait of 5 seconds to consider a service up
2022-07-23 12:53:23 -04:00
Romain
d299780f58
feat(kubernetes): add compatibility with Statefulset ( #20 )
...
* Add statefulset compatibility
* Add rbac in doc
* replace AvailableReplica by ReadyReplica
* Replace if to switch
2021-11-18 15:20:48 +01:00
Matthias Schneider
0e920523d2
feat: add kubernetes support ( #14 )
2021-10-01 18:40:43 +02:00
Alexis Couvreur
ebd24562b1
feat: add healthcheck lookup before redirect ( #12 )
...
Docker classic IsUp will return false when the container defines a healthcheck and is not healthy, otherwise as soon as it's started it's up.
Docker swarm will check that the number of required tasks is higher than 1, and that the number of running tasks matches the number of desired tasks.
A task is not running when it defines a healthcheck and is not healthy.
2021-09-28 12:44:27 +02:00
Alexis Couvreur
68732717ad
fix: scale down correctly update the service specification
2021-09-26 21:01:55 +00:00
Alexis Couvreur
0ecd9d9213
feat: add log.Error on error
2021-09-26 20:51:04 +00:00
Alexis Couvreur
c96482ef67
feat: add docker classic support ( #9 )
...
Defaults with docker swarm support for retro compatibiliy.
You can add --swarmMode=false to deactivate it.
Closes #4
2021-09-26 00:36:45 +02:00