Skip to content

Instantly share code, notes, and snippets.

View mprokopov's full-sized avatar

Maksym Prokopov mprokopov

View GitHub Profile
Use when command to deploy develop branch to the QA (target VM) and master branch to deploy to the Production (k8s VM).
Enhance existing ansible deployment pipeline to be environment specific
- add two inventories to the ansible: QA and prod
- change Jenkinsfile to use $BRANCH variable to select inventory.
- using when directive make deployment conditional
develop branch -> target VM
master branch -> k8s VM
other branch -> nowhere
@mprokopov
mprokopov / main.go
Created May 10, 2020 09:08
go app with prometheus counter
package main
import (
"encoding/json"
"fmt"
"log"
"net/http"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
"github.com/prometheus/client_golang/prometheus/promhttp"
@mprokopov
mprokopov / main.go
Created May 12, 2020 08:00
aws lambda example
package main
import (
"fmt"
"context"
"github.com/aws/aws-lambda-go/lambda"
)
type MyEvent struct {
Name string `json:"name"`
global:
scrape_interval: 15s
scrape_timeout: 10s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets: []
scheme: http
timeout: 10s
@mprokopov
mprokopov / tabulated.el
Created October 9, 2020 12:18
Example for tabulated list - composer modules with versions
(defun oxid-composer ()
(interactive)
(cd (oxid-project-dir))
(switch-to-buffer
(set-buffer (get-buffer-create "*OXID Composer*")))
(composer-list-mode))
(define-derived-mode composer-list-mode tabulated-list-mode "list-demo-mode"
(setq tabulated-list-format [("Name" 45 t)
("Version" 15 t)
@mprokopov
mprokopov / babashka-json.clj
Created October 12, 2020 15:35
read json from babashka
#!/usr/bin/env bb
(require '[cognitect.transit :as transit])
(import [java.io ByteArrayInputStream ByteArrayOutputStream])
(def out (ByteArrayOutputStream. 4096))
(def writer (transit/writer out :json))
(transit/write writer "foo")
(transit/write writer {:a [1 2]})
@mprokopov
mprokopov / com.cognitect.datomic.plist
Created October 18, 2020 11:12
datomic autorun for macos
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.cognitect.datomic</string>
<key>ProgramArguments</key>
<array>
<string>/Users/nexus/datomic-pro-1.0.6165/bin/transactor</string>
<string>config/dev-transactor.properties</string>
@mprokopov
mprokopov / snippet.html
Created December 9, 2020 08:40
links and badges to social network profiles
<div class="textwidget profile__link">
<!-- Facebook Badge START -->
<a href="https://ru-ru.facebook.com/mprokopov" target="_TOP" style="font-family: &quot;lucida grande&quot;,tahoma,verdana,arial,sans-serif; font-size: 18px; font-variant: normal; font-style: normal; font-weight: normal; color: #3B5998; text-decoration: none;" title="Max Prokopov" rel="noopener noreferrer">Max Prokopov</a><br><a href="https://ru-ru.facebook.com/mprokopov" target="_TOP" title="Max Prokopov" rel="noopener noreferrer"><img src="https://badge.facebook.com/badge/564099895.8308.711585450.png" style="border: 0px;"></a>
<!-- Facebook Badge END -->
</div>
<div class="profile__link">
<a href="https://twitter.com/mprokopov?ref_src=twsrc%5Etfw" class="twitter-follow-button" data-show-count="false">Follow @mprokopov</a><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>
<div class='LI-profile-badge profile__link' data-version='v1' data-size='mediu
@mprokopov
mprokopov / test.clj
Created March 8, 2021 11:33
clojure namespaced keywords destructuring
(require '[widget.factory :as factory])
;; direct
(fn [{clip :widget.factory/clip}]
)
;; :keys + symbol
(fn [{:keys [widget.factory/clip]}]
)
@mprokopov
mprokopov / locale.cljs
Created March 12, 2021 12:05
clojurescript date with locale
(import '[goog.i18n DateTimeFormat])
(let [date (js/Date.)
fmt (DateTimeFormat. "dd MMMM")]
(.format fmt date)))