Skip to content

Commit 0811d74

Browse files
authored
feat: setup command (#213)
* feat: setup command * fix: correct package in version command
1 parent a840862 commit 0811d74

File tree

7 files changed

+462
-44
lines changed

7 files changed

+462
-44
lines changed

.goreleaser.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ builds:
1111
ldflags:
1212
- "-s -w"
1313
- "-X github.com/docker/docker-credential-helpers/credentials.Name={{.ProjectName}}"
14+
- "-X github.com/docker/docker-credential-helpers/credentials.Package={{.ModulePath}}"
1415
- "-X github.com/docker/docker-credential-helpers/credentials.Version={{.Version}}"
1516
- "-X github.com/docker/docker-credential-helpers/credentials.Revision={{.Commit}}"
1617
goos:

README.md

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,28 +54,46 @@ Set the environment variable `DOCKER_CREDENTIAL_ENV_DEBUG=true` to enable diagno
5454

5555
## Configuration
5656

57-
The `docker-credential-env` binary must be installed to `$PATH`, and is enabled via `~/.docker/config.json`:
57+
The `docker-credential-env` binary must be installed to `$PATH`, and is enabled via `~/.docker/config.json` (or `$DOCKER_CONFIG/config.json` if the `DOCKER_CONFIG` environment variable is set):
5858

59-
* Handle all docker authentication:
59+
The `docker-credential-env` binary includes a `setup` sub-command to help configure Docker to use the credential helper.
6060

61+
* Configure all Docker authentication to use the `env` credential helper:
62+
```bash
63+
docker-credential-env setup default
64+
```
65+
or
6166
```json
6267
{
6368
"credsStore": "env"
6469
}
6570
```
6671

67-
* Handle docker authentication for specific repositories:
72+
* Configure a specific registry to use the `env` credential helper:
73+
```bash
74+
docker-credential-env setup artifactory.example.com
75+
docker-credential-env setup ghcr.io
76+
docker-credential-env setup 123456789012.dkr.ecr.us-east-1.amazonaws.com
77+
```
6878

6979
```json
7080
{
7181
"credHelpers": {
7282
"artifactory.example.com": "env",
83+
"ghcr.io": "env",
7384
"123456789012.dkr.ecr.us-east-1.amazonaws.com": "env"
7485
}
7586
}
7687
```
7788

78-
By default, attempts to explicitly `docker {login,logout}` will generate an error. To ignore these errors, set the environment variable `IGNORE_DOCKER_LOGIN=1`.
89+
By default, attempts to explicitly `docker {login,logout}` for registries configured to use the `env` credential helper will generate an error. To ignore these errors, set the environment variable `IGNORE_DOCKER_LOGIN=1`.
90+
91+
* Show current configuration for the `env` credential helper:
92+
```bash
93+
docker-credential-env setup show
94+
```
95+
96+
The setup command respects the `DOCKER_CONFIG` environment variable for locating and updating the Docker client configuration file.
7997

8098
## Example Usage
8199

@@ -144,7 +162,7 @@ stages {
144162
sh '''
145163
# Uses AWS_PROFILE_987654321098
146164
docker push 987654321098.dkr.ecr.eu-west-1.amazonaws.com/another-example/another-image:2.0
147-
165+
148166
# Uses AWS_PROFILE for a different account
149167
docker push 123456789.dkr.ecr.us-east-1.amazonaws.com/example/example-image:1.0
150168
'''

go.mod

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,29 @@ module github.com/isometry/docker-credential-env
33
go 1.24.0
44

55
require (
6-
github.com/aws/aws-sdk-go-v2 v1.36.4
7-
github.com/aws/aws-sdk-go-v2/config v1.29.16
8-
github.com/aws/aws-sdk-go-v2/credentials v1.17.69
9-
github.com/aws/aws-sdk-go-v2/service/ecr v1.45.0
10-
github.com/aws/aws-sdk-go-v2/service/sts v1.33.21
6+
github.com/aws/aws-sdk-go-v2 v1.36.5
7+
github.com/aws/aws-sdk-go-v2/config v1.29.17
8+
github.com/aws/aws-sdk-go-v2/credentials v1.17.70
9+
github.com/aws/aws-sdk-go-v2/service/ecr v1.45.1
10+
github.com/aws/aws-sdk-go-v2/service/sts v1.34.0
11+
github.com/docker/cli v28.3.0+incompatible
1112
github.com/docker/docker-credential-helpers v0.9.3
13+
github.com/goccy/go-yaml v1.18.0
1214
)
1315

1416
require (
15-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.31 // indirect
16-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.35 // indirect
17-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.35 // indirect
17+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.32 // indirect
18+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.36 // indirect
19+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.36 // indirect
1820
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect
19-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3 // indirect
20-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.16 // indirect
21-
github.com/aws/aws-sdk-go-v2/service/sso v1.25.4 // indirect
22-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.2 // indirect
23-
github.com/aws/smithy-go v1.22.3 // indirect
21+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.4 // indirect
22+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.17 // indirect
23+
github.com/aws/aws-sdk-go-v2/service/sso v1.25.5 // indirect
24+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.3 // indirect
25+
github.com/aws/smithy-go v1.22.4 // indirect
26+
github.com/pkg/errors v0.9.1 // indirect
27+
github.com/sirupsen/logrus v1.9.3 // indirect
28+
golang.org/x/sys v0.33.0 // indirect
29+
gopkg.in/yaml.v3 v3.0.1 // indirect
30+
gotest.tools/v3 v3.5.2 // indirect
2431
)

go.sum

Lines changed: 53 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,57 @@
1-
github.com/aws/aws-sdk-go-v2 v1.36.4 h1:GySzjhVvx0ERP6eyfAbAuAXLtAda5TEy19E5q5W8I9E=
2-
github.com/aws/aws-sdk-go-v2 v1.36.4/go.mod h1:LLXuLpgzEbD766Z5ECcRmi8AzSwfZItDtmABVkRLGzg=
3-
github.com/aws/aws-sdk-go-v2/config v1.29.16 h1:XkruGnXX1nEZ+Nyo9v84TzsX+nj86icbFAeust6uo8A=
4-
github.com/aws/aws-sdk-go-v2/config v1.29.16/go.mod h1:uCW7PNjGwZ5cOGZ5jr8vCWrYkGIhPoTNV23Q/tpHKzg=
5-
github.com/aws/aws-sdk-go-v2/credentials v1.17.69 h1:8B8ZQboRc3uaIKjshve/XlvJ570R7BKNy3gftSbS178=
6-
github.com/aws/aws-sdk-go-v2/credentials v1.17.69/go.mod h1:gPME6I8grR1jCqBFEGthULiolzf/Sexq/Wy42ibKK9c=
7-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.31 h1:oQWSGexYasNpYp4epLGZxxjsDo8BMBh6iNWkTXQvkwk=
8-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.31/go.mod h1:nc332eGUU+djP3vrMI6blS0woaCfHTe3KiSQUVTMRq0=
9-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.35 h1:o1v1VFfPcDVlK3ll1L5xHsaQAFdNtZ5GXnNR7SwueC4=
10-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.35/go.mod h1:rZUQNYMNG+8uZxz9FOerQJ+FceCiodXvixpeRtdESrU=
11-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.35 h1:R5b82ubO2NntENm3SAm0ADME+H630HomNJdgv+yZ3xw=
12-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.35/go.mod h1:FuA+nmgMRfkzVKYDNEqQadvEMxtxl9+RLT9ribCwEMs=
1+
github.com/aws/aws-sdk-go-v2 v1.36.5 h1:0OF9RiEMEdDdZEMqF9MRjevyxAQcf6gY+E7vwBILFj0=
2+
github.com/aws/aws-sdk-go-v2 v1.36.5/go.mod h1:EYrzvCCN9CMUTa5+6lf6MM4tq3Zjp8UhSGR/cBsjai0=
3+
github.com/aws/aws-sdk-go-v2/config v1.29.17 h1:jSuiQ5jEe4SAMH6lLRMY9OVC+TqJLP5655pBGjmnjr0=
4+
github.com/aws/aws-sdk-go-v2/config v1.29.17/go.mod h1:9P4wwACpbeXs9Pm9w1QTh6BwWwJjwYvJ1iCt5QbCXh8=
5+
github.com/aws/aws-sdk-go-v2/credentials v1.17.70 h1:ONnH5CM16RTXRkS8Z1qg7/s2eDOhHhaXVd72mmyv4/0=
6+
github.com/aws/aws-sdk-go-v2/credentials v1.17.70/go.mod h1:M+lWhhmomVGgtuPOhO85u4pEa3SmssPTdcYpP/5J/xc=
7+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.32 h1:KAXP9JSHO1vKGCr5f4O6WmlVKLFFXgWYAGoJosorxzU=
8+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.32/go.mod h1:h4Sg6FQdexC1yYG9RDnOvLbW1a/P986++/Y/a+GyEM8=
9+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.36 h1:SsytQyTMHMDPspp+spo7XwXTP44aJZZAC7fBV2C5+5s=
10+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.36/go.mod h1:Q1lnJArKRXkenyog6+Y+zr7WDpk4e6XlR6gs20bbeNo=
11+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.36 h1:i2vNHQiXUvKhs3quBR6aqlgJaiaexz/aNvdCktW/kAM=
12+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.36/go.mod h1:UdyGa7Q91id/sdyHPwth+043HhmP6yP9MBHgbZM0xo8=
1313
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo=
1414
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo=
15-
github.com/aws/aws-sdk-go-v2/service/ecr v1.45.0 h1:Qu8pcmd+wqtpI0SoYtHZgTI6fkZICl0P7pVWmvkHIjw=
16-
github.com/aws/aws-sdk-go-v2/service/ecr v1.45.0/go.mod h1:H8cjdbuLk7oS/NbgIixh/QIPcuUgOfeK3+FiqqrSKE0=
17-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3 h1:eAh2A4b5IzM/lum78bZ590jy36+d/aFLgKF/4Vd1xPE=
18-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3/go.mod h1:0yKJC/kb8sAnmlYa6Zs3QVYqaC8ug2AbnNChv5Ox3uA=
19-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.16 h1:/ldKrPPXTC421bTNWrUIpq3CxwHwRI/kpc+jPUTJocM=
20-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.16/go.mod h1:5vkf/Ws0/wgIMJDQbjI4p2op86hNW6Hie5QtebrDgT8=
21-
github.com/aws/aws-sdk-go-v2/service/sso v1.25.4 h1:EU58LP8ozQDVroOEyAfcq0cGc5R/FTZjVoYJ6tvby3w=
22-
github.com/aws/aws-sdk-go-v2/service/sso v1.25.4/go.mod h1:CrtOgCcysxMvrCoHnvNAD7PHWclmoFG78Q2xLK0KKcs=
23-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.2 h1:XB4z0hbQtpmBnb1FQYvKaCM7UsS6Y/u8jVBwIUGeCTk=
24-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.2/go.mod h1:hwRpqkRxnQ58J9blRDrB4IanlXCpcKmsC83EhG77upg=
25-
github.com/aws/aws-sdk-go-v2/service/sts v1.33.21 h1:nyLjs8sYJShFYj6aiyjCBI3EcLn1udWrQTjEF+SOXB0=
26-
github.com/aws/aws-sdk-go-v2/service/sts v1.33.21/go.mod h1:EhdxtZ+g84MSGrSrHzZiUm9PYiZkrADNja15wtRJSJo=
27-
github.com/aws/smithy-go v1.22.3 h1:Z//5NuZCSW6R4PhQ93hShNbyBbn8BWCmCVCt+Q8Io5k=
28-
github.com/aws/smithy-go v1.22.3/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI=
15+
github.com/aws/aws-sdk-go-v2/service/ecr v1.45.1 h1:Bwzh202Aq7/MYnAjXA9VawCf6u+hjwMdoYmZ4HYsdf8=
16+
github.com/aws/aws-sdk-go-v2/service/ecr v1.45.1/go.mod h1:xZzWl9AXYa6zsLLH41HBFW8KRKJRIzlGmvSM0mVMIX4=
17+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.4 h1:CXV68E2dNqhuynZJPB80bhPQwAKqBWVer887figW6Jc=
18+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.4/go.mod h1:/xFi9KtvBXP97ppCz1TAEvU1Uf66qvid89rbem3wCzQ=
19+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.17 h1:t0E6FzREdtCsiLIoLCWsYliNsRBgyGD/MCK571qk4MI=
20+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.17/go.mod h1:ygpklyoaypuyDvOM5ujWGrYWpAK3h7ugnmKCU/76Ys4=
21+
github.com/aws/aws-sdk-go-v2/service/sso v1.25.5 h1:AIRJ3lfb2w/1/8wOOSqYb9fUKGwQbtysJ2H1MofRUPg=
22+
github.com/aws/aws-sdk-go-v2/service/sso v1.25.5/go.mod h1:b7SiVprpU+iGazDUqvRSLf5XmCdn+JtT1on7uNL6Ipc=
23+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.3 h1:BpOxT3yhLwSJ77qIY3DoHAQjZsc4HEGfMCE4NGy3uFg=
24+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.3/go.mod h1:vq/GQR1gOFLquZMSrxUK/cpvKCNVYibNyJ1m7JrU88E=
25+
github.com/aws/aws-sdk-go-v2/service/sts v1.34.0 h1:NFOJ/NXEGV4Rq//71Hs1jC/NvPs1ezajK+yQmkwnPV0=
26+
github.com/aws/aws-sdk-go-v2/service/sts v1.34.0/go.mod h1:7ph2tGpfQvwzgistp2+zga9f+bCjlQJPkPUmMgDSD7w=
27+
github.com/aws/smithy-go v1.22.4 h1:uqXzVZNuNexwc/xrh6Tb56u89WDlJY6HS+KC0S4QSjw=
28+
github.com/aws/smithy-go v1.22.4/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI=
29+
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
30+
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
31+
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
32+
github.com/docker/cli v28.3.0+incompatible h1:s+ttruVLhB5ayeuf2BciwDVxYdKi+RoUlxmwNHV3Vfo=
33+
github.com/docker/cli v28.3.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
2934
github.com/docker/docker-credential-helpers v0.9.3 h1:gAm/VtF9wgqJMoxzT3Gj5p4AqIjCBS4wrsOh9yRqcz8=
3035
github.com/docker/docker-credential-helpers v0.9.3/go.mod h1:x+4Gbw9aGmChi3qTLZj8Dfn0TD20M/fuWy0E5+WDeCo=
36+
github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw=
37+
github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
38+
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
39+
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
40+
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
41+
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
42+
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
43+
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
44+
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
45+
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
46+
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
47+
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
48+
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
49+
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
50+
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
51+
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
52+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
53+
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
54+
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
55+
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
56+
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
57+
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=

main.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,24 @@
1010
package main
1111

1212
import (
13+
"fmt"
14+
"os"
15+
1316
credhelpers "github.com/docker/docker-credential-helpers/credentials"
1417
)
1518

1619
func main() {
20+
if len(os.Args) > 1 && os.Args[1] == "setup" {
21+
// Extract arguments for setup command (skip program name and "setup")
22+
setupArgs := os.Args[2:]
23+
24+
if err := RunSetupCommand(setupArgs, os.Stdout); err != nil {
25+
fmt.Fprintf(os.Stderr, "Setup failed: %v\n", err)
26+
os.Exit(1)
27+
}
28+
return
29+
}
30+
31+
// If not a setup command, serve as a credential helper
1732
credhelpers.Serve(&Env{})
1833
}

0 commit comments

Comments
 (0)