- feat(debug/pprof) Add ability to expose pprof on a custom port (default 9997), disabled by default
- chore: use go-utils/errors for errors, make them not start by 'fail to', contextify everywhere for the errors
- feat(ensure-networks): Add API endpoint and CLI command to trigger it manually without restartng the service (19 minutes ago)
- feat(control-loop/ensure-networks): Add notion of control loop, ensure every 30 minutes (34 minutes ago)
- fix: fix overlay neighbor replay for inactive endpoints
- deps: replace github.com/golang/mock by go.uber.org/mock
- chore: bump various dependencies
- feat(retrocompat): Ensure network#connect works as expected using previously created field
hostnameifapi_hostname
- chore(deps): go-utils/logger to 1.6.1 - clean dependencies
- chore(go): use go 1.24
- feat: Separate Peer Hostname from API Hostname, the first is used to define endpoint and configure vxlan network, other is how to call the SAND API.
- fix: bump graceful version to v1.2.0 to allow multiple http servers to be started with a single graceful service
- fix(server version): update server version
- chore: bump various dependencies
- chore: bump various dependencies
- fix(sand agent cli): add a timeout to the curl http client
- fix(sand client): disable HTTP keepalives to prevent leaking file descriptors
- chore(go): use go 1.17
- chore(deps): bump github.com/Scalingo/go-handlers from 1.4.0 to 1.4.4
- chore(deps): bump github.com/Scalingo/go-utils/etcd from 1.1.0 to 1.1.1
- chore(deps): bump github.com/Scalingo/go-utils/logger from 1.1.0 to 1.2.0
- chore(deps): bump github.com/Scalingo/go-utils/graceful
- chore(deps): bump github.com/Scalingo/go-etcd-lock/v5
- chore(deps): bump github.com/gofrs/uuid from 4.1.0+incompatible to 4.2.0+incompatible
- chore(deps): bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0
- chore(deps): bump github.com/vishvananda/netlink from 1.0.0 to 1.1.0
- chore(deps): bump go.etcd.io/etcd/api/v3 from 3.5.0 to 3.5.6
- chore(deps): bump go.etcd.io/etcd/client/v3 from 3.5.0 to 3.5.6
- chore(deps): bump google.golang.org/grpc from 1.42.0 to 1.51.0
- chore(deps): bump github.com/magefile/mage from 1.11.0 to 1.12.1
- chore(deps): bump github.com/docker/docker from 20.10.11+incompatible to 20.10.17+incompatible
- chore(deps): bump github.com/urfave/cli from 1.22.5 to 1.22.9
- chore(deps): bump github.com/bits-and-blooms/bitset from 1.2.2 to 1.3.0
- chore(deps): bump github.com/stretchr/testify from 1.7.1 to 1.8.0
- client: don't create a new pool of connection each time a sand.Client is created
- fix: 2 descriptor leaks when the request fails
- chore: Replace github.com/pborman/uuid with github.com/gofrs/uuid
- chore(Dependabot): Update various dependencies
- chore: Migration to Go Module
- Bump github.com/Scalingo/go-handlers from 1.3.1 to 1.4.0
- Bump github.com/golang/mock from 1.4.4 to 1.5.0
- Bump github.com/sirupsen/logrus from 1.7.0 to 1.8.1
- Bump go.etcd.io/etcd from v3-pregomod to v3.5.0
- Bump google.golang.org/grpc from 1.39.0 to 1.41.0
- Bump go version to 1.16 and remove deprecated lib
ioutil - chore(bitset): organization changed to bits-and-blooms and update to 1.2.1
- Fix file descriptor leakage: correctly close etcd client when allocating a unique VxLAN VNI ID.
- Use only one ETCD connection watching key changes in order to avoid starting thousands of listeners in SAND infrastructure deployments
- New algorithm for VxLAN ID generation
- Update go-etcd-lock lib to remove plenty of bugs
- Add ability to use --timeout on the CLI
-
Update etcd client to 3.4.3
-
Fix error management to throw errors only when required
-
Bugfix when a node which hostname is a prefix of another, trying to add the other network on start
ie.
ip-10-0-0-20considering networks ofip-10-0-0-207are theirs -
Correctly stop listening network change when a network is deactive on a node
- Refactor connection forwarding to sand network, no more fork/exec, change namespace in current thread
- Make logging more quiet when forwarding connections
- Deactivating inactive endpoint in a network is a no-op
- Better logging in endpoint listeners watching
- Integration project with Rollbar:
Errors will be sent to Rollbar if
ROLLBAR_ENVandROLLBAR_TOKENenvironment variables are present.
- Fix endpoint deletion in overlay network in case of target namespace does not exist anymore
- Fix socket leak, netlink.Handler should be Delete()
- Fix initialization error when namespace of endpoint does not exist anymore
- Update of travis configuration
- Add
versioncommand to CLI - Add
GET /versioncommand to Agent
- Fix: network#connect on cross node communication
- Update Client#NewHTTPRoundTripper, possibility to inject *tls.Config
- Do not let docker de-allocate sand network gateway IP
- Fix network#connect when SAND is serving HTTPS traffic
- Networks have to be created and deleted through SAND API, not possible from docker integration
- Fix "next IP" allocation algorithm
- Fix docker integration IP allocation pool deletion bug
- Fix docker integration double gateway issue
- Fix graceful restart of sand API and sand Docker integration API
- Correctly handle resource deprovisioning
- Fix custom ip gateway definition, add CIDR
- Fix custom ip range on POST /networks
- Docker Libnetwork remote plugin v1
Enable it with environment variable
ENABLE_DOCKER_PLUGIN=trueListening port is 9998, configurable withDOCKER_PLUGIN_HTTP_PORT - Lock IP allocator cluster-wide to ensure unicity of allocation
- Initial release