Fix docker hub login error when using image ref as target
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
This commit is contained in:
parent
f842f1ed1d
commit
7d1bbcc416
@ -74,13 +74,12 @@ Push a docker image to a remote registry
|
|||||||
|
|
||||||
### docker.#Push Inputs
|
### docker.#Push Inputs
|
||||||
|
|
||||||
| Name | Type | Description |
|
| Name | Type | Description |
|
||||||
| ------------- |:-------------: |:-------------: |
|
| ------------- |:-------------: |:-------------: |
|
||||||
|*name* | `string` |Remote name (example: "index.docker.io/alpine:latest") |
|
|*name* | `string` |Remote name (example: "index.docker.io/alpine:latest") |
|
||||||
|*source* | `dagger.#Artifact` |Image source |
|
|*source* | `dagger.#Artifact` |Image source |
|
||||||
|*registry.target* | `*"https://index.docker.io/v1/" \| string` |Remote registry |
|
|*auth.username* | `string` |Username |
|
||||||
|*registry.username* | `string` |Username |
|
|*auth.secret* | `string` |Password or secret |
|
||||||
|*registry.secret* | `(string\|bytes)` |Password or secret |
|
|
||||||
|
|
||||||
### docker.#Push Outputs
|
### docker.#Push Outputs
|
||||||
|
|
||||||
|
@ -63,7 +63,9 @@ func (a *RegistryAuthProvider) Credentials(ctx context.Context, req *bkauth.Cred
|
|||||||
}
|
}
|
||||||
|
|
||||||
func parseAuthHost(host string) (*url.URL, error) {
|
func parseAuthHost(host string) (*url.URL, error) {
|
||||||
if host == "registry-1.docker.io" {
|
isDockerHub := !(strings.Contains(host, "amazonaws.com") || strings.Contains(host, "gcr.io") || strings.Contains(host, "microsoft.com"))
|
||||||
|
|
||||||
|
if host == "registry-1.docker.io" || isDockerHub {
|
||||||
host = "https://index.docker.io/v1/"
|
host = "https://index.docker.io/v1/"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
8
stdlib/.dagger/env/docker-pull/values.yaml
vendored
8
stdlib/.dagger/env/docker-pull/values.yaml
vendored
@ -1,7 +1,9 @@
|
|||||||
|
plan:
|
||||||
|
module: .dagger/env/docker-pull/plan
|
||||||
name: docker-pull
|
name: docker-pull
|
||||||
inputs:
|
inputs:
|
||||||
ref:
|
ref:
|
||||||
text: docker.io/daggerio/ci-test:qhkmeqmhmnqn@sha256:96640793ed325f893608508f1b60b9c19b547c178e45639a249989545894eed4
|
text: docker.io/daggerio/ci-test:otnlnwqyyxlk@sha256:35fc94d52b4fa53c2caa38ff11e13182e6f88c651eb0846728d1007d931f0d3c
|
||||||
sops:
|
sops:
|
||||||
kms: []
|
kms: []
|
||||||
gcp_kms: []
|
gcp_kms: []
|
||||||
@ -17,8 +19,8 @@ sops:
|
|||||||
SG1raUVNTzZIWDltV1pOS3hySHlJeWcKg3blmstOGcxtPww513+mAEA0MWOXwNAT
|
SG1raUVNTzZIWDltV1pOS3hySHlJeWcKg3blmstOGcxtPww513+mAEA0MWOXwNAT
|
||||||
5ngRvG6MraW3g9dhIuUYOwjuJyz1Z07/DBEocSxnjSyw45ZCkM1/9Q==
|
5ngRvG6MraW3g9dhIuUYOwjuJyz1Z07/DBEocSxnjSyw45ZCkM1/9Q==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2021-06-12T15:01:07Z"
|
lastmodified: "2021-06-18T19:57:47Z"
|
||||||
mac: ENC[AES256_GCM,data:kmryJiX4cnZTeyRcH+TljCj+m5kEA4yPu0gQkqS3apEolfNFWzkdlvRS2P+9EYO19iT1FxpNRwrs+G9qGeISubc48u2++Yb/mAUU4ilIu8flIPs3s63Ep8FeRv+hI3Govljjbjyds+3mR+o0Iv+KhpKBPDboXyRpWGlIijpBzLQ=,iv:ROAK7qmGn0jWDZp8uPLVbReqdgO9qw8EESkYdPjxLDk=,tag:8CrydkWN9xtJX8yItgjz+A==,type:str]
|
mac: ENC[AES256_GCM,data:dS7zAl28vERwDOh8OwNmVNrcZ10Ypibl7HylXnJ0+CBGCx3b0C6+/TNgytZFjhhjhOyJbioaTIA/Rra3Okz2Y1beJcP90CfixkIOQvpespIN6yh92SN6m1MbGQzWB0lURnVwHhLlOyIsDK5PaLcbW9mVhwiH4Y2otH+xRNO+8Ls=,iv:1vRlh02EFWYqu2q/AQeHDRcIJIiKxZAp7lspQmPybRI=,tag:0DcXYSoLMAJ/09ZunKkezg==,type:str]
|
||||||
pgp: []
|
pgp: []
|
||||||
encrypted_suffix: secret
|
encrypted_suffix: secret
|
||||||
version: 3.7.1
|
version: 3.7.1
|
||||||
|
2
stdlib/.dagger/env/docker-push/plan/push.cue
vendored
2
stdlib/.dagger/env/docker-push/plan/push.cue
vendored
@ -55,7 +55,7 @@ TestPush: {
|
|||||||
push: docker.#Push & {
|
push: docker.#Push & {
|
||||||
"name": name
|
"name": name
|
||||||
source: image
|
source: image
|
||||||
registry: {
|
auth: {
|
||||||
username: TestRegistry.username
|
username: TestRegistry.username
|
||||||
"secret": secret.out
|
"secret": secret.out
|
||||||
}
|
}
|
||||||
|
6
stdlib/.dagger/env/docker-push/values.yaml
vendored
6
stdlib/.dagger/env/docker-push/values.yaml
vendored
@ -1,3 +1,5 @@
|
|||||||
|
plan:
|
||||||
|
module: .dagger/env/docker-push/plan
|
||||||
name: docker-push
|
name: docker-push
|
||||||
inputs:
|
inputs:
|
||||||
TestRegistry.secret:
|
TestRegistry.secret:
|
||||||
@ -19,8 +21,8 @@ sops:
|
|||||||
UjFJYTc1UUUzSFVkZjQ2blRsSGpVdVEKOanMR3+WlAgoDfqTUW7WPW1ytT3NdkTX
|
UjFJYTc1UUUzSFVkZjQ2blRsSGpVdVEKOanMR3+WlAgoDfqTUW7WPW1ytT3NdkTX
|
||||||
4Rqo49QmnuKFJ9tKoBFQOqgIo8E/lpcOkeIUiy5e/35FvsZ/KFk/pg==
|
4Rqo49QmnuKFJ9tKoBFQOqgIo8E/lpcOkeIUiy5e/35FvsZ/KFk/pg==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2021-06-12T13:31:57Z"
|
lastmodified: "2021-06-18T19:34:53Z"
|
||||||
mac: ENC[AES256_GCM,data:TrLGfqDj3lvZKroaPtlDuR0Ki+yoFDYFqIhW+g7iasVOzvDaqHepX8X/aLiHX+XHdTqGH6ehfu1k1BSaz6xKqqdIai9NIyokgIKXR1F5mRgK/aDhc6x/YvX3dSl79/4zBBblDpYNFhCarQMxeTSFP9GfW+e0+T/z10fHHlQub8o=,iv:Pab2qkZTqP/6j4LV0B97SACQm/UZPMkeahGjZLJ2fFg=,tag:r4IW1WRipuC/MdtwEzzEpA==,type:str]
|
mac: ENC[AES256_GCM,data:2LqpZGLCgN4d72hZMSs9uuIy0Eh69eP9JfhCcCvnIUg8kXcr5/mThST3Xum1LHJsAwfXIxPQPuz2ZzlcWksgYczNalU+ibTVk6N3nLi4ynrbV5QXaoS2MUmJHx6Y4VsjKHg13DQOysqcCa3+vY3WKxZ/WLgkI0rVOwZMELQBfXo=,iv:LeVFP37Y0rpLJa3IpbHD0N1ZARH139dz434c+uLv+Yo=,tag:yjlfzzcvvFzmVnvBX+8aAg==,type:str]
|
||||||
pgp: []
|
pgp: []
|
||||||
encrypted_suffix: secret
|
encrypted_suffix: secret
|
||||||
version: 3.7.1
|
version: 3.7.1
|
||||||
|
@ -37,31 +37,29 @@ import (
|
|||||||
// Image source
|
// Image source
|
||||||
source: dagger.#Artifact @dagger(input)
|
source: dagger.#Artifact @dagger(input)
|
||||||
|
|
||||||
// Image registry
|
// Registry auth
|
||||||
registry: {
|
auth: {
|
||||||
// Remote registry
|
|
||||||
target: string | *"https://index.docker.io/v1/" @dagger(input)
|
|
||||||
|
|
||||||
// Username
|
// Username
|
||||||
username: string @dagger(input)
|
username: string @dagger(input)
|
||||||
|
|
||||||
// Password or secret
|
// Password or secret
|
||||||
secret: string | bytes @dagger(input)
|
secret: string @dagger(input)
|
||||||
}
|
}
|
||||||
|
|
||||||
push: #up: [
|
push: #up: [
|
||||||
op.#Load & {from: source},
|
op.#Load & {from: source},
|
||||||
|
|
||||||
if registry != _|_ {
|
if auth != _|_ {
|
||||||
op.#DockerLogin & {
|
op.#DockerLogin & {
|
||||||
target: registry.target
|
target: name
|
||||||
username: registry.username
|
username: auth.username
|
||||||
secret: registry.secret
|
secret: auth.secret
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
op.#PushContainer & {ref: name},
|
op.#PushContainer & {ref: name},
|
||||||
op.#Subdir & {dir: "/dagger"},
|
|
||||||
|
op.#Subdir & {dir: "/dagger"},
|
||||||
]
|
]
|
||||||
|
|
||||||
// Image ref
|
// Image ref
|
||||||
|
Reference in New Issue
Block a user