Guillaume Tardif 514aa50ebc
Merge pull request #313 from docker/azure_multi_tenants
Allow users to specify tenanted when logging into azure (if several tenants for azure account)
2020-07-01 15:46:00 +02:00
2020-07-01 15:15:44 +02:00
2020-06-18 16:48:03 +02:00
2020-06-18 16:48:03 +02:00
2020-06-18 16:48:03 +02:00
2020-06-18 16:48:03 +02:00
2020-06-29 10:32:28 +02:00
2020-06-24 17:51:36 +02:00
2020-06-18 16:48:03 +02:00
2020-06-18 16:48:03 +02:00
2020-06-29 10:32:28 +02:00
2020-06-18 16:48:03 +02:00
2020-07-01 15:18:35 +02:00
2020-06-18 16:48:03 +02:00
2020-06-29 10:32:28 +02:00
2020-06-30 18:26:38 +02:00
2020-05-29 11:29:28 +02:00
2020-04-24 14:04:27 +02:00
2020-06-24 16:49:11 +02:00
2020-06-18 16:48:03 +02:00
2020-06-18 16:48:03 +02:00
2020-06-30 11:31:49 +02:00

Docker API

Actions Status

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.1
  • go get golang.org/x/tools/cmd/goimports
  • go 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 com.docker.cli.

  • make moby-cli-link will create a com.docker.cli link in /usr/local/bin if 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

unit tests

make test

If you need to update a golden file simply do go test ./... -test.update-golden.

e2e tests

make e2e_local

This requires a local docker engine running

AZURE_TENANT_ID="xxx" AZURE_CLIENT_ID="yyy" AZURE_CLIENT_SECRET="yyy" make e2e_aci

This requires azure service principal credentials to login to azure. To get the values to be set in local environment variables, you can create a new service principal once you're logged in azure (with docker login azure)

az ad sp create-for-rbac --name 'MyTestServicePrincipal' --sdk-auth

Running aci e2e tests will override your local login, the service principal credentials use a token that cannot be refreshed automatically. You might need to run again docker login azure to properly use the command line after running ACI e2e tests.

Description
Define and run multi-container applications with Docker
Readme Apache-2.0 51 MiB
Languages
Go 97.1%
Dockerfile 2%
Makefile 0.5%
HCL 0.3%