Author Archives: setevoy

Docker: Compose shared networks

20 August 2019
 

 We have a Docker Compose stack with Jenkins, SonarQube, and PostgresSQL, check the SonarQube: running tests from Jenkins Pipeline in Docker post. The problem is that they are described in the same Docker Compose file and are restarted by the same systemd file (check the Linux: systemd сервис для Docker Compose post, Rus) Thus, if… Read More »

Kubernetes: part 3 – AWS EKS overview and manual EKS cluster set up

15 August 2019
 

 Let’s proceed with our Kubernetes journey. Previous parts: Kubernetes: part 1 – architecture and main components overview Kubernetes: part 2 – a cluster set up on AWS with AWS cloud-provider and AWS LoadBalancer In this part we will start working with AWS Elastic Kuberneters Service (EKS) – its short overview, then will create Kubernetes Control… Read More »

Kubernetes: part 2 – a cluster set up on AWS with AWS cloud-provider and AWS LoadBalancer

10 August 2019
 

 In the first part – Kubernetes: part 1 – architecture and main components overview – we did a quick glance about Kubernetes. Also, check the third part – Kubernetes: part 3 – AWS EKS overview and manual EKS cluster set up. The next thing I’d like to play with is to manually create a cluster… Read More »

NGINX: limit_req – limiting requests per IP

9 August 2019
 

 The next task is to set a limit per one IP to our backend’s API: add requests limiter on the /user/oauth/refresh_token URI set limit to 5 requests/minute from one IP if the limit is reached – return 429 Too Many Requests response Will use NGINX ngx_http_limit_req_module. limit_req_zone To make limiting works firs need to create… Read More »

AWS RDS: “SQLSTATE[22001] – Data too long for column” using MariaDB 10.2

8 August 2019
 

 We have a PHP-application with the AWS RDS MariaDB as a backend. On the previously used 10.0 version all was good, but right after we upgraded to the MariaDB 10.2 – got errors during tests: PDOException: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column ‘name’ at row 1 in /data/projects/projectname/vendor/yiisoft/yii2/db/Command.php:1290 The first… Read More »

Kubernetes: part 1 – architecture and main components overview

25 July 2019
 

  On my current project for our mobile applications, we have an API-backend on the Yii PHP-framework, which is working now on an ordinary LEMP stack – Linux/NGINX/PHP-FPM/MySQL (AWS EC2 + MariaDB RDS). Eventually, it’s time to break this monolith into microservices which will be orchestrated by the Kubernetes and will be running on the… Read More »

AWS: S3 Cross-Region Replication with DeleteMarkers set up

17 July 2019
 

 At this moment I’m configuring a new CDN for our project. Will use CloudFront and Cloudflare here so need to create two dedicated buckets with different names – cdn.cfr.example.com => CloudFront and cdn.cfl.example.com => Cloudflare. To avoid coping data each time to both buckets – an AWS S3 Cross-Region Replication can be used, so data… Read More »

NGINX: multi-branch deployment with Ansible, NGINX map and HTTP Headers

26 June 2019
 

 We have a standard LEMP setup NGINX, PHP-FPM. Application – Yii-framework, deployed from Jenkins using Ansible role with the synchronize module on backend hosts in a /data/projects/prjectname/frontend/web,  directory which is set as a root for an NGINX virtual host. The task is to have the ability to deploy the same application on the same backend… Read More »

SonarQube: the “SCM provider autodetection failed” error

19 June 2019
 

 We have a fresh SonarQube installation (see details in the SonarQube: running tests from Jenkins Pipeline from Docker post). The issue But in its dashboard there is always an error: SCM provider autodetection failed. Please use “sonar.scm.provider” to define SCM of your project, or disable the SCM Sensor in the project settings. Also, it’s displayed… Read More »