class WarpEngine::Configuration
The engine’s settings, held once per process in WarpEngine.config and written by WarpEngine.configure (directly or through WarpEngine::Configuration::DSL). Every attribute has a working default.
Attributes
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
Replaces the WarpEngine::AdminApi::Configuration returned by admin_api.
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The registered non-builtin platforms: a Hash of name to WarpEngine::Platform::Registration, filled by register_platform.
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
The plain settings, each readable and writable:
site_url-
base URL of the host site; the admin links a software to its public page from here (default
nil: no link) file_container_path-
directory the build artifacts live under (default
ENV["FILE_CONTAINER_PATH"]or/softwares) update_secret-
shared secret for the
/build/*endpoints (defaultENV["UPDATE_SECRET"];nilrejects every request) application_token_source-
:env(the shared secret) or:database(WarpEngine::ApplicationTokenrecords) as the/build/*authentication (default:env) application_token_owner_class-
class name of the owner every database application token belongs to
max_upload_size-
upload size cap in bytes (default 500 MB)
enforce_software_ownership-
when
true, a database token may only upload or publish softwares of its own owner (defaultfalse) ci_adapter-
the
CIadapter::woodpecker(default, from ENV),:gitlab,:noneor an adapter object (seeWarpEngine::CI.adapter) image_class_name-
class name of the host’s image model (default
"Image") image_adapter-
the image adapter;
nilusesWarpEngine::Images::HostModel storage_adapter-
the storage adapter:
:local(default) or an adapter object access_policy-
the access policy:
:open(default) or a policy object access_token_owner_class-
class name of the client sign-in subject;
nil(default) disables sign-in subject_resolver-
callable taking the request and returning the session subject, or
nil identity_verification_url-
the page a user approves a device code on
device_code_ttl-
device code lifetime in seconds (default 600)
device_code_interval-
minimum polling interval for device codes in seconds (default 5)
ignored_user_agents-
user agent patterns (strings with
*wildcards or regexps) the download statistics leave out (default empty) catalog_page_size-
catalog page size when the client names none (default 48)
catalog_max_page_size-
the largest catalog page a client may ask for (default 200)
additional_resources-
the
WarpEngine::AdditionalResourcelist (default empty) - shelves
-
the shelf definitions as hashes (see
WarpEngine::Shelves; default empty)
Public Class Methods
Source
# File lib/warp_engine/configuration.rb, line 68 def initialize @site_url = nil @file_container_path = ENV.fetch("FILE_CONTAINER_PATH", "/softwares") @update_secret = ENV["UPDATE_SECRET"] @application_token_source = :env @application_token_owner_class = nil @max_upload_size = 500 * 1024 * 1024 @enforce_software_ownership = false @ci_adapter = :woodpecker @image_class_name = "Image" @image_adapter = nil @storage_adapter = :local @access_policy = :open @access_token_owner_class = nil @subject_resolver = nil @identity_verification_url = nil @device_code_ttl = 600 @device_code_interval = 5 @ignored_user_agents = [] @catalog_page_size = 48 @catalog_max_page_size = 200 @additional_resources = [] @shelves = [] @platforms = {} end
Creates a configuration with every setting at its default.
Public Instance Methods
Source
# File lib/warp_engine/configuration.rb, line 119 def admin_api @admin_api ||= AdminApi::Configuration.new end
Returns the WarpEngine::AdminApi::Configuration, creating it with its defaults on first use.
Source
# File lib/warp_engine/configuration.rb, line 126 def ignored_user_agent?(ua) return false if ua.blank? @_ignored_ua_patterns ||= Array(@ignored_user_agents).map do |pattern| pattern.is_a?(Regexp) ? pattern : Regexp.new("\\A#{Regexp.escape(pattern).gsub("\\*", ".*")}\\z", Regexp::IGNORECASE) end @_ignored_ua_patterns.any? { |re| re.match?(ua) } end
Returns true when the user agent string ua matches one of ignored_user_agents (wildcard strings match case-insensitively and in full); false for a blank ua.
Source
# File lib/warp_engine/configuration.rb, line 137 def ignored_user_agents=(value) @ignored_user_agents = value @_ignored_ua_patterns = nil end
Sets the ignored user agent patterns and drops the compiled pattern cache.
# File lib/warp_engine/configuration.rb, line 104 def register_platform(name, service:, built_kinds: [], templates: {}, version_source: nil) name = name.to_s raise ArgumentError, "platform name #{name.inspect} must match #{Platform::FORMAT.inspect}" unless name.match?(Platform::FORMAT) @platforms[name] = Platform::Registration.new( name: name, service: service.to_s, built_kinds: Array(built_kinds).map(&:to_s), templates: templates.to_h.to_h { |adapter, path| [ adapter.to_sym, Pathname.new(path.to_s) ] }, version_source: version_source&.to_s ) end
Registers (or replaces) a platform the engine does not ship.
- name
-
the platform name; must match
WarpEngine::Platform::FORMAT - service
-
class (or class name) of the platform service
- built_kinds
-
the asset kinds the platform’s
CIpipeline builds - templates
-
CIpipeline templates as a Hash of adapter name to template path - version_source
-
shell command printing the source version in
CI, ornilfor the default
Returns the stored WarpEngine::Platform::Registration. Raises ArgumentError when the name is malformed.