SlideShare a Scribd company logo
1 of 73
CHEF & MCOLLECTIVE
WHO AM I?
•

Co-founder/Chief Architect @ Elastera	


•

15+ years sysadmin/dba/operations	


•

3+ years Chef & MCollective	


•

zts on IRC, Twitter, and github
THE PROBLEM
WHAT'S WRONG WITH SSH?
REQUIREMENTS ANALYSIS
Objective:	

	


Run chef-client,	


	


as the root user,	


	


on all database servers.
1. DISCOVERY

•

Identifying the database servers
2. TRANSPORT

•

Connecting to an individual database server
3. AUTHENTICATION

•

Logging in to a server
4. AUTHORISATION

•

Running chef-client as root
5. AUDITING

•

Log all the things
SSH:
Not bad, just not enough.
WHAT ELSE, THEN?
“The Marionette Collective, AKA mcollective,	

is a framework to build server orchestration
or parallel job execution systems.”
– http://docs.puppetlabs.com/mcollective/
MCOLLECTIVE IS…
•

Node Discovery	


•

Message-oriented transport layer	


•

Authentication and Authorisation	


•

Host for server-side code	


•

Library and framework for client-side tools
1. DISCOVERY
DISCOVERY

•

Find nodes to operate on by matching various
criteria
DISCOVERY
$ mco find -v
Discovering hosts using the mc method for 2 second(s) .... 6
!

illuminati.cryptocracy.com
monitoring.nat0.cryptocracy.com
mco-x509.nat0.cryptocracy.com
test-precise.nat0.cryptocracy.com
chef-11.nat0.cryptocracy.com
ci.nat0.cryptocracy.com
!

Discovered 6 nodes in 2.00 seconds using the mc discovery
plugin
DISCOVERY FILTERS
Identity: Exact or regex match node name
$ mco find -I '/^test-/'
test-precise.nat0.cryptocracy.com
test-centos.nat0.cryptocracy.com
!

$ mco find -I ‘test-precise.nat0.cryptocracy.com’
test-precise.nat0.cryptocracy.com
!
!
DISCOVERY FILTERS
Classes: Roles and recipes in the expanded run-list
$ mco find -C role.chef-client-11
chef-11.nat0.cryptocracy.com
test-precise.nat0.cryptocracy.com
mco-x509.nat0.cryptocracy.com
!
DISCOVERY FILTERS
Agents: plugins loaded on the server
$ mco find -A chef
illuminati.cryptocracy.com
monitoring.nat0.cryptocracy.com
mco-x509.nat0.cryptocracy.com
test-precise.nat0.cryptocracy.com
chef-11.nat0.cryptocracy.com
ci.nat0.cryptocracy.com
DISCOVERY FILTERS
Facts: key/value data from the server
$ mco facts platform
Report for fact: platform
!

centos
ubuntu
!

Finished processing 5 / 5 hosts in 1247.10 ms
!

$ mco find -F platform=centos
test-centos6.nat0.cryptocracy.com
ci.nat0.cryptocracy.com

found 2 times
found 3 times
DATA PLUGINS
$ mco rpc rpcutil get_data source=fstat query=/etc/issue
!
illuminati.cryptocracy.com
atime: 2014-01-27 22:22:06
atime_age: 521356
atime_seconds: 1390861326
ctime: 2013-02-06 17:27:58
ctime_age: 31211004
ctime_seconds: 1360171678
gid: 0
md5: 95a5a06e937cbbb554fd483e62c1c156
mode: 100644
mtime: 2013-01-25 11:31:25
mtime_age: 32269197
mtime_seconds: 1359113485
name: /etc/issue
output: present
present: 1
size: 26
type: file
uid: 0
DATA PLUGINS
$ mco rpc rpcutil get_data source=fstat query=/etc/issue 
-I illuminati.cryptocracy.com | grep md5
md5: 95a5a06e937cbbb554fd483e62c1c156
!
$ mco find -S "fstat('/etc/issue').md5=95a5a06e937cbbb554fd483e62c1c156"
illuminati.cryptocracy.com
mco-x509.nat0.cryptocracy.com
chef-11.nat0.cryptocracy.com
2. TRANSPORT
MIDDLEWARE
•

Message-Oriented	


•

Client Requests	

•

•

Directed to some nodes, or broadcast to all	


Server Responses	

•

Directed to the requesting client
CONNECTOR PLUGINS
•

Stomp-based protocol	

•
•

•

ActiveMQ	

RabbitMQ	


Alternatives are possible	

•

non-production Redis connector
3. AUTHENTICATION
MESSAGE SECURITY

•

Encode outbound messages	


•

Validate inbound messages
SECURITY PLUGINS
•

PSK	

•

•

!

Simple digest
authentication
with a shared key
- not
recommended for
production.	

Callers identified
by local uid	


•

SSL	

•

•

•

Public/private
keypairs - one for
all servers, one for
each client	

Callers identified
by key	

Signs but does not
encrypt	


•

AES	

•

Every server can
have its own
keypair	


•

Encrypted
payloads	


•

Optional key
distribution
4. AUTHORISATION
5. AUDITING
A BRIEF TANGENT...
Pluggability
PLUGIN TYPES
•

Common	


•

Server	


•

•

Data	


•
•

Connector	

Security	


•

Facts	


•

Agent	


Client	

•

Application	


•

Authorisation & Audit 	


•

Discovery 	


•

Registration
BONUS SECURITY PLUGINS
•

sshkey	


•

x509	


•

non-core	


•

Implemented by Venda	


•

uses SSH keys for signing and
validation	


•

Key+Certificate for each server
& client	


•

Optional key distribution 	


•

Payloads signed but not
encrypted	


•

Validates message is signed by
caller’s cert, and cert issued by
trusted CA.

!
!
AGENTS, CLIENTS, &
APPLICATIONS
AGENTS
•

Receive a message from a client	


•

Perform some action	


•

Return some data
AGENTS - DDL
action "status", :description => "Is the chef-client daemon running?” do
output :status,
:description => "Status of the chef-client daemon",
:display_as => "Status"
!

summarize do
aggregate summary(:status)
end
display :failed
end
module MCollective
module Agent
class Chef<RPC::Agent
!

action "status" do
out = ""
err = ""
exitcode = run(“service chef-client status”,
:stdout => out, :stderr => err)
case exitcode
when 0
reply[:status] = "OK"
when 1
reply[:status] = "Missing"
when 3
reply[:status] = "Stopped"
end
end
end # end of class Chef
end
end
AGENTS - OUTPUT
$ mco rpc chef status
Discovering hosts using the mc method for 2 second(s) .... 8
!

* [ ============================================================> ] 8 / 8
!
!
!

Summary of Status:
!

OK = 6
Stopped = 1
Missing = 1
!
!

Finished processing 8 / 8 hosts in 747.93 ms
AGENTS
•

https://github.com/scalefactory/sf-deploy	


•

https://github.com/youdevise/orc	


•

https://github.com/ripienaar/mc-plugins/tree/master/
agent/libvirt	


•

https://github.com/puppetlabs/mcollective-puppetagent
APPLICATIONS
•

New ‘mco’ subcommands	


•

Unified help, error reporting, and option parsing	


•

Full control of the client (with helpers)
APPLICATIONS
class MCollective::Application::Echo<MCollective::Application	
description "Reports on usage for a specific fact"	

!
option :message,	
:description
:arguments
:type
:required

=>
=>
=>
=>

"Message to send",	
["-m", "--message MESSAGE"],	
String,	
true	

!
def main	
mc = rpcclient("helloworld")	

!
printrpc mc.echo(:msg => configuration[:message], :options => options)	

!
printrpcstats	
end	
end
APPLICATIONS
$ mco echo	
The message option is mandatory	
!
Please run with --help for detailed help	
!
$ mco echo -m test	
!
* [ ===================================================> ] 1 / 1	
!
!
example.com	
Message: test	
Time: Mon Jan 31 21:27:03 +0000 2011	
!
!
Finished processing 1 / 1 hosts in 68.53 ms
CLIENTS
•

mcollective-client gem	


•

fine-grained control	


•

CLI parsing still on by default
REGISTRATION

•

Nodes announce themselves	


•

Agent consumes the announcements
CHEF & MCOLLECTIVE
CLASSES & FACTS
CLASSES
Configuration Management Classes:
recipe.chef-client::config
recipe.chef-client::service
recipe.chef_handler::default
recipe.extra_packages::default
recipe.mcollective-x509-security::certificates
recipe.mcollective-x509-security::default
recipe.mcollective-x509-security::install_from_github
recipe.mcollective::_install_client_pkg
recipe.mcollective::_install_common_pkg
recipe.mcollective::_install_server_pkg
recipe.mcollective::client
recipe.mcollective::common
recipe.mcollective::default
recipe.mcollective::puppetlabs-repo
recipe.mcollective::server
recipe.sudo::default
recipe.users::sysadmins
recipe.vt-gpg::default
recipe.vt-gpg::library
recipe.x509::default
role.base
role.centos6
role.chef-client-11
FACTS
•

Ohai	

•

•

mcollective runs ohai on request	


YAML	

•

mcollective reads YAML from disk	


•

Chef handler generates class list and facts yaml
FACTS
chef_environment => mcollective-dev
chef_packages.chef.version => 11.4.0
chef_packages.ohai.version => 6.16.0
cpu.total => 2
platform => centos
platform_version => 6.2
virtualization.role => guest
virtualization.system => kvm
!

cpu.1.mhz => 3411.482
memory.anon_pages => 121608kB
ohai_time => 1390840103.16891
DISCOVERY
DISCOVERY - MC
$ mco facts chef_environment
Report for fact: chef_environment
!

dev
mcollective-dev
prod
!

Finished processing 6 / 6 hosts in 132.51 ms

found 1 times
found 2 times
found 3 times
DISCOVERY - CHEF
$ mco facts chef_environment --dm chef
Report for fact: chef_environment
!

dev
mcollective-dev
prod
!

Finished processing 6 / 7 hosts in 2002.09 ms
!
!

No response from:
!

test-centos6.nat0.cryptocracy.com

found 1 times
found 2 times
found 3 times
DISCOVERY - CHEF
$ mco facts hostname --dm chef -C "role[base]" -I 'test-*'
Report for fact: hostname
!

test-centos6
test-precise

found 1 times
found 1 times

!

Finished processing 2 / 2 hosts in 144.28 ms
!

$ mco facts hostname --dm chef
--do "chef_environment:prod AND platform_family:debian"
Report for fact: hostname
!

chef-11
illuminati
!

Finished processing 2 / 2 hosts in 162.46 ms

found 1 times
found 1 times
SECURITY

•

Basic configuration possible	


•

SSL/AES not turn-key
SECURITY - SSL
search(:client, "name:*").each do |client|
file "/etc/mcollective/ssl/clients/#{client.name}_public.pem" do
owner "root"
mode "0644"
content client.public_key
action :create
end
end
!
SECURITY - X509
•

Cookbook - mcollective-x509-security	


•

Uses x509 cookbook + chef-ssl	


•

Lacks tests, not on community site
include_recipe “x509::default"
!

certs = node['mcollective-x509-security']['certs']
!

x509_certificate "mco-server-#{node['fqdn']}" do
ca 'MCollective-CA'
type 'server'
key certs['server_key']
certificate certs['server_cert']
end
!

x509_certificate "mco-client-#{node['fqdn']}" do
ca 'MCollective-CA'
type 'client'
key certs['client_key']
certificate certs['client_cert']
end
!

x509_ca_certificate "MCollective-CA" do
cacertificate certs['ca_cert']
end
AGENT - CHEF-CLIENT
•

Start/Stop/Restart daemon	


•

Wake daemon (run now)	


•

chef-client service status
AGENT - ISSUES
•

Restarting services	


•

Concurrent runs	


•

Returning data
WHAT DOES PUPPET GET?
•

Responses with #/changed resources, runtime, etc	


•

Data: Puppet status and result of most recent run	


•

Data: resources managed by puppet	


•

Manage individual resources
COOKBOOK - GOOD
•

Install from puppetlabs packages	


•

Most configuration from attributes	


•

Chef handler to generate fact and classes files	


•

Agent to manage chef-client
COOKBOOK - BAD
•

Security configuration	


•

Configuration for authorisation and audit	


•

Plugin installation
ODDS & ENDS
MCO_NOTIFY - LWRP

mco_notify “run chef" do
agent "chef"
action “wake_daemon”
classes “role.haproxy“
action :nothing
subscribes :send, “service[httpd]”
end
MCO_NOTIFY - PROBLEMS
MCO_NOTIFY - HANDLER
MCO_SEARCH
OTHER CONCERNS

•

Packaging Philosophy	


•

MQ dependency
PARTING THOUGHTS
REFERENCES
•

http://docs.puppetlabs.com/mcollective/	


•

https://github.com/zts/cookbook-mcollective	


•

https://github.com/zts/mcollective-chef-discovery	


•

https://github.com/zts/chef-cookbook-mcollective-x509security	


•

https://github.com/puppetlabs/mcollective-puppet-agent

More Related Content

What's hot

PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopPuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopWalter Heck
 
How to do everything with PowerShell
How to do everything with PowerShellHow to do everything with PowerShell
How to do everything with PowerShellJuan Carlos Gonzalez
 
Autoscaling with hashi_corp_nomad
Autoscaling with hashi_corp_nomadAutoscaling with hashi_corp_nomad
Autoscaling with hashi_corp_nomadBram Vogelaar
 
Service discovery and puppet
Service discovery and puppetService discovery and puppet
Service discovery and puppetMarc Cluet
 
How Danga::Socket handles asynchronous processing and how to write asynchrono...
How Danga::Socket handles asynchronous processing and how to write asynchrono...How Danga::Socket handles asynchronous processing and how to write asynchrono...
How Danga::Socket handles asynchronous processing and how to write asynchrono...Gosuke Miyashita
 
Securing Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp VaultSecuring Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp VaultBram Vogelaar
 
Simple callcenter platform with PHP
Simple callcenter platform with PHPSimple callcenter platform with PHP
Simple callcenter platform with PHPMorten Amundsen
 
PuppetCamp SEA 1 - Puppet Deployment at OnApp
PuppetCamp SEA 1 - Puppet Deployment  at OnAppPuppetCamp SEA 1 - Puppet Deployment  at OnApp
PuppetCamp SEA 1 - Puppet Deployment at OnAppWalter Heck
 
DevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: VagrantDevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: VagrantAntons Kranga
 
Fluentd Meetup 2016 - ServerEngine Integration & Windows support
Fluentd Meetup 2016 - ServerEngine Integration & Windows supportFluentd Meetup 2016 - ServerEngine Integration & Windows support
Fluentd Meetup 2016 - ServerEngine Integration & Windows supportRitta Narita
 
My Opera meets Varnish, Dec 2009
My Opera meets Varnish, Dec 2009My Opera meets Varnish, Dec 2009
My Opera meets Varnish, Dec 2009Cosimo Streppone
 
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suiteIntegrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suiteBram Vogelaar
 
DevOps hackathon Session 2: Basics of Chef
DevOps hackathon Session 2: Basics of ChefDevOps hackathon Session 2: Basics of Chef
DevOps hackathon Session 2: Basics of ChefAntons Kranga
 
Automation with Ansible and Containers
Automation with Ansible and ContainersAutomation with Ansible and Containers
Automation with Ansible and ContainersRodolfo Carvalho
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetWalter Heck
 
VCL template abstraction model and automated deployments to Fastly
VCL template abstraction model and automated deployments to FastlyVCL template abstraction model and automated deployments to Fastly
VCL template abstraction model and automated deployments to FastlyFastly
 

What's hot (20)

PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopPuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
 
About Node.js
About Node.jsAbout Node.js
About Node.js
 
How to do everything with PowerShell
How to do everything with PowerShellHow to do everything with PowerShell
How to do everything with PowerShell
 
Autoscaling with hashi_corp_nomad
Autoscaling with hashi_corp_nomadAutoscaling with hashi_corp_nomad
Autoscaling with hashi_corp_nomad
 
Test driven infrastructure
Test driven infrastructureTest driven infrastructure
Test driven infrastructure
 
Service discovery and puppet
Service discovery and puppetService discovery and puppet
Service discovery and puppet
 
How Danga::Socket handles asynchronous processing and how to write asynchrono...
How Danga::Socket handles asynchronous processing and how to write asynchrono...How Danga::Socket handles asynchronous processing and how to write asynchrono...
How Danga::Socket handles asynchronous processing and how to write asynchrono...
 
Ruby HTTP clients
Ruby HTTP clientsRuby HTTP clients
Ruby HTTP clients
 
Tomcat next
Tomcat nextTomcat next
Tomcat next
 
Securing Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp VaultSecuring Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp Vault
 
Simple callcenter platform with PHP
Simple callcenter platform with PHPSimple callcenter platform with PHP
Simple callcenter platform with PHP
 
PuppetCamp SEA 1 - Puppet Deployment at OnApp
PuppetCamp SEA 1 - Puppet Deployment  at OnAppPuppetCamp SEA 1 - Puppet Deployment  at OnApp
PuppetCamp SEA 1 - Puppet Deployment at OnApp
 
DevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: VagrantDevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: Vagrant
 
Fluentd Meetup 2016 - ServerEngine Integration & Windows support
Fluentd Meetup 2016 - ServerEngine Integration & Windows supportFluentd Meetup 2016 - ServerEngine Integration & Windows support
Fluentd Meetup 2016 - ServerEngine Integration & Windows support
 
My Opera meets Varnish, Dec 2009
My Opera meets Varnish, Dec 2009My Opera meets Varnish, Dec 2009
My Opera meets Varnish, Dec 2009
 
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suiteIntegrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suite
 
DevOps hackathon Session 2: Basics of Chef
DevOps hackathon Session 2: Basics of ChefDevOps hackathon Session 2: Basics of Chef
DevOps hackathon Session 2: Basics of Chef
 
Automation with Ansible and Containers
Automation with Ansible and ContainersAutomation with Ansible and Containers
Automation with Ansible and Containers
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
 
VCL template abstraction model and automated deployments to Fastly
VCL template abstraction model and automated deployments to FastlyVCL template abstraction model and automated deployments to Fastly
VCL template abstraction model and automated deployments to Fastly
 

Similar to Using MCollective with Chef - cfgmgmtcamp.eu 2014

Training Slides: 302 - Securing Your Cluster With SSL
Training Slides: 302 - Securing Your Cluster With SSLTraining Slides: 302 - Securing Your Cluster With SSL
Training Slides: 302 - Securing Your Cluster With SSLContinuent
 
Compliance Automation with InSpec - Chef NYC Meetup - April 2017
Compliance Automation with InSpec - Chef NYC Meetup - April 2017Compliance Automation with InSpec - Chef NYC Meetup - April 2017
Compliance Automation with InSpec - Chef NYC Meetup - April 2017adamleff
 
Securing Cassandra The Right Way
Securing Cassandra The Right WaySecuring Cassandra The Right Way
Securing Cassandra The Right WayDataStax Academy
 
June OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerJune OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerHoward Greenberg
 
Integration Testing as Validation and Monitoring
 Integration Testing as Validation and Monitoring Integration Testing as Validation and Monitoring
Integration Testing as Validation and MonitoringMelissa Benua
 
Cassandra and security
Cassandra and securityCassandra and security
Cassandra and securityBen Bromhead
 
Instaclustr: Securing Cassandra
Instaclustr: Securing CassandraInstaclustr: Securing Cassandra
Instaclustr: Securing CassandraDataStax Academy
 
Securing Cassandra
Securing CassandraSecuring Cassandra
Securing CassandraInstaclustr
 
Splunk: Forward me the REST of those shells
Splunk: Forward me the REST of those shellsSplunk: Forward me the REST of those shells
Splunk: Forward me the REST of those shellsAnthony D Hendricks
 
Powering Remote Developers with Amazon Workspaces
Powering Remote Developers with Amazon WorkspacesPowering Remote Developers with Amazon Workspaces
Powering Remote Developers with Amazon WorkspacesAmazon Web Services
 
Push jobs: an orchestration building block for private Chef
Push jobs: an orchestration building block for private ChefPush jobs: an orchestration building block for private Chef
Push jobs: an orchestration building block for private ChefChef Software, Inc.
 
Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101Abdelkrim Hadjidj
 
Service management Dec 11
Service management Dec 11Service management Dec 11
Service management Dec 11Richard Conway
 
Service Management Dec 11
Service Management Dec 11Service Management Dec 11
Service Management Dec 11clarendonint
 
Application and Server Security
Application and Server SecurityApplication and Server Security
Application and Server SecurityBrian Pontarelli
 
Managing your secrets in a cloud environment
Managing your secrets in a cloud environmentManaging your secrets in a cloud environment
Managing your secrets in a cloud environmentTaswar Bhatti
 
Hashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL Certificates
Hashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL CertificatesHashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL Certificates
Hashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL CertificatesNick Maludy
 
Kafka Security 101 and Real-World Tips
Kafka Security 101 and Real-World Tips Kafka Security 101 and Real-World Tips
Kafka Security 101 and Real-World Tips confluent
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service FabricDavide Benvegnù
 

Similar to Using MCollective with Chef - cfgmgmtcamp.eu 2014 (20)

Training Slides: 302 - Securing Your Cluster With SSL
Training Slides: 302 - Securing Your Cluster With SSLTraining Slides: 302 - Securing Your Cluster With SSL
Training Slides: 302 - Securing Your Cluster With SSL
 
Compliance Automation with InSpec - Chef NYC Meetup - April 2017
Compliance Automation with InSpec - Chef NYC Meetup - April 2017Compliance Automation with InSpec - Chef NYC Meetup - April 2017
Compliance Automation with InSpec - Chef NYC Meetup - April 2017
 
Securing Cassandra The Right Way
Securing Cassandra The Right WaySecuring Cassandra The Right Way
Securing Cassandra The Right Way
 
June OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerJune OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification Manager
 
CakePHP REST Plugin
CakePHP REST PluginCakePHP REST Plugin
CakePHP REST Plugin
 
Integration Testing as Validation and Monitoring
 Integration Testing as Validation and Monitoring Integration Testing as Validation and Monitoring
Integration Testing as Validation and Monitoring
 
Cassandra and security
Cassandra and securityCassandra and security
Cassandra and security
 
Instaclustr: Securing Cassandra
Instaclustr: Securing CassandraInstaclustr: Securing Cassandra
Instaclustr: Securing Cassandra
 
Securing Cassandra
Securing CassandraSecuring Cassandra
Securing Cassandra
 
Splunk: Forward me the REST of those shells
Splunk: Forward me the REST of those shellsSplunk: Forward me the REST of those shells
Splunk: Forward me the REST of those shells
 
Powering Remote Developers with Amazon Workspaces
Powering Remote Developers with Amazon WorkspacesPowering Remote Developers with Amazon Workspaces
Powering Remote Developers with Amazon Workspaces
 
Push jobs: an orchestration building block for private Chef
Push jobs: an orchestration building block for private ChefPush jobs: an orchestration building block for private Chef
Push jobs: an orchestration building block for private Chef
 
Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101Paris FOD meetup - kafka security 101
Paris FOD meetup - kafka security 101
 
Service management Dec 11
Service management Dec 11Service management Dec 11
Service management Dec 11
 
Service Management Dec 11
Service Management Dec 11Service Management Dec 11
Service Management Dec 11
 
Application and Server Security
Application and Server SecurityApplication and Server Security
Application and Server Security
 
Managing your secrets in a cloud environment
Managing your secrets in a cloud environmentManaging your secrets in a cloud environment
Managing your secrets in a cloud environment
 
Hashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL Certificates
Hashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL CertificatesHashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL Certificates
Hashitalks 2021 - How the Dynamic Duo of Vault and Puppet Tame SSL Certificates
 
Kafka Security 101 and Real-World Tips
Kafka Security 101 and Real-World Tips Kafka Security 101 and Real-World Tips
Kafka Security 101 and Real-World Tips
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
 

Recently uploaded

10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKUXDXConf
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoUXDXConf
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfSrushith Repakula
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...marcuskenyatta275
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreelreely ones
 

Recently uploaded (20)

10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, Ocado
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 

Using MCollective with Chef - cfgmgmtcamp.eu 2014