stdlib: add random package

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
This commit is contained in:
Andrea Luzzardi
2021-06-08 11:46:31 -07:00
parent 4c40a87634
commit db0937c927
24 changed files with 152 additions and 580 deletions

View File

@@ -3,6 +3,7 @@ package main
import (
"dagger.io/dagger"
"dagger.io/kubernetes/helm"
"dagger.io/random"
)
// We assume that a kinD cluster is running locally
@@ -11,11 +12,13 @@ kubeconfig: dagger.#Secret @dagger(input)
// Deploy user local chart
TestHelmSimpleChart: {
random: #Random & {}
suffix: random.#String & {
seed: "simple"
}
// Deploy chart
deploy: helm.#Chart & {
name: "dagger-test-helm-simple-chart-\(random.out)"
name: "dagger-test-helm-simple-chart-\(suffix.out)"
namespace: "dagger-test"
"kubeconfig": kubeconfig
chartSource: dagger.#Artifact
@@ -30,11 +33,13 @@ TestHelmSimpleChart: {
// Deploy remote chart
TestHelmRepoChart: {
random: #Random & {}
suffix: random.#String & {
seed: "repo"
}
// Deploy chart
deploy: helm.#Chart & {
name: "dagger-test-helm-repository-\(random.out)"
name: "dagger-test-helm-repository-\(suffix.out)"
namespace: "dagger-test"
"kubeconfig": kubeconfig
chart: "redis"

View File

@@ -1,49 +0,0 @@
package main
import (
"strconv"
"dagger.io/alpine"
"dagger.io/dagger/op"
)
#Random: {
size: *12 | number
out: {
string
#up: [
op.#Load & {from: alpine.#Image & {
package: python3: "=~3.8"
}},
op.#WriteFile & {
dest: "/entrypoint.py"
content: #"""
import random
import string
import os
size = int(os.environ['SIZE'])
letters = string.ascii_lowercase
print ( ''.join(random.choice(letters) for i in range(size)) )
"""#
},
op.#Exec & {
always: true
args: ["sh", "-c", #"""
printf "$(python3 /entrypoint.py)" > /rand
"""#,
]
env: SIZE: strconv.FormatInt(size, 10)
},
op.#Export & {
source: "/rand"
},
]
}
}

View File

@@ -4,6 +4,7 @@ import (
"encoding/yaml"
"dagger.io/dagger"
"dagger.io/kubernetes"
"dagger.io/random"
)
// We assume that a kinD cluster is running locally
@@ -11,13 +12,15 @@ import (
kubeconfig: dagger.#Secret @dagger(input)
TestKubeApply: {
random: #Random & {}
suffix: random.#String & {
seed: ""
}
// Pod spec
kubeSrc: {
apiVersion: "v1"
kind: "Pod"
metadata: name: "kube-test-\(random.out)"
metadata: name: "kube-test-\(suffix.out)"
spec: {
restartPolicy: "Never"
containers: [{

View File

@@ -1,49 +0,0 @@
package main
import (
"strconv"
"dagger.io/alpine"
"dagger.io/dagger/op"
)
#Random: {
size: *12 | number
out: {
string
#up: [
op.#Load & {from: alpine.#Image & {
package: python3: "=~3.8"
}},
op.#WriteFile & {
dest: "/entrypoint.py"
content: #"""
import random
import string
import os
size = int(os.environ['SIZE'])
letters = string.ascii_lowercase
print ( ''.join(random.choice(letters) for i in range(size)) )
"""#
},
op.#Exec & {
always: true
args: ["sh", "-c", #"""
printf "$(python3 /entrypoint.py)" > /rand
"""#,
]
env: SIZE: strconv.FormatInt(size, 10)
},
op.#Export & {
source: "/rand"
},
]
}
}