Skip to main content
cifit is a lightweight configuration management toolkit, it patterns itself off of cfengine
a little bit (it has classes), borrows from bcfg2, but the language to manage your
configurations is python.


BUILD:
You need mercurial, setuptools, and python of course.
You also need hgdistver:
https://bitbucket.org/RonnyPfannschmidt/hgdistver/overview



Currently cifit only is tested against OSX (partly) and Debian & Ubuntu (systems with apt installed). Everything here should work or be extensible against any posix compliant box you can get python on. it *could* be made to work on windows, patches accepted.

see docs/ for documentation.
see examples/ for a few rudimentary examples.

The idea behind this code is that you write a config file (.cft) that is in python, but you only run the code thru cifit.

Doing this gives you a bunch of built-ins that make managing systems easier.

Normally I run cifit from crontab every 5 minutes.

You should put your configs in a Version Control system (say subversion or git) then it's also easy to update configs:

cifit automatically puts the current directory to the basename of the .cft file that cifit runs, so to do a svn update:

files.run('svn update')

it's easy to manage your system or pear or python packages:

packages = ['apache2','ssh','php5']
for p in packages:
pkg.installPackage(p)

it's easy to change or update your files: (on multiple runs it will NOT append it twice).
files.append('/etc/issue',['This system is managed by cifit'])

It's easy to use sed like replacements on a file.
for example to turn magic_quotes off:
files.sub("/etc/php5/apache2/php.ini",["/magic_quotes_gpc = On/magic_quotes_gpc = Off/"])

It's easy to keep apache running:
if not procs.checkService('apache2'):
procs.startService('apache2')

Why yet another Configuration Management Engine?

I love python. I hate XML, I love the ideas behind cfengine, but I can't
understand the magic behind it to actually do something useful. I understand python, so I write my configs in python.

Metadata

Release files for cifit 0.4.post3-f1f5f604f2f0-20110127

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cifit 0.4.post3-f1f5f604f2f0-20110127
File Size Uploaded Provenance
cifit-0.4.post3-f1f5f604f2f0-20110127.tar.gz 16.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for cifit 0.4.post3-f1f5f604f2f0-20110127
File Interpreter ABI Platform
cifit-0.4.post3_f1f5f604f2f0_20110127-py2.5.egg Legacy Egg format - - Details

Total release size: 59.0 kB

Release files / cifit-0.4.post3-f1f5f604f2f0-20110127.tar.gz

Download URL cifit-0.4.post3-f1f5f604f2f0-20110127.tar.gz
Size 16.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ff9cf73f8aeb54d8a5ac65c735554b05ddc2c303fa04ad968c9b4419d2318566
BLAKE2b-256 checksum
How to use checksums
3fff6fc657622a355415a813a310d11bb527a389447b53fb14831e97dcfe2ebe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / cifit-0.4.post3_f1f5f604f2f0_20110127-py2.5.egg

Download URL cifit-0.4.post3_f1f5f604f2f0_20110127-py2.5.egg
Size 43.0 kB
Tags Egg
SHA-256 checksum
How to use checksums
9aaeabf4fabe81bf5acdc7c46f0a848a1eb2820e4eca7dae1321b7144341c0f0
BLAKE2b-256 checksum
How to use checksums
46e01778e1505c8ef0510124a63eaaea4c87eb1bdcc64e07be81b37d89f98426
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for cifit 0.4.post3-f1f5f604f2f0-20110127

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page