-
Notifications
You must be signed in to change notification settings - Fork 4
/
stack.cue
98 lines (87 loc) · 1.56 KB
/
stack.cue
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package main
import (
"stakpak.dev/devx/v1"
"stakpak.dev/devx/v1/traits"
"stakpak.dev/devx/k8s/services/rabbitmq"
"stakpak.dev/devx/k8s/services/keda"
"stakpak.dev/devx/k8s/services/ingressnginx"
)
stack: v1.#Stack & {
components: {
cluster: {
traits.#KubernetesCluster
k8s: version: minor: 26
}
common: {
traits.#Secret
secrets: {
}
env: {
RABBIT_MQ_URI: "amqp://default_user_CEp19JlfPtw3PciCnK5:aJo_RRJZvSK_fwMvuyFAaCUsX2mZ0A8z@rabbit.rabbitmq.svc.cluster.local:5672"
}
}
ingress: {
ingressnginx.#IngressNginxChart
k8s: cluster.k8s
}
kedaop: {
keda.#KEDAChart
k8s: cluster.k8s
}
rabbitmqop: {
rabbitmq.#RabbitMQOperatorChart
k8s: cluster.k8s
}
rabbit: {
traits.#RabbitMQ
k8s: {
cluster.k8s
namespace: "rabbitmq"
}
rabbitmq: {
name: "rabbitmq"
version: "3.9"
replicas: 2
}
}
rabbittest: {
traits.#Workload
traits.#Scalable
containers: default: {
image: "pivotalrabbitmq/perf-test"
args: ["--uri", "$(RABBIT_MQ_URI)", "--queue", "queue", "--rate", "10"]
env: {
RABBIT_MQ_URI: common.env.RABBIT_MQ_URI
}
resources: {
requests: {
cpu: "4"
memory: "4Gi"
}
}
}
scale: {
replicas: {
min: 1
max: 3
}
triggers: [
{
type: "rabbitmq"
metadata: {
value: "20"
queueName: "queue"
mode: "MessageRate"
hostFromEnv: "RABBIT_MQ_URI"
}
},
]
}
}
}
}
builders: {
prod: components: {
cluster: k8s: name: "prod"
}
}