andytinycat / puppet-omnibus Goto Github PK
View Code? Open in Web Editor NEWOmnibus package of Puppet with an embedded Ruby and required gems (Chef-style)
Omnibus package of Puppet with an embedded Ruby and required gems (Chef-style)
As I have quite some plans for this project now would be a great time to change how the recipe files are organized.
I'm suggesting something like this
.
├── files
│ ├── debian
│ │ └── etc
│ │ └── init.d
│ │ └── puppet
│ └── redhat
│ └── etc
│ ├── init.d
│ │ └── puppet
│ └── sysconfig
│ └── puppet
├── omnibus
│ └── sub-recipes.rb
├── recipe-aws.rb
├── recipe-mco.rb
└── recipe.rb
recipe.rb is what fpm-cook looks for by default and should be a generic build with no extras.
Preferably we need a way to reference this generic build in the other, more specialized builds like recipe-aws.rb and recipe-mco.rb
I'm going to try this out on the dev branch
As I don't use these, anyone able to verify if they are still current/usable?
For those with no CI infra a Vagrant-setup with a script provisioner that builds the package would be nice.
There is a Vagrantfile on the dev branch as a starting point.
Seems wrong? embedded dir missing from the path
We should use update-alternatives as a way to link in what binaries are active on a system.
This code
https://github.com/bernd/fpm-cookery/blob/master/recipes/fpm-cookery/recipe.rb#L36-L72
should be usable
The docu on the dev branch is outdated. There has been extensive changes so it needs updating before we merge to master.
It would be great if I could just build the puppet omnibus RPM and not have it installed at the same time. I'm trying to build this on a CI server and then we will put it up on our Yum repo server for distribution. Is this possible currently or is this something we can include in the future?
Before merging dev to master, fix all strings so that they are single quoted unless interpolation is needed.
I'm currently redoing the validation of gems and package deps for 3.3.1.
ETA tomorrow, probably.
> cat /etc/redhat-release
CentOS release 6.4 (Final)
.
/tmp/omnibus/puppet-omnibus> bundle exec fpm-cook recipes/puppet-omnibus.rb
===> Recipe puppet-omnibus is an Omnibus package; looking for child recipes to build
===> Located recipe at /tmp/omnibus/puppet-omnibus/recipes/libyaml.rb for child recipe libyaml; starting build
===> Starting package creation for libyaml-0.1.4 (centos, rpm)
===>
===> Verifying build_depends and depends with Puppet
===> Verifying package: build-essential
===> Missing/wrong version packages: build-essential
===> Running as root; installing missing/wrong version build_depends and depends with Puppet
===> Installing package: build-essential
FATAL: While processing depends package 'build-essential':
FATAL: Execution of '/usr/bin/yum -d 0 -e 0 -y install build-essential' returned 1: Error: Nothing to do
FATAL: change from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install build-essential' returned 1: Error: Nothing to do
.
/tmp/omnibus/puppet-omnibus> yum install build-essential
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.bio.lmu.de
* epel: be.mirror.eurid.eu
* extras: centos.copahost.com
* updates: centos.bio.lmu.de
Setting up Install Process
No package build-essential available.
Error: Nothing to do
Would it be possible to add support for SLES? I am trying to find a way to easily install Puppet on VMware virtual appliances (vCenter, NSX Manager, and others). Most of them are SLES 11 SP2 or SP3. Tried to work it out myself, but no luck so far.
Adapt and package the ones PL uses, easiest way would be to just get them from git, e.g:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.