mirror of
https://git.dn42.dev/dn42/registry.git
synced 2025-05-06 20:55:23 +08:00
remove .rpsl/config in favor of schema/SCHEMA-SCHEMA
This commit is contained in:
parent
26a13274ae
commit
78421585a5
7 changed files with 29 additions and 46 deletions
5
.gitignore
vendored
5
.gitignore
vendored
|
@ -3,7 +3,4 @@ lib/
|
|||
whoisd/
|
||||
__pycache__
|
||||
|
||||
/data/.rpsl/index
|
||||
/data/.rpsl/links
|
||||
/data/.rpsl/nettree
|
||||
/data/.rpsl/schema
|
||||
/data/.rpsl
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
namespace: dn42
|
||||
schema: schema
|
||||
owners: mntner
|
||||
default-owner: DN42-MNT
|
||||
primary-key: person nic-hdl
|
||||
primary-key: role nic-hdl
|
||||
primary-key: inetnum cidr
|
||||
primary-key: inet6num cidr
|
||||
network-owner: inet6num inet6num
|
||||
network-owner: inet6num inetnum
|
||||
network-owner: inetnum inetnum
|
||||
network-owner: inetnum route
|
||||
network-owner: inet6num route6
|
||||
mnt-by: DN42-MNT
|
||||
source: DN42
|
|
@ -1,10 +0,0 @@
|
|||
schema: NAMESPACE-SCHEMA
|
||||
ref: dn42.namespace
|
||||
key: namespace required single primary schema > [name]
|
||||
key: ns-schema required single > [schema]
|
||||
key: ns-owner required single > [schema]
|
||||
key: default-owner optional single lookup=dn42.mntner > [mntner]
|
||||
key: network-owner optional multiple > [parent-schema] [child-schema]
|
||||
key: primary-key optional multiple > [schema] [primary]
|
||||
mnt-by: DN42-MNT
|
||||
source: DN42
|
|
@ -1,15 +1,24 @@
|
|||
schema: SCHEMA-SCHEMA
|
||||
namespace: dn42
|
||||
primary-key: inetnum cidr
|
||||
primary-key: inet6num cidr
|
||||
primary-key: role nic-hdl
|
||||
primary-key: person nic-hdl
|
||||
namespace-owners: mntner
|
||||
ref: dn42.schema
|
||||
key: schema required single primary schema > [name]
|
||||
key: ref required single > [schema]
|
||||
key: key required multiple > [key-name]
|
||||
{required|optional|recommend|deprecate}
|
||||
{single|multiple} {primary|} {schema|}
|
||||
lookup=str '>' [spec]...
|
||||
key: mnt-by required multiple lookup=dn42.mntner > [mntner]
|
||||
key: remarks optional multiple > [text]...
|
||||
key: source required single lookup=dn42.registry
|
||||
key: network-owner optional multiple > [parent-schema]
|
||||
key: schema required single primary schema > [name]
|
||||
key: ref required single > [schema]
|
||||
key: namespace required single
|
||||
key: primary-key optional multiple > [schema] [key]
|
||||
key: namespace-owners required single > [schema]
|
||||
key: mnt-by required multiple lookup=dn42.mntner > [mntner]
|
||||
key: remarks optional multiple > [text]...
|
||||
key: source required single lookup=dn42.registry
|
||||
key: network-owner optional multiple > [parent-schema]
|
||||
key: key required multiple > [key-name]
|
||||
{required|optional|recommend|deprecate}
|
||||
{single|multiple} {primary|} {schema|}
|
||||
lookup= '>' [spec]...
|
||||
mnt-by: DN42-MNT
|
||||
source: DN42
|
||||
remarks: # option descriptions
|
||||
|
|
|
@ -26,12 +26,12 @@ class Config:
|
|||
@property
|
||||
def schema(self) -> str:
|
||||
"Get schema type name"
|
||||
return self._dom.get("schema", default="schema").value
|
||||
return self._dom.get("namespace-schema", default="schema").value
|
||||
|
||||
@property
|
||||
def owners(self) -> str:
|
||||
"Get owner type name"
|
||||
return self._dom.get("owner", default="mntner").value
|
||||
return self._dom.get("namespace-owner", default="mntner").value
|
||||
|
||||
@property
|
||||
def source(self) -> str:
|
||||
|
@ -120,10 +120,10 @@ class Config:
|
|||
"Build config from parameters"
|
||||
FileDOM.namespace = namespace
|
||||
dom = FileDOM()
|
||||
dom.src = os.path.join(path, "config")
|
||||
dom.src = os.path.join(path, ".rpsl/config")
|
||||
dom.put("namespace", namespace)
|
||||
dom.put("schema", schema)
|
||||
dom.put("owners", owners)
|
||||
dom.put("namespace-schema", schema)
|
||||
dom.put("namespace-owners", owners)
|
||||
dom.put("default-owner", default_owner)
|
||||
for (k, v) in primary_keys:
|
||||
dom.put("primary-key", f"{k} {v}", append=True)
|
||||
|
|
|
@ -251,6 +251,8 @@ def index_files(path: str) -> FileDOM:
|
|||
if root == path:
|
||||
continue
|
||||
if root.endswith(".rpsl"):
|
||||
dom = FileDOM.from_file(os.path.join(root, "config"))
|
||||
yield dom
|
||||
continue
|
||||
|
||||
for f in files:
|
||||
|
|
|
@ -44,12 +44,12 @@ def run(args: List[str], env: Dict[str, str]) -> int:
|
|||
return 1
|
||||
|
||||
rpsl_dir = env.get("WORKING_DIR")
|
||||
schema_dir = os.path(rpsl_dir, "schema")
|
||||
schema_dir = os.path.join(rpsl_dir, "schema")
|
||||
|
||||
network_owners, primary_keys = {}, {}
|
||||
if os.path.exists(schema_dir):
|
||||
network_owners, primary_keys = _parse_schema(schema_dir)
|
||||
|
||||
print(rpsl_dir)
|
||||
rpsl = Config.build(path=rpsl_dir,
|
||||
namespace=opts.namespace,
|
||||
schema=opts.schema,
|
||||
|
|
Loading…
Add table
Reference in a new issue