Skip to content

harden install.sh with preflight, unattended mode, version pinning#5

Merged
mgorabbani merged 4 commits into
mainfrom
claude/install-script-setup-gFFAM
Apr 20, 2026
Merged

harden install.sh with preflight, unattended mode, version pinning#5
mgorabbani merged 4 commits into
mainfrom
claude/install-script-setup-gFFAM

Conversation

@mgorabbani

Copy link
Copy Markdown
Owner
  • Hardened curl (--proto '=https' --tlsv1.2) for all fetches
  • Preflight checks: disk, memory, architecture, port conflicts, registry reachability
  • Unattended mode via ASKDB_UNATTENDED=1 + ASKDB_PROFILE/DOMAIN/ACME_EMAIL/CF_TUNNEL_TOKEN
  • Version pinning via ASKDB_VERSION (defaults to main)
  • Install logging to /var/log/askdb-install.log with error trap that dumps recent logs
  • Backup .env to .env.bak on upgrade; atomic compose/Caddyfile replace
  • Add shellcheck CI workflow

claude added 4 commits April 20, 2026 00:11
- Hardened curl (--proto '=https' --tlsv1.2) for all fetches
- Preflight checks: disk, memory, architecture, port conflicts, registry reachability
- Unattended mode via ASKDB_UNATTENDED=1 + ASKDB_PROFILE/DOMAIN/ACME_EMAIL/CF_TUNNEL_TOKEN
- Version pinning via ASKDB_VERSION (defaults to main)
- Install logging to /var/log/askdb-install.log with error trap that dumps recent logs
- Backup .env to .env.bak on upgrade; atomic compose/Caddyfile replace
- Add shellcheck CI workflow
- Safe default: stop containers only, preserve askdb-data volume
- --purge: remove containers, volumes (askdb-data, caddy-data, caddy-config), and install dir
- --backup <path>: tar the askdb-data volume before destructive actions
- --remove-images: also delete docker images
- ASKDB_UNATTENDED=1 skips confirmations for CI/automation
- Installer now prints the uninstall one-liner in its success message
Triggers on v*.*.* tag push (or manual dispatch):

- Builds linux/amd64 + linux/arm64 image, pushes to ghcr.io with
  semver tags (vX.Y.Z, vX.Y, vX, latest) + provenance + SBOM
- Creates a GitHub Release with install.sh / uninstall.sh pinned to
  the tag, SHA256SUMS for verification, and an auto-generated changelog
- Install one-liner documented in the release body
- install.sh: 230 -> 134 lines; drop preflight cruft, log-tee, fetch
  wrapper, prompt helper, error trap; keep root/OS check, docker
  bootstrap, interactive + env-var config, version pin, health wait
- uninstall.sh: 145 -> 33 lines; just stop (default) or --purge
- release.yml: drop SBOM/provenance, manual dispatch, custom changelog,
  install.sh sed-pinning, SHA256SUMS. Tag push -> multi-arch GHCR push
  + GH Release with install/uninstall attached and auto notes.
@netlify

netlify Bot commented Apr 20, 2026

Copy link
Copy Markdown

Deploy Preview for askdb-mcp ready!

Name Link
🔨 Latest commit 974e672
🔍 Latest deploy log https://app.netlify.com/projects/askdb-mcp/deploys/69e575c052a6770008797844
😎 Deploy Preview https://deploy-preview-5--askdb-mcp.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@mgorabbani mgorabbani merged commit 9025260 into main Apr 20, 2026
6 checks passed
@mgorabbani mgorabbani deleted the claude/install-script-setup-gFFAM branch April 20, 2026 00:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants