├── Procfile ├── public ├── robots.txt ├── favicon.ico ├── images │ └── bg.png ├── humans.txt ├── crossdomain.xml ├── stylesheets │ ├── _responsive.scss │ └── application.scss └── 404.html ├── script └── server ├── bower.json ├── cluster.js ├── data ├── licenses.json ├── tools │ ├── pulp.json │ ├── grafana.json │ ├── opsbot.json │ ├── etcd.json │ ├── owncloud.json │ ├── rex.json │ ├── sensu.json │ ├── folsom.json │ ├── zabbix.json │ ├── deliver.json │ ├── packagecloud.json │ ├── phpci.json │ ├── deployinator.json │ ├── graylog.json │ ├── monit.json │ ├── osv.json │ ├── deltacloud.json │ ├── drone.json │ ├── metrics.json │ ├── sequencer.json │ ├── gerrit.json │ ├── healthchecks.json │ ├── openstack.json │ ├── prometheus │ ├── elita.json │ ├── awsbox.json │ ├── datascope.json │ ├── fnordmetric.json │ ├── glances.json │ ├── sunzi.json │ ├── brood.json │ ├── gitlab-ci.json │ ├── jmxtrans.json │ ├── logio.json │ ├── bouncy.json │ ├── collectd3.json │ ├── diamond.json │ ├── logster.json │ ├── soloist.json │ ├── dead-mans-snitch.json │ ├── eucalyptus.json │ ├── puppet-profiler.json │ ├── starcluster.json │ ├── vmfest.json │ ├── orc.json │ ├── poni.json │ ├── scales.json │ ├── chocolatey.json │ ├── jclouds.json │ ├── bento.json │ ├── cmb.json │ ├── credmgr.json │ ├── cruise-control-rb.json │ ├── puppet.json │ ├── razor.json │ ├── reviewboard.json │ ├── vagabond.json │ ├── batou.json │ ├── packetbeat.json │ ├── statsd.json │ ├── zipkin.json │ ├── amon-one.json │ ├── collectd.json │ ├── cronitor.json │ ├── fig.json │ ├── barkeep.json │ ├── djangy.json │ ├── gearman.json │ ├── owasp-zed-zap.json │ ├── hudson-ci.json │ ├── libcloud.json │ ├── phabricator.json │ ├── pkiio.json │ ├── riemann.json │ ├── boxen.json │ ├── cft.json │ ├── codeine.json │ ├── ffwd.json │ ├── gocd.json │ ├── mina.json │ ├── ventriloquist.json │ ├── serf.json │ ├── herd.json │ ├── server-density.json │ ├── teampass.json │ ├── tsuru.json │ ├── vaddy.json │ ├── basebox-packer.json │ ├── ganglia.json │ ├── librarian-chef.json │ ├── monigusto.json │ ├── packer.json │ ├── berkshelf.json │ ├── deis.json │ ├── influxdb │ ├── graphite.json │ ├── kubernetes.json │ ├── pallet.json │ ├── r10k.json │ ├── tinfoilsecurity.json │ ├── ratticdb.json │ ├── anthracite.json │ ├── errbit.json │ ├── fai.json │ ├── sovereign.json │ ├── consul.json │ ├── chef.json │ ├── fabric.json │ ├── kickstart.json │ ├── god.json │ ├── vaurien.json │ ├── cabot.json │ ├── kibana.json │ ├── puppet-dashboard.json │ ├── logstash.json │ ├── buildstep.json │ ├── cruise-control-net.json │ ├── kairosdb.json │ ├── mcollective.json │ ├── jenkins-ci.json │ ├── rundeck.json │ ├── simian-army.json │ ├── slaughter.json │ ├── testssl-sh.json │ ├── coreos.json │ ├── terraform.json │ ├── vagrant-cachier.json │ ├── capistrano.json │ ├── snap-ci.json │ ├── uptime.json │ ├── fog.json │ ├── zookeeper.json │ ├── deploykit.json │ ├── semaphore.json │ ├── aap.json │ ├── overcast.json │ ├── ansible.json │ ├── dokku-alt.json │ ├── travis-ci.json │ ├── brooklyn.json │ ├── flynn.json │ ├── statman.json │ ├── supervisord-monitor.json │ ├── boot2docker.json │ ├── icinga.json │ ├── archipel.json │ ├── fpm.json │ ├── opskeleton.json │ ├── gauntlt.json │ ├── loom.json │ ├── dokku.json │ ├── librarian-puppet.json │ ├── veewee.json │ ├── wix-toolset.json │ ├── salt-stack.json │ ├── buildbot.json │ ├── circleci.json │ ├── gogs.json │ ├── snitch.json │ ├── datadog.json │ ├── gitlab.json │ ├── honeybadger.json │ ├── toplog.json │ ├── hubot.json │ ├── supervisord.json │ ├── teamcity.json │ ├── condep.json │ ├── boxstarter.json │ ├── foreman.json │ ├── hardening-framework.json │ ├── juju.json │ ├── bcfg2.json │ ├── splunk.json │ ├── jeto.json │ ├── bitrise.json │ ├── skyline.json │ ├── weave.json │ ├── node-bell.json │ ├── vagrant.json │ ├── cobbler.json │ ├── stackstorm.json │ ├── cfengine.json │ ├── docker.json │ └── elasticbox.json ├── platforms.json ├── languages.json ├── topics.json └── index.js ├── server.js ├── routes ├── home.js └── tools.js ├── package.json ├── README.md ├── views ├── _tool.ejs ├── tools.ejs ├── home.ejs └── _sidebar.ejs ├── Vagrantfile ├── LICENSE ├── CONTRIBUTING.md ├── Gruntfile.js └── .gitignore /Procfile: -------------------------------------------------------------------------------- 1 | web: node cluster 2 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # robotstxt.org/ 2 | 3 | User-agent: * 4 | Disallow: 5 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simple/devopsbookmarks.com/master/public/favicon.ico -------------------------------------------------------------------------------- /public/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simple/devopsbookmarks.com/master/public/images/bg.png -------------------------------------------------------------------------------- /script/server: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | set -xe 4 | 5 | cd `dirname ${0%/*}` 6 | npm install 7 | grunt dev 8 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "devops", 3 | "version" : "0.0.1", 4 | "dependencies" : { 5 | "bourbon" : "3.1.8", 6 | "normalize-scss" : "2.1.2" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /cluster.js: -------------------------------------------------------------------------------- 1 | var cluster = require('cluster'); 2 | 3 | if (cluster.isMaster) { 4 | var cpuCount = require('os').cpus().length; 5 | for (var i=0; i < cpuCount; i++) 6 | cluster.fork(); 7 | } else { 8 | require('./server'); 9 | } 10 | -------------------------------------------------------------------------------- /public/humans.txt: -------------------------------------------------------------------------------- 1 | # humanstxt.org/ 2 | # The humans responsible & technology colophon 3 | 4 | # TEAM 5 | 6 | -- -- 7 | 8 | # THANKS 9 | 10 | 11 | 12 | # TECHNOLOGY COLOPHON 13 | 14 | HTML5, CSS3 15 | jQuery, Modernizr 16 | -------------------------------------------------------------------------------- /data/licenses.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "name": "Open Source", 3 | "slug": "open-source", 4 | "icon": "fa fa-fw fa-code-fork" 5 | }, { 6 | "name": "Free / Restricted", 7 | "slug": "free", 8 | "icon": "fa fa-fw fa-beer" 9 | }, { 10 | "name": "Proprietary / Commercial", 11 | "slug": "commercial", 12 | "icon": "fa fa-fw fa-usd" 13 | }] 14 | -------------------------------------------------------------------------------- /data/tools/pulp.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "pulp", 4 | "name": "Pulp", 5 | "description": "A platform for managing software package repositories", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "packaging", 10 | "python" 11 | ], 12 | "url": "http://www.pulpproject.org" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/grafana.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "grafana", 4 | "name": "Grafana", 5 | "description": "Graphite and InfluxDB dashboard and graph composer", 6 | "url": "http://grafana.org/", 7 | "tags": [ 8 | "linux", 9 | "open-source", 10 | "monitoring", 11 | "visualization" 12 | ] 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/opsbot.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "opsbot", 4 | "name": "OpsBot", 5 | "description": "A pluggable, configurable bot for improving communication in operations", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "ci", 10 | "perl" 11 | ], 12 | "url": "https://github.com/alcy/OpsBot" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/etcd.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "etcd", 4 | "name": "etcd", 5 | "description": "A highly-available key value store for shared configuration and service discovery.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "service-discovery" 10 | ], 11 | "url": "https://coreos.com/using-coreos/etcd/" 12 | } 13 | ] 14 | -------------------------------------------------------------------------------- /data/tools/owncloud.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "owncloud", 4 | "name": "ownCloud", 5 | "description": "A self-hosted personal cloud/social platform with contacts, calendars, file sharing, tasks, etc.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "cloud-paas" 10 | ], 11 | "url": "http://owncloud.org/six/" 12 | } 13 | ] 14 | -------------------------------------------------------------------------------- /data/tools/rex.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "rex", 4 | "name": "Rex", 5 | "description": "A agent-less server orchestration tool built on Perl", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "orchestration", 12 | "perl" 13 | ], 14 | "url": "http://www.rexify.org" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/sensu.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "sensu", 4 | "name": "Sensu", 5 | "description": "Sensu is a simple, malleable and scalable monitoring framework which is highly composable", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "monitoring", 10 | "ruby" 11 | ], 12 | "url": "http://sensuapp.org" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/folsom.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "folsom", 4 | "name": "Folsom", 5 | "description": "Captures Erlang events and metrics", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "erlang" 13 | ], 14 | "url": "https://github.com/boundary/folsom" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/zabbix.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "zabbix", 4 | "name": "Zabbix", 5 | "description": "An open source, enterprise-class monitoring framework", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "c" 13 | ], 14 | "url": "http://www.zabbix.com/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/deliver.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "deliver", 4 | "name": "Deliver", 5 | "description": "A pure bash-based deployment tool with virtually no dependencies except the shell.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "provisioning", 10 | "ruby" 11 | ], 12 | "url": "https://github.com/gerhard/deliver" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/packagecloud.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "packagecloud", 4 | "name": "packagecloud", 5 | "description": "A hosted platform for managing software package repositories. Apt, yum, and rubygems repositories without the headaches.", 6 | "tags": [ 7 | "linux", 8 | "packaging" 9 | ], 10 | "url": "http://www.packagecloud.io" 11 | } 12 | ] 13 | -------------------------------------------------------------------------------- /data/tools/phpci.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "slug": "phpci", 3 | "name": "PHPCI", 4 | "description": "Free and open source continuous integration specifically designed for PHP.", 5 | "url": "https://www.phptesting.org/", 6 | "tags": [ 7 | "osx", 8 | "open-source", 9 | "free", 10 | "bsd", 11 | "ci", 12 | "cd" 13 | ] 14 | }] 15 | -------------------------------------------------------------------------------- /data/tools/deployinator.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "deployinator", 4 | "name": "Deployinator", 5 | "description": "A simple, rack-based deployment framework", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "provisioning", 10 | "orchestration", 11 | "ruby" 12 | ], 13 | "url": "https://github.com/etsy/deployinator" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/graylog.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "graylog", 4 | "name": "Graylog 2", 5 | "description": "An open source data analytics and reporting system, built on top of Java, Scala and ElasticSearch", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "monitoring", 10 | "java" 11 | ], 12 | "url": "http://www.graylog2.org" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/monit.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "monit", 4 | "name": "Monit", 5 | "description": "An open source utility for managing and monitoring processes, programs, files, directories and filesystems", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "monitoring", 10 | "c" 11 | ], 12 | "url": "http://mmonit.com/monit/" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/osv.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "osv", 4 | "name": "OSV", 5 | "description": "An operating system for lightweight virtual machines, designed from ground-up to run a single application, similar to CoreOS", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "virt", 10 | "python" 11 | ], 12 | "url": "http://osv.io/" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/deltacloud.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "deltacloud", 4 | "name": "DeltaCloud", 5 | "description": "A Ruby API to interact with various cloud platforms", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "cloud-paas", 12 | "ruby" 13 | ], 14 | "url": "http://deltacloud.apache.org" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/drone.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "drone", 4 | "name": "Drone", 5 | "description": "Drone is a Continuous Integration platform built on Docker, written in Go", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "ci", 12 | "go" 13 | ], 14 | "url": "https://github.com/drone/drone" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/metrics.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "metrics", 4 | "name": "Metrics", 5 | "description": "Captures JVM and application-level metrics for Java", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "java" 13 | ], 14 | "url": "https://github.com/codahale/metrics/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/sequencer.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "sequencer", 4 | "name": "Sequencer", 5 | "description": "Sequencer can ping, power on and power off clusters of machines in your datacenter", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "orchestration", 10 | "python" 11 | ], 12 | "url": "http://pv-bull.github.io/sequencer/" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/gerrit.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "gerrit", 4 | "name": "Gerrit", 5 | "description": "A Web based code review and project management system for Git projects", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "scm", 12 | "java" 13 | ], 14 | "url": "https://code.google.com/p/gerrit/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/healthchecks.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "healthchecks", 4 | "name": "Healthchecks", 5 | "description": "Cron Monitoring. Get Notified When Your Cron Jobs Fail", 6 | "url": "https://healthchecks.io", 7 | "tags": [ 8 | "free", 9 | "linux", 10 | "open-source", 11 | "monitoring", 12 | "cron", 13 | "python" 14 | ] 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/openstack.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "openstack", 4 | "name": "OpenStack", 5 | "description": "An open source, massively scalable cloud operating system used for building private and public clouds", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "virt", 10 | "cloud-paas" 11 | ], 12 | "url": "http://www.openstack.org" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/prometheus: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "prometheus", 4 | "name": "Prometheus", 5 | "description": "Prometheus is an open-source systems monitoring and alerting toolkit built at SoundCloud.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "go", 10 | "metrics", 11 | "monitoring" 12 | ], 13 | "url": "http://prometheus.io/" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/elita.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "elita", 4 | "name": "Elita", 5 | "description": "Deployment system & automation framework", 6 | "url": "https://bitbucket.org/scorebig/elita", 7 | "tags": [ 8 | "linux", 9 | "windows", 10 | "osx", 11 | "open-source", 12 | "ci", 13 | "packaging", 14 | "orchestration" 15 | ] 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/awsbox.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "awsbox", 4 | "name": "AWSBox", 5 | "description": "DIY Platform-as-a-Service tool specialized for NodeJS projects with AWS as the backend, and created by Mozilla", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "cloud-paas", 10 | "nodejs" 11 | ], 12 | "url": "https://github.com/mozilla/awsbox" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/datascope.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "datascope", 4 | "name": "Datascope", 5 | "description": "Visualizes PostgreSQL query performance using pg_stat_statements", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "ruby" 13 | ], 14 | "url": "https://github.com/will/datascope" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/fnordmetric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "fnordmetric", 4 | "name": "FnordMetric", 5 | "description": "A HTML5/Javascript API for collecting and visualizing time series data", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "ruby" 13 | ], 14 | "url": "http://fnordmetric.io" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/glances.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "glances", 4 | "name": "Glances", 5 | "description": "A cross-platform, curses-based monitoring tool written in Python", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "python" 13 | ], 14 | "url": "http://nicolargo.github.io/glances/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/sunzi.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "sunzi", 4 | "name": "Sunzi", 5 | "description": "A shell-based pure provisioning tool which doesn’t try to do anything else. Has no dependencies other than the shell", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "provisioning", 10 | "shell" 11 | ], 12 | "url": "https://github.com/kenn/sunzi" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/brood.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "brood", 4 | "name": "Brood", 5 | "description": "A Deployment framework written in PHP. Can deploy to multiple servers using Gearman.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "provisioning", 12 | "php" 13 | ], 14 | "url": "https://github.com/ign/brood" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/gitlab-ci.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "gitlab-ci", 4 | "name": "GitLab CI", 5 | "description": "GitLab CI integrates with GitLab and runs continuous integration builds whenever you check in code to any of your projects.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "ci", 10 | "ruby" 11 | ], 12 | "url": "http://gitlab.org/gitlab-ci" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/jmxtrans.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "jmxtrans", 4 | "name": "jmxtrans", 5 | "description": "Plugs Java VM statistics via JMX to various backend monitoring tools", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "java" 13 | ], 14 | "url": "https://github.com/jmxtrans/jmxtrans" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/logio.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "logio", 4 | "name": "log.io", 5 | "description": "Realtime log monitoring directly in the browser, without any persistence layer in the middle!", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "nodejs" 13 | ], 14 | "url": "http://logio.org" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/bouncy.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "bouncy", 4 | "name": "Bouncy", 5 | "description": "Bounces HTTP requests around for load balancing, or act as a HTTP host router", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "process-mgmt", 12 | "nodejs" 13 | ], 14 | "url": "https://github.com/substack/bouncy" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/collectd3.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "collectd3", 4 | "name": "collectd3", 5 | "description": "collectd + d3js = Beautiful D3JS visualizations of system performance statistics collected using collectd", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "monitoring", 10 | "nodejs" 11 | ], 12 | "url": "https://github.com/StackStorm/collectd3" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/diamond.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "diamond", 4 | "name": "Diamond", 5 | "description": "A python daemon that collects system statistics and sends it to Graphite", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "python" 13 | ], 14 | "url": "https://github.com/BrightcoveOS/Diamond" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/logster.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "logster", 4 | "name": "Logster", 5 | "description": "Reads log files and generates metrics in Graphite, Ganglia or Amazon CloudWatch", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "python" 13 | ], 14 | "url": "https://github.com/etsy/logster" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/soloist.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "soloist", 4 | "name": "Soloist", 5 | "url": "https://github.com/mkocher/soloist", 6 | "description": "Soloist lets you quickly and easily converge Chef recipes using chef-solo.", 7 | "tags": [ 8 | "linux", 9 | "windows", 10 | "osx", 11 | "open-source", 12 | "provisioning", 13 | "ruby" 14 | ] 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/dead-mans-snitch.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "dead-mans-snitch", 4 | "name": "Dead Man’s Snitch", 5 | "description": "A cron job monitoring tool that keeps an eye on your crontab and notifies you when something doesn’t happen.", 6 | "tags": [ 7 | "linux", 8 | "free", 9 | "monitoring", 10 | "ruby" 11 | ], 12 | "url": "https://deadmanssnitch.com/" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/eucalyptus.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "eucalyptus", 4 | "name": "Eucalyptus", 5 | "description": "An open source software for building Amazon EC2-compatible private and hybrid cloud platforms", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "virt", 10 | "cloud-paas", 11 | "c" 12 | ], 13 | "url": "https://github.com/eucalyptus/eucalyptus" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/puppet-profiler.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "puppet-profiler", 4 | "name": "Puppet-profiler", 5 | "description": "Find out what’s making your Puppet run so bloody slow", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "ruby" 13 | ], 14 | "url": "https://github.com/rodjek/puppet-profiler" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/starcluster.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "starcluster", 4 | "name": "StarCluster", 5 | "description": "A specialized, cluster computing toolkit for EC2, designed to summon and manage clusters of virtual machines in EC2.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "cloud-paas", 10 | "python" 11 | ], 12 | "url": "http://star.mit.edu/cluster/" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/vmfest.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "vmfest", 4 | "name": "VMFest", 5 | "description": "A Pallet plugin which converts VirtualBox into a cloud platform", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "virt", 12 | "cloud-paas", 13 | "clojure" 14 | ], 15 | "url": "https://github.com/tbatchelli/vmfest" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/orc.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "orc", 4 | "name": "Orc", 5 | "description": "A model driven orchestration tool for deployment of application clusters", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "provisioning", 12 | "orchestration", 13 | "ruby" 14 | ], 15 | "url": "https://github.com/youdevise/orc/" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/poni.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "poni", 4 | "name": "Poni", 5 | "description": "A system management and provisioning tool, with centralized configuration management", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "config-mgmt", 10 | "provisioning", 11 | "orchestration", 12 | "python" 13 | ], 14 | "url": "http://melor.github.io/poni/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/scales.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "scales", 4 | "name": "Scales", 5 | "description": "Metrics for Python, tracks python state and statistics. Inspired by the Metrics library for Java", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "python" 13 | ], 14 | "url": "https://github.com/Cue/scales" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/chocolatey.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "chocolatey", 4 | "name": "Chocolatey", 5 | "description": "Chocolatey is like apt-get for Windows. It can install packages and dependencies over the command line.", 6 | "tags": [ 7 | "windows", 8 | "open-source", 9 | "packaging", 10 | "provisioning", 11 | "powershell" 12 | ], 13 | "url": "http://chocolatey.org/" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/jclouds.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "jclouds", 4 | "name": "jclouds", 5 | "description": "A Java Library for controlling cloud resources, with various plugins for many popular cloud providers.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "cloud-paas", 12 | "java" 13 | ], 14 | "url": "http://jclouds.apache.org" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/bento.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "bento", 4 | "name": "Bento", 5 | "description": "A modularized collection of Packer definitions for building machine images. A good place to start with Packer.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "virt", 12 | "ruby" 13 | ], 14 | "url": "https://github.com/opscode/bento" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/cmb.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "cmb", 4 | "name": "CMB (Cloud Message Bus)", 5 | "description": "A notification service (like Amazon SQS and SNS), allows notifications to be published across many channels like Email, VoIP, SMS, etc", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "monitoring", 10 | "java" 11 | ], 12 | "url": "https://github.com/Comcast/cmb" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/credmgr.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "credmgr", 4 | "name": "credmgr", 5 | "description": "Securely manages privileged account credentials, such as root passwords, using Shamir secret sharing. Its like 1Password for DevOps.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "orchestration", 10 | "python" 11 | ], 12 | "url": "https://github.com/treyka/credmgr" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/cruise-control-rb.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "cruise-control-rb", 4 | "name": "CruiseControl.rb", 5 | "description": "CI server written in Ruby with a focus on simplicity and being easy to hack, open sourced by ThoughtWorks", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "ci", 10 | "ruby" 11 | ], 12 | "url": "https://github.com/thoughtworks/cruisecontrol.rb" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/puppet.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "puppet", 4 | "name": "Puppet", 5 | "description": "Puppet is a tool designed to manage the configuration of Unix-like and Microsoft Windows systems declaratively.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "config-mgmt", 12 | "ruby" 13 | ], 14 | "url": "http://www.puppetlabs.com" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/razor.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "puppet-razor", 4 | "name": "Razor", 5 | "description": "Razor is next generation provisioning software that handles bare metal hardware and virtual server provisioning", 6 | "url": "https://github.com/puppetlabs/razor-server", 7 | "tags": [ 8 | "linux", 9 | "open-source", 10 | "provisioning", 11 | "ruby" 12 | ] 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/reviewboard.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "reviewboard", 4 | "name": "Review Board", 5 | "description": "Review Board is a feature packed code review tool for multiple SCM systems (like git, bzr, cvs, subversion, etc).", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "commercial", 10 | "scm", 11 | "python" 12 | ], 13 | "url": "http://www.reviewboard.org/" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/vagabond.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "vagabond", 4 | "name": "Vagabond", 5 | "description": "Builds local nodes for Chef using LXC (Linux Containers) which are lightweight virtual machines, thus making performance a lot faster", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "virt", 10 | "ruby" 11 | ], 12 | "url": "https://github.com/chrisroberts/vagabond" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/batou.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "batou", 4 | "name": "Batou", 5 | "description": "Batou makes it easy to perform automated deployments. It combines Fabric's simplicty and SSH automation, with Puppet's declarative syntax and idempotence", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "provisioning", 10 | "python" 11 | ], 12 | "url": "http://batou.readthedocs.org" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/packetbeat.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "packetbeat", 4 | "name": "Packetbeat", 5 | "description": "Packetbeat is an application performance management (APM) system that focuses on giving you visibility into the communication between microservices", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "monitoring", 10 | "go" 11 | ], 12 | "url": "http://packetbeat.com" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/statsd.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "statsd", 4 | "name": "Statsd", 5 | "description": "A network daemon that listens and collects statistics and sends aggregates to many pluggable backend services", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "nodejs" 13 | ], 14 | "url": "https://github.com/etsy/statsd/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/platforms.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "name": "Linux", 3 | "slug": "linux", 4 | "icon": "fa fa-fw fa-linux" 5 | }, { 6 | "name": "Windows", 7 | "slug": "windows", 8 | "icon": "fa fa-fw fa-windows" 9 | }, { 10 | "name": "OSX", 11 | "slug": "osx", 12 | "icon": "fa fa-fw fa-apple" 13 | }, { 14 | "name": "Solaris", 15 | "slug": "solaris", 16 | "icon": "" 17 | }, { 18 | "name": "BSD", 19 | "slug": "bsd", 20 | "icon": "" 21 | }] 22 | -------------------------------------------------------------------------------- /data/tools/zipkin.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "zipkin", 4 | "name": "Zipkin", 5 | "description": "A distributed request tracking system, useful for micro-service and distributed architectures written in Scala", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "scala" 13 | ], 14 | "url": "http://twitter.github.io/zipkin/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/amon-one.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "amon-one", 4 | "name": "AmonOne", 5 | "description": "A modern, self-hosted server monitoring system with system monitoring, process monitoring and notifications", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "python" 13 | ], 14 | "url": "https://github.com/martinrusev/amonone" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/collectd.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "collectd", 4 | "name": "collectd", 5 | "description": "A daemon that collects system performance statistics periodically, and provides tons of plugins to store and analyze these values", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "c" 13 | ], 14 | "url": "http://collectd.org/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/cronitor.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "cronitor", 4 | "name": "Cronitor", 5 | "description": "Monitor cron jobs, daemons and almost anything else. No more silent failures.", 6 | "url": "https://cronitor.io", 7 | "tags": [ 8 | "free", 9 | "linux", 10 | "monitoring", 11 | "python", 12 | "realtime", 13 | "cron", 14 | "heartbeat", 15 | "time" 16 | ] 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /data/tools/fig.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "fig", 4 | "name": "Fig", 5 | "description": "A package management tool, similar to Ivy/APT, but language agnostic, faster and works well with both executables and libraries.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "packaging", 12 | "ruby" 13 | ], 14 | "url": "https://github.com/mfoemmel/fig" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/barkeep.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "barkeep", 4 | "name": "Barkeep", 5 | "description": "A simple, friendly and self-hosted code review tool for git projects, which is focused purely on code reviewing. Can support both pre and post-commit workflows.", 6 | "tags": [ 7 | "linux", 8 | "osx", 9 | "open-source", 10 | "scm", 11 | "ruby" 12 | ], 13 | "url": "http://getbarkeep.org" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/djangy.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "djangy", 4 | "name": "Djangy", 5 | "description": "An open source cloud hosting service for Python/Django web applications. Its like an open source Heroku for python/django", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "cloud-paas", 12 | "python" 13 | ], 14 | "url": "https://github.com/dpaola2/djangy" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/gearman.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "gearman", 4 | "name": "gearman", 5 | "description": "A generic application framework to farm out work to other machines or processes, and allows parallel processing and load balancing", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "orchestration", 12 | "php" 13 | ], 14 | "url": "http://gearman.org" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/owasp-zed-zap.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "owasp-zed-zap", 4 | "name": "Zed Attack Project", 5 | "description": "A penetration testing tool for finding vulnerabilities in web applications, from OWASP", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "security" 12 | ], 13 | "url": "https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/hudson-ci.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "hudson-ci", 4 | "name": "Hudson", 5 | "description": "The original lightweight CI tool written in Java. Initially part of Sun, then acquired by Oracle, and now maintained to the Eclipse Foundation", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "ci", 12 | "java" 13 | ], 14 | "url": "http://hudson-ci.org/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/libcloud.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "libcloud", 4 | "name": "Apache Libcloud", 5 | "description": "Python library for interacting with many of the popular cloud service providers using a unified API.", 6 | "url": "https://libcloud.apache.org/", 7 | "tags": [ 8 | "linux", 9 | "windows", 10 | "osx", 11 | "bsd", 12 | "open-source", 13 | "cloud-paas", 14 | "python" 15 | ] 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/phabricator.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "phabricator", 4 | "name": "Phabricator", 5 | "description": "Phabricator is an open source collection of development and code management, including code reviews and audits, browsing repositories, tracking bugs, etc", 6 | "tags": [ 7 | "linux", 8 | "osx", 9 | "open-source", 10 | "scm", 11 | "php" 12 | ], 13 | "url": "http://phabricator.org" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/pkiio.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "pki-io", 4 | "name": "pki.io", 5 | "description": "pki.io is an open source project that makes managing and deploying X.509 certificates easy and scalable", 6 | "url": "https://pki.io", 7 | "tags": [ 8 | "linux", 9 | "osx", 10 | "bsd", 11 | "open-source", 12 | "free", 13 | "security", 14 | "x509", 15 | "key management" 16 | ] 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /data/tools/riemann.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "riemann", 4 | "name": "Riemann", 5 | "description": "Riemann aggregates events from servers and applications, notifies exceptions, tracks latency, collects system statistics and more, all with a powerful stream processing language", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "monitoring", 10 | "clojure" 11 | ], 12 | "url": "http://riemann.io" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/boxen.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "boxen", 4 | "name": "Boxen", 5 | "description": "Boxen automates the entire process of setting up a Mac development environment. It can clone your project, install toolchains, apply security policies, clone your dotfiles and much more.", 6 | "tags": [ 7 | "osx", 8 | "open-source", 9 | "provisioning", 10 | "ruby" 11 | ], 12 | "url": "http://boxen.github.com" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/cft.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "cft", 4 | "name": "Cft", 5 | "description": "Cft watches as you make changes to your server, and then creates puppet manifests for the resulting actions. Simplifies creating puppet configuration.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "config-mgmt", 10 | "provisioning", 11 | "orchestration" 12 | ], 13 | "url": "https://gitorious.org/cft/cft" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/codeine.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "codeine", 4 | "name": "Codeine", 5 | "description": "Codeine is a continuous deployment tool that makes product deployment faster and safer through automation and monitoring.", 6 | "url": "https://github.com/codeine-cd/codeine", 7 | "tags": [ 8 | "linux", 9 | "windows", 10 | 11 | "open-source", 12 | 13 | "cd", 14 | "monitoring" 15 | 16 | ] 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /data/tools/ffwd.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "ffwd", 4 | "name": "FastForward", 5 | "description": "Flexible operating-system event and metric forwarding agent. Receives input and forwards output using plugins.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "metrics", 12 | "monitoring", 13 | "ruby" 14 | ], 15 | "url": "https://github.com/spotify/ffwd" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/gocd.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "gocd", 4 | "name": "GoCD", 5 | "description": "Go is a continuous delivery and release management tool, built from the ground up with pipelines in mind, and makes it easy to model complex build and deploy workflows", 6 | "url": "http://go.cd", 7 | "tags": [ 8 | "linux", 9 | "windows", 10 | "osx", 11 | "open-source", 12 | "ci", 13 | "java" 14 | ] 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/mina.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "mina", 4 | "name": "Mina", 5 | "description": "A Ruby Rake-like DSL for fast deployment and automation, similar to Capistrano but faster and lesser overhead, since it creates only a single SSH connection for a deploy", 6 | "tags": [ 7 | "linux", 8 | "osx", 9 | "open-source", 10 | "orchestration", 11 | "ruby" 12 | ], 13 | "url": "http://nadarei.co/mina/" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/ventriloquist.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "ventriloquist", 4 | "name": "Ventriloquist", 5 | "description": "Allows easy provisioning of development VMs using declarative service and dependency management, built on top of Vagrant and Docker", 6 | "tags": [ 7 | "linux", 8 | "osx", 9 | "open-source", 10 | "virt", 11 | "ruby" 12 | ], 13 | "url": "https://github.com/fgrehm/ventriloquist" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/serf.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "serf", 4 | "name": "Serf", 5 | "description": "Serf is a service discovery and orchestration tool which is highly decentralized, highly available, fault tolerant, cross platform and extremely lightweight.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "orchestration", 12 | "go" 13 | ], 14 | "url": "http://www.serfdom.io/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/herd.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "herd", 4 | "name": "Herd", 5 | "description": "A bittorrent based file distribution system based on Twitter’s Murder. It uses BitTorrent to push artifacts and code very fast across thousands of servers.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "packaging", 12 | "python" 13 | ], 14 | "url": "https://github.com/russss/Herd" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/server-density.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "server-density", 4 | "name": "Server Density", 5 | "description": "SaaS server and availability monitoring providing alerting, historical graphing, dashboards and log search.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "freebsd", 11 | "monitoring", 12 | "python", 13 | "commercial" 14 | ], 15 | "url": "https://www.serverdensity.com" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/teampass.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "teampass", 4 | "name": "TeamPass", 5 | "description": "TeamPass is a Collaborative Passwords Manager. Its aim is to provide the ability to share password items through a secured and managed environment.", 6 | "url": "http://teampass.net/", 7 | "tags": [ 8 | "linux", 9 | "windows", 10 | "osx", 11 | "bsd", 12 | "solaris", 13 | "open-source", 14 | "security" 15 | ] 16 | } 17 | ] -------------------------------------------------------------------------------- /data/tools/tsuru.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "tsuru", 4 | "name": "tsuru", 5 | "description": "tsuru is an extensible and open source Platform as a Service (PaaS) that makes application deployments faster and easier. Its built upon Docker and allows you easily manage and scale your applications.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "virt", 10 | "cloud-paas", 11 | "go" 12 | ], 13 | "url": "https://tsuru.io" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/vaddy.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "vaddy", 4 | "name": "VAddy", 5 | "description": "VAddy integrates with your existing CI tools and performs robust security checks. Cloud-Based Service Automates Security Tests for DevOps Teams.", 6 | "url": "http://vaddy.net/", 7 | "tags": [ 8 | "linux", 9 | "windows", 10 | "osx", 11 | "free", 12 | "commercial", 13 | "ci", 14 | "cloud", 15 | "security" 16 | ] 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /data/tools/basebox-packer.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "basebox-packer", 4 | "name": "Basebox-Packer", 5 | "description": "A comprehensive set of Packer definitions. It has quite a collection of 64 bit and 32 bit images for Vagrant VirtualBox and VMWare. A good place to learn Packer definitions.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "virt", 10 | "bash?" 11 | ], 12 | "url": "https://github.com/misheska/basebox-packer" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/ganglia.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "ganglia", 4 | "name": "Ganglia", 5 | "description": "Ganglia is a distributed monitoring system for high performance computing systems such as clusters and grids. It is optimized for low overhead and high concurency.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "php" 13 | ], 14 | "url": "http://ganglia.sourceforge.net" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/librarian-chef.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "librarian-chef", 4 | "name": "Librarian-chef", 5 | "description": "A cookbook manager, or bundler equivalent, for Chef cookbooks. It allows to separately store, manage and reuse your Chef cookbooks", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "scm", 12 | "ruby" 13 | ], 14 | "url": "https://github.com/applicationsonline/librarian-chef" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/monigusto.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "monigusto", 4 | "name": "Monigusto", 5 | "description": "A collection of Chef recipes to install various monitoring tools (such as sensu, statsd, etc). Makes it a breeze to get a monitoring infrastructure up and running", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "ruby" 13 | ], 14 | "url": "https://github.com/monigusto" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/packer.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "packer", 4 | "name": "Packer", 5 | "description": "Packer is a tool for creating identical machine images for multiple platforms (like VirtualBox, VMWare, EC2, DigitalOcean, etc) from a single configuration file.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "virt", 12 | "cloud-paas", 13 | "go" 14 | ], 15 | "url": "http://www.packer.io/" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/berkshelf.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "berkshelf", 4 | "name": "Berkshelf", 5 | "description": "A cookbook source structure manager for Chef, similar to Bundler for Ruby. Each Chef cookbook can be structured as an individual entity and can be pulled into your main Chef workflows.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "scm", 12 | "ruby" 13 | ], 14 | "url": "http://berkshelf.com" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/deis.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "deis", 4 | "name": "Deis", 5 | "description": "Deis (pronounced DAY-iss) is an open source PaaS that makes it easy to deploy and manage applications on your own servers. Deis builds upon Docker and CoreOS to provide a lightweight PaaS with a Heroku-inspired workflow.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "virt", 10 | "cloud-paas", 11 | "go" 12 | ], 13 | "url": "https://deis.io" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/influxdb: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "influxdb", 4 | "name": "InfluxDB", 5 | "description": "InfluxDB is a time series, metrics, and analytics database. It’s written in Go and has no external dependencies. InfluxDB is targeted at use cases for DevOps, metrics, sensor data, and real-time analytics.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "monitoring", 10 | "go", 11 | "metrics" 12 | ], 13 | "url": "http://influxdb.com/" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/graphite.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "graphite", 4 | "name": "Graphite", 5 | "description": "Graphite is a visualization tool for statistics configured from various sources. You can create customizable reports and dashboards, and it is one of the preferred backends for Statsd", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "monitoring", 10 | "python", 11 | "visualization" 12 | ], 13 | "url": "http://graphite.readthedocs.org/" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/kubernetes.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "kubernetes", 4 | "name": "Kubernetes", 5 | "description": "Kubernetes is a system for managing containerized applications across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications", 6 | "url": "https://github.com/googlecloudplatform/kubernetes", 7 | "tags": [ 8 | "linux", 9 | "open-source", 10 | "virt", 11 | "orchestration", 12 | "go" 13 | ] 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/pallet.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "pallet", 4 | "name": "Pallet", 5 | "description": "A tool to provision and maintain servers across various cloud platforms as well as virtual machine platforms, without any dependencies. Provides cloud and operating system independence.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "cloud-paas", 12 | "clojure" 13 | ], 14 | "url": "http://palletops.com/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/r10k.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "r10k", 4 | "name": "r10k", 5 | "description": "r10k provides a general purpose toolset for deploying Puppet environments and modules. It implements the Puppetfile format and provides a native implementation of Puppet dynamic environments.", 6 | "url": "https://github.com/puppetlabs/r10k", 7 | "tags": [ 8 | "linux", 9 | "windows", 10 | "osx", 11 | "open-source", 12 | "free", 13 | "scm" 14 | ] 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/tinfoilsecurity.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "tinfoil-security", 4 | "name": "Tinfoil Security", 5 | "description": "Thorough web application security testing, with an extensive API, easy to hook into CI and issue tracking tools.", 6 | "url": "https://www.tinfoilsecurity.com", 7 | "tags": [ 8 | "linux", 9 | "windows", 10 | "osx", 11 | "free", 12 | "commercial", 13 | "ci", 14 | "monitoring", 15 | "security" 16 | ] 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /data/tools/ratticdb.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "ratticdb", 4 | "name": "RatticDB", 5 | "description": "RatticDB is a centralized, multi-user password management database, providing API access for automation, audit logs for accountability, and change queue to manage password rotation.", 6 | "url": "http://rattic.org/", 7 | "tags": [ 8 | "linux", 9 | "windows", 10 | "osx", 11 | "bsd", 12 | "solaris", 13 | "open-source", 14 | "security" 15 | ] 16 | } 17 | ] -------------------------------------------------------------------------------- /data/tools/anthracite.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "anthracite", 4 | "name": "Anthracite", 5 | "description": "Tracks and manages all events that can have business and/or operational impact (deploys, manual changes, outages, press releases, etc) and provides metrics and reports", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "python" 13 | ], 14 | "url": "https://github.com/Dieterbe/anthracite" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/errbit.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "errbit", 4 | "name": "Errbit", 5 | "description": "An open source, self-hosted error catching tool, which can collect and manage errors from other applications. It is compatible with the Airbrake API and can be used as a drop-in replacement.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "ruby" 13 | ], 14 | "url": "https://github.com/errbit/errbit" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/fai.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "fai", 4 | "name": "FAI", 5 | "description": "Fully Automatic Installation (FAI) is a tool for mass unattended deployment of Linux. You can take one or more virgin PCs, turn on the power, and after a few minutes, the systems are installed and completely configured.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "config-mgmt", 10 | "provisioning", 11 | "perl" 12 | ], 13 | "url": "http://fai-project.org" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/sovereign.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "sovereign", 4 | "name": "Sovereign", 5 | "description": "A set of Ansible playbooks to configure and maintain your own personal cloud, including email, calendars, file storage, vpn, irc, etc. A nice collection of utilities as well as a good showcase of Ansible's features", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "cloud-paas", 10 | "python" 11 | ], 12 | "url": "https://github.com/al3x/sovereign" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/consul.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "consul", 4 | "name": "Consul", 5 | "description": "Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. Register external services such as SaaS providers as well", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "service-discovery", 12 | "go", 13 | "monitoring" 14 | ], 15 | "url": "https://consul.io/" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/chef.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "chef", 4 | "name": "Chef", 5 | "description": "Configuration management tool which uses a pure-Ruby, domain-specific language (DSL) for writing system configuration recipes. Supports Linux, UNIX, Windows, and AIX as first-class citizens for management.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "open-source", 10 | "provisioning", 11 | "config-mgmt", 12 | "ruby" 13 | ], 14 | "url": "http://www.getchef.com" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/fabric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "fabric", 4 | "name": "Fabric", 5 | "description": "Fabric is a python framework to configure deployment or system administration tasks, and then run those tasks on local or remote systems. It uses SSH heavily for interacting with remote systems, and uses Roles to group tasks", 6 | "tags": [ 7 | "linux", 8 | "osx", 9 | "open-source", 10 | "orchestration", 11 | "python" 12 | ], 13 | "url": "http://docs.fabfile.org/" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/kickstart.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "kickstart", 4 | "name": "Kickstart", 5 | "description": "A Bash provisioning tool with no extra dependency on the target host or the client. It comes with a set of helper functions that abstract some diferences like package management and brings indepotency to some commands.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "provisioning", 10 | "shell" 11 | ], 12 | "url": "https://github.com/bltavares/kickstart" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/god.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "god", 4 | "name": "God", 5 | "description": "God is a process management framework written in Ruby. It has a simple configuration and can manage single or group of processes, keep them alive, manage PIDs, monitor if any process fails, notify administrators and much more.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "process-mgmt", 12 | "ruby" 13 | ], 14 | "url": "http://godrb.com/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/vaurien.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "vaurien", 4 | "name": "Vaurien", 5 | "description": "A Chaos Monkey for TCP, it randomly disconnects or stalls TCP connections in your application to test application tolerance and high availability. Makes sure you correctly handle these unexpected events", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "security", 12 | "python" 13 | ], 14 | "url": "http://vaurien.readthedocs.org/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/cabot.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "cabot", 4 | "name": "Cabot", 5 | "description": "Cabot is an open source, self hosted infrastructure monitoring tool. It can monitor your services and send telephone, SMS, email or chat alerts to your team whenever anything goes down, all without writing a single line of code.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "ci", 12 | "python" 13 | ], 14 | "url": "http://cabotapp.com/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/kibana.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "kibana", 4 | "name": "Kibana", 5 | "description": "Kibana is a modern, beautiful visualization tool that works seamlessly with Logstash and ElasticSearch. It features a no-code setup, realtime analytics, and much more.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "nodejs", 13 | "visualization" 14 | ], 15 | "url": "http://www.elasticsearch.org/overview/kibana/" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/puppet-dashboard.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "puppet-dashboard", 4 | "name": "Puppet Dashboard", 5 | "description": "A web interface for Puppet. It can view and analyze Puppet reports, assign Puppet classes and parameters to nodes, view inventory data and backed-up file contents, etc.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "ruby" 13 | ], 14 | "url": "https://github.com/sodabrew/puppet-dashboard" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/logstash.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "logstash", 4 | "name": "Logstash", 5 | "description": "A modern tool for managing events and logs, with an ElasticSearch backend which allows a high degree of searching and filtering. It includes a shipper in remote systems, indexer in the aggregator machine, and a Web UI.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "java" 13 | ], 14 | "url": "http://logstash.net" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/buildstep.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "buildstep", 4 | "name": "Buildstep", 5 | "description": "Buildstep uses Docker and small buildpack scripts to build applications like Heroku. It was used by Dokku to create a 100-line Heroku clone. There are many open source Buildpack scripts for various languages like Java, Ruby, Erlang, PHP, etc.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "cloud-paas", 10 | "ruby" 11 | ], 12 | "url": "https://github.com/progrium/buildstep" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/cruise-control-net.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "cruise-control-net", 4 | "name": "CruiseControl.NET", 5 | "description": "A CI server made in .Net, mostly targeting Windows/.net platforms but can support other languages too. It was developed as a language fork of the original CruiseControl CI project developed by ThoughtWorks", 6 | "tags": [ 7 | "windows", 8 | "open-source", 9 | "ci", 10 | "net" 11 | ], 12 | "url": "http://www.cruisecontrolnet.org/projects/ccnet/wiki/About" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/kairosdb.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "kairosdb", 4 | "name": "KairosDB", 5 | "description": "KairosDB is a fast distributed scalable time series database written on top of Cassandra. RESTful JSON-based query/results. Includes flot-based visualization.", 6 | "url": "https://github.com/kairosdb/kairosdb", 7 | "tags": [ 8 | "linux", 9 | "windows", 10 | "osx", 11 | "open-source", 12 | "metrics", 13 | "visualization", 14 | "java", 15 | "cassandra" 16 | ] 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /data/tools/mcollective.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "mcollective", 4 | "name": "MCollective", 5 | "description": "Marionette Collective (MCollective) is an orchestration framework built on top of Puppet. It can interact with a large number of servers (using a pub-sub middleware) and can execute jobs in parallel", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "free", 11 | "orchestration", 12 | "ruby" 13 | ], 14 | "url": "http://docs.puppetlabs.com/mcollective/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/jenkins-ci.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "jenkins-ci", 4 | "name": "Jenkins", 5 | "description": "Jenkins is an open source, lightweight CI tool written in Java, with high extensibility and a fast release cycle. It was forked from Hudson after Oracle acquired it, and has since added significantly more features than the original", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "ci", 12 | "java" 13 | ], 14 | "url": "http://jenkins-ci.org/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/rundeck.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "rundeck", 4 | "name": "Rundeck", 5 | "description": "Turns your operational procedures into self-service portal. Define common operational tasks in the Rundeck web portal, and safely hand it over to the rest of the team so that they can perform these tasks without you being around.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "orchestration", 12 | "java" 13 | ], 14 | "url": "http://rundeck.org" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/simian-army.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "simian-army", 4 | "name": "Simian Army", 5 | "description": "A tool for testing and promoting infrastructure tolerance and high availability. It randomly shuts down servers, or blocks network connections, and makes sure you design your systems to survive these events.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "security", 12 | "java" 13 | ], 14 | "url": "https://github.com/Netflix/SimianArmy" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/slaughter.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "slaughter", 4 | "name": "Slaughter", 5 | "description": "A Perl tool for automating configuration, maintenance and management of large number of systems. Allows policies to be written in a central server and implement specific policies in various servers", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "config-mgmt", 10 | "provisioning", 11 | "orchestration", 12 | "perl" 13 | ], 14 | "url": "https://github.com/skx/slaughter" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/testssl-sh.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "testssl-sh", 4 | "name": "testssl.sh", 5 | "description": "A command-line tool which checks a server's service on any port for the support of TLS/SSL ciphers, protocols as well as some cryptographic flaws. It's designed to provide clear output for your \"is this good or bad\" decision.", 6 | "tags": [ 7 | "linux", 8 | "osx", 9 | "open-source", 10 | "security", 11 | "shell" 12 | ], 13 | "url": "https://github.com/drwetter/testssl.sh" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/coreos.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "coreos", 4 | "name": "CoreOS", 5 | "description": "CoreOS is an extremely lightweight base OS for Docker. It installs just a kernel, systemd and docker, and then you use Docker to pull in any service that you want. Can be used as a base OS when running your own PaaS with Docker, or other kind of deployments.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "commercial", 10 | "virt", 11 | "cloud-paas" 12 | ], 13 | "url": "http://coreos.com" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/terraform.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "terraform", 4 | "name": "Terraform", 5 | "description": "Terraform provides a common configuration to launch infrastructure from different providers (AWS, Digital Ocean, Heroku, etc.). It provides dependency resolution to make sure that your infrastructure is created in the right order", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "cloud-paas", 12 | "go" 13 | ], 14 | "url": "https://www.terraform.io/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/vagrant-cachier.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "vagrant-cachier", 4 | "name": "Vagrant Cachier", 5 | "description": "A Vagrant plugin that helps you reduce the amount of coffee you drink while waiting for boxes to be provisioned by sharing a common package cache among similiar VM instances.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "virt", 12 | "artifacts", 13 | "ruby" 14 | ], 15 | "url": "http://fgrehm.viewdocs.io/vagrant-cachier" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/capistrano.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "capistrano", 4 | "name": "Capistrano", 5 | "description": "The Ruby equivalent of Fabric, Capistrano is a Ruby framework to configure and run deployment or system administration tasks on local or remote machines. It extends the Rake DSL to define tasks, and can group tasks by Roles.", 6 | "tags": [ 7 | "linux", 8 | "osx", 9 | "open-source", 10 | "provisioning", 11 | "orchestration", 12 | "ruby" 13 | ], 14 | "url": "http://capistranorb.com" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/snap-ci.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "snap-ci", 4 | "name": "Snap-CI", 5 | "description": "Snap CI is a hosted CI/CD service from ThoughtWorks. Supports pipelines and stages, artifact management, debugging shells and integrates out-of-the-box with deployment platforms like Heroku. Provides free builds for open source projects.", 6 | "url": "http://snap-ci.com", 7 | "tags": [ 8 | "linux", 9 | "windows", 10 | "osx", 11 | "free", 12 | "commercial", 13 | "ci", 14 | "cd" 15 | ] 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/uptime.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "uptime", 4 | "name": "Uptime", 5 | "description": "An externally deployable application that keeps pinging and monitoring the uptime and availability of your real applications and services. It helps you track these metrics from the outside without affecting any of your servers.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "nodejs" 13 | ], 14 | "url": "https://github.com/fzaninotto/uptime" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/fog.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "fog", 4 | "name": "Fog", 5 | "description": "The Ruby Cloud API library. Provides a Ruby API for interacting and managing many cloud providers, such as spinning up new instances, terminating old ones, attaching storage, etc. Currently supports more than 20 providers, including EC2, Rackspace, Brightbox, etc.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "cloud-paas", 12 | "ruby" 13 | ], 14 | "url": "http://fog.io/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/zookeeper.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "zookeeper", 4 | "name": "Apache ZooKeeper", 5 | "description": "ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. It is distributed and highly reliable, with Consensus, group management and presence protocols built-in.", 6 | "url": "http://zookeeper.apache.org/", 7 | "tags": [ 8 | "linux", 9 | "open-source", 10 | "service-discovery", 11 | "java" 12 | ] 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/deploykit.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "deploykit", 4 | "name": "DeployKit", 5 | "description": "A generic integration tool built on a Message Queue, to make it easy to communicate events and triggers across various parts parts of the infrastructure. Created to ease the pain of configuring many disparate events in a CI", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "ci", 12 | "ruby" 13 | ], 14 | "url": "https://github.com/FuturePublishing/future-deploykit" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/semaphore.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "semaphore", 4 | "name": "Semaphore", 5 | "description": "Semaphore is a hosted continuous integration and deployment service for open source and private projects. Its cloud solution helps developers find bugs before they reach users and deliver new features faster.", 6 | "url": "https://semaphoreapp.com/", 7 | "tags": [ 8 | "linux", 9 | "open-source", 10 | "free", 11 | "commercial", 12 | "ci", 13 | "ruby", 14 | "php", 15 | "nodejs" 16 | ] 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /data/tools/aap.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "aap", 4 | "name": "aap", 5 | "description": "language-agnostic buildpacks using aap.json: an npmlike, highlevel dependecy manager/buildtool using bash+git", 6 | "url": "https://github.com/coderofsalvation/aap", 7 | "tags": [ 8 | "linux", 9 | "windows", 10 | "osx", 11 | "bsd", 12 | "solaris", 13 | "build", 14 | "deploy", 15 | "bash", 16 | "git", 17 | "dependency", 18 | "buildtool", 19 | "open-source", 20 | "free" 21 | ] 22 | } 23 | ] 24 | -------------------------------------------------------------------------------- /data/tools/overcast.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "overcast", 4 | "name": "Overcast", 5 | "description": "A simple command line program designed to make it easy to spin up, configure, and interact with any number of machines over SSH. Supported providers include AWS, DigitalOcean, Linode and Virtualbox.", 6 | "tags": [ 7 | "linux", 8 | "osx", 9 | "open-source", 10 | "provisioning", 11 | "config-mgmt", 12 | "orchestration", 13 | "nodejs" 14 | ], 15 | "url": "http://andrewchilds.github.io/overcast/" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/ansible.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "ansible", 4 | "name": "Ansible", 5 | "description": "A versatile orchestration engine that can automate systems and apps. Instead of a custom scripting language or code, it is very simple and shell based. It is also agent-less, so you can just start using it right away and get things done", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "provisioning", 10 | "config-mgmt", 11 | "orchestration", 12 | "python" 13 | ], 14 | "url": "http://www.ansibleworks.com" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/dokku-alt.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "dokku-alt", 4 | "name": "Dokku Alt", 5 | "description": "Dokku on Steroids. The smallest PaaS implementation you've ever seen. It's fork of original dokku. The idea behind this fork is to provide complete solution with plugins covering most of use-cases which are stable and well tested.", 6 | "url": "https://github.com/dokku-alt/dokku-alt", 7 | "tags": [ 8 | "linux", 9 | "open-source", 10 | "virt", 11 | "cloud-paas", 12 | "provisioning", 13 | "shell?" 14 | ] 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/travis-ci.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "travis-ci", 4 | "name": "Travis-CI", 5 | "description": "Travis CI is a hosted CI service free for open source communities. It directly integrates with GitHub, BitBucket and many other version control systems, and offers deep support for a variety of languages. Travis also has an Enterprise version that can be installed on your own servers.", 6 | "tags": [ 7 | "linux", 8 | "free", 9 | "commercial", 10 | "ci", 11 | "java" 12 | ], 13 | "url": "https://travis-ci.org/" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/brooklyn.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "brooklyn", 4 | "name": "Brooklyn", 5 | "description": "A Java based deployment tool, focused on both deployment as well as post-deploy lifecycle management. It is aware of network topologies, integrates with many cloud and PaaS APIs, and is designed to handle the entire roll-out", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "provisioning", 12 | "orchestration", 13 | "java" 14 | ], 15 | "url": "http://brooklyncentral.github.io" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/flynn.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "flynn", 4 | "name": "Flynn", 5 | "description": "From the creator of Dokku, Flynn is a full fledged, open source PaaS platform built on top of Docker. You just push code with a Procfile, and that’s it, Flynn immediately picks it up, provisions a Docker container and deploys the latest code! Its tagged as “the product that ops gives to developers”", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "virt", 10 | "cloud-paas", 11 | "go" 12 | ], 13 | "url": "https://flynn.io" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/statman.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "statman", 4 | "name": "Statman", 5 | "description": "Statman makes it possible to instrument and collect statistics from your high-traffic production Erlang systems with very low overhead. The collected data points are aggregated in the VM and can be sent to services like Graphite, Munin, New Relic, etc.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "erlang" 13 | ], 14 | "url": "https://github.com/knutin/statman" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/supervisord-monitor.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "supervisord-monitor", 4 | "name": "Supervisord Monitor", 5 | "description": "Supervisord Monitor is multi server monitoring tool for supervisor - watch, start and stop all your supervisord instances and servvices from one place.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "provisioning", 13 | "php", 14 | "process-mgmt" 15 | ], 16 | "url": "https://github.com/mlazarov/supervisord-monitor" 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /data/tools/boot2docker.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "boot2docker", 4 | "name": "boot2docker", 5 | "description": "boot2docker is a lightweight Linux distribution based on Tiny Core Linux made specifically to run Docker containers. It runs completely from RAM, weighs ~24MB and boots in a couple of seconds. Can be used as a base OS when running your own PaaS with Docker, or other kind of deployments.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "virt", 10 | "cloud-paas" 11 | ], 12 | "url": "https://github.com/steeve/boot2docker" 13 | } 14 | ] -------------------------------------------------------------------------------- /data/tools/icinga.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "icinga", 4 | "name": "Icinga", 5 | "description": "Icinga is an enterprise-grade monitoring system. It was forked from Nagios and has added many often new features and patches, including a HTML5 UI, REST interface, dynamic tables, etc. It is also backwards compatible with Nagios, so all the existing plugins can be reused.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "monitoring", 12 | "python" 13 | ], 14 | "url": "https://www.icinga.org" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/archipel.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "archipel", 4 | "name": "Archipel", 5 | "description": "A centralized tool for managing Virtual machines and instances, such as creating, booting, migrating, snapshots, packaging, networking, monitoring, VNC client and much more! Allows you to control virtual machines through web based UI or an IRC bot", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "virt", 12 | "cloud-paas", 13 | "python" 14 | ], 15 | "url": "http://archipelproject.org" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/fpm.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "fpm", 4 | "name": "FPM", 5 | "description": "Effing Package Managers (FPM) is a single tool that can generate rpm, deb, solaris, osx (pkg) and many other packages. It supports multiple inputs (directory, gem, egg, deb, etc) and can produce multiple outputs (rpm, deb, solaris, etc). It relieves the pain out of creating various kinds of packages.", 6 | "tags": [ 7 | "linux", 8 | "osx", 9 | "open-source", 10 | "packaging", 11 | "ruby" 12 | ], 13 | "url": "https://github.com/jordansissel/fpm" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/opskeleton.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "opskeleton", 4 | "name": "Opskeleton", 5 | "description": "Bootstrap a DevOps infrastructure with some opinionated defaults (vagrant, puppet, librarian-puppet, git, etc), standard development guidelines, etc. Makes it very quick to get a DevOps team up and running", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "scm", 10 | "virt", 11 | "config-mgmt", 12 | "provisioning", 13 | "orchestration", 14 | "ruby" 15 | ], 16 | "url": "https://github.com/narkisr/opskeleton" 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /data/tools/gauntlt.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "gauntlt", 4 | "name": "Gauntlt", 5 | "description": "Gauntlt provides hooks to a variety of security tools and puts them within reach of security, dev and ops teams to collaborate to build rugged software. It is built to facilitate testing and communication between groups and create actionable tests that can be hooked into your deploy and testing processes.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "security", 10 | "hardening", 11 | "ruby" 12 | ], 13 | "url": "http://gauntlt.org/" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/loom.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "loom", 4 | "name": "Loom", 5 | "description": "Built on top of Fabric and Puppet, it does the stuff that Puppet doesn’t do, which is bootstrapping fresh machines, assigning them roles, deploying Puppet, and installing Puppet modules. It automates stuff that has to be done before Puppet can begin its work", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "config-mgmt", 12 | "provisioning", 13 | "ruby" 14 | ], 15 | "url": "https://github.com/bfirsh/loom" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/dokku.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "dokku", 4 | "name": "Dokku", 5 | "description": "It uses docker, git-receive and a few other lightweight and clever libraries to build a quick PaaS, all around just 100 lines of code! An excellent small tool to get started with PaaS systems. The same developer is creating a larger scale, production quality system called Flynn.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "virt", 10 | "cloud-paas", 11 | "provisioning", 12 | "shell?" 13 | ], 14 | "url": "https://github.com/progrium/dokku" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/librarian-puppet.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "librarian-puppet", 4 | "name": "Librarian-Puppet", 5 | "description": "Librarian-Puppet is a source structure and dependency manager for Puppet modules, similar to bundler for Ruby. Each Puppet module can be managed as a separate source repository with individual versioning, and can then be pulled into your Puppetfile.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "scm", 12 | "ruby" 13 | ], 14 | "url": "https://github.com/rodjek/librarian-puppet" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/veewee.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "veewee", 4 | "name": "Veewee", 5 | "description": "veewee is a great tool for building Virtual Machine images (aka base boxes). It automates most of the steps and allows you to easily create readymade images for VirtualBox/Vagrant, VMWare Fusion, KVM and Parallels. No longer need to shy away from building custom VM images!", 6 | "tags": [ 7 | "linux", 8 | "osx", 9 | "windows", 10 | "open-source", 11 | "virt", 12 | "packaging", 13 | "ruby" 14 | ], 15 | "url": "https://github.com/jedi4ever/veewee" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/wix-toolset.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "wix-toolset", 4 | "name": "WiX Toolset", 5 | "description": "Windows Installer XML (WiX) is an open source set of tools to create your own Windows installer packages using an XML configuration. It supports a lot of functionality, like many pre-built wizard interfaces, splitting packages into separate features, adding custom dialog boxes or wizard steps, upgrading and repairing existing installations, etc.", 6 | "tags": [ 7 | "windows", 8 | "open-source", 9 | "packaging" 10 | ], 11 | "url": "http://wixtoolset.org/" 12 | } 13 | ] 14 | -------------------------------------------------------------------------------- /data/tools/salt-stack.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "salt-stack", 4 | "name": "SaltStack", 5 | "description": "Salt is a powerful and different approach to infrastructure management, by focusing on high speed communications between large number of systems, and can perform orchestration, remote code execution and much more.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "commercial", 12 | "config-mgmt", 13 | "provisioning", 14 | "orchestration", 15 | "python" 16 | ], 17 | "url": "http://www.saltstack.com/community/" 18 | } 19 | ] 20 | -------------------------------------------------------------------------------- /data/tools/buildbot.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "buildbot", 4 | "name": "Buildbot", 5 | "description": "Buildbot is an open-source framework for automating software build, test, and release processes. It differs from other CI tools in that it is more of a betteries included Framework, rather than a tool, and can hence be grown to meet your own needs. One of the reasons it is used in many high profile open source projects like Chromium, Firefox, Webkit, Python, etc.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "ci", 10 | "python" 11 | ], 12 | "url": "http://buildbot.net/" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/circleci.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "circleci", 4 | "name": "CircleCI", 5 | "description" : "CircleCI is a hosted continious integration and deployment service that supports mobile, web and containerized apps. It integrates with GitHub seamlessly but with no other version control systems. CircleCI offers a single container to build multiple projects (even private ones) for free. It also supports parallelism with pricing plans.", 6 | "tags": [ 7 | "linux", 8 | "osx", 9 | "free", 10 | "commercial", 11 | "ci", 12 | "cd" 13 | ], 14 | "url": "https://circleci.com/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/gogs.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "Gogs", 4 | "name": "Gogs", 5 | "description": "A self-hosted Git service written in Go. Gogs(Go Git Service) is a painless self-hosted Git Service written in Go. The goal of this project is to make the easiest, fastest and most painless way to set up a self-hosted Git service. With Go, this can be done in independent binary distribution across ALL platforms that Go supports, including Linux, Mac OS X, and Windows.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "git", 10 | "go", 11 | "scm" 12 | ], 13 | "url": "http://gogs.io/" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/snitch.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "snitch", 4 | "name": "Snitch", 5 | "description": "SaaS SSL monitoring and alerting. Snitch audits for revocation, expiration, changes to the certificate, known security vulnerabilities, and best practices. Snitch worries about your SSL/TLS certificate so you don't have to", 6 | "tags": [ 7 | "monitoring", 8 | "commercial", 9 | "linux", 10 | "windows", 11 | "freebsd", 12 | "bsd", 13 | "solaris", 14 | "osx", 15 | "metrics", 16 | "security", 17 | "hardening" 18 | ], 19 | "url": "https://snitch.io" 20 | } 21 | ] 22 | -------------------------------------------------------------------------------- /data/tools/datadog.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "datadog", 4 | "name": "Datadog", 5 | "description": "Datadog is a full-stack monitoring service for large-scale cloud environments that aggregates metrics/events from servers, databases, and applications. The SaaS-based data analytics platform helps Dev & Ops teams resolve performance issues, and ensure timely completion of dev/deployment cycles.", 6 | "url": "http://www.datadoghq.com", 7 | "tags": [ 8 | "linux", 9 | "windows", 10 | "osx", 11 | "commercial", 12 | "monitoring", 13 | "metrics", 14 | "visualization" 15 | ] 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/gitlab.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "gitlab", 4 | "name": "GitLab", 5 | "description": "GitLab is an open-source, fully featured git web frontend developed using Ruby on Rails. You can host this in your own server, create projects, repositories and teams, manage fine grained access permissions, add wikis, collaborate, raise and merge pull requests, and do much more through the web! (Note: GitLab acquired Gitorious, another open source git management system, in March 2015)", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "vcs", 10 | "ruby" 11 | ], 12 | "url": "http://gitlab.org" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /data/tools/honeybadger.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "honeybadger", 4 | "name": "Honeybadger", 5 | "description": "Honeybadger is a hosted monitoring service that tracks errors happening in your applications, aggregates them, and notifies you about them based on rules you define. Honeybadger gives you the insight you need to diagnose and fix application errors, faster.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "free", 10 | "commercial", 11 | "monitoring", 12 | "ruby", 13 | "nodejs", 14 | "php", 15 | "java" 16 | ], 17 | "url": "https://www.honeybadger.io" 18 | } 19 | ] 20 | -------------------------------------------------------------------------------- /data/tools/toplog.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "toplog", 4 | "name": "topLog", 5 | "description": "Find and be alerted to abnormal patterns and lines in your logs. topLog not only lets you aggregate your logs, whether they are system or application, into one place and then gives you pro-active insights and alarms. Know when your logs are telling you things are going wrong before they actually do.", 6 | "tags": [ 7 | "linux", 8 | "bsd", 9 | "windows", 10 | "application", 11 | "monitoring", 12 | "java", 13 | "commercial", 14 | "free" 15 | ], 16 | "url": "http://toplog.io" 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /data/tools/hubot.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "hubot", 4 | "name": "Hubot", 5 | "description": "Hubot is a chat bot that can be configured to do a variety of tasks. Apart from usual CI stuff like deploying, it can be interestingly configured to do different workflows like posting images, translating languages and integrating with Google Maps, and being a bot, it can be configured to ask questions like what is the current deployed version, etc.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "ci", 12 | "nodejs" 13 | ], 14 | "url": "http://hubot.github.com/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/supervisord.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "supervisord", 4 | "name": "Supervisor", 5 | "description": "Supervisor can manage application processes. It can start and stop a group of processes, restart processes if any of them terminate (keep-alive), start multiple instances of the same process (process pooling), automatically manage PID files, and much more! Very useful if you need to manage multiple processes for your application.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "process-mgmt", 12 | "python" 13 | ], 14 | "url": "http://supervisord.org/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/teamcity.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "teamcity", 4 | "name": "TeamCity", 5 | "description": "From JetBrains (makers of IntelliJ), TeamCity is a feature packed CI tool with out-of-the-box support for Java, .Net, Ruby and many other languages. It has deep language-aware integration, like maven, RVM, rake, popular testing frameworks, code coverage, etc, and consequently it occupies more resources. It has a liberal free usage license.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "free", 11 | "commercial", 12 | "ci" 13 | ], 14 | "url": "http://www.jetbrains.com/teamcity/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/condep.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "condep", 4 | "name": "ConDep", 5 | "description": "ConDep is a open source infrastructure configuration and deployment DSL (Domain Specific Language) specifically targeted to (but not limited to) the Windows Server platform. If your familiar with tools like Chef and Puppet, ConDep does very much the same, but with native support for Windows.", 6 | "tags": [ 7 | "windows", 8 | "open-source", 9 | "ci", 10 | "provisioning", 11 | "config-mgmt", 12 | "net" 13 | ], 14 | "url": "http://www.condep.io/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /public/crossdomain.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 15 | 16 | -------------------------------------------------------------------------------- /data/tools/boxstarter.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "boxstarter", 4 | "name": "Boxstarter", 5 | "description": "Repeatable, reboot resilient windows environment installations made easy using Chocolatey packages. When its time to repave either bare metal or virtualized instances, locally or on a remote machine, Boxstarter can automate both trivial and highly complex installations. Compatible with all Windows versions from Windows 7/2008 R2 forward.", 6 | "url": "http://boxstarter.org/", 7 | "tags": [ 8 | "windows", 9 | "open-source", 10 | "virt", 11 | "packaging", 12 | "provisioning", 13 | "powershell" 14 | ] 15 | } 16 | ] 17 | 18 | -------------------------------------------------------------------------------- /data/tools/foreman.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "foreman", 4 | "name": "Foreman", 5 | "description": "A complete lifecycle management tool for servers, both self-hosted and in the cloud. It allows you to create and manage instances, build and deploy images, view and audit hosts, and much more! It works with Puppet or Chef, and has multiple interaction facilities like a web frontend, CLI and a RESTful API.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "virt", 10 | "config-mgmt", 11 | "provisioning", 12 | "monitoring", 13 | "cloud-paas", 14 | "ruby" 15 | ], 16 | "url": "http://theforeman.org/" 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /data/tools/hardening-framework.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "hardening-io", 4 | "name": "Hardening Framework", 5 | "description": "The Hardening Framework combines DevOps with security by adding a security layer into your automation framework, that configures your operating systems and services. It takes care of difficult settings, compliance guidelines, cryptography recommendations, and secure defaults. Works great with Puppet, Chef and Ansible.", 6 | "url": "http://hardening.io/", 7 | "tags": [ 8 | "linux", 9 | "open-source", 10 | "security", 11 | "hardening", 12 | "chef", 13 | "puppet", 14 | "ansible" 15 | ] 16 | } 17 | ] -------------------------------------------------------------------------------- /data/tools/juju.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "juju", 4 | "name": "Juju", 5 | "description": "Juju is a free and libre orchestration service with a great web GUI, which provides easy scaling, automatic provisioning on a variety of providers including metal and Linux containers, and a community ecosystem of best-practice service definitions. Service files define 'interfaces' to allow easy specification and connection of backends or other dependencies.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "free", 10 | "provisioning", 11 | "orchestration", 12 | "scaling" 13 | ], 14 | "url": "https://jujucharms.com/" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/bcfg2.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "bcfg2", 4 | "name": "Bcfg2", 5 | "description": "bee-config (Bcfg) 2 is a centralized configuration management server to configure large number of systems, built to be cross platform. Bcfg2 uses a simple XML based configuration model with intuitive items like packages, services, config files, dependencies, etc. This model is easily validatable and can be used to audit and reconcile remote systems.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "config-mgmt", 12 | "provisioning", 13 | "python" 14 | ], 15 | "url": "http://bcfg2.org" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/splunk.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "splunk", 4 | "name": "Splunk", 5 | "description": "Splunk captures, indexes and correlates data (usually logs) in a searchable repository from which it can generate graphs, reports, alerts, dashboards and visualizations. Splunk provides searching time field parsing, so users can index any clear text data into splunk and extract the reqired fields later when needed.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "bsd", 11 | "solaris", 12 | "commercial", 13 | "monitoring", 14 | "C++", 15 | "Python" 16 | ], 17 | "url": "http://www.splunk.com/" 18 | } 19 | ] 20 | -------------------------------------------------------------------------------- /data/tools/jeto.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "jeto", 4 | "name": "ĵeto", 5 | "description": "Streamline your web projects from development from production. Jeto is a web interface for several ReST APIs (nginx-api, vagrant-worker and htpasswd-api). With Ĵeto you add and manage (start/stop/provision) vagrant projects on the fly via a nice and easy to use web interface.", 6 | "url": "http://jeto.io", 7 | "tags": [ 8 | "linux", 9 | "open-source", 10 | "cloud", 11 | "cloud-paas", 12 | "paas", 13 | "ci", 14 | "cd", 15 | "virt", 16 | "provisioning", 17 | "orchestration", 18 | "python" 19 | 20 | ] 21 | } 22 | ] 23 | -------------------------------------------------------------------------------- /data/tools/bitrise.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "bitrise", 4 | "name": "Bitrise", 5 | "description": "Automate your iOS development: Bitrise helps you automate your daily mobile app development tasks from building through testing to deployment. With Bitrise you can configure these tasks with a unique, visual workflow editor, where all of the steps are open source. If the step you need is not in our collection you can create your own and share it with others.", 6 | "url": "https://www.bitrise.io", 7 | "tags": [ 8 | "osx", 9 | "open-source", 10 | "free", 11 | "commercial", 12 | "ci", "cd", 13 | "cloud", "cloud-paas", "paas" 14 | ] 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/skyline.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "skyline", 4 | "name": "Skyline", 5 | "description": "Skyline is a real-time* anomaly detection* system*, built to enable passive monitoring of hundreds of thousands of metrics, without the need to configure a model/thresholds for each one, as you might do with Nagios. It is designed to be used wherever there are a large quantity of high-resolution timeseries which need constant monitoring.", 6 | "url": "https://github.com/etsy/skyline", 7 | "tags": [ 8 | "linux", 9 | "osx", 10 | "bsd", 11 | "open-source", 12 | "free", 13 | "metrics" 14 | ] 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /data/tools/weave.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "weave", 4 | "name": "Weave", 5 | "description": "Weave creates a virtual network that connects Docker containers deployed across multiple hosts. Services provided by application containers on the weave network can be made accessible to the outside world, regardless of where those containers are running. Similarly, existing internal systems can be exposed to application containers irrespective of their location.", 6 | "url": "https://github.com/zettio/weave", 7 | "tags": [ 8 | "linux", 9 | "open-source", 10 | "virt", 11 | "cloud-paas", 12 | "orchestration", 13 | "service-discovery", 14 | "go" 15 | ] 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/node-bell.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "node-bell", 4 | "name": "Node-Bell", 5 | "description": "Node-Bell is a real-time anomalies detection system for periodic time series, built to be able to monitor a large quantity of metrics. It collects metrics from clients like statsd, analyzes them with the 3-sigma rule and visualizes results on the web. Once enough anomalies were found in a short time, it alerts you via alerters like hipchat.", 6 | "url": "https://github.com/eleme/node-bell", 7 | "tags": [ 8 | "linux", 9 | "osx", 10 | "bsd", 11 | "open-source", 12 | "free", 13 | "metrics" 14 | ] 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var app = express(); 3 | var port = process.env.PORT || 3000; 4 | var staticAsset = require('static-asset'); 5 | 6 | app.set('views', __dirname + '/views'); 7 | app.set('view engine', 'ejs'); 8 | 9 | app.use(require('connect-redirecthost').redirectHost('www.devopsbookmarks.com')); 10 | app.use(require('morgan')('short')); 11 | app.use(require('compression')()); 12 | app.use(require('errorhandler')()); 13 | 14 | app.use(staticAsset(__dirname + '/public')); 15 | app.use(express.static(__dirname + '/public')); 16 | 17 | app.get('/', require('./routes/home')); 18 | app.get('/:tags', require('./routes/tools')); 19 | 20 | app.listen(port); 21 | console.log('Listening on port ' + port); 22 | -------------------------------------------------------------------------------- /data/tools/vagrant.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "vagrant", 4 | "name": "Vagrant", 5 | "description": "Vagrant is a cross platform tool to create, boot, configure and destroy development environments. It provides a simple configuration-based approach to take a base image, boot it up, provision it (using any other provisioners), SSH, port forward, and much more. It automates the process of booting up and configuring virtual machines. It supports various providers like VirtualBox, VMWare, AWS, LXC, etc.", 6 | "tags": [ 7 | "linux", 8 | "windows", 9 | "osx", 10 | "open-source", 11 | "virt", 12 | "provisioning", 13 | "ruby" 14 | ], 15 | "url": "http://www.vagrantup.com/" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/cobbler.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "cobbler", 4 | "name": "COBBLER", 5 | "description": "Cobbler is a Linux installation server that allows for rapid setup of network installation environments. It glues together and automates many associated Linux tasks so you do not have to hop between many various commands and applications when deploying new systems, and, in some cases, changing existing ones. Cobbler can help with provisioning, managing DNS and DHCP, package updates, power management, configuration management orchestration, and much more. ", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "config-mgmt", 10 | "provisioning", 11 | "orchestration" 12 | ], 13 | "url": "http://www.cobblerd.org/" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /data/tools/stackstorm.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "stackstorm", 4 | "name": "StackStorm", 5 | "description": "A platform for event-driven automation. StackStorm allows you to integrate and automate across services and tools. It ties together your existing infrastructure and application environment so you can more easily automate that environment -- with a particular focus on taking actions in response to events.", 6 | "url": "http://www.stackstorm.com", 7 | "tags": [ 8 | "automation", 9 | "cd", 10 | "provisioning", 11 | "cloud", 12 | "orchestration", 13 | "config-mgmt", 14 | "orchestration", 15 | "python", 16 | 17 | "linux", 18 | 19 | "open-source", 20 | "apache2" 21 | ] 22 | } 23 | ] 24 | -------------------------------------------------------------------------------- /data/tools/cfengine.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "cfengine", 4 | "name": "CFEgine", 5 | "description": "An open source configuration management system whose primary function is to provide stable and resilient automated configuration and maintenance of large-scale computer systems, including the unified management of servers, desktops, embedded networked devices, mobile smartphones, and tablet computers. It is an agent based system that is fully distributed and autonomous. It is very lightweight, fast, portable, and flexible with a strong security track record.", 6 | "tags": [ 7 | "linux", 8 | "Solaris", 9 | "Windows", 10 | "open-source", 11 | "commercial", 12 | "config-mgmt", 13 | "C" 14 | ], 15 | "url": "http://cfengine.com" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /data/tools/docker.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "docker", 4 | "name": "Docker", 5 | "description": "Docker uses LXC to create and manage native, sandboxed virtual containers. LXC containers acts like a separate OSes, can install their own packages without affecting anything else, and overall have almost the same flexibility of VMs but without any of the virtualization overhead! Docker adds a ton of features, like an elegant configuration file that automates many things (like port forwarding, disk/directory mounting, networking, etc), a way to create and share readymade images that can be distributed as appliances, etc.", 6 | "tags": [ 7 | "linux", 8 | "open-source", 9 | "virt", 10 | "cloud-paas", 11 | "provisioning", 12 | "go" 13 | ], 14 | "url": "http://www.docker.io" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /routes/home.js: -------------------------------------------------------------------------------- 1 | /* 2 | * GET home page. 3 | */ 4 | 5 | var _u = require('underscore'); 6 | var data = require('../data'); 7 | 8 | function onlyUrlFor(tag, groupOfTags, allTags) { 9 | return _u.union(_u.difference(allTags, _u.pluck(groupOfTags, 'slug')), [tag]).sort().join('+'); 10 | } 11 | 12 | function extraUrlFor(tag, allTags) { 13 | var newTags = _u.contains(allTags, tag) ? _u.without(allTags, tag) : _u.union(allTags, [tag]); 14 | return "/" + newTags.sort().join('+'); 15 | } 16 | 17 | module.exports = function(req, res) { 18 | res.render('home', { 19 | tags: [], 20 | platforms: data.platforms, 21 | licenses: data.licenses, 22 | languages: data.languages, 23 | topics: data.topics, 24 | _u: _u, 25 | onlyUrlFor: onlyUrlFor, 26 | extraUrlFor: extraUrlFor, 27 | tool: _u.sample(data.tools) 28 | }); 29 | }; 30 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "devops", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node server.js", 7 | "postinstall": "grunt build" 8 | }, 9 | "engines": { 10 | "node": "4.x" 11 | }, 12 | "dependencies": { 13 | "compression": "^1.6.0", 14 | "connect-redirecthost": "^2.0.0", 15 | "ejs": "^2.3.4", 16 | "errorhandler": "^1.4.2", 17 | "express": "^4.13.3", 18 | "grunt": "^0.4.5", 19 | "grunt-bower-task": "^0.4.0", 20 | "grunt-cli": "^0.1.13", 21 | "grunt-contrib-jshint": "^0.11.0", 22 | "grunt-contrib-watch": "^0.6.1", 23 | "grunt-express-server": "^0.5.1", 24 | "grunt-sass": "^1.1.0", 25 | "load-grunt-tasks": "^3.3.0", 26 | "morgan": "^1.6.1", 27 | "static-asset": "^0.6.0", 28 | "underscore": "^1.8.3", 29 | "walk": "^2.3.9" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /data/tools/elasticbox.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "slug": "elasticbox", 4 | "name": "ElasticBox", 5 | "description": "ElasticBox is an enterprise DevOps platform for IT teams to deliver applications frequently at low costs and with fewer failures. Applications are much easier to automate, orchestrate, deploy, and manage on private, public or hybrid clouds. IT teams can use the platform to align with business needs in an agile, transparent, and collaborative way.", 6 | "tags": [ 7 | "linux", 8 | "osx", 9 | "solaris", 10 | "windows", 11 | "commercial", 12 | "free", 13 | "cloud-paas", 14 | "config-mgmt", 15 | "provisioning", 16 | "orchestration" 17 | ], 18 | "url": "https://elasticbox.com/" 19 | } 20 | ] 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Devops Bookmarks 2 | 3 | > To discover tools in the devops landscape. 4 | 5 | There are new awesome tools and frameworks being released everyday. 6 | This is an open and transparent attempt at aggregating all these tools 7 | and frameworks. 8 | 9 | ## Deployment Status 10 | 11 | [![Build Status](https://snap-ci.com/devopsbookmarks/devopsbookmarks.com/branch/master/build_image)](https://snap-ci.com/devopsbookmarks/devopsbookmarks.com/branch/master) 12 | 13 | ## Contributing 14 | 15 | Refer to [CONTRIBUTING.md](https://github.com/devopsbookmarks/devopsbookmarks.com/blob/master/CONTRIBUTING.md) 16 | 17 | ## Development 18 | 19 | * Make sure you have VirtualBox and Vagrant installed 20 | * Clone this repository 21 | * Run `vagrant up` to provision the VM 22 | * Run `vagrant ssh -c /vagrant/script/server` to start the server 23 | 24 | ## Inspiration 25 | 26 | * http://www.unheap.com/ 27 | * https://www.ruby-toolbox.com/ 28 | * http://microjs.com/ 29 | -------------------------------------------------------------------------------- /views/_tool.ejs: -------------------------------------------------------------------------------- 1 |
2 |
3 |

4 | <%= tool.name %> 5 |

6 |

7 | <%= tool.description %> 8 |

9 |

10 | <% _u.each(platforms, function(tag) { %> 11 | 12 | <% }); %> 13 |    14 | <% _u.each(licenses, function(tag) { %> 15 | 16 | <% }); %> 17 |    18 | <% _u.each(languages, function(tag) { %> 19 | 20 | <% }); %> 21 |

22 |

23 | <% _u.each(tool.tags, function(tag) { %> 24 | <%= tag %> 25 | <% }); %> 26 |

27 |
28 |
29 | -------------------------------------------------------------------------------- /Vagrantfile: -------------------------------------------------------------------------------- 1 | # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! 2 | VAGRANTFILE_API_VERSION = "2" 3 | 4 | Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 5 | config.vm.box = "ubuntu/trusty64" 6 | config.vm.network "forwarded_port", guest: 3000, host: 3000 7 | 8 | if Vagrant.has_plugin?('vagrant-cachier') 9 | config.cache.scope = :box 10 | else 11 | puts "Run `vagrant plugin install vagrant-cachier` to reduce caffeine intake when provisioning" 12 | end 13 | 14 | config.vm.provision :shell, privileged: true, inline: <<-SCRIPT 15 | echo "Installing necessary packages..." 16 | curl -sSL https://deb.nodesource.com/setup | sudo bash - 17 | apt-get install -y build-essential git nodejs 18 | npm install -g grunt-cli 19 | 20 | echo 'Fix potential git problem with Bower set up and connecting to github' 21 | git config --global url."https://".insteadOf git:// 22 | SCRIPT 23 | 24 | config.vm.provision :shell, privileged: false, inline: <<-SCRIPT 25 | cd /vagrant 26 | npm install 27 | 28 | echo "Provisioning complete, run:" 29 | echo " vagrant ssh -c /vagrant/script/server" 30 | echo "to start the server" 31 | SCRIPT 32 | end 33 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Scott Muc , 4 | Subhas Dandapani 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /data/languages.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "name": "Actionscript", 3 | "slug": "actionscript", 4 | "icon": "actionscript" 5 | }, { 6 | "name": "C", 7 | "slug": "c", 8 | "icon": "c" 9 | }, { 10 | "name": "C++", 11 | "slug": "cpp", 12 | "icon": "cpp" 13 | }, { 14 | "name": "Clojure", 15 | "slug": "clojure", 16 | "icon": "clojure" 17 | }, { 18 | "name": "Erlang", 19 | "slug": "erlang", 20 | "icon": "erlang" 21 | }, { 22 | "name": "Go", 23 | "slug": "go", 24 | "icon": "go" 25 | }, { 26 | "name": "Java", 27 | "slug": "java", 28 | "icon": "java" 29 | }, { 30 | "name": ".NET", 31 | "slug": "net", 32 | "icon": "net" 33 | }, { 34 | "name": "node.js", 35 | "slug": "nodejs", 36 | "icon": "nodejs" 37 | }, { 38 | "name": "Perl", 39 | "slug": "perl", 40 | "icon": "perl" 41 | }, { 42 | "name": "PHP", 43 | "slug": "php", 44 | "icon": "php" 45 | }, { 46 | "name": "PowerShell", 47 | "slug": "powershell", 48 | "icon": "powershell" 49 | }, { 50 | "name": "Python", 51 | "slug": "python", 52 | "icon": "python" 53 | }, { 54 | "name": "Ruby", 55 | "slug": "ruby", 56 | "icon": "ruby" 57 | }, { 58 | "name": "Scala", 59 | "slug": "scala", 60 | "icon": "scala" 61 | }, { 62 | "name": "Shell", 63 | "slug": "shell", 64 | "icon": "shell" 65 | }] 66 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | ## Adding a Tool 4 | 5 | * Fork the Repo 6 | * Add a JSON file under `data/tools`. Here is a sample, don't include the comments though ;) 7 | 8 | ``` 9 | [ 10 | { 11 | "slug": "", 12 | "name": "", 13 | "description": "", 14 | "url": "", 15 | "tags": [ 16 | // Mention Platform 17 | // ref: https://github.com/devopsbookmarks/devopsbookmarks.com/blob/master/data/platforms.json 18 | "linux", 19 | "windows", 20 | "osx", 21 | "bsd", 22 | "solaris", 23 | 24 | // Mention License 25 | // ref: https://github.com/devopsbookmarks/devopsbookmarks.com/blob/master/data/licenses.json 26 | "open-source", 27 | "free", 28 | "commercial", 29 | 30 | // And add tags related to this tool 31 | // Tags are grouped into topic 32 | // Cross verify if these tags belong to a topic 33 | // ref: https://github.com/devopsbookmarks/devopsbookmarks.com/blob/master/data/topics.json 34 | "scm", 35 | "vcs", 36 | etc. 37 | ] 38 | } 39 | ] 40 | ``` 41 | * Raise a pull request 42 | * Discuss in the pull request 43 | * Once its merged, enjoy the satisfaction of contributing. Snap-CI will do the rest. 44 | p 45 | -------------------------------------------------------------------------------- /public/stylesheets/_responsive.scss: -------------------------------------------------------------------------------- 1 | @function lower-bound($range) { 2 | @if length($range) <= 0 { 3 | @return 0px; 4 | } 5 | @else { 6 | @return nth($range,1); 7 | } 8 | } 9 | 10 | @function upper-bound($range) { 11 | @if length($range) < 2 { 12 | @return 999999999999px; 13 | } 14 | @else { 15 | @return nth($range, 2); 16 | } 17 | } 18 | 19 | @function resolution($range) { 20 | $lower: lower-bound($range); 21 | $upper: upper-bound($range); 22 | @return "only screen and (min-width:#{$lower}) and (max-width:#{$upper})"; 23 | } 24 | 25 | $portrait-1-range: (0px, 480px); 26 | $portrait-2-range: (480px, 640px); 27 | $landscape-1-range: (640px, 800px); 28 | $landscape-2-range: (800px, 1152px); 29 | $landscape-3-range: (1152px, 1440px); 30 | $landscape-4-range: (1440px, 1920px); 31 | $landscape-5-range: (1920px, 99999999px); 32 | 33 | $portrait-range: (lower-bound($portrait-1-range), upper-bound($portrait-2-range)); 34 | $landscape-range: (lower-bound($landscape-1-range), upper-bound($landscape-5-range)); 35 | 36 | $portrait: resolution($portrait-range); 37 | $landscape: resolution($landscape-range); 38 | 39 | $portrait-1: resolution($portrait-1-range); 40 | $portrait-2: resolution($portrait-2-range); 41 | $landscape-1: resolution($landscape-1-range); 42 | $landscape-2: resolution($landscape-2-range); 43 | $landscape-3: resolution($landscape-3-range); 44 | $landscape-4: resolution($landscape-4-range); 45 | $landscape-5: resolution($landscape-5-range); 46 | -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function(grunt) { 2 | require('load-grunt-tasks')(grunt); 3 | 4 | grunt.initConfig({ 5 | jshint: { 6 | dist: { 7 | files: { 8 | src: [ 'server.js', 'cluster.js', 'routes/**/*.js', 'data/**/*.js', 'data/**/*.json' ] 9 | } 10 | } 11 | }, 12 | 13 | bower: { 14 | install: { 15 | options: { 16 | copy: false 17 | } 18 | } 19 | }, 20 | 21 | sass: { 22 | dist: { 23 | options: { 24 | outputStyle: 'compressed', 25 | includePaths: [ 'bower_components' ] 26 | }, 27 | files: { 28 | 'public/stylesheets/application.css' : 'public/stylesheets/application.scss' 29 | } 30 | } 31 | }, 32 | 33 | express: { 34 | dev: { 35 | options: { 36 | script: 'server.js' 37 | } 38 | } 39 | }, 40 | 41 | watch: { 42 | options: { 43 | spawn: false 44 | }, 45 | sass: { 46 | files: [ 'public/stylesheets/**/*.scss' ], 47 | tasks: [ 'sass:dist' ] 48 | }, 49 | js: { 50 | files: [ 'server.js', 'data/**/*.js', 'routes/**/*.js', 'data/**/*.json' ], 51 | tasks: [ 'express:dev' ] 52 | } 53 | } 54 | }); 55 | 56 | grunt.registerTask('build', [ 'jshint', 'bower:install', 'sass:dist' ]); 57 | grunt.registerTask('dev', [ 'build', 'express:dev', 'watch' ]); 58 | 59 | grunt.registerTask('default', ['dev']); 60 | } 61 | -------------------------------------------------------------------------------- /data/topics.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "name": "Source Code Management", 3 | "slug": "scm", 4 | "include_tags": [ "scm", "vcs" ] 5 | }, { 6 | "name": "Continuous Integration & Delivery", 7 | "slug": "ci", 8 | "include_tags": [ "ci", "cd" ] 9 | }, { 10 | "name": "Packaging & Artifacts", 11 | "slug": "packaging", 12 | "include_tags": [ "packaging", "artifacts" ] 13 | }, { 14 | "name": "Virtualization & Containers", 15 | "slug": "virt", 16 | "include_tags": [ "virt" ] 17 | }, { 18 | "name": "Cloud & PaaS Environments", 19 | "slug": "cloud-paas", 20 | "include_tags": [ "cloud", "cloud-paas", "paas" ] 21 | }, { 22 | "name": "Configuration Management", 23 | "slug": "config-management", 24 | "include_tags": [ "cm", "config", "config-mgmt" ] 25 | }, { 26 | "name": "Provisioning", 27 | "slug": "provisioning", 28 | "include_tags": [ "provisioning" ] 29 | }, { 30 | "name": "Orchestration", 31 | "slug": "orchestration", 32 | "include_tags": [ "orchestration" ] 33 | }, { 34 | "name": "Service Discovery", 35 | "slug": "service-discovery", 36 | "include_tags": [ "service-discovery" ] 37 | }, { 38 | "name": "Process Management", 39 | "slug": "process-mgmt", 40 | "include_tags": [ "process-mgmt" ] 41 | }, { 42 | "name": "Logging & Monitoring", 43 | "slug": "monitoring", 44 | "include_tags": [ "logging", "monitoring" ] 45 | }, { 46 | "name": "Metrics & Visualization", 47 | "slug": "metrics-visualization", 48 | "include_tags": [ "metrics", "visualization" ] 49 | }, { 50 | "name": "Security & Hardening", 51 | "slug": "security", 52 | "include_tags": [ "security", "hardening" ] 53 | }] 54 | -------------------------------------------------------------------------------- /routes/tools.js: -------------------------------------------------------------------------------- 1 | /* 2 | * GET tools page. 3 | */ 4 | 5 | var _u = require('underscore'); 6 | var data = require('../data'); 7 | 8 | function onlyUrlFor(tag, groupOfTags, allTags) { 9 | return _u.union(_u.difference(allTags, _u.pluck(groupOfTags, 'slug')), [tag]).sort().join('+'); 10 | } 11 | 12 | function extraUrlFor(tag, allTags) { 13 | var newTags = _u.contains(allTags, tag) ? _u.without(allTags, tag) : _u.union(allTags, [tag]); 14 | return "/" + newTags.sort().join('+'); 15 | } 16 | 17 | module.exports = function(req, res) { 18 | var tools = data.tools, tags = []; 19 | 20 | tags = req.params.tags.split("+"); 21 | 22 | var selPlatforms = _u.intersection(tags, _u.keys(data.platforms)); 23 | var selLicenses = _u.intersection(tags, _u.keys(data.licenses)); 24 | var selLanguages = _u.intersection(tags, _u.keys(data.languages)); 25 | var selTopics = _u.intersection(tags, _u.keys(data.topics)); 26 | 27 | tools = _u.filter(tools, function(tool) { 28 | return (selTopics.length === 0 || _u.intersection(selTopics, tool.topics).length > 0) && 29 | (selPlatforms.length === 0 || _u.intersection(selPlatforms, tool.tags).length > 0) && 30 | (selLicenses.length === 0 || _u.intersection(selLicenses, tool.tags).length > 0) && 31 | (selLanguages.length === 0 || _u.intersection(selLanguages, tool.tags).length > 0); 32 | }); 33 | 34 | res.render('tools', { 35 | tools: tools, 36 | tags: tags, 37 | platforms: data.platforms, 38 | topics: data.topics, 39 | licenses: data.licenses, 40 | languages: data.languages, 41 | _u: _u, 42 | onlyUrlFor: onlyUrlFor, 43 | extraUrlFor: extraUrlFor 44 | }); 45 | }; 46 | -------------------------------------------------------------------------------- /views/tools.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | DevOps Bookmarks 9 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 19 |
20 | <% include _sidebar %> 21 | 22 |
23 |
24 | <% _u.each(tools, function(tool) { %> 25 | <% include _tool %> 26 | <% }); %> 27 |
28 |
29 |
30 | 31 | 32 | 33 | 34 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /data/index.js: -------------------------------------------------------------------------------- 1 | var _u = require('underscore'); 2 | var walk = require('walk'); 3 | var fs = require('fs'); 4 | 5 | var topics = JSON.parse(fs.readFileSync(__dirname + '/topics.json')); 6 | var platforms = JSON.parse(fs.readFileSync(__dirname + '/platforms.json')); 7 | var licenses = JSON.parse(fs.readFileSync(__dirname + '/licenses.json')); 8 | var languages = JSON.parse(fs.readFileSync(__dirname + '/languages.json')); 9 | var tools = []; 10 | 11 | exports.topics = _u.indexBy(topics, 'slug'); 12 | exports.platforms = _u.indexBy(platforms, 'slug'); 13 | exports.licenses = _u.indexBy(licenses, 'slug'); 14 | exports.languages = _u.indexBy(languages, 'slug'); 15 | exports.tools = tools; 16 | 17 | walker = walk.walk(__dirname + '/tools/'); 18 | 19 | walker.on('file', function(root, fileStats, next) { 20 | if (fileStats.name.match(/.json$/)) { 21 | var toolStr = fs.readFileSync(root + fileStats.name, 'utf-8'), toolJson = {}; 22 | 23 | try { 24 | toolJson = JSON.parse(toolStr); 25 | } catch (e) { 26 | console.log("Failed to read file: " + root + fileStats.name); 27 | return; 28 | } 29 | 30 | toolJson.forEach(function(tool) { 31 | 32 | tool.topics = _u.reduce(tool.tags, function(applied_topics, tag) { 33 | return _u.reduce(topics, function(applied_topics, topic) { 34 | if (_u.contains(topic.include_tags, tag)) { 35 | applied_topics.push(topic.slug); 36 | } 37 | return applied_topics; 38 | }, applied_topics); 39 | }, []); 40 | 41 | // TODO: Reduce platforms and licenses as well 42 | 43 | tools.push(tool); 44 | }); 45 | } 46 | 47 | next(); 48 | }); 49 | 50 | walker.on('end', function() { 51 | console.log('Read ' + tools.length + ' tools'); 52 | }); 53 | -------------------------------------------------------------------------------- /views/home.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | DevOps Bookmarks 9 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 19 |
20 |
21 |
22 |

Discover tools and frameworks in the DevOps landscape.

23 |

There are new awesome tools and frameworks being released everyday. This is an open and transparent attempt at aggregating all those. The entire source code and list of tools can be found at github.com/devopsbookmarks, and you are encouraged to contribute anything you come across.

24 |

Pick tags to start exploring!

25 |
26 | 27 |
28 |

Random Pick

29 | <% include _tool %> 30 |
31 |
32 | 33 | <% include _sidebar %> 34 |
35 | 36 | 37 | 38 | 39 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ### 2 | ### Created by https://www.gitignore.io 3 | ### AUTO GENERATED: DO NOT EDIT 4 | ### ADD CUSTOM IGNORES AT THE BOTTOM 5 | ### 6 | 7 | ### Linux ### 8 | *~ 9 | 10 | # KDE directory preferences 11 | .directory 12 | 13 | 14 | ### Windows ### 15 | # Windows image file caches 16 | Thumbs.db 17 | ehthumbs.db 18 | 19 | # Folder config file 20 | Desktop.ini 21 | 22 | # Recycle Bin used on file shares 23 | $RECYCLE.BIN/ 24 | 25 | # Windows Installer files 26 | *.cab 27 | *.msi 28 | *.msm 29 | *.msp 30 | 31 | # Windows shortcuts 32 | *.lnk 33 | 34 | 35 | ### OSX ### 36 | .DS_Store 37 | .AppleDouble 38 | .LSOverride 39 | 40 | # Icon must end with two \r 41 | Icon 42 | 43 | 44 | # Thumbnails 45 | ._* 46 | 47 | # Files that might appear on external disk 48 | .Spotlight-V100 49 | .Trashes 50 | 51 | # Directories potentially created on remote AFP share 52 | .AppleDB 53 | .AppleDesktop 54 | Network Trash Folder 55 | Temporary Items 56 | .apdisk 57 | 58 | 59 | ### vim ### 60 | [._]*.s[a-w][a-z] 61 | [._]s[a-w][a-z] 62 | *.un~ 63 | Session.vim 64 | .netrwhist 65 | *~ 66 | 67 | 68 | ### Vagrant ### 69 | .vagrant/ 70 | 71 | 72 | ### Node ### 73 | # Logs 74 | logs 75 | *.log 76 | 77 | # Runtime data 78 | pids 79 | *.pid 80 | *.seed 81 | 82 | # Directory for instrumented libs generated by jscoverage/JSCover 83 | lib-cov 84 | 85 | # Coverage directory used by tools like istanbul 86 | coverage 87 | 88 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 89 | .grunt 90 | 91 | # node-waf configuration 92 | .lock-wscript 93 | 94 | # Compiled binary addons (http://nodejs.org/api/addons.html) 95 | build/Release 96 | 97 | # Dependency directory 98 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- 99 | node_modules 100 | 101 | 102 | ### SublimeText ### 103 | # cache files for sublime text 104 | *.tmlanguage.cache 105 | *.tmPreferences.cache 106 | *.stTheme.cache 107 | 108 | # workspace files are user-specific 109 | *.sublime-workspace 110 | 111 | # project files should be checked into the repository, unless a significant 112 | # proportion of contributors will probably not be using SublimeText 113 | # *.sublime-project 114 | 115 | # sftp configuration file 116 | sftp-config.json 117 | 118 | # Bower 119 | bower_components/ 120 | 121 | ### 122 | ### CUSTOM GITIGNORES GO HERE 123 | ### 124 | 125 | *swp 126 | *gem 127 | .sass-cache 128 | tmp/ 129 | log/ 130 | tags 131 | *.numbers 132 | public/stylesheets/application.css 133 | 134 | -------------------------------------------------------------------------------- /views/_sidebar.ejs: -------------------------------------------------------------------------------- 1 | 2 | 80 | -------------------------------------------------------------------------------- /public/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page Not Found :( 6 | 141 | 142 | 143 |
144 |

Not found :(

145 |

Sorry, but the page you were trying to view does not exist.

146 |

It looks like this was the result of either:

147 |
    148 |
  • a mistyped address
  • 149 |
  • an out-of-date link
  • 150 |
151 | 154 | 155 |
156 | 157 | 158 | -------------------------------------------------------------------------------- /public/stylesheets/application.scss: -------------------------------------------------------------------------------- 1 | // https://kuler.adobe.com/Sunrise-(subtle)-color-theme-1450987/ 2 | $dark1: #525454; 3 | $dark2: #67A6A6; 4 | $dark3: #222222; 5 | $light1: #F0F0F0; 6 | $light2: #FFFFFF; 7 | $light3: lighten($dark2, 25%); 8 | $alert: #ea3e3a; 9 | 10 | $sidebar-width: 300px; 11 | $header-height: 56px; 12 | $font-weight: 300; 13 | 14 | @import "normalize-scss/_normalize.scss"; 15 | @import "bourbon/app/assets/stylesheets/bourbon"; 16 | @import "responsive"; 17 | 18 | *, *:before, *:after { 19 | @include box-sizing(border-box); 20 | } 21 | 22 | html { 23 | font: 14px "Raleway", "Roboto", Arial, sans-serif; 24 | font-weight: $font-weight; 25 | line-height: 1.25; 26 | } 27 | 28 | body { 29 | padding: 0; 30 | margin: 0; 31 | color: $dark3; 32 | background: $dark3 url(../images/bg.png) repeat; 33 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkBAMAAACCzIhnAAAAFVBMVEUoKCgyMjI0NDQ6Ojo3Nzc2NjYxMTGuoaiGAAAGoElEQVRYw51Yu7ajMAzMJzgUqQ0Jvc8Fep/Y9FoePTT7/5+wM5Ih2d2OyyEhwFiWPBrJ97b6yleuCw/3Dl3o4xI6HA3u1Z7ftW/83e3ujqPjs3irpXGNz/HucswK4m1AfKOQRiF6bIS8422VGiMtCklhlI4Qe9WlQBu1M8hDrYxyu/BH5CQ7JrdvHLPiNM6ZpzhHs3t3SzRbCmnlDghPgNxfEFkigYTg3BTS48GK11e5b+bsN2QICIrMamXGueO44st3AHNgfLK8EcqMySyxD59ANw6xxbdCfuNUSORqJLy+xFFdpxdtgVjgCfm2EhmA7Ic4Ik5DzMYE4csPV5hwyZeEEX9Cgh825g95gLM+o/fAsTt6mhB0WAFNfB/JrB78SmEWgxBAZz8hp49rAGSObwCyJBmVkErQoFYA+wsiI7y95svElcdqaADPw1IhSy+Y/RkrvXI3kmXCrQrHN6QNnOqo7Krc3TeAPjaCFdL6e3F2P3PjGWihl7mEopWHs6srvjR+hnmMCGqnwDWepKHV0x7Xa/EVvmlnDrfKKcWlC5z/7jiFMwk2ggZAnlKpPiDRwq1xjIxBVrioAGeQXUFkc0akeq8247V80VFhklYmeGFZkQuPbXpLXOPBOUIcVkRnvspa/FCCFAiPMXSEmFx8EXBDtHz5xaDEXiG7QpZ4KNo1HUvQsQUzT2LpvIQdnqimnYHu8ewZ9WkkBE5n0HoUk1BS/xX/FqhBkGQKQZD50boUFySYWRkDo1+5D+Q3nmPFFJLkuo4lLQ9v6WT1s7DK8O6OkE7+36QukKzr0cUECVokQ5CwApY38EIBH4hFhDoJW2GVX5JUOM5UUyuUxGJ3u+JLDQuTbzF/pC0jErgKP/DtBWVePVkwCxWaWqYTQxGVlisTMxVYH/X4rkD6HCfpKeeSPF9PBmncO7YAQU1CUiUDRF5SIRgz4jdGQAMHeWCQqxxjLlBfNEZ+sBGDJfAYIUMar1LVtDIohI3BoOKTJCnldxW/10doNwrFzPJEyFtvJlX7jNuD0E3NRK7JqaMYTPjrmi+WrrTSCKdYMt/TFqXIkjphslbwT8hbtfmgfC+Z1ETzQH8GyZJLaryCQjhegxdWppVaGWMjLe/6HusxaN00yHxJx2ghF5XkMQh5zQp9dgL+iaJOhmfyg4lsYtApxII9FuEghSiLLMETK2qgPt+OaC2lB2M9SQckPi31ZAbbGTUy+oovWahYGWw2S3ef1IOE+Q8h8SrQ0+WUqVtSrX35CRDrKXvpFMKkw5Uj7VdZ5KDOzfqWGRFhfeT1KCMSbEQ2LgDX1jiIDX21h7F+q8cYbQkj6V/jV6s2asfm1zSTn08hxGG+YhBQvzS9qyDvKeUaHOsqHypfgLBqTZypILmiQmhFPvMnOw4pTJfW5WjTVRWdZQuOrdQaIa9y6ZSNJwcEkSfk36YXyRx6EJ6ie99QfwhBPSekKHyBbIeVBNfH0Auv6UsfrmmyVsK4WKOuVben1ihveaUJYWwvcygQa0l6pR5TlkmAu4BQDejnqGlQuQJJ4DEFfBau9SImgl3QkBQlnXW4qxx7sweHJ+jv/aFo1pZ8b0wSG6yYYpI+3jLMtn7Ezze9oWpFhv2YhrVYk5YR7gLAsRyYkUkLj1nRHQ2tnJB9GzzuYShy/Yovq5Dm/+6PeEx+iZQjMqFmPh4d7CStxzT+27gNcULguTqcGhLku7VupZaqWHmckKefXEfJUAbzuUEu1hcPGZWOilX2LKvUxabFKyt1ak+b7P9uIAjoyCCbP4RY3jC4tmGwLdc7dv7hEiCcsWotX7Tu/tOL7TgXboTA49G/IiByLffNB+uXVqn4y8bG6LlUfPYDZ5/81RCyNTm5BZkNgOiqdOqtZQtz/4uAa2ixVBVOctdaa0IAhcYxNNf75CW8YieLClDHbYnw0+Jnsmobd+tttOll5iOtSllL8VSB08eHQp4fSIo/4OssI9JHIZ6S9y+3EUOFXPvfxa6EGFUxB3waE+xg/QR95Cs1NhUluvXj7zhQ8Ch5kpVzKZBnK7KpVsijhEJbOMqE6qRA1D2d79XKivqpNKUAGq8vrkvl17iw049L+X/SK7IiV7izSossMRa8fY60wUbRZ7zUsqkpTid5qcOL1kv2zwqhxhmkAmT0q+6TsrbW5DPdbQFY+TQsZYkJqf01HbMqlnCyXe8lM27x2PAea8KrMZTN+yvilk/4XCWTYZGQupS/6gMRYx6sDNZaa3uw0hvlwMGvhvmjFie8WV/z5Q880XKARN7uhQAAAABJRU5ErkJggg==); 34 | } 35 | 36 | p,h1,h2,h3,h4,h5,h6 { 37 | font-weight: $font-weight; 38 | margin: .25em 0 .5em 0; 39 | } 40 | 41 | a, a:link, a:visited, a:active { 42 | text-decoration: none; 43 | } 44 | 45 | .browserupgrade { 46 | @include position(absolute, 0px 0px auto 0px); 47 | padding: 1rem; 48 | margin: 0 !important; 49 | z-index: 1000; 50 | margin: 1rem auto; 51 | text-align: center; 52 | background: $alert; 53 | color: $light1; 54 | font-size: 1.2rem; 55 | } 56 | 57 | .nav { 58 | color: $light1; 59 | position: relative; 60 | 61 | @media #{$landscape} { 62 | @include position(fixed, 0px auto 0px 0px); 63 | width: $sidebar-width; 64 | border-right: .3em solid rgba($dark2, .5); 65 | overflow-y: auto; 66 | z-index: 2; 67 | } 68 | 69 | .menu { 70 | display: block; 71 | @include clearfix; 72 | 73 | h3 { 74 | margin: 0; 75 | padding: 7px 10px; 76 | text-transform: uppercase; 77 | background: rgba($dark2, .5); 78 | } 79 | 80 | a, a:link, a:visited, a:active, a:hover { 81 | display: block; 82 | cursor: pointer; 83 | line-height: 32px; 84 | padding: 0 10px; 85 | position: relative; 86 | color: $light1; 87 | @include transition(background .2s); 88 | 89 | &.toggle { 90 | float: right; 91 | z-index: 100; 92 | overflow: hidden; 93 | text-align: center; 94 | border-left: 1px dashed rgba($dark2, .33); 95 | 96 | .icon { 97 | margin-right: 0; 98 | } 99 | } 100 | 101 | &.active { 102 | background: rgba(darken($dark2, 20%), .5); 103 | &:after { 104 | display: block; 105 | } 106 | .icon-block { 107 | display: none; 108 | } 109 | } 110 | 111 | &:hover { 112 | background: $dark3; 113 | } 114 | } 115 | } 116 | 117 | .logo { 118 | background: $dark3; 119 | 120 | h1 { 121 | font-size: 24px; 122 | margin: 0; 123 | } 124 | 125 | a, a:link, a:visited, a:active, a:hover { 126 | color: $light3; 127 | white-space: nowrap; 128 | display: block; 129 | text-transform: uppercase; 130 | text-decoration: none; 131 | line-height: $header-height; 132 | text-align: center; 133 | @include transition(color .2s, background .2s); 134 | &:hover { 135 | color: $light1; 136 | } 137 | } 138 | } 139 | } 140 | 141 | .content { 142 | margin: 0; 143 | padding: .5rem; 144 | color: $dark1; 145 | 146 | @media #{$landscape} { 147 | margin-left: $sidebar-width; 148 | } 149 | 150 | .content-article { 151 | color: $light2; 152 | padding: 1rem; 153 | line-height: 1.5; 154 | 155 | h2 { 156 | font-size: 2rem; 157 | } 158 | 159 | a { 160 | color: $light3; 161 | } 162 | } 163 | 164 | .content-grid { 165 | @include column-count(1); 166 | @include column-gap(0); 167 | 168 | @media #{$portrait-2} { 169 | @include column-count(2); 170 | } 171 | @media #{$landscape-2} { 172 | @include column-count(2); 173 | } 174 | @media #{$landscape-3} { 175 | @include column-count(3); 176 | } 177 | @media #{$landscape-4} { 178 | @include column-count(4); 179 | } 180 | @media #{$landscape-5} { 181 | @include column-count(5); 182 | } 183 | } 184 | 185 | .tool-container { 186 | display: inline-block; 187 | text-align: center; 188 | padding: .5rem; 189 | width: 100%; 190 | } 191 | 192 | .tool { 193 | border-radius: 3px; 194 | background: $light1; 195 | color: $dark1; 196 | @include transition(background .2s, color .2s); 197 | 198 | &>* { 199 | padding: 10px; 200 | margin: 0; 201 | display: block; 202 | border-bottom: 1px dashed $light3; 203 | &:last-child { 204 | border-bottom: 0 205 | } 206 | } 207 | 208 | a { 209 | text-decoration: none; 210 | color: darken($dark2, 10%); 211 | @include transition(color .2s); 212 | &:hover { 213 | color: $dark3; 214 | } 215 | } 216 | 217 | &:hover { 218 | background: $light2; 219 | color: $dark3; 220 | } 221 | 222 | p.tags { 223 | i { 224 | &.disabled { 225 | opacity: .1; 226 | } 227 | } 228 | } 229 | 230 | p.topics { 231 | small { 232 | text-transform: lowercase; 233 | &:after { 234 | content: ', '; 235 | } 236 | &:last-child:after { 237 | display: none; 238 | } 239 | } 240 | } 241 | } 242 | 243 | .random-tool { 244 | h3 { 245 | text-align: center; 246 | color: $light2; 247 | margin: 0 .5rem; 248 | padding: .5rem; 249 | border-bottom: 1px dashed $light2; 250 | } 251 | 252 | @media #{$landscape} { 253 | width: $sidebar-width; 254 | margin: 0 auto; 255 | } 256 | } 257 | } 258 | --------------------------------------------------------------------------------