mirror of
https://github.com/katanemo/plano.git
synced 2026-04-26 01:06:25 +02:00
arch schema validator (#105)
* add arch schema validator * schema validator
This commit is contained in:
parent
15869825e3
commit
41cdef590a
5 changed files with 165 additions and 3 deletions
|
|
@ -1,9 +1,11 @@
|
|||
import os
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
import yaml
|
||||
from jsonschema import validate
|
||||
|
||||
ENVOY_CONFIG_TEMPLATE_FILE = os.getenv('ENVOY_CONFIG_TEMPLATE_FILE', 'envoy.template.yaml')
|
||||
ARCH_CONFIG_FILE = os.getenv('ARCH_CONFIG_FILE', 'arch_config.yaml')
|
||||
ARCH_CONFIG_SCHEMA_FILE = os.getenv('ARCH_CONFIG_SCHEMA_FILE', 'arch_config_schema.yaml')
|
||||
ENVOY_CONFIG_FILE_RENDERED = os.getenv('ENVOY_CONFIG_FILE_RENDERED', '/usr/src/app/out/envoy.yaml')
|
||||
|
||||
env = Environment(loader=FileSystemLoader('./'))
|
||||
|
|
@ -12,7 +14,17 @@ template = env.get_template('envoy.template.yaml')
|
|||
with open(ARCH_CONFIG_FILE, 'r') as file:
|
||||
katanemo_config = file.read()
|
||||
|
||||
with open(ARCH_CONFIG_SCHEMA_FILE, 'r') as file:
|
||||
arch_config_schema = file.read()
|
||||
|
||||
config_yaml = yaml.safe_load(katanemo_config)
|
||||
config_schema_yaml = yaml.safe_load(arch_config_schema)
|
||||
|
||||
try:
|
||||
validate(config_yaml, config_schema_yaml)
|
||||
except Exception as e:
|
||||
print(f"Error validating arch_config file: {ARCH_CONFIG_FILE}, error: {e.message}")
|
||||
exit(1)
|
||||
|
||||
inferred_clusters = {}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue