GithubHelp home page GithubHelp logo

martezr / packer-provisioner-puppet-bolt Goto Github PK

View Code? Open in Web Editor NEW
11.0 2.0 3.0 10.15 MB

Packer Puppet Bolt Local Provisioner

License: Apache License 2.0

Go 96.16% Makefile 3.78% Shell 0.06%
packer puppet-bolt packer-provisioner

packer-provisioner-puppet-bolt's Introduction

Packer Puppet Bolt Provisioner

Build Status GoReportCard GitHub release license

This plugin has been superseded by the packer-plugin-bolt repository for newer versions of HashiCorp Packer

HashiCorp Packer plugin that provisions machines using Puppet Bolt

The bolt Packer provisioner runs Puppet Bolt tasks. It runs an SSH server, executes bolt task run, and marshals Bolt tasks through the SSH server to the machine being provisioned by Packer.

Note:: Any remote_user defined in tasks will be ignored. Packer will always connect with the user given in the json config for this provisioner.

Usage

Configuration Reference

required parameters

  • bolt_task (string) - The bolt task to be run.

or

  • bolt_plan (string) - The bolt plan to be run.

Optional Parameters:

Name Type Description
bolt_module_path string The path that Bolt should look for modules
bolt_params json The parameters to pass the Bolt Task or Plan.
install_modules boolean Whether to install modules from a Bolt project using the Puppetfile
inventory_file string The inventory file to use during provisioning. When unspecified, Packer will create a temporary inventory file and will use the host_alias.
local_port uint The port on which to attempt to listen for SSH connections. This value is a starting point. The provisioner will attempt listen for SSH connections on the first available of ten ports, starting at local_port. A system-chosen port is used when local_port is missing or empty.
log_level string The level of logging (debug, error, info, notice, warn, fatal, any)
project_path string The path that Bolt should look for a Bolt project directory
user string The bolt_user to use. Defaults to the user running packer.

SSH Settings

Name Type Description
ssh_host_key_file string The SSH key that will be used to run the SSH server on the host machine to forward commands to the target machine. Bolt connects to this server and will validate the identity of the server using the system known_hosts. The default behavior is to generate and use a onetime key.
ssh_authorized_key_file string The SSH public key of the Bolt ssh_user. The default behavior is to generate and use a onetime key. If this key is generated, the corresponding private key is passed to bolt with the --private-key-file option.
run_as string The user to run as for privilege escalation

WinRM Settings

Name Type Description
password string The password used to authenticate to the Windows machine
no_winrm_ssl_verify boolean Whether to verify that the target's certificate matches the cacert
no_winrm_ssl boolean Whether to use secure https connections for WinRM

License

Author: Martez Reed ([email protected])
Copyright: Copyright (c) 2018-2019 Green Reed Technology
License: Apache License, Version 2.0

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

packer-provisioner-puppet-bolt's People

Contributors

bishopbm1 avatar martezr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

packer-provisioner-puppet-bolt's Issues

SSH can not settle on compression_client algorithm

Is there a way to configure the server or client's compression_client algorithm? I'm getting errors like this:

    virtualbox-iso: Failed on ssh://127.0.0.1:37840:
    virtualbox-iso:   Failed to connect to ssh://127.0.0.1:37840: could not settle on compression_client algorithm
    virtualbox-iso:   Server compression_client preferences: none
    virtualbox-iso:   Client compression_client preferences: [email protected],zlib 
    virtualbox-iso: Failed on 1 target: ssh://127.0.0.1:37840                                                                       

The protocol of this plugin (protocol version 4 and lower) was deprecated

Hi @martezr,

I would like to use this plugin with some newer plugins.
Sadly packer >= 1.7 refuses to load it.

Error: failed loading puppet-bolt

  on demo2.json.pkr.hcl line 15:
  (source code not available)

The protocol of this plugin (protocol version 4 and lower) was deprecated,
please use a newer version of this plugin. Or use an older version of Packer (pre
1.7) with this plugin.

Error: failed loading puppet-bolt

  on demo2.json.pkr.hcl line 20:
  (source code not available)

The protocol of this plugin (protocol version 4 and lower) was deprecated,
please use a newer version of this plugin. Or use an older version of Packer (pre
1.7) with this plugin.

==> Wait completed after 4 microseconds

==> Builds finished but no artifacts were created.

Do you plan to upgrade the plugin to work with newer packer releases?
I would really like to see puppet bolt with packer in action ๐Ÿ˜

Best regards,

Semtyre

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.