14

Click here to load reader

The CFEngine Packaging Team

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: The CFEngine Packaging Team

The CFEngine Packaging Team

Config Management CampGent

4 February 2014

Page 2: The CFEngine Packaging Team

Tuesday, February 4th 2014 Martin Simons, Webhuis at Config Management Camp Gent 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

Page 3: The CFEngine Packaging Team

Tuesday, February 4th 2014 Martin Simons, Webhuis at Config Management Camp Gent 3

Agenda

● Historic overview● The CFEngine approach● Native implementation● Debian-team CFEngine● Continuous delivery and operation

Page 4: The CFEngine Packaging Team

Tuesday, February 4th 2014 Martin Simons, Webhuis at Config Management Camp Gent 4

CFEngine ecosystem● Vital part of company's ecosystem● Client – Server● Linux / Unix / BSD● CFEngine community

Free and Open SourceGPLRich, offers database support

● CFEngine Enterprise Edition● Rudder

Page 5: The CFEngine Packaging Team

Tuesday, February 4th 2014 Martin Simons, Webhuis at Config Management Camp Gent 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

Page 6: The CFEngine Packaging Team

Tuesday, February 4th 2014 Martin Simons, Webhuis at Config Management Camp Gent 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

Page 7: The CFEngine Packaging Team

Tuesday, February 4th 2014 Martin Simons, Webhuis at Config Management Camp Gent 7

Private Agenda :-)

● Database support in Community● Support for Raspberry Pi, raspbian● LDAP support

Page 8: The CFEngine Packaging Team

Tuesday, February 4th 2014 Martin Simons, Webhuis at Config Management Camp Gent 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

Page 9: The CFEngine Packaging Team

Tuesday, February 4th 2014 Martin Simons, Webhuis at Config Management Camp Gent 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

Page 10: The CFEngine Packaging Team

Tuesday, February 4th 2014 Martin Simons, Webhuis at Config Management Camp Gent 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

Page 11: The CFEngine Packaging Team

Tuesday, February 4th 2014 Martin Simons, Webhuis at Config Management Camp Gent 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/Cfengine-debian/wiki

Page 12: The CFEngine Packaging Team

Tuesday, February 4th 2014 Martin Simons, Webhuis at Config Management Camp Gent 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

Page 13: The CFEngine Packaging Team

Tuesday, February 4th 2014 Martin Simons, Webhuis at Config Management Camp Gent 13

Small in line video of a build

● Switch to VLC

Page 14: The CFEngine Packaging Team

Tuesday, February 4th 2014 Martin Simons, Webhuis at Config Management Camp Gent 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