- fix(publish): disable CGO
- build(go): use go 1.22
- build: various dependencies updates
- chore(deps): various updates
- chore(deps): bump github.com/Scalingo/go-handlers from 1.4.4 to 1.6.0
- chore(deps): bump github.com/Scalingo/go-utils/logger from 1.1.0 to 1.2.0
- chore(deps): bump github.com/Scalingo/go-philae/v4 from 4.4.5 to 4.4.7
- chore(deps): bump github.com/gofrs/uuid from 4.2.0+incompatible to 4.3.1+incompatible
- chore(deps): bump github.com/j-keck/arping from 1.0.2 to 1.0.3
- chore(deps): bump github.com/urfave/cli from 1.22.9 to 1.22.10
- chore(deps): bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0
- chore(deps): bump go.etcd.io/etcd/client/v3 from 3.5.4 to 3.5.6
- chore(deps): bump go.etcd.io/etcd/api/v3 from 3.5.4 to 3.5.6
- chore(deps): bump github.com/stretchr/testify from 1.7.1 to 1.8.1
- chore(go): use go 1.17
- chore(deps): bump github.com/gofrs/uuid from 4.1.0+incompatible to 4.2.0+incompatible
- chore(deps): bump go.etcd.io/etcd/api/v3 from 3.5.0 to 3.5.4
- chore(deps): bump go.etcd.io/etcd/client/v3 from 3.5.0 to 3.5.4
- chore(deps): bump github.com/Scalingo/go-handlers from 1.4.0 to 1.4.3
- chore(deps): bump github.com/Scalingo/go-utils/errors from 1.0.0 to 1.1.0
- chore(deps): bump github.com/stretchr/testify from 1.7.0 to 1.7.1
- chore(deps): bump github.com/urfave/cli from 1.22.5 to 1.22.9
- chore(deps): bump github.com/Scalingo/go-philae/v4 from 4.4.2 to 4.4.3
- chore(deps): bump github.com/Scalingo/go-utils/logger from 1.0.0 to v1.1.0
- chore(deps): bump github.com/olekukonko/tablewriter v0.0.0-20180912035003-be2c049b30cc => v0.0.5
- chore(deps): replace github.com/satori/go.uuid with github.com/gofrs/uuid
- chore(deps): update github.com/gofrs/uuid v3.4.0+incompatible => v4.0.0+incompatible
- chore(deps): update github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56 => v1.0.2
- chore(deps): update github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e => v3.0.0
- chore(deps): update github.com/looplab/fsm v0.0.0-20180515091235-f980bdb68a89 => v0.3.0
- chore(deps): bump go.etcd.io to Go Module version
- chore(deps): update github.com/Scalingo/go-utils/etcd v1.0.1 => v1.1.0
- chore: replace Travis CI with GitHub Actions to release new versions
- chore(Dependabot): Update various dependencies
- Bump github.com/sirupsen/logrus from 1.8.0 to 1.8.1
- Bump github.com/golang/mock from 1.5.0 to 1.6.0
- Add
/failover
route andfailover
command to force a failover on an ACTIVATED IP. - Remove
/try-get-lock
route andtry-get-lock
command in favor offailover
- Destroying an IP is now synchronous
- Remove
KeepaliveInterval
from the IP model - Add a way to update IP healthchecks
- Bad request body key is
error
instead ofmsg
- Not found body is
{"resource": "IP", "error" : "not found"}
- Update deps: use github.com/Scalingo/go-philae/[email protected]
- Update deps: use go.etcd.io/etcd/v3 instead of github.com/coreos/etcd
- Update deps: github.com/Scalingo/go-utils, use submodules instead of global
- Use a single ETCD lease per server instead of one per IP to reduce load on the etcd cluster
- Validate the health check port value to be in the range [1:65535]
- Fix condition leading to extra lease renewal for short keepalive durations
- Make LeaseTime according to the IP KeepaliveInterval if set
- Update mocks for testing
- Update api.Client interface
- Feature: Allow the configuration of KeepaliveInterval and HealthcheckInterval by IP
- Dependencies: Update etcd and go-utils libraries
- Bugfix: when a save leased is no found, consider it expired to renew it completely
- ARP: Only send 3 Gratuitous ARP packets after becoming primary, configurable with env
ARP_GRATUITOUS_COUNT
- Improve logging less useless errors when un-threatening healthcheck fail
- Improve logging after retries have been executed in etcd locker/healthcheck
- Add retry logics when refreshing ETCD lock (default 5 retries)
- Reduce logging verbosity when healthcheck is negative
- Add PPROF web
- Add BOOTING state to manage boot order.
- Fix: High CPU consumption when doing gratuitous ARP
- Fix: Do not remove IP on restart
- Fix: Logging is too verbose
- Do not loose IP on restart
- Release IP on standby
- Change LeaseDuration to 5 * KeepAliveInterval
- Update: logrus-rollbar to v1.3.1
- Fix: Health checker were stopped too early
- Fix regression: Remove IP on Stop
- Do not release IP on standby
- Do not use another lease if it has not expired
- Lease time is now 3 times the KeepaliveInterval
- Update go-philae to v4.3.2
- Update go-philae to v4.3.1
- Use go modules instead of dep
- Update go-philae to v4.3.0
- Do not fail on first healthcheck failure, add
FAIL_COUNT_BEFORE_FAILOVER
environment variable to configure the number of healthcheck failure before failover.
- Fix Client interface
- Make probes more verbose
- Release IP early if someone else got the lock
- Add the
version
endpoint and command
- First stable release