mirror of
				https://github.com/arcan1s/ahriman.git
				synced 2025-10-31 05:43:41 +00:00 
			
		
		
		
	feat: use split packages (#135)
* move argument parsers to handlers themselves
* use hatchling instead of flit
* Revert "use hatchling instead of flit"
This reverts commit d18d146d79.
* add package-splitt script
* replace simplify walk method
* split packages
* explicitly install packages
* separate support triggers from main package
* add docs examples
* sort actions
* docs update
* add metapackage
* review fixes
			
			
This commit is contained in:
		| @ -23,32 +23,6 @@ sync_files_database = yes | ||||
| ; as additional option for some subcommands). If set to no, databases must be synchronized manually. | ||||
| use_ahriman_cache = yes | ||||
|  | ||||
| [auth] | ||||
| ; Authentication provider, must be one of disabled, configuration, pam, oauth. | ||||
| target = disabled | ||||
| ; Allow read-only endpoint to be called without authentication. | ||||
| allow_read_only = yes | ||||
| ; OAuth2 application client ID and secret. Required if oauth is used. | ||||
| ;client_id = | ||||
| ;client_secret = | ||||
| ; Cookie secret key to be used for cookies encryption. Must be valid 32 bytes URL-safe base64-encoded string. | ||||
| ; If not set, it will be generated automatically. | ||||
| ;cookie_secret_key = | ||||
| ; Name of the secondary group to be used as admin group in the service. Required if pam is used. | ||||
| ;full_access_group = wheel | ||||
| ; Authentication cookie expiration in seconds. | ||||
| ;max_age = 604800 | ||||
| ; OAuth2 provider icon for the web interface. | ||||
| ;oauth_icon = google | ||||
| ; OAuth2 provider class name, one of provided by aioauth-client. Required if oauth is used. | ||||
| ;oauth_provider = GoogleClient | ||||
| ; Scopes list for OAuth2 provider. Required if oauth is used. | ||||
| ;oauth_scopes = https://www.googleapis.com/auth/userinfo.email | ||||
| ; Allow login as root user (only applicable if PAM is used). | ||||
| ;permit_root_login = no | ||||
| ; Optional password salt. | ||||
| ;salt = | ||||
|  | ||||
| [build] | ||||
| ; List of additional flags passed to archbuild command. | ||||
| ;archbuild_flags = | ||||
| @ -70,20 +44,12 @@ triggers[] = ahriman.core.report.ReportTrigger | ||||
| triggers[] = ahriman.core.upload.UploadTrigger | ||||
| triggers[] = ahriman.core.gitremote.RemotePushTrigger | ||||
| ; List of well-known triggers. Used only for configuration purposes. | ||||
| triggers_known[] = ahriman.core.distributed.WorkerLoaderTrigger | ||||
| triggers_known[] = ahriman.core.distributed.WorkerTrigger | ||||
| triggers_known[] = ahriman.core.gitremote.RemotePullTrigger | ||||
| triggers_known[] = ahriman.core.gitremote.RemotePushTrigger | ||||
| triggers_known[] = ahriman.core.report.ReportTrigger | ||||
| triggers_known[] = ahriman.core.support.KeyringTrigger | ||||
| triggers_known[] = ahriman.core.support.MirrorlistTrigger | ||||
| triggers_known[] = ahriman.core.upload.UploadTrigger | ||||
| ; Maximal age in seconds of the VCS packages before their version will be updated with its remote source. | ||||
| ;vcs_allowed_age = 604800 | ||||
| ; List of worker nodes addresses used for build process, e.g.: | ||||
| ;     workers = http://10.0.0.1:8080 http://10.0.0.3:8080 | ||||
| ; Empty list means run on the local instance. | ||||
| ;workers = | ||||
|  | ||||
| [repository] | ||||
| ; Application root. | ||||
| @ -112,79 +78,6 @@ suppress_http_log_errors = yes | ||||
| ; Optional username for authentication (if enabled). | ||||
| ;username = | ||||
|  | ||||
| [web] | ||||
| ; External address of the web service. Will be used for some features like OAuth. If none set will be generated as | ||||
| ;     address = http://${web:host}:${web:port} | ||||
| ;address = http://${web:host}:${web:port} | ||||
| ; Enable file upload endpoint used by some triggers. | ||||
| ;enable_archive_upload = no | ||||
| ; Address to bind the server. | ||||
| host = 127.0.0.1 | ||||
| ; Full URL to the repository index page used by templates. | ||||
| ;index_url = | ||||
| ; Max file size in bytes which can be uploaded to the server. Requires ${web:enable_archive_upload} to be enabled. | ||||
| ;max_body_size = | ||||
| ; Port to listen. Must be set, if the web service is enabled. | ||||
| ;port = | ||||
| ; Disable status (e.g. package status, logs, etc) endpoints. Useful for build only modes. | ||||
| ;service_only = no | ||||
| ; Path to directory with static files. | ||||
| static_path = ${templates}/static | ||||
| ; List of directories with templates. | ||||
| templates[] = ${prefix}/share/ahriman/templates | ||||
| ; Path to unix socket. If none set, unix socket will be disabled. | ||||
| ;unix_socket = | ||||
| ; Allow unix socket to be world readable. | ||||
| ;unix_socket_unsafe = yes | ||||
| ; Maximum amount of time in seconds to be waited before lock will be free, used by spawned processes (0 is infinite). | ||||
| ;wait_timeout = | ||||
|  | ||||
| [keyring] | ||||
| ; List of configuration section names for keyring generator plugin, e.g.: | ||||
| ;     target = keyring-trigger | ||||
| target = | ||||
|  | ||||
| ; Keyring generator trigger sample. | ||||
| ;[keyring-trigger] | ||||
| ; Generator type name. | ||||
| ;type = keyring-generator | ||||
| ; Optional keyring package description. | ||||
| ;description= | ||||
| ; Optional URL to the repository homepage. | ||||
| ;homepage= | ||||
| ; Keyring package licenses list. | ||||
| ;license = Unlicense | ||||
| ; Optional keyring package name. | ||||
| ;package = | ||||
| ; Optional packager PGP keys list. If none set, it will read from database. | ||||
| ;packagers = | ||||
| ; List of revoked PGP keys. | ||||
| ;revoked = | ||||
| ; List of master PGP keys. If none set, the sign.key value will be used. | ||||
| ;trusted = | ||||
|  | ||||
| [mirrorlist] | ||||
| ; List of configuration section names for mirrorlist generator plugin, e.g.: | ||||
| ;     target = mirrorlist-trigger | ||||
| target = | ||||
|  | ||||
| ; Mirror list generator trigger sample. | ||||
| ;[mirrorlist-trigger] | ||||
| ; Generator type name. | ||||
| ;type = mirrorlist-generator | ||||
| ; Optional mirrorlist package description. | ||||
| ;description= | ||||
| ; Optional URL to the repository homepage. | ||||
| ;homepage= | ||||
| ; Mirrorlist package licenses list. | ||||
| ;license = Unlicense | ||||
| ; Optional mirrorlist package name. | ||||
| ;package = | ||||
| ; Absolute path to generated mirrorlist file, usually path inside /etc/pacman.d directory. | ||||
| ;path = | ||||
| ; List of repository mirrors. | ||||
| ;servers = | ||||
|  | ||||
| [remote-pull] | ||||
| ; List of configuration section names for git remote pull plugin, e.g.: | ||||
| ;     target = remote-pull-trigger | ||||
|  | ||||
							
								
								
									
										56
									
								
								package/share/ahriman/settings/ahriman.ini.d/00-triggers.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								package/share/ahriman/settings/ahriman.ini.d/00-triggers.ini
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,56 @@ | ||||
| [build] | ||||
| ; List of well-known triggers. Used only for configuration purposes. | ||||
| triggers_known[] = ahriman.core.distributed.WorkerLoaderTrigger | ||||
| triggers_known[] = ahriman.core.distributed.WorkerTrigger | ||||
| triggers_known[] = ahriman.core.support.KeyringTrigger | ||||
| triggers_known[] = ahriman.core.support.MirrorlistTrigger | ||||
| ; List of worker nodes addresses used for build process, e.g.: | ||||
| ;     workers = http://10.0.0.1:8080 http://10.0.0.3:8080 | ||||
| ; Empty list means run on the local instance. | ||||
| ;workers = | ||||
|  | ||||
| [keyring] | ||||
| ; List of configuration section names for keyring generator plugin, e.g.: | ||||
| ;     target = keyring-trigger | ||||
| target = | ||||
|  | ||||
| ; Keyring generator trigger sample. | ||||
| ;[keyring-trigger] | ||||
| ; Generator type name. | ||||
| ;type = keyring-generator | ||||
| ; Optional keyring package description. | ||||
| ;description= | ||||
| ; Optional URL to the repository homepage. | ||||
| ;homepage= | ||||
| ; Keyring package licenses list. | ||||
| ;license = Unlicense | ||||
| ; Optional keyring package name. | ||||
| ;package = | ||||
| ; Optional packager PGP keys list. If none set, it will read from database. | ||||
| ;packagers = | ||||
| ; List of revoked PGP keys. | ||||
| ;revoked = | ||||
| ; List of master PGP keys. If none set, the sign.key value will be used. | ||||
| ;trusted = | ||||
|  | ||||
| [mirrorlist] | ||||
| ; List of configuration section names for mirrorlist generator plugin, e.g.: | ||||
| ;     target = mirrorlist-trigger | ||||
| target = | ||||
|  | ||||
| ; Mirror list generator trigger sample. | ||||
| ;[mirrorlist-trigger] | ||||
| ; Generator type name. | ||||
| ;type = mirrorlist-generator | ||||
| ; Optional mirrorlist package description. | ||||
| ;description= | ||||
| ; Optional URL to the repository homepage. | ||||
| ;homepage= | ||||
| ; Mirrorlist package licenses list. | ||||
| ;license = Unlicense | ||||
| ; Optional mirrorlist package name. | ||||
| ;package = | ||||
| ; Absolute path to generated mirrorlist file, usually path inside /etc/pacman.d directory. | ||||
| ;path = | ||||
| ; List of repository mirrors. | ||||
| ;servers = | ||||
							
								
								
									
										52
									
								
								package/share/ahriman/settings/ahriman.ini.d/00-web.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								package/share/ahriman/settings/ahriman.ini.d/00-web.ini
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,52 @@ | ||||
| [auth] | ||||
| ; Authentication provider, must be one of disabled, configuration, pam, oauth. | ||||
| target = disabled | ||||
| ; Allow read-only endpoint to be called without authentication. | ||||
| allow_read_only = yes | ||||
| ; OAuth2 application client ID and secret. Required if oauth is used. | ||||
| ;client_id = | ||||
| ;client_secret = | ||||
| ; Cookie secret key to be used for cookies encryption. Must be valid 32 bytes URL-safe base64-encoded string. | ||||
| ; If not set, it will be generated automatically. | ||||
| ;cookie_secret_key = | ||||
| ; Name of the secondary group to be used as admin group in the service. Required if pam is used. | ||||
| ;full_access_group = wheel | ||||
| ; Authentication cookie expiration in seconds. | ||||
| ;max_age = 604800 | ||||
| ; OAuth2 provider icon for the web interface. | ||||
| ;oauth_icon = google | ||||
| ; OAuth2 provider class name, one of provided by aioauth-client. Required if oauth is used. | ||||
| ;oauth_provider = GoogleClient | ||||
| ; Scopes list for OAuth2 provider. Required if oauth is used. | ||||
| ;oauth_scopes = https://www.googleapis.com/auth/userinfo.email | ||||
| ; Allow login as root user (only applicable if PAM is used). | ||||
| ;permit_root_login = no | ||||
| ; Optional password salt. | ||||
| ;salt = | ||||
|  | ||||
| [web] | ||||
| ; External address of the web service. Will be used for some features like OAuth. If none set will be generated as | ||||
| ;     address = http://${web:host}:${web:port} | ||||
| ;address = http://${web:host}:${web:port} | ||||
| ; Enable file upload endpoint used by some triggers. | ||||
| ;enable_archive_upload = no | ||||
| ; Address to bind the server. | ||||
| host = 127.0.0.1 | ||||
| ; Full URL to the repository index page used by templates. | ||||
| ;index_url = | ||||
| ; Max file size in bytes which can be uploaded to the server. Requires ${web:enable_archive_upload} to be enabled. | ||||
| ;max_body_size = | ||||
| ; Port to listen. Must be set, if the web service is enabled. | ||||
| ;port = | ||||
| ; Disable status (e.g. package status, logs, etc) endpoints. Useful for build only modes. | ||||
| ;service_only = no | ||||
| ; Path to directory with static files. | ||||
| static_path = ${templates}/static | ||||
| ; List of directories with templates. | ||||
| templates[] = ${prefix}/share/ahriman/templates | ||||
| ; Path to unix socket. If none set, unix socket will be disabled. | ||||
| ;unix_socket = | ||||
| ; Allow unix socket to be world readable. | ||||
| ;unix_socket_unsafe = yes | ||||
| ; Maximum amount of time in seconds to be waited before lock will be free, used by spawned processes (0 is infinite). | ||||
| ;wait_timeout = | ||||
		Reference in New Issue
	
	Block a user