adalovelace

package
v0.0.0-...-c90ea57 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2023 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckVersions

func CheckVersions(versions []Version) error

Types

type API

type API struct {
	LBType    string `json:"lbType"`
	PrivateIP string `json:"privateIp"`
	PublicIP  string `json:"publicIp"`
}

type AnsibleInventory

type AnsibleInventory map[string]AnsibleInventoryUnit

type AnsibleInventoryHost

type AnsibleInventoryHost struct {
	Name  string   `json:"name"`
	Node  Node     `json:"node"`
	Disks []string `json:"node_disks"`
	PVS   []string `json:"node_pvs"`
}

type AnsibleInventoryUnit

type AnsibleInventoryUnit struct {
	Hosts    map[string]AnsibleInventoryHost `json:"hosts,omitempty"`
	Children AnsibleInventory                `json:"children,omitempty"`
	Vars     map[string]interface{}          `json:"vars,omitempty"`
}

type Config

type Config struct {
	Name     string          `json:"name"`
	SSHKeys  []string        `json:"sshKeys"`
	Location string          `json:"location"`
	Network  Network         `json:"network"`
	API      API             `json:"api"`
	Ingress  Ingress         `json:"ingress"`
	Firewall Firewall        `json:"firewall"`
	Nodes    map[string]Node `json:"nodes"`
	Services Services        `json:"services"`
}

func (*Config) GrafanaPassword

func (c *Config) GrafanaPassword() string

func (*Config) SetDefaults

func (c *Config) SetDefaults()

type Firewall

type Firewall struct {
	Allow map[string]FirewallRule `json:"allow"`
}

type FirewallRule

type FirewallRule struct {
	Port  int    `json:"port"`
	Proto string `json:"proto"`
}

type Ingress

type Ingress struct {
	LBType    string         `json:"lbType"`
	PrivateIP string         `json:"privateIp"`
	PublicIP  string         `json:"publicIp"`
	Ports     map[int]string `json:"ports"`
}

type Network

type Network struct {
	ID        string `json:"id"`
	Zone      string `json:"zone"`
	CIDR      string `json:"cidr"`
	CloudCIDR string `json:"cloudCidr"`
	PhysCIDR  string `json:"physCidr"`
	VSwitchID int    `json:"vSwitchId"`
}

type Node

type Node struct {
	Type        string            `json:"type"`
	Role        string            `json:"role"`
	ServerType  string            `json:"serverType"`
	PrivateIP   string            `json:"privateIp"`
	PublicIP    string            `json:"publicIp"`
	Ingress     bool              `json:"ingress"`
	IngressOnly bool              `json:"ingressOnly"`
	Backups     bool              `json:"backups"`
	Volumes     map[string]Volume `json:"volumes"`
}

type PrometheusStack

type PrometheusStack struct {
	ServiceBase
	GrafanaHost string `json:"grafanaHost"`
}

type Provisioner

type Provisioner struct {
	Config
	ConfigPath string
	DryRun     bool
}

func New

func New(configPath string, dryRun bool) Provisioner

func (Provisioner) ApplyStage

func (p Provisioner) ApplyStage(name string) error

func (*Provisioner) BootstrapStage

func (p *Provisioner) BootstrapStage() error

func (Provisioner) CheckRequirements

func (p Provisioner) CheckRequirements() error

func (*Provisioner) InstallStage

func (p *Provisioner) InstallStage() error

func (Provisioner) ListStages

func (p Provisioner) ListStages() []string

func (Provisioner) PrintSSHConfig

func (p Provisioner) PrintSSHConfig() error

func (*Provisioner) ProvisionStage

func (p *Provisioner) ProvisionStage() error

func (*Provisioner) SetupStage

func (p *Provisioner) SetupStage() error

type ServiceBase

type ServiceBase struct {
	Skip    bool   `json:"skip"`
	Version string `json:"version"`
}

type Services

type Services struct {
	CertManager     ServiceBase     `json:"certManager"`
	NginxIngress    ServiceBase     `json:"nginxIngress"`
	PrometheusStack PrometheusStack `json:"prometheusStack"`
	LVMLocalPV      ServiceBase     `json:"lvmLocalPv"`
}

type Version

type Version struct {
	Command    string
	Args       []string
	Regex      string
	Constraint string
}

type Volume

type Volume struct {
	Size   int    `json:"size"`
	VG     bool   `json:"vg"`
	Device string `json:"device"`
}

Jump to

Keyboard shortcuts

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