constellation

package
v0.17.0-unstable21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 25, 2024 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ProcessMux            sync.Mutex
	ConstellationInitLock sync.Mutex
)
View Source
var APIKey = ""
View Source
var CachedDeviceNames = map[string]string{}
View Source
var CachedDevices = map[string]utils.ConstellationDevice{}
View Source
var DNSBlacklist = map[string]bool{}
View Source
var DNSStarted = false
View Source
var DeviceName = ""
View Source
var MASTERPWD = utils.GenerateRandomString(24)
View Source
var MASTERUSER = "SERVERUSER"
View Source
var NATSClientTopic = ""
View Source
var NebulaDefaultConfig utils.NebulaConfig
View Source
var NebulaFailedStarting = false
View Source
var NebulaStarted = false

Functions

func API_ConnectToExisting

func API_ConnectToExisting(w http.ResponseWriter, req *http.Request)

func API_GetConfig

func API_GetConfig(w http.ResponseWriter, req *http.Request)

func API_GetLogs

func API_GetLogs(w http.ResponseWriter, req *http.Request)

func API_Ping

func API_Ping(w http.ResponseWriter, req *http.Request)

func API_Reset

func API_Reset(w http.ResponseWriter, req *http.Request)

func API_Restart

func API_Restart(w http.ResponseWriter, req *http.Request)

func CheckConstellationToken

func CheckConstellationToken(req *http.Request) error

TODO: Cache this

func CloseNATSClient

func CloseNATSClient()

func ConstellationAPIDevices

func ConstellationAPIDevices(w http.ResponseWriter, req *http.Request)

func DeviceBlock

func DeviceBlock(w http.ResponseWriter, req *http.Request)

func DeviceCreate

func DeviceCreate(w http.ResponseWriter, req *http.Request)

func DeviceList

func DeviceList(w http.ResponseWriter, req *http.Request)

func ExportConfigToYAML

func ExportConfigToYAML(overwriteConfig utils.ConstellationConfig, outputPath string) error

func GetAllLightHouses

func GetAllLightHouses() ([]utils.ConstellationDevice, error)

func GetBlockedDevices

func GetBlockedDevices() ([]utils.ConstellationDevice, error)

func GetCertFingerprint

func GetCertFingerprint(certPath string) (string, error)

func GetDeviceConfigForSync

func GetDeviceConfigForSync(nickname, deviceName string) ([]byte, error)

func GetDeviceConfigManualSync

func GetDeviceConfigManualSync(w http.ResponseWriter, req *http.Request)

func GetDeviceConfigSync

func GetDeviceConfigSync(w http.ResponseWriter, req *http.Request)

func GetDeviceIp

func GetDeviceIp(device string) string

func GetNATSCredentials

func GetNATSCredentials(isMaster bool) (string, string, error)

func Init

func Init()

func InitConfig

func InitConfig()

func InitDNS

func InitDNS()

func InitNATSClient

func InitNATSClient()

func IsClientConnected

func IsClientConnected() bool

func MakeSyncPayload

func MakeSyncPayload() string

func MasterNATSClientRouter

func MasterNATSClientRouter()

func PingNATSClient

func PingNATSClient() bool

func PublishNATSMessage

func PublishNATSMessage(topic string, payload string) error

func ReceiveSyncPayload

func ReceiveSyncPayload(rawPayload string)

func RequestSyncPayload

func RequestSyncPayload()

func ResetNebula

func ResetNebula() error

func RestartNebula

func RestartNebula()

func SendNATSMessage

func SendNATSMessage(topic string, payload string) (string, error)

func SendSyncPayload

func SendSyncPayload(username string)

func SlaveConfigSync

func SlaveConfigSync(newConfig string) (bool, error)

func SlaveNATSClientRouter

func SlaveNATSClientRouter()

func StartNATS

func StartNATS()

func StopNATS

func StopNATS()

func TriggerClientResync

func TriggerClientResync() error

Types

type DeviceBlockRequestJSON

type DeviceBlockRequestJSON struct {
	Nickname   string `json:"nickname",validate:"required,min=3,max=32,alphanum"`
	DeviceName string `json:"deviceName",validate:"required,min=3,max=32,alphanum"`
	Block      bool   `json:"block",omitempty`
}

type DeviceCreateRequestJSON

type DeviceCreateRequestJSON struct {
	DeviceName string `json:"deviceName",validate:"required,min=3,max=32,alphanum"`
	IP         string `json:"ip",validate:"required,ipv4"`
	PublicKey  string `json:"publicKey",omitempty`

	// for devices only
	Nickname string `json:"nickname",validate:"max=32,alphanum",omitempty`

	// for lighthouse only
	IsLighthouse   bool   `json:"isLighthouse",omitempty`
	IsRelay        bool   `json:"isRelay",omitempty`
	PublicHostname string `json:"PublicHostname",omitempty`
	Port           string `json:"port",omitempty`
}

type DeviceResyncRequest

type DeviceResyncRequest struct {
	Nickname   string `json:"nickname",validate:"required,min=3,max=32,alphanum"`
	DeviceName string `json:"deviceName",validate:"required,min=3,max=32,alphanum"`
}

type SyncPayload

type SyncPayload struct {
	Database       string `json:"database"`
	AuthPrivateKey string `json:"authPrivateKey"`
	AuthPublicKey  string `json:"authPublicKey"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL