kerry-0.1: Manage and abstract your packer configurations.

Safe HaskellNone
LanguageHaskell2010

Kerry.Packer

Contents

Synopsis

Core data types

Packer

data Packer Source #

Packer

A concrete representation for configuring the various components of Packer.

Instances
Eq Packer Source # 
Instance details

Defined in Kerry.Packer

Methods

(==) :: Packer -> Packer -> Bool #

(/=) :: Packer -> Packer -> Bool #

Show Packer Source # 
Instance details

Defined in Kerry.Packer

User variables

data UserVariable Source #

Constructors

UserVariable Text Text 
Instances
Eq UserVariable Source # 
Instance details

Defined in Kerry.Packer

Show UserVariable Source # 
Instance details

Defined in Kerry.Packer

Builders

data Builder Source #

Instances
Eq Builder Source # 
Instance details

Defined in Kerry.Packer

Methods

(==) :: Builder -> Builder -> Bool #

(/=) :: Builder -> Builder -> Bool #

Show Builder Source # 
Instance details

Defined in Kerry.Packer

data BuilderType Source #

Concrete BuilderType

Constructors

AmazonEBSBuilder (AWS EBS) 
Instances
Eq BuilderType Source # 
Instance details

Defined in Kerry.Packer

Show BuilderType Source # 
Instance details

Defined in Kerry.Packer

Provisioners

PostProcessors

data PostProcessor Source #

Constructors

PostProcessor 
Instances
Eq PostProcessor Source # 
Instance details

Defined in Kerry.Packer

Show PostProcessor Source # 
Instance details

Defined in Kerry.Packer

Communicators

data Communicator Source #

Constructors

None

No communicator will be used. If this is set, most provisioners also can't be used.

SSH SSHCommunicator

An SSH connection will be established to the machine. This is usually the default.

WinRm

A WinRM connection will be established.

Instances
Eq Communicator Source # 
Instance details

Defined in Kerry.Packer

Show Communicator Source # 
Instance details

Defined in Kerry.Packer

data SSHCommunicator Source #

Constructors

SSHCommunicator 

Fields

  • sshUsername :: Text

    ssh_username - The username to connect to SSH with. Required if using SSH.

  • sshPty :: Bool

    ssh_pty - If true, a PTY will be requested for the SSH connection. This defaults to false.

  • sshTimeout :: Int

    ssh_timeout (string) - The time to wait for SSH to become available. Packer uses this to determine when the machine has booted so this is usually quite long. Example value: 10. ssh_agent_auth (boolean) - If true, the local SSH agent will be used to authenticate connections to the remote host. Defaults to false. ssh_bastion_agent_auth (boolean) - If true, the local SSH agent will be used to authenticate with the bastion host. Defaults to false. ssh_bastion_host (string) - A bastion host to use for the actual SSH connection. ssh_bastion_password (string) - The password to use to authenticate with the bastion host. ssh_bastion_port (number) - The port of the bastion host. Defaults to 22. ssh_bastion_private_key_file (string) - Path to a PEM encoded private key file to use to authenticate with the bastion host. The ~ can be used in path and will be expanded to the home directory of current user. ssh_bastion_username (string) - The username to connect to the bastion host. ssh_clear_authorized_keys (boolean) - If true, Packer will attempt to remove its temporary key from ~.sshauthorized_keys and root.ssh/authorized_keys. This is a mostly cosmetic option, since Packer will delete the temporary private key from the host system regardless of whether this is set to true (unless the user has set the -debug flag). Defaults to "false"; currently only works on guests with sed installed. ssh_disable_agent_forwarding (boolean) - If true, SSH agent forwarding will be disabled. Defaults to false. ssh_file_transfer_method (scp or sftp) - How to transfer files, Secure copy (default) or SSH File Transfer Protocol. ssh_handshake_attempts (number) - The number of handshakes to attempt with SSH once it can connect. This defaults to 10. ssh_host (string) - The address to SSH to. This usually is automatically configured by the builder. ssh_keep_alive_interval (string) - How often to send "keep alive" messages to the server. Set to a negative value (-1s) to disable. Example value: 10s. Defaults to 5s. ssh_password (string) - A plaintext password to use to authenticate with SSH. ssh_port (number) - The port to connect to SSH. This defaults to 22. ssh_private_key_file (string) - Path to a PEM encoded private key file to use to authenticate with SSH. The ~ can be used in path and will be expanded to the home directory of current user. ssh_proxy_host (string) - A SOCKS proxy host to use for SSH connection ssh_proxy_password (string) - The password to use to authenticate with the proxy server. Optional. ssh_proxy_port (number) - A port of the SOCKS proxy. Defaults to 1080. ssh_proxy_username (string) - The username to authenticate with the proxy server. Optional. ssh_read_write_timeout (string) - The amount of time to wait for a remote command to end. This might be useful if, for example, packer hangs on a connection after a reboot. Example: 5m. Disabled by default.

defaultSSHCommunicator :: Text -> SSHCommunicator Source #

A minimal default ssh communicator where only the username needs to be specified

Render

Serialization

fromPacker :: Packer -> Value Source #

Packer serialization

fromBuilder :: Builder -> Value Source #

Builder serialization

fromBuilderType :: BuilderType -> [Pair] Source #

BuilderType serialization

fromUserVariable :: UserVariable -> Pair Source #

UserVariable serialization

fromProvisioner :: Provisioner -> Value Source #

Provisioner serialization

fromPostProcessor :: PostProcessor -> Value Source #

PostProcessor serialization