SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Gerald Z. Villorente
Drupal | Linux | DevOps | Consultant | Open-Source Advocate
VielSoft Ltd. | MossWood Creative
Intro to Kalabox
Our greatest weakness lies in giving up. The
most certain way to succeed is always to
try just one more time.
- T.A Edison
Infuse your life with action.
Don't wait for it to happen.
Make it happen. Make your
own future. Make your own
hope. Make your own love.
And whatever your beliefs,
honor your creator, not by
passively waiting for grace
to come down from upon
high, but by doing what
you can to make grace
happen... yourself, right
now, right down here on
Earth.
- Bradley Whitford
About Me
 Farmer
 Tricycle Driver
 Disc Jockey
 Systems Administrator
 Web Developer
 Drupalista
 DevOps Practitioner
 OpenStack Kid
 Startup
 Father
The Cause of Chaos
Common Reasons
● Inconsistent environment
● Limited/lack of knowledge on the
importance of consistency
● It works on my machine
DIY Disadvantages
● Inconsistent environment
● Out of sync with the standards
● Long ramp-up/training for newbie
● It works on my machine!
● Inability to test Ops scripts
The Results
● Buggy
● Unreliable testing
● Ability to break the production
Introducing Kalabox
What is Kalabox?
What is Kalabox?
A framework to build reusable, super fast, highly
customizable, extensible and local integrated workflow
solutions for all kinds of apps.
Importants
●
Alpha (v0.10.5-alpha5)
●
Works only on Pantheon (for now)
With Kalabox you can:
●
Easily mimic your production environment on local
●
Setup, develop, pull and deploy your sites super fast
●
Standardize your teams dev environments and tools on
OSX, Windows and Linux
●
Easily customize or extend tooling, deployment options
and basically any other functionality
●
Free yourself from the tyranny of inferior local
development products
Behind Kalabox
●
Docker
●
Nodejs
●
Boot2docker
●
Virtualbox
Kalabox Stuf
●
Pantheon
●
Git
●
Drush
●
Solr
●
SSL
●
Terminus
●
Redis
Why Kalabox?
●
Isolation
●
Mirror production
●
Test Ops scripts
●
Developers and QA can setup their environment easily
●
Faster onboarding
Kalabox Installation
●
Download the Kalabox binary for your platform from
here.
●
For Windows just install the binary.
●
For Unix and Mac just place the binary to
/usr/local/bin/. Rename it to kbox.
●
In your terminal you can access it by typing kbox.
Kalabox Filesystem
code – Contains project code (Drupal).
Kalabox Filesystem
config – Contains configurations for the environment like
Drush, Solr, PHP, Terminus, MySQL, NginX, and Tomcat.
Kalabox Filesystem
dockerfiles – Contains Docker files for Kalabox images like
Appserver, Mariadb, Redis, Solr, and Terminus
Kalabox Filesystem
node_modules – Contains nodejs modules.
Kalabox Filesystem
plugins – Contains custom extensions needed by the environment.
Kalabox Filesystem
scripts – Contains scripts needed by Kalabox to provision stuff or
to handle depedency.
Kalabox Filesystem
kalabox.json – Main configuration file of Kalabox.
Kalabox Filesystem
package.json – Configuration file for packages.
Kalabox Examples
Creating a Project
gerald@von-viel:~/Desktop/test$ kbox create pantheon
? Pantheon dashboard email: geraldvillorente@gmail.com
? Pantheon dashboard password: ************
? Which site? berkeley-test
? Which environment? dev
? What will you call this monster you have created: berkeley-test
Building your app...
###############################################################
Welcome to Kalabox 2!
We see this is your first time running a Kalabox command that
requires the use of the Kalabox engine. Before we can do this
We need to install some special things to make sure you are
good to go. Please agree to the prompt below to install all
the magic. (takes about 5 minutes with average download speed)
###############################################################
Starting Kalabox
$ kbox up
info: BOOT2DOCKER => Starting up.
maxRetries=3, max=3
info: BOOT2DOCKER => Initializing boot2docker
[1].
info: BOOT2DOCKER => Sharing folders [1].
info: BOOT2DOCKER => Bringing boot2docker up
[1].
info: BOOT2DOCKER => Boot2docker is up.
Kalabox engine has been activated.
Shutting Kalabox
$ kbox down
info: BOOT2DOCKER => Shutting down [1].
info: BOOT2DOCKER => Shutting down [2].
info: BOOT2DOCKER => Shut down successful.
Kalabox engine has been deactivated.
Running Kalabox Containers
$ kbox berkeley-test start
info: BOOT2DOCKER => Starting up. maxRetries=3, max=3
info: BOOT2DOCKER => Initializing boot2docker [1].
info: BOOT2DOCKER => Sharing folders [1].
info: BOOT2DOCKER => Bringing boot2docker up [1].
info: BOOT2DOCKER => Boot2docker is up.
Kalabox engine has been activated.
info: DOCKER => Creating ad hoc container "kalabox/debian:stable".
name=kalabox_temp-8c014d39-1b61-4620-9ce3-a3ba30bf4eaa, Cmd=[bash], Tty=true,
Image=kalabox/debian:stable, Env=[APPDOMAIN=berkeley-test.kbox, KBOX_CODEDIR=code,
KALABOX=true, APPNAME=berkeley-test, SSH_KEY=pantheon.kalabox.id_rsa, GITUSER=Gerald
Villorente, GITEMAIL=geraldvillorente@gmail.com,
PANTHEON_ACCOUNT=geraldvillorente@gmail.com], VolumesFrom=[kb_berkeley-test_data]
info: DOCKER => Ad hoc container created.
1b0fcbe5f01f0f9336e9761f254264113f6008efc97ed674a5c6bbad0d099182
info: DOCKER => Starting ad hoc container
"1b0fcbe5f01f0f9336e9761f254264113f6008efc97ed674a5c6bbad0d099182".
Binds=[/Users/gerald/Desktop/test/berkeley-test:/src:rw]
. . . .
Stopping Kalabox Containers
$ kbox stop
info: DOCKER => Stopping container.
83e5ea89343a57a33cc8834c68474bdc4ea984b06f42c2a6173381b5448ae649
info: DOCKER => Container stopped. 83e5ea89343a57a33cc8834c68474bdc4ea984b06f42c2a6173381b5448ae649
info: DOCKER => Stopping container.
0d370cb158d7986a07ca750ca22f1cef53b0dd551b62b11ee8b7bad48f2b5e1f
info: DOCKER => Container stopped. 0d370cb158d7986a07ca750ca22f1cef53b0dd551b62b11ee8b7bad48f2b5e1f
info: DOCKER => Stopping container.
7c65caea63cd92cdb0e6508a99643b04b7d2baab14d57427603b6a3fdd7fb6ca
info: DOCKER => Container stopped. 7c65caea63cd92cdb0e6508a99643b04b7d2baab14d57427603b6a3fdd7fb6ca
info: DOCKER => Stopping container.
113fba72fc69ba59b5f514d043083544c34145a86b5124638ff1468db6f48772
info: DOCKER => Container stopped. 113fba72fc69ba59b5f514d043083544c34145a86b5124638ff1468db6f48772
info: BOOT2DOCKER => Shutting down [1].
info: BOOT2DOCKER => Shut down successful.
Kalabox engine has been deactivated.
SSH'ng to Kalabox
$ boot2docker --vm="Kalabox2" ssh
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
______ o __/
  __/
___________/
_ _ ____ _ _
| |__ ___ ___ | |_|___  __| | ___ ___| | _____ _ __
| '_  / _  / _ | __| __) / _` |/ _  / __| |/ / _  '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ |
|_.__/ ___/ ___/ __|_______,_|___/ ___|_|____|_|
Boot2Docker version 1.8.1, build master : 075b6aa - Tue Aug 25 07:53:54 UTC 2015
Docker version 1.8.1, build d12ea79
Listing Docker containers
$ docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
a8f3a6abdb75 kalabox/syncthing:v0.10.0 "/bin/bash /start.sh" 3 hours ago Up 3 hours
0.0.0.0:22000->22000/tcp, 0.0.0.0:21025-21026->21025-21026/udp, 0.0.0.0:60008->60008/tcp kalabox_syncthing
83e5ea89343a kalabox/pantheon-appserver:v0.10.0 "/root/start.sh" 12 hours ago Up 3 hours
0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp kb_berkeley-test_appserver
113fba72fc69 kalabox/pantheon-mariadb:v0.10.0 "/start.sh" 12 hours ago Up 3 hours
0.0.0.0:32775->3306/tcp kb_berkeley-test_db
7c65caea63cd kalabox/pantheon-solr:v0.10.0 "/bin/bash /start.sh" 12 hours ago Up 3 hours
0.0.0.0:32774->449/tcp kb_berkeley-test_solr
0d370cb158d7 kalabox/pantheon-redis:v0.10.0 "/usr/bin/redis-serve" 12 hours ago Up 3 hours
0.0.0.0:32773->80/tcp, 0.0.0.0:32772->443/tcp, 0.0.0.0:32771->8160/tcp, 0.0.0.0:32770->8161/tcp kb_berkeley-test_redis
fa4dcc00208a kalabox/data:v0.10.0 "/bin/true" 12 hours ago Created
kb_berkeley-test_data
58dfb5aa9a28 kalabox/skydock:v0.10.0 "/skydock -ttl 214748" 12 hours ago Up 3 hours
kalabox_skydock
1461f090bed5 kalabox/hipache:v0.10.0 "supervisord -n" 12 hours ago Up 3 hours
0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:8160->8160/tcp kalabox_hipache
d5f4167da6e5 kalabox/dnsmasq:v0.10.0 "/root/start.sh" 12 hours ago Up 3 hours
10.13.37.42:53->53/udp, 53/tcp kalabox_dnsmasq
b3b391f5cd80 kalabox/data:v0.10.0 "/bin/true" 12 hours ago Exited (0) 3 hours ago
kalabox_data
8df876a5b56c kalabox/skydns:v0.10.0 "/skydns -http 0.0.0." 12 hours ago Up 3 hours
172.17.42.1:53->53/udp, 8080/tcp kalabox_skydns
Listing Application Containers
$ kbox containers
{
"id": "0d370cb158d7986a07ca750ca22f1cef53b0dd551b62b11ee8b7bad48f2b5e1f",
"name": "kb_berkeley-test_redis",
"app": "berkeley-test",
"ports": [
"443/tcp=>32772",
"80/tcp=>32773",
"8160/tcp=>32771",
"8161/tcp=>32770"
],
"running": true
}
{
"id": "83e5ea89343a57a33cc8834c68474bdc4ea984b06f42c2a6173381b5448ae649",
"name": "kb_berkeley-test_appserver",
"app": "berkeley-test",
"ports": [
"443/tcp=>32768",
"80/tcp=>32769"
],
"running": true
}
{
"id": "113fba72fc69ba59b5f514d043083544c34145a86b5124638ff1468db6f48772",
"name": "kb_berkeley-test_db",
"app": "berkeley-test",
"ports": [
"3306/tcp=>32775"
],
"running": true
}
{
"id": "7c65caea63cd92cdb0e6508a99643b04b7d2baab14d57427603b6a3fdd7fb6ca",
"name": "kb_berkeley-test_solr",
"app": "berkeley-test",
"ports": [
"449/tcp=>32774"
],
"running": true
}
SSH'ng to Docker containers
inside Boot2docker machine
$ docker exec -it a8f3a6abdb75 bash
root@a8f3a6abdb75:/#
Stopping Docker containers
inside Boot2docker machine
$ docker stop 83e5ea89343a
83e5ea89343a
Demo
Where to start?
●
Vagrant
●
Virtualbox
●
Docker
In case you need more help
●
Google it
●
Stackoverflow
●
https://github.com/kalabox/kalabox
Question?
Good luck young man!
Contact
●
Skype : gerald.villorente
●
E-Mail | Hangout : geraldvillorente@gmail.com
●
Github: https://github.com/geraldvillorente
●
Mobile: 09167332641
Credits
●
Mike Pirog of Kalamuna, Kalabox project lead.
●
Drupal User Group Cebu headed by Luc Bezier and PrometSource.
●
AsiaWorld Advertising for sponsoring my accomodation and food.
●
MossWood Creative
●
VielSoft Ltd.
Disclaimer
All images used in this presentation are not
mine. Therefore, all rights reserved to the
original owner.

Mais conteúdo relacionado

Mais procurados

Modernize Your Drupal Development
Modernize Your Drupal DevelopmentModernize Your Drupal Development
Modernize Your Drupal Development
Chris Tankersley
 

Mais procurados (20)

PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, Puppet
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, PuppetPuppetConf 2016: Puppet on Windows – Nicolas Corrarello, Puppet
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, Puppet
 
Docker Demo @ IuK Seminar
Docker Demo @ IuK SeminarDocker Demo @ IuK Seminar
Docker Demo @ IuK Seminar
 
PuppetConf 2016: Running Puppet Software in Docker Containers – Gareth Rushgr...
PuppetConf 2016: Running Puppet Software in Docker Containers – Gareth Rushgr...PuppetConf 2016: Running Puppet Software in Docker Containers – Gareth Rushgr...
PuppetConf 2016: Running Puppet Software in Docker Containers – Gareth Rushgr...
 
Modernize Your Drupal Development
Modernize Your Drupal DevelopmentModernize Your Drupal Development
Modernize Your Drupal Development
 
Webinar - Manage Firewall with Puppet
Webinar - Manage Firewall with PuppetWebinar - Manage Firewall with Puppet
Webinar - Manage Firewall with Puppet
 
Open shift
Open shiftOpen shift
Open shift
 
Adventures with Podman and Varlink
Adventures with Podman and VarlinkAdventures with Podman and Varlink
Adventures with Podman and Varlink
 
Release management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRARelease management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRA
 
Installation and setup hadoop published
Installation and setup hadoop publishedInstallation and setup hadoop published
Installation and setup hadoop published
 
Using Composer with Drupal and Drush
Using Composer with Drupal and DrushUsing Composer with Drupal and Drush
Using Composer with Drupal and Drush
 
Big query - Command line tools and Tips - (MOSG)
Big query - Command line tools and Tips - (MOSG)Big query - Command line tools and Tips - (MOSG)
Big query - Command line tools and Tips - (MOSG)
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer Toolbox
 
Converting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - CascadiaConverting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - Cascadia
 
Docker
DockerDocker
Docker
 
Chef Conf 2015: Package Management & Chef
Chef Conf 2015: Package Management & ChefChef Conf 2015: Package Management & Chef
Chef Conf 2015: Package Management & Chef
 
Docker @ Data Science Meetup
Docker @ Data Science MeetupDocker @ Data Science Meetup
Docker @ Data Science Meetup
 
10 things you should know about django
10 things you should know about django10 things you should know about django
10 things you should know about django
 
Odoo development workflow with pip and virtualenv
Odoo development workflow with pip and virtualenvOdoo development workflow with pip and virtualenv
Odoo development workflow with pip and virtualenv
 
Smartgears
SmartgearsSmartgears
Smartgears
 
Badge Poser v3.0 - A DevOps Journey
Badge Poser v3.0 - A DevOps JourneyBadge Poser v3.0 - A DevOps Journey
Badge Poser v3.0 - A DevOps Journey
 

Destaque

Medicina emocionamente inteligente
Medicina emocionamente inteligenteMedicina emocionamente inteligente
Medicina emocionamente inteligente
Enfoque Dental
 
Ghidul romanului
Ghidul romanuluiGhidul romanului
Ghidul romanului
xerxe7
 
Virus informático sergio cruz
Virus informático sergio cruzVirus informático sergio cruz
Virus informático sergio cruz
SNCB12NIC
 
Catálogo Muestra Fotografías sobre el Espacio Memoria y Derechos Humanos (ex ...
Catálogo Muestra Fotografías sobre el Espacio Memoria y Derechos Humanos (ex ...Catálogo Muestra Fotografías sobre el Espacio Memoria y Derechos Humanos (ex ...
Catálogo Muestra Fotografías sobre el Espacio Memoria y Derechos Humanos (ex ...
Vanina Matinhos
 
Presentacion Albergue Infantil Esperanza A
Presentacion  Albergue Infantil Esperanza APresentacion  Albergue Infantil Esperanza A
Presentacion Albergue Infantil Esperanza A
guest3518d1
 
CUENTO El señor ch
CUENTO El señor chCUENTO El señor ch
CUENTO El señor ch
amonlop
 

Destaque (20)

CV - Agustoni Omar
CV - Agustoni OmarCV - Agustoni Omar
CV - Agustoni Omar
 
Revolució xarxes socials
Revolució xarxes socialsRevolució xarxes socials
Revolució xarxes socials
 
Medicina emocionamente inteligente
Medicina emocionamente inteligenteMedicina emocionamente inteligente
Medicina emocionamente inteligente
 
Utopia Klimahouse 2016
Utopia Klimahouse 2016Utopia Klimahouse 2016
Utopia Klimahouse 2016
 
En BEEP, equípate al mejor precio
En BEEP, equípate al mejor precioEn BEEP, equípate al mejor precio
En BEEP, equípate al mejor precio
 
Grupo Eibar - Tasadas en Lorentxoko - Bergara
Grupo Eibar - Tasadas en Lorentxoko - BergaraGrupo Eibar - Tasadas en Lorentxoko - Bergara
Grupo Eibar - Tasadas en Lorentxoko - Bergara
 
Ghidul romanului
Ghidul romanuluiGhidul romanului
Ghidul romanului
 
Virus informático sergio cruz
Virus informático sergio cruzVirus informático sergio cruz
Virus informático sergio cruz
 
Catálogo Muestra Fotografías sobre el Espacio Memoria y Derechos Humanos (ex ...
Catálogo Muestra Fotografías sobre el Espacio Memoria y Derechos Humanos (ex ...Catálogo Muestra Fotografías sobre el Espacio Memoria y Derechos Humanos (ex ...
Catálogo Muestra Fotografías sobre el Espacio Memoria y Derechos Humanos (ex ...
 
Geometría dinámica
Geometría dinámicaGeometría dinámica
Geometría dinámica
 
MBA & Company - Expertise On Demand
MBA & Company - Expertise On DemandMBA & Company - Expertise On Demand
MBA & Company - Expertise On Demand
 
Viajar por españa
Viajar por españaViajar por españa
Viajar por españa
 
Presentacion Albergue Infantil Esperanza A
Presentacion  Albergue Infantil Esperanza APresentacion  Albergue Infantil Esperanza A
Presentacion Albergue Infantil Esperanza A
 
Huawei presentation new it power to address the uncertainties
Huawei presentation   new it power to address the uncertaintiesHuawei presentation   new it power to address the uncertainties
Huawei presentation new it power to address the uncertainties
 
CUENTO El señor ch
CUENTO El señor chCUENTO El señor ch
CUENTO El señor ch
 
Bgp cisco
Bgp ciscoBgp cisco
Bgp cisco
 
Insec stop
Insec stopInsec stop
Insec stop
 
Instrumentos De China 1202818773850154 2
Instrumentos De China 1202818773850154 2Instrumentos De China 1202818773850154 2
Instrumentos De China 1202818773850154 2
 
5 Secret Strategies To Grow Your Service Business
5 Secret Strategies To Grow Your Service Business5 Secret Strategies To Grow Your Service Business
5 Secret Strategies To Grow Your Service Business
 
Rebelión en la granja
Rebelión en la granjaRebelión en la granja
Rebelión en la granja
 

Semelhante a Introduction to Kalabox

Semelhante a Introduction to Kalabox (20)

Real World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and ProductionReal World Experience of Running Docker in Development and Production
Real World Experience of Running Docker in Development and Production
 
Perspectives on Docker
Perspectives on DockerPerspectives on Docker
Perspectives on Docker
 
Docker Basics & Alfresco Content Services
Docker Basics & Alfresco Content ServicesDocker Basics & Alfresco Content Services
Docker Basics & Alfresco Content Services
 
Docker n co
Docker n coDocker n co
Docker n co
 
Containers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkContainers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech Talk
 
Running .NET on Docker
Running .NET on DockerRunning .NET on Docker
Running .NET on Docker
 
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
 
Streamline your development environment with docker
Streamline your development environment with dockerStreamline your development environment with docker
Streamline your development environment with docker
 
Geode on Docker
Geode on DockerGeode on Docker
Geode on Docker
 
Docker Security: Are Your Containers Tightly Secured to the Ship?
Docker Security: Are Your Containers Tightly Secured to the Ship?Docker Security: Are Your Containers Tightly Secured to the Ship?
Docker Security: Are Your Containers Tightly Secured to the Ship?
 
手把手帶你學Docker 03042017
手把手帶你學Docker 03042017手把手帶你學Docker 03042017
手把手帶你學Docker 03042017
 
Learning Docker with Thomas
Learning Docker with ThomasLearning Docker with Thomas
Learning Docker with Thomas
 
Docker in Action
Docker in ActionDocker in Action
Docker in Action
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 
Docker perl build
Docker perl buildDocker perl build
Docker perl build
 
Docker, c'est bonheur !
Docker, c'est bonheur !Docker, c'est bonheur !
Docker, c'est bonheur !
 
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
 
Docker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google CloudDocker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google Cloud
 
時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇時代在變 Docker 要會:台北 Docker 一日入門篇
時代在變 Docker 要會:台北 Docker 一日入門篇
 
Package your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and KubernetesPackage your Java EE Application using Docker and Kubernetes
Package your Java EE Application using Docker and Kubernetes
 

Mais de Gerald Villorente

BITS 2015: The Beauty of Drupal
BITS 2015: The Beauty of DrupalBITS 2015: The Beauty of Drupal
BITS 2015: The Beauty of Drupal
Gerald Villorente
 
Consistent Development Environment with Vagrant and Chef
Consistent Development Environment with Vagrant and ChefConsistent Development Environment with Vagrant and Chef
Consistent Development Environment with Vagrant and Chef
Gerald Villorente
 
Drush Deployment Manager: Deployment Made Easy
Drush Deployment Manager: Deployment Made EasyDrush Deployment Manager: Deployment Made Easy
Drush Deployment Manager: Deployment Made Easy
Gerald Villorente
 
Drupal Performance and Scaling
Drupal Performance and ScalingDrupal Performance and Scaling
Drupal Performance and Scaling
Gerald Villorente
 

Mais de Gerald Villorente (20)

BITS 2015: The Beauty of Drupal
BITS 2015: The Beauty of DrupalBITS 2015: The Beauty of Drupal
BITS 2015: The Beauty of Drupal
 
Introduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, TerminologiesIntroduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, Terminologies
 
Consistent Development Environment with Vagrant and Chef
Consistent Development Environment with Vagrant and ChefConsistent Development Environment with Vagrant and Chef
Consistent Development Environment with Vagrant and Chef
 
Drush Deployment Manager: Deployment Made Easy
Drush Deployment Manager: Deployment Made EasyDrush Deployment Manager: Deployment Made Easy
Drush Deployment Manager: Deployment Made Easy
 
Consistent Development Environment using Vagrant and Chef
Consistent Development Environment using Vagrant and ChefConsistent Development Environment using Vagrant and Chef
Consistent Development Environment using Vagrant and Chef
 
Why Drupal is Rockstar?
Why Drupal is Rockstar?Why Drupal is Rockstar?
Why Drupal is Rockstar?
 
DevOps: Cooking Drupal Deployment
DevOps: Cooking Drupal DeploymentDevOps: Cooking Drupal Deployment
DevOps: Cooking Drupal Deployment
 
Drupal Pilipinas Apprentice: LAMP Administration, CSS, and Vagrant
Drupal Pilipinas Apprentice: LAMP Administration, CSS, and VagrantDrupal Pilipinas Apprentice: LAMP Administration, CSS, and Vagrant
Drupal Pilipinas Apprentice: LAMP Administration, CSS, and Vagrant
 
Drupal
DrupalDrupal
Drupal
 
Best Practices: Drupal Development
Best Practices: Drupal DevelopmentBest Practices: Drupal Development
Best Practices: Drupal Development
 
Drupal Deployment and Essential Development Tools - 2nd Edition
Drupal Deployment and Essential Development Tools - 2nd EditionDrupal Deployment and Essential Development Tools - 2nd Edition
Drupal Deployment and Essential Development Tools - 2nd Edition
 
Drupal Deployment and Essential Development Tools
Drupal Deployment and Essential Development ToolsDrupal Deployment and Essential Development Tools
Drupal Deployment and Essential Development Tools
 
Setting Up Cross-Browser Testing Environment (Debian-based System)
Setting Up Cross-Browser Testing Environment  (Debian-based System)Setting Up Cross-Browser Testing Environment  (Debian-based System)
Setting Up Cross-Browser Testing Environment (Debian-based System)
 
Git: Git'ing the Basic
Git: Git'ing the BasicGit: Git'ing the Basic
Git: Git'ing the Basic
 
Anatomy of Drupal
Anatomy of DrupalAnatomy of Drupal
Anatomy of Drupal
 
Drupal Security Hardening
Drupal Security HardeningDrupal Security Hardening
Drupal Security Hardening
 
Drupal Security Hardening
Drupal Security HardeningDrupal Security Hardening
Drupal Security Hardening
 
Drupal Performance and Scaling
Drupal Performance and ScalingDrupal Performance and Scaling
Drupal Performance and Scaling
 
Web Security
Web SecurityWeb Security
Web Security
 
Automating Drupal Deployment
Automating Drupal DeploymentAutomating Drupal Deployment
Automating Drupal Deployment
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Introduction to Kalabox

  • 1.
  • 2. Gerald Z. Villorente Drupal | Linux | DevOps | Consultant | Open-Source Advocate VielSoft Ltd. | MossWood Creative Intro to Kalabox
  • 3. Our greatest weakness lies in giving up. The most certain way to succeed is always to try just one more time. - T.A Edison
  • 4. Infuse your life with action. Don't wait for it to happen. Make it happen. Make your own future. Make your own hope. Make your own love. And whatever your beliefs, honor your creator, not by passively waiting for grace to come down from upon high, but by doing what you can to make grace happen... yourself, right now, right down here on Earth. - Bradley Whitford
  • 5. About Me  Farmer  Tricycle Driver  Disc Jockey  Systems Administrator  Web Developer  Drupalista  DevOps Practitioner  OpenStack Kid  Startup  Father
  • 6. The Cause of Chaos
  • 7.
  • 8. Common Reasons ● Inconsistent environment ● Limited/lack of knowledge on the importance of consistency ● It works on my machine
  • 9. DIY Disadvantages ● Inconsistent environment ● Out of sync with the standards ● Long ramp-up/training for newbie ● It works on my machine! ● Inability to test Ops scripts
  • 10. The Results ● Buggy ● Unreliable testing ● Ability to break the production
  • 13. What is Kalabox? A framework to build reusable, super fast, highly customizable, extensible and local integrated workflow solutions for all kinds of apps.
  • 15. With Kalabox you can: ● Easily mimic your production environment on local ● Setup, develop, pull and deploy your sites super fast ● Standardize your teams dev environments and tools on OSX, Windows and Linux ● Easily customize or extend tooling, deployment options and basically any other functionality ● Free yourself from the tyranny of inferior local development products
  • 18. Why Kalabox? ● Isolation ● Mirror production ● Test Ops scripts ● Developers and QA can setup their environment easily ● Faster onboarding
  • 19. Kalabox Installation ● Download the Kalabox binary for your platform from here. ● For Windows just install the binary. ● For Unix and Mac just place the binary to /usr/local/bin/. Rename it to kbox. ● In your terminal you can access it by typing kbox.
  • 20. Kalabox Filesystem code – Contains project code (Drupal).
  • 21. Kalabox Filesystem config – Contains configurations for the environment like Drush, Solr, PHP, Terminus, MySQL, NginX, and Tomcat.
  • 22. Kalabox Filesystem dockerfiles – Contains Docker files for Kalabox images like Appserver, Mariadb, Redis, Solr, and Terminus
  • 23. Kalabox Filesystem node_modules – Contains nodejs modules.
  • 24. Kalabox Filesystem plugins – Contains custom extensions needed by the environment.
  • 25. Kalabox Filesystem scripts – Contains scripts needed by Kalabox to provision stuff or to handle depedency.
  • 26. Kalabox Filesystem kalabox.json – Main configuration file of Kalabox.
  • 27. Kalabox Filesystem package.json – Configuration file for packages.
  • 29. Creating a Project gerald@von-viel:~/Desktop/test$ kbox create pantheon ? Pantheon dashboard email: geraldvillorente@gmail.com ? Pantheon dashboard password: ************ ? Which site? berkeley-test ? Which environment? dev ? What will you call this monster you have created: berkeley-test Building your app... ############################################################### Welcome to Kalabox 2! We see this is your first time running a Kalabox command that requires the use of the Kalabox engine. Before we can do this We need to install some special things to make sure you are good to go. Please agree to the prompt below to install all the magic. (takes about 5 minutes with average download speed) ###############################################################
  • 30. Starting Kalabox $ kbox up info: BOOT2DOCKER => Starting up. maxRetries=3, max=3 info: BOOT2DOCKER => Initializing boot2docker [1]. info: BOOT2DOCKER => Sharing folders [1]. info: BOOT2DOCKER => Bringing boot2docker up [1]. info: BOOT2DOCKER => Boot2docker is up. Kalabox engine has been activated.
  • 31. Shutting Kalabox $ kbox down info: BOOT2DOCKER => Shutting down [1]. info: BOOT2DOCKER => Shutting down [2]. info: BOOT2DOCKER => Shut down successful. Kalabox engine has been deactivated.
  • 32. Running Kalabox Containers $ kbox berkeley-test start info: BOOT2DOCKER => Starting up. maxRetries=3, max=3 info: BOOT2DOCKER => Initializing boot2docker [1]. info: BOOT2DOCKER => Sharing folders [1]. info: BOOT2DOCKER => Bringing boot2docker up [1]. info: BOOT2DOCKER => Boot2docker is up. Kalabox engine has been activated. info: DOCKER => Creating ad hoc container "kalabox/debian:stable". name=kalabox_temp-8c014d39-1b61-4620-9ce3-a3ba30bf4eaa, Cmd=[bash], Tty=true, Image=kalabox/debian:stable, Env=[APPDOMAIN=berkeley-test.kbox, KBOX_CODEDIR=code, KALABOX=true, APPNAME=berkeley-test, SSH_KEY=pantheon.kalabox.id_rsa, GITUSER=Gerald Villorente, GITEMAIL=geraldvillorente@gmail.com, PANTHEON_ACCOUNT=geraldvillorente@gmail.com], VolumesFrom=[kb_berkeley-test_data] info: DOCKER => Ad hoc container created. 1b0fcbe5f01f0f9336e9761f254264113f6008efc97ed674a5c6bbad0d099182 info: DOCKER => Starting ad hoc container "1b0fcbe5f01f0f9336e9761f254264113f6008efc97ed674a5c6bbad0d099182". Binds=[/Users/gerald/Desktop/test/berkeley-test:/src:rw] . . . .
  • 33. Stopping Kalabox Containers $ kbox stop info: DOCKER => Stopping container. 83e5ea89343a57a33cc8834c68474bdc4ea984b06f42c2a6173381b5448ae649 info: DOCKER => Container stopped. 83e5ea89343a57a33cc8834c68474bdc4ea984b06f42c2a6173381b5448ae649 info: DOCKER => Stopping container. 0d370cb158d7986a07ca750ca22f1cef53b0dd551b62b11ee8b7bad48f2b5e1f info: DOCKER => Container stopped. 0d370cb158d7986a07ca750ca22f1cef53b0dd551b62b11ee8b7bad48f2b5e1f info: DOCKER => Stopping container. 7c65caea63cd92cdb0e6508a99643b04b7d2baab14d57427603b6a3fdd7fb6ca info: DOCKER => Container stopped. 7c65caea63cd92cdb0e6508a99643b04b7d2baab14d57427603b6a3fdd7fb6ca info: DOCKER => Stopping container. 113fba72fc69ba59b5f514d043083544c34145a86b5124638ff1468db6f48772 info: DOCKER => Container stopped. 113fba72fc69ba59b5f514d043083544c34145a86b5124638ff1468db6f48772 info: BOOT2DOCKER => Shutting down [1]. info: BOOT2DOCKER => Shut down successful. Kalabox engine has been deactivated.
  • 34. SSH'ng to Kalabox $ boot2docker --vm="Kalabox2" ssh ## . ## ## ## == ## ## ## ## ## === /"""""""""""""""""___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~ ______ o __/ __/ ___________/ _ _ ____ _ _ | |__ ___ ___ | |_|___ __| | ___ ___| | _____ _ __ | '_ / _ / _ | __| __) / _` |/ _ / __| |/ / _ '__| | |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ | |_.__/ ___/ ___/ __|_______,_|___/ ___|_|____|_| Boot2Docker version 1.8.1, build master : 075b6aa - Tue Aug 25 07:53:54 UTC 2015 Docker version 1.8.1, build d12ea79
  • 35. Listing Docker containers $ docker ps --all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a8f3a6abdb75 kalabox/syncthing:v0.10.0 "/bin/bash /start.sh" 3 hours ago Up 3 hours 0.0.0.0:22000->22000/tcp, 0.0.0.0:21025-21026->21025-21026/udp, 0.0.0.0:60008->60008/tcp kalabox_syncthing 83e5ea89343a kalabox/pantheon-appserver:v0.10.0 "/root/start.sh" 12 hours ago Up 3 hours 0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp kb_berkeley-test_appserver 113fba72fc69 kalabox/pantheon-mariadb:v0.10.0 "/start.sh" 12 hours ago Up 3 hours 0.0.0.0:32775->3306/tcp kb_berkeley-test_db 7c65caea63cd kalabox/pantheon-solr:v0.10.0 "/bin/bash /start.sh" 12 hours ago Up 3 hours 0.0.0.0:32774->449/tcp kb_berkeley-test_solr 0d370cb158d7 kalabox/pantheon-redis:v0.10.0 "/usr/bin/redis-serve" 12 hours ago Up 3 hours 0.0.0.0:32773->80/tcp, 0.0.0.0:32772->443/tcp, 0.0.0.0:32771->8160/tcp, 0.0.0.0:32770->8161/tcp kb_berkeley-test_redis fa4dcc00208a kalabox/data:v0.10.0 "/bin/true" 12 hours ago Created kb_berkeley-test_data 58dfb5aa9a28 kalabox/skydock:v0.10.0 "/skydock -ttl 214748" 12 hours ago Up 3 hours kalabox_skydock 1461f090bed5 kalabox/hipache:v0.10.0 "supervisord -n" 12 hours ago Up 3 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:8160->8160/tcp kalabox_hipache d5f4167da6e5 kalabox/dnsmasq:v0.10.0 "/root/start.sh" 12 hours ago Up 3 hours 10.13.37.42:53->53/udp, 53/tcp kalabox_dnsmasq b3b391f5cd80 kalabox/data:v0.10.0 "/bin/true" 12 hours ago Exited (0) 3 hours ago kalabox_data 8df876a5b56c kalabox/skydns:v0.10.0 "/skydns -http 0.0.0." 12 hours ago Up 3 hours 172.17.42.1:53->53/udp, 8080/tcp kalabox_skydns
  • 36. Listing Application Containers $ kbox containers { "id": "0d370cb158d7986a07ca750ca22f1cef53b0dd551b62b11ee8b7bad48f2b5e1f", "name": "kb_berkeley-test_redis", "app": "berkeley-test", "ports": [ "443/tcp=>32772", "80/tcp=>32773", "8160/tcp=>32771", "8161/tcp=>32770" ], "running": true } { "id": "83e5ea89343a57a33cc8834c68474bdc4ea984b06f42c2a6173381b5448ae649", "name": "kb_berkeley-test_appserver", "app": "berkeley-test", "ports": [ "443/tcp=>32768", "80/tcp=>32769" ], "running": true } { "id": "113fba72fc69ba59b5f514d043083544c34145a86b5124638ff1468db6f48772", "name": "kb_berkeley-test_db", "app": "berkeley-test", "ports": [ "3306/tcp=>32775" ], "running": true } { "id": "7c65caea63cd92cdb0e6508a99643b04b7d2baab14d57427603b6a3fdd7fb6ca", "name": "kb_berkeley-test_solr", "app": "berkeley-test", "ports": [ "449/tcp=>32774" ], "running": true }
  • 37. SSH'ng to Docker containers inside Boot2docker machine $ docker exec -it a8f3a6abdb75 bash root@a8f3a6abdb75:/#
  • 38. Stopping Docker containers inside Boot2docker machine $ docker stop 83e5ea89343a 83e5ea89343a
  • 39. Demo
  • 41. In case you need more help ● Google it ● Stackoverflow ● https://github.com/kalabox/kalabox
  • 44. Contact ● Skype : gerald.villorente ● E-Mail | Hangout : geraldvillorente@gmail.com ● Github: https://github.com/geraldvillorente ● Mobile: 09167332641
  • 45. Credits ● Mike Pirog of Kalamuna, Kalabox project lead. ● Drupal User Group Cebu headed by Luc Bezier and PrometSource. ● AsiaWorld Advertising for sponsoring my accomodation and food. ● MossWood Creative ● VielSoft Ltd.
  • 46. Disclaimer All images used in this presentation are not mine. Therefore, all rights reserved to the original owner.