aboutsummaryrefslogtreecommitdiff
path: root/deploy/vendor/github.com/grafana/jsonnet-libs/ksonnet-util/grafana.libsonnet
diff options
context:
space:
mode:
authorMax Audron <audron@cocaine.farm>2021-05-16 00:31:24 +0200
committerMax Audron <audron@cocaine.farm>2021-05-16 00:31:24 +0200
commitbda302df12856879fd78efad1569135b1706973b (patch)
treebca8e41eb6965c0cfcda2277cc13b0f949ca253a /deploy/vendor/github.com/grafana/jsonnet-libs/ksonnet-util/grafana.libsonnet
parentadd container build (diff)
add deployment stuff
Diffstat (limited to 'deploy/vendor/github.com/grafana/jsonnet-libs/ksonnet-util/grafana.libsonnet')
-rw-r--r--deploy/vendor/github.com/grafana/jsonnet-libs/ksonnet-util/grafana.libsonnet71
1 files changed, 71 insertions, 0 deletions
diff --git a/deploy/vendor/github.com/grafana/jsonnet-libs/ksonnet-util/grafana.libsonnet b/deploy/vendor/github.com/grafana/jsonnet-libs/ksonnet-util/grafana.libsonnet
new file mode 100644
index 0000000..8277402
--- /dev/null
+++ b/deploy/vendor/github.com/grafana/jsonnet-libs/ksonnet-util/grafana.libsonnet
@@ -0,0 +1,71 @@
+// grafana.libsonnet provides the k-compat layer with grafana-opinionated defaults
+(import 'k-compat.libsonnet')
++ {
+ core+: {
+ v1+: {
+ containerPort+:: {
+ // Force all ports to have names.
+ new(name, port)::
+ super.newNamed(name=name, containerPort=port),
+
+ // Shortcut constructor for UDP ports.
+ newUDP(name, port)::
+ super.newNamedUDP(name=name, containerPort=port),
+ },
+
+ container+:: {
+ new(name, image)::
+ super.new(name, image) +
+ super.withImagePullPolicy('IfNotPresent'),
+ },
+ },
+ },
+
+ local appsExtentions = {
+ daemonSet+: {
+ new(name, containers, podLabels={})::
+ super.new(name, containers, podLabels={}) +
+
+ // Can't think of a reason we wouldn't want a DaemonSet to run on
+ // every node.
+ super.mixin.spec.template.spec.withTolerations([
+ $.core.v1.toleration.new() +
+ $.core.v1.toleration.withOperator('Exists') +
+ $.core.v1.toleration.withEffect('NoSchedule'),
+ ]) +
+
+ // We want to specify a minReadySeconds on every deamonset, so we get some
+ // very basic canarying, for instance, with bad arguments.
+ super.mixin.spec.withMinReadySeconds(10) +
+ super.mixin.spec.updateStrategy.withType('RollingUpdate'),
+ },
+
+ deployment+: {
+ new(name, replicas, containers, podLabels={})::
+ super.new(name, replicas, containers, podLabels) +
+
+ // We want to specify a minReadySeconds on every deployment, so we get some
+ // very basic canarying, for instance, with bad arguments.
+ super.mixin.spec.withMinReadySeconds(10) +
+
+ // We want to add a sensible default for the number of old deployments
+ // handing around.
+ super.mixin.spec.withRevisionHistoryLimit(10),
+ },
+
+ statefulSet+: {
+ new(name, replicas, containers, volumeClaims=[], podLabels={})::
+ super.new(name, replicas, containers, volumeClaims, podLabels) +
+ super.mixin.spec.updateStrategy.withType('RollingUpdate'),
+ },
+ },
+
+ extensions+: {
+ v1beta1+: appsExtentions,
+ },
+
+ apps+: {
+ v1beta1+: appsExtentions,
+ v1+: appsExtentions,
+ },
+}