diff options
| author | Max Audron <audron@cocaine.farm> | 2021-05-16 00:31:24 +0200 |
|---|---|---|
| committer | Max Audron <audron@cocaine.farm> | 2021-05-16 00:31:24 +0200 |
| commit | bda302df12856879fd78efad1569135b1706973b (patch) | |
| tree | bca8e41eb6965c0cfcda2277cc13b0f949ca253a /deploy/vendor/github.com/grafana/jsonnet-libs/ksonnet-util/grafana.libsonnet | |
| parent | add 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.libsonnet | 71 |
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, + }, +} |
