154 lines
7.3 KiB
ObjectPascal
154 lines
7.3 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.
|
|
# @param [String] ga_lfs_jwt_secret The JWT secret for Git L
|
|
# FS in Gitea.
|
|
# @param [String] ga_admin_allow_create_organization Whether to allow admin
|
|
# to create organizations in Gitea.
|
|
# @param [String] ga_internal_token The internal token for Gitea.
|
|
# @param [String] ga_jwt_secret The JWT secret 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',
|
|
String $ga_lfs_jwt_secret = 'ChangeMeLFSJWTSecret',
|
|
|
|
# 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',
|
|
String $ga_admin_allow_create_organization = 'true',
|
|
String $ga_internal_token = 'ChangeMeInternalToken',
|
|
String $ga_jwt_secret = 'ChangeMeJWTSecret',
|
|
# 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
|
|
}
|