Skip to content

Instantly share code, notes, and snippets.

@PatrickKalkman
Created January 7, 2023 22:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PatrickKalkman/e68a7ae5e8dd8e9b4252afbfa8e042ac to your computer and use it in GitHub Desktop.
Save PatrickKalkman/e68a7ae5e8dd8e9b4252afbfa8e042ac to your computer and use it in GitHub Desktop.
import k8s from '@kubernetes/client-node';
import log from './log.js';
const kubernetesClient = {};
kubernetesClient.setNumberOfEncoders = async (numberOfEncoders) => {
try {
const kubeconfig = new k8s.KubeConfig();
if (process.env.NODE_ENV === 'production') {
kubeconfig.loadFromCluster();
} else {
kubeconfig.loadFromDefault();
}
const k8sAppsApi = kubeconfig.makeApiClient(k8s.AppsV1Api);
const result = await k8sAppsApi.readNamespacedDeployment('workflow-encoder-encodingpool', 'default');
let deployment = result.body;
deployment.spec.replicas = numberOfEncoders;
return await k8sAppsApi.replaceNamespacedDeployment('workflow-encoder-encodingpool', 'default', deployment);
} catch (error) {
log.error(error);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment