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');
77const ProgressEvents = require ( '../../helpers/progressEvents' ) ;
88const cliProgress = require ( 'cli-progress' ) ;
99const colors = require ( 'colors' ) ;
10+ const _ = require ( 'lodash' ) ;
1011
1112const defaultNamespace = 'codefresh' ;
1213
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+
1333const installAgentCmd = new Command ( {
1434 root : false ,
1535 parent : installRoot ,
@@ -102,7 +122,7 @@ const installAgentCmd = new Command({
102122 }
103123
104124 if ( ! token ) { // Create an agent if not provided
105- name = name || ` ${ kubeContextName } _ ${ kubeNamespace } ` ;
125+ name = name || await newAgentName ( kubeContextName , kubeNamespace ) ;
106126 agent = await sdk . agents . create ( { name } ) ;
107127 // eslint-disable-next-line prefer-destructuring
108128 token = agent . token ;
Original file line number Diff line number Diff line change 11{
22 "name" : " codefresh" ,
3- "version" : " 0.62.0 " ,
3+ "version" : " 0.62.3 " ,
44 "description" : " Codefresh command line utility" ,
55 "main" : " index.js" ,
66 "preferGlobal" : true ,
You can’t perform that action at this time.
0 commit comments