the torii announcment which makes the case for this switch for engineering orgs
Note this is relevant as I write this, and the field is changing FAST, so maybe irrelevant for you when you read this
| echo iptables-persistent iptables-persistent/autosave_v4 boolean true | sudo debconf-set-selections | |
| echo iptables-persistent iptables-persistent/autosave_v4 boolean true | sudo debconf-set-selections | |
| sudo apt-get -y install iptables-persistent |
the torii announcment which makes the case for this switch for engineering orgs
Note this is relevant as I write this, and the field is changing FAST, so maybe irrelevant for you when you read this
| #!/bin/bash | |
| # | |
| # Bash script to setup headless Selenium (uses Xvfb and Chrome) | |
| # (Tested on Ubuntu 12.04) trying on ubuntu server 14.04 | |
| # Add Google Chrome's repo to sources.list | |
| echo "deb http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee -a /etc/apt/sources.list | |
| # Install Google's public key used for signing packages (e.g. Chrome) | |
| # (Source: http://www.google.com/linuxrepositories/) |
| --ignore-directory=node_modules | |
| --ignore-directory=venv |
| FROM python:3.6-alpine | |
| # Opted for alpine to get a lean docker image as possible | |
| RUN apk add --no-cache openssl | |
| ENV DOCKERIZE_VERSION v0.6.1 | |
| RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ | |
| && tar -C /usr/local/bin -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ | |
| && rm dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz | |
| # Python deps for alpine |
| # Create the read stream | |
| dataitemsAppendDf = spark.readStream.format("delta")\ | |
| .option("maxFilesPerTrigger", 25)\ | |
| .table(f"{database_name}.{table_name}") | |
| # Initiate the write stream | |
| dataitemsAppendDf.writeStream \ | |
| .trigger(processingTime='15 seconds') \ # note, you can also have different modes here | |
| .option("checkpointLocation", f"{checkpoint_name}") \ | |
| .foreachBatch(processRawStreamBatch) \ #Callback that would handle each batch |
| bootstrap.servers={{ kafka_cluster.boostrap_servers }} | |
| ssl.endpoint.identification.algorithm=https | |
| security.protocol=SASL_SSL | |
| sasl.mechanism=PLAIN | |
| sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="{{kafka_cluster.username}}" password="{{kafka_cluster.password}}"; |
vb.gui=true in the vagrantfile and log in from there. solves a lot of problems, can also sudo reboot from there. VBoxManage controlvm <vm> poweroff (notice this the virtualbox full vm name and not the vagrant name)| #!/bin/sh | |
| #Inspired by https://gist.github.com/jbergantine/3870080 | |
| #Since every `git pull` is actually a merge. We can use it to automaticly run basic Django tasks after pulling from the upstream master branch (or any other) | |
| #Notice: This won't run at git fetch. since fetch doesn't merge anything | |
| #Installation: | |
| # copy this script with the name:`post-merge.sh` to your project root folder | |
| # symlink it to the ./git/hooks/post-merge: `ln post-merge.sh .git/hooks/post-merge | |
| #You should have bash (windows users, means cygwin/mingw anything that works for you | |
| #Based on the instructions here: https://oknesset-devel.readthedocs.org/en/latest/workflow.html#before-coding |