This commit is contained in:
2025-02-07 06:19:54 +03:00
parent 8a005a2fd2
commit 99d3e6c00c
6 changed files with 39 additions and 30 deletions

View File

@@ -21,9 +21,9 @@ jobs:
# - target: aarch64-apple-darwin # - target: aarch64-apple-darwin
# os: macos-latest # os: macos-latest
# short-name: macos-arm64 # short-name: macos-arm64
# - target: x86_64-apple-darwin - target: x86_64-apple-darwin
# os: macos-13 os: macos-13
# short-name: macos-i64 short-name: macos-i64
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."

View File

@@ -56,14 +56,16 @@ pub fn get(args_ ArgsGet) !&${args.classname} {
//register the config for the future //register the config for the future
pub fn set(o ${args.classname})! { pub fn set(o ${args.classname})! {
set_in_mem(o)! set_in_mem(o)!
heroscript:=heroscript_dumps(obj)! mut context := base.context()!
context.hero_config_set(${args.name},args.name,heroscript)! heroscript := heroscript_dumps(o)!
context.hero_config_set("gitea", o.name, heroscript)!
} }
//does the config exists? //does the config exists?
pub fn exists(args_ ArgsGet)! { pub fn exists(args_ ArgsGet)! {
mut context:=base.context() or { panic("bug") } mut context := base.context()!
return context.hero_config_exists("${args.name}",args.name) mut args := args_get(args_)
return context.hero_config_exists("gitea", args.name)
} }
pub fn delete(args_ ArgsGet)! { pub fn delete(args_ ArgsGet)! {

View File

@@ -92,16 +92,17 @@ fn ulist_get() !ulist.UList {
fn upload() ! {} fn upload() ! {}
fn startupcmd() ![]zinit.ZProcessNewArgs { fn startupcmd() ![]zinit.ZProcessNewArgs {
mut cfg := get()! mut cfg := get()!
mut res := []zinit.ZProcessNewArgs{}
res << zinit.ZProcessNewArgs{ res << zinit.ZProcessNewArgs{
name: 'gitea' name: 'gitea'
cmd: 'gitea server' cmd: 'gitea server'
env: { env: {
'HOME ': os.home_dir() 'HOME': os.home_dir()
'GITEA_CONFIG ': cfg.config_path() 'GITEA_CONFIG': cfg.config_path()
} }
} }
return res

View File

@@ -31,15 +31,18 @@ fn args_get (args_ ArgsGet) ArgsGet {
} }
pub fn get(args_ ArgsGet) !&GiteaServer { pub fn get(args_ ArgsGet) !&GiteaServer {
mut context:=base.context()! mut context := base.context()!
mut args := args_get(args_) mut args := args_get(args_)
mut obj := GiteaServer{} mut obj := GiteaServer{
domain: 'localhost' // Default domain, should be overridden by configuration
}
if !(args.name in gitea_global) { if !(args.name in gitea_global) {
if ! exists(args){ exists_res := exists(args) or { false }
if !exists_res {
set(obj)! set(obj)!
}else{ } else {
heroscript := context.hero_config_get("gitea",args.name)! heroscript := context.hero_config_get("gitea", args.name)!
mut obj2:=heroscript_loads(heroscript)! mut obj2 := heroscript_loads(heroscript)!
set_in_mem(obj2)! set_in_mem(obj2)!
} }
} }
@@ -53,14 +56,16 @@ pub fn get(args_ ArgsGet) !&GiteaServer {
//register the config for the future //register the config for the future
pub fn set(o GiteaServer)! { pub fn set(o GiteaServer)! {
set_in_mem(o)! set_in_mem(o)!
heroscript:=heroscript_dumps(obj)! mut context := base.context()!
context.hero_config_set(gitea,args.name,heroscript)! heroscript := heroscript_dumps(o)!
context.hero_config_set("gitea", o.name, heroscript)!
} }
//does the config exists? //does the config exists?
pub fn exists(args_ ArgsGet)! { pub fn exists(args_ ArgsGet) !bool {
mut context:=base.context() or { panic("bug") } mut context := base.context()!
return context.hero_config_exists("gitea",args.name) mut args := args_get(args_)
return context.hero_config_exists("gitea", args.name)
} }
pub fn delete(args_ ArgsGet)! { pub fn delete(args_ ArgsGet)! {

View File

@@ -3,6 +3,7 @@ import freeflowuniverse.herolib.data.paramsparser
import freeflowuniverse.herolib.data.encoderhero import freeflowuniverse.herolib.data.encoderhero
import freeflowuniverse.herolib.core.pathlib import freeflowuniverse.herolib.core.pathlib
import freeflowuniverse.herolib.ui.console import freeflowuniverse.herolib.ui.console
import freeflowuniverse.herolib.osal
import os import os
import freeflowuniverse.herolib.clients.mailclient import freeflowuniverse.herolib.clients.mailclient
import freeflowuniverse.herolib.clients.postgresql_client import freeflowuniverse.herolib.clients.postgresql_client
@@ -42,20 +43,20 @@ fn obj_init(mycfg_ GiteaServer)!GiteaServer{
fn configure() ! { fn configure() ! {
mut server := get()! mut server := get()!
if ! osal.exists("gitea") { if !osal.cmd_exists('gitea')! {
return error('gitea binary not found in path. Please install gitea first.') return error('gitea binary not found in path. Please install gitea first.')
} }
// Generate and set any missing secrets // Generate and set any missing secrets
if server.lfs_jwt_secret == '' { if server.lfs_jwt_secret == '' {
server.lfs_jwt_secret = os.execute_opt('gitea generate secret LFS_JWT_SECRET')!.output.trim() server.lfs_jwt_secret = os.execute_opt('gitea generate secret LFS_JWT_SECRET')!.output.trim_space()
set(server)! set(server)!
} }
if server.internal_token == '' { if server.internal_token == '' {
server.internal_token = os.execute_opt('gitea generate secret INTERNAL_TOKEN')!.output.trim() server.internal_token = os.execute_opt('gitea generate secret INTERNAL_TOKEN')!.output.trim_space()
set(server)! set(server)!
} }
if server.secret_key == '' { if server.secret_key == '' {
server.secret_key = os.execute_opt('gitea generate secret SECRET_KEY')!.output.trim() server.secret_key = os.execute_opt('gitea generate secret SECRET_KEY')!.output.trim_space()
set(server)! set(server)!
} }

View File

@@ -80,12 +80,12 @@ PATH = ${server.path}/lfs
[mailer] [mailer]
ENABLED = true ENABLED = true
FROM = ${mail_client.from} FROM = ${mail_client.mail_from}
; PROTOCOL = smtps ; PROTOCOL = smtps
SMTP_ADDR = ${mail_client.server} SMTP_ADDR = ${mail_client.mail_server}
SMTP_PORT = ${mail_client.port} SMTP_PORT = ${mail_client.mail_port}
USER = ${mail_client.username} USER = ${mail_client.mail_username}
PASSWD = ${mail_client.password} PASSWD = ${mail_client.mail_password}
[openid] [openid]
ENABLE_OPENID_SIGNIN = true ENABLE_OPENID_SIGNIN = true