-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCreateConfigMap.py
90 lines (78 loc) · 2.64 KB
/
CreateConfigMap.py
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# -*- coding: utf-8 -*-
"""
Created on July 14 2020
@author: Thomas Beha
"""
from cryptography.fernet import Fernet
import getpass
from lxml import etree
uname = input("Username: ")
password = getpass.getpass()
ovc = input("OVC IP Addr: ")
name = input("Name: ")
port = input("Connector Port: ")
logfile = name+'.log'
key = Fernet.generate_key()
f = Fernet(key)
token = f.encrypt(password.encode('ASCII'))
user = f.encrypt(uname.encode('ASCII'))
f = open(name+'.yml','w')
f.write('apiVersion: v1 \n')
f.write('kind: ConfigMap \n')
f.write('metadata: \n')
f.write(' name: '+name+'-xml \n')
f.write(' namespace: svtprometheus \n')
f.write('data: \n')
f.write(' svtconnector.key: |- \n')
f.write(' '+key.decode('ASCII')+'\n')
f.write(' svtconnector.xml: |- \n')
f.write(' <data> \n')
f.write(' <username>'+uname+'</username>\n')
f.write(' <user>'+user.decode('ASCII')+'</user>\n')
f.write(' <password>'+token.decode('ASCII')+'</password>\n')
f.write(' <ovc>'+ovc+'</ovc>\n')
f.write(' <timerange>30</timerange>\n')
f.write(' <resolution>SECOND</resolution>\n')
f.write(' <monitoringintervall>30</monitoringintervall>\n')
f.write(' <logfile>'+logfile+'</logfile>\n')
f.write(' <port>'+port+'</port>\n')
f.write(' <monitor>fcn</monitor>\n')
f.write(' <cluster></cluster>\n')
f.write(' <limit>500</limit>\n')
f.write(' <offset>-1</offset>\n')
f.write(' </data>\n')
f.close()
f = open(name+'.key','w')
f.write(key.decode('ASCII'))
f.close()
f = open(name+'.xml','w')
f.write(' <data> \n')
f.write(' <username>'+uname+'</username>\n')
f.write(' <user>'+user.decode('ASCII')+'</user>\n')
f.write(' <password>'+token.decode('ASCII')+'</password>\n')
f.write(' <ovc>'+ovc+'</ovc>\n')
f.write(' <timerange>30</timerange>\n')
f.write(' <resolution>SECOND</resolution>\n')
f.write(' <monitoringintervall>30</monitoringintervall>\n')
f.write(' <logfile>'+logfile+'</logfile>\n')
f.write(' <port>'+port+'</port>\n')
f.write(' <monitor>fcn</monitor>\n')
f.write(' <cluster></cluster>\n')
f.write(' <limit>-1</limit>\n')
f.write(' <offset>0</offset>\n')
f.write(' </data>\n')
f.close()
""" Test the keys """
""" Read keyfile """
f = open(name+'.key', 'r')
k2=f.readline()
f.close()
key2=k2.encode('ASCII')
""" Parse XML File """
tree = etree.parse(name+'.xml')
u2=(tree.find("user")).text
p2=(tree.find("password")).text
f = Fernet(key2)
user = f.decrypt(u2.encode('ASCII')).decode('ASCII')
password = f.decrypt(p2.encode('ASCII')).decode('ASCII')
print(user,password)