mirror of https://github.com/hashicorp/packer
parent
2baffa3ebc
commit
3da99f7bdc
@ -0,0 +1,8 @@
|
||||
/*
|
||||
Package adapter helps command line tools connect to the guest via a Packer
|
||||
communicator. A typical use is for custom provisioners that wrap command line
|
||||
tools. For example, the Ansible provisioner and the Inspec provisioner both
|
||||
use this package to proxy communicator calls.
|
||||
*/
|
||||
|
||||
package adapter
|
||||
@ -0,0 +1,13 @@
|
||||
/*
|
||||
Package bootcommand generates and sends boot commands to the remote instance.
|
||||
|
||||
This package is relevant to people who want to create new builders, particularly
|
||||
builders with the capacity to build a VM from an iso.
|
||||
|
||||
You can choose between three different drivers to send the command: a vnc
|
||||
driver, a usb driver, and a PX-XT keyboard driver. The driver you choose will
|
||||
depend on what kind of keyboard codes your hypervisor expects, and how you want
|
||||
to implement the connection.
|
||||
*/
|
||||
|
||||
package bootcommand
|
||||
@ -0,0 +1,25 @@
|
||||
/*
|
||||
Package chroot provides convenience tooling specific to chroot builders.
|
||||
|
||||
Chroot builders work by creating a new volume from an existing source image and
|
||||
attaching it into an already-running instance. Once attached, a chroot is used
|
||||
to provision the system within that volume. After provisioning, the volume is
|
||||
detached, snapshotted, and a cloud-specific image is made.
|
||||
|
||||
Using this process, minutes can be shaved off image build processes because a
|
||||
new instance doesn't need to be launched in the cloud before provisioning can
|
||||
take place.
|
||||
|
||||
There are some restrictions, however. The host instance where the volume is
|
||||
attached to must be a similar system (generally the same OS version, kernel
|
||||
versions, etc.) as the image being built. Additionally, this process is much
|
||||
more expensive because the instance used to perform the build must be kept
|
||||
running persistently in order to build images, whereas the other non-chroot
|
||||
cloud image builders start instances on-demand to build images as needed.
|
||||
|
||||
The HashiCorp-maintained Amazon and Azure builder plugins have chroot builders
|
||||
which use this option and can serve as an example for how the chroot steps and
|
||||
communicator are used.
|
||||
*/
|
||||
|
||||
package chroot
|
||||
@ -0,0 +1,16 @@
|
||||
/*
|
||||
The commonsteps package contains the multistep runner that comprises the main
|
||||
architectural convention of Packer builder plugins. It enables builders
|
||||
to respect global Packer flags like "on-error" and "debug". It also contains
|
||||
a selection of convenience "multistep" steps that perform globally relevant
|
||||
tasks that many or most builders will want to implement -- for example,
|
||||
launching Packer's internal HTTP server for serving files to the instance.
|
||||
|
||||
It also provides step_provision, which contains the hooks necessary for allowing
|
||||
provisioners to run inside your builder.
|
||||
|
||||
While it is possible to create a simple builder without using the multistep
|
||||
runner or step_provision, your builder will lack core Packer functionality.
|
||||
*/
|
||||
|
||||
package commonsteps
|
||||
@ -0,0 +1,6 @@
|
||||
/*
|
||||
Package filelock makes it easy to create and check file locks for concurrent
|
||||
processes.
|
||||
*/
|
||||
|
||||
package filelock
|
||||
@ -0,0 +1,12 @@
|
||||
/*
|
||||
Package guestexec provides a shim for running common operating system commands
|
||||
on the guest/remote instance that is being provisioned. It helps provisioners
|
||||
which need to perform operating-system specific calls do so in a way that is
|
||||
simple and repeatable.
|
||||
|
||||
Note that to successfully use this package your provisioner must have knowledge
|
||||
of the guest type, which is not information that builders generally collect --
|
||||
your provisioner will have to require guest information in its config.
|
||||
*/
|
||||
|
||||
package guestexec
|
||||
@ -0,0 +1,14 @@
|
||||
/*
|
||||
Package shell-local is designed to make it easier to shell out locally on the
|
||||
machine running Packer. The top level tools in this package are probably not
|
||||
relevant to plugin maintainers, as they are implementation details shared
|
||||
between the HashiCorp-maintained shell-local provisioner and shell-local
|
||||
post-processor.
|
||||
|
||||
The localexec sub-package can be used in any plugins that need local shell
|
||||
access, whether that is in a driver for a hypervisor, or a command to a third
|
||||
party cli tool. Please make sure that any third party tool dependencies are
|
||||
noted in your plugin's documentation.
|
||||
*/
|
||||
|
||||
package shell_local
|
||||
Loading…
Reference in new issue