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>
45 lines
697 B
CUE
45 lines
697 B
CUE
package os
|
|
|
|
import (
|
|
"alpha.dagger.io/dagger"
|
|
"alpha.dagger.io/dagger/op"
|
|
)
|
|
|
|
#Dir: {
|
|
from: dagger.#Artifact
|
|
path: string | *"/"
|
|
|
|
#up: [
|
|
op.#Load & {"from": from},
|
|
op.#Subdir & {
|
|
dir: path
|
|
},
|
|
]
|
|
}
|
|
|
|
#ReadDir: {
|
|
from: dagger.#Artifact
|
|
path: string
|
|
|
|
// Read the tree structure (not file contents)
|
|
read: tree: {
|
|
string// FIXME: only raw 'find' output for now
|
|
#up: [
|
|
op.#FetchContainer & {
|
|
ref: "alpine" // FIXME: use alpine or docker package
|
|
},
|
|
op.#Exec & {
|
|
mount: "/data": "from": from
|
|
args: [
|
|
"sh", "-c",
|
|
#"find /data | sed 's/^\/data//' > /export.txt"#,
|
|
]
|
|
},
|
|
op.#Export & {
|
|
source: "/export.txt"
|
|
format: "string"
|
|
},
|
|
]
|
|
}
|
|
}
|