Home

Provisioners

Provisioners are components used in infrastructure automation to perform tasks on a machine after it has been created, installing software, configuring services, and applying settings. They are commonly employed in image builders, cloud provisioning workflows, and development environments to bring a system to a desired state.

Provisioners operate by executing commands or scripts, transferring files, or invoking configuration management tools. They may

Common use cases include installing and updating software, configuring services, creating users and permissions, applying security

Key considerations include idempotence and reproducibility, as re-running provisioning should not or should safely be able

See also: Packer, Vagrant, Terraform, configuration management tools, infrastructure as code.

be
built
into
provisioning
frameworks
or
provided
as
plugins,
and
can
deploy
across
virtual
machines,
containers,
and
physical
servers.
Examples
include
shell
or
script
provisioners
that
run
shell,
PowerShell,
or
Python
scripts;
file
provisioners
that
copy
configuration
files;
and
adapters
for
configuration
management
systems
such
as
Chef,
Puppet,
Ansible,
and
Salt.
In
some
ecosystems,
tools
like
Packer
or
Vagrant
expose
provisioners
to
automate
post-deployment
steps.
hardening,
and
validating
that
the
system
is
ready
for
use.
Provisioners
help
automate
repetitive
setup
tasks
and
improve
reproducibility
across
environments.
to
handle
repeated
executions.
Security
concerns
involve
handling
credentials
and
sensitive
data;
access
to
the
target
system
must
be
restricted
and
audited.
Provisioners
are
often
complemented
by
configuration
management
and
immutable
infrastructure
patterns;
for
some
workflows,
immutable
images
with
baked-in
configuration
reduce
the
need
for
provisioning
at
run
time.