mirror of
https://github.com/openziti/zrok.git
synced 2025-06-24 19:51:32 +02:00
frontends.name -> frontends.token (#119)
This commit is contained in:
parent
0f9ed9dd68
commit
f54d315e34
@ -61,13 +61,13 @@ func (h *accessHandler) Handle(params service.AccessParams, principal *rest_mode
|
|||||||
return service.NewAccessNotFound()
|
return service.NewAccessNotFound()
|
||||||
}
|
}
|
||||||
|
|
||||||
frontendName, err := createToken()
|
feToken, err := createToken()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Error(err)
|
logrus.Error(err)
|
||||||
return service.NewAccessInternalServerError()
|
return service.NewAccessInternalServerError()
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err := str.CreateFrontend(envId, &store.Frontend{Name: frontendName, ZId: envZId}, tx); err != nil {
|
if _, err := str.CreateFrontend(envId, &store.Frontend{Token: feToken, ZId: envZId}, tx); err != nil {
|
||||||
logrus.Errorf("error creating frontend record: %v", err)
|
logrus.Errorf("error creating frontend record: %v", err)
|
||||||
return service.NewAccessInternalServerError()
|
return service.NewAccessInternalServerError()
|
||||||
}
|
}
|
||||||
@ -79,7 +79,7 @@ func (h *accessHandler) Handle(params service.AccessParams, principal *rest_mode
|
|||||||
}
|
}
|
||||||
extraTags := &rest_model_edge.Tags{SubTags: map[string]interface{}{
|
extraTags := &rest_model_edge.Tags{SubTags: map[string]interface{}{
|
||||||
"zrokEnvironmentZId": envZId,
|
"zrokEnvironmentZId": envZId,
|
||||||
"zrokFrontendName": frontendName,
|
"zrokFrontendToken": feToken,
|
||||||
}}
|
}}
|
||||||
if err := createServicePolicyDialForEnvironment(envZId, ssvc.Name, ssvc.ZId, edge, extraTags); err != nil {
|
if err := createServicePolicyDialForEnvironment(envZId, ssvc.Name, ssvc.ZId, edge, extraTags); err != nil {
|
||||||
logrus.Errorf("unable to create dial policy: %v", err)
|
logrus.Errorf("unable to create dial policy: %v", err)
|
||||||
@ -91,7 +91,7 @@ func (h *accessHandler) Handle(params service.AccessParams, principal *rest_mode
|
|||||||
return service.NewAccessInternalServerError()
|
return service.NewAccessInternalServerError()
|
||||||
}
|
}
|
||||||
|
|
||||||
return service.NewAccessCreated().WithPayload(&rest_model_zrok.AccessResponse{FrontendName: frontendName})
|
return service.NewAccessCreated().WithPayload(&rest_model_zrok.AccessResponse{FrontendName: feToken})
|
||||||
}
|
}
|
||||||
|
|
||||||
func createServicePolicyDialForEnvironment(envZId, svcName, svcZId string, edge *rest_management_api_client.ZitiEdgeManagement, tags ...*rest_model.Tags) error {
|
func createServicePolicyDialForEnvironment(envZId, svcName, svcZId string, edge *rest_management_api_client.ZitiEdgeManagement, tags ...*rest_model.Tags) error {
|
||||||
|
@ -8,19 +8,19 @@ import (
|
|||||||
type Frontend struct {
|
type Frontend struct {
|
||||||
Model
|
Model
|
||||||
EnvironmentId int
|
EnvironmentId int
|
||||||
Name string
|
Token string
|
||||||
ZId string
|
ZId string
|
||||||
PublicName *string
|
PublicName *string
|
||||||
Reserved bool
|
Reserved bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (str *Store) CreateFrontend(envId int, f *Frontend, tx *sqlx.Tx) (int, error) {
|
func (str *Store) CreateFrontend(envId int, f *Frontend, tx *sqlx.Tx) (int, error) {
|
||||||
stmt, err := tx.Prepare("insert into frontends (environment_id, name, z_id, public_name, reserved) values ($1, $2, $3, $4, $5) returning id")
|
stmt, err := tx.Prepare("insert into frontends (environment_id, token, z_id, public_name, reserved) values ($1, $2, $3, $4, $5) returning id")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, errors.Wrap(err, "error preparing frontends insert statement")
|
return 0, errors.Wrap(err, "error preparing frontends insert statement")
|
||||||
}
|
}
|
||||||
var id int
|
var id int
|
||||||
if err := stmt.QueryRow(envId, f.Name, f.ZId, f.PublicName, f.Reserved).Scan(&id); err != nil {
|
if err := stmt.QueryRow(envId, f.Token, f.ZId, f.PublicName, f.Reserved).Scan(&id); err != nil {
|
||||||
return 0, errors.Wrap(err, "error executing frontends insert statement")
|
return 0, errors.Wrap(err, "error executing frontends insert statement")
|
||||||
}
|
}
|
||||||
return id, nil
|
return id, nil
|
||||||
|
@ -31,7 +31,7 @@ func TestPublicFrontend(t *testing.T) {
|
|||||||
|
|
||||||
feName := "public"
|
feName := "public"
|
||||||
feId, err := str.CreateFrontend(envId, &Frontend{
|
feId, err := str.CreateFrontend(envId, &Frontend{
|
||||||
Name: "name",
|
Token: "token",
|
||||||
ZId: "zId0",
|
ZId: "zId0",
|
||||||
PublicName: &feName,
|
PublicName: &feName,
|
||||||
}, tx)
|
}, tx)
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
create table frontends (
|
create table frontends (
|
||||||
id serial primary key,
|
id serial primary key,
|
||||||
environment_id integer not null references environments(id),
|
environment_id integer not null references environments(id),
|
||||||
name varchar(32) not null unique,
|
token varchar(32) not null unique,
|
||||||
z_id varchar(32) not null unique,
|
z_id varchar(32) not null unique,
|
||||||
public_name varchar(64) unique,
|
public_name varchar(64) unique,
|
||||||
reserved boolean not null default(false),
|
reserved boolean not null default(false),
|
||||||
|
@ -20,7 +20,7 @@ drop table environments_old;
|
|||||||
create table frontends (
|
create table frontends (
|
||||||
id integer primary key,
|
id integer primary key,
|
||||||
environment_id integer not null references environments(id),
|
environment_id integer not null references environments(id),
|
||||||
name varchar(32) not null unique,
|
token varchar(32) not null unique,
|
||||||
z_id varchar(32) not null unique,
|
z_id varchar(32) not null unique,
|
||||||
public_name varchar(64) unique,
|
public_name varchar(64) unique,
|
||||||
reserved boolean not null default(false),
|
reserved boolean not null default(false),
|
||||||
|
@ -69,7 +69,7 @@ func (h *unaccessHandler) Handle(params service.UnaccessParams, principal *rest_
|
|||||||
return service.NewUnaccessNotFound()
|
return service.NewUnaccessNotFound()
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := deleteServicePolicy(envZId, fmt.Sprintf("tags.zrokServiceName=\"%v\" and tags.zrokFrontendName=\"%v\" and type=1", svcName, frontendName), edge); err != nil {
|
if err := deleteServicePolicy(envZId, fmt.Sprintf("tags.zrokServiceName=\"%v\" and tags.zrokFrontendToken=\"%v\" and type=1", svcName, frontendName), edge); err != nil {
|
||||||
logrus.Errorf("error removing access to '%v' for '%v': %v", svcName, envZId, err)
|
logrus.Errorf("error removing access to '%v' for '%v': %v", svcName, envZId, err)
|
||||||
return service.NewUnaccessInternalServerError()
|
return service.NewUnaccessInternalServerError()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user