Files
confdroid_gitea/manifests/params.pp
2026-02-05 15:43:47 +01:00

145 lines
6.7 KiB
ObjectPascal

## confdroid_gitea::params.pp
# Module name: confdroid_gitea
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary holds all parameters for the confdroid_gitea Puppet module.
# @param [Boolean] ga_use_firewall Whether to enable firewall rules for Gitea.
# @param [String] ga_http_port The main port number for Gitea.
# @param [String] ga_ssh_port The SSH port number for Gitea.
# @param [String] ga_order_prefix The order prefix for firewall rules.
# @param [String] ga_host_fqdn The FQDN for the Gitea host.
# @param [String] ga_opt_dir The installation directory for Gitea.
# @param [String] ga_dl_url The download URL for Gitea.
# @param [String] ga_dl_version The version of Gitea to download.
# @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.
# @param [String] ga_db_type The database type for Gitea.
# @param [String] ga_db_host The database host for Gitea.
# @param [String] ga_db_port The database port for Gitea.
# @param [String] ga_db_name The database name for Gitea.
# @param [String] ga_db_user The database user for Gitea.
# @param [String] ga_db_password The database password for Gitea.
# @param [Boolean] ga_log_sql Whether to enable SQL query logging
# in Gitea.
# @param [String] ga_ssl_mode The SSL mode for the database connection
# in Gitea.
# @param [String] ga_log_mode The log mode for Gitea.
# @param [String] ga_log_level The log level for Gitea.
# @param [Boolean] ga_install_lock Whether to enable the install lock
# for Gitea.
# @param [String] ga_secret_key The secret key for Gitea.
# @param [String] ga_reverse_proxy_limit The reverse proxy limit
# for Gitea.
# @param [String] ga_reverse_proxy_trusted_proxies The trusted proxies for
# reverse proxy in Gitea.
# @param [Boolean] ga_disable_root_check Whether to disable the root check
# in Gitea.
# @param [Boolean] ga_disable_registration Whether to disable user
# registration in Gitea.
# @param [Boolean] ga_require_signin_view Whether to require sign-in to view
# in Gitea.
# @param [String] ga_admin_username The admin username for Gitea.
# @param [String] ga_admin_password The admin password for Gitea.
# @param [String] ga_admin_email The admin email for Gitea.
# @param [Boolean] ga_enable_packages Whether to allow packages registry
# in Gitea.
# @param [Boolean] ga_enable_registry Whether to allow container registry
# in Gitea.
# @param [String] ga_storage_type The storage type for Gitea.
# @param [String] ga_instance_name The instance name for 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',
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,
String $ga_instance_name = 'Your Gitea Instance',
# database
String $ga_db_type = 'postgres',
String $ga_db_host = 'localhost',
String $ga_db_port = '5432',
String $ga_db_name = 'gitea',
String $ga_db_user = 'ChangeMe',
String $ga_db_password = 'ChangeMe',
Boolean $ga_log_sql = false,
String $ga_ssl_mode = 'require',
# logging
String $ga_log_mode = 'file',
String $ga_log_level = 'info',
# security
Boolean $ga_install_lock = true,
String $ga_secret_key = 'ChangeMe1234567890',
String $ga_reverse_proxy_limit = '1',
String $ga_reverse_proxy_trusted_proxies = '*',
Boolean $ga_disable_root_check = true,
String $ga_admin_username = 'admin',
String $ga_admin_password = 'ChangeMeAdmin123!',
String $ga_admin_email = 'admin@example.com',
# service
Boolean $ga_disable_registration = false,
Boolean $ga_require_signin_view = false,
Boolean $ga_enable_packages = true,
Boolean $ga_enable_registry = true,
String $ga_storage_type = 'filesystem',
# firewall
Boolean $ga_use_firewall = true,
String $ga_http_port = '3000',
String $ga_ssh_port = '22',
String $ga_order_prefix = '50',
) {
# facts
$fqdn = $facts['networking']['fqdn']
$domain = $facts['networking']['domain']
$os_name = $facts['os']['name']
$os_release = $facts['os']['release']['major']
# directories
$ga_working_dir ='/var/lib/gitea'
$ga_custom_dir = "${ga_working_dir}/custom"
$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_git_dir = "${ga_data_dir}/git"
$ga_repo_dir = "${ga_git_dir}/repositories"
$ga_uploads_dir = "${ga_data_dir}/uploads"
$ga_indexer_dir = "${ga_data_dir}/indexers"
$ga_sessions_dir = "${ga_data_dir}/sessions"
$ga_avatars_dir = "${ga_data_dir}/avatars"
$ga_repo_avatars_dir = "${ga_data_dir}/repo-avatars"
$ga_attachments_dir = "${ga_data_dir}/attachments"
$ga_lfs_dir = "${ga_data_dir}/lfs"
# files
$ga_config_file = "${ga_conf_dir}/app.ini"
$ga_config_erb = 'confdroid_gitea/app.ini.erb'
$ga_service_file = '/etc/systemd/system/gitea.service'
$ga_service_erb = 'confdroid_gitea/gitea_service.erb'
# Service
$ga_service_name = 'gitea'
# includes must be last
include confdroid_gitea::main::config
}