With the goal of improve my blog, today I have installed the Simple-Jeckyll-Search plugin. Simple-Jekyll-Search is a JavaScript library to add search functionality to any Jekyll blog.

1.- Create a search.json in the document root.

---
layout: none
---
[
  
    {
      "title"    : "Managing company documentation in plain text",
      "category" : "",
      "tags"     : "markdown",
      "url"      : "/management-company-documentation-in-plain-text/",
      "date"     : "2018-04-07 00:00:00 +0200"
    } ,
  
    {
      "title"    : "Posts publicado en el blog de Orbal",
      "category" : "",
      "tags"     : "elasticsearch, devops, vagrant, chef",
      "url"      : "/posts-publicados-en-el-blog-de-orbal/",
      "date"     : "2018-03-20 00:00:00 +0100"
    } ,
  
    {
      "title"    : "Send elasticsearch reports using phantomjs",
      "category" : "",
      "tags"     : "elk, elasticsearch",
      "url"      : "/send-elasticseearch-reports-using-phantomjs/",
      "date"     : "2016-12-17 00:00:00 +0100"
    } ,
  
    {
      "title"    : "Backup elasticsearch with curator",
      "category" : "",
      "tags"     : "elk, elasticsearch",
      "url"      : "/backup-elasticsearch-with-curator/",
      "date"     : "2016-11-13 00:00:00 +0100"
    } ,
  
    {
      "title"    : "My rework book notes",
      "category" : "",
      "tags"     : "",
      "url"      : "/my-rework-book-notes/",
      "date"     : "2016-10-16 00:00:00 +0200"
    } ,
  
    {
      "title"    : "generating kibana reports with phantomjs",
      "category" : "",
      "tags"     : "",
      "url"      : "/generating-kibana-reports-with-phantomjs/",
      "date"     : "2016-09-12 00:00:00 +0200"
    } ,
  
    {
      "title"    : "Web performance testing with siege",
      "category" : "",
      "tags"     : "wpo",
      "url"      : "/web-performance-testing-with-siege/",
      "date"     : "2016-06-29 00:00:00 +0200"
    } ,
  
    {
      "title"    : "Automating aws autoscaling with chef server",
      "category" : "",
      "tags"     : "devops, aws, autoscaling, chef",
      "url"      : "/automating-aws-autoscaling-with-chef/",
      "date"     : "2016-06-18 00:00:00 +0200"
    } ,
  
    {
      "title"    : "How to bootstrap AWS Autoscaling instances from chef-server",
      "category" : "",
      "tags"     : "devops, chef",
      "url"      : "/howto-bootstrap-aws-autoscaling-intances-from-chef-server/",
      "date"     : "2016-03-20 00:00:00 +0100"
    } ,
  
    {
      "title"    : "kitchen timeout patch",
      "category" : "",
      "tags"     : "devops, chef",
      "url"      : "/kitchen-timeout-patch/",
      "date"     : "2016-02-17 00:00:00 +0100"
    } ,
  
    {
      "title"    : "Chef development approach with kitchen berkshelf and vagrant",
      "category" : "",
      "tags"     : "devops, chef",
      "url"      : "/chef-development-workflow-with-kitchen-berkshelf-vagrant/",
      "date"     : "2016-02-05 00:00:00 +0100"
    } ,
  
    {
      "title"    : "How to run test Kitchen on amazon aws?",
      "category" : "",
      "tags"     : "devops, aws, testing",
      "url"      : "/how-to-run-test-kitchen-on-amazon-aws/",
      "date"     : "2015-10-27 00:00:00 +0100"
    } ,
  
    {
      "title"    : "Create a Vagrant box from existing one",
      "category" : "",
      "tags"     : "devops, vagrant",
      "url"      : "/create-a-vagrant-box-from-existing-one/",
      "date"     : "2015-07-28 00:00:00 +0200"
    } ,
  
    {
      "title"    : "Testing web app with infrataster and kitchenci",
      "category" : "",
      "tags"     : "",
      "url"      : "/testing-web-app-with-infrataster-and-kitchenci/",
      "date"     : "2015-06-25 00:00:00 +0200"
    } ,
  
    {
      "title"    : "How to install simple-jekyll-search plugin",
      "category" : "",
      "tags"     : "jekyll",
      "url"      : "/howto-install-simple-jekyll-search-plugin/",
      "date"     : "2015-03-28 00:00:00 +0100"
    } ,
  
    {
      "title"    : "My first approach working with chef in local mode",
      "category" : "",
      "tags"     : "",
      "url"      : "/my-first-approach-working-with-chef-local-mode/",
      "date"     : "2015-03-19 00:00:00 +0100"
    } ,
  
    {
      "title"    : "My new blog based on jekyll",
      "category" : "",
      "tags"     : "",
      "url"      : "/my-new-blog-based-on-jekyll/",
      "date"     : "2015-03-14 00:00:00 +0100"
    } ,
  
    {
      "title"    : "Install vagrant-chef-zero on vagrant 1.6.3.1",
      "category" : "",
      "tags"     : "",
      "url"      : "/install-vagrant-chef-zero-on-vagrant-1-6-3-1/",
      "date"     : "2014-09-26 20:27:51 +0200"
    } ,
  
    {
      "title"    : "How to list size of all tables of a mysql database",
      "category" : "",
      "tags"     : "mysql",
      "url"      : "/how-to-list-size-of-all-tables-of-a-mysql-database/",
      "date"     : "2014-09-23 17:29:47 +0200"
    } ,
  
    {
      "title"    : "Install knife-ec2 in Mac OS X 10.9.1",
      "category" : "",
      "tags"     : "ec2, knife, chef",
      "url"      : "/install-knife-ec2-in-mac-os-x-10-9-1/",
      "date"     : "2014-08-12 00:32:33 +0200"
    } ,
  
    {
      "title"    : "Magento HTTPS and Amazon AWS Load Balancer",
      "category" : "",
      "tags"     : "aws, magento, nginx, https, load balancer, elb",
      "url"      : "/magento-https-and-amazon-aws-load-balancer/",
      "date"     : "2013-04-26 22:02:07 +0200"
    } ,
  
    {
      "title"    : "How to mount Amazon S3 bucket with s3fs",
      "category" : "",
      "tags"     : "s3, aws, s3fs",
      "url"      : "/how-to-mount-amazon-s3-bucket-with-s3fs/",
      "date"     : "2013-04-10 02:21:10 +0200"
    } ,
  
    {
      "title"    : "How to integrate Amazon SES with postfix",
      "category" : "",
      "tags"     : "",
      "url"      : "/how-to-integrate-amazon-ses-with-postfix/",
      "date"     : "2013-03-15 18:01:05 +0100"
    } ,
  
    {
      "title"    : "How to change currency position on Magento 1.7",
      "category" : "",
      "tags"     : "magento",
      "url"      : "/how-to-change-currency-position-on-magento-1-7/",
      "date"     : "2013-01-29 21:55:23 +0100"
    } ,
  
    {
      "title"    : "Evernote. How to recover a note that have been accidentaly deleted? ",
      "category" : "",
      "tags"     : "evernote",
      "url"      : "/evernote-how-to-recover-a-note-that-have-been-accidentaly-deleted/",
      "date"     : "2012-12-28 13:30:09 +0100"
    } ,
  
    {
      "title"    : "Improve Magento URL's for SEO",
      "category" : "",
      "tags"     : "magento, seo",
      "url"      : "/improve-magento-urls-for-seo/",
      "date"     : "2012-11-16 22:12:25 +0100"
    } ,
  
    {
      "title"    : "How to add search form in Magento header template?",
      "category" : "",
      "tags"     : "magento",
      "url"      : "/how-to-add-search-form-in-magento-header-template/",
      "date"     : "2012-11-01 01:06:06 +0100"
    } ,
  
    {
      "title"    : "Howto custom Google Forms style?",
      "category" : "",
      "tags"     : "google",
      "url"      : "/howto-custom-google-forms-style/",
      "date"     : "2012-11-01 00:32:34 +0100"
    } ,
  
    {
      "title"    : "Announcement of Evernote 5 for Mac ",
      "category" : "",
      "tags"     : "evernote, mac, macosx",
      "url"      : "/announcement-of-evernote-5-for-mac/",
      "date"     : "2012-10-30 14:16:24 +0100"
    } ,
  
    {
      "title"    : "Install nginx, php-fpm and MySQL on Mac OS X Mountain Lion",
      "category" : "",
      "tags"     : "mac, mysql, nginx, macosx, php-fpm",
      "url"      : "/install-nginx-php-fpm-and-mysql-on-mac-os-x-mountain-lion/",
      "date"     : "2012-10-01 13:04:14 +0200"
    } ,
  
    {
      "title"    : "Reinstalling Mountain Lion on my MacBook Pro",
      "category" : "",
      "tags"     : "mac, macosx",
      "url"      : "/reinstalling-mountain-lion-on-my-macbook-pro/",
      "date"     : "2012-09-24 12:52:50 +0200"
    } ,
  
    {
      "title"    : "Amazon Locker Delivery",
      "category" : "",
      "tags"     : "shipping, e-commerce",
      "url"      : "/amazon-locker-delivery-2/",
      "date"     : "2012-09-04 20:12:47 +0200"
    } ,
  
    {
      "title"    : "Amazon Locker Delivery",
      "category" : "",
      "tags"     : "Amazon, shipping, logística",
      "url"      : "/amazon-locker-delivery/",
      "date"     : "2012-09-04 20:07:28 +0200"
    } ,
  
    {
      "title"    : "HTTP Archive (har)",
      "category" : "",
      "tags"     : "wpo, tiempo de carga, http archive, har",
      "url"      : "/http-archive-har-2/",
      "date"     : "2012-08-31 01:30:11 +0200"
    } ,
  
    {
      "title"    : "HTTP Archive (har)",
      "category" : "",
      "tags"     : "wpo, http archive, har, pagespeed, yslow",
      "url"      : "/http-archive-har/",
      "date"     : "2012-08-31 01:23:44 +0200"
    } ,
  
    {
      "title"    : "Publicada Varnish Cache 3.0.3",
      "category" : "",
      "tags"     : "varnish cache",
      "url"      : "/publicada-varnish-cache-3-0-3-2/",
      "date"     : "2012-08-21 17:14:02 +0200"
    } ,
  
    {
      "title"    : "Publicada Varnish Cache 3.0.3",
      "category" : "",
      "tags"     : "varnish cache",
      "url"      : "/publicada-varnish-cache-3-0-3/",
      "date"     : "2012-08-21 17:12:17 +0200"
    } ,
  
    {
      "title"    : "Comparativa de proveedores de infraestructura com servicio IaaS",
      "category" : "",
      "tags"     : "",
      "url"      : "/comparativa-proveedores-de-infraestructura-com-servicio-iaas/",
      "date"     : "2012-08-14 17:08:13 +0200"
    } ,
  
    {
      "title"    : "Comparativa de proveïdors d'infraestructura com a servei IaaS",
      "category" : "",
      "tags"     : "cloud, ec2, IaaS",
      "url"      : "/comparativa-de-proveidors-infraestructura-com-a-servei-iaas/",
      "date"     : "2012-08-14 17:08:02 +0200"
    } ,
  
    {
      "title"    : "Costes del Cloud vs Datacenter Propio",
      "category" : "",
      "tags"     : "",
      "url"      : "/costes-del-cloud-vs-datacenter-propio/",
      "date"     : "2012-07-30 13:55:38 +0200"
    } ,
  
    {
      "title"    : "Costos del Cloud vs Datacenter propi",
      "category" : "",
      "tags"     : "cloud, datacenter",
      "url"      : "/costos-del-cloud-vs-datacenter-propi/",
      "date"     : "2012-07-30 13:55:16 +0200"
    } ,
  
    {
      "title"    : "Como guardar la ip real del cliente con Varnish",
      "category" : "",
      "tags"     : "sysadmin, varnish cache, nginx",
      "url"      : "/como-guardar-la-ip-real-del-cliente-con-varnish/",
      "date"     : "2012-07-18 13:15:12 +0200"
    } ,
  
    {
      "title"    : "Com guardar la ip real del client amb Varnish",
      "category" : "",
      "tags"     : "sysadmin, varnish cache, nginx",
      "url"      : "/com-guardar-la-ip-real-del-client-amb-varnish/",
      "date"     : "2012-07-18 13:09:29 +0200"
    } ,
  
    {
      "title"    : "Como borrar la cache de Magento desde el cron de sistema",
      "category" : "",
      "tags"     : "sysadmin, magento",
      "url"      : "/como-borrar-la-cache-de-magento-desde-el-cron-de-sistema/",
      "date"     : "2012-07-16 12:55:57 +0200"
    } ,
  
    {
      "title"    : "Com esborrar la cache de magento des del cron de sistema",
      "category" : "",
      "tags"     : "sysadmin, magento",
      "url"      : "/com-esborrar-la-cache-de-magento-des-del-cron-de-sistema/",
      "date"     : "2012-07-16 12:50:18 +0200"
    } ,
  
    {
      "title"    : "Como borrar contenidos de CloudFront de AWS amazon",
      "category" : "",
      "tags"     : "sysadmin, aws, cloudfront",
      "url"      : "/como-borrar-contenidos-de-cloudfront-de-aws-amazon/",
      "date"     : "2012-07-12 18:18:31 +0200"
    } ,
  
    {
      "title"    : "Com esborrar continguts de CloudFront de AWS Amazon",
      "category" : "",
      "tags"     : "sysadmin, aws, cloudfront",
      "url"      : "/com-esborrar-continguts-de-cloudfront-de-aws-amazon/",
      "date"     : "2012-07-12 18:15:20 +0200"
    } ,
  
    {
      "title"    : "Como mover el catálogo de productos, clientes y pedidos de Magento",
      "category" : "",
      "tags"     : "sysadmin, magento",
      "url"      : "/como-mover-el-catalogo-de-productos-clientes-y-pedidos-de-magento/",
      "date"     : "2012-07-10 00:43:35 +0200"
    } ,
  
    {
      "title"    : "Com moure el catàleg de productes, clients i comandes de Magento",
      "category" : "",
      "tags"     : "sysadmin, magento",
      "url"      : "/como-moure-el-cataleg-de-productes-clients-i-comandes-de-magento/",
      "date"     : "2012-07-10 00:37:27 +0200"
    } ,
  
    {
      "title"    : "Como bloquear una IP desde Varnish Cache",
      "category" : "",
      "tags"     : "sysadmin, varnish cache",
      "url"      : "/como-bloquear-una-ip-desde-varnish-cache/",
      "date"     : "2012-07-04 17:55:20 +0200"
    } ,
  
    {
      "title"    : "Com bloquejar una IP des de Varnish Cache",
      "category" : "",
      "tags"     : "sysadmin, varnish cache",
      "url"      : "/com-bloquejar-una-ip-des-de-varnish-cache/",
      "date"     : "2012-07-04 17:50:11 +0200"
    } ,
  
    {
      "title"    : "Como obtener la ip local y pública en un serivor EC2 de Amazon",
      "category" : "",
      "tags"     : "sysadmin, aws, ec2",
      "url"      : "/como-obtener-la-ip-local-y-publica-en-un-serivor-ec2-de-amazon/",
      "date"     : "2012-06-07 01:51:41 +0200"
    } ,
  
    {
      "title"    : "Com obtenir la ip local i pública en un servidor EC2 de Amazon",
      "category" : "",
      "tags"     : "sysadmin, aws, ec2",
      "url"      : "/com-obtenir-la-ip-local-i-publica-en-un-servidor-ec2-de-amazon/",
      "date"     : "2012-06-07 01:47:02 +0200"
    } ,
  
    {
      "title"    : "Como automatizar snapshow a S3 de AWS Amazon",
      "category" : "",
      "tags"     : "backup, s3, aws, snapshot",
      "url"      : "/como-automatizar-snapshow-a-s3-de-aws-amazon/",
      "date"     : "2012-05-22 11:52:12 +0200"
    } ,
  
    {
      "title"    : "Com automatitzar snapshots a S3 de AWS Amazon",
      "category" : "",
      "tags"     : "sysadmin, backup, s3, aws",
      "url"      : "/com-automatitzar-snapshots-a-s3-de-aws-amazon/",
      "date"     : "2012-05-22 11:52:01 +0200"
    } ,
  
    {
      "title"    : "Como hacer un mysqldump de tablas según un patron",
      "category" : "",
      "tags"     : "sysadmin, mysql",
      "url"      : "/como-hacer-un-mysqldump-de-tablas-segun-un-patron/",
      "date"     : "2012-04-24 14:42:50 +0200"
    } ,
  
    {
      "title"    : "Com fer un mysqldump de taules segons un patró",
      "category" : "",
      "tags"     : "sysadmin, mysql",
      "url"      : "/com-fer-un-mysqldump-de-taules-segons-un-patro/",
      "date"     : "2012-04-24 14:37:35 +0200"
    } ,
  
    {
      "title"    : "Aspectos a considerar para diseñar una estrategia de backup",
      "category" : "",
      "tags"     : "sysadmin, IT, backup, RPO, RTO",
      "url"      : "/aspectos-a-considerar-para-disenar-una-estrategia-de-backup/",
      "date"     : "2012-04-19 22:43:48 +0200"
    } ,
  
    {
      "title"    : "Aspectes a considerar per dissenyar una estratègia de backup",
      "category" : "",
      "tags"     : "sysadmin, IT, backup, RPO, RTO",
      "url"      : "/aspectes-a-considerar-per-dissenyar-una-estrategia-de-backup/",
      "date"     : "2012-04-19 22:43:41 +0200"
    } ,
  
    {
      "title"    : "Articulo - The Google Gospel of Speed",
      "category" : "",
      "tags"     : "google, speed",
      "url"      : "/articulo-the-google-gospel-of-speed/",
      "date"     : "2012-03-08 16:45:34 +0100"
    } ,
  
    {
      "title"    : "Article - The Google Gospel of Speed",
      "category" : "",
      "tags"     : "google",
      "url"      : "/article-the-google-gospel-of-speed/",
      "date"     : "2012-03-08 16:27:25 +0100"
    } ,
  
    {
      "title"    : "Evernote Clearly",
      "category" : "",
      "tags"     : "",
      "url"      : "/evernote-clearly-2/",
      "date"     : "2011-11-17 17:13:02 +0100"
    } ,
  
    {
      "title"    : "Evernote clearly",
      "category" : "",
      "tags"     : "evernote, utils",
      "url"      : "/evernote-clearly/",
      "date"     : "2011-11-17 16:20:25 +0100"
    } ,
  
    {
      "title"    : "WPO - Web Performance Optimization",
      "category" : "",
      "tags"     : "wpo, rendimiento web, tiempo de carga",
      "url"      : "/wpo-web-performance-optimization-2/",
      "date"     : "2011-04-19 18:18:31 +0200"
    } ,
  
    {
      "title"    : "WPO - Web Performance Optimization",
      "category" : "",
      "tags"     : "",
      "url"      : "/wpo-web-performance-optimization/",
      "date"     : "2011-04-19 17:18:29 +0200"
    } ,
  
    {
      "title"    : "Baròmetre del sectoc tecnològic a Catalunya del Ctecno.",
      "category" : "",
      "tags"     : "ctecno",
      "url"      : "/barometre-del-sectoc-tecnologic-a-catalunya-del-ctecno/",
      "date"     : "2011-02-08 19:19:14 +0100"
    } ,
  
    {
      "title"    : "Backup de Delicious",
      "category" : "",
      "tags"     : "utils, delcicious",
      "url"      : "/backup-de-delicious-2/",
      "date"     : "2011-01-30 17:22:06 +0100"
    } ,
  
    {
      "title"    : "Backup de Delicious",
      "category" : "",
      "tags"     : "delicious, utils",
      "url"      : "/backup-de-delicious/",
      "date"     : "2011-01-03 19:25:51 +0100"
    } ,
  
    {
      "title"    : "Vyatta - Open Networking",
      "category" : "",
      "tags"     : "",
      "url"      : "/vyatta-open-networking/",
      "date"     : "2010-12-14 00:00:09 +0100"
    } ,
  
    {
      "title"    : "Vyatta - Open Networking",
      "category" : "",
      "tags"     : "",
      "url"      : "/vyatta-open-networking-2/",
      "date"     : "2010-12-13 17:24:31 +0100"
    } ,
  
    {
      "title"    : "SpotCloud",
      "category" : "",
      "tags"     : "cloud, enomaly",
      "url"      : "/spotcloud-2/",
      "date"     : "2010-12-11 17:26:34 +0100"
    } ,
  
    {
      "title"    : "SpotCloud",
      "category" : "",
      "tags"     : "cloud",
      "url"      : "/spotcloud/",
      "date"     : "2010-11-12 00:06:39 +0100"
    } ,
  
    {
      "title"    : "Gestión segura de acceso SSH con Initr",
      "category" : "",
      "tags"     : "initr, ssh",
      "url"      : "/gestion-segura-de-acceso-ssh-con-initr/",
      "date"     : "2010-11-05 17:29:14 +0100"
    } ,
  
    {
      "title"    : "Gestió segura d’accés SSH amb Initr",
      "category" : "",
      "tags"     : "ingent, initr, sysadmin",
      "url"      : "/gestio-segura-dacces-ssh-amb-initr/",
      "date"     : "2010-11-02 15:53:27 +0100"
    } ,
  
    {
      "title"    : "RedHat Enterprise Virtualization Conference 2010",
      "category" : "",
      "tags"     : "datacenter, redhat, sysadmin",
      "url"      : "/redhat-enterprise-virtualization-conference-2010-2/",
      "date"     : "2010-10-27 18:34:43 +0200"
    } ,
  
    {
      "title"    : "RedHat Enterprise Virtualization Conference 2010",
      "category" : "",
      "tags"     : "datacenter, redhat, sysadmin",
      "url"      : "/redhat-enterprise-virtualization-conference-2010/",
      "date"     : "2010-10-27 11:47:45 +0200"
    } ,
  
    {
      "title"    : "Initr",
      "category" : "",
      "tags"     : "datacenter, ingent, initr, sysadmin",
      "url"      : "/initr/",
      "date"     : "2010-10-14 01:42:00 +0200"
    } ,
  
    {
      "title"    : "Initr",
      "category" : "",
      "tags"     : "ingent, initr, sysadmin",
      "url"      : "/initr-2/",
      "date"     : "2010-10-13 18:36:28 +0200"
    } ,
  
    {
      "title"    : "Probando ElasticHosts",
      "category" : "",
      "tags"     : "cloud, elastichost",
      "url"      : "/probando-elastichosts/",
      "date"     : "2010-08-09 18:40:22 +0200"
    } ,
  
    {
      "title"    : "Provant ElasticHosts",
      "category" : "",
      "tags"     : "cloud",
      "url"      : "/provant-elastichosts/",
      "date"     : "2010-08-09 15:50:00 +0200"
    } ,
  
    {
      "title"    : "Probando Googlecl",
      "category" : "",
      "tags"     : "google",
      "url"      : "/probando-googlecl/",
      "date"     : "2010-07-19 18:46:58 +0200"
    } ,
  
    {
      "title"    : "Del Datacenter al servidor, noves tendències de refrigeració.",
      "category" : "",
      "tags"     : "datacenter, green",
      "url"      : "/del-datacenter-al-servidor-noves-tendencies-de-refrigeracio/",
      "date"     : "2010-07-09 20:19:00 +0200"
    } ,
  
    {
      "title"    : "Del Datacenter al servidor, nuevas tendencias de refrigeración.",
      "category" : "",
      "tags"     : "datacenter, green",
      "url"      : "/del-datacenter-al-servidor-nuevas-tendencias-de-refrigeracion/",
      "date"     : "2010-07-09 18:42:28 +0200"
    } ,
  
    {
      "title"    : "Instal·lació automàtica de sistemes amb Cobbler",
      "category" : "",
      "tags"     : "datacenter, opensource, sysadmin",
      "url"      : "/instal-c2-b7lacio-automatica-de-sistemes-amb-cobbler/",
      "date"     : "2010-07-05 17:28:00 +0200"
    } ,
  
    {
      "title"    : "Modular Natural Free Cooling",
      "category" : "",
      "tags"     : "datacenter, green",
      "url"      : "/modular-natural-free-cooling-2/",
      "date"     : "2010-06-27 18:45:51 +0200"
    } ,
  
    {
      "title"    : "Instalación automática de sistemas con Cobbler",
      "category" : "",
      "tags"     : "datacenter, opensource, sysadmin",
      "url"      : "/instalacion-automatica-de-sistemas-con-cobbler/",
      "date"     : "2010-06-25 18:43:48 +0200"
    } ,
  
    {
      "title"    : "Modular Natural Free Cooling",
      "category" : "",
      "tags"     : "datacenter, green",
      "url"      : "/modular-natural-free-cooling/",
      "date"     : "2010-06-23 21:03:00 +0200"
    } ,
  
    {
      "title"    : "Provant Googlecl",
      "category" : "",
      "tags"     : "google, mac",
      "url"      : "/provant-googlecl/",
      "date"     : "2010-06-19 18:35:00 +0200"
    } ,
  
    {
      "title"    : "Dissenys de Datacenter de Google basats en contenidors",
      "category" : "",
      "tags"     : "datacenter",
      "url"      : "/dissenys-de-datacenter-de-google-basats-en-contenidors/",
      "date"     : "2010-06-18 20:23:00 +0200"
    } ,
  
    {
      "title"    : "Diseños de Datacenter de Google basados en contenedores",
      "category" : "",
      "tags"     : "datacenter, google",
      "url"      : "/disenos-de-datacenter-de-google-basados-en-contenedores/",
      "date"     : "2010-06-18 18:47:48 +0200"
    } ,
  
    {
      "title"    : "Aspectos a tener en cuenta para contratar un colocations",
      "category" : "",
      "tags"     : "datacenter",
      "url"      : "/aspectos-a-tener-en-cuenta-para-contratar-un-colocations/",
      "date"     : "2010-06-12 18:49:07 +0200"
    } ,
  
    {
      "title"    : "Factors a tenir en compte alhora de contractar un servei de colocation",
      "category" : "",
      "tags"     : "datacenter",
      "url"      : "/factors-a-tenir-en-compte-alhora-de-contractar-un-servei-de-colocation/",
      "date"     : "2010-06-09 01:40:00 +0200"
    } ,
  
    {
      "title"    : "Integració entre Zenoss i Puppet",
      "category" : "",
      "tags"     : "datacenter, monitoring, sysadmin",
      "url"      : "/integracio-entre-zenoss-i-puppet/",
      "date"     : "2010-04-24 23:05:00 +0200"
    } ,
  
    {
      "title"    : "Integracion entre Zenoss y Puppet",
      "category" : "",
      "tags"     : "datacenter, monitoring, sysadmin",
      "url"      : "/integracion-entre-zenoss-y-puppet/",
      "date"     : "2010-04-24 18:50:09 +0200"
    } ,
  
    {
      "title"    : "Datacenter commissioning",
      "category" : "",
      "tags"     : "datacenter",
      "url"      : "/datacenter-commissioning/",
      "date"     : "2010-03-29 22:15:00 +0200"
    } ,
  
    {
      "title"    : "Más sobre contenedores",
      "category" : "",
      "tags"     : "datacenter",
      "url"      : "/mas-sobre-contenedores/",
      "date"     : "2010-03-29 18:52:14 +0200"
    } ,
  
    {
      "title"    : "Datacenter commissioning",
      "category" : "",
      "tags"     : "datacenter",
      "url"      : "/datacenter-commissioning-2/",
      "date"     : "2010-03-29 18:51:18 +0200"
    } ,
  
    {
      "title"    : "Més sobre contenidors",
      "category" : "",
      "tags"     : "datacenter",
      "url"      : "/mes-sobre-contenidors/",
      "date"     : "2010-03-29 11:37:00 +0200"
    } ,
  
    {
      "title"    : "Datacenter en un contenidor",
      "category" : "",
      "tags"     : "datacenter",
      "url"      : "/datacenter-en-un-contenidor/",
      "date"     : "2010-03-21 22:25:00 +0100"
    } ,
  
    {
      "title"    : "Datacenter en un container",
      "category" : "",
      "tags"     : "datacenter",
      "url"      : "/datacenter-en-un-container/",
      "date"     : "2010-03-21 17:53:16 +0100"
    } ,
  
    {
      "title"    : "Instal·lant Snow Leopard",
      "category" : "",
      "tags"     : "mac",
      "url"      : "/instal-c2-b7lant-snow-leopard/",
      "date"     : "2010-01-30 21:10:00 +0100"
    } ,
  
    {
      "title"    : "Instalando Snow Leopard",
      "category" : "",
      "tags"     : "mac",
      "url"      : "/instalando-snow-leopard/",
      "date"     : "2010-01-30 17:54:19 +0100"
    } ,
  
    {
      "title"    : "Anàlisi FMEA",
      "category" : "",
      "tags"     : "itil, risk",
      "url"      : "/analisi-fmea/",
      "date"     : "2009-12-20 21:49:00 +0100"
    } ,
  
    {
      "title"    : "Análisis FMEA",
      "category" : "",
      "tags"     : "itil, risk",
      "url"      : "/analisis-fmea/",
      "date"     : "2009-12-20 17:55:13 +0100"
    } ,
  
    {
      "title"    : "Guia de Google Wave",
      "category" : "",
      "tags"     : "google, utils",
      "url"      : "/guia-de-google-wave/",
      "date"     : "2009-12-08 21:13:00 +0100"
    } ,
  
    {
      "title"    : "11 prácticas para mejorar la eficiéncia del datacenter",
      "category" : "",
      "tags"     : "datacenter, green",
      "url"      : "/11-practicas-para-mejorar-la-eficiencia-del-datacenter/",
      "date"     : "2009-12-08 17:56:54 +0100"
    } ,
  
    {
      "title"    : "El Colocation segueix creixent",
      "category" : "",
      "tags"     : "datacenter",
      "url"      : "/el-colocation-segueix-creixent/",
      "date"     : "2009-12-02 00:36:00 +0100"
    } ,
  
    {
      "title"    : "Canvi model de relació proveïdor – client",
      "category" : "",
      "tags"     : "datacenter, hosting",
      "url"      : "/canvi-model-de-relacio-proveidor-client/",
      "date"     : "2009-10-27 01:22:00 +0100"
    } ,
  
    {
      "title"    : "Llistat de Data Centers certificats per UptimeInstitute",
      "category" : "",
      "tags"     : "datacenter",
      "url"      : "/llistat-de-data-centers-certificats-per-uptimeinstitute/",
      "date"     : "2009-10-07 01:35:00 +0200"
    } ,
  
    {
      "title"    : "Presentación",
      "category" : "",
      "tags"     : "",
      "url"      : "/presentacion/",
      "date"     : "2009-08-06 18:59:30 +0200"
    } ,
  
    {
      "title"    : "Google segueix innovant en el Datacenter",
      "category" : "",
      "tags"     : "datacenter, google, green",
      "url"      : "/google-segueix-innovant-en-el-datacenter/",
      "date"     : "2009-07-23 00:33:00 +0200"
    } ,
  
    {
      "title"    : "Google container data center",
      "category" : "",
      "tags"     : "datacenter, google",
      "url"      : "/google-container-data-center/",
      "date"     : "2009-04-25 21:58:00 +0200"
    } ,
  
    {
      "title"    : "Open Cloud Manifesto",
      "category" : "",
      "tags"     : "",
      "url"      : "/open-cloud-manifesto/",
      "date"     : "2009-04-04 20:59:00 +0200"
    } ,
  
    {
      "title"    : "11 pràctiques per millorar la eficiència del datacenter",
      "category" : "",
      "tags"     : "datacenter, green",
      "url"      : "/11-practiques-per-millorar-la-eficiencia-del-datacenter/",
      "date"     : "2009-01-10 21:52:00 +0100"
    } ,
  
    {
      "title"    : "Visita al MareNostrum",
      "category" : "",
      "tags"     : "datacenter",
      "url"      : "/visita-al-marenostrum/",
      "date"     : "2008-12-18 01:33:00 +0100"
    } ,
  
    {
      "title"    : "Life in the data center",
      "category" : "",
      "tags"     : "datacenter",
      "url"      : "/life-in-the-data-center/",
      "date"     : "2008-12-01 00:10:00 +0100"
    } ,
  
    {
      "title"    : "TextMate com a bloc de notes",
      "category" : "",
      "tags"     : "utils",
      "url"      : "/textmate-com-a-bloc-de-notes/",
      "date"     : "2008-11-25 01:09:00 +0100"
    } ,
  
    {
      "title"    : "EU Code of Conduct for Data Centres",
      "category" : "",
      "tags"     : "datacenter, green",
      "url"      : "/eu-code-of-conduct-for-data-centres/",
      "date"     : "2008-11-25 00:45:00 +0100"
    } ,
  
    {
      "title"    : "Wikitel: wiki promogut per la CMT",
      "category" : "",
      "tags"     : "telecos",
      "url"      : "/wikitel-wiki-promogut-per-la-cmt/",
      "date"     : "2008-11-14 20:05:00 +0100"
    } ,
  
    {
      "title"    : "Sorpresa de la "Ley General de Telecomunicacines"",
      "category" : "",
      "tags"     : "mail, telecos",
      "url"      : "/sorpresa-de-la-ley-general-de-telecomunicacines/",
      "date"     : "2008-10-18 18:36:00 +0200"
    } ,
  
    {
      "title"    : "Mètriques pel control energètic en un Centre de Dades",
      "category" : "",
      "tags"     : "datacenter, green",
      "url"      : "/metriques-pel-control-energetic-en-un-centre-de-dades/",
      "date"     : "2008-10-07 01:26:00 +0200"
    } ,
  
    {
      "title"    : "Nou web de Digital Parks",
      "category" : "",
      "tags"     : "digitalparks",
      "url"      : "/nou-web-de-digital-parks/",
      "date"     : "2008-09-28 22:29:00 +0200"
    } ,
  
    {
      "title"    : "Presentació",
      "category" : "",
      "tags"     : "personal",
      "url"      : "/presentacio/",
      "date"     : "2008-09-28 18:50:00 +0200"
    } 
  
]

2.- Download from git and add jekyll-search.js file in public/js directory.

3.- Include public/js/jekyll-search.js in the default template.

<!-- scripts -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="/public/js/jquery.fitvids.js"></script>
<script src="/public/js/jekyll-search.js"></script>

4.- Initiaize SimpleJekyllSearch in the default layout.

<!-- scripts -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="/public/js/jquery.fitvids.js"></script>
<script src="/public/js/jekyll-search.js"></script>
<script type="text/javascript">
SimpleJekyllSearch.init({
    searchInput: document.getElementById('search-input'),
    resultsContainer: document.getElementById('results-container'),
    dataSource: '/search.json',
    searchResultTemplate: '<li><a href="{url}" title="{desc}">{title}</a></li>',
    noResultsText: 'No results found',
    limit: 10,
    fuzzy: false,
  })
</script>

5.- Style the search input. I have added the next code in my public/css/main.scss file.

#search-input {
  display: inline-block;
  padding: .5em;
  width:100%;
  font-size: 0.8em;
  box-size: border-box;
}
  1. Create a html file _includes/search.html with the search html code
<div id="search-container">
  <input type="text" id="search-input" placeholder="search..." />
  <ul id="results-container"></ul>
</div>
  1. Finally add the new search.html code to default layout.
</header>
<div class="search-container">
  <input type="text" id="search-input" placeholder="Search..." />
  <ul id="results-container"></ul>
</div>


<div class="title-label">
  <div class="post">
    <header class="post-header">
      <h1 class="post-title">My first approach working with chef in local mode</h1>
      <time class="published" datetime="2015-03-19">19 March 2015</time>
    </header>
  </div>
</div>
<div class="post">
  <article class="post-content">
    <p>For some projects, I prefer don&#39;t work with a chef-server as a chef code repository. I prefer work directly with git and don&#39;t use a chef-server. To do it, we can use chef-solo or use chef in local mode. In the next lines I show you my first approach to deploy a system with chef in local mode.</p>

<p>List of components used:</p>

<ul>
<li>Git as a code repository.</li>
<li>Chef in local mode to deploy</li>
<li>Vagrant to run the development node.</li>
<li>Ec2 instance to run the production node.</li>
</ul>

<h3>Create the development environment</h3>

<p>1.- Create the chef repo and add your chef code.</p>

<p>2.- Create the vagrant node</p>

<p>Configure vagrant to install Chef client. You need to have the vagrant omnibus plugin installed. This is my Vagranfile.</p>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash">VAGRANTFILE_API_VERSION <span class="o">=</span> <span class="s2">"2"</span>

Vagrant.configure<span class="o">(</span>VAGRANTFILE_API_VERSION<span class="o">)</span> <span class="k">do</span> |config|
  config.vm.box <span class="o">=</span> <span class="s2">"ubuntu/trusty64"</span>
  <span class="c">#config.vm.box = "precise32"</span>
  config.vm.synced_folder <span class="s2">"."</span>, <span class="s2">"/vagrant"</span>, :nfs <span class="o">=</span>&gt; <span class="nb">true
  </span>config.vm.network <span class="s2">"private_network"</span>, ip: <span class="s2">"10.0.0.31"</span>
  config.omnibus.chef_version <span class="o">=</span> :latest
end</code></pre></figure>

<p>3.- Configure chef client to run in local mode. To do this, I have create the next clitnt.rb file</p>

<figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">cookbook_path</span>   <span class="s2">"/vagrant/chef-repo/cookbooks"</span>
<span class="n">role_path</span> <span class="s1">'/vagrant/chef-repo/roles'</span>
<span class="n">data_bag_path</span>  <span class="s1">'/vagrant/chef-repo/data_bags'</span>
<span class="n">environment_path</span> <span class="s1">'/vagrant/chef-repo/environments'</span>
<span class="n">environment</span> <span class="s1">'development'</span>
<span class="n">local_mode</span> <span class="s1">'true'</span>
<span class="n">node_name</span> <span class="s1">'node_dev'</span>
<span class="n">node_path</span> <span class="s1">'/vagrant/chef-repo/nodes'</span>
<span class="n">validator_key</span> <span class="s1">'/vagrant/chef-repo/.chef/validator.pem'</span>
<span class="n">encrypted_data_bag_secret</span> <span class="s1">'/vagrant/chef-repo'</span>
<span class="n">log_level</span> <span class="ss">:info</span></code></pre></figure>

<p>4.- Create a node definition.</p>

<p>To run chef in local mode we need to create the node definition in the local repository and add a run list. I use the nodes/node_dev.json.</p>

<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="s2">"name"</span><span class="err">:</span><span class="w"> </span><span class="s2">"node_dev"</span><span class="err">,</span><span class="w">
  </span><span class="s2">"chef_environment"</span><span class="err">:</span><span class="w"> </span><span class="s2">"development"</span><span class="err">,</span><span class="w">
  </span><span class="s2">"override"</span><span class="err">:</span><span class="w"> </span><span class="p">{</span><span class="w">

  </span><span class="p">}</span><span class="err">,</span><span class="w">
  </span><span class="s2">"normal"</span><span class="err">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nt">"tags"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">

    </span><span class="p">]</span><span class="w">
  </span><span class="p">}</span><span class="err">,</span><span class="w">
  </span><span class="s2">"run_list"</span><span class="err">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="s2">"role[base]"</span><span class="p">,</span><span class="w">
    </span><span class="s2">"role[dbserver]"</span><span class="p">,</span><span class="w">
    </span><span class="s2">"role[webserver]"</span><span class="p">,</span><span class="w">
    </span><span class="s2">"role[phpserver]"</span><span class="w">
  </span><span class="p">]</span><span class="w">
</span><span class="err">}</span></code></pre></figure>

<h3>Deploy to development environment</h3>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash">vagrant ssh
<span class="nb">cd</span> /vagrant/chef-repo
sudo chef-client -c client.rb</code></pre></figure>

<h3>Create the production environment</h3>

<p>1.- Create the ec2 instance and install chef client.</p>

<p>2.- Configure chef client to run in local mode. I have created the next /etc/chef/client.rb file in the production node.</p>

<figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="n">cookbook_path</span>   <span class="s2">"/root/chef-repo/cookbooks"</span>
<span class="n">role_path</span> <span class="s1">'/root/chef-repo/roles'</span>
<span class="n">data_bag_path</span>  <span class="s1">'/root/chef-repo/data_bags'</span>
<span class="n">environment_path</span> <span class="s1">'/root/chef-repo/environments'</span>
<span class="n">encrypted_data_bag_secret</span> <span class="s1">'/etc/chef'</span>
<span class="n">environment</span> <span class="s1">'production'</span>
<span class="n">local_mode</span> <span class="s1">'true'</span>
<span class="n">node_name</span> <span class="s1">'node'</span>
<span class="n">node_path</span> <span class="s1">'/root/chef-repo/nodes'</span>
<span class="n">log_level</span> <span class="ss">:info</span></code></pre></figure>

<p>3.- Add in your repo the production node definition.  nodes/node.json.</p>

<figure class="highlight"><pre><code class="language-json" data-lang="json"><span class="s2">"name"</span><span class="err">:</span><span class="w"> </span><span class="s2">"node"</span><span class="err">,</span><span class="w">
  </span><span class="s2">"chef_environment"</span><span class="err">:</span><span class="w"> </span><span class="s2">"production"</span><span class="err">,</span><span class="w">
  </span><span class="s2">"override"</span><span class="err">:</span><span class="w"> </span><span class="p">{</span><span class="w">

  </span><span class="p">}</span><span class="err">,</span><span class="w">
  </span><span class="s2">"normal"</span><span class="err">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nt">"tags"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">

    </span><span class="p">]</span><span class="w">
  </span><span class="p">}</span><span class="err">,</span><span class="w">
  </span><span class="s2">"run_list"</span><span class="err">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="s2">"role[base]"</span><span class="p">,</span><span class="w">
    </span><span class="s2">"role[dbserver]"</span><span class="p">,</span><span class="w">
    </span><span class="s2">"role[webserver]"</span><span class="p">,</span><span class="w">
    </span><span class="s2">"role[phpserver]"</span><span class="w">
  </span><span class="p">]</span><span class="w">
</span><span class="err">}</span></code></pre></figure>

<h3>Deploy to production environment</h3>

<p>1.- Upload chef code to ec2 instance.</p>

<p>To upload the chef code to ec2 node I use the git server, but you can use ssh or you favorite method.</p>

<p>2.- Run chef-client</p>

<figure class="highlight"><pre><code class="language-bash" data-lang="bash">git pull origin master
chef-client</code></pre></figure>

<h3>Future improvements</h3>

<p>Using a git hook we can automatize the production deployment task. We can develop a hook that after push you production branch to git server, It connect to the production node and run a git pull and a chef-client.</p>

  </article>

  <div id="disqus_thread"></div>
  <script>
  /**
  * RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
  * LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables
  */
  /*
  var disqus_config = function () {
  this.page.url = PAGE_URL; // Replace PAGE_URL with your page's canonical URL variable
  this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
  };
  */
  (function() { // DON'T EDIT BELOW THIS LINE
  var d = document, s = d.createElement('script');

  s.src = '//davidmataro.disqus.com/embed.js';

  s.setAttribute('data-timestamp', +new Date());
  (d.head || d.body).appendChild(s);
  })();
  </script>
  <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>



  <div class="pagination">
    <div class="row">
      <div class="col-xs-6 left">
        
          <b>Newer Posts</b><br/>
          <a href="/my-new-blog-based-on-jekyll/" class="previous">My new blog based on jekyll</a>
        
      </div>
      <div class="col-xs-6 right">
        
          <b>Older Posts</b><br/>
          <a href="/howto-install-simple-jekyll-search-plugin/" class="next">How to install simple-jekyll-search plugin</a>
        
      </div>
    </div>
  </div>
</div>



<!-- Add Disqus comments. -->
<div id="disqus_thread"></div>
<script type="text/javascript">
  /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
  var disqus_shortname = 'davidmataro'; // required: replace example with your forum shortname
  var disqus_identifier = "/howto-install-simple-jekyll-search-plugin/";

  /* * * DON'T EDIT BELOW THIS LINE * * */
  (function() {
    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
    dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
  })();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

<p>&nbsp;</p>


<footer>