Update will “typically” keep the same IP, but this isn’t guaranteed by azure (ACI has limitations on what can be updated, but this does not apply to us for the moment : https://docs.microsoft.com/en-us/azure/container-instances/container-instances-update#properties-that-require-container-delete) For the moment I check in the test that the IP is keep the same |
||
|---|---|---|
| .dependabot | ||
| .github | ||
| azure | ||
| backend | ||
| cli | ||
| client | ||
| compose | ||
| config | ||
| containers | ||
| context | ||
| docs/cli | ||
| errdefs | ||
| example | ||
| formatter | ||
| local | ||
| multierror | ||
| protos | ||
| server | ||
| tests | ||
| .dockerignore | ||
| .gitattributes | ||
| .gitignore | ||
| .golangci.yml | ||
| Dockerfile | ||
| Makefile | ||
| README.md | ||
| builder.Makefile | ||
| go.mod | ||
| go.sum | ||
README.md
Docker API
Dev Setup
The recommended way is to use the main Makefile that runs everything inside a container.
If you don't have or want to use Docker for building you need to make sure you have all the needed tools installed locally:
- go 1.14
- protoc
go get github.com/golang/protobuf/protoc-gen-go@v1.4.1go get golang.org/x/tools/cmd/goimportsgo get github.com/golangci/golangci-lint/cmd/golangci-lint@v1.26.0
And then you can call the same make targets but you need to pass it the builder.Makefile (make -f builder.Makefile).
The new CLI delegates to the classic docker for default contexts ; delegation is done to docker-classic.
make classic-linkwill create adocker-classiclink in/usr/local/binif you don't already have it from Docker Desktop
Building the project
$ make
This will make the cli with all backends enabled. make cross on the other hand will cross-compile the cli without the
example and local backend. We use make cross to build for our release, hence the exclusion of those backends. You can
still cross-compile with all backends enabled: BUILD_TAGS=example,local make cross.
If you make changes to the .proto files, make sure to make protos to generate go code.
Tests
To run unit tests:
make test
If you need to update a golden file simply do go test ./... -test.update-golden.