UNPKG

k8s-features

Version:

A Cucumber-js base library for Kubernetes Gherkin tests, with base world class, basic steps, reusable utility functions and k8s client

39 lines (33 loc) 917 B
const { AbstractPodMountPatcher } = require('./abstractPodMountPatcher.cjs'); class PodMountConfigMapPatcher extends AbstractPodMountPatcher { /** * * @param {string} configMapName * @param {string|undefined} volumeName * @param {string|undefined} mountPath * @param {number|undefined} defaultMode defaults to 0o644 */ constructor(configMapName, volumeName, mountPath, defaultMode) { super(volumeName ?? configMapName, mountPath); this.configMapName = configMapName; this.defaultMode = defaultMode ?? 0o644; } /** * * @param {import("@kubernetes/client-node").KubernetesObject} obj */ patch(obj) { super.patch(obj); const pod = obj; pod.spec.volumes.push({ name: this.volumeName, configMap: { name: this.configMapName, defaultMode: this.defaultMode, }, }); } } module.exports = { PodMountConfigMapPatcher, };