Documentation
¶
Index ¶
- func APITokenIdRoute(w http.ResponseWriter, req *http.Request)
- func APITokenRoute(w http.ResponseWriter, req *http.Request)
- func BackupFileApiGet(w http.ResponseWriter, req *http.Request)
- func ConfigApiDNS(w http.ResponseWriter, req *http.Request)
- func ConfigApiGet(w http.ResponseWriter, req *http.Request)
- func ConfigApiPatch(w http.ResponseWriter, req *http.Request)
- func ConfigApiRestart(w http.ResponseWriter, req *http.Request)
- func ConfigApiSet(w http.ResponseWriter, req *http.Request)
- func ConfigRoute(w http.ResponseWriter, req *http.Request)
- func DashboardApiGet(w http.ResponseWriter, req *http.Request)
- func GenerateAPIToken(name, description, owner string, permissions []utils.Permission) (string, utils.APITokenConfig, error)
- func OpenIDIdRoute(w http.ResponseWriter, req *http.Request)
- func OpenIDRoute(w http.ResponseWriter, req *http.Request)
- func RoutesIdRoute(w http.ResponseWriter, req *http.Request)
- func RoutesRoute(w http.ResponseWriter, req *http.Request)
- type CreateAPITokenRequest
- type DNSConfigRequest
- type DashboardRoute
- type DeleteAPITokenRequest
- type UpdateAPITokenRequest
- type UpdateRouteRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func APITokenIdRoute ¶ added in v0.22.0
func APITokenIdRoute(w http.ResponseWriter, req *http.Request)
func APITokenRoute ¶ added in v0.22.0
func APITokenRoute(w http.ResponseWriter, req *http.Request)
func BackupFileApiGet ¶ added in v0.12.0
func BackupFileApiGet(w http.ResponseWriter, req *http.Request)
BackupFileApiGet godoc @Summary Get backup file @Description Returns the backup cosmos-compose JSON file @Tags config @Produce json @Security BearerAuth @Success 200 {file} binary @Failure 401 {object} utils.HTTPErrorResult @Failure 403 {object} utils.HTTPErrorResult @Failure 405 {object} utils.HTTPErrorResult @Failure 500 {object} utils.HTTPErrorResult @Router /api/get-backup [get]
func ConfigApiDNS ¶ added in v0.21.0
func ConfigApiDNS(w http.ResponseWriter, req *http.Request)
ConfigApiDNS godoc @Summary Update DNS configuration @Description Patches DNS-related settings including port, fallback, blocklists, and custom entries @Tags config @Accept json @Produce json @Security BearerAuth @Param request body DNSConfigRequest true "DNS configuration fields to update" @Success 200 {object} utils.APIResponse @Failure 400 {object} utils.HTTPErrorResult @Failure 401 {object} utils.HTTPErrorResult @Failure 403 {object} utils.HTTPErrorResult @Failure 405 {object} utils.HTTPErrorResult @Router /api/config/dns [patch]
func ConfigApiGet ¶
func ConfigApiGet(w http.ResponseWriter, req *http.Request)
ConfigApiGet godoc @Summary Get server configuration @Description Returns the full server configuration (sensitive fields masked for non-credential users) @Tags config @Produce json @Security BearerAuth @Success 200 {object} utils.APIResponse{data=utils.Config} @Failure 401 {object} utils.HTTPErrorResult @Failure 405 {object} utils.HTTPErrorResult @Router /api/config [get]
func ConfigApiPatch ¶
func ConfigApiPatch(w http.ResponseWriter, req *http.Request)
ConfigApiPatch godoc @Summary Patch route configuration @Description Performs route operations (add, replace, delete, move_up, move_down) on proxy routes @Tags config @Accept json @Produce json @Security BearerAuth @Param request body UpdateRouteRequest true "Route update operation" @Success 200 {object} utils.APIResponse @Failure 400 {object} utils.HTTPErrorResult @Failure 401 {object} utils.HTTPErrorResult @Failure 403 {object} utils.HTTPErrorResult @Failure 404 {object} utils.HTTPErrorResult @Router /api/config [patch]
func ConfigApiRestart ¶
func ConfigApiRestart(w http.ResponseWriter, req *http.Request)
ConfigApiRestart godoc @Summary Restart the server @Description Triggers a graceful server restart @Tags config @Produce json @Security BearerAuth @Success 200 {object} utils.APIResponse @Failure 401 {object} utils.HTTPErrorResult @Failure 403 {object} utils.HTTPErrorResult @Failure 405 {object} utils.HTTPErrorResult @Router /api/restart [get]
func ConfigApiSet ¶
func ConfigApiSet(w http.ResponseWriter, req *http.Request)
ConfigApiSet godoc @Summary Update server configuration @Description Replaces the entire server configuration (masked credential fields are preserved from existing config) @Tags config @Accept json @Produce json @Security BearerAuth @Param request body utils.Config true "Full configuration object" @Success 200 {object} utils.APIResponse @Failure 401 {object} utils.HTTPErrorResult @Failure 403 {object} utils.HTTPErrorResult @Failure 405 {object} utils.HTTPErrorResult @Failure 500 {object} utils.HTTPErrorResult @Router /api/config [put]
func ConfigRoute ¶
func ConfigRoute(w http.ResponseWriter, req *http.Request)
func DashboardApiGet ¶ added in v0.20.0
func DashboardApiGet(w http.ResponseWriter, req *http.Request)
DashboardApiGet godoc @Summary Get dashboard data @Description Returns dashboard route information with container status for SERVAPP routes @Tags config @Produce json @Security BearerAuth @Success 200 {object} utils.APIResponse{data=[]DashboardRoute} @Failure 401 {object} utils.HTTPErrorResult @Failure 403 {object} utils.HTTPErrorResult @Failure 405 {object} utils.HTTPErrorResult @Router /api/dashboard [get]
func GenerateAPIToken ¶ added in v0.22.0
func GenerateAPIToken(name, description, owner string, permissions []utils.Permission) (string, utils.APITokenConfig, error)
GenerateAPIToken creates a new API token with the given parameters and returns the raw token (to be shown once to the caller) and the config to store. The caller is responsible for persisting the config.
func OpenIDIdRoute ¶ added in v0.22.0
func OpenIDIdRoute(w http.ResponseWriter, req *http.Request)
func OpenIDRoute ¶ added in v0.22.0
func OpenIDRoute(w http.ResponseWriter, req *http.Request)
func RoutesIdRoute ¶ added in v0.22.0
func RoutesIdRoute(w http.ResponseWriter, req *http.Request)
func RoutesRoute ¶ added in v0.22.0
func RoutesRoute(w http.ResponseWriter, req *http.Request)
Types ¶
type CreateAPITokenRequest ¶ added in v0.22.0
type CreateAPITokenRequest struct {
Name string `json:"name" validate:"required"`
Description string `json:"description,omitempty"`
ReadOnly bool `json:"readOnly"`
Permissions []utils.Permission `json:"permissions,omitempty"`
IPWhitelist []string `json:"ipWhitelist,omitempty"`
RestrictToConstellation bool `json:"restrictToConstellation"`
ExpiryDays int `json:"expiryDays,omitempty"`
}
type DNSConfigRequest ¶ added in v0.21.0
type DNSConfigRequest struct {
DNSPort string `json:"dnsPort,omitempty"`
DNSFallback string `json:"dnsFallback,omitempty"`
DNSBlockBlacklist *bool `json:"dnsBlockBlacklist,omitempty"`
DNSAdditionalBlocklists []string `json:"dnsAdditionalBlocklists,omitempty"`
CustomDNSEntries []utils.ConstellationDNSEntry `json:"customDNSEntries,omitempty"`
}
type DashboardRoute ¶ added in v0.20.0
type DashboardRoute struct {
Name string `json:"Name"`
Description string `json:"Description,omitempty"`
Target string `json:"Target"`
Mode string `json:"Mode"`
Host string `json:"Host,omitempty"`
UseHost bool `json:"UseHost"`
UsePathPrefix bool `json:"UsePathPrefix"`
PathPrefix string `json:"PathPrefix,omitempty"`
Icon string `json:"Icon,omitempty"`
HideFromDashboard bool `json:"HideFromDashboard"`
// Container info (for SERVAPP routes)
ContainerRunning bool `json:"ContainerRunning"`
ContainerIcon string `json:"ContainerIcon,omitempty"`
}
type DeleteAPITokenRequest ¶ added in v0.22.0
type DeleteAPITokenRequest struct {
Name string `json:"name" validate:"required"`
}
type UpdateAPITokenRequest ¶ added in v0.22.0
type UpdateAPITokenRequest struct {
Description *string `json:"description,omitempty"`
Permissions []utils.Permission `json:"permissions,omitempty"`
IPWhitelist []string `json:"ipWhitelist,omitempty"`
RestrictToConstellation *bool `json:"restrictToConstellation,omitempty"`
}
type UpdateRouteRequest ¶
type UpdateRouteRequest struct {
RouteName string `json:"routeName"`
Operation string `json:"operation" validate:"required"`
NewRoute *utils.ProxyRouteConfig `json:"newRoute,omitempty"`
}