Skip to content
/ space Public

Single-file dependency-free automation tool written in Bash

License

Notifications You must be signed in to change notification settings

space-sh/space

Repository files navigation

Space | build status latest stable version Gitter

Space.sh

Welcome to Space!

This tool is not for the faint of heart, but here we go!

The Space.sh is a single file program, referred to as Space, that relies only on Bash version 3.2 or later as dependency for loading and running configuration files and invoking programs in a structured manner.

Space assembles shell script applications built out of reusable modules and it also provides automation features.

One could say "it's like Ansible but written in Bash".

Space provides the notion of Modules, which in essence are Git repositories filled with user content defined as Space descriptions and operations. Modules can also point to other modules, so it is possible to create content on top of other users' work.

Space is part of Space.sh and can be found at https://space.sh.

Dependencies

Space requires Bash version 3.2 or later.

Some external programs related to I/O operations are not POSIX 1003.1 compliant. Non-standard programs have been tested to work with:

  • GNU/Linux
  • BusyBox/Linux (Android)
  • MacOS 10+

Quick start

Please choose one of the methods below for installing Space or read the installation documents in the /doc directory for the complete guide.

Automated install

Install the latest stable version of Space from terminal:

curl https://get.space.sh/ | sh

Manual install via tarball

Download, extract and install the latest stable version of Space:

mkdir space
curl https://space.sh/static/download/space-1.5.0/space-1.5.0.tar.gz | tar xvfz - -C ./space && cd ./space && ./space /install/

Note: this exact method does not check for the integrity of the downloaded .tar.gz file. It is possible to do so while still performing a manual install, please refer to the install documentation.

First steps

Space is now installed. Run space -h anywhere to read the help instructions.
For a simple module example, please refer to EXAMPLE section in the user manual page. For more advanced modules, check out the Spacefile.yaml and Spacefile.sh files and the core modules located at https://github.com/space-sh.

For more information, please refer to the documentation files located in the doc directory or the man pages.
For the latest news and online reference, please visit https://space.sh.

Further questions can be asked via the GitHub Issues page.

Community

Contributing

Code contributions are welcome via GitHub pull requests. More information and details on how to do it can be found in the CONTRIBUTING document.

Issues

Bug reports and suggestions can be filed at the project GitHub Issues page.

Authors

Copyright 2016-2017 Blockie AB Blockie.org

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 3 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http:https://www.gnu.org/licenses/.