Skip to content

Instantly share code, notes, and snippets.

View diegofcornejo's full-sized avatar
🪄
randomtechguy

Diego Cornejo diegofcornejo

🪄
randomtechguy
View GitHub Profile
@diegofcornejo
diegofcornejo / docker-compose.yml
Created May 20, 2024 14:10
Cassandra Cluster Setup: Configuration to set up a three-node Cassandra cluster using Docker Compose and the Bitnami Cassandra image.
name: cassandra-cluster
services:
cassandra-node1:
image: bitnami/cassandra:latest
container_name: cassandra-node1
networks:
- cassandra-network
ports:
- "9042:9042"
@diegofcornejo
diegofcornejo / docker_backup_volumes_to_r2.sh
Created May 13, 2024 15:03
Backup Docker volumes to Cloudflare R2 using AWS CLI
#!/bin/bash
# Constants
S3_BUCKET="<YOUR_BUCKET_NAME>"
HOST_NAME="$(hostname)"
DATE=$(date +%F-%H%M%S) # Format as 'YYYY-MM-DD-HHMMSS'
MAX_BACKUPS=5
AWS_PROFILE="<YOUR_AWS_PROFILE>"
R2_ACCOUNT_ID="<YOUR_R2_ACCOUNT_ID>"
@diegofcornejo
diegofcornejo / 1. GRAFANA.md
Last active May 14, 2024 18:29
Setting Up a Monitoring Stack with Grafana, Prometheus, Node Exporter, and cAdvisor in Docker Compose, Exposed via NGINX

Setting Up a Monitoring Stack with Grafana, Prometheus, Node Exporter, cAdvisor and Loki in Docker Compose, Exposed via NGINX

This guide provides instructions on setting up a comprehensive monitoring stack using Grafana, Prometheus, Node Exporter, cAdvisor and Loki. These components are orchestrated with Docker Compose and exposed via an NGINX reverse proxy, making them accessible through a single domain.

Components

  • Grafana: The analytics and monitoring solution with support for multiple data sources, including Prometheus.
  • Prometheus: The monitoring and alerting toolkit, collecting metrics from configured targets at specified intervals.
  • Node Exporter: A Prometheus exporter for hardware and OS metrics exposed by *NIX kernels.
  • cAdvisor: Analyzes resource usage and performance characteristics of running containers.
@diegofcornejo
diegofcornejo / README.md
Created April 11, 2024 06:21
Elasticsearch: Snapshot and Restore

Create repository for snapshots

  • The location is the path where the snapshots will be stored, this path need to be set in the elasticsearch.yml file in the path.repo property
  • example: path.repo: ["/usr/share/elasticsearch/backup"]
  • After setting the path.repo property in the elasticsearch.yml file, restart the elasticsearch service
curl -XPUT -k -u elastic:changeme "https://localhost:9200/_snapshot/repository_backups" -H 'Content-Type: application/json' -d '{
  "type": "fs",
  "settings": {
    "location": "/usr/share/elasticsearch/backup"
 }
@diegofcornejo
diegofcornejo / buildspec.yml
Created March 19, 2024 15:30
AWS: Build spec file for Docker build and Push to ECR
version: 0.2
phases:
pre_build:
commands:
- echo Logging in to Amazon ECR...
- aws --version
- aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com
- REPOSITORY_URI=$AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME
- COMMIT_HASH=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)
@diegofcornejo
diegofcornejo / 1. KUBECONFIG.md
Last active March 6, 2024 14:00
Kubernetes: Load multiple config files

Kubernetes: Load multiple config files

Add this line in your .bashr or .zshrc

## Kubernetes: Load config files dinamically (conf.yml)
export KUBECONFIG=$(find $HOME/.kube -name "*.conf.yml" -print0 | tr '\0' ':' | sed 's/:$//')

Then reload it

@diegofcornejo
diegofcornejo / diegocornejo.com.txt
Created March 3, 2024 04:43
diegocornejo.com ascii logo
▒▓
▒█████████████████████████▓░
████████████████████████████▒
▓████████████████████████████░
░██░█░▒█ ░▒████████░
▒██▒ ▒█ ▒█ ░██████▓
███▓ █▒ ▒█ ▒█████░
░████▒ ░█░ ▒█ █████▓
█████▒ ░█ ▒█ ▓█████░
@diegofcornejo
diegofcornejo / weblogic14c-on-rhel9.md
Last active March 1, 2024 17:53
Install Oracle WebLogic Server 14c (14.1.1.0) on RHEL 9.3 (AWS EC2)

Install Oracle WebLogic Server 14c (14.1.1.0) on RHEL 9.3 (AWS EC2)

Prerequisites

  1. Create Swap Space
[ec2-user@hostname ~] sudo su -
[root@hostname ~] dd if=/dev/zero of=/swapfile bs=1M count=1024
[root@hostname ~] chmod 600 /swapfile
[root@hostname ~] mkswap /swapfile
@diegofcornejo
diegofcornejo / deploy_to_s3.yml
Created February 18, 2024 17:00
Github Action - Deploy to S3 and Invalidate CloudFront Cache
name: Deploy to S3 and Invalidate CloudFront Cache
on:
push:
branches:
- main
- develop
jobs:
build-and-deploy:
@diegofcornejo
diegofcornejo / SYSTEMD-SERVICES-EXAMPLES.md
Created February 18, 2024 16:53
SYSTEMD - Services files examples

Systemd Service Examples

Add a new service to systemd

sudo nano /etc/systemd/system/my-service.service

NOTE: And add the following content from section Service File Examples

Some useful commands