Bez popisu

Chris Crone 40aec033e8 Merge pull request #417 from chris-crone/config-test-framework před 5 roky
.dependabot 9c21e09044 Run dependabot daily instead of weekly před 5 roky
.github c26b5ffd97 repo: Move to main branch před 5 roky
aci 5f7c284d58 update delegation test to check all context types před 5 roky
backend ad72c866cc Add license headers před 5 roky
cli f8ce7a4780 cli: Move to gotest.tools před 5 roky
client ad72c866cc Add license headers před 5 roky
compose 622402709a Use compose-go's Project and ProjectOptions před 5 roky
config e7e2d20050 config: Move to gotest.tools před 5 roky
containers 1fbdbbbbe3 Merge pull request #381 from docker/fix-logs-windows před 5 roky
context 207b57ba81 context: Move to gotest.tools před 5 roky
docs 6e6ed0648f docs: Add Linux install instructions před 5 roky
ecs 87245ef727 rename packages ( amazon to ecs and azure to aci ) před 5 roky
errdefs 8e893fc5eb errdefs: Move to gotest.tools před 5 roky
example ef2d304762 Allow non-interactive exec on ACI před 5 roky
formatter 3ba70a27c6 formatter,multierror,progress: Move to gotest.tools před 5 roky
local ef2d304762 Allow non-interactive exec on ACI před 5 roky
metrics 326e8116d1 metrics: Fix test name, move to gotest.tools před 5 roky
multierror 3ba70a27c6 formatter,multierror,progress: Move to gotest.tools před 5 roky
progress 3ba70a27c6 formatter,multierror,progress: Move to gotest.tools před 5 roky
prompt 87245ef727 rename packages ( amazon to ecs and azure to aci ) před 5 roky
protos b146b2f391 Add the platform when returning a container over GRPC před 5 roky
server 5ae94aceb6 server: Move to gotest.tools před 5 roky
tests f8ce7a4780 cli: Move to gotest.tools před 5 roky
.dockerignore 9097b1f750 Add .git to .dockerignore před 5 roky
.gitattributes 93984f8c68 Removed test requiring linux containers před 5 roky
.gitignore fcc7582826 Remove non-project path před 5 roky
.golangci.yml 69f10fe80c Extract interface / types to allow unit tests / mock před 5 roky
CHANGELOG.md d40acb3146 Changelog updates před 5 roky
Dockerfile 5ea711b586 dockerfile: Fix copyright před 5 roky
Makefile 2471e51b39 set build tag for the ecs context and backend před 5 roky
README.md c26b5ffd97 repo: Move to main branch před 5 roky
builder.Makefile 539464ed3d build: Set version when building with Docker před 5 roky
go.mod 2ff3bbdce2 Bump github.com/aws/aws-sdk-go from 1.33.5 to 1.33.18 před 5 roky
go.sum 2ff3bbdce2 Bump github.com/aws/aws-sdk-go from 1.33.5 to 1.33.18 před 5 roky

README.md

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:

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 the 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.

You can also run a single ACI test from the test suite:

TESTIFY=TestACIRunSingleContainer AZURE_TENANT_ID="xxx" AZURE_CLIENT_ID="yyy" AZURE_CLIENT_SECRET="yyy" make e2e-aci

Release

To create a new release:

  • check that the CI is green on the main branch's commit you want to release
  • simply create a new tag of the form vx.y.z, following existing tags, and push the tag

Pushing the tag will automatically create a new release and make binaries (mac, win, linux) available for download.

Note: Linux binaries are not automatically copied to /docker/aci-integration-beta, if you want to make the linux binary publicly available, you'll need to manually create a release in aci-integration-beta and upload the binary. For Desktop integration, you need to make a PR in /docker/pinata and update the cli release number here