space
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
- Chat on Gitter: https://gitter.im/blockie-org/space.sh
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://www.gnu.org/licenses/.