feat(gitea): Auto-push to Gitea after file uploads

- Add automatic Gitea push after upload_finalize in Streamlit RPCD
- Add automatic Gitea push after upload_finalize in MetaBlogizer RPCD
- Fix MetaBlogizer to use site name instead of UCI section ID for push
- Fix metablogizerctl to read Gitea config from dedicated gitea section

Uploaded files via LuCI are now automatically synced to Gitea repos.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
CyberMind-FR 2026-02-10 07:13:47 +01:00
parent c1c91f1227
commit 7c1c3993e0
3 changed files with 16 additions and 8 deletions

View File

@ -953,6 +953,8 @@ method_upload_finalize() {
if [ $rc -eq 0 ]; then
fix_permissions "$site_path"
# Auto-push to Gitea if configured (background, use site name not UCI section id)
metablogizerctl gitea push "$name" >/dev/null 2>&1 &
json_init
json_add_boolean "success" 1
json_add_string "filename" "$filename"

View File

@ -663,6 +663,8 @@ upload_finalize() {
uci set "${CONFIG}.${name}.path=$main_py"
uci set "${CONFIG}.${name}.enabled=1"
uci commit "$CONFIG"
# Auto-push to Gitea if configured (background)
streamlitctl gitea push "$name" >/dev/null 2>&1 &
json_success "ZIP app deployed: $name"
else
json_error "No Python files found in archive"
@ -680,6 +682,8 @@ upload_finalize() {
uci set "${CONFIG}.${name}.path=${name}.py"
uci set "${CONFIG}.${name}.enabled=1"
uci commit "$CONFIG"
# Auto-push to Gitea if configured (background)
streamlitctl gitea push "$name" >/dev/null 2>&1 &
json_success "App uploaded: $name"
else
rm -f "$app_file"

View File

@ -454,20 +454,22 @@ cmd_gitea_push() {
return 1
fi
# Load Gitea config
local gitea_enabled=$(uci_get main.gitea_enabled)
local gitea_url=$(uci_get main.gitea_url)
local gitea_user=$(uci_get main.gitea_user)
local gitea_token=$(uci_get main.gitea_token)
# Load Gitea config from dedicated gitea section
local gitea_enabled=$(uci_get gitea.enabled)
local gitea_url=$(uci_get gitea.url)
local gitea_user=$(uci_get gitea.user)
local gitea_token=$(uci_get gitea.token)
[ -z "$gitea_url" ] && gitea_url="http://localhost:3000"
if [ -z "$gitea_token" ]; then
log_error "Gitea token not configured"
log_info "Configure with:"
log_info " uci set metablogizer.main.gitea_url='http://192.168.255.1:3000'"
log_info " uci set metablogizer.main.gitea_user='admin'"
log_info " uci set metablogizer.main.gitea_token='your-token'"
log_info " uci set metablogizer.gitea=gitea"
log_info " uci set metablogizer.gitea.enabled=1"
log_info " uci set metablogizer.gitea.url='http://192.168.255.1:3001'"
log_info " uci set metablogizer.gitea.user='admin'"
log_info " uci set metablogizer.gitea.token='your-token'"
log_info " uci commit metablogizer"
return 1
fi