commit b7019285cbe3c93387f6f998f1762b78cdfd9d82 Author: Nikolai Rodionov Date: Tue May 2 21:04:18 2023 +0200 Init CV builder diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..709d4ba --- /dev/null +++ b/.drone.yml @@ -0,0 +1,34 @@ +--- +# ---------------------------------------------- +# -- Upload a newer version of my CV +# ---------------------------------------------- +kind: pipeline +type: kubernetes +name: CV Builder + +trigger: + branch: + - main + event: + - push + +steps: + - name: Build the CV + image: ghcr.io/puppeteer/puppeteer + commands: + - cp -R ./content/* $HOME + - cd $HOME + - npm install md-to-pdf + - npx md-to-pdf index.md + - mkdir $DRONE_WORKSPACE/cv + - mv index.pdf $DRONE_WORKSPACE/n.rodionov.pdf + + - name: Upload the CV + image: rclone/rclone:latest + environment: + RCLONE_CONFIG_CONTENT: + from_secret: RCLONE_CONFIG_CONTENT_PRIVATE + RCLONE_CONFIG: /tmp/rclone.conf + commands: + - echo "$RCLONE_CONFIG_CONTENT" > $RCLONE_CONFIG + - rclone copy -P $DRONE_WORKSPACE/cv badhouseplants-minio:/public-download diff --git a/index.md b/index.md new file mode 100644 index 0000000..8569c60 --- /dev/null +++ b/index.md @@ -0,0 +1,108 @@ +--- +title: "Curriculum Vitae (CV)" +date: 2023-02-11T18:29:00+01:00 +draft: false +ShowToc: true +--- +# Nikolai Rodionov + +``` +> Location: Düsseldorf, Germany +> Email: allanger@zohomail.com (preffered) +> Phone: 015223284008 +> Github: https://github.com/allanger +``` + +--- + +## About me +

+drawing +

+ +I'm a DevOps engineer (or SRE if you wish) with 5++ years of hands-on experience with a decent amount of tools that are most probably used or going to be used in your company. One of the most important tools that I love working with and want to continue working with, is Kubernetes. At least, while I don't see any better alternative to it. I think that containers themselves are one of coolest inventions in development, and I'm trying to use them as long as it's possible. Also, I believe that every routine must be automated, because routing is a boring job that lets people lose focus and make mistakes. + +I think that there are several things that a good SRE or DevOps engineer must be able to do: +- To build reliable and stable infrastructure +- Keep this infrastructure up-to-date +- Keep all the source and instructions of this infrastructure clean and simple +- Avoid a human factor as long as possible +- And when it's not possible to avoid it, not to be afraid to take responsibility + +Also, I think it's important that before implementing anything, an engineer has understood all the requirements and checked tools that can fulfil them. I often see, how people try to use a tool for its name but not for its functionality, and hence they have to do a lot of additional work and deal with compromises. And if nothing really can fulfil those requirements, you need not be afraid of writing something new *and open-source it*. + +
+ +## Experience + +**Grandcentrix**: SRE +> 02.2023 - until now + +``` +| Microsoft Azure +| Containers - Kubernetes - Helm - Kustomize +| PostgreSQL +| Bash - Python +| Prometheus - Grafana - Loki +| ArgoCD - Github Actions +| Sops +| Terraform +``` + +**Klöckner-i**: DevOps Engineer +> 01.2022 - 01.2023 + +``` +| GCloud - Microsoft Azure +| Linux - Containers - Kubernetes - Helm - Helmfile +| Percona Mysql - Postgresql +| Bash +| Prometheus - Grafana - Elasticsearch - Kibana +| ArgoCD - Gitlab CI - Github Actions +| Sops +| Ansible +``` +--- + +**Itigris**: DevOps Engineer +> 07.2019 - 12.2021 + +``` +| AWS - Yandex Cloud +| Linux - Containers - Kubernetes - Helm - Helmfile - Kustomize +| Bash +| Gitlab CI - Drone - ArgoCD +| Postgresql - Redis +| Java - JS - Go +| Ansible - Terraform +| Prometheus - Grafana - Loki - Elasticsearch - Kibana +``` +--- + +**Etersoft**: DevOps Engineer +> 03.2017 - 06.2019 + +``` +| Bare metal - Proxmox - Virtual Box +| Linux - Containers - Networks +| Bash - Perl +| Mysql - Postgresql +| Minio - Ceph +| Gitlab CI +| Ansible +``` + + +## A little bit more about me + +- I love to work with `Kubernetes`, but not with `yaml`. +- I'm a huge fan of [Helmfile](https://github.com/helmfile/helmfile). +- I have written several small cli tools in Rust, that you might find in my [GitHub profile pins](https://github.com/allanger) (they are not perfect, but I'm working on it). +- I'm contributing to [db-operator](https://github.com/kloeckner-i/db-operator). +- I'm trying to automate everything until I'm losing control over something that is automated. +- I love Perl, although I don't even remember how to write code with it, but I would be somehow thrilled to have any ability to work with it in production +- I also think that everything is better in Rust, or at least in Go *(if Bash is not enough)* + +I have a blog (written-as-code) that is deployed to K8s (https://badhouseplants.net/), with the source code stored in a self-hosted Gitea, that is also deployed to K8s alongside the CI/CD system where this blog is being built and published. This CV is also being built as a part of the CI process, and then uploaded to `minio` storage that is also ~~surprisingly~~ running in this cluster. So you can download the latest version of CV here: + +> But I can't guarantee 100% availability because it's a one-node k8s, and sometimes I need to do a maintenance work diff --git a/myself.jpeg b/myself.jpeg new file mode 100644 index 0000000..25fb28d Binary files /dev/null and b/myself.jpeg differ