2024-09-28 16:57:21 +02:00
|
|
|
"""
|
|
|
|
A RESTful HTTP API for nftables
|
|
|
|
Copyright 2024, Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
|
|
|
|
|
|
|
|
Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence").
|
|
|
|
You may not use this work except in compliance with the Licence.
|
|
|
|
An English copy of the Licence is shipped in a file called LICENSE along with this applications source code.
|
|
|
|
You may obtain copies of the Licence in any of the official languages at https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12.
|
|
|
|
"""
|
|
|
|
|
2024-09-28 16:42:46 +02:00
|
|
|
from os import getenv
|
|
|
|
|
2024-09-28 16:57:21 +02:00
|
|
|
from yaml import safe_load
|
|
|
|
|
2024-09-28 16:42:46 +02:00
|
|
|
configpath = getenv('NFT-API-CONFIG')
|
|
|
|
if not configpath:
|
|
|
|
raise RuntimeError('NFT-API-CONFIG is not set')
|
|
|
|
|
|
|
|
with open(configpath) as fh:
|
|
|
|
configdata = safe_load(fh)
|
|
|
|
|
|
|
|
config = configdata.get('nft-api', {})
|
|
|
|
|
|
|
|
if not config:
|
|
|
|
raise RuntimeError('Invalid configuration data')
|