Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
# com.openuc2.deviceadmin.networkmanager manages NetworkManager.
interface com.openuc2.deviceadmin.networkmanager

# ReloadConnections reloads all network connection files from disk, including noticing any added or
# ReloadConnProfiles reloads all connection profiles from disk, including noticing any added or
# deleted connection files.
method ReloadConnections() -> ()
method ReloadConnProfiles() -> ()

# ReloadConnProfile reloads the UUID-specified connection profile from disk.
method ReloadConnProfile(uuid: string) -> ()

# The uuid input provided was invalid.
error InvalidUUID (description: string)

# The service was unable to perform the requested operation for an unspecified reason.
error Unknown (description: string)
141 changes: 124 additions & 17 deletions internal/app/ipc/networkmanager/comopenuc2deviceadminnetworkmanager.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions internal/app/server/client/globals.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import (
"github.com/openUC2/device-admin/internal/app/server/conf"
"github.com/openUC2/device-admin/internal/clients/networkmanager"
"github.com/openUC2/device-admin/internal/clients/sidecar"
"github.com/openUC2/device-admin/internal/clients/systemd"
"github.com/openUC2/device-admin/internal/clients/tailscale"
"github.com/openUC2/device-admin/internal/clients/templates"
"github.com/openUC2/device-admin/internal/clients/udisks2"
Expand All @@ -34,7 +33,6 @@ type Globals struct {
Base *BaseGlobals

Sidecar *sidecar.Client
Systemd *systemd.Client
NetworkManager *networkmanager.Client
Tailscale *tailscale.Client
UDisks2 *udisks2.Client
Expand Down Expand Up @@ -72,7 +70,6 @@ func NewGlobals(config conf.Config, l godest.Logger) (g *Globals, err error) {
}

g.Sidecar = sidecar.NewClient(config.Sidecar)
g.Systemd = systemd.NewClient(systemd.Config{}, g.Base.Logger)
g.NetworkManager = networkmanager.NewClient(networkmanager.Config{}, g.Base.Logger)
g.Tailscale = tailscale.NewClient(tailscale.Config{}, g.Base.Logger)
g.UDisks2 = udisks2.NewClient(udisks2.Config{}, g.Base.Logger)
Expand Down
30 changes: 6 additions & 24 deletions internal/app/server/routes/boot/routes.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,19 @@ import (
ipc "github.com/openUC2/device-admin/internal/app/ipc/boot"
sh "github.com/openUC2/device-admin/internal/app/server/handling"
sc "github.com/openUC2/device-admin/internal/clients/sidecar"
sd "github.com/openUC2/device-admin/internal/clients/systemd"
)

type Handlers struct {
r godest.TemplateRenderer

sdc *sd.Client
scc *sc.Client

l godest.Logger
}

func New(r godest.TemplateRenderer, sdc *sd.Client, scc *sc.Client, l godest.Logger) *Handlers {
func New(r godest.TemplateRenderer, scc *sc.Client, l godest.Logger) *Handlers {
return &Handlers{
r: r,
sdc: sdc,
scc: scc,
l: l,
}
Expand Down Expand Up @@ -69,7 +66,7 @@ func (h *Handlers) HandleBootPost() echo.HandlerFunc {

// Run queries
ctx := c.Request().Context()
if err := shutdown(ctx, state, h.scc, h.sdc, h.l); err != nil {
if err := shutdown(ctx, state, h.scc, h.l); err != nil {
return err
}
// Redirect user
Expand All @@ -91,7 +88,7 @@ func (h *Handlers) HandleBootPost() echo.HandlerFunc {
}

func shutdown(
ctx context.Context, state string, scc *sc.Client, sdc *sd.Client, l godest.Logger,
ctx context.Context, state string, scc *sc.Client, l godest.Logger,
) error {
switch state {
default:
Expand All @@ -100,30 +97,15 @@ func shutdown(
))
case "soft-rebooted":
if err := shutdownViaSidecar(ctx, "SoftReboot", scc, l); err != nil {
if sdErr := sdc.SoftReboot(ctx); err != nil {
return errors.Wrapf(
sdErr, "couldn't soft-reboot through sidecar (%s) or directly", err.Error(),
)
}
l.Warnf("soft-rebooted directly after failure to soft-reboot through sidecar", err)
return errors.Wrapf(err, "couldn't soft-reboot through sidecar")
}
case "rebooted":
if err := shutdownViaSidecar(ctx, "Reboot", scc, l); err != nil {
if sdErr := sdc.Reboot(ctx); err != nil {
return errors.Wrapf(
sdErr, "couldn't reboot through sidecar (%s) or directly", err.Error(),
)
}
l.Warnf("rebooted directly after failure to reboot through sidecar", err)
return errors.Wrapf(err, "couldn't reboot through sidecar")
}
case "powered-off":
if err := shutdownViaSidecar(ctx, "Poweroff", scc, l); err != nil {
if sdErr := sdc.Poweroff(ctx); err != nil {
return errors.Wrapf(
sdErr, "couldn't power-off through sidecar (%s) or directly", err.Error(),
)
}
l.Warnf("powered-off directly after failure to power-off through sidecar", err)
return errors.Wrapf(err, "couldn't power-off through sidecar")
}
}
return nil
Expand Down
Loading
Loading