Giter Club home page Giter Club logo

install-puppet's Introduction

install-puppet

One-shot shell script that can be used to install puppet-agent on a supported POSIX platform.

Description

This repository contains a Ruby script (install.rb), which when executed will generate an install.sh file to be used for installing puppet-agent on supported FOSS POSIX platforms.

The script leverages Bolt tasks from the puppet_agent and facts modules, and attempts to change as few things as possible in order to create a working shell script which can be used with little to no external dependencies

Getting Started

Dependencies

  • A non-Windows platform for which Puppet provides official packages (see the full list here)
  • One of wget/curl/fetch/perl-LWP-Simple in order to download packages
  • bash (probably at least version 3)
  • Ability to run the script as root

Usage

Install with curl

curl -sSL https://raw.githubusercontent.com/puppetlabs/install-puppet/main/install.sh | bash

Install with wget

wget -qO - https://raw.githubusercontent.com/puppetlabs/install-puppet/main/install.sh | bash

Piping to bash is a controversial practice, so you are encouraged to inspect the contents of the script before executing it.

Script arguments

If run with no arguments, the script will install the latest stable version of puppet-agent.

You can install a specific version using:

curl -sSL https://raw.githubusercontent.com/puppetlabs/install-puppet/main/install.sh | bash -s -- -v 6.24.0

Below is the full list of configurable options:

  • -v/--version - install a specific puppet-agent version
  • -c/--collection - install a specific puppet-agent collection (e.g. puppet7)
  • -n/--noop - do a dry run, do not change any files
  • --cleanup - remove the puppetlabs repository after installation finishes

Development

The Ruby script uses parts of the bash.sh task from the facts module, and the install_shell.sh task from the puppet_agent module to generate the install.sh file. The modules are vendored as git submodules; in order to initialize them, run git submodule update --init after cloning this repository.

After making your changes, run the following command to regenerate the shell script:

ruby install.rb

You can also run shellcheck on the resulting script, it will skip the vendored task parts and only warn on code specific to this repository.

shellcheck install.sh

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details

install-puppet's People

Contributors

gabrielnagy avatar joshcooper avatar tvpartytonight avatar mhashizume avatar shubhamshinde360 avatar linuxdaemon avatar ingsme avatar kenyon avatar imaqsood avatar robkooper avatar span786 avatar cthorn42 avatar

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.