From c354e462d1e1a97658e14f4e032e63279d6b0f92 Mon Sep 17 00:00:00 2001 From: 12ww1160 <12ww1160@confdroid.com> Date: Wed, 4 Feb 2026 12:12:33 +0100 Subject: [PATCH] OP#414 halfway through aoo config --- manifests/main/dirs.pp | 11 ++++++++++- manifests/main/files.pp | 8 ++++++++ manifests/params.pp | 31 ++++++++++++++++++++++++------- templates/app.ini.erb | 29 +++++++++++++++++++++++++++++ 4 files changed, 71 insertions(+), 8 deletions(-) create mode 100644 templates/app.ini.erb diff --git a/manifests/main/dirs.pp b/manifests/main/dirs.pp index 5bde11f..761e814 100644 --- a/manifests/main/dirs.pp +++ b/manifests/main/dirs.pp @@ -22,6 +22,8 @@ class confdroid_gitea::main::dirs ( $ga_data_dir, $ga_log_dir, $ga_tmp_dir, + $ga_repo_dir, + $ga_uploads_dir, ]: ensure => 'directory', mode => '0750', @@ -29,5 +31,12 @@ class confdroid_gitea::main::dirs ( group => $ga_user, recurse => true, } - } + file { $ga_conf_dir: + ensure => 'directory', + mode => '0770', + owner => 'root', + group => $ga_user, + recurse => true, + } + } } diff --git a/manifests/main/files.pp b/manifests/main/files.pp index 286ea5f..6691ce5 100644 --- a/manifests/main/files.pp +++ b/manifests/main/files.pp @@ -16,5 +16,13 @@ class confdroid_gitea::main::files ( group => $ga_user, source => "${ga_dl_url}/${ga_dl_version}/gitea-${ga_dl_version}-linux-amd64", } + + file { $ga_config_file: + ensure => 'file', + owner => $ga_user, + group => $ga_user, + mode => '0640', + content => template($ga_config_erb), + } } } diff --git a/manifests/params.pp b/manifests/params.pp index c3eca11..1c063af 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -13,17 +13,29 @@ # @param [String] ga_user The system user for Gitea. # @param [Array] ga_reqpackages The required packages for Gitea. # @param [String] ga_pkg_ensure The ensure state for required packages. +# @param [String] ga_domain The domain for the Gitea host. +# defaults to 'localhost'. +# @param [String] ga_root_url The root URL for Gitea. +# defaults to 'http://localhost:3000'. +# @param [Boolean] ga_disable_ssh Whether to disable SSH access in Gitea. +# @param [Boolean] ga_start_lfs Whether to start Git LFS support in Gitea. +# @param [Boolean] ga_start_ssh Whether to start SSH support in Gitea. ############################################################################## class confdroid_gitea::params ( # main - Array $ga_reqpackages = ['git', 'wget', 'tar'], - String $ga_pkg_ensure = 'present', - String $ga_host_fqdn = 'gitea.example.net', - String $ga_opt_dir = '/opt/gitea', - String $ga_dl_url = 'https://dl.gitea.com/gitea', - String $ga_dl_version = '1.25.4', - String $ga_user = 'git', + Array $ga_reqpackages = ['git', 'wget', 'tar'], + String $ga_pkg_ensure = 'present', + String $ga_host_fqdn = 'gitea.example.net', + String $ga_opt_dir = '/opt/gitea', + String $ga_dl_url = 'https://dl.gitea.com/gitea', + String $ga_dl_version = '1.25.4', + String $ga_user = 'git', + String $ga_domain = 'localhost', + String $ga_root_url = 'http://localhost:3000', + Boolean $ga_disable_ssh = false, + Boolean $ga_start_lfs = true, + Boolean $ga_start_ssh = false, # firewall Boolean $ga_use_firewall = true, @@ -44,8 +56,13 @@ class confdroid_gitea::params ( $ga_data_dir = "${ga_working_dir}/data" $ga_log_dir = "${ga_working_dir}/log" $ga_tmp_dir = "${ga_working_dir}/tmp" + $ga_conf_dir = '/etc/gitea' + $ga_repo_dir = "${ga_data_dir}/git/repositories" + $ga_uploads_dir = "${ga_data_dir}/uploads" # files + $ga_config_file = "${ga_conf_dir}/app.ini" + $ga_config_erb = 'confdroid_gitea/app.ini.erb' # includes must be last include confdroid_gitea::main::config diff --git a/templates/app.ini.erb b/templates/app.ini.erb new file mode 100644 index 0000000..c628d42 --- /dev/null +++ b/templates/app.ini.erb @@ -0,0 +1,29 @@ +APP_NAME = Confdroid Git + Container Registry +RUN_MODE = prod +WORK_PATH = <%= @ga_working_dir %> +CUSTOM_PATH = <%= @ga_custom_dir %> +DATA_PATH = <%= @ga_data_dir %> +LOG_PATH = <%= @ga_log_dir %> +TMP_PATH = <%= @ga_tmp_dir %> + +[repository] +ROOT = <%= @ga_repo_dir %> + +[repository.local] +LOCAL_COPY_PATH = <%= @ga_tmp_dir %>/local-repository + +[repository.upload] +TEMP_PATH = <%= @ga_uploads_dir %> + +[server] +APP_DATA_PATH = <%= @ga_data_dir %> +DOMAIN = <%= @ga_domain %> +SSH_DOMAIN = <%= @ga_domain %> +HTTP_PORT = <%= @ga_http_port %> +ROOT_URL = <%= @ga_root_url %> +DISABLE_SSH = <%= @ga_disable_ssh %> +SSH_PORT = <%= @ga_ssh_port %> +SSH_LISTEN_PORT = <%= @ga_ssh_port %> +LFS_START_SERVER = <%= @ga_start_lfs %> +START_SSH_SERVER = <%= @ga_start_ssh_server %> +