35 lines
1.8 KiB
JSON
35 lines
1.8 KiB
JSON
{
|
|
"version": "V1R1C4",
|
|
"tag": "V1R1C4",
|
|
"type": "auth-portal-hardening-release",
|
|
"name": "GitOps portal auth hardening and Gitea owner sync",
|
|
"previous_version": "V1R1C3",
|
|
"update_mode": "git_patch_only",
|
|
"zip_update_mode": "deprecated",
|
|
"entry": "https://cnnetmkt.top/",
|
|
"git_web": "https://g.cnnetmkt.top/git/aios/aios-v23",
|
|
"api_base": "https://cnnetmkt.top/api",
|
|
"changes": [
|
|
"Human shortlinks /base /ver /diff /patch /model /run now redirect to the login-protected portal GitOps section.",
|
|
"Machine API remains under /api for ChatGPT Actions and Codex automation.",
|
|
"Gitea requires sign-in for repository browsing and registration UI is hidden.",
|
|
"Gitea owner password sync service/timer copies the user-control owner password without logging secrets.",
|
|
"Default local Gitea account password is cleared and login is prohibited.",
|
|
"User portal includes a GitOps dashboard section for admin/owner users.",
|
|
"Patched user-control-center files are preserved under overlays/user-control-center for replayable releases.",
|
|
"Portal GitOps dashboard reads /app/runtime/gitops/current.json before HTTP fallback so the version is visible inside Docker.",
|
|
"Gitea owner sync uses runuser instead of sudo command logging and strips CRLF from sourced owner fields."
|
|
],
|
|
"artifacts": [
|
|
"deploy/nginx/aios-gitops-locations.conf",
|
|
"deploy/gitea-binary/app.ini.template",
|
|
"deploy/systemd/aios-gitea-owner-sync.service",
|
|
"deploy/systemd/aios-gitea-owner-sync.timer",
|
|
"ops/gitops-migration/sync_gitea_owner_password.sh",
|
|
"ops/gitops-migration/apply_user_portal_gitops_overlay.sh",
|
|
"overlays/user-control-center/control/portal_views.py",
|
|
"overlays/user-control-center/templates/portal/me.html"
|
|
],
|
|
"updated_at": "2026-07-06T11:16:23Z"
|
|
}
|