Last active
February 1, 2021 12:18
-
-
Save shuckc/6c25a94290e384084a9d9fb139082ded to your computer and use it in GitHub Desktop.
Merge multiple kube config files to a single file (manage multiple clusters)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import argparse | |
import yaml | |
parser = argparse.ArgumentParser() | |
parser.add_argument('files', metavar='YAMLFILES', type=argparse.FileType('r'), nargs='*') | |
args = parser.parse_args() | |
y = {'apiVersion': 'v1', 'kind': 'Config', 'clusters': [],'contexts': [], | |
'current-context': 'dev-eu-west-1-aws-bitmex', 'preferences': {}, 'users': []} | |
for a in args.files: | |
f = yaml.load(a, Loader=yaml.Loader) | |
y['clusters'].append(f['clusters'][0]) | |
y['contexts'].append(f['contexts'][0]) | |
y['users'].append(f['users'][0]) | |
y['current-context'] = f['contexts'][0]['name'] | |
print(yaml.dump(y, Dumper=yaml.Dumper)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Usage: