jamestypes

package
v0.0.0-...-09329a8 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2024 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BareTokenCredential

type BareTokenCredential string

type ClusterConfig

type ClusterConfig struct {
	ID                   string  `json:"id"`
	SwarmManagerName     string  `json:"swarm_manager_name"`
	SwarmJoinTokenWorker string  `json:"swarm_jointoken_worker"`
	PortainerEndpointId  string  `json:"portainer_endpoint_id"`
	Nodes                []*Node `json:"nodes"`
}

type Credentials

type Credentials struct {
	AWS          *UsernamePasswordCredentials `json:"aws"`
	Cloudflare   *UsernamePasswordCredentials `json:"cloudflare"`
	DigitalOcean *BareTokenCredential         `json:"digitalocean"`
	Hetzner      *BareTokenCredential         `json:"hetzner"`
	WhoisXmlApi  *BareTokenCredential         `json:"whoisxmlapi"`
	Portainer    *UsernamePasswordCredentials `json:"portainer"`
	PortainerTok *BareTokenCredential         `json:"portainer_shortlived_bearertoken"`
}

type Jamesfile

type Jamesfile struct {
	Domain                           string                    `json:"domain"`
	PortainerBaseUrl                 string                    `json:"portainer_baseurl"`
	Clusters                         map[string]*ClusterConfig `json:"clusters"`
	AlertManagerEndpoint             string                    `json:"AlertManagerEndpoint"`
	InfrastructureAsCodeImageVersion string                    `json:"InfrastructureAsCodeImageVersion"`
	DockerSockProxyServerCertKey     string                    `json:"DockerSockProxyServerCertKey"`
	DockerSockProxyVersion           string                    `json:"DockerSockProxyVersion"`
	CanaryEndpoint                   string                    `json:"canary_endpoint"`
	Domains                          []domainwhois.Data        `json:"domains"`
	Credentials                      Credentials               `json:"credentials"`
}

type JamesfileCtx

type JamesfileCtx struct {
	File      Jamesfile
	ClusterID string
	Cluster   *ClusterConfig
}

type Node

type Node struct {
	Name     string     `json:"Name"`
	Addr     string     `json:"Addr"`
	Username string     `json:"Username"`
	Specs    *NodeSpecs `json:"specs"` // fetched on bootstrap
}

type NodeSpecs

type NodeSpecs struct {
	KernelVersion string  `json:"kernel_version"`
	OsRelease     string  `json:"os_release"`
	DockerVersion string  `json:"docker_version"`
	RamGb         float64 `json:"ram_gb"`
	DiskGb        float64 `json:"disk_gb"`
}

type UsernamePasswordCredentials

type UsernamePasswordCredentials struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

Jump to

Keyboard shortcuts

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