recipe-maintainer: public snapshot (secrets + deployment plans removed, single commit)

Sanitized single-commit public mirror of recipe-maintainer.
- Removed test-ssh/.testenv (live creds); added test-ssh/.testenv.example placeholders.
- Removed plans/ and planned-updates/ (deployment-planning docs) so no client/
  deployment domains appear in the public repo.
- All other secret stores were already gitignored.
- docs.coopcloud.tech retained as a submodule (public upstream).
This commit is contained in:
2026-06-16 20:18:24 +00:00
commit f283a371bb
253 changed files with 15975 additions and 0 deletions

View File

@ -0,0 +1 @@
name = "custom-html"

View File

@ -0,0 +1,43 @@
# Custom HTML — First-Time Setup
## Prerequisites
- DNS: `custom-html.<DOMAIN_SUFFIX>` must resolve to the server
## Steps
1. **Create the app:**
```bash
abra app new custom-html --server <SERVER> --domain custom-html.<DOMAIN_SUFFIX> --no-input
```
2. **Deploy:**
```bash
abra app deploy custom-html.<DOMAIN_SUFFIX> --chaos --force --no-input
```
No secrets required.
3. **Copy your HTML content:**
```bash
abra app cp custom-html.<DOMAIN_SUFFIX> index.html app:/usr/share/nginx/html
```
4. **Verify:** curl `https://custom-html.<DOMAIN_SUFFIX>` returns HTTP 200.
## Optional: SSH/SFTP uploads
To allow SFTP file management, edit the app env file and uncomment:
```
COMPOSE_FILE="$COMPOSE_FILE:compose.sftp.yml"
PUBLIC_KEY="ssh-ed25519 AAAA... user@host"
```
Then redeploy. Connect via `ssh -p 2220 sftp@custom-html.<DOMAIN_SUFFIX>`.
## Optional: Git-pull from a repo
Uncomment in the env file:
```
COMPOSE_FILE="$COMPOSE_FILE:compose.git-pull.yml"
GIT_REPO_URL="https://..."
CRON_SCHEDULE="*/5 * * * *"
```

View File

@ -0,0 +1,14 @@
# Custom HTML Tests
## Target
- **URL:** https://custom-html.<DOMAIN_SUFFIX>
## Automated Checks
- `health_check.py` — Confirms the instance is reachable and returns HTTP 200.
## Manual Verification
1. Open https://custom-html.<DOMAIN_SUFFIX> in a browser.
2. Confirm the nginx default page (or custom HTML content) loads without errors.

View File

@ -0,0 +1,28 @@
#!/usr/bin/env python3
"""Health check for custom-html."""
import argparse
import os
import sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..', '..'))
from utils.tests.helpers import http_get, resolve_domain
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--domain', default=os.environ.get('TEST_DOMAIN'))
args = parser.parse_args()
domain = args.domain or resolve_domain('custom-html')
url = f"https://{domain}"
print(f"Checking custom-html at {url} ...")
status, _ = http_get(url)
if status == 200:
print(f"PASS: custom-html returned HTTP {status}")
else:
print(f"FAIL: custom-html returned HTTP {status} (expected 200)")
sys.exit(1)
if __name__ == '__main__':
main()

View File

@ -0,0 +1,14 @@
# Custom HTML Upstream
## Main Project
- **Recipe:** https://git.coopcloud.tech/coop-cloud/custom-html
- **nginx:** https://nginx.org
## Images
| Service | Image | Release Notes |
|---------|-------|---------------|
| app | `nginx` | https://nginx.org/en/CHANGES |
| git | `alpine/git` | https://github.com/alpine-docker/git/releases |
| ssh | `linuxserver/openssh-server` | https://github.com/linuxserver/docker-openssh-server/releases |