diff --git a/freeleaps/helm-pkg/notification/Chart.yaml b/freeleaps/helm-pkg/notification/Chart.yaml new file mode 100644 index 00000000..18c97fd3 --- /dev/null +++ b/freeleaps/helm-pkg/notification/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: notification +description: A Helm Chart of notification service, which part of Freeleaps Platform, powered by Freeleaps. +type: application +version: 0.0.1 +appVersion: "0.0.1" diff --git a/freeleaps/helm-pkg/notification/templates/certificate.yaml b/freeleaps/helm-pkg/notification/templates/certificate.yaml new file mode 100644 index 00000000..b970313f --- /dev/null +++ b/freeleaps/helm-pkg/notification/templates/certificate.yaml @@ -0,0 +1,27 @@ +{{ $namespace := .Release.Namespace }} +{{ $appVersion := .Chart.AppVersion | quote }} +{{ $releaseCertificate := .Release.Service }} +{{ $releaseName := .Release.Name }} +{{- range $ingress := .Values.notification.ingresses }} +{{- if not $ingress.tls.exists }} +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: {{ $ingress.name }} + namespace: {{ $namespace }} + labels: + app.kubernetes.io/version: {{ $appVersion }} + app.kubernetes.io/name: {{ $ingress.name | quote }} + app.kubernetes.io/managed-by: {{ $releaseCertificate }} + app.kubernetes.io/instance: {{ $releaseName }} +spec: + commonName: {{ $ingress.host }} + dnsNames: + - {{ $ingress.host }} + issuerRef: + name: {{ $ingress.tls.issuerRef.name }} + kind: {{ $ingress.tls.issuerRef.kind }} + secretName: {{ $ingress.tls.name }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/freeleaps/helm-pkg/notification/templates/deployment.yaml b/freeleaps/helm-pkg/notification/templates/deployment.yaml new file mode 100644 index 00000000..a9a5cb81 --- /dev/null +++ b/freeleaps/helm-pkg/notification/templates/deployment.yaml @@ -0,0 +1,98 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + app.kubernetes.io/name: "notification" + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: "notification" + namespace: {{ .Release.Namespace | quote }} +spec: + selector: + matchLabels: + app.kubernetes.io/name: "notification" + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + replicas: {{ .Values.notification.replicas }} + template: + metadata: + labels: + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + app.kubernetes.io/name: "notification" + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + spec: + containers: + - name: "notification" + image: "{{ coalesce .Values.notification.image.registry .Values.global.registry "docker.io"}}/{{ coalesce .Values.notification.image.repository .Values.global.repository }}/{{ .Values.notification.image.name }}:{{ .Values.notification.image.tag | default "latest" }}" + imagePullPolicy: {{ .Values.notification.image.imagePullPolicy | default "IfNotPresent" }} + ports: + {{- range $port := .Values.notification.ports }} + - containerPort: {{ $port.containerPort }} + name: {{ $port.name }} + protocol: {{ $port.protocol }} + {{- end }} + {{- if .Values.notification.resources }} + resources: + {{- toYaml .Values.notification.resources | nindent 12 }} + {{- end }} + {{- if .Values.notification.probes }} + {{- if and (.Values.notification.probes.liveness) (eq .Values.notification.probes.liveness.type "httpGet") }} + livenessProbe: + httpGet: + path: {{ .Values.notification.probes.liveness.config.path }} + port: {{ .Values.notification.probes.liveness.config.port }} + {{- if .Values.notification.probes.liveness.config.initialDelaySeconds }} + initialDelaySeconds: {{ .Values.notification.probes.liveness.config.initialDelaySeconds }} + {{- end }} + {{- if .Values.notification.probes.liveness.config.periodSeconds }} + periodSeconds: {{ .Values.notification.probes.liveness.config.periodSeconds }} + {{- end }} + {{- if .Values.notification.probes.liveness.config.timeoutSeconds }} + timeoutSeconds: {{ .Values.notification.probes.liveness.config.timeoutSeconds }} + {{- end }} + {{- if .Values.notification.probes.liveness.config.successThreshold }} + successThreshold: {{ .Values.notification.probes.liveness.config.successThreshold }} + {{- end }} + {{- if .Values.notification.probes.liveness.config.failureThreshold }} + failureThreshold: {{ .Values.notification.probes.liveness.config.failureThreshold }} + {{- end }} + {{- if .Values.notification.probes.liveness.config.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ .Values.notification.probes.liveness.config.terminationGracePeriodSeconds }} + {{- end }} + {{- end }} + {{- if and (.Values.notification.probes.readiness) (eq .Values.notification.probes.readiness.type "httpGet") }} + readinessProbe: + httpGet: + path: {{ .Values.notification.probes.readiness.config.path }} + port: {{ .Values.notification.probes.readiness.config.port }} + {{- if .Values.notification.probes.readiness.config.initialDelaySeconds }} + initialDelaySeconds: {{ .Values.notification.probes.readiness.config.initialDelaySeconds }} + {{- end }} + {{- if .Values.notification.probes.readiness.config.periodSeconds }} + periodSeconds: {{ .Values.notification.probes.readiness.config.periodSeconds }} + {{- end }} + {{- if .Values.notification.probes.readiness.config.timeoutSeconds }} + timeoutSeconds: {{ .Values.notification.probes.readiness.config.timeoutSeconds }} + {{- end }} + {{- if .Values.notification.probes.readiness.config.successThreshold }} + successThreshold: {{ .Values.notification.probes.readiness.config.successThreshold }} + {{- end }} + {{- if .Values.notification.probes.readiness.config.failureThreshold }} + failureThreshold: {{ .Values.notification.probes.readiness.config.failureThreshold }} + {{- end }}:% + {{- if .Values.notification.probes.readiness.config.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ .Values.notification.probes.readiness.config.terminationGracePeriodSeconds }} + {{- end }} + {{- end }} + {{- end}} + env: + {{- range $key, $value := .Values.notification.configs }} + - name: {{ $key | snakecase | upper }} + valueFrom: + secretKeyRef: + name: notification-config + key: {{ $key | snakecase | upper }} + {{- end }} \ No newline at end of file diff --git a/freeleaps/helm-pkg/notification/templates/ingress.yaml b/freeleaps/helm-pkg/notification/templates/ingress.yaml new file mode 100644 index 00000000..ac0c7cc1 --- /dev/null +++ b/freeleaps/helm-pkg/notification/templates/ingress.yaml @@ -0,0 +1,36 @@ +{{ $namespace := .Release.Namespace }} +{{ $appVersion := .Chart.AppVersion | quote }} +{{ $releaseIngress := .Release.Service }} +{{ $releaseName := .Release.Name }} +{{- range $ingress := .Values.notification.ingresses }} +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ $ingress.name }} + namespace: {{ $namespace }} + labels: + app.kubernetes.io/version: {{ $appVersion }} + app.kubernetes.io/name: {{ $ingress.name | quote }} + app.kubernetes.io/managed-by: {{ $releaseIngress }} + app.kubernetes.io/instance: {{ $releaseName }} +spec: +{{- if $ingress.class }} + ingressClassName: {{ $ingress.class }} +{{- end }} +{{- if $ingress.tls }} + tls: + - hosts: + - {{ $ingress.host }} +{{- if $ingress.tls.exists }} + secretName: {{ $ingress.tls.secretRef.name }} +{{- else }} + secretName: {{ $ingress.tls.name }} +{{- end }} +{{- end }} + rules: + - host: {{ $ingress.host }} + http: + paths: +{{- toYaml $ingress.rules | nindent 10 }} +{{- end }} \ No newline at end of file diff --git a/freeleaps/helm-pkg/notification/templates/notification-config.yaml b/freeleaps/helm-pkg/notification/templates/notification-config.yaml new file mode 100644 index 00000000..f3711be7 --- /dev/null +++ b/freeleaps/helm-pkg/notification/templates/notification-config.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: Secret +metadata: + name: notification-config + namespace: {{ .Release.Namespace }} +type: Opaque +data: + TZ: {{ .Values.notification.configs.tz | b64enc | quote }} + APP_NAME: {{ .Values.notification.configs.appName | b64enc | quote }} + SERVICE_API_ACCESS_HOST: {{ .Values.notification.configs.serviceApiAccessHost | b64enc | quote }} + SERVICE_API_ACCESS_PORT: {{ .Values.notification.configs.serviceApiAccessPort | b64enc | quote }} + RABBITMQ_HOST: {{ .Values.notification.configs.rabbitmqHost | b64enc | quote }} + RABBITMQ_PORT: {{ .Values.notification.configs.rabbitmqPort | b64enc | quote }} + SYSTEM_USER_ID: {{ .Values.notification.configs.systemUserId | b64enc | quote }} + SMS_FROM: {{ .Values.notification.configs.smsFrom | b64enc | quote }} + EMAIL_FROM: {{ .Values.notification.configs.emailFrom | b64enc | quote }} + SECRET_KEY: {{ .Values.notification.configs.secretKey | b64enc | quote }} + SENDGRID_API_KEY: {{ .Values.notification.configs.sendgridApiKey | b64enc | quote }} + TWILIO_ACCOUNT_SID: {{ .Values.notification.configs.twilioAccountSid | b64enc | quote }} + TWILIO_AUTH_TOKEN: {{ .Values.notification.configs.twilioAuthToken | b64enc | quote }} + \ No newline at end of file diff --git a/freeleaps/helm-pkg/notification/templates/service.yaml b/freeleaps/helm-pkg/notification/templates/service.yaml new file mode 100644 index 00000000..a8b1d9f4 --- /dev/null +++ b/freeleaps/helm-pkg/notification/templates/service.yaml @@ -0,0 +1,26 @@ +{{ $namespace := .Release.Namespace }} +{{ $appVersion := .Chart.AppVersion | quote }} +{{ $releaseService := .Release.Service }} +{{ $releaseName := .Release.Name }} +{{- range $service := .Values.notification.services }} +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ $service.name }} + namespace: {{ $namespace }} + labels: + app.kubernetes.io/version: {{ $appVersion }} + app.kubernetes.io/name: {{ $service.name | quote }} + app.kubernetes.io/managed-by: {{ $releaseService }} + app.kubernetes.io/instance: {{ $releaseName }} +spec: + ports: + - port: {{ $service.port }} + targetPort: {{ $service.targetPort }} + selector: + app.kubernetes.io/version: {{ $appVersion }} + app.kubernetes.io/name: "notification" + app.kubernetes.io/managed-by: {{ $releaseService }} + app.kubernetes.io/instance: {{ $releaseName }} +{{- end }} \ No newline at end of file diff --git a/freeleaps/helm-pkg/notification/values.alpha.yaml b/freeleaps/helm-pkg/notification/values.alpha.yaml index e69de29b..68c0efb3 100644 --- a/freeleaps/helm-pkg/notification/values.alpha.yaml +++ b/freeleaps/helm-pkg/notification/values.alpha.yaml @@ -0,0 +1,76 @@ +global: + registry: docker.io + repository: freeleaps + nodeSelector: {} +content: + replicas: 1 + image: + registry: + repository: freeleaps + name: notification + tag: 1.0.0 + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 8003 + protocol: TCP + resources: + requests: + cpu: "0.5" + memory: "512Mi" + limits: + cpu: "1" + memory: "1Gi" + # FIXME: Wait until the developers implements the probes APIs + probes: {} + services: + - name: notification-service + type: ClusterIP + port: 8003 + targetPort: 8003 + # Defaults to {}, which means doesn't have any ingress + ingresses: + - name: notification-ingress + host: alpha.notification.freeleaps.mathmast.com + class: nginx + rules: + - path: "/*" + pathType: ImplementationSpecific + backend: + service: + name: notification-service + port: + number: 8003 + tls: + exists: false + issuerRef: + name: mathmast-dot-com + kind: ClusterIssuer + name: alpha.notification.freeleaps.mathmast.com-cert" + configs: + # TZ + tz: "America/Settle" + # APP_NAME + appName: "notification" + # SERVICE_API_ACCESS_HOST + serviceApiAccessHost: "0.0.0.0" + # SERVICE_API_ACCESS_PORT + serviceApiAccessPort: "8003" + # RABBITMQ_HOST + rabbitmqHost: "" + # RABBITMQ_PORT + rabbitmqPort: "" + # SYSTEM_USER_ID + systemUserId: "" + # SMS_FROM + smsFrom: "" + # EMAIL_FROM + emailFrom: "" + # SECRET_KEY + secretKey: "" + # SENDGRID_API_KEY + sendgridApiKey: "" + # TWILIO_ACCOUNT_SID + twilioAccountSid: "" + # TWILIO_AUTH_TOKEN + twilioAuthToken: "" \ No newline at end of file diff --git a/freeleaps/helm-pkg/notification/values.yaml b/freeleaps/helm-pkg/notification/values.yaml new file mode 100644 index 00000000..1f27dfcb --- /dev/null +++ b/freeleaps/helm-pkg/notification/values.yaml @@ -0,0 +1,59 @@ +global: + registry: docker.io + repository: freeleaps + nodeSelector: {} +notification: + replicas: 1 + image: + registry: + repository: freeleaps + name: notification + tag: 1.0.0 + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 8003 + protocol: TCP + resources: + requests: + cpu: "0.5" + memory: "512Mi" + limits: + cpu: "1" + memory: "1Gi" + # FIXME: Wait until the developers implements the probes APIs + probes: {} + services: + - name: notification-service + type: ClusterIP + port: 8003 + targetPort: 8003 + # Defaults to {}, which means doesn't have any ingress + ingresses: {} + configs: + # TZ + tz: "America/Settle" + # APP_NAME + appName: "notification" + # SERVICE_API_ACCESS_HOST + serviceApiAccessHost: "0.0.0.0" + # SERVICE_API_ACCESS_PORT + serviceApiAccessPort: "8003" + # RABBITMQ_HOST + rabbitmqHost: "" + # RABBITMQ_PORT + rabbitmqPort: "" + # SYSTEM_USER_ID + systemUserId: "" + # SMS_FROM + smsFrom: "" + # EMAIL_FROM + emailFrom: "" + # SECRET_KEY + secretKey: "" + # SENDGRID_API_KEY + sendgridApiKey: "" + # TWILIO_ACCOUNT_SID + twilioAccountSid: "" + # TWILIO_AUTH_TOKEN + twilioAuthToken: "" \ No newline at end of file diff --git a/freeleaps/helm-pkg/payment/Chart.yaml b/freeleaps/helm-pkg/payment/Chart.yaml new file mode 100644 index 00000000..79db582b --- /dev/null +++ b/freeleaps/helm-pkg/payment/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: payment +description: A Helm Chart of payment service, which part of Freeleaps Platform, powered by Freeleaps. +type: application +version: 0.0.1 +appVersion: "0.0.1" diff --git a/freeleaps/helm-pkg/payment/templates/certificate.yaml b/freeleaps/helm-pkg/payment/templates/certificate.yaml new file mode 100644 index 00000000..6619165c --- /dev/null +++ b/freeleaps/helm-pkg/payment/templates/certificate.yaml @@ -0,0 +1,27 @@ +{{ $namespace := .Release.Namespace }} +{{ $appVersion := .Chart.AppVersion | quote }} +{{ $releaseCertificate := .Release.Service }} +{{ $releaseName := .Release.Name }} +{{- range $ingress := .Values.payment.ingresses }} +{{- if not $ingress.tls.exists }} +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: {{ $ingress.name }} + namespace: {{ $namespace }} + labels: + app.kubernetes.io/version: {{ $appVersion }} + app.kubernetes.io/name: {{ $ingress.name | quote }} + app.kubernetes.io/managed-by: {{ $releaseCertificate }} + app.kubernetes.io/instance: {{ $releaseName }} +spec: + commonName: {{ $ingress.host }} + dnsNames: + - {{ $ingress.host }} + issuerRef: + name: {{ $ingress.tls.issuerRef.name }} + kind: {{ $ingress.tls.issuerRef.kind }} + secretName: {{ $ingress.tls.name }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/freeleaps/helm-pkg/payment/templates/deployment.yaml b/freeleaps/helm-pkg/payment/templates/deployment.yaml new file mode 100644 index 00000000..2516b0e5 --- /dev/null +++ b/freeleaps/helm-pkg/payment/templates/deployment.yaml @@ -0,0 +1,98 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + app.kubernetes.io/name: "payment" + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + name: "payment" + namespace: {{ .Release.Namespace | quote }} +spec: + selector: + matchLabels: + app.kubernetes.io/name: "payment" + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + replicas: {{ .Values.payment.replicas }} + template: + metadata: + labels: + app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} + app.kubernetes.io/name: "payment" + app.kubernetes.io/managed-by: {{ .Release.Service }} + app.kubernetes.io/instance: {{ .Release.Name }} + spec: + containers: + - name: "payment" + image: "{{ coalesce .Values.payment.image.registry .Values.global.registry "docker.io"}}/{{ coalesce .Values.payment.image.repository .Values.global.repository }}/{{ .Values.payment.image.name }}:{{ .Values.payment.image.tag | default "latest" }}" + imagePullPolicy: {{ .Values.payment.image.imagePullPolicy | default "IfNotPresent" }} + ports: + {{- range $port := .Values.payment.ports }} + - containerPort: {{ $port.containerPort }} + name: {{ $port.name }} + protocol: {{ $port.protocol }} + {{- end }} + {{- if .Values.payment.resources }} + resources: + {{- toYaml .Values.payment.resources | nindent 12 }} + {{- end }} + {{- if .Values.payment.probes }} + {{- if and (.Values.payment.probes.liveness) (eq .Values.payment.probes.liveness.type "httpGet") }} + livenessProbe: + httpGet: + path: {{ .Values.payment.probes.liveness.config.path }} + port: {{ .Values.payment.probes.liveness.config.port }} + {{- if .Values.payment.probes.liveness.config.initialDelaySeconds }} + initialDelaySeconds: {{ .Values.payment.probes.liveness.config.initialDelaySeconds }} + {{- end }} + {{- if .Values.payment.probes.liveness.config.periodSeconds }} + periodSeconds: {{ .Values.payment.probes.liveness.config.periodSeconds }} + {{- end }} + {{- if .Values.payment.probes.liveness.config.timeoutSeconds }} + timeoutSeconds: {{ .Values.payment.probes.liveness.config.timeoutSeconds }} + {{- end }} + {{- if .Values.payment.probes.liveness.config.successThreshold }} + successThreshold: {{ .Values.payment.probes.liveness.config.successThreshold }} + {{- end }} + {{- if .Values.payment.probes.liveness.config.failureThreshold }} + failureThreshold: {{ .Values.payment.probes.liveness.config.failureThreshold }} + {{- end }} + {{- if .Values.payment.probes.liveness.config.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ .Values.payment.probes.liveness.config.terminationGracePeriodSeconds }} + {{- end }} + {{- end }} + {{- if and (.Values.payment.probes.readiness) (eq .Values.payment.probes.readiness.type "httpGet") }} + readinessProbe: + httpGet: + path: {{ .Values.payment.probes.readiness.config.path }} + port: {{ .Values.payment.probes.readiness.config.port }} + {{- if .Values.payment.probes.readiness.config.initialDelaySeconds }} + initialDelaySeconds: {{ .Values.payment.probes.readiness.config.initialDelaySeconds }} + {{- end }} + {{- if .Values.payment.probes.readiness.config.periodSeconds }} + periodSeconds: {{ .Values.payment.probes.readiness.config.periodSeconds }} + {{- end }} + {{- if .Values.payment.probes.readiness.config.timeoutSeconds }} + timeoutSeconds: {{ .Values.payment.probes.readiness.config.timeoutSeconds }} + {{- end }} + {{- if .Values.payment.probes.readiness.config.successThreshold }} + successThreshold: {{ .Values.payment.probes.readiness.config.successThreshold }} + {{- end }} + {{- if .Values.payment.probes.readiness.config.failureThreshold }} + failureThreshold: {{ .Values.payment.probes.readiness.config.failureThreshold }} + {{- end }}:% + {{- if .Values.payment.probes.readiness.config.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ .Values.payment.probes.readiness.config.terminationGracePeriodSeconds }} + {{- end }} + {{- end }} + {{- end}} + env: + {{- range $key, $value := .Values.payment.configs }} + - name: {{ $key | snakecase | upper }} + valueFrom: + secretKeyRef: + name: payment-config + key: {{ $key | snakecase | upper }} + {{- end }} \ No newline at end of file diff --git a/freeleaps/helm-pkg/payment/templates/ingress.yaml b/freeleaps/helm-pkg/payment/templates/ingress.yaml new file mode 100644 index 00000000..0ea04b1c --- /dev/null +++ b/freeleaps/helm-pkg/payment/templates/ingress.yaml @@ -0,0 +1,36 @@ +{{ $namespace := .Release.Namespace }} +{{ $appVersion := .Chart.AppVersion | quote }} +{{ $releaseIngress := .Release.Service }} +{{ $releaseName := .Release.Name }} +{{- range $ingress := .Values.payment.ingresses }} +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ $ingress.name }} + namespace: {{ $namespace }} + labels: + app.kubernetes.io/version: {{ $appVersion }} + app.kubernetes.io/name: {{ $ingress.name | quote }} + app.kubernetes.io/managed-by: {{ $releaseIngress }} + app.kubernetes.io/instance: {{ $releaseName }} +spec: +{{- if $ingress.class }} + ingressClassName: {{ $ingress.class }} +{{- end }} +{{- if $ingress.tls }} + tls: + - hosts: + - {{ $ingress.host }} +{{- if $ingress.tls.exists }} + secretName: {{ $ingress.tls.secretRef.name }} +{{- else }} + secretName: {{ $ingress.tls.name }} +{{- end }} +{{- end }} + rules: + - host: {{ $ingress.host }} + http: + paths: +{{- toYaml $ingress.rules | nindent 10 }} +{{- end }} \ No newline at end of file diff --git a/freeleaps/helm-pkg/payment/templates/payment-config.yaml b/freeleaps/helm-pkg/payment/templates/payment-config.yaml new file mode 100644 index 00000000..e3e6d8f0 --- /dev/null +++ b/freeleaps/helm-pkg/payment/templates/payment-config.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Secret +metadata: + name: payment-config + namespace: {{ .Release.Namespace }} +type: Opaque +data: + TZ: {{ .Values.payment.configs.tz | b64enc | quote }} + APP_NAME: {{ .Values.payment.configs.appName | b64enc | quote }} + SERVICE_API_ACCESS_HOST: {{ .Values.payment.configs.serviceApiAccessHost | b64enc | quote }} + SERVICE_API_ACCESS_PORT: {{ .Values.payment.configs.serviceApiAccessPort | b64enc | quote }} + MONGODB_NAME: {{ .Values.payment.configs.mongodbName | b64enc | quote }} + MONGODB_PORT: {{ .Values.payment.configs.mongodbPort | b64enc | quote }} + MONGODB_URI: {{ .Values.payment.configs.mongodbUri | b64enc | quote }} + STRIPE_API_KEY: {{ .Values.payment.configs.stripeApiKey | b64enc | quote }} + \ No newline at end of file diff --git a/freeleaps/helm-pkg/payment/templates/service.yaml b/freeleaps/helm-pkg/payment/templates/service.yaml new file mode 100644 index 00000000..dd9ee29c --- /dev/null +++ b/freeleaps/helm-pkg/payment/templates/service.yaml @@ -0,0 +1,26 @@ +{{ $namespace := .Release.Namespace }} +{{ $appVersion := .Chart.AppVersion | quote }} +{{ $releaseService := .Release.Service }} +{{ $releaseName := .Release.Name }} +{{- range $service := .Values.payment.services }} +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ $service.name }} + namespace: {{ $namespace }} + labels: + app.kubernetes.io/version: {{ $appVersion }} + app.kubernetes.io/name: {{ $service.name | quote }} + app.kubernetes.io/managed-by: {{ $releaseService }} + app.kubernetes.io/instance: {{ $releaseName }} +spec: + ports: + - port: {{ $service.port }} + targetPort: {{ $service.targetPort }} + selector: + app.kubernetes.io/version: {{ $appVersion }} + app.kubernetes.io/name: "payment" + app.kubernetes.io/managed-by: {{ $releaseService }} + app.kubernetes.io/instance: {{ $releaseName }} +{{- end }} \ No newline at end of file diff --git a/freeleaps/helm-pkg/payment/values.alpha.yaml b/freeleaps/helm-pkg/payment/values.alpha.yaml index e69de29b..c523595c 100644 --- a/freeleaps/helm-pkg/payment/values.alpha.yaml +++ b/freeleaps/helm-pkg/payment/values.alpha.yaml @@ -0,0 +1,49 @@ +global: + registry: docker.io + repository: freeleaps + nodeSelector: {} +payment: + replicas: 1 + image: + registry: + repository: freeleaps + name: payment + tag: 1.0.0 + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 8006 + protocol: TCP + resources: + requests: + cpu: "0.5" + memory: "512Mi" + limits: + cpu: "1" + memory: "1Gi" + # FIXME: Wait until the developers implements the probes APIs + probes: {} + services: + - name: payment-service + type: ClusterIP + port: 8006 + targetPort: 8006 + # Defaults to {}, which means doesn't have any ingress + ingresses: {} + configs: + # TZ + tz: "America/Settle" + # APP_NAME + appName: "payment" + # SERVICE_API_ACCESS_HOST + serviceApiAccessHost: "0.0.0.0" + # SERVICE_API_ACCESS_PORT + serviceApiAccessPort: "8006" + # MONGODB_NAME + mongodbName: "freeleaps2" + # MONGODB_PORT + mongodbPort: "27017" + # MONGODB_URI + mongodbUri: "mongodb://freeleaps-alpha-mongodb.freeleaps-alpha.svc.freeleaps.cluster:27017/" + # STRIPE_API_KEY + stripeApiKey: "" \ No newline at end of file diff --git a/freeleaps/helm-pkg/payment/values.yaml b/freeleaps/helm-pkg/payment/values.yaml new file mode 100644 index 00000000..939b9e4d --- /dev/null +++ b/freeleaps/helm-pkg/payment/values.yaml @@ -0,0 +1,49 @@ +global: + registry: docker.io + repository: freeleaps + nodeSelector: {} +payment: + replicas: 1 + image: + registry: + repository: freeleaps + name: payment + tag: 1.0.0 + imagePullPolicy: IfNotPresent + ports: + - name: http + containerPort: 8006 + protocol: TCP + resources: + requests: + cpu: "0.5" + memory: "512Mi" + limits: + cpu: "1" + memory: "1Gi" + # FIXME: Wait until the developers implements the probes APIs + probes: {} + services: + - name: payment-service + type: ClusterIP + port: 8006 + targetPort: 8006 + # Defaults to {}, which means doesn't have any ingress + ingresses: {} + configs: + # TZ + tz: "America/Settle" + # APP_NAME + appName: "payment" + # SERVICE_API_ACCESS_HOST + serviceApiAccessHost: "0.0.0.0" + # SERVICE_API_ACCESS_PORT + serviceApiAccessPort: "8006" + # MONGODB_NAME + mongodbName: "" + # MONGODB_PORT + mongodbPort: "27017" + # MONGODB_URI + mongodbUri: "" + # STRIPE_API_KEY + stripeApiKey: ""