Category Archives: HOWTO’s

Go: checking public repositories list in Github. Go slices comparison. The first Golang experience.

13 April 2019
 

 The task is to write a tool which will be started from a Jenkin’s job by a cron and will check an organization’s public repositories list in the Github. A Docker-image build and a Jenkins job are described in the Jenkins: a job to check a Github organization’s public repositories list post. Then it has… Read More »

Ansible: get a target host’s IP

9 April 2019
 

 The task is to get a host’s IP during executing an Ansible task. Below – two examples of how this can be done. Example 1 – hostvars See the documentation here>>>. Code: – name: Test hosts list debug: msg: “{{ hostvars[inventory_hostname][‘ansible_default_ipv4’][‘address’] }}” Run it: [simterm] … TASK [test : Test hosts list] **** ok: [dev.backend-app1-internal.example.com]… Read More »

JetBrains Upsource: installation, configuration on Linux with NGINX and SSL and PyCharm integration

2 April 2019
 

 Upsource is a self-hosted service from JetBrains for code reviews by teams of developers which can be integrated with any IDE from JetBrains. Is a Java-based application with Apache Cassandra as a backend for storing data and indexes. Minima requirements – 8 GiB memory on a host – not surprise at all. Up to 10… Read More »

Redis: replication, part 3 – redis-py and work with Redis Sentinel from Python

1 April 2019
 

 Still on the subject about Redis replication and Redis Sentinel – a couple of examples using the redis-py library for Python. Previous series posts: Redis: replication, part 1 – an overview. Replication vs Sharding. Sentinel vs Cluster. Redis topology Redis: replication, part 2 – Master-Slave replication, and Redis Sentinel All Redis clients for Python can be… Read More »

Redis: replication, part 2 – Master-Slave replication, and Redis Sentinel

29 March 2019
 

 The first part – Redis: replication, part 1 – overview. Replication vs Sharding. Sentinel vs Cluster. Redis topology. The next part – Redis: replication, part 3 redis-py and work with Redis Sentinel from Python. The whole story was started when we decided to get rid of memcached. Currently, we have memcahced and Redis running on… Read More »

Redis: replication, part 1 – an overview. Replication vs Sharding. Sentinel vs Cluster. Redis topology.

29 March 2019
 

 CodeProject Initially, it was planned to write one small post with an example how to create a Redis replication but as I read more and more details – I wanted to describe more and more about it, so eventually I split this post into two parts. In this one – some quick overview, a brief… Read More »

Jenkins: your Jenkins data directory is almost full and automated disk cleanup

27 March 2019
 

 We have a Jenkins instance with a bunch of jobs. After a while – a new warning appeared: Jenkins: your Jenkins data directory /var/lib/jenkins (aka JENKINS_HOME) is almost full Checked disk usage with the ncdu and found few jobs which used really lot of space: [simterm] root@jenkins-production:/data/jenkins# du -h –max-depth 1 jobs/ .. 25G jobs/APITests …… Read More »

Kubernetes: running Minikube on Arch Linux

27 March 2019
 

 Minikube – a utility to run a Kubernetes cluster locally on your PC. It can use Virtualbox, VMware, Hyper-V etc hypervisors which will be used to create a virtual machine with a Kubernetes cluster. Minikube is a great tool for developers or DevOps engineers to test deployments/services etc without the need to create and configure… Read More »

Prometheus: Alertmanager’s alerts receivers and routing based on severity level and tags

26 March 2019
 

 We have three working environments – Dev, Stage, Production. Also, there are a bunch of alerts with different severities – info, warning и critical. For example: … – name: SSLexpiry.rules rules: – alert: SSLCertExpiring30days expr: probe_ssl_earliest_cert_expiry{job=”blackbox”} – time() < 86400 * 30 for: 10m labels: severity: info annotations: summary: “SSL certificate warning” description: “SSL certificate… Read More »