Puppet Ecosystem Language overview topic

21 views
Skip to first unread message

Corey Osman

unread,
Jul 22, 2016, 4:47:30 PM7/22/16
to PDX Puppet User Group
Hi,

I am curious what everyone's thoughts are on a topic scoped around all the languages used at Puppet.  As some of us transition from sysadmin to developer I think it would be neat to discuss all these languages, why they were picked and what products they are used in.  

To my knowledge the following Puppet products are utilizing these languages but I am sure this is only a short list.

 - puppet  - C /  Ruby
 - Facter -  C / Ruby
 - Enterprise Console - Ruby / Rails framework
 - PuppetServer ( Java / Jruby )
 - Elixir for something (not sure which product)
 - Beaker - ruby
 - PuppetDB - closure / Java
 - leatherman - C++


The purpose of this topic would be to educate all of us around the ecosystem of each language and associated puppet products, how to deploy and configure each language from a configuration standpoint. Additionally, why some languages require frequent reboots in the middle of the night, and why other languages are wickedly faster at doing work.


Corey





Ryan Whitehurst

unread,
Jul 22, 2016, 5:29:28 PM7/22/16
to pdx-p...@googlegroups.com
On Fri, Jul 22, 2016 at 1:47 PM, Corey Osman <co...@logicminds.biz> wrote:

A bit of clarification:

> - Enterprise Console - Ruby / Rails framework

From PE 2015.2 onward, this is Clojure/Java based.

> - Elixir for something (not sure which product)

I'm not sure of any product that uses Elixir, although it's definitely
used internally a fair bit. I might be forgetting something though.

There's also

- PuppetDB CLI for PuppetDB 4+, which is written in Rust:
https://docs.puppet.com/puppetdb/4.1/pdb_client_tools.html
- PE Application Orchestration service (PE 2015.3+), written in Clojure/Java
- pxp-agent, which is used by the PE Application Orchestrator, written in C++
- r10k, written in Ruby
- Razor, written in Ruby
- MCollective, mostly Ruby

Kylo Ginsberg

unread,
Jul 27, 2016, 7:20:30 PM7/27/16
to pdx-p...@googlegroups.com
Hey Corey,

If there's sufficient interest, I'd be happy to give an overview of language use in puppet products and do some q&a.

A few minor tweaks to the list here:

> - puppet  - C /  Ruby

All Ruby today, but some C++ project prototypes in flight.

> - Facter -  C / Ruby

All C++ but will use a Ruby VM if available for custom facts.

> - PuppetServer ( Java / Jruby )

Clojure actually (with only a small bit of Java for glue), and yes JRuby as the Ruby vm to load Puppet ruby code.

On Fri, Jul 22, 2016 at 2:28 PM, Ryan Whitehurst <r...@puppet.com> wrote:
On Fri, Jul 22, 2016 at 1:47 PM, Corey Osman <co...@logicminds.biz> wrote:

A bit of clarification:

>  - Enterprise Console - Ruby / Rails framework

From PE 2015.2 onward, this is Clojure/Java based.

Clojure backends and Ember.JS frontends.
 

> - Elixir for something (not sure which product)

I'm not sure of any product that uses Elixir, although it's definitely
used internally a fair bit. I might be forgetting something though.

That's right: no Elixir anywhere in product, but our BizOps team uses it for some internal services. Btw, if you want an Elixir talk, I am *not* the right person :) 

There's also

- PuppetDB CLI for PuppetDB 4+, which is written in Rust:
https://docs.puppet.com/puppetdb/4.1/pdb_client_tools.html
- PE Application Orchestration service (PE 2015.3+), written in Clojure/Java
- pxp-agent, which is used by the PE Application Orchestrator, written in C++
- r10k, written in Ruby
- Razor, written in Ruby
- MCollective, mostly Ruby 

There's also a lot of *puppet* code of course!

Kylo
 
 

--
You received this message because you are subscribed to the Google Groups "PDX Puppet User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pdx-puppet+...@googlegroups.com.
Visit this group at https://groups.google.com/group/pdx-puppet.
For more options, visit https://groups.google.com/d/optout.



--
Kylo Ginsberg | ky...@puppet.com | irc: kylo | twitter: @kylog

Corey Osman

unread,
Jul 28, 2016, 2:35:02 PM7/28/16
to PDX Puppet User Group
Kylo,

That would be great, would you be able to do this for the September meeting?

I'll gauge interest next Monday.


Corey
To unsubscribe from this group and stop receiving emails from it, send an email to pdx-puppet+unsubscribe@googlegroups.com.

Kylo Ginsberg

unread,
Jul 28, 2016, 3:52:38 PM7/28/16
to pdx-p...@googlegroups.com
On Thu, Jul 28, 2016 at 11:35 AM, Corey Osman <co...@logicminds.biz> wrote:
Kylo,

That would be great, would you be able to do this for the September meeting?

Yep. I assume we'll *not* meet on Labor Day, so this would be Sept 12th. That'll give me time to procrastinate ;)
 

I'll gauge interest next Monday.

Perfect. I'm 50/50 on whether I can make this Monday. Crossing my fingers.

Kylo
 


Corey
To unsubscribe from this group and stop receiving emails from it, send an email to pdx-puppet+...@googlegroups.com.



--
Kylo Ginsberg | ky...@puppet.com | irc: kylo | twitter: @kylog

--
You received this message because you are subscribed to the Google Groups "PDX Puppet User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pdx-puppet+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages