🌳
pt0/deployF/cnpgF/setupCnpgF.mts
1import * as _ from 'lodash-es'
2import fs from 'fs'
13const cnpgManifestPath = getMyDir(tsImportMetaUrl(import.meta.url)) + '/kust/cnpg-1.25.1.yaml'
15export const k8sCnPg = async () => {
16 const action = getAction()
17 if (action !== 'apply') return
19 const {cluster_name} = getKlusterCtx()
21 let resources = yamlReplaceAndLoad({contentS: fs.readFileSync(cnpgManifestPath, 'utf8')}) as KubeResource[]
22 betLog({cnpgResCnt: resources.length})
24 const nsResA = _.filter(resources, ({kind}) => kind == 'Namespace')
25 resources = _.difference(resources, nsResA)
26 await kube2ApplyK({action, resources: nsResA, cluster_name})
29 const crdResA = _.filter(resources, ({kind}) => kind == 'CustomResourceDefinition')
30 resources = _.difference(resources, crdResA)
31 await kube2ApplyK({action, resources: crdResA, cluster_name})
33 await kube2ApplyK({action, resources, cluster_name})
36 await resourcesAction({resources: [{
37 apiVersion: 'v1',
38 kind: 'ConfigMap',
39 metadata: {
40 name: 'cnpg-controller-manager-config',
41 namespace: 'cnpg-system'
42 },
43 data: {
44 INHERITED_LABELS: 'name'
45 }