propellor-5.18: property-based host configuration management in haskell

Safe Haskell | None
Language | Haskell2010

Propellor.Types.Container

Synopsis

- data Bound v = Bound {
  - hostSide :: v
  - containerSide :: v
  }
- (-<-) :: (hostv ~ v, containerv ~ v) => hostv -> containerv -> Bound v
- (->-) :: (containerv ~ v, hostv ~ v) => containerv -> hostv -> Bound v
- same :: v -> Bound v
- data ContainerCapability
  - = HostnameContained
  - | FilesystemContained

# Documentation

data Bound v Source #

A value that can be bound between the host and a container.

For example, a Bound Port is a Port on the container that is bound to a Port on the host.

Constructors

Bound |

Fields

- hostSide :: v
- containerSide :: v

#### Instances

Instances details

Mountable (Bound FilePath) Source # |
Instance details Defined in Propellor.Property.Docker Methods toMount :: Bound FilePath -> String
Publishable (Bound Port) Source # |
Instance details Defined in Propellor.Property.Docker Methods toPublish :: Bound Port -> String
Bindable (Bound FilePath) Source # |
Instance details Defined in Propellor.Property.Systemd Methods toBind :: Bound FilePath -> String
Publishable (Bound Port) Source # |
Instance details Defined in Propellor.Property.Systemd Methods toPublish :: Bound Port -> String
Publishable (Proto, Bound Port) Source # |
Instance details Defined in Propellor.Property.Systemd Methods toPublish :: (Proto, Bound Port) -> String

(-<-) :: (hostv ~ v, containerv ~ v) => hostv -> containerv -> Bound v Source #

Create a Bound value, from two different values for the host and container.

For example, `Port 8080 -<- Port 80` means that port 8080 on the host is bound to port 80 from the container.

(->-) :: (containerv ~ v, hostv ~ v) => containerv -> hostv -> Bound v Source #

Flipped version of -<- with the container value first and host value second.

same :: v -> Bound v Source #

Create a Bound value, that is the same on both the host and container.

data ContainerCapability Source #

Capabilities of a container.

Constructors

HostnameContained | The container has its own hostname (and domain name) separate from the system that contains it.
FilesystemContained | The container has its own root filesystem, rather than sharing the root filesystem of the system that contains it.

#### Instances

Instances details

Read ContainerCapability Source # |
Instance details Defined in Propellor.Types.Container Methods readsPrec :: Int -> ReadS ContainerCapability readList :: ReadS [ContainerCapability] readPrec :: ReadPrec ContainerCapability readListPrec :: ReadPrec [ContainerCapability]
Show ContainerCapability Source # |
Instance details Defined in Propellor.Types.Container Methods showsPrec :: Int -> ContainerCapability -> ShowS show :: ContainerCapability -> String showList :: [ContainerCapability] -> ShowS
Eq ContainerCapability Source # |
Instance details Defined in Propellor.Types.Container Methods (==) :: ContainerCapability -> ContainerCapability -> Bool (/=) :: ContainerCapability -> ContainerCapability -> Bool
IsInfo [ContainerCapability] Source # | A [ContainerCapability] can be used as Info. It does not propagate out to the Host. When not in a container, the Info value will be [].
Instance details Defined in Propellor.Types.Container Methods propagateInfo :: [ContainerCapability] -> PropagateInfo Source #