Refactor random generation into a definition to make it reusable
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
This commit is contained in:
@@ -15,7 +15,9 @@ registry: {
|
||||
}
|
||||
|
||||
TestPushAndPull: {
|
||||
ref: "daggerio/ci-test:\(random)"
|
||||
random: #Random & {}
|
||||
|
||||
ref: "daggerio/ci-test:\(random.out)"
|
||||
|
||||
// Create image
|
||||
image: docker.#ImageFromDockerfile & {
|
||||
|
@@ -1,21 +1,33 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"dagger.io/alpine"
|
||||
"dagger.io/dagger/op"
|
||||
)
|
||||
|
||||
// Generate a random number
|
||||
random: {
|
||||
string
|
||||
#up: [
|
||||
op.#Load & {from: alpine.#Image},
|
||||
op.#Exec & {
|
||||
always: true
|
||||
args: ["sh", "-c", "cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1 | tr -d '\n' > /rand"]
|
||||
},
|
||||
op.#Export & {
|
||||
source: "/rand"
|
||||
},
|
||||
]
|
||||
#Random: {
|
||||
size: *12 | number
|
||||
|
||||
out: {
|
||||
string
|
||||
|
||||
#up: [
|
||||
op.#Load & {from: alpine.#Image},
|
||||
|
||||
op.#Exec & {
|
||||
always: true
|
||||
args: ["sh", "-c", #"""
|
||||
tr -cd '[:alpha:]' < /dev/urandom | fold -w "$SIZE" | head -n 1 | tr '[A-Z]' '[a-z]' | tr -d '\n' > /rand
|
||||
"""#,
|
||||
]
|
||||
env: SIZE: strconv.FormatInt(size, 10)
|
||||
},
|
||||
|
||||
op.#Export & {
|
||||
source: "/rand"
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@@ -9,11 +9,15 @@ key: dagger.#Secret @dagger(input)
|
||||
passphrase: dagger.#Secret @dagger(input)
|
||||
user: string @dagger(input)
|
||||
|
||||
TestRun: run: docker.#Run & {
|
||||
host: "143.198.64.230"
|
||||
ref: "nginx:alpine"
|
||||
"user": user
|
||||
"passphrase": passphrase
|
||||
name: "daggerci-test-simple-\(random)"
|
||||
"key": key
|
||||
TestRun: {
|
||||
random: #Random & {}
|
||||
|
||||
run: docker.#Run & {
|
||||
host: "143.198.64.230"
|
||||
ref: "nginx:alpine"
|
||||
"user": user
|
||||
"passphrase": passphrase
|
||||
name: "daggerci-test-simple-\(random.out)"
|
||||
"key": key
|
||||
}
|
||||
}
|
||||
|
@@ -1,20 +1,33 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"dagger.io/dagger/op"
|
||||
"strconv"
|
||||
|
||||
"dagger.io/alpine"
|
||||
"dagger.io/dagger/op"
|
||||
)
|
||||
|
||||
random: {
|
||||
string
|
||||
#up: [
|
||||
op.#Load & {from: alpine.#Image},
|
||||
op.#Exec & {
|
||||
always: true
|
||||
args: ["sh", "-c", "cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1 | tr -d '\n' > /rand"]
|
||||
},
|
||||
op.#Export & {
|
||||
source: "/rand"
|
||||
},
|
||||
]
|
||||
#Random: {
|
||||
size: *12 | number
|
||||
|
||||
out: {
|
||||
string
|
||||
|
||||
#up: [
|
||||
op.#Load & {from: alpine.#Image},
|
||||
|
||||
op.#Exec & {
|
||||
always: true
|
||||
args: ["sh", "-c", #"""
|
||||
tr -cd '[:alpha:]' < /dev/urandom | fold -w "$SIZE" | head -n 1 | tr '[A-Z]' '[a-z]' | tr -d '\n' > /rand
|
||||
"""#,
|
||||
]
|
||||
env: SIZE: strconv.FormatInt(size, 10)
|
||||
},
|
||||
|
||||
op.#Export & {
|
||||
source: "/rand"
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@@ -1,20 +1,33 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"dagger.io/dagger/op"
|
||||
"strconv"
|
||||
|
||||
"dagger.io/alpine"
|
||||
"dagger.io/dagger/op"
|
||||
)
|
||||
|
||||
random: {
|
||||
string
|
||||
#up: [
|
||||
op.#Load & {from: alpine.#Image},
|
||||
op.#Exec & {
|
||||
always: true
|
||||
args: ["sh", "-c", "cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1 | tr -d '\n' > /rand"]
|
||||
},
|
||||
op.#Export & {
|
||||
source: "/rand"
|
||||
},
|
||||
]
|
||||
#Random: {
|
||||
size: *12 | number
|
||||
|
||||
out: {
|
||||
string
|
||||
|
||||
#up: [
|
||||
op.#Load & {from: alpine.#Image},
|
||||
|
||||
op.#Exec & {
|
||||
always: true
|
||||
args: ["sh", "-c", #"""
|
||||
tr -cd '[:alpha:]' < /dev/urandom | fold -w "$SIZE" | head -n 1 | tr '[A-Z]' '[a-z]' | tr -d '\n' > /rand
|
||||
"""#,
|
||||
]
|
||||
env: SIZE: strconv.FormatInt(size, 10)
|
||||
},
|
||||
|
||||
op.#Export & {
|
||||
source: "/rand"
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@@ -7,10 +7,14 @@ import (
|
||||
|
||||
key: dagger.#Secret @dagger(input)
|
||||
|
||||
TestRun: run: docker.#Run & {
|
||||
host: "143.198.64.230"
|
||||
ref: "nginx:alpine"
|
||||
user: "root"
|
||||
name: "daggerci-test-simple-\(random)"
|
||||
"key": key
|
||||
TestRun: {
|
||||
random: #Random & {}
|
||||
|
||||
run: docker.#Run & {
|
||||
host: "143.198.64.230"
|
||||
ref: "nginx:alpine"
|
||||
user: "root"
|
||||
name: "daggerci-test-simple-\(random.out)"
|
||||
"key": key
|
||||
}
|
||||
}
|
||||
|
@@ -1,20 +1,33 @@
|
||||
package docker
|
||||
|
||||
import (
|
||||
"dagger.io/dagger/op"
|
||||
"strconv"
|
||||
|
||||
"dagger.io/alpine"
|
||||
"dagger.io/dagger/op"
|
||||
)
|
||||
|
||||
random: {
|
||||
string
|
||||
#up: [
|
||||
op.#Load & {from: alpine.#Image},
|
||||
op.#Exec & {
|
||||
always: true
|
||||
args: ["sh", "-c", "cat /dev/urandom | tr -dc 'a-z' | fold -w 10 | head -n 1 | tr -d '\n' > /rand"]
|
||||
},
|
||||
op.#Export & {
|
||||
source: "/rand"
|
||||
},
|
||||
]
|
||||
#Random: {
|
||||
size: *12 | number
|
||||
|
||||
out: {
|
||||
string
|
||||
|
||||
#up: [
|
||||
op.#Load & {from: alpine.#Image},
|
||||
|
||||
op.#Exec & {
|
||||
always: true
|
||||
args: ["sh", "-c", #"""
|
||||
tr -cd '[:alpha:]' < /dev/urandom | fold -w "$SIZE" | head -n 1 | tr '[A-Z]' '[a-z]' | tr -d '\n' > /rand
|
||||
"""#,
|
||||
]
|
||||
env: SIZE: strconv.FormatInt(size, 10)
|
||||
},
|
||||
|
||||
op.#Export & {
|
||||
source: "/rand"
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@@ -10,11 +10,15 @@ key: dagger.#Secret @dagger(input)
|
||||
passphrase: dagger.#Secret @dagger(input)
|
||||
user: string @dagger(input)
|
||||
|
||||
TestRun: run: docker.#Run & {
|
||||
host: "143.198.64.230"
|
||||
ref: "nginx:alpine"
|
||||
"user": user
|
||||
"passphrase": passphrase
|
||||
name: "daggerci-test-simple-\(random)"
|
||||
"key": key
|
||||
TestRun: {
|
||||
random: #Random & {}
|
||||
|
||||
run: docker.#Run & {
|
||||
host: "143.198.64.230"
|
||||
ref: "nginx:alpine"
|
||||
"user": user
|
||||
"passphrase": passphrase
|
||||
name: "daggerci-test-simple-\(random.out)"
|
||||
"key": key
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user