fms

package
v0.0.12 Latest Latest
Warning

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

Go to latest
Published: May 2, 2024 License: ISC Imports: 13 Imported by: 0

Documentation

Overview

Package fms encapsulates all the various parts of the Field Managent System, its associated configuration logic, and the APIs that talk to other systems.

Index

Constants

View Source
const (
	// AutomationUser is created on remote systems to allow the
	// FMS to manage them programattically.
	AutomationUser = "gizmo-fms"

	// ViewOnlyUser is created on remote systems to enable
	// debugging and generally make it possible to get into
	// systems.
	ViewOnlyUser = "gizmo-ro"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// Teams contains the information needed to generate
	// configuration for all teams.
	Teams map[int]*Team

	// Fields contains a list of fields that are configured and
	// managed by the system.
	Fields map[int]*Field

	// FMSMac is the mac address of the FMS itself so that it can
	// have a pinned address
	FMSMac string

	AutoUser string
	AutoPass string
	ViewUser string
	ViewPass string

	InfrastructureVisible bool
	InfrastructureSSID    string
	InfrastructurePSK     string

	AdvancedBGPAS   int
	AdvancedBGPIP   string
	AdvancedBGPVLAN int
}

Config contains all the data that's necessary to setup the FMS and manage the network behind it.

func LoadConfig

func LoadConfig(path string) (*Config, error)

LoadConfig reads config off disk.

func WizardSurvey

func WizardSurvey() (*Config, error)

WizardSurvey runs a step by step config workflow to gather all the information required to generate the software configuration for the FMS.

type Field

type Field struct {
	ID  int
	IP  string
	MAC string
}

Field contains the information related to each field.

type Team

type Team struct {
	Name string
	SSID string
	PSK  string
	VLAN int
	CIDR string
}

Team maintains information about a team from the perspective of the FMS

Jump to

Keyboard shortcuts

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