Turns Ansible log outputs into plain JSON strings and sends them to an Elasticsearch cluster.
Place the script in your playbook's plugins/callbacks/ directory.
| # Kernel sysctl configuration file for Red Hat Linux | |
| # | |
| # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and | |
| # sysctl.conf(5) for more details. | |
| # Controls source route verification | |
| net.ipv4.conf.default.rp_filter = 1 | |
| # Do not accept source routing | |
| net.ipv4.conf.default.accept_source_route = 0 |
| FROM <private repo> | |
| MAINTAINER Ross Kukulinski "ross@speakit.io" | |
| ADD nginx.toml /etc/confd/conf.d/nginx.toml | |
| ADD templates/nginx.tmpl /etc/confd/templates/nginx.tmpl | |
| ADD confd-watch /usr/local/bin/confd-watch | |
| RUN chmod +x /usr/local/bin/confd-watch |
| server { | |
| listen 443; | |
| server_name example.com; | |
| error_log /var/log/nginx/example_com_error.log warn; | |
| ssl on; | |
| ssl_certificate /etc/nginx/ssl/your.crt; #certificate chains | |
| ssl_certificate_key /etc/nginx/ssl/your.key; #private key | |
| ####################################### | |
| # SCRIPT 1 - PREVIEW BRANCH DELETIONS # | |
| ####################################### | |
| # will print the names of the branches that have been merged into develop and master in green and branches that are only merged into develop but not master in red. | |
| BRANCHES_IN_MASTER=`git branch -r --merged origin/master | grep -v -E '(\*|master$|develop$)' | cut -f2- -d '/' | tr '\n' ';'` && export BRANCHES_IN_MASTER && git branch -r --merged origin/develop | grep -v -E '(\*|master$|develop$)' | cut -f2- -d '/' | xargs -L1 bash -c 'if [ $(grep -o "$0" <<< "$BRANCHES_IN_MASTER" | wc -l) -gt 0 ] ; then printf "\e[0;32m $0 \e[0m\n"; else printf "\e[0;31m $0 is merged into DEVELOP but not MASTER \e[0m\n"; fi'; | |
| ################################################################################################################################# | |
| # SCRIPT 2 - DANGER -- RUN AT YOUR OWN RISK -- The following script will DELETE the branches listed in the above preview script # | |
| ########################### |
I've been asked a few times over the last few months to put together a full write-up of the Git workflow we use at RichRelevance (and at Precog before), since I have referenced it in passing quite a few times in tweets and in person. The workflow is appreciably different from GitFlow and its derivatives, and thus it brings with it a different set of tradeoffs and optimizations. To that end, it would probably be helpful to go over exactly what workflow benefits I find to be beneficial or even necessary.
| #! /bin/sh | |
| ### Must have Gcloud sdk installed and configured | |
| ###Create a micro instance as ansible master | |
| gcloud compute --project $PROJECT_NAME instances create "ansible" --zone "us-central1-b" --machine-type "f1-micro" --network "default" --maintenance-policy "MIGRATE" --scopes "https://www.googleapis.com/auth/userinfo.email" "https://www.googleapis.com/auth/compute" "https://www.googleapis.com/auth/devstorage.full_control" --tags "http-server" "https-server" --no-boot-disk-auto-delete | |
| ###or a centos like in the tutorial | |
| gcloud compute --project $PROJECT_NAME instances create "ansible-master" --zone "us-central1-b" --machine-type "g1-small" --network "default" --maintenance-policy "MIGRATE" --scopes "https://www.googleapis.com/auth/userinfo.email" "https://www.googleapis.com/auth/compute" "https://www.googleapis.com/auth/devstorage.full_control" --tags "http-server" "https-server" --image "https://www.googleapis.com/compute/v1/projects/centos-cloud/global/images/centos-7-v20140926" --no-boot-disk-auto-de |
| # This program is free software: you can redistribute it and/or modify | |
| # it under the terms of the GNU General Public License as published by | |
| # the Free Software Foundation, either version 3 of the License, or | |
| # (at your option) any later version. | |
| # | |
| # This program is distributed in the hope that it will be useful, | |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| # GNU General Public License for more details. | |
| # |
| import json | |
| import urllib | |
| import urllib2 | |
| url = 'http://localhost:8888/ansible' | |
| def post(category, data): | |
| data['category'] = category | |
| invocation = data.pop('invocation', None) |