cf-propane is a collection of generic CFEngine 3 master policies to drive the management of your IT infrastructure.
CFEngine is a configuration management and automation framework that lets you securely manage your IT infrastructure. If you don't know yet about CFEngine, you can take a look at its documentation to get a first grasp of it.
The goal of cf-propane is to provide an easy and ready to use framework for administrators to securely build and manage their IT infrastructure.
cf-propane make use of various Python 3 utilities to drive its development. If you wish to bring some changes to the project and build it, you'll need to set up your working environment first.
In bellow instructions, each command states the level of privileges they should be run with the command prompt. The prompt can be one of the following:
$
for normal user privileges. Just run the command as is.#
for administrative privileges, either run asroot
or other administrative user or by prefixing the command withsudo
.
Make sure to have Python 3 installed in version 3.5 or later. If you are running Fedora or one of its derivatives, you can run the following command:
# yum install python3
On the other hand if you are using Debian or one of its derivatives, run the following command:
# apt-get install python3
For any other system, you can find installation instructions on the Python's project website.
In order to keep your system clear from the development tools needed for the project, it is advised to set up a Python 3 virtual environment using pipenv.
Go to the project's directory and run the following command:
$ pipenv --three
To activate the environment, you can enter the following command:
$ pipenv shell (pipenv)$
When a command should be entered within the virtual environment, we use the following (pipenv)$
prompt in console examples. Such command can also be prefixed with pipenv run
when not in an activated environment.
All the utilities required to build or ease project's development are listed in the Pipfile
file. To install the project's dependencies run the command bellow:
$ pipenv install -d
This file will be updated each time a new dependency is added. Be sure to re-run this command each time you notice a change to the Pipfile
file.
Building the project involves many different tasks. To ease the operation, needed actions grouped together in the tasks.py
file and ran using the Invoke tool as simple shell commands.
This software project is provided under the licensing terms of the MIT License stated in the file LICENSE.rst
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.