lobot 2.0.0pre → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +7 -10
- data/.gitmodules +1 -1
- data/.pairs +15 -0
- data/.rvmrc +1 -1
- data/.travis.yml +5 -0
- data/Gemfile +2 -2
- data/LICENSE.txt +1 -1
- data/README.md +67 -29
- data/Rakefile +11 -6
- data/Vagrantfile +8 -5
- data/bin/lobot +2 -4
- data/chef/cookbooks/pivotal_ci/attributes/jenkins.rb +1 -0
- data/chef/cookbooks/pivotal_ci/files/default/tests/minitest/default_test.rb +40 -2
- data/chef/cookbooks/pivotal_ci/recipes/id_rsa.rb +5 -0
- data/chef/cookbooks/pivotal_ci/recipes/jenkins_config.rb +5 -2
- data/chef/cookbooks/pivotal_ci/recipes/limited_travis_ci_environment.rb +4 -0
- data/chef/cookbooks/pivotal_ci/templates/default/jenkins-job-config.xml.erb +8 -6
- data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/attributes/default.rb +0 -1
- data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/recipes/bootstrap.rb +41 -0
- data/chef/cookbooks/pivotal_ci/test/kitchen/cookbooks/pivotal_ci_test/recipes/default.rb +1 -41
- data/chef/travis-cookbooks/ci_environment/apt/recipes/default.rb +8 -7
- data/chef/travis-cookbooks/ci_environment/bazaar/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/cassandra/attributes/default.rb +6 -3
- data/chef/travis-cookbooks/ci_environment/cassandra/recipes/datastax.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/cassandra/recipes/package.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/cassandra/recipes/tarball.rb +6 -2
- data/chef/travis-cookbooks/ci_environment/cassandra/templates/default/cassandra.init.erb +58 -131
- data/chef/travis-cookbooks/ci_environment/chromium/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/clang/attributes/tarball.rb +2 -7
- data/chef/travis-cookbooks/ci_environment/clang/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/clang/recipes/tarball.rb +2 -4
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu-12.04.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu1110_ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/couchdb/recipes/ubuntu1204_ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/doxygen/recipes/default.rb +24 -0
- data/chef/travis-cookbooks/ci_environment/elasticsearch/attributes/default.rb +4 -1
- data/chef/travis-cookbooks/ci_environment/elasticsearch/recipes/default.rb +8 -5
- data/chef/travis-cookbooks/ci_environment/emacs/recipes/nox.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/firefox/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/git/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/git/recipes/ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/golang/attributes/default.rb +3 -3
- data/chef/travis-cookbooks/ci_environment/gradle/attributes/tarball.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/ghc_package.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/ghc_source.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_package.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/platform_source.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/haskell/recipes/source.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/hbase/recipes/cdh4.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/java/attributes/default.rb +4 -2
- data/chef/travis-cookbooks/ci_environment/java/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/java/recipes/oraclejdk7.rb +6 -1
- data/chef/travis-cookbooks/ci_environment/kerl/attributes/source.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/kerl/files/default/erlang.cookie +1 -0
- data/chef/travis-cookbooks/ci_environment/kerl/recipes/source.rb +8 -0
- data/chef/travis-cookbooks/ci_environment/kestrel/recipes/tarball.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/leiningen/attributes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/leiningen/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/leiningen/recipes/lein1x.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/leiningen/recipes/lein2x.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libffi/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libgdbm/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libncurses/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libossp-uuid/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libreadline/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libssl/recipes/098.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libssl/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/libxml/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/lighttpd/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/maven3/recipes/default.rb +5 -2
- data/chef/travis-cookbooks/ci_environment/maven3/recipes/package.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/maven3/recipes/ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/maven3/recipes/tarball.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/memcached/attributes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/memcached/attributes/ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/memcached/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/memcached/recipes/ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/mercurial/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/mercurial/recipes/ppa.rb +36 -0
- data/chef/travis-cookbooks/ci_environment/mongodb/attributes/mongodb.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/mongodb/files/default/mongodb.sysvinit.sh +1 -1
- data/chef/travis-cookbooks/ci_environment/mongodb/recipes/apt.rb +5 -5
- data/chef/travis-cookbooks/ci_environment/mongodb/recipes/server.rb +5 -2
- data/chef/travis-cookbooks/ci_environment/mysql/attributes/default.rb +1 -3
- data/chef/travis-cookbooks/ci_environment/mysql/recipes/server_on_ramfs.rb +6 -1
- data/chef/travis-cookbooks/ci_environment/mysql/templates/default/my.cnf.erb +0 -2
- data/chef/travis-cookbooks/ci_environment/mysql/templates/default/ramfs/my.cnf.erb +0 -2
- data/chef/travis-cookbooks/ci_environment/neo4j-server/attributes/tarball.rb +13 -2
- data/chef/travis-cookbooks/ci_environment/neo4j-server/recipes/tarball.rb +26 -2
- data/chef/travis-cookbooks/ci_environment/networking_basic/recipes/default.rb +4 -1
- data/chef/travis-cookbooks/ci_environment/nodejs/attributes/multi.rb +3 -3
- data/chef/travis-cookbooks/ci_environment/nodejs/recipes/multi.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/openssh/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/perlbrew/attributes/multi.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/phantomjs/attributes/default.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/phantomjs/metadata.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/phantomjs/recipes/default.rb +3 -1
- data/chef/travis-cookbooks/ci_environment/phantomjs/recipes/tarball.rb +3 -2
- data/chef/travis-cookbooks/ci_environment/php/attributes/default.rb +40 -2
- data/chef/travis-cookbooks/ci_environment/php/providers/pecl.rb +73 -0
- data/chef/travis-cookbooks/ci_environment/php/recipes/extensions.rb +25 -0
- data/chef/travis-cookbooks/ci_environment/php/recipes/multi.rb +5 -4
- data/chef/travis-cookbooks/ci_environment/php/resources/pecl.rb +10 -0
- data/chef/travis-cookbooks/ci_environment/phpbuild/attributes/default.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/after-install.d/phpunit.sh +58 -0
- data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/definitions/5.2.17 +3 -1
- data/chef/travis-cookbooks/ci_environment/phpbuild/files/default/definitions/5.3.3 +2 -1
- data/chef/travis-cookbooks/ci_environment/phpbuild/providers/build.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/phpbuild/recipes/default.rb +8 -10
- data/chef/travis-cookbooks/ci_environment/phpbuild/templates/default/default_configure_options.erb +4 -0
- data/chef/travis-cookbooks/ci_environment/phpenv/attributes/default.rb +6 -0
- data/chef/travis-cookbooks/ci_environment/phpenv/recipes/default.rb +11 -7
- data/chef/travis-cookbooks/ci_environment/postgresql/recipes/server_on_ramfs.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/python/attributes/default.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/python/recipes/multi.rb +10 -3
- data/chef/travis-cookbooks/ci_environment/rabbitmq/attributes/default.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/rabbitmq/recipes/default.rb +6 -2
- data/chef/travis-cookbooks/ci_environment/ragel/recipes/custom.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/ragel/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/redis/attributes/default.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/redis/recipes/default.rb +6 -3
- data/chef/travis-cookbooks/ci_environment/redis/recipes/ppa.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/riak/attributes/default.rb +1 -0
- data/chef/travis-cookbooks/ci_environment/riak/attributes/package.rb +3 -3
- data/chef/travis-cookbooks/{messaging_broker/openssl/recipes/default.rb → ci_environment/riak/attributes/service.rb} +4 -3
- data/chef/travis-cookbooks/ci_environment/riak/recipes/config.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/riak/recipes/default.rb +12 -5
- data/chef/travis-cookbooks/ci_environment/rvm/attributes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/rvm/attributes/multi.rb +2 -0
- data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/global.gems +1 -1
- data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/jruby/global.gems +1 -1
- data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/ruby/2.0.0/global.gems +2 -0
- data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/ruby/head/global.gems +2 -0
- data/chef/travis-cookbooks/ci_environment/rvm/recipes/default.rb +23 -1
- data/chef/travis-cookbooks/ci_environment/rvm/recipes/multi.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/rvm/templates/default/bundler_config.yml.erb +2 -0
- data/chef/travis-cookbooks/ci_environment/sbt/CHANGELOG.md +20 -0
- data/chef/travis-cookbooks/ci_environment/sbt/LICENSE +201 -0
- data/chef/travis-cookbooks/ci_environment/sbt/README.md +78 -2
- data/chef/travis-cookbooks/ci_environment/sbt/attributes/default.rb +36 -10
- data/chef/travis-cookbooks/ci_environment/sbt/metadata.json +27 -17
- data/chef/travis-cookbooks/ci_environment/sbt/metadata.rb +13 -6
- data/chef/travis-cookbooks/ci_environment/sbt/recipes/default.rb +101 -51
- data/chef/travis-cookbooks/ci_environment/sbt/templates/default/jvmopts.erb +7 -0
- data/chef/travis-cookbooks/ci_environment/sbt/templates/default/sbtopts.erb +54 -0
- data/chef/travis-cookbooks/ci_environment/sphinx/attributes/default.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/sphinx/metadata.rb +4 -4
- data/chef/travis-cookbooks/ci_environment/sphinx/recipes/all.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/sphinx/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/{messaging_broker/build-essential/recipes/default.rb → ci_environment/sqlite/recipes/ppa.rb} +13 -24
- data/chef/travis-cookbooks/ci_environment/subversion/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/sweeper/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/attributes/default.rb +2 -0
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/ci_user.rb +2 -2
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/default.rb +1 -3
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/recipes/root.rb +5 -1
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/templates/default/ci_user/{dot_bashrc.sh → dot_bashrc.sh.erb} +0 -4
- data/chef/travis-cookbooks/ci_environment/unarchivers/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/xserver/metadata.rb +3 -0
- data/chef/travis-cookbooks/ci_environment/xserver/recipes/default.rb +1 -1
- data/chef/travis-cookbooks/ci_environment/zeromq/recipes/default.rb +6 -23
- data/chef/travis-cookbooks/ci_environment/zeromq/recipes/{20x.rb → ppa.rb} +14 -14
- data/chef/travis-cookbooks/ci_environment/zookeeper/recipes/cdh4.rb +1 -1
- data/chef/travis-cookbooks/worker_host/java/metadata.rb +1 -1
- data/chef/travis-cookbooks/worker_host/java/recipes/openjdk.rb +6 -0
- data/chef/travis-cookbooks/worker_host/jruby/attributes/default.rb +1 -1
- data/chef/travis-cookbooks/worker_host/jruby/metadata.rb +1 -1
- data/chef/travis-cookbooks/worker_host/jruby/recipes/default.rb +1 -0
- data/chef/travis-cookbooks/worker_host/monit/recipes/default.rb +21 -17
- data/chef/travis-cookbooks/worker_host/networking_basic/metadata.rb +1 -1
- data/chef/travis-cookbooks/worker_host/networking_basic/recipes/default.rb +0 -6
- data/chef/travis-cookbooks/worker_host/ntp/.gitignore +1 -0
- data/chef/travis-cookbooks/worker_host/ntp/.travis.yml +6 -0
- data/chef/travis-cookbooks/worker_host/ntp/CHANGELOG.md +35 -0
- data/chef/travis-cookbooks/worker_host/ntp/CONTRIBUTING +29 -0
- data/chef/travis-cookbooks/worker_host/ntp/LICENSE +201 -0
- data/chef/travis-cookbooks/worker_host/ntp/README.md +163 -0
- data/chef/travis-cookbooks/worker_host/ntp/Rakefile +19 -0
- data/chef/travis-cookbooks/worker_host/ntp/TESTING.md +213 -0
- data/chef/travis-cookbooks/worker_host/ntp/attributes/default.rb +54 -0
- data/chef/travis-cookbooks/{messaging_broker/rabbitmq/resources/vhost.rb → worker_host/ntp/attributes/ntpdate.rb} +6 -7
- data/chef/travis-cookbooks/worker_host/ntp/chefignore +19 -0
- data/chef/travis-cookbooks/worker_host/ntp/files/default/ntp.leapseconds +222 -0
- data/chef/travis-cookbooks/worker_host/ntp/metadata.json +117 -0
- data/chef/travis-cookbooks/worker_host/ntp/metadata.rb +45 -0
- data/chef/travis-cookbooks/worker_host/ntp/recipes/default.rb +50 -0
- data/chef/travis-cookbooks/worker_host/ntp/recipes/disable.rb +22 -0
- data/chef/travis-cookbooks/worker_host/ntp/recipes/ntpdate.rb +36 -0
- data/chef/travis-cookbooks/{messaging_broker/openssl/libraries/secure_password.rb → worker_host/ntp/recipes/undo.rb} +17 -18
- data/chef/travis-cookbooks/worker_host/ntp/templates/default/ntp.conf.erb +55 -0
- data/chef/travis-cookbooks/worker_host/ntp/templates/default/ntpdate.erb +14 -0
- data/chef/travis-cookbooks/worker_host/rvm/recipes/multi.rb +1 -1
- data/chef/travis-cookbooks/worker_host/travis_worker/attributes/default.rb +10 -3
- data/chef/travis-cookbooks/worker_host/travis_worker/files/default/signal_wrapper.rb +22 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/metadata.rb +2 -2
- data/chef/travis-cookbooks/worker_host/travis_worker/recipes/bluebox.rb +97 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/recipes/default.rb +25 -15
- data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/sv-travis-worker-run.erb +1 -1
- data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/worker-bluebox.yml.erb +21 -0
- data/chef/travis-cookbooks/worker_host/travis_worker/templates/default/worker.yml.erb +0 -4
- data/chef/travis-cookbooks/worker_host/travis_worker_collectd/metadata.rb +1 -0
- data/chef/travis-cookbooks/worker_host/travis_worker_collectd/recipes/bluebox.rb +15 -0
- data/chef/travis-cookbooks/worker_host/travis_worker_collectd/recipes/default.rb +1 -0
- data/chef/travis-cookbooks/worker_host/users/recipes/default.rb +5 -0
- data/cookbooks/.gitkeep +3 -0
- data/lib/lobot.rb +8 -4
- data/lib/lobot/amazon.rb +33 -19
- data/lib/lobot/cli.rb +70 -46
- data/lib/lobot/config.rb +151 -19
- data/lib/lobot/configuration_wizard.rb +117 -0
- data/lib/lobot/keychain.rb +36 -0
- data/lib/lobot/password.rb +13 -0
- data/lib/lobot/sobo.rb +57 -13
- data/lib/lobot/templates/default_rails_build_script.sh +13 -0
- data/lib/lobot/version.rb +2 -2
- data/lobot.gemspec +4 -5
- data/script/bootstrap_server.sh +1 -1
- data/script/ci_build.sh +13 -0
- data/spec/assets/test_cert.crt +18 -0
- data/spec/fixtures/ssh_keys/vagrant_test_key +27 -0
- data/spec/fixtures/ssh_keys/vagrant_test_key.pub +1 -0
- data/spec/lib/lobot/amazon_spec.rb +80 -39
- data/spec/lib/lobot/cli_spec.rb +223 -154
- data/spec/lib/lobot/config_spec.rb +207 -5
- data/spec/lib/lobot/configuration_wizard_spec.rb +347 -0
- data/spec/lib/lobot/keychain_spec.rb +33 -0
- data/spec/lib/lobot/password_spec.rb +15 -0
- data/spec/spec_helper.rb +19 -1
- data/templates/Gemfile-remote +4 -0
- metadata +83 -100
- data/chef/travis-cookbooks/ci_environment/rvm/files/default/gemsets/ruby/1.8.6/global.gems +0 -2
- data/chef/travis-cookbooks/ci_environment/travis_build_environment/files/default/root/dot_bashrc.sh +0 -86
- data/chef/travis-cookbooks/ci_environment/zeromq/attributes/default.rb +0 -7
- data/chef/travis-cookbooks/messaging_broker/build-essential/README.md +0 -24
- data/chef/travis-cookbooks/messaging_broker/build-essential/metadata.rb +0 -10
- data/chef/travis-cookbooks/messaging_broker/emacs/metadata.rb +0 -11
- data/chef/travis-cookbooks/messaging_broker/emacs/recipes/default.rb +0 -21
- data/chef/travis-cookbooks/messaging_broker/erlang/attributes/default.rb +0 -1
- data/chef/travis-cookbooks/messaging_broker/erlang/metadata.rb +0 -11
- data/chef/travis-cookbooks/messaging_broker/erlang/recipes/default.rb +0 -27
- data/chef/travis-cookbooks/messaging_broker/git/README.rdoc +0 -37
- data/chef/travis-cookbooks/messaging_broker/git/metadata.rb +0 -16
- data/chef/travis-cookbooks/messaging_broker/git/recipes/default.rb +0 -24
- data/chef/travis-cookbooks/messaging_broker/git/recipes/server.rb +0 -34
- data/chef/travis-cookbooks/messaging_broker/git/templates/default/sv-git-daemon-log-run.erb +0 -2
- data/chef/travis-cookbooks/messaging_broker/git/templates/default/sv-git-daemon-run.erb +0 -3
- data/chef/travis-cookbooks/messaging_broker/haproxy/README.md +0 -79
- data/chef/travis-cookbooks/messaging_broker/haproxy/attributes/default.rb +0 -22
- data/chef/travis-cookbooks/messaging_broker/haproxy/metadata.rb +0 -13
- data/chef/travis-cookbooks/messaging_broker/haproxy/recipes/app_lb.rb +0 -50
- data/chef/travis-cookbooks/messaging_broker/haproxy/recipes/default.rb +0 -42
- data/chef/travis-cookbooks/messaging_broker/haproxy/templates/default/haproxy-app_lb.cfg.erb +0 -34
- data/chef/travis-cookbooks/messaging_broker/haproxy/templates/default/haproxy-default.erb +0 -4
- data/chef/travis-cookbooks/messaging_broker/haproxy/templates/default/haproxy.cfg.erb +0 -27
- data/chef/travis-cookbooks/messaging_broker/iptables/definitions/iptables_rule.rb +0 -35
- data/chef/travis-cookbooks/messaging_broker/iptables/files/default/rebuild-iptables +0 -284
- data/chef/travis-cookbooks/messaging_broker/iptables/metadata.rb +0 -10
- data/chef/travis-cookbooks/messaging_broker/iptables/recipes/default.rb +0 -50
- data/chef/travis-cookbooks/messaging_broker/iptables/templates/default/all_established.erb +0 -2
- data/chef/travis-cookbooks/messaging_broker/iptables/templates/default/all_icmp.erb +0 -2
- data/chef/travis-cookbooks/messaging_broker/iptables/templates/default/iptables_load.erb +0 -3
- data/chef/travis-cookbooks/messaging_broker/openssl/README.md +0 -37
- data/chef/travis-cookbooks/messaging_broker/openssl/metadata.rb +0 -8
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/README.md +0 -86
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/attributes/default.rb +0 -10
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/metadata.rb +0 -63
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/providers/user.rb +0 -66
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/providers/vhost.rb +0 -34
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/recipes/cluster.rb +0 -35
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/recipes/default.rb +0 -51
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/resources/user.rb +0 -25
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/templates/default/doterlang.cookie.erb +0 -1
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/templates/default/rabbitmq-env.conf.erb +0 -10
- data/chef/travis-cookbooks/messaging_broker/rabbitmq/templates/default/rabbitmq_cluster.config.erb +0 -5
- data/ci_build.sh +0 -20
- data/docs/ci_yml.md +0 -39
- data/features/ci.feature +0 -29
- data/features/config/secrets.yml.example +0 -4
- data/features/step_definitions/ci_steps.rb +0 -137
- data/features/support/env.rb +0 -12
- data/lib/generators/lobot/USAGE +0 -15
- data/lib/generators/lobot/config_generator.rb +0 -141
- data/lib/generators/lobot/install_generator.rb +0 -25
- data/lib/generators/lobot/templates/Capfile +0 -6
- data/lib/generators/lobot/templates/ci.yml +0 -22
- data/lib/generators/lobot/templates/ci_build.sh +0 -22
- data/lib/generators/lobot/templates/deploy-ci.rb +0 -7
- data/lib/generators/lobot/templates/soloistrc +0 -23
- data/lib/lobot/jenkins.rb +0 -17
- data/lib/lobot/railtie.rb +0 -20
- data/lib/lobot/recipes/ci.rb +0 -78
- data/lib/lobot/tasks/ci.rake +0 -93
- data/spec/lib/lobot/jenkins_spec.rb +0 -14
@@ -1,13 +0,0 @@
|
|
1
|
-
maintainer "Opscode, Inc."
|
2
|
-
maintainer_email "cookbooks@opscode.com"
|
3
|
-
license "Apache 2.0"
|
4
|
-
description "Installs and configures haproxy"
|
5
|
-
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
6
|
-
version "1.0.2"
|
7
|
-
|
8
|
-
recipe "haproxy", "Installs and configures haproxy"
|
9
|
-
recipe "haproxy::app_lb", "Installs and configures haproxy by searching for nodes of a particular role"
|
10
|
-
|
11
|
-
%w{ debian ubuntu }.each do |os|
|
12
|
-
supports os
|
13
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Cookbook Name:: haproxy
|
3
|
-
# Recipe:: app_lb
|
4
|
-
#
|
5
|
-
# Copyright 2011, Opscode, Inc.
|
6
|
-
#
|
7
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
-
# you may not use this file except in compliance with the License.
|
9
|
-
# You may obtain a copy of the License at
|
10
|
-
#
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
#
|
13
|
-
# Unless required by applicable law or agreed to in writing, software
|
14
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
-
# See the License for the specific language governing permissions and
|
17
|
-
# limitations under the License.
|
18
|
-
#
|
19
|
-
|
20
|
-
pool_members = search("node", "role:#{node['haproxy']['app_server_role']} AND chef_environment:#{node.chef_environment}") || []
|
21
|
-
|
22
|
-
# load balancer is in the pool
|
23
|
-
if node.run_list.roles.include?(node['haproxy']['app_server_role'])
|
24
|
-
pool_members << node
|
25
|
-
end
|
26
|
-
|
27
|
-
package "haproxy" do
|
28
|
-
action :install
|
29
|
-
end
|
30
|
-
|
31
|
-
template "/etc/default/haproxy" do
|
32
|
-
source "haproxy-default.erb"
|
33
|
-
owner "root"
|
34
|
-
group "root"
|
35
|
-
mode 0644
|
36
|
-
end
|
37
|
-
|
38
|
-
service "haproxy" do
|
39
|
-
supports :restart => true, :status => true, :reload => true
|
40
|
-
action [:enable, :start]
|
41
|
-
end
|
42
|
-
|
43
|
-
template "/etc/haproxy/haproxy.cfg" do
|
44
|
-
source "haproxy-app_lb.cfg.erb"
|
45
|
-
owner "root"
|
46
|
-
group "root"
|
47
|
-
mode 0644
|
48
|
-
variables :pool_members => pool_members.uniq
|
49
|
-
notifies :restart, "service[haproxy]"
|
50
|
-
end
|
@@ -1,42 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Cookbook Name:: haproxy
|
3
|
-
# Recipe:: default
|
4
|
-
#
|
5
|
-
# Copyright 2009, Opscode, Inc.
|
6
|
-
#
|
7
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
-
# you may not use this file except in compliance with the License.
|
9
|
-
# You may obtain a copy of the License at
|
10
|
-
#
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
#
|
13
|
-
# Unless required by applicable law or agreed to in writing, software
|
14
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
-
# See the License for the specific language governing permissions and
|
17
|
-
# limitations under the License.
|
18
|
-
#
|
19
|
-
|
20
|
-
package "haproxy" do
|
21
|
-
action :install
|
22
|
-
end
|
23
|
-
|
24
|
-
template "/etc/default/haproxy" do
|
25
|
-
source "haproxy-default.erb"
|
26
|
-
owner "root"
|
27
|
-
group "root"
|
28
|
-
mode 0644
|
29
|
-
end
|
30
|
-
|
31
|
-
service "haproxy" do
|
32
|
-
supports :restart => true, :status => true, :reload => true
|
33
|
-
action [:enable, :start]
|
34
|
-
end
|
35
|
-
|
36
|
-
template "/etc/haproxy/haproxy.cfg" do
|
37
|
-
source "haproxy.cfg.erb"
|
38
|
-
owner "root"
|
39
|
-
group "root"
|
40
|
-
mode 0644
|
41
|
-
notifies :restart, "service[haproxy]"
|
42
|
-
end
|
data/chef/travis-cookbooks/messaging_broker/haproxy/templates/default/haproxy-app_lb.cfg.erb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
global
|
2
|
-
log 127.0.0.1 local0
|
3
|
-
log 127.0.0.1 local1 notice
|
4
|
-
#log loghost local0 info
|
5
|
-
maxconn 4096
|
6
|
-
#debug
|
7
|
-
#quiet
|
8
|
-
user haproxy
|
9
|
-
group haproxy
|
10
|
-
|
11
|
-
defaults
|
12
|
-
log global
|
13
|
-
mode http
|
14
|
-
option httplog
|
15
|
-
option dontlognull
|
16
|
-
retries 3
|
17
|
-
redispatch
|
18
|
-
maxconn 2000
|
19
|
-
contimeout 5000
|
20
|
-
clitimeout 50000
|
21
|
-
srvtimeout 50000
|
22
|
-
|
23
|
-
# Set up application listeners here.
|
24
|
-
listen application 0.0.0.0:80
|
25
|
-
balance roundrobin
|
26
|
-
<% @pool_members.each do |member| -%>
|
27
|
-
<% server_ip = member.has_key?("ec2") ? member["ec2"]["public_ipv4"] : member["ipaddress"] -%>
|
28
|
-
server <%= member["hostname"] %> <%= server_ip %>:<%= node["haproxy"]["member_port"] %> weight 1 maxconn 1 check
|
29
|
-
<% end -%>
|
30
|
-
<% if node["haproxy"]["enable_admin"] -%>
|
31
|
-
listen admin 0.0.0.0:22002
|
32
|
-
mode http
|
33
|
-
stats uri /
|
34
|
-
<% end -%>
|
@@ -1,27 +0,0 @@
|
|
1
|
-
global
|
2
|
-
log 127.0.0.1 local0
|
3
|
-
log 127.0.0.1 local1 notice
|
4
|
-
#log loghost local0 info
|
5
|
-
maxconn 4096
|
6
|
-
#debug
|
7
|
-
#quiet
|
8
|
-
user haproxy
|
9
|
-
group haproxy
|
10
|
-
|
11
|
-
defaults
|
12
|
-
log global
|
13
|
-
mode http
|
14
|
-
option httplog
|
15
|
-
option dontlognull
|
16
|
-
retries 3
|
17
|
-
redispatch
|
18
|
-
maxconn 2000
|
19
|
-
contimeout 5000
|
20
|
-
clitimeout 50000
|
21
|
-
srvtimeout 50000
|
22
|
-
|
23
|
-
# Set up application listeners here.
|
24
|
-
listen application 0.0.0.0:8400
|
25
|
-
balance roundrobin
|
26
|
-
server localhost 127.0.0.1:4000 weight 1 maxconn 5 check
|
27
|
-
server localhost 127.0.0.1:4001 weight 1 maxconn 5 check
|
@@ -1,35 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Cookbook Name:: iptables
|
3
|
-
# Definition:: iptables_rule
|
4
|
-
#
|
5
|
-
# Copyright 2008-2009, Opscode, Inc.
|
6
|
-
#
|
7
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
-
# you may not use this file except in compliance with the License.
|
9
|
-
# You may obtain a copy of the License at
|
10
|
-
#
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
#
|
13
|
-
# Unless required by applicable law or agreed to in writing, software
|
14
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
-
# See the License for the specific language governing permissions and
|
17
|
-
# limitations under the License.
|
18
|
-
#
|
19
|
-
|
20
|
-
define :iptables_rule, :enable => true, :source => nil, :variables => {} do
|
21
|
-
template_source = params[:source] ? params[:source] : "#{params[:name]}.erb"
|
22
|
-
|
23
|
-
template "/etc/iptables.d/#{params[:name]}" do
|
24
|
-
source template_source
|
25
|
-
mode 0644
|
26
|
-
variables params[:variables]
|
27
|
-
backup false
|
28
|
-
notifies :run, resources(:execute => "rebuild-iptables")
|
29
|
-
if params[:enable]
|
30
|
-
action :create
|
31
|
-
else
|
32
|
-
action :delete
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
@@ -1,284 +0,0 @@
|
|
1
|
-
#!/usr/bin/perl -w
|
2
|
-
our $ID = q$Id: rebuild-iptables 344 2006-10-04 02:48:30Z digant $;
|
3
|
-
|
4
|
-
#
|
5
|
-
# rebuild-iptables -- Construct an iptables rules file from fragments.
|
6
|
-
#
|
7
|
-
# Written by Russ Allbery <rra@stanford.edu>
|
8
|
-
# Adapted by Digant C Kasundra <digant@stanford.edu>
|
9
|
-
# Adapted by Joe Williams (2011) <joe@joetify.com>
|
10
|
-
# Copyright 2005, 2006 Board of Trustees, Leland Stanford Jr. University
|
11
|
-
#
|
12
|
-
# Constructs an iptables rules file from the prefix, standard, and suffix
|
13
|
-
# files in the iptables configuration area, adding any additional modules
|
14
|
-
# specified in the command line, and prints the resulting iptables rules to
|
15
|
-
# standard output (suitable for saving into /var/lib/iptables or some other
|
16
|
-
# appropriate location on the system).
|
17
|
-
|
18
|
-
##############################################################################
|
19
|
-
# Modules and declarations
|
20
|
-
##############################################################################
|
21
|
-
|
22
|
-
require 5.006;
|
23
|
-
use strict;
|
24
|
-
|
25
|
-
use Getopt::Long qw(GetOptions);
|
26
|
-
|
27
|
-
# Path to the iptables template area.
|
28
|
-
our $TEMPLATE = '/etc/iptables.d';
|
29
|
-
|
30
|
-
##############################################################################
|
31
|
-
# Installation
|
32
|
-
##############################################################################
|
33
|
-
|
34
|
-
# Return the prefix
|
35
|
-
sub prefix {
|
36
|
-
my $data;
|
37
|
-
( $data = <<'END_OF_PREFIX' ) =~ s/^\s+//gm;
|
38
|
-
*filter
|
39
|
-
:INPUT ACCEPT
|
40
|
-
:FORWARD ACCEPT
|
41
|
-
:OUTPUT ACCEPT
|
42
|
-
:FWR -
|
43
|
-
-A INPUT -j FWR
|
44
|
-
-A FWR -i lo -j ACCEPT
|
45
|
-
END_OF_PREFIX
|
46
|
-
|
47
|
-
return $data;
|
48
|
-
}
|
49
|
-
|
50
|
-
# Return the suffix
|
51
|
-
sub suffix {
|
52
|
-
my $data;
|
53
|
-
( $data = <<'END_OF_SUFFIX' ) =~ s/^\s+//gm;
|
54
|
-
# Rejects all remaining connections with port-unreachable errors.
|
55
|
-
|
56
|
-
-A FWR -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable
|
57
|
-
-A FWR -p udp -j REJECT --reject-with icmp-port-unreachable
|
58
|
-
COMMIT
|
59
|
-
END_OF_SUFFIX
|
60
|
-
|
61
|
-
return $data;
|
62
|
-
}
|
63
|
-
|
64
|
-
sub snat {
|
65
|
-
my $data = "";
|
66
|
-
if ( -f "/etc/iptables.snat" ) {
|
67
|
-
open( SNAT, "<", "/etc/iptables.snat" )
|
68
|
-
or die "$0: cannot open /etc/iptables.snat: $!\n";
|
69
|
-
while (<SNAT>) {
|
70
|
-
$data = $data . $_;
|
71
|
-
}
|
72
|
-
close(SNAT);
|
73
|
-
}
|
74
|
-
return $data;
|
75
|
-
}
|
76
|
-
|
77
|
-
# Read in a file, processing includes as required. Returns the contents of
|
78
|
-
# the file as an array.
|
79
|
-
sub read_iptables {
|
80
|
-
my ($file) = @_;
|
81
|
-
my @data;
|
82
|
-
$file = $TEMPLATE . '/' . $file unless $file =~ m%^\.?/%;
|
83
|
-
local *MODULE;
|
84
|
-
open( MODULE, '<', $file ) or die "$0: cannot open $file: $!\n";
|
85
|
-
local $_;
|
86
|
-
while (<MODULE>) {
|
87
|
-
if (/^\s*include\s+(\S+)$/) {
|
88
|
-
my $included = $1;
|
89
|
-
$included = $TEMPLATE . '/' . $included
|
90
|
-
unless $included =~ m%^\.?/%;
|
91
|
-
if ( $file eq $included ) {
|
92
|
-
die "$0: include loop in $file, line $.\n";
|
93
|
-
}
|
94
|
-
push( @data, "\n" );
|
95
|
-
push( @data, read_iptables($included) );
|
96
|
-
push( @data, "\n" );
|
97
|
-
} elsif (/^\s*include\s/) {
|
98
|
-
die "$0: malformed include line in $file, line $.\n";
|
99
|
-
} else {
|
100
|
-
push( @data, $_ );
|
101
|
-
}
|
102
|
-
}
|
103
|
-
close MODULE;
|
104
|
-
return @data;
|
105
|
-
}
|
106
|
-
|
107
|
-
# Write a file carefully.
|
108
|
-
sub write_iptables {
|
109
|
-
my ( $file, @data ) = @_;
|
110
|
-
open( NEW, "> $file.new" ) or die "$0: cannot create $file.new: $!\n";
|
111
|
-
print NEW @data or die "$0: cannot write to $file.new: $!\n";
|
112
|
-
close NEW or die "$0: cannot flush $file.new: $!\n";
|
113
|
-
rename( "$file.new", $file )
|
114
|
-
or die "$0: cannot install new $file: $!\n";
|
115
|
-
}
|
116
|
-
|
117
|
-
# Install iptables on a Red Hat system. Takes the array containing the new
|
118
|
-
# iptables data.
|
119
|
-
sub install_redhat {
|
120
|
-
my (@data) = @_;
|
121
|
-
write_iptables( '/etc/sysconfig/iptables', @data );
|
122
|
-
system( "/sbin/service", "iptables", "restart" );
|
123
|
-
}
|
124
|
-
|
125
|
-
# Install iptables on a Debian system. Take the array containing the new
|
126
|
-
# iptables data.
|
127
|
-
sub install_debian {
|
128
|
-
my (@data) = @_;
|
129
|
-
unless ( -d '/etc/iptables' ) {
|
130
|
-
mkdir( '/etc/iptables', 0755 )
|
131
|
-
or die "$0: cannot mkdir /etc/iptables: $!\n";
|
132
|
-
}
|
133
|
-
write_iptables( "/etc/iptables/general", @data );
|
134
|
-
system("/sbin/iptables-restore < /etc/iptables/general") == 0
|
135
|
-
or die "rebuild-iptables: iptables-restore failed! - $?"
|
136
|
-
}
|
137
|
-
|
138
|
-
##############################################################################
|
139
|
-
# Main routine
|
140
|
-
##############################################################################
|
141
|
-
|
142
|
-
# Fix things up for error reporting.
|
143
|
-
$| = 1;
|
144
|
-
my $fullpath = $0;
|
145
|
-
$0 =~ s%.*/%%;
|
146
|
-
|
147
|
-
# Parse command-line options.
|
148
|
-
my ( $help, $version );
|
149
|
-
Getopt::Long::config( 'bundling', 'no_ignore_case' );
|
150
|
-
GetOptions(
|
151
|
-
'h|help' => \$help,
|
152
|
-
'v|version' => \$version
|
153
|
-
) or exit 1;
|
154
|
-
if ($help) {
|
155
|
-
print "Feeding myself to perldoc, please wait....\n";
|
156
|
-
exec( 'perldoc', '-t', $fullpath );
|
157
|
-
} elsif ($version) {
|
158
|
-
my $version = join( ' ', ( split( ' ', $ID ) )[ 1 .. 3 ] );
|
159
|
-
$version =~ s/,v\b//;
|
160
|
-
$version =~ s/(\S+)$/($1)/;
|
161
|
-
$version =~ tr%/%-%;
|
162
|
-
print $version, "\n";
|
163
|
-
exit;
|
164
|
-
}
|
165
|
-
my @modules;
|
166
|
-
|
167
|
-
if ( -d '/etc/iptables.d' ) {
|
168
|
-
@modules = </etc/iptables.d/*>;
|
169
|
-
}
|
170
|
-
|
171
|
-
# Concatenate everything together.
|
172
|
-
my @data;
|
173
|
-
push( @data, prefix() );
|
174
|
-
push( @data, "\n" );
|
175
|
-
for my $module (@modules) {
|
176
|
-
push( @data, read_iptables($module) );
|
177
|
-
push( @data, "\n" );
|
178
|
-
}
|
179
|
-
push( @data, suffix() );
|
180
|
-
push( @data, snat() );
|
181
|
-
|
182
|
-
if ( -f '/etc/debian_version' ) {
|
183
|
-
install_debian(@data);
|
184
|
-
} elsif ( -f '/etc/redhat-release' ) {
|
185
|
-
install_redhat(@data);
|
186
|
-
} else {
|
187
|
-
die "$0: cannot figure out whether this is Red Hat or Debian\n";
|
188
|
-
}
|
189
|
-
|
190
|
-
exit 0;
|
191
|
-
__END__
|
192
|
-
|
193
|
-
##############################################################################
|
194
|
-
# Documentation
|
195
|
-
##############################################################################
|
196
|
-
|
197
|
-
=head1 NAME
|
198
|
-
|
199
|
-
rebuild-iptables - Construct an iptables rules file from fragments
|
200
|
-
|
201
|
-
=head1 SYNOPSIS
|
202
|
-
|
203
|
-
rebuild-iptables [B<-hv>]
|
204
|
-
|
205
|
-
=head1 DESCRIPTION
|
206
|
-
|
207
|
-
B<rebuild-iptables> constructs an iptables configuration file by concatenating
|
208
|
-
various modules found in F</etc/iptables.d>. The resulting iptables
|
209
|
-
configuration file is written to the appropriate file for either Red Hat or
|
210
|
-
Debian (determined automatically) and iptables is restarted.
|
211
|
-
|
212
|
-
Each module is just a text file located in the directory mentioned above that
|
213
|
-
contains one or more iptables configuration lines (basically the arguments to
|
214
|
-
an B<iptables> invocation), possibly including comments.
|
215
|
-
|
216
|
-
Along with the modules in the directory specified, a standard prefix and suffix
|
217
|
-
is added.
|
218
|
-
|
219
|
-
Normally, the contents of each module are read in verbatim, but a module may
|
220
|
-
also contain the directive:
|
221
|
-
|
222
|
-
include <module>
|
223
|
-
|
224
|
-
on a separate line, where <module> is the path to another module to include,
|
225
|
-
specified the same way as modules given on the command line (hence, either a
|
226
|
-
file name relative to F</afs/ir/service/jumpstart/data/iptables> or an
|
227
|
-
absolute path). Such a line will be replaced with the contents of the named
|
228
|
-
file. Be careful when using this directive to not create loops; files
|
229
|
-
including themselves will be detected, but more complex loops will not and
|
230
|
-
will result in infinite output.
|
231
|
-
|
232
|
-
=head1 OPTIONS
|
233
|
-
|
234
|
-
=over 4
|
235
|
-
|
236
|
-
=item B<-h>, B<--help>
|
237
|
-
|
238
|
-
Print out this documentation (which is done simply by feeding the script to
|
239
|
-
C<perldoc -t>).
|
240
|
-
|
241
|
-
=item B<-v>, B<--version>
|
242
|
-
|
243
|
-
Print out the version of B<rebuild-iptables> and exit.
|
244
|
-
|
245
|
-
=back
|
246
|
-
|
247
|
-
=head1 FILES
|
248
|
-
|
249
|
-
=over 4
|
250
|
-
|
251
|
-
=item F</etc/iptables.d>
|
252
|
-
|
253
|
-
The default module location.
|
254
|
-
|
255
|
-
=item F</etc/debian_version>
|
256
|
-
|
257
|
-
If this file exists, the system is assumed to be a Debian system for
|
258
|
-
determining the installation location when B<-i> is used.
|
259
|
-
|
260
|
-
=item F</etc/iptables/general>
|
261
|
-
|
262
|
-
The install location of the generated configuration file on Debian.
|
263
|
-
|
264
|
-
=item F</etc/redhat-release>
|
265
|
-
|
266
|
-
If this file exists, the system is assumed to be a Red Hat system for
|
267
|
-
determining the installation location when B<-i> is used.
|
268
|
-
|
269
|
-
=item F</etc/sysconfig/iptables>
|
270
|
-
|
271
|
-
The install location of the generated configuration file on Red Hat.
|
272
|
-
|
273
|
-
=back
|
274
|
-
|
275
|
-
=head1 AUTHOR
|
276
|
-
|
277
|
-
Russ Allbery <rra@stanford.edu>
|
278
|
-
Digant C Kasundra <digant@stanford.edu>
|
279
|
-
|
280
|
-
=head1 SEE ALSO
|
281
|
-
|
282
|
-
iptables(8)
|
283
|
-
|
284
|
-
=cut
|