Commit Graph

12 Commits

Author SHA1 Message Date
renovate[bot]
1d8009a44c fix(deps): update golang.org/x/exp digest to 46b0784 2024-10-01 17:30:14 -07: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
renovate[bot]
fcf03c09b8 chore(deps): update ubuntu docker tag to v24 2024-10-01 17:30:14 -07:00
Alexis Couvreur
fec877272b fix(deps): update tinygo to v0.32.0 2024-10-01 17:30:14 -07:00
renovate[bot]
bb26aa44c2 fix(deps): update module github.com/tetratelabs/proxy-wasm-go-sdk to v0.24.0 2024-10-01 17:30:14 -07:00
renovate[bot]
d57b02e2d7 fix(deps): update module github.com/stretchr/testify to v1.9.0 2024-10-01 17:30:14 -07:00
renovate[bot]
3eb5ad173b chore(deps): update nginx docker tag to v1.27.0 2024-10-01 17:30:14 -07:00
renovate[bot]
3cebbaca1f chore(deps): update rancher/k3s docker tag to v1.30.2 2024-10-01 17:30:14 -07:00
renovate[bot]
2d38a34a23 fix(deps): update golang.org/x/exp digest to 7f521ea 2024-10-01 17:30:14 -07:00
renovate[bot]
b970b1662a chore(deps): update apache/apisix docker tag to v3.9.1 2024-10-01 17:30:14 -07:00
Alexis Couvreur
3891027e23 feat(plugin): add proxywasm plugin (#284)
* feat(plugin): add `proxywasm` plugin

The `proxywasm` plugin is a WASM Filter following the ProxyWasm ABI Specification using the proxywasm go sdk

This allows extensibility with any reverse proxy who implements the ProxyWasm ABI Specification.

The current WASM Filter was successfully tested with APISIX, Envoy, Nginx with ngx_wasm_module from Kong and Istio.

Fixes #145
2024-10-01 17:30:14 -07:00