cattle_grid.config
cattle_grid.config
Implements loading the configuration
auth
AuthConfig
Bases: BaseModel
Configures the Authorization layer
Parameters:
Name | Type | Description | Default |
---|---|---|---|
actor_id
|
str
|
|
required |
actor_acct_id
|
str
|
|
required |
public_key
|
str
|
|
required |
private_key
|
str
|
|
required |
domain_blocks
|
Set[str]
|
|
required |
require_signature_for_activity_pub
|
bool
|
|
True
|
Source code in cattle_grid/config/auth.py
actor_acct_id
instance-attribute
acct uri of the Application Actor used to fetch public keys
actor_id
instance-attribute
actor_id for the Application actor used to fetch public keys
domain_blocks
instance-attribute
Set of blocked domains
private_key
instance-attribute
Private key of the Application actor
public_key
instance-attribute
Public key of the Application actor
require_signature_for_activity_pub = True
class-attribute
instance-attribute
If set to true, all requests with accept type that match activitypub must be signed
get_auth_config(settings=get_settings())
cached
Returns the configuration for authorization
Returns:
Type | Description |
---|---|
AuthConfig
|
|
Source code in cattle_grid/config/auth.py
new_auth_config(actor_id, username=None)
Creates a new authorization configuration
Source code in cattle_grid/config/auth.py
save_auth_config(filename, config)
Saves the authorization configuration to a file
messaging
account_exchange(settings=get_settings())
cached
Returns the exchange used to distribute messages between accounts
Returns:
Type | Description |
---|---|
RabbitExchange
|
|
Source code in cattle_grid/config/messaging.py
broker(settings=get_settings())
exchange(settings=get_settings())
cached
internal_exchange(settings=get_settings())
cached
The internal exchange used to process ActivityPub messages related to the social graph
Returns:
Type | Description |
---|---|
RabbitExchange
|
|
Source code in cattle_grid/config/messaging.py
validators
account_validations = [Validator('account.forbidden_names', default=lambda a, b: list(['bovine', 'cattle_grid', 'admin', 'guest']), cast=list), Validator('account.allowed_name_regex', cast=str, default='^[a-zA-Z0-9_]{1,16}$')]
module-attribute
Validators for the account
activity_pub_validators = [Validator('activity_pub.internal_exchange', default='cattle_grid_internal'), Validator('activity_pub.exchange', default='cattle_grid'), Validator('activity_pub.account_exchange', default='amq.topic')]
module-attribute
Validators for ActivityPub
auth_validators = [Validator('auth.require_signature_for_activity_pub', default=True)]
module-attribute
Validates the authentication configuration
base_validators = [Validator('amqp_uri', default='amqp://localhost'), Validator('db_uri', default='sqlite://cattle_grid.db'), Validator('enable_reporting', cast=bool, default=False)]
module-attribute
Validates the basic configuration
extensions_validations = [Validator('extensions', default=lambda a, b: list([]), cast=list)]
module-attribute
Validators for the plugins
frontend_validations = [Validator('frontend.base_urls', default=lambda a, b: list([]), cast=lambda x: [str(y) for y in x], condition=lambda items: all(x.startswith('http://') or x.startswith('https://') for x in items))]
module-attribute
Validators for the frontend
gateway_admin_validations = [Validator('gateway.admin.enable', cast=bool, default=False), Validator('gateway.admin.enable_reset', cast=bool, default=False)]
module-attribute
Validators for the gateway
plugins_validations = [Validator('plugins', default=lambda a, b: list([]), cast=list)]
module-attribute
Validators for the plugins