282759c0e5
In preparation for Europa, we will vendor multiple CUE modules: - `pkg/alpha.dagger.io`: legacy non-europa packages - `pkg/dagger.io`: core Europa packages - `pkg/universe.dagger.io`: Europa universe Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
48 lines
703 B
CUE
48 lines
703 B
CUE
// Google Container Registry
|
|
package gcr
|
|
|
|
import (
|
|
"alpha.dagger.io/dagger/op"
|
|
"alpha.dagger.io/gcp"
|
|
)
|
|
|
|
// Credentials retriever for GCR
|
|
#Credentials: {
|
|
// GCP Config
|
|
config: gcp.#Config
|
|
|
|
// GCR registry username
|
|
username: "oauth2accesstoken" @dagger(output)
|
|
|
|
// GCR registry secret
|
|
secret: {
|
|
string
|
|
|
|
#up: [
|
|
op.#Load & {
|
|
from: gcp.#GCloud & {
|
|
"config": config
|
|
}
|
|
},
|
|
op.#Exec & {
|
|
always: true
|
|
args: [
|
|
"/bin/bash",
|
|
"--noprofile",
|
|
"--norc",
|
|
"-eo",
|
|
"pipefail",
|
|
"-c",
|
|
#"""
|
|
printf $(gcloud auth print-access-token) > /token.txt
|
|
"""#,
|
|
]
|
|
},
|
|
|
|
op.#Export & {
|
|
source: "/token.txt"
|
|
},
|
|
]
|
|
} @dagger(output)
|
|
}
|