chore(layout): project initialize and magicleaps manifests
Signed-off-by: 孙振宇 <>
This commit is contained in:
commit
b1422e2913
3
README.md
Normal file
3
README.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Freeleaps Ops
|
||||||
|
|
||||||
|
> All GitOps relates manifests or scripts.
|
||||||
0
first-class-pipeline/.gitkeep
Normal file
0
first-class-pipeline/.gitkeep
Normal file
24
magicleaps/alpha/argo-app/application.yaml
Normal file
24
magicleaps/alpha/argo-app/application.yaml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: magicleaps-alpha
|
||||||
|
namespace: freeleaps-devops-system
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
name: ''
|
||||||
|
namespace: magicleaps-alpha
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
source:
|
||||||
|
path: masgicleaps/helm-pkg/magicleaps
|
||||||
|
repoURL: https://freeleaps@dev.azure.com/freeleaps/freeleaps-ops/_git/freeleaps-ops
|
||||||
|
targetRevision: HEAD
|
||||||
|
helm:
|
||||||
|
parameters: []
|
||||||
|
valueFiles:
|
||||||
|
- values.alpha.yaml
|
||||||
|
sources: []
|
||||||
|
project: magicleaps-alpha
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
10
magicleaps/alpha/argo-app/project.yaml
Normal file
10
magicleaps/alpha/argo-app/project.yaml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: AppProject
|
||||||
|
metadata:
|
||||||
|
name: magicleaps-alpha
|
||||||
|
namespace: freeleaps-devops-system
|
||||||
|
spec:
|
||||||
|
destinations:
|
||||||
|
- name: in-cluster
|
||||||
|
namespace: magicleaps-alpha
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
141
magicleaps/alpha/ci/Jenkinsfile
vendored
Normal file
141
magicleaps/alpha/ci/Jenkinsfile
vendored
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
def REGISTRY_URL = 'docker.io'
|
||||||
|
def REPO_NAME = 'zhenyus'
|
||||||
|
def IMAGE_NAME = 'magicleaps'
|
||||||
|
def APP_NAME = 'magicleaps'
|
||||||
|
def TAG_PREFIX = 'snapshot'
|
||||||
|
def DOCKER_REGISTRY_SECRET = 'kaniko-secret'
|
||||||
|
|
||||||
|
pipeline {
|
||||||
|
agent any
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage('Checkout') {
|
||||||
|
steps {
|
||||||
|
git credentialsId: 'freeleaps-azure-dev', url: 'https://freeleaps@dev.azure.com/freeleaps/magicleaps/_git/magicleaps'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('Set Commit Hash') {
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
def commitHash = sh(script: 'git rev-parse HEAD', returnStdout: true).trim()
|
||||||
|
def shortCommitHash = commitHash.take(7)
|
||||||
|
env.COMMIT_HASH = shortCommitHash
|
||||||
|
echo "Commit Hash: ${env.COMMIT_HASH}"
|
||||||
|
env.TRIGGERED_BRANCH = "${GIT_BRANCH}"
|
||||||
|
echo "Triggered Branch: ${env.TRIGGERED_BRANCH}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('Build Docker Images For Each Components') {
|
||||||
|
matrix {
|
||||||
|
axes {
|
||||||
|
axis {
|
||||||
|
name 'COMPONENT'
|
||||||
|
values 'backend', 'frontend'
|
||||||
|
}
|
||||||
|
axis {
|
||||||
|
name 'ARCH'
|
||||||
|
values 'linux/amd64'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
agent {
|
||||||
|
kubernetes {
|
||||||
|
defaultContainer 'kaniko'
|
||||||
|
yaml """
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
freeleaps-devops-job: magicleaps-app-build
|
||||||
|
freeleaps-devops-app: magicleaps
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: kaniko
|
||||||
|
image: gcr.io/kaniko-project/executor:debug
|
||||||
|
command:
|
||||||
|
- cat
|
||||||
|
tty: true
|
||||||
|
volumeMounts:
|
||||||
|
- name: kaniko-secret
|
||||||
|
mountPath: /kaniko/.docker/config.json
|
||||||
|
subPath: .dockerconfigjson
|
||||||
|
- name: workspace
|
||||||
|
mountPath: /workspace
|
||||||
|
volumes:
|
||||||
|
- name: kaniko-secret
|
||||||
|
secret:
|
||||||
|
secretName: kaniko-secret
|
||||||
|
- name: workspace
|
||||||
|
emptyDir: {}
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage('Image Building') {
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
def dockerfilePath = "${COMPONENT}/Dockerfile"
|
||||||
|
def arch = "${ARCH}"
|
||||||
|
def archTag = arch.replace('/', '-')
|
||||||
|
def targetImage = "${REGISTRY_URL}/${REPO_NAME}/${IMAGE_NAME}:${COMPONENT}-${TAG_PREFIX}-${COMMIT_HASH}-${archTag}"
|
||||||
|
echo "Building Docker image ${targetImage}..."
|
||||||
|
|
||||||
|
sh """
|
||||||
|
/kaniko/executor \
|
||||||
|
--dockerfile=${dockerfilePath} \
|
||||||
|
--context=${COMPONENT} \
|
||||||
|
--destination=${targetImage} \
|
||||||
|
--custom-platform=${ARCH} \
|
||||||
|
--skip-tls-verify=true \
|
||||||
|
--ignore-path=/product_uuid
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('Deploy with Argo CD') {
|
||||||
|
stages {
|
||||||
|
stage('Clone GitOps Manifests Repo') {
|
||||||
|
steps {
|
||||||
|
git credentialsId: 'freeleaps-azure-dev', url: 'https://freeleaps@dev.azure.com/freeleaps/freeleaps-ops/_git/freeleaps-ops'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('Automate Update Application Image Tag') {
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
def triggeredBranch = "${TRIGGERED_BRANCH}"
|
||||||
|
if (triggeredBranch == 'origin/master') {
|
||||||
|
echo "Triggered branch is master, deploying to alpha..."
|
||||||
|
def valuesFile = APP_NAME + '/helm-pkg/' + APP_NAME + '/values.alpha.yaml'
|
||||||
|
def data = readYaml (file: valuesFile)
|
||||||
|
data.backend.image.tag = "backend-${TAG_PREFIX}-${env.COMMIT_HASH}-linux-amd64"
|
||||||
|
data.frontend.image.tag = "frontend-${TAG_PREFIX}-${env.COMMIT_HASH}-linux-amd64"
|
||||||
|
writeYaml file: valuesFile, data: data, overwrite: true
|
||||||
|
// git push
|
||||||
|
withCredentials([string(credentialsId: 'freeleaps-azure-dev-token-only', variable: 'GIT_CREDENTIALS')]) {
|
||||||
|
sh """
|
||||||
|
git config user.name "zhenyus"
|
||||||
|
git config user.email "zhenyus@mathmast.com"
|
||||||
|
git remote add ci_origin https://freeleaps@dev.azure.com/freeleaps/freeleaps-ops/_git/freeleaps-ops
|
||||||
|
git add ${valuesFile}
|
||||||
|
git commit -m "ci(bot-auto-bump): bump ${APP_NAME} image tags for alpha to ${TAG_PREFIX}-${env.COMMIT_HASH}-linux-amd64"
|
||||||
|
git push ci_origin HEAD:master
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
echo "Update ${APP_NAME} image tags for alpha to ${TAG_PREFIX}-${env.COMMIT_HASH}-linux-amd64."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
23
magicleaps/helm-pkg/magicleaps/.helmignore
Normal file
23
magicleaps/helm-pkg/magicleaps/.helmignore
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Patterns to ignore when building packages.
|
||||||
|
# This supports shell glob matching, relative path matching, and
|
||||||
|
# negation (prefixed with !). Only one pattern per line.
|
||||||
|
.DS_Store
|
||||||
|
# Common VCS dirs
|
||||||
|
.git/
|
||||||
|
.gitignore
|
||||||
|
.bzr/
|
||||||
|
.bzrignore
|
||||||
|
.hg/
|
||||||
|
.hgignore
|
||||||
|
.svn/
|
||||||
|
# Common backup files
|
||||||
|
*.swp
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
|
*.orig
|
||||||
|
*~
|
||||||
|
# Various IDEs
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
*.tmproj
|
||||||
|
.vscode/
|
||||||
6
magicleaps/helm-pkg/magicleaps/Chart.yaml
Normal file
6
magicleaps/helm-pkg/magicleaps/Chart.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: magicleaps
|
||||||
|
description: A Helm chart for Magic Leaps application.
|
||||||
|
type: application
|
||||||
|
version: 0.1.0
|
||||||
|
appVersion: "0.1.0"
|
||||||
107
magicleaps/helm-pkg/magicleaps/templates/_helpers.tpl
Normal file
107
magicleaps/helm-pkg/magicleaps/templates/_helpers.tpl
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
{{/*
|
||||||
|
Expand the name of the chart.
|
||||||
|
*/}}
|
||||||
|
{{- define "magicleaps.name" -}}
|
||||||
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Expand the name of the frontend.
|
||||||
|
*/}}
|
||||||
|
{{- define "magicleaps.frontend.name" -}}
|
||||||
|
{{- default .Values.frontend.name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Expand the name of the backend.
|
||||||
|
*/}}
|
||||||
|
{{- define "magicleaps.backend.name" -}}
|
||||||
|
{{- default .Values.backend.name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create a default fully qualified app name.
|
||||||
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||||
|
If release name contains chart name it will be used as a full name.
|
||||||
|
*/}}
|
||||||
|
{{- define "magicleaps.fullname" -}}
|
||||||
|
{{- if .Values.fullnameOverride }}
|
||||||
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||||
|
{{- if contains $name .Release.Name }}
|
||||||
|
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create chart name and version as used by the chart label.
|
||||||
|
*/}}
|
||||||
|
{{- define "magicleaps.chart" -}}
|
||||||
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Backend labels
|
||||||
|
*/}}
|
||||||
|
{{- define "magicleaps.backend.labels" -}}
|
||||||
|
helm.sh/chart: {{ include "magicleaps.chart" . }}
|
||||||
|
{{ include "magicleaps.backend.selectorLabels" . }}
|
||||||
|
{{- if .Chart.AppVersion }}
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
{{- end }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Backend Selector labels
|
||||||
|
*/}}
|
||||||
|
{{- define "magicleaps.backend.selectorLabels" -}}
|
||||||
|
app.kubernetes.io/name: {{ include "magicleaps.backend.name" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Frontend labels
|
||||||
|
*/}}
|
||||||
|
{{- define "magicleaps.frontend.labels" -}}
|
||||||
|
helm.sh/chart: {{ include "magicleaps.chart" . }}
|
||||||
|
{{ include "magicleaps.frontend.selectorLabels" . }}
|
||||||
|
{{- if .Chart.AppVersion }}
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
{{- end }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Frontend Selector labels
|
||||||
|
*/}}
|
||||||
|
{{- define "magicleaps.frontend.selectorLabels" -}}
|
||||||
|
app.kubernetes.io/name: {{ include "magicleaps.frontend.name" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Return the appropriate apiVersion for deployment.
|
||||||
|
*/}}
|
||||||
|
{{- define "magicleaps.deployment.apiVersion" -}}
|
||||||
|
{{- if semverCompare "<1.9-0" .Capabilities.KubeVersion.GitVersion -}}
|
||||||
|
{{- print "extensions/v1beta1" -}}
|
||||||
|
{{- else if semverCompare "^1.9-0" .Capabilities.KubeVersion.GitVersion -}}
|
||||||
|
{{- print "apps/v1" -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Define the magicleaps.namespace template if set with forceNamespace or .Release.Namespace is set
|
||||||
|
*/}}
|
||||||
|
{{- define "magicleaps.namespace" -}}
|
||||||
|
{{- if .Values.forceNamespace -}}
|
||||||
|
{{ printf "namespace: %s" .Values.forceNamespace }}
|
||||||
|
{{- else -}}
|
||||||
|
{{ printf "namespace: %s" .Release.Namespace }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
@ -0,0 +1,87 @@
|
|||||||
|
{{- if .Values.backend.enabled -}}
|
||||||
|
apiVersion: {{ template "magicleaps.deployment.apiVersion" . }}
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{- include "magicleaps.backend.labels" . | nindent 4 }}
|
||||||
|
name: {{ .Values.backend.name }}
|
||||||
|
{{ include "magicleaps.namespace" . | indent 2 }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "magicleaps.backend.labels" . | nindent 6 }}
|
||||||
|
replicas: {{ .Values.backend.replicaCount }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{- include "magicleaps.backend.labels" . | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: {{ .Values.backend.name }}
|
||||||
|
image: "{{ .Values.backend.image.repository }}/{{ .Values.backend.image.name }}{{ if .Values.backend.image.tag }}:{{ .Values.backend.image.tag }}{{ end }}"
|
||||||
|
imagePullPolicy: {{ .Values.backend.image.imagePullPolicy }}
|
||||||
|
ports:
|
||||||
|
- containerPort: {{ .Values.backend.port }}
|
||||||
|
{{- if .Values.backend.extraEnv }}
|
||||||
|
env:
|
||||||
|
{{- toYaml .Values.backend.extraEnv | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
livenessProbe:
|
||||||
|
{{- toYaml .Values.backend.livenessProbe | nindent 12 }}
|
||||||
|
readinessProbe:
|
||||||
|
{{- toYaml .Values.backend.readinessProbe | nindent 12 }}
|
||||||
|
{{- if .Values.backend.resources }}
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.backend.resources | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
env:
|
||||||
|
- name: MONGO_DB
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: backend-secrets
|
||||||
|
key: MONGO_DB
|
||||||
|
- name: MONGO_HOST
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: backend-secrets
|
||||||
|
key: MONGO_HOST
|
||||||
|
- name: MONGO_PORT
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: backend-secrets
|
||||||
|
key: MONGO_PORT
|
||||||
|
- name: EMAIL_USER
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: backend-secrets
|
||||||
|
key: EMAIL_USER
|
||||||
|
- name: EMAIL_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: backend-secrets
|
||||||
|
key: EMAIL_PASSWORD
|
||||||
|
- name: SUPER_ADMIN
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: backend-secrets
|
||||||
|
key: SUPER_ADMIN
|
||||||
|
- name: TWILIO_ACCOUNT_SID
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: backend-secrets
|
||||||
|
key: TWILIO_ACCOUNT_SID
|
||||||
|
- name: TWILIO_AUTH_TOKEN
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: backend-secrets
|
||||||
|
key: TWILIO_AUTH_TOKEN
|
||||||
|
- name: LOG_LEVEL
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: backend-secrets
|
||||||
|
key: LOG_LEVEL
|
||||||
|
{{- if .Values.imagePullSecrets -}}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml .Values.imagePullSecrets | nindent 8 }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
{{- if .Values.frontend.enabled }}
|
||||||
|
apiVersion: {{ template "magicleaps.deployment.apiVersion" . }}
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{- include "magicleaps.frontend.labels" . | nindent 4 }}
|
||||||
|
name: {{ .Values.frontend.name }}
|
||||||
|
{{ include "magicleaps.namespace" . | indent 2 }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "magicleaps.frontend.labels" . | nindent 6 }}
|
||||||
|
replicas: {{ .Values.frontend.replicaCount }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{- include "magicleaps.frontend.labels" . | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: {{ .Values.frontend.name }}
|
||||||
|
image: "{{ .Values.frontend.image.repository }}/{{ .Values.frontend.image.name }}{{ if .Values.frontend.image.tag }}:{{ .Values.frontend.image.tag }}{{ end }}"
|
||||||
|
imagePullPolicy: {{ .Values.frontend.image.imagePullPolicy }}
|
||||||
|
ports:
|
||||||
|
- containerPort: {{ .Values.frontend.port }}
|
||||||
|
{{- if .Values.frontend.extraEnv }}
|
||||||
|
env:
|
||||||
|
{{- toYaml .Values.frontend.extraEnv | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
livenessProbe:
|
||||||
|
{{- toYaml .Values.frontend.livenessProbe | nindent 12 }}
|
||||||
|
readinessProbe:
|
||||||
|
{{- toYaml .Values.frontend.readinessProbe | nindent 12 }}
|
||||||
|
{{- if .Values.frontend.resources }}
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.frontend.resources | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml .Values.imagePullSecrets | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
{{- if and .Values.backend.enabled .Values.backend.ingress.enabled -}}
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: {{ .Values.backend.name }}-ingress
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: "nginx"
|
||||||
|
{{- if .Values.backend.ingress.annotations }}
|
||||||
|
{{ .Values.backend.ingress.annotations | toYaml | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{ include "magicleaps.namespace" . | indent 2 }}
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: {{ .Values.backend.ingress.host }}
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: {{ .Values.backend.name }}-svc
|
||||||
|
port:
|
||||||
|
number: {{ .Values.backend.service.port }}
|
||||||
|
{{- end -}}
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
{{- if .Values.frontend.enabled -}}
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: {{ .Values.frontend.name }}-ingress
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: "nginx"
|
||||||
|
{{- if .Values.frontend.ingress.annotations }}
|
||||||
|
{{ .Values.frontend.ingress.annotations | toYaml | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{ include "magicleaps.namespace" . | indent 2 }}
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- host: {{ .Values.frontend.ingress.host }}
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: {{ .Values.frontend.name }}-svc
|
||||||
|
port:
|
||||||
|
number: {{ .Values.frontend.service.port }}
|
||||||
|
{{- end -}}
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: backend-secrets
|
||||||
|
namespace: magicleaps-alpha
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
MONGO_DB: {{ .Values.backend.config.mongo.db | b64enc | quote -}}
|
||||||
|
MONGO_HOST: {{ .Values.backend.config.mongo.host | b64enc | quote -}}
|
||||||
|
MONGO_PORT: {{ .Values.backend.config.mongo.port | b64enc | quote -}}
|
||||||
|
EMAIL_USER: {{ .Values.backend.config.email.user | b64enc | quote -}}
|
||||||
|
EMAIL_PASSWORD: {{ .Values.backend.config.email.password | b64enc | quote -}}
|
||||||
|
SUPER_ADMIN: {{ .Values.backend.config.superAdmin | b64enc | quote -}}
|
||||||
|
TWILIO_ACCOUNT_SID: {{ .Values.backend.config.twilio.accountSid | b64enc | quote -}}
|
||||||
|
TWILIO_AUTH_TOKEN: {{ .Values.backend.config.twilio.authToken | b64enc | quote -}}
|
||||||
|
LOG_LEVEL: {{ .Values.backend.config.log.level | b64enc | quote -}}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
{{- if .Values.backend.enabled -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{- include "magicleaps.backend.labels" . | nindent 4 }}
|
||||||
|
name: {{ .Values.backend.name }}-svc
|
||||||
|
{{ include "magicleaps.namespace" . | indent 2 }}
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.backend.service.port }}
|
||||||
|
targetPort: 8081
|
||||||
|
selector:
|
||||||
|
{{- include "magicleaps.backend.selectorLabels" . | nindent 4 }}
|
||||||
|
sessionAffinity: {{ .Values.backend.service.sessionAffinity }}
|
||||||
|
type: {{ .Values.backend.service.type }}
|
||||||
|
{{- end -}}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
{{- if .Values.frontend.enabled -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{- include "magicleaps.frontend.labels" . | nindent 4 }}
|
||||||
|
name: {{ .Values.frontend.name }}-svc
|
||||||
|
{{ include "magicleaps.namespace" . | indent 2 }}
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.frontend.service.port }}
|
||||||
|
targetPort: 80
|
||||||
|
selector:
|
||||||
|
{{- include "magicleaps.frontend.selectorLabels" . | nindent 4 }}
|
||||||
|
sessionAffinity: {{ .Values.frontend.service.sessionAffinity }}
|
||||||
|
type: {{ .Values.frontend.service.type }}
|
||||||
|
{{- end -}}
|
||||||
73
magicleaps/helm-pkg/magicleaps/values.alpha.yaml
Normal file
73
magicleaps/helm-pkg/magicleaps/values.alpha.yaml
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
imagePullSecrets: []
|
||||||
|
backend:
|
||||||
|
enabled: true
|
||||||
|
name: magicleaps-backend
|
||||||
|
image:
|
||||||
|
repository: docker.io/magicleaps
|
||||||
|
name: magicleaps
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
tag: "latest"
|
||||||
|
extraEnv: {}
|
||||||
|
port: 8081
|
||||||
|
ingress:
|
||||||
|
enabled: false
|
||||||
|
annotations: {}
|
||||||
|
host: ''
|
||||||
|
replicaCount: 1
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
port: 8081
|
||||||
|
sessionAffinity: None
|
||||||
|
resources: {}
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /api/_/probe/liveness
|
||||||
|
port: 8081
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /api/_/probe/readiness
|
||||||
|
port: 8081
|
||||||
|
config:
|
||||||
|
mongo:
|
||||||
|
db: magicleaps_alpha
|
||||||
|
host: 'mongo-mongodb.magicleaps-alpha.svc.cluster.local'
|
||||||
|
port: 27017
|
||||||
|
email:
|
||||||
|
user: 'your@freeleaps.com'
|
||||||
|
password: 'your-password'
|
||||||
|
superAdmin: 'your@email.com'
|
||||||
|
twilio:
|
||||||
|
accountSid: ''
|
||||||
|
authToken: ''
|
||||||
|
log:
|
||||||
|
level: 'INFO'
|
||||||
|
|
||||||
|
|
||||||
|
frontend:
|
||||||
|
enabled: true
|
||||||
|
name: magicleaps-frontend
|
||||||
|
image:
|
||||||
|
repository: docker.io/magicleaps
|
||||||
|
name: magicleaps
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
tag: "latest"
|
||||||
|
extraEnv: {}
|
||||||
|
port: 80
|
||||||
|
ingress:
|
||||||
|
annotations: {}
|
||||||
|
host: ''
|
||||||
|
nodeSelector: {}
|
||||||
|
affinity: {}
|
||||||
|
replicaCount: 1
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
port: 80
|
||||||
|
sessionAffinity: None
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /
|
||||||
|
port: 80
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /
|
||||||
|
port: 80
|
||||||
73
magicleaps/helm-pkg/magicleaps/values.yaml
Normal file
73
magicleaps/helm-pkg/magicleaps/values.yaml
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
imagePullSecrets: []
|
||||||
|
backend:
|
||||||
|
enabled: true
|
||||||
|
name: magicleaps-backend
|
||||||
|
image:
|
||||||
|
repository: docker.io/magicleaps
|
||||||
|
name: magicleaps
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
tag: "latest"
|
||||||
|
extraEnv: {}
|
||||||
|
port: 8081
|
||||||
|
ingress:
|
||||||
|
enabled: false
|
||||||
|
annotations: {}
|
||||||
|
host: ''
|
||||||
|
replicaCount: 1
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
port: 8081
|
||||||
|
sessionAffinity: None
|
||||||
|
resources: {}
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /api/_/probe/liveness
|
||||||
|
port: 8081
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /api/_/probe/readiness
|
||||||
|
port: 8081
|
||||||
|
config:
|
||||||
|
mongo:
|
||||||
|
db: magicleaps_alpha
|
||||||
|
host: ''
|
||||||
|
port: 27017
|
||||||
|
email:
|
||||||
|
user: ''
|
||||||
|
password: ''
|
||||||
|
superAdmin: ''
|
||||||
|
twilio:
|
||||||
|
accountSid: ''
|
||||||
|
authToken: ''
|
||||||
|
log:
|
||||||
|
level: 'INFO'
|
||||||
|
|
||||||
|
|
||||||
|
frontend:
|
||||||
|
enabled: true
|
||||||
|
name: magicleaps-frontend
|
||||||
|
image:
|
||||||
|
repository: docker.io/magicleaps
|
||||||
|
name: magicleaps
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
tag: "latest"
|
||||||
|
extraEnv: {}
|
||||||
|
port: 80
|
||||||
|
ingress:
|
||||||
|
annotations: {}
|
||||||
|
host: ''
|
||||||
|
nodeSelector: {}
|
||||||
|
affinity: {}
|
||||||
|
replicaCount: 1
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
port: 80
|
||||||
|
sessionAffinity: None
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /
|
||||||
|
port: 80
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /
|
||||||
|
port: 80
|
||||||
Loading…
Reference in New Issue
Block a user