Skip to main content

Vertical app-merge components for salt into heist

Project description

Made with pop, a Python implementation of Plugin Oriented Programming Made with heist, a POP plugin to create network tunnels for distributing and managing agents Made with Python

About

The whole point of Heist is to make deployment and management of Salt easy!

Before you start please be advised that a more detailed quickstart is available in the docs for heist.

What is POP?

This project is built with pop, a Python-based implementation of Plugin Oriented Programming (POP). POP seeks to bring together concepts and wisdom from the history of computing in new ways to solve modern computing problems.

For more information:

What is Heist?

This project is built with Heist, a POP plugin that creates network tunnels for distributing and managing agents. While it has been originally built to deploy and manage Salt minions (heist-salt), it can be used to distribute and manage other agents or plugins if extended to do so.

Getting Started

Prerequisites

  • Python 3.6+

  • git (if installing from source, or contributing to the project)

Installation

If wanting to use heist-salt, you can do so by either installing from PyPI or from source.

Install from PyPI

To install the latest version from PyPI:

# Requires Python 3.6+
pip install heist-salt

Install from source

heist-salt can also be installed from source:

# Requires git and Python 3.6+
git clone git@gitlab.com:saltstack/pop/heist-salt.git
cd heist-salt
pip install -e .

Usage

Setting up a Salt master

Don’t worry, this is a snap! Once Heist is installed you will need a Salt master to connect to. If you have an existing Salt master running you can skip this section, just run heist on your Salt master.

Download the all-in-one Salt binary for Linux or Mac (Windows coming soon!):

For Linux:

wget https://repo.saltproject.io/salt-bin/linux/salt

For Mac:

wget https://repo.saltproject.io/salt-bin/osx/salt

Now you can just run it!

chmod +x salt
sudo ./salt master

Now you have a running Salt master to control your minions!

Making your roster

A Roster is a file used by Heist to map login information to the systems in your environment. This file can be very simple and just needs to tell Heist where your systems are and how to log into them via ssh. Open a file called roster.cfg and add the data needed to connect to a remote system via ssh:

192.168.4.4:
  username: fred
  password: freds_password

The roster files typically all live inside of a roster directory. But to get started will execute a single roster file with heist:

heist salt.minion -R roster.cfg

Assuming your roster is correct, heist will now connect to the remote system, deploy a Salt minion, and connect it to your running master! Now you can use the same binary that you started the master with to accept your new minion’s keys:

./salt key -A

Then give your minion a few seconds to authenticate and then run your first salt command on the newly set up minion:

./salt \* test.version

That’s it! Now that the minion is up you can run salt commands on it at breakneck speed, the full power of Salt is at your fingertips!!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

heist-salt-4.0.0.tar.gz (13.1 kB view hashes)

Uploaded Source

Built Distribution

heist_salt-4.0.0-py3-none-any.whl (18.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page