Skip to content

Instantly share code, notes, and snippets.

View excavador's full-sized avatar

Oleg Tsarev excavador

View GitHub Profile
resources:
- name: "k8s"
id: k8s
subtitle: Kubernetes Cluster
children:
- name: "blueprint-system"
id: blueprint-k8s
abstract: true
children:
- name: deploy
0eNq9XdtyG7kR/ZUtPosq3C/+hbzkLQ+pLRdFjbRTpkhmSNrrbPnfM5RIamw3MOfASfzii4wzjUbf0N0A/lo8bE7dfui3x8WHvxb9erc9LD7886/FoX/erjbnfzt+3XeLD4v+2L0s7hbb1cv5b4fdpn9crlfDw267+Ha36LeP3Z+LD/rb73eLbnvsj333hvP6l68ft6eXh24Y/8MNYT10q2P/uVu+7B675VP/58enzWnEPOxOw7obv7TfHUaYEX6kYYRWd4uviw9La8avPfZDt377mbtbjH/u9wXIoRv/8Ir7ZXUcCfh29xNJ5kbSavvcbQ7LbjOCD7vN18P445/oWOY3Qkz6Nvn0SNHx7RPLQ7dfDavXEcLX7O1r+/PIn+HjZZ76mzDazY0OtdF+brSvjQ4kn+wv8SnO0epqtKa50bY2Os+NNrXRWs0N19XhemZ4fbSZGa2qoy23xr+2xNqBtCqR1jlpri9SmBldFRA9J51V4dRz0llVQz0nnVUTYOaEs2p+jObk49dMpZmT5VSldc7S5uroOdnUVUUyc8Kpq1ps3qXz8LLabC5s7tfL/W4jWhRz47QEFzFFM1kcncDR8rczOZWL+JogodnvxXd53C2fh91p+1imSsbR4JyiONpwc6pPaTYiuMqK8eJ4B4934nj/o04/bVZDtzwcV+tPUvhz769w9/77WMxI8O+ifBxW28N+N2r/Q7c5CtDpRuf3IZ4EG8E4qsC0d5nut6PpOooRTKpCZJQCke0Ol+SbSgDsdpqH/YHdQYI1YOgo88pZdLjMK4eslp1OZ9jtP4oqbe51zkaneGbmvl9/OhX+49KIpHicv05eNpG/AYc18rKJ0hDBULTA94QOl1c908YakHDPuwBAwD0Ydcsz9QamyeBC4S0g9v8XqfcOnp/DpdN7LA4u8DyAo0XR9hGeEWF9fcKi68KMMrDeccJffiGDopx9Kvt6SWCDBoNmef7BgEFzYbhFvy5KRHB4oKKvbDHzkUrwBK6VcUVmE4GVdgRuhON
func Temporary(err error) bool {
switch err.(type) {
case net.Error:
return err.(net.Error).Temporary()
}
if err, ok := err.(*pq.Error); ok {
code := err.Code
switch code.Class() {
case "00": // Successful Completion
case "01": // Warning
@excavador
excavador / gist:9d5ee66b2ebb4cdfa945a86f5ca4ebb5
Last active August 15, 2018 02:09
Всё, что вы хотели узнать про облака, но не смогли выслушать от бородатых хипстеров в узких джинсах попивающих смузи
Всё, что вы хотели узнать про облака, но не смогли выслушать от бородатых хипстеров в узких джинсах попивающих смузи
--------------------------------------------------------------------------------------------------------------------
Disclaimer: в этом посте я не ругаю какие-либо технологии, я, скорей, делюсь некоторым совокупным видением по данным вопросам, которые размазаны по достаточно большому количеству материалов, которые включают в себя, но не исчерпываются:
- бесчисленное количество материалов по bazel (включая исходный код и прямое общение с его разработчиками)
- книгу terraform up & runniner
- книгу kubernetes app & running
- официальную документацию kubernetes
- исходный код kubernetes
@excavador
excavador / gist:d3d2ddd44ee5ae5de63679b37e49710c
Created August 15, 2018 02:03
Всё, что вы хотели узнать про облака, но не смогли выслушать от бородатых хипстеров в узких джинсах попивающих смузи
Disclaimer: в этом посте я не ругаю какие-либо технологии, я, скорей, делюсь некоторым совокупным видением по данным вопросам, которые размазаны по достаточно большому количеству материалов, которые включают в себя, но не исчерпываются:
- бесчисленное количество материалов по bazel (включая исходный код и прямое общение с его разработчиками)
- книгу terraform up & runniner
- книгу kubernetes app & running
- официальную документацию kubernetes
- исходный код kubernetes
Я ни в коем случае не претеную на истину в последней инстанции, более того, я предполагаю что в моём изложении есть фактические ошибки, а также ошибки понимания.
Целью данного поста не является кого-то в чём убедить, я всего лишь суммирую те кусочки информации, которые мне пришлось несколько дней (kubernetes) или даже лет (AWS) выковыривать из всего интернета, книг и документации по частям и собирать в некоторую цельную картинку.
@excavador
excavador / BUILD
Last active October 27, 2017 15:34
load("//skylark:gofmt.bzl", "gofmt")
gofmt(name="gofmt")
Python 131 9575 1200 52282
Go 300 4547 3416 32516
Elm 150 8189 7186 21637
HTML 2 973 19 18350
JavaScript 23 1072 357 5567
Markdown 34 496 0 1149
JSON 35 0 0 960
CSS 2 16 5 96
YAML 4 12 0 67
make 3 23 0 47
GAZELLE = "//:gazelle"
GVT = "//vendor/github.com/FiloSottile/gvt:gvt"
WORKSPACE = "//:WORKSPACE"
def _gvt_impl(ctx):
result = ctx.new_file(ctx.label.name)
gazelle = ctx.attr._gazelle.files.to_list()[0]
gvt = ctx.attr._gvt.files.to_list()[0]
workspace = ctx.attr._workspace.files.to_list()[0]
print(ctx.attr._gazelle)
load("@io_bazel_rules_docker//container:container.bzl", "repositories", "container_pull", "container_image")
DEFAULT_VERSION = "1.1.54292"
def _pull_name(kind, version):
return "external_clickhouse_{}_{}".format(kind, version)
def _pull_label(kind, version):
return "@{}//image".format(_pull_name(kind, version))
def _clickhouse_export_impl(ctx):
print(ctx.file.server, dir(ctx.attr.server), type(ctx.attr.server))
server_source = ctx.attr.server.files.to_list()[0]
client_source = ctx.attr.client.files.to_list()[0]
server_result = ctx.outputs.server
client_result = ctx.outputs.client
...
_clickhouse_export = rule(
implementation = _clickhouse_export_impl,