diff --git a/api/cmd/portainer/main.go b/api/cmd/portainer/main.go index 6f994bf82..d913dad14 100644 --- a/api/cmd/portainer/main.go +++ b/api/cmd/portainer/main.go @@ -18,7 +18,7 @@ import ( "github.com/portainer/portainer/api/exec" "github.com/portainer/portainer/api/filesystem" "github.com/portainer/portainer/api/git" - "github.com/portainer/portainer/api/hostmanagement/intel/openamt" + "github.com/portainer/portainer/api/hostmanagement/openamt" "github.com/portainer/portainer/api/http" "github.com/portainer/portainer/api/http/client" "github.com/portainer/portainer/api/http/proxy" diff --git a/api/hostmanagement/intel/openamt/authorization.go b/api/hostmanagement/openamt/authorization.go similarity index 100% rename from api/hostmanagement/intel/openamt/authorization.go rename to api/hostmanagement/openamt/authorization.go diff --git a/api/hostmanagement/intel/openamt/configCIRA.go b/api/hostmanagement/openamt/configCIRA.go similarity index 100% rename from api/hostmanagement/intel/openamt/configCIRA.go rename to api/hostmanagement/openamt/configCIRA.go diff --git a/api/hostmanagement/intel/openamt/configDomain.go b/api/hostmanagement/openamt/configDomain.go similarity index 100% rename from api/hostmanagement/intel/openamt/configDomain.go rename to api/hostmanagement/openamt/configDomain.go diff --git a/api/hostmanagement/intel/openamt/configProfile.go b/api/hostmanagement/openamt/configProfile.go similarity index 100% rename from api/hostmanagement/intel/openamt/configProfile.go rename to api/hostmanagement/openamt/configProfile.go diff --git a/api/hostmanagement/intel/openamt/configWireless.go b/api/hostmanagement/openamt/configWireless.go similarity index 100% rename from api/hostmanagement/intel/openamt/configWireless.go rename to api/hostmanagement/openamt/configWireless.go diff --git a/api/hostmanagement/intel/openamt/openamt.go b/api/hostmanagement/openamt/openamt.go similarity index 98% rename from api/hostmanagement/intel/openamt/openamt.go rename to api/hostmanagement/openamt/openamt.go index 56da1e716..fa8ebb0ed 100644 --- a/api/hostmanagement/intel/openamt/openamt.go +++ b/api/hostmanagement/openamt/openamt.go @@ -73,7 +73,7 @@ func (service *Service) ConfigureDefault(configuration portainer.OpenAMTConfigur } wirelessConfigName := "" - if configuration.WirelessConfiguration.UseWirelessConfig { + if configuration.WirelessConfiguration != nil { wirelessConfig, err := service.createOrUpdateWirelessConfig(configuration, DefaultWirelessConfigName) if err != nil { return err diff --git a/api/http/handler/handler.go b/api/http/handler/handler.go index aec6d3671..24f1923ca 100644 --- a/api/http/handler/handler.go +++ b/api/http/handler/handler.go @@ -17,7 +17,7 @@ import ( "github.com/portainer/portainer/api/http/handler/endpoints" "github.com/portainer/portainer/api/http/handler/file" "github.com/portainer/portainer/api/http/handler/helm" - "github.com/portainer/portainer/api/http/handler/hostmanagement/intel" + "github.com/portainer/portainer/api/http/handler/hostmanagement/openamt" "github.com/portainer/portainer/api/http/handler/kubernetes" "github.com/portainer/portainer/api/http/handler/ldap" "github.com/portainer/portainer/api/http/handler/motd" @@ -63,7 +63,7 @@ type Handler struct { RoleHandler *roles.Handler SettingsHandler *settings.Handler SSLHandler *ssl.Handler - IntelHandler *intel.Handler + OpenAMTHandler *openamt.Handler StackHandler *stacks.Handler StatusHandler *status.Handler StorybookHandler *storybook.Handler @@ -223,8 +223,8 @@ func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { http.StripPrefix("/api", h.UserHandler).ServeHTTP(w, r) case strings.HasPrefix(r.URL.Path, "/api/ssl"): http.StripPrefix("/api", h.SSLHandler).ServeHTTP(w, r) - case strings.HasPrefix(r.URL.Path, "/api/open-amt"): - http.StripPrefix("/api", h.IntelHandler).ServeHTTP(w, r) + case strings.HasPrefix(r.URL.Path, "/api/open_amt"): + http.StripPrefix("/api", h.OpenAMTHandler).ServeHTTP(w, r) case strings.HasPrefix(r.URL.Path, "/api/teams"): http.StripPrefix("/api", h.TeamHandler).ServeHTTP(w, r) case strings.HasPrefix(r.URL.Path, "/api/team_memberships"): diff --git a/api/http/handler/hostmanagement/intel/handler.go b/api/http/handler/hostmanagement/openamt/handler.go similarity index 83% rename from api/http/handler/hostmanagement/intel/handler.go rename to api/http/handler/hostmanagement/openamt/handler.go index 55d1a6523..748d51ad9 100644 --- a/api/http/handler/hostmanagement/intel/handler.go +++ b/api/http/handler/hostmanagement/openamt/handler.go @@ -1,4 +1,4 @@ -package intel +package openamt import ( "net/http" @@ -10,7 +10,7 @@ import ( "github.com/portainer/portainer/api/http/security" ) -// Handler is the HTTP handler used to handle Intel operations. +// Handler is the HTTP handler used to handle OpenAMT operations. type Handler struct { *mux.Router OpenAMTService portainer.OpenAMTService @@ -30,7 +30,7 @@ func NewHandler(bouncer *security.RequestBouncer, dataStore portainer.DataStore) featureEnabled, _ := settings.FeatureFlagSettings[portainer.FeatOpenAMT] if featureEnabled { - h.Handle("/open-amt", bouncer.AdminAccess(httperror.LoggerHandler(h.openAMTConfigureDefault))).Methods(http.MethodPost) + h.Handle("/open_amt", bouncer.AdminAccess(httperror.LoggerHandler(h.openAMTConfigureDefault))).Methods(http.MethodPost) } return h, nil diff --git a/api/http/handler/hostmanagement/intel/openamt.go b/api/http/handler/hostmanagement/openamt/openamt.go similarity index 97% rename from api/http/handler/hostmanagement/intel/openamt.go rename to api/http/handler/hostmanagement/openamt/openamt.go index 88c3f010b..4bc80b99e 100644 --- a/api/http/handler/hostmanagement/intel/openamt.go +++ b/api/http/handler/hostmanagement/openamt/openamt.go @@ -1,4 +1,4 @@ -package intel +package openamt import ( "encoding/base64" @@ -83,7 +83,7 @@ func (payload *openAMTConfigureDefaultPayload) Validate(r *http.Request) error { // @failure 400 "Invalid request" // @failure 403 "Permission denied to access settings" // @failure 500 "Server error" -// @router /open-amt [post] +// @router /open_amt [post] func (handler *Handler) openAMTConfigureDefault(w http.ResponseWriter, r *http.Request) *httperror.HandlerError { var payload openAMTConfigureDefaultPayload err := request.DecodeAndValidateJSONPayload(r, &payload) @@ -156,13 +156,15 @@ func (handler *Handler) enableOpenAMT(configurationPayload openAMTConfigureDefau CertPassword: configurationPayload.CertPassword, DomainName: configurationPayload.DomainName, }, - WirelessConfiguration: portainer.WirelessConfiguration{ - UseWirelessConfig: configurationPayload.UseWirelessConfig, + } + + if configurationPayload.UseWirelessConfig { + configuration.WirelessConfiguration = &portainer.WirelessConfiguration{ AuthenticationMethod: configurationPayload.WifiAuthenticationMethod, EncryptionMethod: configurationPayload.WifiEncryptionMethod, SSID: configurationPayload.WifiSSID, PskPass: configurationPayload.WifiPskPass, - }, + } } err := handler.OpenAMTService.ConfigureDefault(configuration) diff --git a/api/http/server.go b/api/http/server.go index da42cf250..7a2ab30be 100644 --- a/api/http/server.go +++ b/api/http/server.go @@ -28,7 +28,7 @@ import ( "github.com/portainer/portainer/api/http/handler/endpoints" "github.com/portainer/portainer/api/http/handler/file" "github.com/portainer/portainer/api/http/handler/helm" - "github.com/portainer/portainer/api/http/handler/hostmanagement/intel" + "github.com/portainer/portainer/api/http/handler/hostmanagement/openamt" kubehandler "github.com/portainer/portainer/api/http/handler/kubernetes" "github.com/portainer/portainer/api/http/handler/ldap" "github.com/portainer/portainer/api/http/handler/motd" @@ -205,12 +205,12 @@ func (server *Server) Start() error { var sslHandler = sslhandler.NewHandler(requestBouncer) sslHandler.SSLService = server.SSLService - intelHandler, err := intel.NewHandler(requestBouncer, server.DataStore) + openAMTHandler, err := openamt.NewHandler(requestBouncer, server.DataStore) if err != nil { return err } - intelHandler.OpenAMTService = server.OpenAMTService - intelHandler.DataStore = server.DataStore + openAMTHandler.OpenAMTService = server.OpenAMTService + openAMTHandler.DataStore = server.DataStore var stackHandler = stacks.NewHandler(requestBouncer) stackHandler.DataStore = server.DataStore @@ -277,7 +277,7 @@ func (server *Server) Start() error { HelmTemplatesHandler: helmTemplatesHandler, KubernetesHandler: kubernetesHandler, MOTDHandler: motdHandler, - IntelHandler: intelHandler, + OpenAMTHandler: openAMTHandler, RegistryHandler: registryHandler, ResourceControlHandler: resourceControlHandler, SettingsHandler: settingsHandler, diff --git a/api/portainer.go b/api/portainer.go index 34f216ba3..3bc98698e 100644 --- a/api/portainer.go +++ b/api/portainer.go @@ -42,11 +42,11 @@ type ( // OpenAMTConfiguration represents the credentials and configurations used to connect to an OpenAMT MPS server OpenAMTConfiguration struct { - Enabled bool `json:"Enabled"` - MPSURL string `json:"MPSURL"` - Credentials MPSCredentials `json:"Credentials"` - DomainConfiguration DomainConfiguration `json:"DomainConfiguration"` - WirelessConfiguration WirelessConfiguration `json:"WirelessConfiguration"` + Enabled bool `json:"Enabled"` + MPSURL string `json:"MPSURL"` + Credentials MPSCredentials `json:"Credentials"` + DomainConfiguration DomainConfiguration `json:"DomainConfiguration"` + WirelessConfiguration *WirelessConfiguration `json:"WirelessConfiguration"` } MPSCredentials struct { @@ -62,7 +62,6 @@ type ( } WirelessConfiguration struct { - UseWirelessConfig bool `json:"UseWirelessConfig"` AuthenticationMethod string `json:"AuthenticationMethod"` EncryptionMethod string `json:"EncryptionMethod"` SSID string `json:"SSID"` diff --git a/app/portainer/rest/openAMT.js b/app/portainer/rest/openAMT.js index e46763a5a..7212d0b28 100644 --- a/app/portainer/rest/openAMT.js +++ b/app/portainer/rest/openAMT.js @@ -1,6 +1,6 @@ import angular from 'angular'; -const API_ENDPOINT_OPEN_AMT = 'api/open-amt'; +const API_ENDPOINT_OPEN_AMT = 'api/open_amt'; angular.module('portainer.app').factory('OpenAMT', OpenAMTFactory);