Documentation
¶
Index ¶
- Constants
- func HashPassword(password string) (string, error)
- type Container
- type DaemonDB
- func (db *DaemonDB) AddNetConfig(network string, container string, config []byte, cniResult []byte, ...) error
- func (db *DaemonDB) Close()
- func (db *DaemonDB) CreateContainer(containerName string, image string, state dto.ContainerStatus) (Container, error)
- func (db *DaemonDB) CreateLease(ttl int64) (clientv3.LeaseID, error)
- func (db *DaemonDB) CreateUser(username string, password string, role int32) error
- func (db *DaemonDB) DeleteAllNetConfigs(container string) error
- func (db *DaemonDB) DeleteContainer(containerName string) error
- func (db *DaemonDB) DeleteDNSRecord(key string) error
- func (db *DaemonDB) DeleteHealthStatus(hostname string) error
- func (db *DaemonDB) DeleteSubnetOffset(network string) error
- func (db *DaemonDB) GetAllContainers() ([]Container, error)
- func (db *DaemonDB) GetAllHealthStatuses() ([]HealthStatus, error)
- func (db *DaemonDB) GetContainer(containerName string) (Container, error)
- func (db *DaemonDB) GetDNSRecord(key string) (string, error)
- func (db *DaemonDB) GetHealthStatus(hostname string) (HealthStatus, error)
- func (db *DaemonDB) GetNetConfigs(container string) ([]NetConfig, error)
- func (db *DaemonDB) GetNetworkContainerCount(network string) (int, error)
- func (db *DaemonDB) GetVerifiedUser(username string, password string) (int32, error)
- func (db *DaemonDB) IsHostIfaceUsedExceptForContainer(hostIface string, container string) (bool, error)
- func (db *DaemonDB) KeepAlive(leaseID clientv3.LeaseID) (<-chan *clientv3.LeaseKeepAliveResponse, error)
- func (db *DaemonDB) NewOrRetrieveSubnetOffset(network string) (int32, error)
- func (db *DaemonDB) OptimisticUpdate(key string, updateFn func(currentValue []byte) ([]byte, error)) error
- func (db *DaemonDB) PublishHealthStatus(hostname string, leaseId clientv3.LeaseID, status string, ...) error
- func (db *DaemonDB) PurgeDB() error
- func (db *DaemonDB) PutWithLease(key, value string, leaseID clientv3.LeaseID) error
- func (db *DaemonDB) ReleaseSubnet(network string) error
- func (db *DaemonDB) SetDNSRecord(key, ip string) error
- func (db *DaemonDB) UpdateContainerImage(containerName string, image string) (string, error)
- type DeploymentValue
- type EtcdDeploymentsRepository
- func (r *EtcdDeploymentsRepository) Create(loadName string, driver common.LoadDriver, status common.DeploymentStatus, ...) (common.DeploymentID, error)
- func (r *EtcdDeploymentsRepository) DeleteByLoad(loadName string) error
- func (r *EtcdDeploymentsRepository) DeleteDeployment(deploymentID uuid.UUID) error
- func (r *EtcdDeploymentsRepository) GetAll() ([]common.Deployment, error)
- func (r *EtcdDeploymentsRepository) GetByLoad(loadName string) ([]common.Deployment, error)
- func (r *EtcdDeploymentsRepository) GetByLoadAndStatus(loadName string, statusCode common.DeploymentStatusCode) ([]common.Deployment, error)
- func (r *EtcdDeploymentsRepository) GetDeployment(deploymentID common.DeploymentID) (*common.Deployment, error)
- func (r *EtcdDeploymentsRepository) UpdateMetadata(deploymentID common.DeploymentID, updateFn func(metadataPtr any) error) error
- func (r *EtcdDeploymentsRepository) UpdateStatus(deploymentID common.DeploymentID, status common.DeploymentStatus) error
- type EtcdNodesRepository
- func (r *EtcdNodesRepository) DeleteGuestNode(guestNodeName string, guestDriver common.NodeDriver, metadata any) error
- func (r *EtcdNodesRepository) DeleteSelf() error
- func (r *EtcdNodesRepository) GetAllGuestNodes() ([]common.NodeEntry, error)
- func (r *EtcdNodesRepository) GetByDaemonId(daemonId string) (common.NodeEntry, error)
- func (r *EtcdNodesRepository) GetGuestNode(guestNodeName string) (common.NodeEntry, error)
- func (r *EtcdNodesRepository) GetSelf() (common.NodeEntry, error)
- func (r *EtcdNodesRepository) SetGuestNode(guestNodeName string, guestDriver common.NodeDriver, ...) error
- func (r *EtcdNodesRepository) SetSelf(nodeName string, driver common.NodeDriver, cloudInit *cloudinit.CloudInit, ...) error
- func (r *EtcdNodesRepository) UpdateGuestMetadata(guestNodeName string, updateFn func(metadataPtr any) error) error
- func (r *EtcdNodesRepository) UpdateSelfMetadata(updateFn func(metadataPtr any) error) error
- type HealthStatus
- type NetConfig
- type NetworkConfig
- type NodeValue
- type User
Constants ¶
View Source
const ETCD_TIMEOUT = 5 * time.Second
Variables ¶
This section is empty.
Functions ¶
func HashPassword ¶
Types ¶
type DaemonDB ¶
type DaemonDB struct {
DeploymentsRepository common.DeploymentsRepository
NodesRepository common.NodesRepository
// contains filtered or unexported fields
}
func (*DaemonDB) AddNetConfig ¶
func (db *DaemonDB) AddNetConfig(network string, container string, config []byte, cniResult []byte, guest_ifname string, host_ifname string) error
We store guest and host ifnames because we are storing only bridge configs
func (*DaemonDB) CreateContainer ¶
func (*DaemonDB) CreateUser ¶
func (*DaemonDB) DeleteAllNetConfigs ¶
Delete all network configs for a container
func (*DaemonDB) DeleteContainer ¶
func (*DaemonDB) DeleteDNSRecord ¶
func (*DaemonDB) DeleteHealthStatus ¶
func (*DaemonDB) DeleteSubnetOffset ¶
DeleteSubnetOffset removes the subnet assignment for a network
func (*DaemonDB) GetAllContainers ¶
func (*DaemonDB) GetAllHealthStatuses ¶
func (db *DaemonDB) GetAllHealthStatuses() ([]HealthStatus, error)
func (*DaemonDB) GetContainer ¶
func (*DaemonDB) GetHealthStatus ¶
func (db *DaemonDB) GetHealthStatus(hostname string) (HealthStatus, error)
func (*DaemonDB) GetNetConfigs ¶
func (*DaemonDB) GetNetworkContainerCount ¶
GetNetworkContainerCount returns the number of containers using a network
func (*DaemonDB) GetVerifiedUser ¶
func (*DaemonDB) IsHostIfaceUsedExceptForContainer ¶
func (*DaemonDB) NewOrRetrieveSubnetOffset ¶
func (*DaemonDB) OptimisticUpdate ¶
func (db *DaemonDB) OptimisticUpdate(key string, updateFn func(currentValue []byte) ([]byte, error)) error
OptimisticUpdate performs an optimistic lock update on a key. The updateFn receives the current value and should return the updated value. Returns an error if the key doesn't exist or if there's an etcd error.
func (*DaemonDB) PublishHealthStatus ¶
func (*DaemonDB) PutWithLease ¶
func (*DaemonDB) ReleaseSubnet ¶
ReleaseSubnet releases the subnet assignment for a network
func (*DaemonDB) SetDNSRecord ¶
type DeploymentValue ¶
type DeploymentValue struct {
ID common.DeploymentID `json:"id"`
LoadName string `json:"load_name"`
LoadDriverConfig common.LoadDriverConfig `json:"load_driver_config"`
Status common.DeploymentStatus `json:"status"`
Metadata any `json:"metadata"`
}
type EtcdDeploymentsRepository ¶
type EtcdDeploymentsRepository struct {
// contains filtered or unexported fields
}
func (*EtcdDeploymentsRepository) Create ¶
func (r *EtcdDeploymentsRepository) Create(loadName string, driver common.LoadDriver, status common.DeploymentStatus, metadata any) (common.DeploymentID, error)
func (*EtcdDeploymentsRepository) DeleteByLoad ¶
func (r *EtcdDeploymentsRepository) DeleteByLoad(loadName string) error
func (*EtcdDeploymentsRepository) DeleteDeployment ¶
func (r *EtcdDeploymentsRepository) DeleteDeployment(deploymentID uuid.UUID) error
func (*EtcdDeploymentsRepository) GetAll ¶
func (r *EtcdDeploymentsRepository) GetAll() ([]common.Deployment, error)
func (*EtcdDeploymentsRepository) GetByLoad ¶
func (r *EtcdDeploymentsRepository) GetByLoad(loadName string) ([]common.Deployment, error)
func (*EtcdDeploymentsRepository) GetByLoadAndStatus ¶
func (r *EtcdDeploymentsRepository) GetByLoadAndStatus(loadName string, statusCode common.DeploymentStatusCode) ([]common.Deployment, error)
func (*EtcdDeploymentsRepository) GetDeployment ¶
func (r *EtcdDeploymentsRepository) GetDeployment(deploymentID common.DeploymentID) (*common.Deployment, error)
func (*EtcdDeploymentsRepository) UpdateMetadata ¶
func (r *EtcdDeploymentsRepository) UpdateMetadata(deploymentID common.DeploymentID, updateFn func(metadataPtr any) error) error
func (*EtcdDeploymentsRepository) UpdateStatus ¶
func (r *EtcdDeploymentsRepository) UpdateStatus(deploymentID common.DeploymentID, status common.DeploymentStatus) error
type EtcdNodesRepository ¶
type EtcdNodesRepository struct {
// contains filtered or unexported fields
}
func (*EtcdNodesRepository) DeleteGuestNode ¶ added in v0.1.2
func (r *EtcdNodesRepository) DeleteGuestNode(guestNodeName string, guestDriver common.NodeDriver, metadata any) error
func (*EtcdNodesRepository) DeleteSelf ¶ added in v0.1.2
func (r *EtcdNodesRepository) DeleteSelf() error
func (*EtcdNodesRepository) GetAllGuestNodes ¶ added in v0.1.8
func (r *EtcdNodesRepository) GetAllGuestNodes() ([]common.NodeEntry, error)
func (*EtcdNodesRepository) GetByDaemonId ¶
func (r *EtcdNodesRepository) GetByDaemonId(daemonId string) (common.NodeEntry, error)
func (*EtcdNodesRepository) GetGuestNode ¶ added in v0.1.2
func (r *EtcdNodesRepository) GetGuestNode(guestNodeName string) (common.NodeEntry, error)
func (*EtcdNodesRepository) GetSelf ¶
func (r *EtcdNodesRepository) GetSelf() (common.NodeEntry, error)
func (*EtcdNodesRepository) SetGuestNode ¶ added in v0.1.2
func (r *EtcdNodesRepository) SetGuestNode(guestNodeName string, guestDriver common.NodeDriver, cloudInit *cloudinit.CloudInit, metadata any) error
func (*EtcdNodesRepository) SetSelf ¶ added in v0.1.2
func (r *EtcdNodesRepository) SetSelf(nodeName string, driver common.NodeDriver, cloudInit *cloudinit.CloudInit, metadata any) error
func (*EtcdNodesRepository) UpdateGuestMetadata ¶ added in v0.1.8
func (r *EtcdNodesRepository) UpdateGuestMetadata(guestNodeName string, updateFn func(metadataPtr any) error) error
func (*EtcdNodesRepository) UpdateSelfMetadata ¶ added in v0.1.8
func (r *EtcdNodesRepository) UpdateSelfMetadata(updateFn func(metadataPtr any) error) error
type HealthStatus ¶
type NetConfig ¶
type NetConfig struct {
Network string `json:"network"`
Config string `json:"config"`
CniResult string `json:"cni_result"`
GuestIfaceName string `json:"guest_ifname"`
HostIfaceName string `json:"host_ifname"`
}
TODO replace usage with NetworkConfig type if possible
type NetworkConfig ¶
Click to show internal directories.
Click to hide internal directories.