Documentation ¶
Index ¶
- func NewClientFromEnv() (*client.Client, error)
- type Backend
- func (b *Backend) AttachContainer(ctx context.Context, appID string, stdin io.Reader, stdout, stderr io.Writer) error
- func (b *Backend) AvailableDomains() domain.AvailableDomainSlice
- func (b *Backend) AvailablePorts() domain.AvailablePortSlice
- func (b *Backend) Dispose(_ context.Context) error
- func (b *Backend) ExecContainer(ctx context.Context, appID string, cmd []string, stdin io.Reader, ...) error
- func (b *Backend) GetContainer(ctx context.Context, appID string) (*domain.Container, error)
- func (b *Backend) ListContainers(ctx context.Context) ([]*domain.Container, error)
- func (b *Backend) ListenContainerEvents() (sub <-chan *domain.ContainerEvent, unsub func())
- func (b *Backend) Start(ctx context.Context) error
- func (b *Backend) Synchronize(ctx context.Context, s *domain.DesiredState) error
- type Config
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewClientFromEnv ¶
Types ¶
type Backend ¶ added in v0.18.0
type Backend struct {
// contains filtered or unexported fields
}
func NewDockerBackend ¶
func (*Backend) AttachContainer ¶ added in v0.18.0
func (*Backend) AvailableDomains ¶ added in v0.18.0
func (b *Backend) AvailableDomains() domain.AvailableDomainSlice
func (*Backend) AvailablePorts ¶ added in v0.18.0
func (b *Backend) AvailablePorts() domain.AvailablePortSlice
func (*Backend) ExecContainer ¶ added in v0.18.0
func (*Backend) GetContainer ¶ added in v0.18.0
func (*Backend) ListContainers ¶ added in v0.18.0
func (*Backend) ListenContainerEvents ¶ added in v0.18.0
func (b *Backend) ListenContainerEvents() (sub <-chan *domain.ContainerEvent, unsub func())
func (*Backend) Synchronize ¶ added in v0.18.0
type Config ¶
type Config struct { // ConfDir is the directory to put all traefik configurations in. ConfDir string `mapstructure:"confDir" yaml:"confDir"` // Domains define available domains to be used by user apps. Domains []*domainConf `mapstructure:"domains" yaml:"domains"` // Ports define available port-forward ports to be used by user apps. Ports []*portConf `mapstructure:"ports" yaml:"ports"` // SS defines static-site server endpoint. SS struct { URL string `mapstructure:"url" yaml:"url"` } `mapstructure:"ss" yaml:"ss"` // Routing section defines ingress settings. Routing struct { // Type defines which ingress controller to use. // Possible values: // "traefik: Uses traefik ingress controller. Type string `mapstructure:"type" yaml:"type"` Traefik struct { // PriorityOffset defines HTTP routes' priority offset for user apps. // This is optionally used to optimize routing performance. PriorityOffset int `mapstructure:"priorityOffset" yaml:"priorityOffset"` } `mapstructure:"traefik" yaml:"traefik"` } `mapstructure:"routing" yaml:"routing"` // TLS section defines tls setting for user app ingress. TLS struct { CertResolver string `mapstructure:"certResolver" yaml:"certResolver"` Wildcard struct { // Domains define for which (wildcard) domains cert-manager supports configuring DNS records. Domains domain.WildcardDomains `mapstructure:"domains" yaml:"domains"` } `mapstructure:"wildcard" yaml:"wildcard"` } `mapstructure:"tls" yaml:"tls"` // Network defines which docker network to use with all user apps. Network string `mapstructure:"network" yaml:"network"` // Labels define common container labels to put to all user apps. Labels []*labelConf `mapstructure:"labels" yaml:"labels"` // Resources define user app container resource constraints. Resources struct { CPUs float64 `mapstructure:"cpus" yaml:"cpus"` Memory int64 `mapstructure:"memory" yaml:"memory"` MemorySwap int64 `mapstructure:"memorySwap" yaml:"memorySwap"` MemoryReservation int64 `mapstructure:"memoryReservation" yaml:"memoryReservation"` } `mapstructure:"resources" yaml:"resources"` }
Click to show internal directories.
Click to hide internal directories.