CFEngine is developing at a remarkable speed within CFEngine 3, packaging CFEngine for Debian was lagging. So I initiated a global team in order to make sure that an up to date version of CFEngine is available for the popular Debian Linux distribution. Please find us on: http://lnkd.in/bd8cZe4
Goal: Create a mechanism for continous delivery, following the heartbeat of the Upsteam project
The presentation covers the way we organized the project:
Github as a cornerstone
Issue tracking
Pull requests
Building the package from the git repository
Testing the package
Moving towards (co)maintainership
Results: Demonstration of a build from the repository
In the course of the project we encountered several issues we had to resolve in cooperation with the upstream project. The result of the effort is that we now have a framework that enables us to create standardized CFEngine packages for all major distibutions.
2. Martins' Bio
●
Developer since 1984
●
Masters in Economics BIK (IT management)
●
Webhuis, owner
●
Systems Administration as of 2000
●
CFEngine started with CFEngine 2 in 2007
Tuesday, February 4th 2014
Martin Simons, Webhuis at Config Management Camp Gent
2
3. Agenda
●
Historic overview
●
The CFEngine approach
●
Native implementation
●
Debian-team CFEngine
●
Continuous delivery and operation
Tuesday, February 4th 2014
Martin Simons, Webhuis at Config Management Camp Gent
3
4. CFEngine ecosystem
●
Vital part of company's ecosystem
●
Client – Server
●
Linux / Unix / BSD
●
CFEngine community
Free and Open Source
GPL
Rich, offers database support
●
CFEngine Enterprise Edition
●
Rudder
Tuesday, February 4th 2014
Martin Simons, Webhuis at Config Management Camp Gent
4
5. Debian
Advantages
●
Huge installed base (10% webservers globally)
●
Stable, proven technology
●
True open source
●
Community driven
Disadvantages
●
Lagging towards new developments
●
Rigid and demanding
●
Long release cycle
Tuesday, February 4th 2014
Martin Simons, Webhuis at Config Management Camp Gent
5
6. Intitial Goals
●
Gain acceptance on the maintainer side
●
Bring CFEngine in line with Debian standards
●
Build a package as feature rich as possible
●
Create a vehicle for future releases
Tuesday, February 4th 2014
Martin Simons, Webhuis at Config Management Camp Gent
6
7. Private Agenda :-)
●
Database support in Community
●
Support for Raspberry Pi, raspbian
●
LDAP support
Tuesday, February 4th 2014
Martin Simons, Webhuis at Config Management Camp Gent
7
8. Debian-team
Founded june 2013
●
Debian offered an outdated release, 3.0.5!
●
Only one maintainer (now team member)
●
●
●
Upstream did not comply with Debian standards
(now do)
Project page
https://github.com/Webhuis/Cfengine-debian
Not only Debian, When we're done the solution is
usable for every main package manager
Tuesday, February 4th 2014
Martin Simons, Webhuis at Config Management Camp Gent
8
9. Community effort
●
Makes CFEngine more generic
●
Obey by FHS rules and regulations
●
Required upstream changes, already applied
●
Beneficial to CFEngine
●
Debian package implies true Open Source
●
Back ports in 3.5 will disappear in CFEngine 3.6
●
Applicable to all package management systems
Tuesday, February 4th 2014
Martin Simons, Webhuis at Config Management Camp Gent
9
10. Moving forward with CFEngine
●
●
The Debian-team prepare for an up to date
CFEngine release
A mechanism following the heart beat of the
upstream project
●
Aimed at Debian Jessie, first release
●
Backport to Wheezy
●
Other Linux brands are in scope
Tuesday, February 4th 2014
Martin Simons, Webhuis at Config Management Camp Gent
10
11. Debian-team and project page
●
●
●
●
Frequent meetings through Hangout
Members in and outside of CFEngine,
Normation and Volunteers.
https://github.com/Webhuis/Cfengine-debian
Wiki
https://github.com/Webhuis/Cfenginedebian/wiki
Tuesday, February 4th 2014
Martin Simons, Webhuis at Config Management Camp Gent
11
12. Simple build script
#!/bin/bash
git clone https://github.com/Webhuis/Cfengine-debian.git
cd Cfengine-debian
git checkout -b pristine-tar origin/pristine-tar
git checkout -b upstream origin/upstream
git checkout master
git buildpackage -uc -us
Tuesday, February 4th 2014
Martin Simons, Webhuis at Config Management Camp Gent
12
13. Small in line video of a build
●
Switch to VLC
Tuesday, February 4th 2014
Martin Simons, Webhuis at Config Management Camp Gent
13
14. Call for acion
●
Get more information at http://www.cfengine.com
●
Try Rudder and ncf
●
●
Try a free Enterprise version of CFEngine (25 license pack
free, unlimited and full featured use) at
http://cfengine.com/evaluate-enterprise
Join the conversation at our community mailing list:
http://cfengine.com/community-forum
●
Watch Mark Burgess' video's
●
Buy Diego Zambonis' book
●
Keep track of free CFEngine Webinars
Tuesday, February 4th 2014
Martin Simons, Webhuis at Config Management Camp Gent
14