bugs, lint, testing (#967)

This commit is contained in:
Michael Quigley
2025-06-03 14:45:32 -04:00
parent 3ed97d4e90
commit 2de24beba8
6 changed files with 35 additions and 4 deletions

View File

@ -39,6 +39,10 @@ func (cmd *agentEnrollCommand) run(_ *cobra.Command, _ []string) {
tui.Error("error loading zrokdir", err)
}
if !root.IsEnabled() {
tui.Error("unable to load environment; did you 'zrok enable'?", nil)
}
enrlPath, err := root.AgentEnrollment()
if err != nil {
tui.Error("error getting agent enrollment path", err)

View File

@ -1,6 +1,7 @@
package main
import (
"fmt"
httptransport "github.com/go-openapi/runtime/client"
"github.com/openziti/zrok/agent"
"github.com/openziti/zrok/environment"
@ -35,11 +36,19 @@ func (cmd *agentUnenrollCommand) run(_ *cobra.Command, _ []string) {
tui.Error("error loading zrokdir", err)
}
if !root.IsEnabled() {
tui.Error("unable to load environment; did you 'zrok enable'?", nil)
}
enrlPath, err := root.AgentEnrollment()
if err != nil {
tui.Error("error getting agent enrollment path", err)
}
if _, err := os.Stat(enrlPath); os.IsNotExist(err) {
tui.Error("agent not enrolled; use 'zrok agent enroll' to enroll", nil)
}
_, err = agent.LoadEnrollment(enrlPath)
if err != nil {
tui.Warning("error loading agent enrollment; use 'zrok agent enroll' to enroll", err)
@ -55,10 +64,14 @@ func (cmd *agentUnenrollCommand) run(_ *cobra.Command, _ []string) {
auth := httptransport.APIKeyAuth("X-TOKEN", "header", root.Environment().AccountToken)
_, err = zrok.Agent.Unenroll(req, auth)
if err != nil {
tui.Error("error unenrolling agent", err)
tui.Warning("error unenrolling agent from service (ignoring)", err)
} else {
fmt.Printf("%v: unenrolled agent from '%v'\n", tui.Attention.Render("SUCCESS"), root.Environment().ApiEndpoint)
}
if err := os.Remove(enrlPath); err != nil {
tui.Error("error removing agent enrollment", err)
} else {
fmt.Printf("%v: removed agent-enrollment.json\n", tui.Attention.Render("SUCCESS"))
}
}

View File

@ -63,7 +63,7 @@ func (h *agentEnrollHandler) Handle(params agent.EnrollParams, principal *rest_m
return agent.NewEnrollInternalServerError()
}
if err := zrokEdgeSdk.CreateShareServiceEdgeRouterPolicy(env.ZId, token, zId, client); err != nil {
if err := zrokEdgeSdk.CreateAgentRemoteServiceEdgeRouterPolicy(env.ZId, token, zId, client); err != nil {
logrus.Errorf("error creating agent remoting serp for '%v' (%v): %v", env.ZId, principal.Email, err)
return agent.NewEnrollInternalServerError()
}

View File

@ -144,7 +144,12 @@ func (h *disableHandler) removeAgentRemoteForEnvironment(env *store.Environment,
if err != nil {
return err
}
aeZId := *(listResp.Payload.Data[0].ID)
aeZId := ""
if len(listResp.Payload.Data) > 0 {
aeZId = *(listResp.Payload.Data[0].ID)
} else {
return errors.New("no agent remoting identity found")
}
if err := zrokEdgeSdk.DeleteService(env.ZId, aeZId, edge); err != nil {
return err
}

View File

@ -28,7 +28,7 @@ func (str *Store) IsAgentEnrolledForEnvironment(envId int, trx *sqlx.Tx) (bool,
if err := trx.QueryRowx("select count(0) from agent_enrollments where environment_id = $1 and not deleted", envId).Scan(&count); err != nil {
return false, err
}
return count == 0, nil
return count > 0, nil
}
func (str *Store) FindAgentEnrollmentForEnvironment(envId int, trx *sqlx.Tx) (*AgentEnrollment, error) {

View File

@ -11,6 +11,15 @@ import (
"time"
)
func CreateAgentRemoteServiceEdgeRouterPolicy(envZId, enrollmentToken, zId string, edge *rest_management_api_client.ZitiEdgeManagement) error {
serpZId, err := CreateServiceEdgeRouterPolicy(enrollmentToken, zId, ZrokAgentRemoteTags(enrollmentToken, envZId).SubTags, edge)
if err != nil {
return err
}
logrus.Infof("created service edge router policy '%v' for service '%v' (%v) for environment '%v'", serpZId, zId, enrollmentToken, envZId)
return nil
}
func CreateShareServiceEdgeRouterPolicy(envZId, shrToken, shrZId string, edge *rest_management_api_client.ZitiEdgeManagement) error {
serpZId, err := CreateServiceEdgeRouterPolicy(shrToken, shrZId, ZrokShareTags(shrToken).SubTags, edge)
if err != nil {