Skip to content

Instantly share code, notes, and snippets.

View fabriziosalmi's full-sized avatar

fab fabriziosalmi

View GitHub Profile
@fabriziosalmi
fabriziosalmi / monitor_k8s.sh
Created April 4, 2025 07:45
monitor_k8s.sh
#!/bin/bash
# --- Configuration ---
# Add namespaces here that you want to exclude from the Application Overview
EXCLUDE_NAMESPACES=("kube-system" "kube-public" "kube-node-lease" "local-path-storage" "kube-flannel" "calico-system" "tigera-operator") # Added common CNI/operator namespaces
# --- Terminal Colors ---
RESET='\033[0m'; BOLD='\033[1m'; DIM='\033[2m'; RED='\033[0;31m'; LRED='\033[1;31m';
GREEN='\033[0;32m'; LGREEN='\033[1;32m'; YELLOW='\033[0;33m'; BLUE='\033[0;34m';
MAGENTA='\033[0;35m'; CYAN='\033[0;36m'; LGRAY='\033[0;37m'; WHITE='\033[1;37m';
@fabriziosalmi
fabriziosalmi / manage_k8s_apps.sh
Created April 4, 2025 07:27
manage_k8s_apps.sh
#!/bin/bash
# --- Configuration ---
HOST_DATA_BASE_DIR="/srv/k8s-apps-data"
NODE_IP=""
# --- Terminal Colors ---
RESET='\033[0m'; BOLD='\033[1m'; RED='\033[0;31m'; GREEN='\033[0;32m';
YELLOW='\033[0;33m'; BLUE='\033[0;34m'; MAGENTA='\033[0;35m'; CYAN='\033[0;36m';
@fabriziosalmi
fabriziosalmi / install_k8s_ubuntu24.sh
Last active April 4, 2025 07:10
Install K8S on Ubuntu 24
#!/bin/bash
# --- Script Configuration ---
K8S_VERSION="1.29.0"
CALICO_VERSION="v3.27.2"
DASHBOARD_VERSION="v2.7.0"
INSTALL_DASHBOARD="true"
INSTALL_CADDY="true"
CADDY_NAMESPACE="example-caddy"
DASHBOARD_SERVICE_TYPE="NodePort" # NodePort or ClusterIP
@fabriziosalmi
fabriziosalmi / example.yaml
Created March 24, 2025 07:21
Example infra yaml
proxmox_config:
username: "root"
password: "{{ proxmox_password }}"
network_gateway: "192.168.1.1"
network_cidr: "192.168.1.0/24"
os_template_debian: "local:vztmpl/debian-11-standard_11.6-1_amd64.tar.gz"
os_template_ubuntu: "local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.gz"
api:
enabled: true
url: "https://{{ proxmox_hostname }}:8006/api2/json"
@fabriziosalmi
fabriziosalmi / apache2cloudflareworker.py
Created January 14, 2025 11:13
Convert Apache rewrites to Cloudflare worker JS 301s
import re
import urllib.parse
def escape_regex(text):
"""Escapes special characters in regex."""
escaped_text = re.escape(text)
# Replace escaped spaces with \s
escaped_text = escaped_text.replace(r'\ ', r'\s')
#remove escaped \
escaped_text = escaped_text.replace(r'\\', r'\')

Guida Passo-Passo Dettagliata per la Creazione e Gestione di Multipli Moduli Caddy con Machine Learning per la Sicurezza Avanzata

Questa guida estesa e migliorata si concentra sulla gestione di più moduli Caddy in repository separati, simulando scenari di sviluppo collaborativo e integrando un flusso di lavoro strutturato con branching, testing e integrazione continua.

Fase 1: Preparazione Avanzata dell'Ambiente di Sviluppo e Struttura del Progetto (Aggiornata)

(Questa fase rimane sostanzialmente la stessa, ma con un focus sulla gestione di più repository)

  1. Installazione e Configurazione di Go: (Come prima)
  2. Clonazione dei Repository di Caddy e dei Tuoi Moduli:

Okay, let's further extend the explanation on tuning options for the Caddy ML WAF (caddy-mlf), digging deeper into the nuances and advanced strategies.

Expanding on the Core Concepts:

To effectively tune caddy-mlf, it's crucial to understand the interplay between the different configuration options. They don't operate in isolation; adjusting one can impact the effectiveness of others. Think of it like a complex instrument where each knob and slider needs careful adjustment to produce the desired sound (in this case, accurate threat detection).

Deeper Dive into the Tuning Goals and Trade-offs:

We touched upon the trade-off between high security (minimizing false negatives) and high availability (minimizing false positives). Let's elaborate:

@fabriziosalmi
fabriziosalmi / caddy-waf-suite.md
Last active January 9, 2025 22:30
Caddy WAF suite (caddy-mib, caddy-mlf, caddy-waf)

Caddy WAF suite

Caddyfile

{
	# Disable the admin API for security (optional)
	admin off

	# Disable automatic HTTPS for testing purposes
@fabriziosalmi
fabriziosalmi / caddywaf.go
Created January 3, 2025 10:54
4xx, 5xx error loop protection proposal
package caddywaf
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net"
"os"
"regexp"