Skip to content

Instantly share code, notes, and snippets.

View f4rx's full-sized avatar

Aleksey Stepanenko f4rx

View GitHub Profile
@f4rx
f4rx / README.md
Created September 1, 2019 20:20
Packer Terraform install

Важно использовать версию 0.12.6

Установка terraform под линукс

wget https://releases.hashicorp.com/terraform/0.12.6/terraform_0.12.6_linux_amd64.zip
unzip https://releases.hashicorp.com/terraform/0.12.6/terraform_0.12.6_linux_amd64.zip
mkdir bin
mv terraform ~/bin
export PATH=~/bin:$PATH
echo "PATH=$PATH" >> ~/.bashrc
@f4rx
f4rx / README.md
Created September 1, 2019 20:17
Packer install

Важно использовать версию 1.4.2

Установка Packer под linux

wget https://releases.hashicorp.com/packer/1.4.2/packer_1.4.2_linux_amd64.zip
unzip packer_1.4.2_linux_amd64.zip
mkdir bin
mv packer ~/bin
export PATH=~/bin:$PATH
echo "PATH=$PATH" >> ~/.bashrc
@f4rx
f4rx / clean_openstack_env.sh
Created September 1, 2019 19:54
Clean Openstack environment
openstack floating ip list
openstack floating ip list -f value -c ID | xargs openstack floating ip delete
openstack router list
for i in `openstack router list -f value -c ID`; do neutron router-port-list -f value -c id ${i} | xargs openstack router remove port ${i} ; done
openstack router list -f value -c ID | xargs openstack router delete
openstack port list
openstack port list -f value -c ID | xargs openstack port delete
@f4rx
f4rx / Dockerfile
Last active September 1, 2019 19:45
Run OpenStack CLi
FROM alpine:edge
RUN apk add --update --no-cache python py-pip git python-dev libffi libffi-dev bash-completion \
openssl openssl-dev build-base iputils bash curl linux-headers && \
apk add py-cffi py-tz py-pbr py-setuptools && \
pip install -UI git+https://github.com/openstack/python-openstackclient.git@stable/stein \
git+https://github.com/openstack/python-heatclient.git@stable/stein \
git+https://github.com/openstack/python-octaviaclient.git@stable/stein \
git+https://github.com/openstack/python-magnumclient.git@stable/stein \
&& apk del build-base linux-headers python-dev libffi-dev openssl-dev && rm -rf /var/cache
@f4rx
f4rx / README.md
Last active August 30, 2019 21:13
Самостоятельно задание

Самостоятельно задание

Настроить деплой BookStack приложения одним или несколькими способами. BookStack - персональная вики, в которой знания организованы по типу книжных полок, книг и их страниц. Само приложение состоит и двух частей - само приложение и база данных, и поддерживает несколько вариантов установки https://www.bookstackapp.com/docs/admin/installation/ - установка на хостовую систему и запуск в докер-контейнер

Вы можете рассмотреть варианты самостоятельного задания (в порядке сложности):

  1. "Запекание" приложения через Packer, можно рассмотреть скрипт установки под ubuntu 18.04 https://www.bookstackapp.com/docs/admin/installation/#ubuntu-1804. Имя сайта можно передать перед запуском скрипта echo "example.com" | bash installation-ubuntu-18.04.sh
  2. Разворачивание сервера через Terraform из образа полученного из пункта 1
  3. Использовать Terraform provisioner для установки приложения
  4. Используя Te
@f4rx
f4rx / install_docker.sh
Created August 30, 2019 21:01
BookStack Docker 1 db, 2 www
apt-get update
apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io
@f4rx
f4rx / setup_nginx.conf
Created August 28, 2019 09:32
nginx.conf return hostname
cat > /etc/nginx/nginx.conf << 'EOF'
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
@f4rx
f4rx / install_node_exporter.sh
Last active August 27, 2019 22:25
install prometheus and node exporter centos7
yum install -y wget
wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
tar xvf node_exporter-0.18.1.linux-amd64.tar.gz
cp node_exporter-0.18.1.linux-amd64/node_exporter /usr/local/bin/node-exporter
groupadd node-exporter
useradd -g node-exporter node-exporter
cat > /etc/systemd/system/node-exporter.service << 'EOF'
[Unit]
@f4rx
f4rx / clean_openstack_env.sh
Last active August 22, 2019 20:24
clean_openstack_env.sh
set -x
for i in `openstack loadbalancer pool list -f value -c id`; do for j in ` openstack loadbalancer member list -f value -c id ${i}`; do openstack loadbalancer member delete ${i} ${j}; done ; done
for i in `openstack loadbalancer pool list -f value -c id`; do openstack loadbalancer pool delete ${i}; done
for i in `openstack loadbalancer listener list -f value -c id`; do openstack loadbalancer listener delete ${i}; done
for i in `openstack loadbalancer list -f value -c id`; do openstack loadbalancer delete ${i}; done
curl 'https://api.tinkoff.ru/v1/add_application?origin=web%2Cib5%2Cplatform&sessionid=5GpWdtMD040GtBpLRIrwR3T0vGoxWF6e.m1-api13&wuid=46733110543249bfb12e9e7061633549' -H 'Referer: https://www.tinkoff.ru/cards/credit-cards/tinkoff-platinum/' -H 'Origin: https://www.tinkoff.ru' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded' --data 'desired_credit_limit=70000&fio=%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%20%D0%98%D0%B2%D0%B0%D0%BD%20%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&phone_mobile=89211234556&email=ivan%40domain.ru&reg_addr_is_home_addr=1&additional_phone_home_type=0&has_foreign_pass=0&agreement=1&employment_type=work&car_kasko_exists_flg=1&surname=%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2&name=%D0%98%D0%B2%D0%B0%D0%BD&patronymic=%D0%98%D0%B2%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%87&step_id=0&step_id_max=2&app_type_id=1&mobile_verified=3&pfr_order_agreement=1&appLogFieldC