mirror of
https://github.com/yannh/kubeconform.git
synced 2026-02-19 18:07:02 +00:00
Merge pull request #22 from PaytmLabs/feature/scripts/filename-format
scripts: Support for alternative filename format
This commit is contained in:
commit
75bfad4108
2 changed files with 13 additions and 2 deletions
|
|
@ -183,6 +183,8 @@ $ ./scripts/openapi2jsonschema.py https://raw.githubusercontent.com/aws/amazon-s
|
||||||
JSON schema written to trainingjob_v1.json
|
JSON schema written to trainingjob_v1.json
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The `FILENAME_FORMAT` environment variable can be used to change the output file name (Available variables: `kind`, `group`, `version`) (Default: `{kind}_{version}`).
|
||||||
|
|
||||||
### Speed comparison with Kubeval
|
### Speed comparison with Kubeval
|
||||||
|
|
||||||
Running on a pretty large kubeconfigs setup, on a laptop with 4 cores:
|
Running on a pretty large kubeconfigs setup, on a laptop with 4 cores:
|
||||||
|
|
|
||||||
|
|
@ -104,10 +104,15 @@ for crdFile in sys.argv[1:]:
|
||||||
if y["kind"] != "CustomResourceDefinition":
|
if y["kind"] != "CustomResourceDefinition":
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
filename_format = os.getenv("FILENAME_FORMAT", "{kind}_{version}")
|
||||||
filename = ""
|
filename = ""
|
||||||
schemaJSON = ""
|
schemaJSON = ""
|
||||||
if "spec" in y and "validation" in y["spec"] and "openAPIV3Schema" in y["spec"]["validation"]:
|
if "spec" in y and "validation" in y["spec"] and "openAPIV3Schema" in y["spec"]["validation"]:
|
||||||
filename = y["spec"]["names"]["kind"].lower()+"_"+y["spec"]["version"].lower()+".json"
|
filename = filename_format.format(
|
||||||
|
kind=y["spec"]["names"]["kind"],
|
||||||
|
group=y["spec"]["group"].split(".")[0],
|
||||||
|
version=y["spec"]["version"],
|
||||||
|
).lower() + ".json"
|
||||||
|
|
||||||
schema = y["spec"]["validation"]["openAPIV3Schema"]
|
schema = y["spec"]["validation"]["openAPIV3Schema"]
|
||||||
schema = additional_properties(schema)
|
schema = additional_properties(schema)
|
||||||
|
|
@ -116,7 +121,11 @@ for crdFile in sys.argv[1:]:
|
||||||
elif "spec" in y and "versions" in y["spec"]:
|
elif "spec" in y and "versions" in y["spec"]:
|
||||||
for version in y["spec"]["versions"]:
|
for version in y["spec"]["versions"]:
|
||||||
if "schema" in version and "openAPIV3Schema" in version["schema"]:
|
if "schema" in version and "openAPIV3Schema" in version["schema"]:
|
||||||
filename = y["spec"]["names"]["kind"].lower()+"_"+version["name"].lower()+".json"
|
filename = filename_format.format(
|
||||||
|
kind=y["spec"]["names"]["kind"],
|
||||||
|
group=y["spec"]["group"].split(".")[0],
|
||||||
|
version=version["name"],
|
||||||
|
).lower() + ".json"
|
||||||
|
|
||||||
schema = version["schema"]["openAPIV3Schema"]
|
schema = version["schema"]["openAPIV3Schema"]
|
||||||
schema = additional_properties(schema)
|
schema = additional_properties(schema)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue