from .Template import Template class OAuth (Template): def __init__(self, base_app_url: str, app_abbreviation: str, app_name: str, service_name: str, dev_port: str, app_reg_contact_email: str): """A class for creating a/some template(s) related to OAuth implementation.""" self.base_app_url = base_app_url self.app_abbreviation = app_abbreviation self.app_name = app_name self.service_name = service_name self.dev_port = dev_port self.app_reg_contact_email = app_reg_contact_email def write(self): with open('templates/oauth-credentials-config-map.yaml', 'w') as f: f.write('apiVersion: v1' + '\n') f.write('kind: ConfigMap' + '\n') f.write('metadata:' + '\n') f.write(' ' + 'name: {{ .Release.Name }}-oauth-credentials' + '\n') f.write(' ' + 'labels:' + '\n') f.write(' ' + ' ' + 'app: {{ .Release.Name }}' + '\n') f.write('data:' + '\n') f.write(' ' + 'base-app-url: {{ .Values.oauth.baseAppUrl }}' + '\n') f.write(' ' + 'app-abbreviation: {{ .Values.oauth.appAbbreviation }}' + '\n') f.write(' ' + 'app-name: {{ .Values.oauth.appName }}' + '\n') f.write(' ' + 'service-name: {{ .Values.oauth.serviceName }}' + '\n') f.write(' ' + 'dev-port: {{ .Values.oauth.devPort | quote }}' + '\n') f.write(' ' + 'app-reg-contact-email: {{ .Values.oauth.appRegContactEmail }}' + '\n') with open('templates/_oauth.tpl', 'w') as f: f.write('{{- define "oauth.envVars" -}}' + '\n') f.write('# OAuth Implementation Stuff' + '\n') f.write('- name: BASE_APP_URL' + '\n') f.write(' ' + 'valueFrom:' + '\n') f.write(' ' + ' ' + 'configMapKeyRef:' + '\n') f.write(' ' + ' ' + ' ' + 'name: {{ .Release.Name }}-oauth-credentials' + '\n') f.write(' ' + ' ' + ' ' + 'key: base-app-url' + '\n') f.write('- name: APP_ABBRV' + '\n') f.write(' ' + 'valueFrom:' + '\n') f.write(' ' + ' ' + 'configMapKeyRef:' + '\n') f.write(' ' + ' ' + ' ' + 'name: {{ .Release.Name }}-oauth-credentials' + '\n') f.write(' ' + ' ' + ' ' + 'key: app-abbreviation' + '\n') f.write('- name: APP_NAME' + '\n') f.write(' ' + 'valueFrom:' + '\n') f.write(' ' + ' ' + 'configMapKeyRef:' + '\n') f.write(' ' + ' ' + ' ' + 'name: {{ .Release.Name }}-oauth-credentials' + '\n') f.write(' ' + ' ' + ' ' + 'key: app-name' + '\n') f.write('- name: SERVICE_NAME' + '\n') f.write(' ' + 'valueFrom:' + '\n') f.write(' ' + ' ' + 'configMapKeyRef:' + '\n') f.write(' ' + ' ' + ' ' + 'name: {{ .Release.Name }}-oauth-credentials' + '\n') f.write(' ' + ' ' + ' ' + 'key: service-name' + '\n') f.write('- name: DEV_PORT' + '\n') f.write(' ' + 'valueFrom:' + '\n') f.write(' ' + ' ' + 'configMapKeyRef:' + '\n') f.write(' ' + ' ' + ' ' + 'name: {{ .Release.Name }}-oauth-credentials' + '\n') f.write(' ' + ' ' + ' ' + 'key: dev-port' + '\n') f.write('- name: APP_REG_CONTACT_EMAIL' + '\n') f.write(' ' + 'valueFrom:' + '\n') f.write(' ' + ' ' + 'configMapKeyRef:' + '\n') f.write(' ' + ' ' + ' ' + 'name: {{ .Release.Name }}-oauth-credentials' + '\n') f.write(' ' + ' ' + ' ' + 'key: app-reg-contact-email' + '\n') f.write('{{- end -}}')