Skip to main content

Posts

Ruby on rails with Nexus

Introduction In this blog we will use nexus setup for NPM for a project which uses Ruby on rails. In this ruby on rails project we are using YARN and BUN  framework. We did setup a nexus NPM proxy and private repo but yarn could not fetch the npm dependencies via the nexus proxy. The rails assets precompile task however uses bun which uses npm. YARN is a wrapper on the NPM hence it does not entirely rely on NPM. BUN is a runtime which performs all the NPM tasks. Our goal in this blog is to understand how to handle this scenario in a ruby on rails project when use NEXUS NPM proxy. Technical specifications We have below versions of the tools NEXUS : 3.37.1-01 NPM : 9.5.0 NODE : v18.15.0 NVM : 0.39.1 ( Node version manager ) Mac OS : Sonoma 14.2 YARN : 3.5.1 BUN : 1.0.0 Steps Below are the steps required Configure NPM proxy in NEXUS Configure NPM private hosted repo Configure NPM group in NEXUS Change local NPM config for registry Change the YARN config for registry Configure BUN co...
Recent posts

Secure login to PostgreSQL via bash script

Introduction In this blog we will generate a PostgreSQL db backup of kong db which is running inside a docker container. We have a bash script which will be running on a host machine but it will execute the pg_dump command inside the docker container. All we need to ensure is we do not expose the password for the user we will be using to generate the db backup. Steps The high level steps are documented below: Create a backup_user for the db dump backup Create a .pgpass file for the backup_user Generate a db_dump using the pgpass file Create a backup_user Use below commands for the same Connect to kong docker container  Use below command to connect to kong container, assuming the container name is 'kong' docker exec -it kong /bin/bash Login to PostgreSQL db as admin user Use below command to connect to postgresql db as admin user for creating a new user for db export.  psql -d kong -U admin Create new user Use the sql query below for the same. Define some strong password as men...

Secure login to MySQL for bash scripts

Introduction In this blog we will connect to a mysql via CLI from a bash script for generating a db dump. A cleaner approach for the same is using mysql config editor. In this blog we are taking an example of a mysql container running inside docker and we have a script for taking a db backup using  mysqldump . We will not use a password as a parameter to  mysqldump  command instead we will use something called as login path. MySQL config editor It is a utility to store authentication credentials in a obfuscated login path file named as  .mylogin.cnf . How to do it ? View existing configurations To view existing configurations if there are any use below command. The command will output existing configurations if there are otherwise it won't print anything. mysql_config_editor print --all Sample output In the output below you can see that the password is obfuscated and is not readable directly. It is handled by the mysql utilities to use this password as per the flags ...

Container detached from docker network

Introduction One fine day you find out that one of your docker containers is running but is not currently attached to the container network that you created using docker network command. Ideally a container should be detached from the network when there is some error in it. However, if you set the restart: on-failure in the docker-compose.yml  in that case the container should restart and still be attached to the network. In such a weird situation follow the steps documented in this blog. Possible reasons Listed below are the possible reasons for this issue Storage space issue Memory issue ( We will cover this in next blog ) Storage space issue We need to check the space utilisation at the server level first then drill down to the docker engine. Server level utilisation In most cases the server is ubuntu system hence check the disk usage using the disk free command (i.e. df -h ). It will show you the current storage space utilisation of the server. df -h Docker engine space utilis...

DCLI - 1. Introduction

Introduction to Docker compose CLI      Docker compose CLI is a command line interface for managing a docker compose service containers. It is specifically implemented for a docker compose management. Earlier docker-compose v1 was standalone which is now integrated as part of the docker like a subcommand. Hence if you are using docker-compose up -d command then it means it uses docker-compose v1 and if you use docker compose up -d  command the you are running the compose it as part of compose v2. ( Note: There is a difference of the hyphen (-) character ) .  In our tutorials we will be using compose v2. Viewing the help commands In the terminal window type below command and press enter docker compose References Difference between compose v1 and v2

Similarities & Differences - Learn new Programming Language

     Our mind works in mysterious ways. We learn things by finding similarities and differences. We correlate things by finding if we have something similar learnt in the past. If we are able to find some similarity then great otherwise we start searching for differences. How something is different than what we already know ? Order may not be the same but in both cases our mind is trying to compare and learn. How can we leverage this quality for learning a new programming language ?  For instance you remember red and yellow colour by differentiating between them by their visual effect on our eye but you can group them together by their similarity that they both represent colours. In nutshell you create more generalisation or abstraction by using similarities but specialisation is through differentiation.      Programming languages are abundant but you know the fact that creating something completely new is very rare when you have some learnings in your...

How to install Google font on MacOS

Introduction Google fonts are open source. I was reading through the new angular website  and was astonished by the beautiful font used in the code editor shown in the samples. The font name is DM Mono . I wanted to use the same font on my Visual studio code editor for the Angular project development but I could not find a good blog which will guide through the installation process. Hence I am documenting this blog for the same. Get the font Follow below steps to download a font from Google fonts website . Visit the Google fonts website .  Search for the font you like for example DM Mono Click on the Get font button It will download a zip containing ttf format files Install the font on MacOS Once the zip is downloaded in the default downloads folder on your Mac. Follow below steps Double click to uzip the zip Open the folder Ex: DM_Mono Select all files with extension as .ttf and do not select other files like txt or some other format Keeping all the files selected double clic...