Skip to content

Instantly share code, notes, and snippets.

View dmitry-lyutenko's full-sized avatar

Dmitriy Lyutenko dmitry-lyutenko

View GitHub Profile
@dmitry-lyutenko
dmitry-lyutenko / doh
Created August 9, 2022 19:28 — forked from M0r13n/doh
Setup Cloudflare as a DoH (DNS over HTTPS) resolver on Mikrotik devices (RouterOS v7.0.2+)
# Temporarily add a normal upstream DNS resolver
/ip dns set servers=1.1.1.1,1.0.0.1
# CA certificates extracted from Mozilla
/tool fetch url=https://curl.se/ca/cacert.pem
# Import the downloaded ca-store (127 certificates)
/certificate import file-name=cacert.pem passphrase=""
# Set the DoH resolver to cloudflare
@dmitry-lyutenko
dmitry-lyutenko / dinv.sh
Created May 31, 2020 19:17
dinamic inventory
#!/bin/bash
ARGS="list,host:"
## read cmd params
opts=$(getopt \
--longoptions "$(echo $ARGS)" \
--name "$(basename "$0")" \
--options "" \
-- "$@"
#!/bin/bash
# Waiting redis
`2>/dev/null echo "" > /dev/tcp/$REDIS_HOST/6379 || exit 1`
status=$?
counter=0
while [ $status -gt 0 ] && [ $counter -lt 10 ]; do
echo Waiting redis
sleep 2
`2>/dev/null echo "" > /dev/tcp/$REDIS_HOST/6379 || exit 1`
@dmitry-lyutenko
dmitry-lyutenko / sample.sh
Created November 28, 2019 15:36
sample_command
export mysql_root_password="_SeCretPass2019_"
export mysql_admin_username=admin
export mysql_admin_password="_AdminPassword2"
export cluster_name="otus_InnoDB"
# Begin: For Each node
export mysql_root_password="_SeCretPass2019_" && \
export mysql_temp_password=$(awk '$0 ~ "temporary password" {print $13}' /var/log/mysqld.log)
cat >> /root/.my.cnf <<EOF
@dmitry-lyutenko
dmitry-lyutenko / async_sample.yml
Last active September 10, 2019 09:02
Ansible. Async task waiting.
---
- hosts: all
become: yes
gather_facts: no
tasks:
- name: "Long time task (async)"
shell: echo "{{ item }} - $(date) - before" >> /tmp/out.log && sleep $(date +%S) && echo "{{ item }} - $(date) - after" >> /tmp/out.log
async: 1000
poll: 0
register: tasks_waiting
INTENT_TYPE="internal-net"
MACHINES = {
:"gl1" => {
:box_name => "centos/7",
:net => [
{ip: '10.10.10.11', adapter: 2, netmask: "255.255.255.0"},
{ip: '10.12.12.1', adapter: 3, netmask: "255.255.255.0", virtualbox__intnet: INTENT_TYPE},
],
:cpus => 1,
:memory => 256,
@dmitry-lyutenko
dmitry-lyutenko / bash_script_with_slack_notify.sh
Created June 26, 2019 07:37
Bash script with Slack notify after work ended
#!/bin/bash
trap_event() {
res=$?
icon=":heavy_check_mark:"
if [ $res -ne 0 ]; then
icon=":warning:"
fi
app_url='https://hooks.slack.com/services/<app_secret>'
payload="payload={\"text\": \"Task ended. Exit code: '"$res"')\", \"icon_emoji\": \"$icon\"}"
@dmitry-lyutenko
dmitry-lyutenko / Vagrantfile
Created June 11, 2019 14:41
kuber-cluster with three nodes and one master for vagrant with libvirt
INTENT_TYPE="internal-net"
default_gw="10.12.12.1"
MACHINES = {
:"k8s-node1.k8s.local" => {
:box_name => "centos/7",
:net => [
{ip: '10.12.12.11', adapter: 3, netmask: "255.255.255.0" },
],
:cpus => 3,
:memory => 4096
@dmitry-lyutenko
dmitry-lyutenko / kernel.yml
Created May 24, 2019 12:50
Ansible playbook template for update CentOS kernel
---
- name: install packages
yum:
name: "http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm"
state: latest
- name: update
yum:
name: "*"
#!/bin/bash
if [ $PAM_USER = "friday" ]; then
if [ $(date +%a) = "Fri" ]; then
exit 0
else
exit 1
fi
fi