This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
dagger/pkg/alpha.dagger.io/trivy/tests/trivy.cue
Andrea Luzzardi 282759c0e5 cue modules: move stdlib to pkg/alpha.dagger.io
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>
2022-01-11 13:16:37 -08:00

128 lines
2.0 KiB
CUE

package trivy
import (
"alpha.dagger.io/aws"
"alpha.dagger.io/aws/ecr"
"alpha.dagger.io/dagger"
"alpha.dagger.io/dagger/op"
"alpha.dagger.io/gcp"
"alpha.dagger.io/gcp/gcr"
"alpha.dagger.io/random"
)
TestConfig: awsConfig: aws.#Config & {
region: "us-east-2"
}
TestConfig: gcpConfig: gcp.#Config & {
project: "dagger-ci"
region: "us-west2-a"
}
TestConfig: {
trivyNoAuth: #Config
trivyBasicAuth: #Config & {
basicAuth: {
username: "guilaume1234"
password: dagger.#Input & {dagger.#Secret}
}
}
trivyAWSAuth: #Config & {
awsAuth: TestConfig.awsConfig
}
trivyGCPAuth: #Config & {
gcpAuth: TestConfig.gcpConfig
}
}
TestSuffix: random.#String & {
seed: ""
}
TestNoAuthClient: #Image & {
config: TestConfig.trivyNoAuth
source: "ubuntu:21.10"
}
TestBasicAuthClient: #Image & {
config: TestConfig.trivyBasicAuth
source: "docker.io/guilaume1234/guillaume:latest"
}
TestAWSClient: {
repository: "125635003186.dkr.ecr.\(TestConfig.awsConfig.region).amazonaws.com/dagger-ci"
tag: "test-ecr-\(TestSuffix.out)"
creds: ecr.#Credentials & {
config: TestConfig.awsConfig
}
push: {
ref: "\(repository):\(tag)"
#up: [
op.#DockerBuild & {
dockerfile: """
FROM alpine
RUN echo \(TestSuffix.out) > /test
"""
},
op.#DockerLogin & {
target: repository
username: creds.username
secret: creds.secret
},
op.#PushContainer & {
"ref": ref
},
]
}
verify: #Image & {
config: TestConfig.trivyAWSAuth
source: push.ref
}
}
TestGCPClient: {
repository: "gcr.io/dagger-ci/test"
tag: "test-gcr-\(TestSuffix.out)"
creds: gcr.#Credentials & {
config: TestConfig.gcpConfig
}
push: {
ref: "\(repository):\(tag)"
#up: [
op.#DockerBuild & {
dockerfile: """
FROM alpine
RUN echo \(TestSuffix.out) > /test
"""
},
op.#DockerLogin & {
target: repository
username: creds.username
secret: creds.secret
},
op.#PushContainer & {
"ref": ref
},
]
}
verify: #Image & {
config: TestConfig.trivyGCPAuth
source: push.ref
}
}