chore: remove Jenkinsfile for ailab service
This commit deletes the Jenkinsfile associated with the ailab service as part of a project cleanup. Signed-off-by: zhenyus <zhenyus@mathmast.com>
This commit is contained in:
parent
32a40173da
commit
ba442e40c0
35
aml-services/alpha/ailab/Jenkinsfile
vendored
35
aml-services/alpha/ailab/Jenkinsfile
vendored
@ -1,35 +0,0 @@
|
|||||||
library 'first-class-pipeline'
|
|
||||||
|
|
||||||
executeFreeleapsPipeline {
|
|
||||||
serviceName = 'aml-services'
|
|
||||||
environmentSlug = 'alpha'
|
|
||||||
serviceGitBranch = 'dev'
|
|
||||||
serviceGitRepo = "https://gitea.freeleaps.mathmast.com/freeleaps/aml-services.git"
|
|
||||||
serviceGitRepoType = 'monorepo'
|
|
||||||
serviceGitCredentialsId = 'freeleaps-repos-gitea-credentails'
|
|
||||||
executeMode = 'on-demand'
|
|
||||||
commitMessageLintEnabled = false
|
|
||||||
components = [
|
|
||||||
[
|
|
||||||
name: 'ailab',
|
|
||||||
root: 'apps/ailab',
|
|
||||||
language: 'python',
|
|
||||||
dependenciesManager: 'pip',
|
|
||||||
requirementsFile: 'requirements.txt',
|
|
||||||
buildCacheEnabled: true,
|
|
||||||
buildAgentImage: 'python:3.10-slim-buster',
|
|
||||||
buildArtifacts: ['.'],
|
|
||||||
lintEnabled: false,
|
|
||||||
sastEnabled: false,
|
|
||||||
imageRegistry: 'docker.io',
|
|
||||||
imageRepository: 'freeleaps',
|
|
||||||
imageName: 'ailab',
|
|
||||||
imageBuilder: 'dind',
|
|
||||||
dockerfilePath: 'Dockerfile',
|
|
||||||
imageBuildRoot: '.',
|
|
||||||
imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'],
|
|
||||||
registryCredentialsId: 'freeleaps-devops-docker-hub-credentials',
|
|
||||||
semanticReleaseEnabled: true
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
34
aml-services/alpha/ci/Jenkinsfile
vendored
Normal file
34
aml-services/alpha/ci/Jenkinsfile
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
library 'first-class-pipeline'
|
||||||
|
|
||||||
|
executeFreeleapsPipeline {
|
||||||
|
serviceName = 'aml-services'
|
||||||
|
environmentSlug = 'alpha'
|
||||||
|
serviceGitBranch = 'dev'
|
||||||
|
serviceGitRepo = "https://gitea.freeleaps.mathmast.com/freeleaps/aml-services.git"
|
||||||
|
serviceGitRepoType = 'monorepo'
|
||||||
|
serviceGitCredentialsId = 'aml-services-git-repo-credentials'
|
||||||
|
executeMode = 'fully'
|
||||||
|
commitMessageLintEnabled = false
|
||||||
|
components = [
|
||||||
|
[
|
||||||
|
name: 'ailab',
|
||||||
|
root: 'apps/ailab',
|
||||||
|
language: 'python',
|
||||||
|
dependenciesManager: 'pip',
|
||||||
|
buildCacheEnabled: true,
|
||||||
|
buildAgentImage: 'python:3.10-slim-bullseye',
|
||||||
|
buildArtifacts: ['.'],
|
||||||
|
lintEnabled: false,
|
||||||
|
sastEnabled: false,
|
||||||
|
imageRegistry: 'docker.io',
|
||||||
|
imageRepository: 'freeleaps',
|
||||||
|
imageName: 'ailab',
|
||||||
|
imageBuilder: 'dind',
|
||||||
|
dockerfilePath: 'Dockerfile',
|
||||||
|
imageBuildRoot: '.',
|
||||||
|
imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'],
|
||||||
|
registryCredentialsId: 'freeleaps-devops-docker-hub-credentials',
|
||||||
|
semanticReleaseEnabled: true
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
6
aml-services/helm-pkg/ailab/Chart.yaml
Normal file
6
aml-services/helm-pkg/ailab/Chart.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: ailab
|
||||||
|
description: A Helm Chart of ailab, which part of Freeleaps Platform, powered by Freeleaps.
|
||||||
|
type: application
|
||||||
|
version: 0.0.1
|
||||||
|
appVersion: "0.0.1"
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: ailab-config
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
SERVICE_API_ACCESS_HOST: {{ .Values.ailab.configs.serviceApiAccessHost | b64enc | quote }}
|
||||||
|
SERVICE_API_ACCESS_PORT: {{ .Values.ailab.configs.serviceApiAccessPort | toString | b64enc }}
|
||||||
|
CONTAINER_APP_ROOT: {{ .Values.ailab.configs.containerAppRoot | b64enc | quote }}
|
||||||
|
AZURE_TRANSLATION_API_KEY: {{ .Values.ailab.configs.azureTranslationApiKey | b64enc | quote }}
|
||||||
|
AZURE_TRANSLATION_API_LOCATION: {{ .Values.ailab.configs.azureTranslationApiLocation | b64enc | quote }}
|
||||||
|
AZURE_TRANSLATION_API_ENDPOINT: {{ .Values.ailab.configs.azureTranslationApiEndpoint | b64enc | quote }}
|
||||||
|
AZURE_DOCUMENT_TRANSLATION_API_ENDPOINT: {{ .Values.ailab.configs.azureDocumentTranslationApiEndpoint | b64enc | quote }}
|
||||||
|
AZURE_OPENAI_API_VERSION: {{ .Values.ailab.configs.azureOpenaiApiVersion | b64enc | quote }}
|
||||||
|
AZURE_OPENAI_API_KEY: {{ .Values.ailab.configs.azureOpenaiApiKey | b64enc | quote }}
|
||||||
|
AZURE_OPENAI_ENDPOINT: {{ .Values.ailab.configs.azureOpenaiEndpoint | b64enc | quote }}
|
||||||
|
ANTHROPIC_API_KEY: {{ .Values.ailab.configs.anthropicApiKey | b64enc | quote }}
|
||||||
|
ANTHROPIC_API_MODEL_VERSION: {{ .Values.ailab.configs.anthropicApiModelVersion | b64enc | quote }}
|
||||||
|
ANTHROPIC_API_MODEL_MAX_TOKEN: {{ .Values.ailab.configs.anthropicApiModelMaxToken | toString | b64enc }}
|
||||||
|
REDIS_URL: {{ .Values.ailab.configs.redisUrl | b64enc | quote }}
|
||||||
27
aml-services/helm-pkg/ailab/templates/ailab/certificate.yaml
Normal file
27
aml-services/helm-pkg/ailab/templates/ailab/certificate.yaml
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{{ $namespace := .Release.Namespace }}
|
||||||
|
{{ $appVersion := .Chart.AppVersion | quote }}
|
||||||
|
{{ $releaseCertificate := .Release.Service }}
|
||||||
|
{{ $releaseName := .Release.Name }}
|
||||||
|
{{- range $ingress := .Values.ailab.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 }}
|
||||||
97
aml-services/helm-pkg/ailab/templates/ailab/deployment.yaml
Normal file
97
aml-services/helm-pkg/ailab/templates/ailab/deployment.yaml
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
app.kubernetes.io/name: "ailab"
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
name: "ailab"
|
||||||
|
namespace: {{ .Release.Namespace | quote }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: "ailab"
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
replicas: {{ .Values.ailab.replicas }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
app.kubernetes.io/name: "ailab"
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
annotations:
|
||||||
|
app.kubernetes.io/config-checksum: {{ include (print $.Template.BasePath "/ailab/ailab-config.yaml") . | sha256sum }}
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: "ailab"
|
||||||
|
image: "{{ coalesce .Values.ailab.image.registry .Values.global.registry "docker.io"}}/{{ coalesce .Values.ailab.image.repository .Values.global.repository }}/{{ .Values.ailab.image.name }}:{{ .Values.ailab.image.tag | default "latest" }}"
|
||||||
|
imagePullPolicy: {{ .Values.ailab.image.imagePullPolicy | default "IfNotPresent" }}
|
||||||
|
ports:
|
||||||
|
{{- range $port := .Values.ailab.ports }}
|
||||||
|
- containerPort: {{ $port.containerPort }}
|
||||||
|
name: {{ $port.name }}
|
||||||
|
protocol: {{ $port.protocol }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.ailab.resources }}
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.ailab.resources | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.ailab.probes }}
|
||||||
|
{{- if and (.Values.ailab.probes.liveness) (eq .Values.ailab.probes.liveness.type "httpGet") }}
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: {{ .Values.ailab.probes.liveness.config.path }}
|
||||||
|
port: {{ .Values.ailab.probes.liveness.config.port }}
|
||||||
|
{{- if .Values.ailab.probes.liveness.config.initialDelaySeconds }}
|
||||||
|
initialDelaySeconds: {{ .Values.ailab.probes.liveness.config.initialDelaySeconds }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.ailab.probes.liveness.config.periodSeconds }}
|
||||||
|
periodSeconds: {{ .Values.ailab.probes.liveness.config.periodSeconds }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.ailab.probes.liveness.config.timeoutSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.ailab.probes.liveness.config.timeoutSeconds }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.ailab.probes.liveness.config.successThreshold }}
|
||||||
|
successThreshold: {{ .Values.ailab.probes.liveness.config.successThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.ailab.probes.liveness.config.failureThreshold }}
|
||||||
|
failureThreshold: {{ .Values.ailab.probes.liveness.config.failureThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.ailab.probes.liveness.config.terminationGracePeriodSeconds }}
|
||||||
|
terminationGracePeriodSeconds: {{ .Values.ailab.probes.liveness.config.terminationGracePeriodSeconds }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if and (.Values.ailab.probes.readiness) (eq .Values.ailab.probes.readiness.type "httpGet") }}
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: {{ .Values.ailab.probes.readiness.config.path }}
|
||||||
|
port: {{ .Values.ailab.probes.readiness.config.port }}
|
||||||
|
{{- if .Values.ailab.probes.readiness.config.initialDelaySeconds }}
|
||||||
|
initialDelaySeconds: {{ .Values.ailab.probes.readiness.config.initialDelaySeconds }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.ailab.probes.readiness.config.periodSeconds }}
|
||||||
|
periodSeconds: {{ .Values.ailab.probes.readiness.config.periodSeconds }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.ailab.probes.readiness.config.timeoutSeconds }}
|
||||||
|
timeoutSeconds: {{ .Values.ailab.probes.readiness.config.timeoutSeconds }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.ailab.probes.readiness.config.successThreshold }}
|
||||||
|
successThreshold: {{ .Values.ailab.probes.readiness.config.successThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.ailab.probes.readiness.config.failureThreshold }}
|
||||||
|
failureThreshold: {{ .Values.ailab.probes.readiness.config.failureThreshold }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end}}
|
||||||
|
env:
|
||||||
|
{{- range $key, $value := .Values.ailab.configs }}
|
||||||
|
- name: {{ $key | snakecase | upper }}
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: ailab-config
|
||||||
|
key: {{ $key | snakecase | upper }}
|
||||||
|
{{- end }}
|
||||||
36
aml-services/helm-pkg/ailab/templates/ailab/ingress.yaml
Normal file
36
aml-services/helm-pkg/ailab/templates/ailab/ingress.yaml
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{{ $namespace := .Release.Namespace }}
|
||||||
|
{{ $appVersion := .Chart.AppVersion | quote }}
|
||||||
|
{{ $releaseIngress := .Release.Service }}
|
||||||
|
{{ $releaseName := .Release.Name }}
|
||||||
|
{{- range $ingress := .Values.ailab.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 }}
|
||||||
26
aml-services/helm-pkg/ailab/templates/ailab/service.yaml
Normal file
26
aml-services/helm-pkg/ailab/templates/ailab/service.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{{ $namespace := .Release.Namespace }}
|
||||||
|
{{ $appVersion := .Chart.AppVersion | quote }}
|
||||||
|
{{ $releaseService := .Release.Service }}
|
||||||
|
{{ $releaseName := .Release.Name }}
|
||||||
|
{{- range $service := .Values.ailab.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: "ailab"
|
||||||
|
app.kubernetes.io/managed-by: {{ $releaseService }}
|
||||||
|
app.kubernetes.io/instance: {{ $releaseName }}
|
||||||
|
{{- end }}
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
{{ $namespace := .Release.Namespace }}
|
||||||
|
{{ $appVersion := .Chart.AppVersion | quote }}
|
||||||
|
{{ $releaseService := .Release.Service }}
|
||||||
|
{{ $releaseName := .Release.Name }}
|
||||||
|
|
||||||
|
{{- range $service := .Values.ailab.services }}
|
||||||
|
{{- if $service.serviceMonitor.enabled }}
|
||||||
|
---
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ $service.name }}-monitor
|
||||||
|
namespace: {{ $service.serviceMonitor.namespace }}
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/version: {{ $appVersion }}
|
||||||
|
app.kubernetes.io/name: {{ $service.name }}-monitor
|
||||||
|
app.kubernetes.io/managed-by: {{ $releaseService }}
|
||||||
|
app.kubernetes.io/instance: {{ $releaseName }}
|
||||||
|
{{- if $service.serviceMonitor.labels }}
|
||||||
|
{{- toYaml $service.serviceMonitor.labels | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
endpoints:
|
||||||
|
- path: /api/_/metrics
|
||||||
|
targetPort: {{ $service.targetPort }}
|
||||||
|
{{- if $service.serviceMonitor.interval }}
|
||||||
|
interval: {{ $service.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if $service.serviceMonitor.scrapeTimeout }}
|
||||||
|
scrapeTimeout: {{ $service.serviceMonitor.scrapeTimeout }}
|
||||||
|
{{- end }}
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- {{ $namespace | quote }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/name: {{ $service.name }}
|
||||||
|
app.kubernetes.io/instance: {{ $releaseName }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
32
aml-services/helm-pkg/ailab/templates/ailab/vpa.yaml
Normal file
32
aml-services/helm-pkg/ailab/templates/ailab/vpa.yaml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{{- if .Values.ailab.vpa }}
|
||||||
|
---
|
||||||
|
apiVersion: autoscaling.k8s.io/v1
|
||||||
|
kind: VerticalPodAutoscaler
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}-vpa
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
spec:
|
||||||
|
targetRef:
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
name: ailab
|
||||||
|
resourcePolicy:
|
||||||
|
containerPolicies:
|
||||||
|
- containerName: '*'
|
||||||
|
{{- if .Values.ailab.vpa.minAllowed.enabled }}
|
||||||
|
minAllowed:
|
||||||
|
cpu: {{ .Values.ailab.vpa.minAllowed.cpu }}
|
||||||
|
memory: {{ .Values.ailab.vpa.minAllowed.memory }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.ailab.vpa.maxAllowed.enabled }}
|
||||||
|
maxAllowed:
|
||||||
|
cpu: {{ .Values.ailab.vpa.maxAllowed.cpu }}
|
||||||
|
memory: {{ .Values.ailab.vpa.maxAllowed.memory }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.ailab.vpa.controlledResources }}
|
||||||
|
controlledResources:
|
||||||
|
{{- range .Values.ailab.vpa.controlledResources }}
|
||||||
|
- {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
65
aml-services/helm-pkg/ailab/values.alpha.yaml
Normal file
65
aml-services/helm-pkg/ailab/values.alpha.yaml
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
global:
|
||||||
|
registry: docker.io
|
||||||
|
repository: freeleaps
|
||||||
|
nodeSelector: {}
|
||||||
|
ailab:
|
||||||
|
replicas: 1
|
||||||
|
image:
|
||||||
|
registry:
|
||||||
|
repository: freeleaps
|
||||||
|
name: ailab
|
||||||
|
tag: 0.0.1
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: 8009
|
||||||
|
protocol: TCP
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: "0.1"
|
||||||
|
memory: "64Mi"
|
||||||
|
limits:
|
||||||
|
cpu: "0.2"
|
||||||
|
memory: "128Mi"
|
||||||
|
probes: {}
|
||||||
|
services:
|
||||||
|
- name: ailab-service
|
||||||
|
type: ClusterIP
|
||||||
|
port: 8009
|
||||||
|
targetPort: 8009
|
||||||
|
serviceMonitor:
|
||||||
|
enabled: false
|
||||||
|
labels:
|
||||||
|
release: kube-prometheus-stack
|
||||||
|
namespace: freeleaps-monitoring-system
|
||||||
|
interval: 30s
|
||||||
|
scrapeTimeout: ""
|
||||||
|
# Defaults to {}, which means doesn't have any ingress
|
||||||
|
ingresses: {}
|
||||||
|
configs:
|
||||||
|
serviceApiAccessHost: "0.0.0.0"
|
||||||
|
serviceApiAccessPort: 8009
|
||||||
|
containerAppRoot: /app
|
||||||
|
azureTranslationApiKey: "eaf4c14eb06b4cd790e90111dc6e9f57"
|
||||||
|
azureTranslationApiLocation: "global"
|
||||||
|
azureTranslationApiEndpoint: "https://api.cognitive.microsofttranslator.com"
|
||||||
|
azureDocumentTranslationApiEndpoint: "https://freeleaps-translation.cognitiveservices.azure.com/"
|
||||||
|
azureOpenaiApiVersion: "2024-08-06"
|
||||||
|
azureOpenaiApiKey: "BZWqFEpDiMFMAdJvGKeDisjwepqEQpKDH8R9R8Yjp8GFXCRqjeuzJQQJ99ALAC4f1cMXJ3w3AAABACOGrMqX"
|
||||||
|
azureOpenaiEndpoint: "https://freeleaps-azure-openai.openai.azure.com/"
|
||||||
|
anthropicApiKey: "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"
|
||||||
|
anthropicApiModelVersion: "claude-3-5-sonnet-20241022"
|
||||||
|
anthropicApiModelMaxToken: 1024
|
||||||
|
redisUrl: "redis://freeleaps-alpha-redis-master.freeleaps-alpha.svc.freeleaps.cluster:6379"
|
||||||
|
vpa:
|
||||||
|
minAllowed:
|
||||||
|
enabled: false
|
||||||
|
cpu: 100m
|
||||||
|
memory: 64Mi
|
||||||
|
maxAllowed:
|
||||||
|
enabled: true
|
||||||
|
cpu: 200m
|
||||||
|
memory: 128Mi
|
||||||
|
controlledResources:
|
||||||
|
- cpu
|
||||||
|
- memory
|
||||||
65
aml-services/helm-pkg/ailab/values.yaml
Normal file
65
aml-services/helm-pkg/ailab/values.yaml
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
global:
|
||||||
|
registry: docker.io
|
||||||
|
repository: freeleaps
|
||||||
|
nodeSelector: {}
|
||||||
|
ailab:
|
||||||
|
replicas: 1
|
||||||
|
image:
|
||||||
|
registry:
|
||||||
|
repository: freeleaps
|
||||||
|
name: ailab
|
||||||
|
tag: 0.0.1
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: 8009
|
||||||
|
protocol: TCP
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: "0.1"
|
||||||
|
memory: "64Mi"
|
||||||
|
limits:
|
||||||
|
cpu: "0.2"
|
||||||
|
memory: "128Mi"
|
||||||
|
probes: {}
|
||||||
|
services:
|
||||||
|
- name: ailab-service
|
||||||
|
type: ClusterIP
|
||||||
|
port: 8009
|
||||||
|
targetPort: 8009
|
||||||
|
serviceMonitor:
|
||||||
|
enabled: false
|
||||||
|
labels:
|
||||||
|
release: kube-prometheus-stack
|
||||||
|
namespace: freeleaps-monitoring-system
|
||||||
|
interval: 30s
|
||||||
|
scrapeTimeout: ""
|
||||||
|
# Defaults to {}, which means doesn't have any ingress
|
||||||
|
ingresses: {}
|
||||||
|
configs:
|
||||||
|
serviceApiAccessHost: "0.0.0.0"
|
||||||
|
serviceApiAccessPort: 8009
|
||||||
|
containerAppRoot: /app
|
||||||
|
azureTranslationApiKey: "eaf4c14eb06b4cd790e90111dc6e9f57"
|
||||||
|
azureTranslationApiLocation: "global"
|
||||||
|
azureTranslationApiEndpoint: "https://api.cognitive.microsofttranslator.com"
|
||||||
|
azureDocumentTranslationApiEndpoint: "https://freeleaps-translation.cognitiveservices.azure.com/"
|
||||||
|
azureOpenaiApiVersion: "2024-08-06"
|
||||||
|
azureOpenaiApiKey: "BZWqFEpDiMFMAdJvGKeDisjwepqEQpKDH8R9R8Yjp8GFXCRqjeuzJQQJ99ALAC4f1cMXJ3w3AAABACOGrMqX"
|
||||||
|
azureOpenaiEndpoint: "https://freeleaps-azure-openai.openai.azure.com/"
|
||||||
|
anthropicApiKey: "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"
|
||||||
|
anthropicApiModelVersion: "claude-3-5-sonnet-20241022"
|
||||||
|
anthropicApiModelMaxToken: 1024
|
||||||
|
redisUrl: "redis://freeleaps-alpha-redis-master.freeleaps-alpha.svc.freeleaps.cluster:6379"
|
||||||
|
vpa:
|
||||||
|
minAllowed:
|
||||||
|
enabled: false
|
||||||
|
cpu: 100m
|
||||||
|
memory: 64Mi
|
||||||
|
maxAllowed:
|
||||||
|
enabled: true
|
||||||
|
cpu: 200m
|
||||||
|
memory: 128Mi
|
||||||
|
controlledResources:
|
||||||
|
- cpu
|
||||||
|
- memory
|
||||||
0
aml-services/prod/.gitkeep
Normal file
0
aml-services/prod/.gitkeep
Normal file
55
diagrams/workflow.drawio
Normal file
55
diagrams/workflow.drawio
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<mxfile host="65bd71144e">
|
||||||
|
<diagram id="pfT734yZ9old_O5NwZa7" name="Page-1">
|
||||||
|
<mxGraphModel dx="906" dy="659" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
||||||
|
<root>
|
||||||
|
<mxCell id="0"/>
|
||||||
|
<mxCell id="1" parent="0"/>
|
||||||
|
<mxCell id="4" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2" target="3" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="2" value="Source Code Fetching" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="40" y="40" width="120" height="60" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="6" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="3" target="5" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="3" value="Commit Message<div>Linting</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="40" y="160" width="120" height="60" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="8" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="5" target="7" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="5" value="Dependencies Resolving" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="40" y="280" width="120" height="60" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="10" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="7" target="9" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="7" value="Build Agent<div>Setup</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="40" y="400" width="120" height="60" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="12" style="edgeStyle=none;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="9" target="11" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="9" value="Compilation &amp; Packaging" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="260" y="400" width="120" height="60" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="14" style="edgeStyle=none;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="11" target="13" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="11" value="Image Building" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="260" y="280" width="120" height="60" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="16" style="edgeStyle=none;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="13" target="15" edge="1">
|
||||||
|
<mxGeometry relative="1" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="13" value="Image Pushing" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="260" y="160" width="120" height="60" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
<mxCell id="15" value="Argo Application<div>Version Updating</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||||
|
<mxGeometry x="260" y="40" width="120" height="60" as="geometry"/>
|
||||||
|
</mxCell>
|
||||||
|
</root>
|
||||||
|
</mxGraphModel>
|
||||||
|
</diagram>
|
||||||
|
</mxfile>
|
||||||
Loading…
Reference in New Issue
Block a user