stdlib: Add GCS support
The interface and behavior is identical to S3. Signed-off-by: Scott Lewis-Kelly <slewiskelly@slewiskel.ly>
This commit is contained in:
committed by
Andrea Luzzardi
parent
c821622628
commit
635b9306b8
33
stdlib/gcp/gcs/tests/gcs.cue
Normal file
33
stdlib/gcp/gcs/tests/gcs.cue
Normal file
@@ -0,0 +1,33 @@
|
||||
package gcs
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/dagger"
|
||||
"alpha.dagger.io/gcp"
|
||||
)
|
||||
|
||||
TestConfig: gcpConfig: gcp.#Config
|
||||
|
||||
bucket: "dagger-ci"
|
||||
|
||||
TestDirectory: dagger.#Artifact
|
||||
|
||||
TestGCSObject: {
|
||||
deploy: #Object & {
|
||||
always: true
|
||||
config: TestConfig.gcpConfig
|
||||
source: TestDirectory
|
||||
target: "gs://\(bucket)/"
|
||||
}
|
||||
|
||||
verifyFile: #VerifyGCS & {
|
||||
config: TestConfig.gcpConfig
|
||||
target: deploy.target
|
||||
file: "dirFile.txt"
|
||||
}
|
||||
|
||||
verifyDir: #VerifyGCS & {
|
||||
config: TestConfig.gcpConfig
|
||||
target: deploy.target
|
||||
file: "foo.txt"
|
||||
}
|
||||
}
|
1
stdlib/gcp/gcs/tests/testdata/bar/foo.txt
vendored
Normal file
1
stdlib/gcp/gcs/tests/testdata/bar/foo.txt
vendored
Normal file
@@ -0,0 +1 @@
|
||||
Test recursivity
|
1
stdlib/gcp/gcs/tests/testdata/dirFile.txt
vendored
Normal file
1
stdlib/gcp/gcs/tests/testdata/dirFile.txt
vendored
Normal file
@@ -0,0 +1 @@
|
||||
Test directory
|
83
stdlib/gcp/gcs/tests/verify.cue
Normal file
83
stdlib/gcp/gcs/tests/verify.cue
Normal file
@@ -0,0 +1,83 @@
|
||||
package gcs
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/alpine"
|
||||
"alpha.dagger.io/dagger/op"
|
||||
"alpha.dagger.io/gcp"
|
||||
)
|
||||
|
||||
#List: {
|
||||
// GCP Config
|
||||
config: gcp.#Config
|
||||
|
||||
// Target GCP URL (e.g. gs://<bucket-name>/<path>/<sub-path>)
|
||||
target?: string
|
||||
|
||||
contents: {
|
||||
string
|
||||
|
||||
#up: [
|
||||
op.#Load & {
|
||||
from: #GCloud & {
|
||||
"config": config
|
||||
}
|
||||
},
|
||||
|
||||
op.#Exec & {
|
||||
args: [
|
||||
"/bin/bash",
|
||||
"--noprofile",
|
||||
"--norc",
|
||||
"-eo",
|
||||
"pipefail",
|
||||
"-c",
|
||||
#"""
|
||||
gsutil ls -r \#(target) > /contents
|
||||
"""#,
|
||||
]
|
||||
},
|
||||
|
||||
op.#Export & {
|
||||
source: "/contents"
|
||||
format: "string"
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
#VerifyGCS: {
|
||||
file: string
|
||||
config: gcp.#Config
|
||||
target: string
|
||||
|
||||
lists: #List & {
|
||||
"config": config
|
||||
"target": target
|
||||
}
|
||||
|
||||
test: #up: [
|
||||
op.#Load & {
|
||||
from: alpine.#Image & {
|
||||
package: bash: "~5.1"
|
||||
}
|
||||
},
|
||||
|
||||
op.#WriteFile & {
|
||||
dest: "/test"
|
||||
content: lists.contents
|
||||
},
|
||||
|
||||
op.#Exec & {
|
||||
always: true
|
||||
args: [
|
||||
"/bin/bash",
|
||||
"--noprofile",
|
||||
"--norc",
|
||||
"-eo",
|
||||
"pipefail",
|
||||
"-c",
|
||||
"grep -q \(file) /test",
|
||||
]
|
||||
},
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user