Posts

Exploring git pre-commit for Secrets leaks

Image
What is GitGaurdian and ggsheild? The ggsheild is a security CLI tool developed by GitGuardian that helps developers and organizations prevent the exposure of sensitive information, such as API keys, credentials, and secrets, in their Git repositories. What are key features of ggsheild? Pre-Commit and Pre-Push Scanning: Scans code before it is committed or pushed to detect secrets. Prevents accidental leaks of sensitive data in version control. CI/CD Pipeline Integration: Works with GitHub Actions, GitLab CI/CD, Jenkins, and other CI tools. Ensures security checks are part of automated workflows. Real-Time Monitoring and Alerts: Detects exposed secrets in public or private repositories. Sends alerts and suggests remediation steps. Custom Rules & Policies: Allows defining custom regex patterns to detect organization-specific secrets. Supports allowlists to prevent false positives. How to install ggshield on Ubuntu 24.04? To install the ggshi...

Handling Git Large file system on repositories - git-lfs

Image
Hey, hello, dear DevOps, DevSecOps, and SRE team heroes!! Here I came across a new challenge to solve the common problem on Git. You may be using GitHub or GitLab or even Bitbucket for source code management. Now, a few projects, websites, or mobile apps require storing images, audio files, or video files that are larger in size. During the transfer to the client systems, they are facing the following issues: Slowness in git clone and fetch operations: files taking too long to upload or download, leading to delays in deployment and user experience Sluggish commits and status checks: some clients are encountering errors related to file size limitations, causing frustration and hindering workflow efficiency Repository size bloat Complexity in managing multiple branches It's crucial for us to explore solutions that can streamline this process and ensure smooth handling of large sized media files. Git LFS installation on Ubuntu Using the package manager command we can ...

Git installation on Ubuntu 24.04

Image
Git installation on Ubuntu is pretty simple. If you are looking for git instatlling on the RHEL or Rocky or Oracle Linux you can use this link . Now most of the software projects are using Git. So let's do installation on Ubuntu wit the following steps: Check for Git exists Install Git Confirm Git Installation Pre-requisites: Pick an instance on Cloud or online terminal of Ubuntu 20+ version to this experiment. Here I'm using the KillerCoda provided Ubuntu. Check for Git exists This is a common requirement when you join a new project and on the Linux machine you would like to know git installed or not. We have couple of options to check it. Let's do it here: dpkg -l git #or dpkg --list git In the output first 'ii' in the list means (if there are packages installed, you should see this mark) that the package is correctly installed and available. alternatively you can also try other option to check git installation on Ubuntu. apt list g...

Apache Cassandra Performance Optimization

Image
Hey Guys!! I'm back with a new learning this week, I worked and experimented on Apache Cassandra Distributed database. It's special feature is it's quering capability with NoSQL - Not only SQL. Let's jump to our last set blog post where we have learnt about the Cassandra installation on a VM. Hope you are ready with Cassandra DB node. 1: Optimizing Data Modeling Objective: Understand partitioning and primary key design to optimize performance. Create an inefficient table within company_db keyspace: CREATE KEYSPACE company_db WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; USE company_db; CREATE TABLE company_db.employees_bad ( id UUID PRIMARY KEY, name TEXT, department TEXT, age INT, city TEXT ); Now let's Insert some sample records into the table and try to query it. INSERT INTO employees_bad (id, name, department, age, city) VALUES (uuid(), 'Reemi', 'Engineering', 30, 'New York...

Cassandra nodetool by examples

Image
To monitor an Apache Cassandra cluster from the command line interface (CLI), you can use the nodetool utility, which is a powerful command-line tool specifically designed for managing and monitoring Cassandra clusters. Here are some key commands and their functionalities: Key nodetool Commands Check Cluster Status : nodetool status This command displays the status of all nodes in the cluster, including whether they are up or down, their load, and other important metrics. Column Family Statistics : nodetool cfstats [keyspace_name] . [table_name] This command provides detailed statistics for a specific table (column family), including read/write counts, disk space used, and more. Thread Pool Statistics : nodetool tpstats This command shows statistics about thread pools used for read, write, and mutation operations, helping to identify potential bottlenecks. Network Statistics : nodetool netstats This command displays information about netwo...

Apache Cassandra 5 installation on Ubuntu

Image
In this post we will have step-by-step process of installation of the Latestt version of Apache Cassandra 5.0.3 (as of Feb 2025 available as latest) on Ubuntu 20. What problem I'm solving with this? There is no direct documentation on the Cassandra to help on installation of latest version that is 5.0.3 on Ubuntu. So I've experimented it on the online Ubuntu terminal(kllercoda) and posting all the steps here. Pre-requisite to install Cassandra 1. Ubuntu Terminal either killercoda or codespace on github works good for this experiment. 2. Cassandra has specific compatibility requirements with different Java versions, which are crucial for ensuring optimal performance and stability. you must have super(root) user access to install cassandra. Step 1: Install Java/JRE Ensure Java installed by checking with command `java -version` and if not existing then install as following: #install jdk17-jre apt install openjdk-17-jre-headless java -version Step 2: Add Ca...

Kafka Message system on Kubernetes

Image
  Setting up the Kubernetes namespace for kafka apiVersion: v1 kind: Namespace metadata: name: "kafka" labels: name: "kafka" k apply -f kafka-ns.yml Now let's create the ZooKeeper container inside the kafka namespace apiVersion: v1 kind: Service metadata: labels: app: zookeeper-service name: zookeeper-service namespace: kafka spec: type: NodePort ports: - name: zookeeper-port port: 2181 nodePort: 30181 targetPort: 2181 selector: app: zookeeper --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: zookeeper name: zookeeper namespace: kafka spec: replicas: 1 selector: matchLabels: app: zookeeper template: metadata: labels: app: zookeeper spec: containers: - image: wurstmeister/zookeeper imagePullPolicy: IfNotPresent name: zookeeper ports: - containerPort: 2181 image1 - kube-kafka1 From th...