diff --git a/README.md b/README.md index 922f83f70e319def34b718a7fa67fbc64a774dca..a48286cbd7aadb152e8fc91a4567517259e2dc85 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ Click on particular boxes to see description and how to use: * [Sun Java 8 + Cassandra](/cassandra) * [Cassandra + ZooKeeper + RabbitMQ](/cass_zk_rmq) * [Cassandra + ZooKeeper + RabbitMQ + Python](/czr_pythons) +* [Cassandra + ZooKeeper + RabbitMQ + Python + PostgreSQL](/czr_pythons_pg) * [NodeJS 4.x + bower + gulp](/nodejs4) diff --git a/czr_pythons_pg/README.md b/czr_pythons_pg/README.md new file mode 100644 index 0000000000000000000000000000000000000000..b3785ea9de3ec0161163679447d61a9ea67d1f04 --- /dev/null +++ b/czr_pythons_pg/README.md @@ -0,0 +1,17 @@ +# czr_pythons_pg + +It's [cass_zk_rmq](/cass_zk_rmq) but with extra: +* build-essentials +* git +* PostgreSQL 9.4 + * user _postgres_ password _postgres_ + * listens on 0.0.0.0 +* Python 2.7 + * cassandra, kazoo and CoolAMQP + * common utility and testing libraries + +Use like: +``` +config.vm.box = "henrietta/czr_pythons_pg" +config.vm.box_url = "http://dev.dms-serwis.com.pl/vagrant/czr_pythons_pg.box" +``` diff --git a/czr_pythons_pg/Vagrantfile b/czr_pythons_pg/Vagrantfile new file mode 100644 index 0000000000000000000000000000000000000000..d145d2553a33576ba9656218fecf30ed14e7545b --- /dev/null +++ b/czr_pythons_pg/Vagrantfile @@ -0,0 +1,62 @@ + +Vagrant.configure("2") do |config| + config.vm.box = "debian/contrib-jessie64" + + config.vm.provision "shell", inline: <<-SHELL + apt-get update + apt-get install -y curl python python-pip python-dev python-setuptools build-essential git libffi-dev libyaml-dev libev4 libev-dev libpq-dev + pip install --upgrade pip==1.5.6 + pip install --upgrade setuptools==5.5.1 + pip install --upgrade cffi + + # Oracle Java JRE + apt-get install -y debconf-utils + echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list + echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list + apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 + apt-get update + echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections + apt-get install -y oracle-java8-installer + + # Install Apache Cassandra + echo "deb http://debian.datastax.com/community stable main" > /etc/apt/sources.list.d/cassandra.sources.list + curl -L http://debian.datastax.com/debian/repo_key | apt-key add - + apt-get update + apt-get install -y cassandra=3.0.9 dsc30 cassandra-tools + + # Install RabbitMQ + apt-get install -y rabbitmq-server=3.3.5-1.1 + + service rabbitmq-server stop + + # Install ZooKeeper + apt-get install -y zookeeper zookeeperd + + service zookeeper stop + sleep 20 # wait for cassandra... #todo fix + service cassandra stop # cassandra takes long to init + rm -rf /var/lib/cassandra/* + + # PgSQL 9.4 + apt-get install -y postgresql-9.4 + echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.4/main/pg_hba.conf + echo "listen_addresses = '*'" >> /etc/postgresql/9.4/main/postgresql.conf + sudo -u postgres psql --c "ALTER USER postgres WITH PASSWORD 'postgres';" + systemctl stop postgresql.service + + # Python modules + pip install cassandra-driver kazoo CoolAMQP requests futures six monotonic nose mock coverage psycopg2cffi + + # Minify + apt-get clean + dd if=/dev/zero of=/EMPTY bs=1M + rm -f /EMPTY + rm -rf /tmp/* + # udev rules + rm /etc/udev/rules.d/70-persistent-net.rules || true + mkdir /etc/udev/rules.d/70-persistent-net.rules || true + rm -rf /dev/.udev/ || true + rm /lib/udev/rules.d/75-persistent-net-generator.rules || true + + SHELL +end diff --git a/czr_pythons_pg/metadata.json b/czr_pythons_pg/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..50bb0f5fe274618b30d15ed4be3170c287741000 --- /dev/null +++ b/czr_pythons_pg/metadata.json @@ -0,0 +1,15 @@ +{ + "description": "Cassandra, ZooKeeper, RabbitMQ, PgSQL and assorted Pythons", + "short_description": "Cassandra, ZooKeeper, RabbitMQ, PgSQL and assorted Pythons", + "name": "henrietta/czr_pythons_pg", + "versions": [{ + "version": "1", + "status": "active", + "description_html": "<p>Cass+ZK+RMQ+PgSQL+Py</p>", + "description_markdown": "Cass+ZK+RMQ+PgSQL+Py", + "providers": [{ + "name": "virtualbox", + "url": "http://dev.dms-serwis.com.pl/vagrant/czr_pythons_pg.box" + }] + }] +} \ No newline at end of file