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-salt.

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 (Windows coming soon!):

For Linux:

wget https://repo.saltproject.io/salt/singlebin/3003.3-1/salt-3003.3-1-linux-amd64.tar.gz

This is to install the 3003.3 version of Salt. You can view the directory listing here: https://repo.saltproject.io/salt/singlebin/ to see all of the Salt versions available for download.

Extract the tarball:

tar -xvf salt-3003.3-1-linux-amd64.tar.gz

This will extract a single file named salt. You can now use this single binary to run the Salt master.

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-5.1.0.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

heist_salt-5.1.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file heist-salt-5.1.0.tar.gz.

File metadata

  • Download URL: heist-salt-5.1.0.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.6.8

File hashes

Hashes for heist-salt-5.1.0.tar.gz
Algorithm Hash digest
SHA256 2eb8cff77603fb0882731e31375e28bfb4db745f7def0f333554de3df3a77e6c
MD5 d743812c9f5e89a299355e6c95748c6c
BLAKE2b-256 795008c5ef426369aad30adaee98b03afc3006eb12a88eb345bd33247c9942c8

See more details on using hashes here.

File details

Details for the file heist_salt-5.1.0-py3-none-any.whl.

File metadata

  • Download URL: heist_salt-5.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.6.8

File hashes

Hashes for heist_salt-5.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9d8aedf832ddf93bd8d7e2444923a970b8d4d3b6e1cb30e64c0ea746f7cf4d21
MD5 2445204540231cc81b23446f4ee97b13
BLAKE2b-256 cc001f4da0cc436cd7d1dd64e4b4360802d0114f0d156caff25a5fa2a0c55155

See more details on using hashes here.

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