mirror of
https://github.com/openziti/zrok.git
synced 2025-02-23 05:31:10 +01:00
bind address wiring (#834)
This commit is contained in:
parent
66ad6005be
commit
9d22528a90
@ -129,10 +129,12 @@ func (cmd *accessPrivateCommand) accessLocal(args []string, root env_core.Root)
|
||||
bindAddress := cmd.bindAddress
|
||||
if cmd.autoMode {
|
||||
if accessResp.Payload.BackendMode == "udpTunnel" {
|
||||
cmd.shutdown(accessResp.Payload.FrontendToken, root.Environment().ZitiIdentity, shrToken, zrok, auth)
|
||||
cmd.error(errors.New("auto-addressing is not compatible with the 'udpTunnel' backend mode"))
|
||||
}
|
||||
autoAddress, err := util.AutoListenerAddress("tcp", cmd.autoAddress, cmd.autoStartPort, cmd.autoEndPort)
|
||||
if err != nil {
|
||||
cmd.shutdown(accessResp.Payload.FrontendToken, root.Environment().ZitiIdentity, shrToken, zrok, auth)
|
||||
cmd.error(err)
|
||||
}
|
||||
bindAddress = autoAddress
|
||||
@ -143,6 +145,7 @@ func (cmd *accessPrivateCommand) accessLocal(args []string, root env_core.Root)
|
||||
upReq.Body.BindAddress = bindAddress
|
||||
_, err = zrok.Share.UpdateAccess(upReq, auth)
|
||||
if err != nil {
|
||||
cmd.shutdown(accessResp.Payload.FrontendToken, root.Environment().ZitiIdentity, shrToken, zrok, auth)
|
||||
cmd.error(err)
|
||||
}
|
||||
|
||||
@ -156,6 +159,7 @@ func (cmd *accessPrivateCommand) accessLocal(args []string, root env_core.Root)
|
||||
|
||||
endpointUrl, err := url.Parse(protocol + bindAddress)
|
||||
if err != nil {
|
||||
cmd.shutdown(accessResp.Payload.FrontendToken, root.Environment().ZitiIdentity, shrToken, zrok, auth)
|
||||
cmd.error(err)
|
||||
}
|
||||
|
||||
@ -169,10 +173,12 @@ func (cmd *accessPrivateCommand) accessLocal(args []string, root env_core.Root)
|
||||
RequestsChan: requests,
|
||||
})
|
||||
if err != nil {
|
||||
cmd.shutdown(accessResp.Payload.FrontendToken, root.Environment().ZitiIdentity, shrToken, zrok, auth)
|
||||
cmd.error(err)
|
||||
}
|
||||
go func() {
|
||||
if err := fe.Run(); err != nil {
|
||||
cmd.shutdown(accessResp.Payload.FrontendToken, root.Environment().ZitiIdentity, shrToken, zrok, auth)
|
||||
cmd.error(err)
|
||||
}
|
||||
}()
|
||||
@ -186,10 +192,12 @@ func (cmd *accessPrivateCommand) accessLocal(args []string, root env_core.Root)
|
||||
IdleTime: time.Minute,
|
||||
})
|
||||
if err != nil {
|
||||
cmd.shutdown(accessResp.Payload.FrontendToken, root.Environment().ZitiIdentity, shrToken, zrok, auth)
|
||||
cmd.error(err)
|
||||
}
|
||||
go func() {
|
||||
if err := fe.Run(); err != nil {
|
||||
cmd.shutdown(accessResp.Payload.FrontendToken, root.Environment().ZitiIdentity, shrToken, zrok, auth)
|
||||
cmd.error(err)
|
||||
}
|
||||
}()
|
||||
@ -202,10 +210,12 @@ func (cmd *accessPrivateCommand) accessLocal(args []string, root env_core.Root)
|
||||
RequestsChan: requests,
|
||||
})
|
||||
if err != nil {
|
||||
cmd.shutdown(accessResp.Payload.FrontendToken, root.Environment().ZitiIdentity, shrToken, zrok, auth)
|
||||
cmd.error(err)
|
||||
}
|
||||
go func() {
|
||||
if err := fe.Run(); err != nil {
|
||||
cmd.shutdown(accessResp.Payload.FrontendToken, root.Environment().ZitiIdentity, shrToken, zrok, auth)
|
||||
cmd.error(err)
|
||||
}
|
||||
}()
|
||||
@ -220,10 +230,12 @@ func (cmd *accessPrivateCommand) accessLocal(args []string, root env_core.Root)
|
||||
RequestsChan: requests,
|
||||
})
|
||||
if err != nil {
|
||||
cmd.shutdown(accessResp.Payload.FrontendToken, root.Environment().ZitiIdentity, shrToken, zrok, auth)
|
||||
cmd.error(err)
|
||||
}
|
||||
go func() {
|
||||
if err := fe.Run(); err != nil {
|
||||
cmd.shutdown(accessResp.Payload.FrontendToken, root.Environment().ZitiIdentity, shrToken, zrok, auth)
|
||||
cmd.error(err)
|
||||
}
|
||||
}()
|
||||
@ -236,10 +248,12 @@ func (cmd *accessPrivateCommand) accessLocal(args []string, root env_core.Root)
|
||||
cfg.RequestsChan = requests
|
||||
fe, err := proxy.NewFrontend(cfg)
|
||||
if err != nil {
|
||||
cmd.shutdown(accessResp.Payload.FrontendToken, root.Environment().ZitiIdentity, shrToken, zrok, auth)
|
||||
cmd.error(err)
|
||||
}
|
||||
go func() {
|
||||
if err := fe.Run(); err != nil {
|
||||
cmd.shutdown(accessResp.Payload.FrontendToken, root.Environment().ZitiIdentity, shrToken, zrok, auth)
|
||||
cmd.error(err)
|
||||
}
|
||||
}()
|
||||
@ -325,10 +339,10 @@ func (cmd *accessPrivateCommand) error(err error) {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
func (cmd *accessPrivateCommand) shutdown(frontendName, envZId, shrToken string, zrok *rest_client_zrok.Zrok, auth runtime.ClientAuthInfoWriter) {
|
||||
func (cmd *accessPrivateCommand) shutdown(frontendToken, envZId, shrToken string, zrok *rest_client_zrok.Zrok, auth runtime.ClientAuthInfoWriter) {
|
||||
logrus.Infof("shutting down '%v'", shrToken)
|
||||
req := share.NewUnaccessParams()
|
||||
req.Body.FrontendToken = frontendName
|
||||
req.Body.FrontendToken = frontendToken
|
||||
req.Body.ShareToken = shrToken
|
||||
req.Body.EnvZID = envZId
|
||||
if _, err := zrok.Share.Unaccess(req, auth); err == nil {
|
||||
|
@ -92,6 +92,12 @@ func (h *overviewHandler) Handle(_ metadata.OverviewParams, principal *rest_mode
|
||||
CreatedAt: fe.CreatedAt.UnixMilli(),
|
||||
UpdatedAt: fe.UpdatedAt.UnixMilli(),
|
||||
}
|
||||
if fe.BindAddress != nil {
|
||||
envFe.BindAddress = *fe.BindAddress
|
||||
}
|
||||
if fe.Description != nil {
|
||||
envFe.Description = *fe.Description
|
||||
}
|
||||
if fe.PrivateShareId != nil {
|
||||
feShr, err := str.GetShare(*fe.PrivateShareId, trx)
|
||||
if err != nil {
|
||||
@ -99,6 +105,7 @@ func (h *overviewHandler) Handle(_ metadata.OverviewParams, principal *rest_mode
|
||||
return metadata.NewOverviewInternalServerError()
|
||||
}
|
||||
envFe.ShareToken = feShr.Token
|
||||
envFe.BackendMode = feShr.BackendMode
|
||||
}
|
||||
ear.Frontends = append(ear.Frontends, envFe)
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ const AccessNode = ({ data }) => {
|
||||
{shareHandle}
|
||||
<Grid2 container sx={{ flexGrow: 1, p: 1 }} alignItems="center">
|
||||
<Grid2 display="flex"><AccessIcon sx={{ fontSize: 15, mr: 0.5 }}/></Grid2>
|
||||
<Grid2 display="flex">{data.label}</Grid2>
|
||||
<Grid2 display="flex">{data.bindAddress}</Grid2>
|
||||
</Grid2>
|
||||
</>
|
||||
);
|
||||
|
@ -83,6 +83,8 @@ export const mergeGraph = (oldVov: Graph, u: User, limited: boolean, newOv: Over
|
||||
label: fe.frontendToken!,
|
||||
feId: fe.id,
|
||||
target: fe.shareToken,
|
||||
bindAddress: fe.bindAddress,
|
||||
backendMode: fe.backendMode,
|
||||
envZId: fe.zId,
|
||||
},
|
||||
type: "access",
|
||||
|
Loading…
Reference in New Issue
Block a user