File tree Expand file tree Collapse file tree 2 files changed +72
-0
lines changed
interface/cli/commands/tokens Expand file tree Collapse file tree 2 files changed +72
-0
lines changed Original file line number Diff line number Diff line change
1
+ const debug = require ( 'debug' ) ( 'codefresh:cli:create:token' ) ;
2
+ const Command = require ( '../../Command' ) ;
3
+ const createCmd = require ( '../root/create.cmd' ) ;
4
+ const {
5
+ generateToken,
6
+ } = require ( '../../../../logic/api/token' ) ;
7
+
8
+ const command = new Command ( {
9
+ command : 'tokens' ,
10
+ aliases : [ 'token' ] ,
11
+ parent : createCmd ,
12
+ description : 'Create Codefresh token' ,
13
+ usage : 'Create Codefresh token' ,
14
+ webDocs : {
15
+ category : 'Tokens' ,
16
+ title : 'Tokens tokens' ,
17
+ } ,
18
+ builder : ( yargs ) => {
19
+ return yargs
20
+ . option ( 'subject' , {
21
+ describe : 'name of the token subject' ,
22
+ required : true ,
23
+ } )
24
+ . options ( 'type' , {
25
+ describe : 'Type of the subject' ,
26
+ default : 'runtime-environment' ,
27
+ options : [ 'runtime-environment' ] ,
28
+ } )
29
+ . option ( 'name' , {
30
+ describe : 'token name' ,
31
+ required : true ,
32
+ } )
33
+ . example ( 'codefresh create token --subject my-k8s-cluster/namespace --name new-token' , 'Create token form runtime environment' ) ;
34
+ } ,
35
+ handler : async ( argv ) => {
36
+ const res = await generateToken ( {
37
+ subjectType : argv . type ,
38
+ subjectReference : argv . subject ,
39
+ name : argv . name ,
40
+ } ) ;
41
+ console . log ( 'Token created' ) ;
42
+ console . log ( res . token ) ;
43
+ } ,
44
+ } ) ;
45
+
46
+ module . exports = command ;
47
+
Original file line number Diff line number Diff line change
1
+ const _ = require ( 'lodash' ) ;
2
+ const { sendHttpRequest } = require ( './helper' ) ;
3
+
4
+ const generateToken = async ( info ) => {
5
+ const options = {
6
+ url : '/api/auth/key' ,
7
+ method : 'POST' ,
8
+ qs : {
9
+ subjectType : info . subjectType ,
10
+ subjectReference : info . subjectReference ,
11
+ } ,
12
+ body : {
13
+ name : info . name ,
14
+ } ,
15
+ } ;
16
+ const token = await sendHttpRequest ( options ) ;
17
+ return {
18
+ token,
19
+ } ;
20
+ } ;
21
+
22
+
23
+ module . exports = {
24
+ generateToken,
25
+ } ;
You can’t perform that action at this time.
0 commit comments