1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
#!/usr/bin/python3
from __future__ import print_function
import argparse
import ssg.environment
import ssg.templates
def parse_args():
p = argparse.ArgumentParser()
p.add_argument(
"--build-config-yaml", required=True,
help="YAML file with information about the build configuration. "
"e.g.: ~/scap-security-guide/build/build_config.yml"
)
p.add_argument(
"--product-yaml", required=True,
help="YAML file with information about the product we are building. "
"e.g.: ~/scap-security-guide/rhel9/product.yml"
)
p.add_argument(
"--resolved-rules-dir", required=True,
help="Directory with <rule-id>.yml resolved rule YAMLs. "
"e.g.: ~/scap-security-guide/build/rhel9/rules"
)
p.add_argument(
"--templates-dir", required=True,
help="Path to directory which contains content templates. "
"e.g.: ~/scap-security-guide/shared/templates"
)
p.add_argument(
"--checks-dir", required=True,
help="Path to which OVAL checks will be generated. "
"e.g.: ~/scap-security-guide/build/rhel9/checks"
)
p.add_argument(
"--platforms-dir", required=True,
help="Path to directory which contains prebuilt platforms. "
"e.g.: ~/scap-security-guide/build/rhel9/platforms"
)
p.add_argument(
"--cpe-items-dir", required=True,
help="Path to directory which contains compiled CPE items. "
"e.g.: ~/scap-security-guide/build/rhel9/cpe_items"
)
p.add_argument(
"--remediations-dir", required=True,
help="Path to which remediations will be generated. "
"e.g.: ~/scap-security-guide/build/rhel9/fixes_from_templates"
)
args = p.parse_args()
return args
if __name__ == "__main__":
args = parse_args()
env_yaml = ssg.environment.open_environment(
args.build_config_yaml, args.product_yaml)
builder = ssg.templates.Builder(
env_yaml, args.resolved_rules_dir, args.templates_dir,
args.remediations_dir, args.checks_dir, args.platforms_dir, args.cpe_items_dir)
builder.build()
|