SlideShare a Scribd company logo
The MetaCPAN VM
(for Dummies?)

Olaf Alders @wundercounter
Toronto Perl Mongers
Oct 24, 2013

Monday, 11 November, 13
Why bother?
Installation and configuration from
scratch is non-trivial
Remove some of the up-front cost to
contributors
Develop in an environment which
closely mimics deployment

Monday, 11 November, 13
Software
Requirements
VirtualBox
Vagrant
git

Monday, 11 November, 13
Hardware
Requirements
Less than 1 GB hard disk space
Less than 1 GB of RAM
Some arbitrary amount of CPU

Monday, 11 November, 13
That was the minimum

As far as hardware goes, you can
scale up
Depends on how far you want to take
this

Monday, 11 November, 13
The MetaCPAN Stack
Debian
puppet
ElasticSearch
Catalyst
CPAN or miniCPAN or even some
arbitrary CPAN dirs
perlbrew

Monday, 11 November, 13
The Meta Pieces
cpan-api (the original MetaCPAN)
metacpan-web
metacpan-puppet
metacpan-developer
metacpan-examples

Monday, 11 November, 13
How easy is it?
mkdir metacpan && cd metacpan
git
git
git
git

clone
clone
clone
clone

git://github.com/CPAN-API/metacpan-puppet.git
git://github.com/CPAN-API/cpan-api.git
git://github.com/CPAN-API/metacpan-web.git
git://github.com/CPAN-API/metacpan-explorer.git

cd ..
git clone git://github.com/CPAN-API/metacpan-developer.git
cd metacpan-developer
vagrant up && vagrant ssh

Monday, 11 November, 13
Guest vs Host

Host: your laptop, PC, whatever. your
hardware
Guest: the installed VM

Monday, 11 November, 13
So what?

Edit code using the tools you already
have installed on the *Host*
What?

Monday, 11 November, 13
No SSH setup
required

vagrant ssh “just works”

Monday, 11 November, 13
Port Forwarding
“Just works”

cpan-api

http://localhost:5000

metacpan-web http://localhost:5001

Monday, 11 November, 13
Sharing files
without scp
Files you add to the metacpandeveloper folder will be available
in /vagrant
Files you add to /vagrant will be
available in metacpan-developer

Monday, 11 November, 13
Managing services on
the guest
stop, start, restart services
/etc/init.d/metacpan-www
/etc/init.d/metacpan-api
/etc/init.d/elasticsearch

Monday, 11 November, 13
Does it work?

http://localhost:5001
http://0.0.0.0:5001

Monday, 11 November, 13
Having trouble?

The metacpan-developer README has
lots of great troubleshooting tips

Monday, 11 November, 13
Maybe modules are
missing?
if the dependencies have changed
since the Vagrant boxfile was built,
you may be missing some modules
sudo /home/metacpan/bin/install_modules

Monday, 11 November, 13
You’re ready to hack

We’ll discuss how to hack MetaCPAN in
next month’s presentation

Monday, 11 November, 13

More Related Content

What's hot (20)

ODP
Continuous integration with Git & CI Joe
Shawn Price
 
PDF
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
Puppet
 
PDF
Towards Continuous Deployment with Django
Roger Barnes
 
PDF
Puppet for SysAdmins
Puppet
 
PDF
Continuous Integration Testing in Django
Kevin Harvey
 
PDF
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Puppet
 
PDF
Zero Downtime Deployment with Ansible
Stein Inge Morisbak
 
PDF
Selenium & PHPUnit made easy with Steward (Berlin, April 2017)
Ondřej Machulda
 
PPT
AppengineJS
Panagiotis Astithas
 
PDF
DevOps(3) : Ansible - (MOSG)
Soshi Nemoto
 
PDF
Instruction: dev environment
Soshi Nemoto
 
PPT
Python virtualenv & pip in 90 minutes
Larry Cai
 
PDF
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...
Ondřej Machulda
 
PDF
PHP-VCR behat case study
Pascal Thormeier
 
PPTX
Docker security configuration
John Kinsella
 
ODP
Capifony. Minsk PHP MeetUp #11
Yury Pliashkou
 
PPT
Assurer - a pluggable server testing/monitoring framework
Gosuke Miyashita
 
PDF
PHP-VCR Lightningtalk
Adrian Philipp
 
PDF
Flask Introduction - Python Meetup
Areski Belaid
 
PDF
Frontend JS workflow - Gulp 4 and the like
Damien Seguin
 
Continuous integration with Git & CI Joe
Shawn Price
 
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
Puppet
 
Towards Continuous Deployment with Django
Roger Barnes
 
Puppet for SysAdmins
Puppet
 
Continuous Integration Testing in Django
Kevin Harvey
 
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Puppet
 
Zero Downtime Deployment with Ansible
Stein Inge Morisbak
 
Selenium & PHPUnit made easy with Steward (Berlin, April 2017)
Ondřej Machulda
 
AppengineJS
Panagiotis Astithas
 
DevOps(3) : Ansible - (MOSG)
Soshi Nemoto
 
Instruction: dev environment
Soshi Nemoto
 
Python virtualenv & pip in 90 minutes
Larry Cai
 
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...
Ondřej Machulda
 
PHP-VCR behat case study
Pascal Thormeier
 
Docker security configuration
John Kinsella
 
Capifony. Minsk PHP MeetUp #11
Yury Pliashkou
 
Assurer - a pluggable server testing/monitoring framework
Gosuke Miyashita
 
PHP-VCR Lightningtalk
Adrian Philipp
 
Flask Introduction - Python Meetup
Areski Belaid
 
Frontend JS workflow - Gulp 4 and the like
Damien Seguin
 

Similar to The MetaCPAN VM for Dummies Part One (Installation) (20)

PDF
Security Testing Using Infrastructure-As-Code
Vision Concepts Infrastructure Services Solution
 
PDF
Instant LAMP Stack with Vagrant and Puppet
Patrick Lee
 
PDF
Create Disposable Test Environments with Vagrant and Puppet
Coveros, Inc.
 
PDF
Create Disposable Test Environments with Vagrant and Puppet
Gene Gotimer
 
PPT
Puphpet
jimlindforpope
 
PDF
Puppet and Vagrant in development
Adam Culp
 
PPTX
Virtualization for Developers
John Coggeshall
 
PDF
Vagrant-Binding JUG Dortmund
Hendrik Ebbers
 
PDF
Intro to vagrant
Mantas Klasavicius
 
PDF
Vagrant and Puppet primer - NWDUG Sept 2013
digital006
 
PDF
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
Hendrik Ebbers
 
ODP
Puphpet
jimlindforpope
 
PPTX
Harmonious Development: Via Vagrant and Puppet
Achieve Internet
 
PPTX
Virtualization for Developers
John Coggeshall
 
PDF
CPANci: Continuous Integration for CPAN
Mike Friedman
 
PDF
Dev/Stage/Prod Parity with Vagrant
Mike Bybee
 
PPTX
Vagrant
Larry Nung
 
PPTX
Environments line-up! Vagrant & Puppet 101
jelrikvh
 
PDF
Getting started with puppet and vagrant (1)
Puppet
 
PPTX
Virtualization for Developers
John Coggeshall
 
Security Testing Using Infrastructure-As-Code
Vision Concepts Infrastructure Services Solution
 
Instant LAMP Stack with Vagrant and Puppet
Patrick Lee
 
Create Disposable Test Environments with Vagrant and Puppet
Coveros, Inc.
 
Create Disposable Test Environments with Vagrant and Puppet
Gene Gotimer
 
Puppet and Vagrant in development
Adam Culp
 
Virtualization for Developers
John Coggeshall
 
Vagrant-Binding JUG Dortmund
Hendrik Ebbers
 
Intro to vagrant
Mantas Klasavicius
 
Vagrant and Puppet primer - NWDUG Sept 2013
digital006
 
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
Hendrik Ebbers
 
Harmonious Development: Via Vagrant and Puppet
Achieve Internet
 
Virtualization for Developers
John Coggeshall
 
CPANci: Continuous Integration for CPAN
Mike Friedman
 
Dev/Stage/Prod Parity with Vagrant
Mike Bybee
 
Vagrant
Larry Nung
 
Environments line-up! Vagrant & Puppet 101
jelrikvh
 
Getting started with puppet and vagrant (1)
Puppet
 
Virtualization for Developers
John Coggeshall
 
Ad

Recently uploaded (20)

PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
July Patch Tuesday
Ivanti
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
July Patch Tuesday
Ivanti
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Ad

The MetaCPAN VM for Dummies Part One (Installation)