Skip to content

Instantly share code, notes, and snippets.

View olegch's full-sized avatar

Oleg Chunikhin olegch

View GitHub Profile
kublr:
# Values in fixed section cannot be changed dynamically, they may be hardcoded in other places, although every effort
# will be made to reduce duplication
fixed:
# This path is defined by the actual location of the config file used and cannot be overridden
# in the config file.
#
# Any alternative value of this property specified in a user config file or in extensions'
# default config files will be ignored and overridden by this value.
#
@olegch
olegch / load-cloudformation-jyaml.js
Created February 9, 2017 21:18
Loading a CloudFormation yaml file with custom tags with js-yaml in node.js
'use strict';
var fs = require('fs');
var yaml = require('js-yaml');
var inputStr = fs.readFileSync('../../out/aws-cloud-formation-template-1.template', {encoding: 'UTF-8'});
var CF_SCHEMA = yaml.Schema.create([
new yaml.Type('!Ref', { kind: 'scalar', construct: function (data) { return { 'Ref': data }; } }),
new yaml.Type('!Equals', { kind: 'sequence', construct: function (data) { return { 'Fn::Equals': data }; } }),
package main
import (
"bytes"
"fmt"
"io"
"io/ioutil"
"net/http"
"os"
"strconv"
@olegch
olegch / find in files and replace.sh
Last active December 24, 2021 22:02
Find files skipping some directories and make global replacement
find . -path ./.git -prune -o -path */target -prune -o -path ./binary -prune -o -type f -print | xargs sed -i 's/1\.6\.0-SNAPSHOT/1.7.0-SNAPSHOT/g'
@olegch
olegch / scriptsource.sh
Created February 3, 2012 15:20
Full directory name of the script no matter where it is being called from
#!/bin/bash
# This code is originally from http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in
# It is a useful one-liner which will give you the full directory name of the script no matter where it is being called from
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Or, to get the dereferenced path (all directory symlinks resolved), do this:
DIR="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

This is just an example that will only work for specific network interfaces and addresses. Modify as needed.

Create data directories for etcd members:

mkdir -p e{0,1,2}

Remove data directories:

@olegch
olegch / README.md
Created January 24, 2012 16:46
These scripts are used for simple management of hostnames for several VirtualBox VMs comprising a test or sandbox environment on your local machine.

These scripts are used for simple management of hostnames for several VirtualBox VMs comprising a test or sandbox environment on your local machine.

Architecture:

  1. each VM is configured to use bridged network adapter, so all VMs and the host can see each other

  2. a script is installed in each VM to run on post-ifup, which grabs VM's IP, puts "$IP $desired-hostname $desired-fully-qualified-hostname" into /etc/hosts, changes hostname correspondingly, and puts VM's hostname and fq-hostname into VM's properties

  3. a script is used on the host machine, which loops through running VMs, and updates /etc/hosts on the host machine and on the VMs

Keybase proof

I hereby claim:

  • I am olegch on github.
  • I am olegch (https://keybase.io/olegch) on keybase.
  • I have a public key whose fingerprint is 141E A6E1 E841 95DC B6A5 48E2 F41A 7B57 AEA3 18AB

To claim this, I am signing this object:

@olegch
olegch / example-template
Last active June 13, 2016 20:35
Simple template engine with bash
Hello: X=$X
Hello: X=$X'''
Hello: X="$X"
Hello: X=$X "kjh
kjd"
$(date)
@olegch
olegch / oc-cut.py
Created May 6, 2016 23:53
Batch split of multiple image files in half in GIMP
#!/usr/bin/env python
import math
from gimpfu import *
import os
import re
import sys
sys.stderr = open('C:/Temp/python-fu-output.txt','a')