mirror of
https://github.com/goauthentik/authentik
synced 2026-04-25 17:15:26 +02:00
* re-instate previously flaky test Signed-off-by: Jens Langhammer <jens@goauthentik.io> * break up big file Signed-off-by: Jens Langhammer <jens@goauthentik.io> * move geoip data to subdir Signed-off-by: Jens Langhammer <jens@goauthentik.io> * i am but a weak man Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix ldap disconnect in testing Signed-off-by: Jens Langhammer <jens@goauthentik.io> * account for mismatched uid due to test server process Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
92 lines
2.3 KiB
Python
Executable File
92 lines
2.3 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""Generate config for development"""
|
|
|
|
from typing import Any
|
|
|
|
from yaml import safe_dump
|
|
|
|
from authentik.lib.generators import generate_id
|
|
|
|
|
|
def generate_local_config() -> dict[str, Any]:
|
|
"""Generate a local development configuration"""
|
|
# TODO: This should be generated and validated against a schema, such as Pydantic.
|
|
|
|
return {
|
|
"debug": True,
|
|
"log_level": "debug",
|
|
"secret_key": generate_id(),
|
|
"postgresql": {
|
|
"user": "postgres",
|
|
},
|
|
"outposts": {
|
|
"container_image_base": "ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)s",
|
|
"disable_embedded_outpost": False,
|
|
},
|
|
"blueprints_dir": "./blueprints",
|
|
"cert_discovery_dir": "./certs",
|
|
"events": {
|
|
"processors": {
|
|
"geoip": "tests/geoip/GeoLite2-City-Test.mmdb",
|
|
"asn": "tests/geoip/GeoLite2-ASN-Test.mmdb",
|
|
}
|
|
},
|
|
"storage": {
|
|
"backend": "file",
|
|
"s3": {
|
|
"endpoint": "http://localhost:8020",
|
|
"access_key": "accessKey1",
|
|
"secret_key": "secretKey1",
|
|
"bucket_name": "authentik-media",
|
|
"custom_domain": "localhost:8020/authentik-media",
|
|
"secure_urls": False,
|
|
},
|
|
},
|
|
"tenants": {
|
|
"enabled": False,
|
|
"api_key": generate_id(),
|
|
},
|
|
"worker": {
|
|
"processes": 1,
|
|
"threads": 1,
|
|
"consumer_listen_timeout": "seconds=10",
|
|
"scheduler_interval": "seconds=30",
|
|
},
|
|
}
|
|
|
|
|
|
if __name__ == "__main__":
|
|
config_file_name = "local.env.yml"
|
|
|
|
with open(config_file_name, "w", encoding="utf-8") as _config:
|
|
_config.write("""
|
|
# Local authentik configuration overrides
|
|
#
|
|
# https://docs.goauthentik.io/docs/install-config/configuration/
|
|
#
|
|
# To regenerate this file, run the following command from the repository root:
|
|
#
|
|
# ```shell
|
|
# make gen-dev-config
|
|
# ```
|
|
|
|
""")
|
|
|
|
safe_dump(
|
|
generate_local_config(),
|
|
_config,
|
|
default_flow_style=False,
|
|
)
|
|
|
|
print(f"""
|
|
---
|
|
|
|
Generated configuration file: {config_file_name}
|
|
|
|
For more information on how to use this configuration, see:
|
|
|
|
https://docs.goauthentik.io/docs/install-config/configuration/
|
|
|
|
---
|
|
""")
|