@@ -5,8 +5,8 @@ import split2 from "split2"
5
5
6
6
const coderCloudAgent = path . resolve ( __dirname , "../../lib/coder-cloud-agent" )
7
7
8
- export async function coderCloudBind ( serverName : string ) : Promise < void > {
9
- const agent = spawn ( coderCloudAgent , [ "link" , serverName ] , {
8
+ function runAgent ( ... args : string [ ] ) : Promise < void > {
9
+ const agent = spawn ( coderCloudAgent , args , {
10
10
stdio : [ "inherit" , "inherit" , "pipe" ] ,
11
11
} )
12
12
@@ -30,43 +30,9 @@ export async function coderCloudBind(serverName: string): Promise<void> {
30
30
} )
31
31
}
32
32
33
- export function coderCloudProxy ( addr : string ) {
33
+ export function coderCloudBind ( csAddr : string , serverName = "" ) : Promise < void > {
34
34
// addr needs to be in host:port format.
35
35
// So we trim the protocol.
36
- addr = addr . replace ( / ^ h t t p s ? : \/ \/ / , "" )
37
-
38
- const _proxy = async ( ) => {
39
- const agent = spawn ( coderCloudAgent , [ "proxy" , "--code-server-addr" , addr ] , {
40
- stdio : [ "inherit" , "inherit" , "pipe" ] ,
41
- } )
42
-
43
- agent . stderr . pipe ( split2 ( ) ) . on ( "data" , ( line ) => {
44
- line = line . replace ( / ^ [ 0 - 9 - ] + [ 0 - 9 : ] + [ ^ ] + \t / , "" )
45
- logger . info ( line )
46
- } )
47
-
48
- return new Promise ( ( res , rej ) => {
49
- agent . on ( "error" , rej )
50
-
51
- agent . on ( "close" , ( code ) => {
52
- if ( code !== 0 ) {
53
- rej ( {
54
- message : `coder cloud agent exited with ${ code } ` ,
55
- } )
56
- return
57
- }
58
- res ( )
59
- } )
60
- } )
61
- }
62
-
63
- const proxy = async ( ) => {
64
- try {
65
- await _proxy ( )
66
- } catch ( err ) {
67
- logger . error ( err . message )
68
- }
69
- setTimeout ( proxy , 3000 )
70
- }
71
- proxy ( )
36
+ csAddr = csAddr . replace ( / ^ h t t p s ? : \/ \/ / , "" )
37
+ return runAgent ( "bind" , `--code-server-addr=${ csAddr } ` , serverName )
72
38
}
0 commit comments