podman

package
v0.0.0-...-6b10bcf Latest Latest
Warning

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

Go to latest
Published: May 2, 2024 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SkupperServicesLockfile = "skupper-services.json.lock"
	SkupperServicesFilename = "skupper-services.json"
)
View Source
const (
	NetworkStatusFile = "skupper-network-status.json"
)
View Source
const (
	SharedTlsCertificates = "skupper-router-certs"
)

Variables

View Source
var (
	Username                = utils.ReadUsername()
	SkupperContainerVolumes = []string{
		"skupper-services",
		"skupper-local-server",
		"skupper-internal",
		"skupper-site-server",
		SharedTlsCertificates,
		types.ConsoleServerSecret,
		types.ConsoleUsersSecret,
		types.NetworkStatusConfigMapName,
		"prometheus-server-config",
		"prometheus-storage-volume",
	}
)
View Source
var (
	NetworkStatusVolume       = types.NetworkStatusConfigMapName
	NetworkStatusMountPoint   = "/etc/skupper-network-status"
	NetworkStatusFileInternal = func() string { return NetworkStatusMountPoint + "/" + NetworkStatusFile }
)
View Source
var (
	ConfigFile = path.Join(config.GetDataHome(), "podman.yaml")
)
View Source
var (
	ServiceInterfaceMount = "/etc/skupper-services"
)

Functions

func NewPodmanConfigFileHandler

func NewPodmanConfigFileHandler() *configFileHandler

func NewSiteHandler

func NewSiteHandler(endpoint string) (domain.SiteHandler, error)

func OwnedBySkupper

func OwnedBySkupper(resource string, labels map[string]string) error

Types

type Config

type Config struct {
	Endpoint string `yaml:"endpoint"`
}

type ContainerImagesTask

type ContainerImagesTask struct {
	// contains filtered or unexported fields
}

func (*ContainerImagesTask) AppliesTo

func (u *ContainerImagesTask) AppliesTo(siteVersion string) bool

func (*ContainerImagesTask) Info

func (u *ContainerImagesTask) Info() string

func (*ContainerImagesTask) Priority

func (*ContainerImagesTask) Run

func (*ContainerImagesTask) Version

func (u *ContainerImagesTask) Version() string

type CredentialHandler

type CredentialHandler struct {
	// contains filtered or unexported fields
}

func NewPodmanCredentialHandler

func NewPodmanCredentialHandler(cli *podman.PodmanRestClient) *CredentialHandler

func (*CredentialHandler) DeleteCertAuthority

func (p *CredentialHandler) DeleteCertAuthority(id string) error

func (*CredentialHandler) DeleteCredential

func (p *CredentialHandler) DeleteCredential(id string) error

func (*CredentialHandler) GetCredential

func (p *CredentialHandler) GetCredential(id string) (*types.Credential, error)

func (*CredentialHandler) GetSecret

func (p *CredentialHandler) GetSecret(name string) (*corev1.Secret, error)

func (*CredentialHandler) ListCertAuthorities

func (p *CredentialHandler) ListCertAuthorities() ([]types.CertAuthority, error)

func (*CredentialHandler) ListCredentials

func (p *CredentialHandler) ListCredentials() ([]types.Credential, error)

func (*CredentialHandler) LoadVolumeAsSecret

func (p *CredentialHandler) LoadVolumeAsSecret(vol *container.Volume) (*corev1.Secret, error)

func (*CredentialHandler) NewCertAuthority

func (p *CredentialHandler) NewCertAuthority(ca types.CertAuthority) (*corev1.Secret, error)

func (*CredentialHandler) NewCredential

func (p *CredentialHandler) NewCredential(cred types.Credential) (*corev1.Secret, error)

func (*CredentialHandler) SaveSecretAsVolume

func (p *CredentialHandler) SaveSecretAsVolume(secret *corev1.Secret, kind string) (*container.Volume, error)

type LinkHandler

type LinkHandler struct {
	// contains filtered or unexported fields
}

func NewLinkHandlerPodman

func NewLinkHandlerPodman(site *Site, cli *podman.PodmanRestClient) *LinkHandler

func (*LinkHandler) Create

func (l *LinkHandler) Create(secret *corev1.Secret, name string, cost int) error

func (*LinkHandler) Delete

func (l *LinkHandler) Delete(name string) error

func (*LinkHandler) Detail

func (l *LinkHandler) Detail(link types.LinkStatus) (map[string]string, error)
func (l *LinkHandler) IsValidLink(name string) error

func (*LinkHandler) List

func (l *LinkHandler) List() ([]*corev1.Secret, error)

func (*LinkHandler) NetworkStatusHandler

func (l *LinkHandler) NetworkStatusHandler() *NetworkStatusHandler
func (l *LinkHandler) RemoteLinks(ctx context.Context) ([]*network.RemoteLinkInfo, error)

func (*LinkHandler) Status

func (l *LinkHandler) Status(name string) (types.LinkStatus, error)

func (*LinkHandler) StatusAll

func (l *LinkHandler) StatusAll() ([]types.LinkStatus, error)

type NetworkStatusHandler

type NetworkStatusHandler struct {
	// contains filtered or unexported fields
}

func (*NetworkStatusHandler) Get

func (*NetworkStatusHandler) Update

func (n *NetworkStatusHandler) Update(networkStatusJson string) error

func (*NetworkStatusHandler) WithClient

type RouterConfigHandler

type RouterConfigHandler struct {
	// contains filtered or unexported fields
}

func NewRouterConfigHandlerPodman

func NewRouterConfigHandlerPodman(cli *podman.PodmanRestClient) *RouterConfigHandler

func (*RouterConfigHandler) GetRouterConfig

func (r *RouterConfigHandler) GetRouterConfig() (*qdr.RouterConfig, error)

func (*RouterConfigHandler) RemoveRouterConfig

func (r *RouterConfigHandler) RemoveRouterConfig() error

func (*RouterConfigHandler) SaveRouterConfig

func (r *RouterConfigHandler) SaveRouterConfig(config *qdr.RouterConfig) error

type RouterEntityManager

type RouterEntityManager struct {
	// contains filtered or unexported fields
}

func NewRouterEntityManagerPodman

func NewRouterEntityManagerPodman(cli *podman.PodmanRestClient) *RouterEntityManager

func NewRouterEntityManagerPodmanFor

func NewRouterEntityManagerPodmanFor(cli *podman.PodmanRestClient, container string) *RouterEntityManager

func (*RouterEntityManager) CreateConnector

func (r *RouterEntityManager) CreateConnector(connector qdr.Connector) error

func (*RouterEntityManager) CreateHttpConnector

func (r *RouterEntityManager) CreateHttpConnector(httpConnector qdr.HttpEndpoint) error

func (*RouterEntityManager) CreateSslProfile

func (r *RouterEntityManager) CreateSslProfile(sslProfile qdr.SslProfile) error

func (*RouterEntityManager) CreateTcpConnector

func (r *RouterEntityManager) CreateTcpConnector(tcpConnector qdr.TcpEndpoint) error

func (*RouterEntityManager) DeleteConnector

func (r *RouterEntityManager) DeleteConnector(name string) error

func (*RouterEntityManager) DeleteHttpConnector

func (r *RouterEntityManager) DeleteHttpConnector(name string) error

func (*RouterEntityManager) DeleteSslProfile

func (r *RouterEntityManager) DeleteSslProfile(name string) error

func (*RouterEntityManager) DeleteTcpConnector

func (r *RouterEntityManager) DeleteTcpConnector(name string) error

func (*RouterEntityManager) QueryAllRouters

func (r *RouterEntityManager) QueryAllRouters() ([]qdr.Router, error)

func (*RouterEntityManager) QueryConnections

func (r *RouterEntityManager) QueryConnections(routerId string, edge bool) ([]qdr.Connection, error)

func (*RouterEntityManager) QueryEdgeRouters

func (r *RouterEntityManager) QueryEdgeRouters() ([]qdr.Router, error)

func (*RouterEntityManager) QueryRouterNodes

func (r *RouterEntityManager) QueryRouterNodes() ([]qdr.RouterNode, error)

type Service

type Service struct {
	*domain.ServiceCommon
	ContainerName string
}

func (*Service) AsServiceInterface

func (s *Service) AsServiceInterface() *types.ServiceInterface

func (*Service) ContainerPorts

func (s *Service) ContainerPorts() []container.Port

func (*Service) GetContainerName

func (s *Service) GetContainerName() string

type ServiceHandler

type ServiceHandler struct {
	// contains filtered or unexported fields
}

func NewServiceHandlerPodman

func NewServiceHandlerPodman(cli *podman.PodmanRestClient) *ServiceHandler

func (*ServiceHandler) AddEgressResolver

func (s *ServiceHandler) AddEgressResolver(address string, egressResolver domain.EgressResolver) error

func (*ServiceHandler) Create

func (s *ServiceHandler) Create(service domain.Service) error

func (*ServiceHandler) Delete

func (s *ServiceHandler) Delete(address string) error

func (*ServiceHandler) Get

func (s *ServiceHandler) Get(address string) (domain.Service, error)

func (*ServiceHandler) GetServiceRouterConfig

func (s *ServiceHandler) GetServiceRouterConfig(address string) (*qdr.RouterConfig, error)

func (*ServiceHandler) List

func (s *ServiceHandler) List() ([]domain.Service, error)

func (*ServiceHandler) RemoveAllEgressResolvers

func (s *ServiceHandler) RemoveAllEgressResolvers(address string) error

func (*ServiceHandler) RemoveEgressResolver

func (s *ServiceHandler) RemoveEgressResolver(address string, egressResolver domain.EgressResolver) error

func (*ServiceHandler) SaveServiceRouterConfig

func (s *ServiceHandler) SaveServiceRouterConfig(address string, config *qdr.RouterConfig) error

type ServiceInterfaceHandler

type ServiceInterfaceHandler struct {
	// contains filtered or unexported fields
}

func NewServiceInterfaceHandlerPodman

func NewServiceInterfaceHandlerPodman(cli *podman.PodmanRestClient) *ServiceInterfaceHandler

func (*ServiceInterfaceHandler) Create

func (*ServiceInterfaceHandler) Delete

func (s *ServiceInterfaceHandler) Delete(address string) error

func (*ServiceInterfaceHandler) Get

func (*ServiceInterfaceHandler) List

func (*ServiceInterfaceHandler) ToServicePodman

func (s *ServiceInterfaceHandler) ToServicePodman(svcIface *types.ServiceInterface, newService bool) (*Service, error)

func (*ServiceInterfaceHandler) Update

type Site

type Site struct {
	*domain.SiteCommon
	IngressHosts                 []string
	IngressBindIPs               []string
	IngressBindInterRouterPort   int
	IngressBindEdgePort          int
	IngressBindFlowCollectorPort int
	ContainerNetwork             string
	EnableIPV6                   bool
	PodmanEndpoint               string
	EnableFlowCollector          bool
	EnableConsole                bool
	AuthMode                     string
	ConsoleUser                  string
	ConsolePassword              string
	RouterOpts                   types.RouterOptions
	PrometheusOpts               types.PrometheusServerOptions
	ControllerOpts               types.ControllerOptions
	FlowCollectorOpts            types.FlowCollectorOptions
}

func (*Site) GetConsoleUrl

func (s *Site) GetConsoleUrl() string

func (*Site) GetIngressClasses

func (s *Site) GetIngressClasses() []string

func (*Site) GetPlatform

func (s *Site) GetPlatform() string

func (*Site) ValidateTuningOpts

func (s *Site) ValidateTuningOpts() error

type SiteHandler

type SiteHandler struct {
	// contains filtered or unexported fields
}

func NewSitePodmanHandler

func NewSitePodmanHandler(endpoint string) (*SiteHandler, error)

func NewSitePodmanHandlerFromCli

func NewSitePodmanHandlerFromCli(cli *podman.PodmanRestClient) *SiteHandler

func (*SiteHandler) AnyResourceLeft

func (s *SiteHandler) AnyResourceLeft() bool

func (*SiteHandler) ConfigurePodmanDeployments

func (s *SiteHandler) ConfigurePodmanDeployments(site *Site)

func (*SiteHandler) Create

func (s *SiteHandler) Create(ctx context.Context, site domain.Site) error

func (*SiteHandler) Delete

func (s *SiteHandler) Delete() error

func (*SiteHandler) Get

func (s *SiteHandler) Get() (domain.Site, error)

func (*SiteHandler) NetworkStatusHandler

func (s *SiteHandler) NetworkStatusHandler() *NetworkStatusHandler

func (*SiteHandler) RevokeAccess

func (s *SiteHandler) RevokeAccess() error

func (*SiteHandler) SetUpdateProcessor

func (s *SiteHandler) SetUpdateProcessor(up *domain.UpdateProcessor)

func (*SiteHandler) Update

func (s *SiteHandler) Update() error

type SiteHandlerFactory

type SiteHandlerFactory func(endpoint string) (domain.SiteHandler, error)

type SiteIngressHost

type SiteIngressHost struct {
	*domain.SiteIngressCommon
}

type SkupperComponentHandler

type SkupperComponentHandler struct {
	// contains filtered or unexported fields
}

func NewSkupperComponentHandlerPodman

func NewSkupperComponentHandlerPodman(cli *podman.PodmanRestClient) *SkupperComponentHandler

func (*SkupperComponentHandler) Get

func (*SkupperComponentHandler) List

type SkupperDeployment

type SkupperDeployment struct {
	*domain.SkupperDeploymentCommon
	Name           string
	Aliases        []string
	VolumeMounts   map[string]string
	Networks       []string
	SELinuxDisable bool
}

func (*SkupperDeployment) GetName

func (s *SkupperDeployment) GetName() string

type SkupperDeploymentHandler

type SkupperDeploymentHandler struct {
	// contains filtered or unexported fields
}

func NewSkupperDeploymentHandlerPodman

func NewSkupperDeploymentHandlerPodman(cli *podman.PodmanRestClient) *SkupperDeploymentHandler

func (*SkupperDeploymentHandler) Deploy

Deploy deploys each component as a container

func (*SkupperDeploymentHandler) List

func (*SkupperDeploymentHandler) Undeploy

func (s *SkupperDeploymentHandler) Undeploy(name string) error

type SkupperNetworkStatusVolume

type SkupperNetworkStatusVolume struct {
	// contains filtered or unexported fields
}

func (*SkupperNetworkStatusVolume) AppliesTo

func (m *SkupperNetworkStatusVolume) AppliesTo(siteVersion string) bool

func (*SkupperNetworkStatusVolume) Info

func (*SkupperNetworkStatusVolume) Priority

func (*SkupperNetworkStatusVolume) Run

func (*SkupperNetworkStatusVolume) Version

func (m *SkupperNetworkStatusVolume) Version() string

func (*SkupperNetworkStatusVolume) WithCli

type TokenCertHandler

type TokenCertHandler struct{}

func (*TokenCertHandler) Create

func (t *TokenCertHandler) Create(filename, subject string, info *domain.TokenCertInfo, site domain.Site, credHandler types.CredentialHandler) error

type VersionUpdateTask

type VersionUpdateTask struct {
	// contains filtered or unexported fields
}

func (*VersionUpdateTask) AppliesTo

func (v *VersionUpdateTask) AppliesTo(siteVersion string) bool

func (*VersionUpdateTask) Info

func (v *VersionUpdateTask) Info() string

func (*VersionUpdateTask) Priority

func (v *VersionUpdateTask) Priority() domain.UpdatePriority

func (*VersionUpdateTask) Run

func (*VersionUpdateTask) Version

func (v *VersionUpdateTask) Version() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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