def main():
    parser = ArgumentParser(description=_PROG_HELP)
    schema_values_common.add_to_argument_parser(parser)
    parser.add_argument('--output',
                        '-o',
                        help=_OUTPUT_HELP,
                        choices=[OUTPUT_SHELL_VARS, OUTPUT_YAML],
                        default=OUTPUT_YAML)
    parser.add_argument('--param',
                        help='If specified, outputs the value of a single '
                        'parameter unescaped. The value here is a JSON '
                        'which should partially match the parameter schema.')
    args = parser.parse_args()

    schema = schema_values_common.load_schema(args)
    values = schema_values_common.load_values(args)

    try:
        if args.param:
            definition = json.loads(args.param)
            sys.stdout.write(output_param(values, schema, definition))
            return

        if args.output == OUTPUT_SHELL_VARS:
            sys.stdout.write(output_shell_vars(values))
        elif args.output == OUTPUT_YAML:
            sys.stdout.write(output_yaml(values))
    finally:
        sys.stdout.flush()
Exemplo n.º 2
0
def main():
    parser = ArgumentParser(description=_PROG_HELP)
    schema_values_common.add_to_argument_parser(parser)
    parser.add_argument('--output',
                        '-o',
                        help=_OUTPUT_HELP,
                        choices=[OUTPUT_SHELL_VARS, OUTPUT_YAML],
                        default=OUTPUT_YAML)
    parser.add_argument(
        '--xtype',
        help='If specified, outputs the values of the given x-google-marketplace'
        ' property.')
    parser.add_argument(
        '--key', help='If specified, outputs the keys, rather than the values')
    args = parser.parse_args()

    schema = schema_values_common.load_schema(args)
    values = schema_values_common.load_values(args)

    try:
        if args.xtype:
            sys.stdout.write(output_xtype(values, schema, args.xtype,
                                          args.key))
            return

        if args.output == OUTPUT_SHELL_VARS:
            sys.stdout.write(output_shell_vars(values))
        elif args.output == OUTPUT_YAML:
            sys.stdout.write(output_yaml(values))
    finally:
        sys.stdout.flush()
Exemplo n.º 3
0
def main():
  parser = ArgumentParser(description=_PROG_HELP)
  schema_values_common.add_to_argument_parser(parser)
  parser.add_argument('command', help='Command to run')
  parser.add_argument('arguments', nargs='*', help='Arguments to the command')
  args = parser.parse_args()

  values = schema_values_common.load_values(args)
  # Convert values to strings to pass to subprocess.
  values = {k: str(v) for k, v in values.iteritems()}

  # Default env vars should NOT be passed on to the new environment.
  default_vars = [v.split('=')[0]
                  for v in subprocess.check_output(['env -0'],
                                                   env={},
                                                   shell=True).split('\0')
                  if v]
  command = (['/usr/bin/env'] +
             ['--unset={}'.format(v) for v in default_vars] +
             [args.command] +
             args.arguments)
  p = subprocess.Popen(command,
                       env=values,
                       stdin=subprocess.PIPE,
                       stdout=subprocess.PIPE,
                       stderr=subprocess.PIPE)
  stdoutdata, stderrdata = p.communicate(input=sys.stdin.read())
  if stdoutdata:
    sys.stdout.write(stdoutdata)
    sys.stdout.flush()
  if stderrdata:
    sys.stderr.write(stderrdata)
    sys.stderr.flush()
  sys.exit(p.returncode)
Exemplo n.º 4
0
def main():
  parser = ArgumentParser(description=_PROG_HELP)
  schema_values_common.add_to_argument_parser(
      parser, values_file='/data/values.yaml', values_dir='/data/values')
  parser.add_argument('--final_values_file',
                      help='Where the final value file should be written to',
                      default='/data/final_values.yaml')
  args = parser.parse_args()

  schema = schema_values_common.load_schema(args)
  values = schema_values_common.load_values(args)
  values = expand(values, schema)
  write_values(values, args.final_values_file)
def main():
    parser = ArgumentParser(description=_PROG_HELP)
    schema_values_common.add_to_argument_parser(parser)
    parser.add_argument('--deployer_image', required=True)
    parser.add_argument('--deployer_entrypoint', default=None)
    args = parser.parse_args()

    schema = schema_values_common.load_schema(args)
    values = schema_values_common.load_values(args)
    manifests = process(schema,
                        values,
                        deployer_image=args.deployer_image,
                        deployer_entrypoint=args.deployer_entrypoint)
    print yaml.safe_dump_all(manifests, default_flow_style=False, indent=2)
def main():
    parser = ArgumentParser(description=_PROG_HELP)
    schema_values_common.add_to_argument_parser(parser)
    parser.add_argument('--final_values_file',
                        help='Where the final value file should be written to',
                        default='/data/final_values.yaml')
    parser.add_argument(
        '--app_uid',
        help=
        'The application UID for populating into APPLICATION_UID properties',
        default='')
    args = parser.parse_args()

    schema = schema_values_common.load_schema(args)
    values = schema_values_common.load_values(args)
    values = expand(values, schema, app_uid=args.app_uid)
    write_values(values, args.final_values_file)
def main():
  parser = ArgumentParser(description=_PROG_HELP)
  schema_values_common.add_to_argument_parser(parser)
  parser.add_argument('--deployer_image', required=True)
  parser.add_argument('--deployer_entrypoint', default=None)
  parser.add_argument('--deployer_service_account_name', required=True)
  parser.add_argument('--version_repo', default=None)
  parser.add_argument('--image_pull_secret', default=None)
  args = parser.parse_args()

  schema = schema_values_common.load_schema(args)
  values = schema_values_common.load_values(args)
  manifests = process(
      schema,
      values,
      deployer_image=args.deployer_image,
      deployer_entrypoint=args.deployer_entrypoint,
      version_repo=args.version_repo,
      image_pull_secret=args.image_pull_secret,
      deployer_service_account_name=args.deployer_service_account_name)
  print(yaml.safe_dump_all(manifests, default_flow_style=False, indent=2))