Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 1 addition & 16 deletions .github/scripts/update-nginx-checksums.sh
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ Show-Usage() {
Usage: update-nginx-checksums.sh [--apply]

Options:
--apply Apply calculated checksums to nginx/nginx_installer.sh and nginx/nginx_installer.ps1 without prompting
--apply Apply calculated checksums to nginx/nginx_installer.sh without prompting
-h, --help Show this help
EOF
}
Expand All @@ -124,7 +124,6 @@ done
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
readonly REPO_ROOT
readonly BASH_INSTALLER="$REPO_ROOT/nginx/nginx_installer.sh"
readonly PS_INSTALLER="$REPO_ROOT/nginx/nginx_installer.ps1"

cd "$REPO_ROOT"

Expand All @@ -139,12 +138,6 @@ Set-BashVar() {
sed -i "s/^${key}=\"[^\"]*\"$/${key}=\"${value}\"/" "$BASH_INSTALLER"
}

Set-PsVar() {
local key=$1
local value=$2
sed -i "s#^\\(\\\$Script:${key}[[:space:]]*=[[:space:]]*'\\)[^']*'#\\1${value}'#" "$PS_INSTALLER"
}

Get-UrlHash() {
local url=$1
local file=$2
Expand Down Expand Up @@ -231,13 +224,5 @@ Set-BashVar HEADERS_MORE_SHA256 "$HEADERS_MORE_SHA256"
Set-BashVar ZSTD_MODULE_SHA256 "$ZSTD_MODULE_SHA256"
Set-BashVar ACME_MODULE_SHA256 "$ACME_MODULE_SHA256"

Set-PsVar NGINX_SHA256 "$NGINX_SHA256"
Set-PsVar PCRE2_SHA256 "$PCRE2_SHA256"
Set-PsVar ZLIB_SHA256 "$ZLIB_SHA256"
Set-PsVar HEADERS_MORE_SHA256 "$HEADERS_MORE_SHA256"
Set-PsVar ZSTD_MODULE_SHA256 "$ZSTD_MODULE_SHA256"
Set-PsVar ACME_MODULE_SHA256 "$ACME_MODULE_SHA256"

Write-Log SUCCESS "Updated checksums in:"
echo " - nginx/nginx_installer.sh"
echo " - nginx/nginx_installer.ps1"
3 changes: 1 addition & 2 deletions .github/workflows/update-nginx-checksums.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ on:
branches: [main]
paths:
- 'nginx/nginx_installer.sh'
- 'nginx/nginx_installer.ps1'

permissions:
contents: write
Expand All @@ -35,7 +34,7 @@ jobs:
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add nginx/nginx_installer.sh nginx/nginx_installer.ps1
git add nginx/nginx_installer.sh
if git diff --staged --quiet; then
echo "Checksums are already up to date, nothing to commit."
else
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,11 @@ Renovate normally handles version bumps. For manual updates:
### Example: Updating NGINX manually

```bash
# 1. Edit nginx/nginx_installer.sh AND nginx/nginx_installer.ps1
# Update these lines (same format!):
# 1. Edit nginx/nginx_installer.sh
# Update this line:
NGINX_VERSION="1.31.1"

# 2. Recalculate all checksums for both installers
# 2. Recalculate the checksum
.github/scripts/update-nginx-checksums.sh --apply

# 3. Test the script
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ pwsh ./<tool>_installer.ps1
| `ansible/` | `ansible_installer.sh` | Linux | Installs Ansible via pip in a venv |
| `docker/` | `docker_installer.sh` | Linux | Official Docker repositories |
| `kubernetes/` | `kubernetes_installer.sh` | Linux | kubectl + optional Minikube |
| `nginx/` | `nginx_installer.sh`, `nginx_installer.ps1` | Linux | Custom build: OpenSSL 3.x, HTTP/2, HTTP/3, zstd, headers-more, ACME |
| `nginx/` | `nginx_installer.sh` | Linux | Custom build: OpenSSL 3.x, HTTP/2, HTTP/3, zstd, headers-more, ACME |
| `openssh/` | `openssh_installer.sh` | Linux | Hardened config, Ed25519-only, post-quantum KEX (ML-KEM) |
| `podman/` | `podman_installer.sh` | Linux | Distribution repositories |
| `system/` | `planned_shutdown.sh` | Linux | Schedule/cancel/check a planned shutdown or reboot |
| `terraform/` | `terraform_installer.sh` | Linux | HashiCorp repositories |
| `TLS-tools/` | `TLS-checker.ps1` | Cross-platform | Tests TLS versions, HTTP versions, QUIC, HSTS, compression |
| `TLS-tools/` | `testssl.sh` (submodule) | Linux | Comprehensive TLS/SSL scanner by Dirk Wetter — pinned at a specific version |
Expand All @@ -38,6 +39,7 @@ pwsh ./<tool>_installer.ps1
| `windows/` | `Install-VagrantVMware.ps1` | Windows | Installs Vagrant + VMware Workstation |
| `windows/` | `Install-DellCommandUpdate.ps1` | Windows | Installs Dell Command Update via winget |
| `windows/` | `Install-HPImageAssistant.ps1` | Windows | Installs HP Image Assistant via winget |
| `windows/` | `Set-PlannedShutdown.ps1` | Windows | Schedule/cancel/check a planned shutdown or reboot |

## Linux distro support

Expand Down
18 changes: 17 additions & 1 deletion nginx/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,23 @@ sudo ./nginx_installer.sh install
sudo ./nginx_installer.sh remove
```

PowerShell variant also available: `nginx_installer.ps1`
## Optional modules

zstd, headers-more and ACME are optional dynamic modules. Skip any of them
up front, or let the installer skip them automatically (with a warning)
when a download or build fails, instead of aborting the whole install:

```bash
sudo ./nginx_installer.sh install --skip-acme
sudo ./nginx_installer.sh install --skip-modules=acme,zstd,headers-more
```

| Flag | Skips |
|------|-------|
| `--skip-acme` | ACME module |
| `--skip-zstd` | zstd compression module |
| `--skip-headers-more` | headers-more module |
| `--skip-modules=a,b,c` | Any combination of `acme`, `zstd`, `headers-more` |

## Installed paths

Expand Down
Loading