File tree Expand file tree Collapse file tree 2 files changed +22
-2
lines changed
lib/interface/cli/commands/agent Expand file tree Collapse file tree 2 files changed +22
-2
lines changed Original file line number Diff line number Diff line change @@ -7,9 +7,29 @@ const { getKubeContext } = require('../../helpers/kubernetes');
7
7
const ProgressEvents = require ( '../../helpers/progressEvents' ) ;
8
8
const cliProgress = require ( 'cli-progress' ) ;
9
9
const colors = require ( 'colors' ) ;
10
+ const _ = require ( 'lodash' ) ;
10
11
11
12
const defaultNamespace = 'codefresh' ;
12
13
14
+ async function newAgentName ( kubeContextName , kubeNamespace ) {
15
+ const defaultName = `${ kubeContextName } _${ kubeNamespace } ` ;
16
+ const agents = await sdk . agents . list ( { } ) ;
17
+ let name ;
18
+
19
+ if ( ! _ . isArray ( agents ) || ! _ . find ( agents , a => a . name === defaultName ) ) {
20
+ name = defaultName ; // use the default name if there are no collisions
21
+ } else {
22
+ const agentsNames = new Set ( _ . map ( agents , a => a . name ) ) ; // for fast lookup
23
+ let i = 1 ;
24
+ while ( agentsNames . has ( `${ defaultName } _${ i } ` ) ) {
25
+ i += 1 ;
26
+ }
27
+ name = `${ defaultName } _${ i } ` ;
28
+ }
29
+
30
+ return name ;
31
+ }
32
+
13
33
const installAgentCmd = new Command ( {
14
34
root : false ,
15
35
parent : installRoot ,
@@ -102,7 +122,7 @@ const installAgentCmd = new Command({
102
122
}
103
123
104
124
if ( ! token ) { // Create an agent if not provided
105
- name = name || ` ${ kubeContextName } _ ${ kubeNamespace } ` ;
125
+ name = name || await newAgentName ( kubeContextName , kubeNamespace ) ;
106
126
agent = await sdk . agents . create ( { name } ) ;
107
127
// eslint-disable-next-line prefer-destructuring
108
128
token = agent . token ;
Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " codefresh" ,
3
- "version" : " 0.62.0 " ,
3
+ "version" : " 0.62.3 " ,
4
4
"description" : " Codefresh command line utility" ,
5
5
"main" : " index.js" ,
6
6
"preferGlobal" : true ,
You can’t perform that action at this time.
0 commit comments