MCPcopy Create free account
hub / github.com/SocketCluster/socketcluster / k8sDeployAndDeployUpdate

Function k8sDeployAndDeployUpdate

bin/actions/k8s.js:59–456  ·  view source on GitHub ↗
(arg1, options, updateRequest)

Source from the content-addressed store, hash-verified

57};
58
59const k8sDeployAndDeployUpdate = async function (arg1, options, updateRequest) {
60 let dockerImageName, dockerDefaultImageName;
61 let dockerDefaultImageVersionTag = 'v1.0.0';
62 let nextVersionTag;
63
64 const self = this
65
66 let appPath = arg1 || '.';
67 let pkg = parsePackageFile(appPath);
68 let appName = pkg.name;
69
70 let isUpdate = updateRequest;
71
72 let failedToDeploy = (err) => {
73 this.errorLog(`Failed to deploy the '${appName}' app. ${err.message}`);
74 process.exit();
75 };
76
77 let socketClusterK8sConfigFilePath = appPath + '/socketcluster-k8s.json';
78 let socketClusterK8sConfig = parseJSONFile(socketClusterK8sConfigFilePath);
79
80 let addAuthDetailsToSocketClusterK8s = function (
81 socketClusterK8sConfigJSON,
82 username,
83 password,
84 ) {
85 if (!socketClusterK8sConfigJSON.docker) {
86 socketClusterK8sConfigJSON.docker = {};
87 }
88 socketClusterK8sConfigJSON.docker.auth = Buffer.from(
89 `${username}:${password}`,
90 'utf8',
91 ).toString('base64');
92 };
93
94 let saveSocketClusterK8sConfigFile = function (socketClusterK8sConfigJSON) {
95 fs.writeFileSync(
96 socketClusterK8sConfigFilePath,
97 JSON.stringify(socketClusterK8sConfigJSON, null, 2),
98 );
99 };
100
101 let parseVersionTag = function (fullImageName) {
102 let matches = fullImageName.match(/:[^:]*$/);
103 if (!matches) {
104 return '';
105 }
106 return matches[0] || '';
107 };
108
109 let setImageVersionTag = function (imageName, versionTag) {
110 if (versionTag.indexOf(':') !== 0) {
111 versionTag = ':' + versionTag;
112 }
113 return imageName.replace(/(\/[^\/:]*)(:[^:]*)?$/g, `$1${versionTag}`);
114 };
115
116 let promptDockerAuthDetails = async () => {

Callers

nothing calls this directly

Calls 9

parsePackageFileFunction · 0.85
parseJSONFileFunction · 0.85
parseVersionTagFunction · 0.85
incrementVersionFunction · 0.85
setImageVersionTagFunction · 0.85
performDeploymentFunction · 0.85
promptDockerAuthDetailsFunction · 0.85
failedToDeployFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…