diff options
| author | Max Audron <audron@cocaine.farm> | 2021-06-05 00:11:00 +0200 |
|---|---|---|
| committer | Max Audron <audron@cocaine.farm> | 2021-06-05 00:11:00 +0200 |
| commit | acc28a198d38be468ca5cb7962a4c4b11a8e7e67 (patch) | |
| tree | 838195c62ff95058b2895c708639ca532be550ec /deploy/vendor/github.com/grafana/jsonnet-libs/ksonnet-util/util.libsonnet | |
| parent | Release 1.0.1 (diff) | |
remove tanka vendoring
Diffstat (limited to 'deploy/vendor/github.com/grafana/jsonnet-libs/ksonnet-util/util.libsonnet')
| -rw-r--r-- | deploy/vendor/github.com/grafana/jsonnet-libs/ksonnet-util/util.libsonnet | 264 |
1 files changed, 0 insertions, 264 deletions
diff --git a/deploy/vendor/github.com/grafana/jsonnet-libs/ksonnet-util/util.libsonnet b/deploy/vendor/github.com/grafana/jsonnet-libs/ksonnet-util/util.libsonnet deleted file mode 100644 index d97f7d5..0000000 --- a/deploy/vendor/github.com/grafana/jsonnet-libs/ksonnet-util/util.libsonnet +++ /dev/null @@ -1,264 +0,0 @@ -// util.libsonnet provides a number of useful (opinionated) shortcuts to replace boilerplate code - -local util(k) = { - // mapToFlags converts a map to a set of golang-style command line flags. - mapToFlags(map, prefix='-'): [ - '%s%s=%s' % [prefix, key, map[key]] - for key in std.objectFields(map) - if map[key] != null - ], - - // serviceFor create service for a given deployment. - serviceFor(deployment, ignored_labels=[], nameFormat='%(container)s-%(port)s'):: - local container = k.core.v1.container; - local service = k.core.v1.service; - local servicePort = k.core.v1.servicePort; - local ports = [ - servicePort.newNamed( - name=(nameFormat % { container: c.name, port: port.name }), - port=port.containerPort, - targetPort=port.containerPort - ) + - if std.objectHas(port, 'protocol') - then servicePort.withProtocol(port.protocol) - else {} - for c in deployment.spec.template.spec.containers - for port in (c + container.withPortsMixin([])).ports - ]; - local labels = { - [x]: deployment.spec.template.metadata.labels[x] - for x in std.objectFields(deployment.spec.template.metadata.labels) - if std.count(ignored_labels, x) == 0 - }; - - service.new( - deployment.metadata.name, // name - labels, // selector - ports, - ) + - service.mixin.metadata.withLabels({ name: deployment.metadata.name }), - - // rbac creates a service account, role and role binding with the given - // name and rules. - rbac(name, rules, namespace):: { - local clusterRole = k.rbac.v1.clusterRole, - local clusterRoleBinding = k.rbac.v1.clusterRoleBinding, - local subject = k.rbac.v1.subject, - local serviceAccount = k.core.v1.serviceAccount, - - service_account: - serviceAccount.new(name), - - cluster_role: - clusterRole.new() + - clusterRole.mixin.metadata.withName(name) + - clusterRole.withRules(rules), - - cluster_role_binding: - clusterRoleBinding.new() + - clusterRoleBinding.mixin.metadata.withName(name) + - clusterRoleBinding.mixin.roleRef.withApiGroup('rbac.authorization.k8s.io') + - clusterRoleBinding.mixin.roleRef.withKind('ClusterRole') + - clusterRoleBinding.mixin.roleRef.withName(name) + - clusterRoleBinding.withSubjects([ - subject.new() + - subject.withKind('ServiceAccount') + - subject.withName(name) + - subject.withNamespace(namespace), - ]), - }, - - namespacedRBAC(name, rules, namespace):: { - local role = k.rbac.v1.role, - local roleBinding = k.rbac.v1.roleBinding, - local subject = k.rbac.v1.subject, - local serviceAccount = k.core.v1.serviceAccount, - - service_account: - serviceAccount.new(name) + - serviceAccount.mixin.metadata.withNamespace(namespace), - - role: - role.new() + - role.mixin.metadata.withName(name) + - role.mixin.metadata.withNamespace(namespace) + - role.withRules(rules), - - role_binding: - roleBinding.new() + - roleBinding.mixin.metadata.withName(name) + - roleBinding.mixin.metadata.withNamespace(namespace) + - roleBinding.mixin.roleRef.withApiGroup('rbac.authorization.k8s.io') + - roleBinding.mixin.roleRef.withKind('Role') + - roleBinding.mixin.roleRef.withName(name) + - roleBinding.withSubjects([ - subject.new() + - subject.withKind('ServiceAccount') + - subject.withName(name) + - subject.withNamespace(namespace), - ]), - }, - - // VolumeMount helper functions can be augmented with mixins. - // For example, passing "volumeMount.withSubPath(subpath)" will result in - // a subpath mixin. - configVolumeMount(name, path, volumeMountMixin={}):: - local container = k.core.v1.container, - deployment = k.apps.v1.deployment, - volumeMount = k.core.v1.volumeMount, - volume = k.core.v1.volume, - addMount(c) = c + container.withVolumeMountsMixin( - volumeMount.new(name, path) + - volumeMountMixin, - ); - - deployment.mapContainers(addMount) + - deployment.mixin.spec.template.spec.withVolumesMixin([ - volume.fromConfigMap(name, name), - ]), - - // configMapVolumeMount adds a configMap to deployment-like objects. - // It will also add an annotation hash to ensure the pods are re-deployed - // when the config map changes. - configMapVolumeMount(configMap, path, volumeMountMixin={}):: - local name = configMap.metadata.name, - hash = std.md5(std.toString(configMap)), - container = k.core.v1.container, - deployment = k.apps.v1.deployment, - volumeMount = k.core.v1.volumeMount, - volume = k.core.v1.volume, - addMount(c) = c + container.withVolumeMountsMixin( - volumeMount.new(name, path) + - volumeMountMixin, - ); - - deployment.mapContainers(addMount) + - deployment.mixin.spec.template.spec.withVolumesMixin([ - volume.fromConfigMap(name, name), - ]) + - deployment.mixin.spec.template.metadata.withAnnotationsMixin({ - ['%s-hash' % name]: hash, - }), - - hostVolumeMount(name, hostPath, path, readOnly=false, volumeMountMixin={}):: - local container = k.core.v1.container, - deployment = k.apps.v1.deployment, - volumeMount = k.core.v1.volumeMount, - volume = k.core.v1.volume, - addMount(c) = c + container.withVolumeMountsMixin( - volumeMount.new(name, path, readOnly=readOnly) + - volumeMountMixin, - ); - - deployment.mapContainers(addMount) + - deployment.mixin.spec.template.spec.withVolumesMixin([ - volume.fromHostPath(name, hostPath), - ]), - - pvcVolumeMount(pvcName, path, readOnly=false, volumeMountMixin={}):: - local container = k.core.v1.container, - deployment = k.apps.v1.deployment, - volumeMount = k.core.v1.volumeMount, - volume = k.core.v1.volume, - addMount(c) = c + container.withVolumeMountsMixin( - volumeMount.new(pvcName, path, readOnly=readOnly) + - volumeMountMixin, - ); - - deployment.mapContainers(addMount) + - deployment.mixin.spec.template.spec.withVolumesMixin([ - volume.fromPersistentVolumeClaim(pvcName, pvcName), - ]), - - secretVolumeMount(name, path, defaultMode=256, volumeMountMixin={}):: - local container = k.core.v1.container, - deployment = k.apps.v1.deployment, - volumeMount = k.core.v1.volumeMount, - volume = k.core.v1.volume, - addMount(c) = c + container.withVolumeMountsMixin( - volumeMount.new(name, path) + - volumeMountMixin, - ); - - deployment.mapContainers(addMount) + - deployment.mixin.spec.template.spec.withVolumesMixin([ - volume.fromSecret(name, secretName=name) + - volume.mixin.secret.withDefaultMode(defaultMode), - ]), - - emptyVolumeMount(name, path, volumeMountMixin={}, volumeMixin={}):: - local container = k.core.v1.container, - deployment = k.apps.v1.deployment, - volumeMount = k.core.v1.volumeMount, - volume = k.core.v1.volume, - addMount(c) = c + container.withVolumeMountsMixin( - volumeMount.new(name, path) + - volumeMountMixin, - ); - - deployment.mapContainers(addMount) + - deployment.mixin.spec.template.spec.withVolumesMixin([ - volume.fromEmptyDir(name) + volumeMixin, - ]), - - manifestYaml(value):: ( - local f = std.native('manifestYamlFromJson'); - f(std.toString(value)) - ), - - resourcesRequests(cpu, memory):: - k.core.v1.container.mixin.resources.withRequests( - (if cpu != null - then { cpu: cpu } - else {}) + - (if memory != null - then { memory: memory } - else {}) - ), - - resourcesLimits(cpu, memory):: - k.core.v1.container.mixin.resources.withLimits( - (if cpu != null - then { cpu: cpu } - else {}) + - (if memory != null - then { memory: memory } - else {}) - ), - - antiAffinity: - { - local deployment = k.apps.v1.deployment, - local podAntiAffinity = deployment.mixin.spec.template.spec.affinity.podAntiAffinity, - local name = super.spec.template.metadata.labels.name, - - spec+: podAntiAffinity.withRequiredDuringSchedulingIgnoredDuringExecution([ - podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecutionType.new() + - podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecutionType.mixin.labelSelector.withMatchLabels({ name: name }) + - podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecutionType.withTopologyKey('kubernetes.io/hostname'), - ]).spec, - }, - - antiAffinityStatefulSet: - { - local statefulSet = k.apps.v1.statefulSet, - local podAntiAffinity = statefulSet.mixin.spec.template.spec.affinity.podAntiAffinity, - local name = super.spec.template.metadata.labels.name, - - spec+: podAntiAffinity.withRequiredDuringSchedulingIgnoredDuringExecution([ - podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecutionType.new() + - podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecutionType.mixin.labelSelector.withMatchLabels({ name: name }) + - podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecutionType.withTopologyKey('kubernetes.io/hostname'), - ]).spec, - }, - - // Add a priority to the pods in a deployment (or deployment-like objects - // such as a statefulset). - local deployment = k.apps.v1.deployment, - podPriority(p): - deployment.mixin.spec.template.spec.withPriorityClassName(p), -}; - -util((import 'grafana.libsonnet')) + { - withK(k):: util(k), -} |
