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

Uploaded Source

Built Distribution

heist_salt-5.0.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: heist-salt-5.0.0.tar.gz
  • Upload date:
  • Size: 13.2 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.0.0.tar.gz
Algorithm Hash digest
SHA256 3acc6b1461b6702b8d62242174c64cdcd9f01e71b394056f26c4846a440fe67d
MD5 771f5c84306586a98cfdfe10ae566588
BLAKE2b-256 254ce49360bbf63ff49784109e32d4841ca2fed61a62634153651f632115ff55

See more details on using hashes here.

File details

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

File metadata

  • Download URL: heist_salt-5.0.0-py3-none-any.whl
  • Upload date:
  • Size: 18.1 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.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bf95eeefe7a3452931650d1080a7bdd28d9eb2770d497bb72f845bf4f7ae83e9
MD5 701d85796f5fb1169b6d38b487fd4a69
BLAKE2b-256 e864ac8f88f119f415124e1cf7fc189e4bc02b8a186dd56a6b4af175d27d9550

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