Script for Nginx/Openresty to restore up-to-date source IP addresses of visitors from Cloudflare
Set params like NGINX_BIN_PATH
and CLOUDFLARE_CONFIG_PATH
echo "NGINX_BIN_PATH=/usr/bin/openresty" > /etc/cloudflare-real-ip-update.env
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: view | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- configmaps | |
- endpoints |
# https://github.com/opencontainers/image-spec/blob/main/annotations.md | |
image="$REGISTRY_DOMAIN/$CI_PROJECT_ROOT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME" | |
docker build \ | |
--file ./Dockerfile --tag "$image" \ | |
--label org.opencontainers.image.url="$image" \ | |
--label org.opencontainers.image.vendor="$CI_PROJECT_ROOT_NAMESPACE@$CI_SERVER_HOST" \ | |
--label org.opencontainers.image.version="$CI_COMMIT_REF_SLUG" \ | |
--label org.opencontainers.image.description="$CI_PROJECT_TITLE" \ |
#!/bin/bash | |
# Logging level | |
: "${LOG_LEVEL:=INFO}" | |
# Associative arrays for logging | |
declare -A log_c log_l | |
# Color codes | |
log_c[0]='\033[0m' # Reset colors | |
log_c[error]='\033[1;31m' # Red |
#!/usr/bin/env bash | |
# | |
# Script for rebuild indexes and invalidate cache in NPM proxy repositories. | |
# Configuration can load from hide file with same name as script | |
# Example: this-srcipt.sh load config from ./.this-srcipt | |
# | |
# Copyright 2020 WoozyMasta <woozy.masta@gmail.com> | |
# | |
# This program is free software; you can redistribute it and/or modify | |
# it under the terms of the GNU General Public License as published by |
stream { | |
upstream ssh { | |
server 127.0.0.1:22; | |
} | |
upstream web { | |
server 127.0.0.1:443; | |
} | |
map $ssl_preread_protocol $upstream { |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: registry-config | |
namespace: kube-system | |
data: | |
unqualified-search-registries.conf: | | |
unqualified-search-registries = [ | |
"docker.io", | |
"quay.io", |
#!/usr/bin/env bash | |
# wg-post %i UP/DOWN | |
set -euo pipefail | |
: "${WG_IFACE:=${1:-wg0}}" | |
: "${WG_ACTION:=${2:-down}}" | |
: "${WG_CONF:=/etc/wireguard/$WG_IFACE.conf}" | |
[ -f "$WG_CONF" ] || { >&2 echo "File $WG_CONF not accessible"; exit 1; } |
init_worker_by_lua_block { | |
prometheus = require("prometheus").init("prometheus_metrics") | |
metric_requests = prometheus:counter( | |
"nginx_http_requests_total", | |
"Number of HTTP requests", | |
{"host", "status"} | |
) | |
metric_latency = prometheus:histogram( | |
"nginx_http_request_duration_seconds", |
#!/usr/bin/env bash | |
# | |
# Script for rebuild indexes and invalidate cache in NPM proxy repositories. | |
# Configuration can load from hide file with same name as script | |
# Example: this-srcipt.sh load config from ./.this-srcipt | |
# | |
# Copyright 2020 WoozyMasta <woozy.masta@gmail.com> | |
# | |
# This program is free software; you can redistribute it and/or modify | |
# it under the terms of the GNU General Public License as published by |