You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MyAPES is APES CIC's public resource and tool hub at https://myapes.me.uk/. The repository currently has no automated validation or deployment workflow, GitHub About metadata is incomplete, and the live-site audit found focused routing, metadata, and release-record defects.
The intended outcome is a validated, rollback-aware deployment path for the existing Cloudron LAMP application: pull requests validate the tracked public site, and—after a guarded first production run—subsequent validated merges into protected main deploy only the exact tracked public/ release.
Update classification
Feature
Hosting and continuous deployment
Documentation
Repository maintenance
SEO hygiene
Focused bug fix
Website type: static HTML/CSS/browser JavaScript with one PHP layout helper in an existing Cloudron LAMP application
Scope
Populate the repository About description, public URL, and approved topics.
Rewrite the root README with the public/private service boundary, portable local instructions, Cloudron LAMP layout, release records, support links, and deployment lifecycle.
Add repository safety/release files and reusable validation, local preview, and deployment scripts.
Release focused public-site fixes as v3.2.1b:
true HTTP 404 handling for missing routes;
root-relative branded 404 assets and links;
canonical apex and clean trailing-slash redirects;
clean internal URLs;
three missing meta descriptions;
corrected Shelter & Rescue title encoding;
synchronized version, changelog, Change Log Hub, footer/template, and sitemap records.
Add a GitHub Actions workflow that validates pull requests and deploys validated main revisions through a protected production environment.
Package only tracked public/ content, fail closed on unknown production files, create a pre-deploy backup, stage and atomically swap the release, verify production, and automatically roll back the public tree if verification fails.
Configure a guarded production environment and protect main once the validation check is available.
Disable automatic branch deletion until merge and deployment verification are complete.
Non-scope
No credentials, application identifiers, private Cloudron configuration, environment values, database content, uploads, or generated secrets in tracked files or public GitHub records.
No GitHub Release or tag.
No database migration, Redis/LDAP/email change, Cloudron package update, service replacement, custom container, or deployment to another app.
No broad layout refactor, inherited agent-template cleanup, IDE untracking, QA screenshot pruning, licence decision, or invented private security-reporting route.
No site-wide Open Graph/Twitter/JSON-LD/CSP/Permissions Policy work.
No new 403, 500, offline, or maintenance pages.
Hosting and public-root constraints
The existing target is a Cloudron LAMP application.
Only public/ is deployable and maps to /app/data/public.
Cloudron-managed siblings under /app/data must remain untouched.
The public site has no current database-backed runtime, daemon, worker, or scheduler.
Production access values will be stored only as GitHub production environment secrets named CLOUDRON_FQDN, CLOUDRON_TOKEN, and CLOUDRON_APP_ID.
Security, privacy, and UK GDPR
This work introduces no new personal-data collection or processing.
Preserve the boundary between public signposting and protected case, account, complaint, and data-request workflows.
Use least-privilege production automation credentials and never expose their values in code, logs, issues, pull requests, or documentation.
Pull-request jobs must not receive production secrets.
Deployment must preserve non-public Cloudron content and fail closed if the target inventory or application identity is unexpected.
Existing private vulnerability-reporting and licence gaps are recorded as deferred repository-health work rather than being fabricated here.
Rollback and operational safety
Reject stale queued deployments before production mutation.
Verify the exact intended app identity, location, LAMP package, installation, run, and health state.
Reject unknown public files against a managed-file manifest.
Create and complete an app backup before changing the public tree.
Upload one verified archive, extract outside the web root, validate it, retain the previous public release, and swap directories.
On failed post-deployment checks, restore the previous public release and recheck it while leaving the workflow failed.
Retain the Cloudron backup as the durable manual restore path.
Acceptance criteria
GitHub About description, URL, and approved topics are set and re-read.
README is accurate, portable, linked, timestamped, and contains no private deployment values or obsolete machine path.
Root safety/release files and reusable validation, preview, and deployment scripts are present.
Public defects are fixed and all version/release records are synchronized at v3.2.1b.
Local validation and browser route preview pass, or exact blockers are recorded.
Pull-request workflow completes with the stable Validate website check passing.
main requires pull requests, one approval, current validation, and resolved conversations; force pushes and deletion are blocked.
The production environment is restricted to protected main, with production values entered through the secure user-controlled flow.
A separately authorized merge is verified on remote main.
The guarded first deployment succeeds, or a failed deployment rolls back successfully and this issue remains open.
The temporary environment reviewer gate is removed only after first-run evidence, leaving future validated main merges automatic.
Final evidence records the pull request, merge commit, deployment, checks, release status, limitations, and next action.
Issue closure and branch cleanup are separately authorized.
Validation plan
Run the repository tool-discovery script.
Run the reusable PowerShell public-site validator.
Lint the PHP layout and development router.
Run shell syntax validation and the deployment script's temporary-directory self-test.
Run git diff --check and targeted searches for old versions, explicit internal index.html links, inconsistent canonical domains, private paths, secrets, and nested public roots.
Preview representative desktop/mobile routes and a nested missing route with the approved PHP development router.
Require GitHub Actions validation before merge.
For the guarded first deployment, verify target identity, backup, every sitemap route, deployed version, true 404, canonical redirects, deployment metadata, health, and rollback behavior.
Known limitations and dependencies
The repository policy-sync check cannot run because scripts/Sync-CodexAgents.ps1 is absent; no replacement will be invented or installed in this scope.
Production setup requires a user-controlled Cloudron dashboard/API hostname and dedicated app-operator token; neither belongs in issue text or chat.
Exact Apache and reverse-proxy behavior requires guarded production evidence (or a separately available safe Apache preview).
The initial workflow merge will be held behind a temporary production-environment reviewer gate.
Context
MyAPES is APES CIC's public resource and tool hub at https://myapes.me.uk/. The repository currently has no automated validation or deployment workflow, GitHub About metadata is incomplete, and the live-site audit found focused routing, metadata, and release-record defects.
The intended outcome is a validated, rollback-aware deployment path for the existing Cloudron LAMP application: pull requests validate the tracked public site, and—after a guarded first production run—subsequent validated merges into protected
maindeploy only the exact trackedpublic/release.Update classification
Scope
v3.2.1b:mainrevisions through a protected production environment.public/content, fail closed on unknown production files, create a pre-deploy backup, stage and atomically swap the release, verify production, and automatically roll back the public tree if verification fails.mainonce the validation check is available.Non-scope
Hosting and public-root constraints
public/is deployable and maps to/app/data/public./app/datamust remain untouched.productionenvironment secrets namedCLOUDRON_FQDN,CLOUDRON_TOKEN, andCLOUDRON_APP_ID.Security, privacy, and UK GDPR
Rollback and operational safety
Acceptance criteria
v3.2.1b.Validate websitecheck passing.mainrequires pull requests, one approval, current validation, and resolved conversations; force pushes and deletion are blocked.productionenvironment is restricted to protectedmain, with production values entered through the secure user-controlled flow.main.mainmerges automatic.Validation plan
git diff --checkand targeted searches for old versions, explicit internalindex.htmllinks, inconsistent canonical domains, private paths, secrets, and nested public roots.Known limitations and dependencies
scripts/Sync-CodexAgents.ps1is absent; no replacement will be invented or installed in this scope.