feat: add production configuration for chat, backend, and frontend services

Signed-off-by: zhenyus <zhenyus@mathmast.com>
This commit is contained in:
zhenyus 2025-03-07 06:00:56 +08:00
parent 9c9c8e384f
commit 35da3dbccd
5 changed files with 246 additions and 1 deletions

View File

@ -0,0 +1,57 @@
global:
registry: docker.io
repository: freeleaps
nodeSelector: {}
chat:
replicas: 1
image:
registry: docker.io
repository: null
name: chat
tag: latest
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 8012
protocol: TCP
resources:
requests:
cpu: '100m'
memory: 128Mi
limits:
cpu: '200m'
memory: 256Mi
probes: {}
services:
- name: chat-service
type: ClusterIP
port: 8012
targetPort: 8012
ingresses: []
configs:
tz: UTC
appName: chat
serviceApiAccessHost: 0.0.0.0
serviceApiAccessPort: 8012
mongodbName: freeleaps2
mongodbPort: 27017
mongodbUri: mongodb+srv://freeadmin:0eMV0bt8oyaknA0m@freeleaps2.zmsmpos.mongodb.net/?retryWrites=true&w=majority
emailFrom: freeleaps@freeleaps.com
siteUrlRoot: https://freeleaps.mathmast.com
jwtSecretKey: 8f87ca8c3c9c3df09a9c78e0adb0927855568f6072d9efc892534aee35f5867b
jwtAlgorithm: HS256
stripeApiKey: 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
stripeWebhookSecret: 'whsec_yWObkdtJTP4FOrmN2vPNEAv0EBGXbU3n'
stripeAccountWebhookSecret: 'whsec_cFhia4hz65OQLdhv26LZAAmjoBc6WNgg'
rabbitmqHost: freeleaps-prod-rabbitmq-headless.freeleaps-prod.svc.freeleaps.cluster
rabbitmqPort: 5672
rabbitmqUsername: user
rabbitmqPassword: D3b0HKz71T0OcYF8
freeleapsDevsvcEndpoint: http://devsvc-service.freeleaps-prod.svc.freeleaps.cluster:8007
freeleapsContentEndpoint: http://content-service.freeleaps-prod.svc.freeleaps.cluster:8013
freeleapsCentralStorageEndpoint: http://central-storage-service.freeleaps-prod.svc.freeleaps.cluster:8005
freeleapsChatEndpoint: http://chat-service.freeleaps-prod.svc.freeleaps.cluster:8012
freeleapsPaymentEndpoint: http://payment-service.freeleaps-prod.svc.freeleaps.cluster:8006
freeleapsAilabEndpoint: ''
freeleapsEnv: prod
certPath: ''

View File

@ -0,0 +1,58 @@
global:
registry: docker.io
repository: freeleaps
nodeSelector: {}
freeleaps:
replicas: 1
image:
registry: docker.io
repository: null
name: backend
tag: latest
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 8001
protocol: TCP
resources:
requests:
cpu: '100m'
memory: 128Mi
limits:
cpu: '200m'
memory: 256Mi
probes: {}
services:
- name: freeleaps-service
type: ClusterIP
port: 8001
targetPort: 8001
ingresses: []
configs:
tz: UTC
appName: freeleaps
serviceApiAccessHost: 0.0.0.0
serviceApiAccessPort: 8001
mongodbName: freeleaps2
mongodbPort: 27017
mongodbUri: mongodb+srv://freeadmin:0eMV0bt8oyaknA0m@freeleaps2.zmsmpos.mongodb.net/?retryWrites=true&w=majority
emailFrom: freeleaps@freeleaps.com
siteUrlRoot: https://freeleaps.mathmast.com
jwtSecretKey: 8f87ca8c3c9c3df09a9c78e0adb0927855568f6072d9efc892534aee35f5867b
jwtAlgorithm: HS256
stripeApiKey: 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
stripeWebhookSecret: 'whsec_yWObkdtJTP4FOrmN2vPNEAv0EBGXbU3n'
stripeAccountWebhookSecret: 'whsec_cFhia4hz65OQLdhv26LZAAmjoBc6WNgg'
rabbitmqHost: freeleaps-prod-rabbitmq-headless.freeleaps-prod.svc.freeleaps.cluster
rabbitmqPort: 5672
rabbitmqUsername: user
rabbitmqPassword: D3b0HKz71T0OcYF8
freeleapsDevsvcEndpoint: http://devsvc-service.freeleaps-prod.svc.freeleaps.cluster:8007/api/devsvc/
freeleapsContentEndpoint: http://content-service.freeleaps-prod.svc.freeleaps.cluster:8013/api/content/
freeleapsCentralStorageEndpoint: http://central-storage-service.freeleaps-prod.svc.freeleaps.cluster:8005/api/central_storage/
freeleapsChatEndpoint: http://chat-service.freeleaps-prod.svc.freeleaps.cluster:8012/api/chat/
freeleapsPaymentEndpoint: http://payment-service.freeleaps-prod.svc.freeleaps.cluster:8006/api/payment/
freeleapsAuthenticationEndpoint: http://authentication-service.freeleaps-prod.svc.freeleaps.cluster:8004/api/auth/
freeleapsAilabEndpoint: ''
freeleapsEnv: prod
certPath: ''

View File

@ -0,0 +1,52 @@
global:
registry: docker.io
repository: freeleaps
nodeSelector: {}
frontend:
replicas: 1
image:
registry: docker.io
repository: null
name: frontend
tag: latest
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 8080
protocol: TCP
resources:
requests:
cpu: '100m'
memory: 128Mi
limits:
cpu: '200m'
memory: 256Mi
probes: {}
services:
- name: frontend-service
type: ClusterIP
port: 8080
targetPort: 8080
ingresses:
- name: frontend-ingress
host: freeleaps.mathmast.com
class: nginx
rules:
- path: /
pathType: Prefix
backend:
service:
name: frontend-service
port:
number: 8080
tls:
exists: false
issuerRef:
name: mathmast-dot-com
kind: ClusterIssuer
name: freeleaps.mathmast.com-cert
configs:
tz: UTC
frontendPort: 8080
freeleapsChatEndpoint: http://chat-service.freeleaps-prod.svc.freeleaps.cluster:8012
freeleapsBackendEndpoint: http://freeleaps-service.freeleaps-prod.svc.freeleaps.cluster:8001

View File

@ -7,7 +7,7 @@ executeFreeleapsPipeline {
serviceGitRepo = "https://freeleaps@dev.azure.com/freeleaps/freeleaps2-devsvc/_git/freeleaps2-devsvc" serviceGitRepo = "https://freeleaps@dev.azure.com/freeleaps/freeleaps2-devsvc/_git/freeleaps2-devsvc"
serviceGitRepoType = 'monorepo' serviceGitRepoType = 'monorepo'
serviceGitCredentialsId = 'freeleaps-azure-devops-credentials' serviceGitCredentialsId = 'freeleaps-azure-devops-credentials'
executeMode = 'fully' executeMode = 'on-demand'
commitMessageLintEnabled = false commitMessageLintEnabled = false
components = [ components = [
[ [

View File

@ -0,0 +1,78 @@
library 'first-class-pipeline'
executeFreeleapsPipeline {
serviceName = 'freeleaps'
environmentSlug = 'prod'
serviceGitBranch = 'master'
serviceGitRepo = "https://freeleaps@dev.azure.com/freeleaps/freeleaps2-frontend/_git/freeleaps2-frontend"
serviceGitRepoType = 'monorepo'
serviceGitCredentialsId = 'freeleaps-azure-devops-credentials'
executeMode = 'fully'
commitMessageLintEnabled = false
components = [
[
name: 'chat',
root: 'apps/chat',
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: 'chat',
imageBuilder: 'dind',
dockerfilePath: '../chat.Dockerfile',
imageBuildRoot: '..',
imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'],
registryCredentialsId: 'freeleaps-devops-docker-hub-credentials',
semanticReleaseEnabled: true
],
[
name: 'freeleaps',
root: 'apps/freeleaps',
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: 'backend',
imageBuilder: 'dind',
dockerfilePath: '../freeleaps.Dockerfile',
imageBuildRoot: '..',
imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'],
registryCredentialsId: 'freeleaps-devops-docker-hub-credentials',
semanticReleaseEnabled: true
],
[
name: 'frontend',
root: 'frontend',
language: 'javascript',
dependenciesManager: 'pnpm',
pnpmPackageJsonFile: 'package.json',
buildCacheEnabled: true,
buildAgentImage: 'node:lts',
buildCommand: 'pnpm -r build',
buildArtifacts: ['freeleaps/dist'],
lintEnabled: false,
sastEnabled: false,
imageRegistry: 'docker.io',
imageRepository: 'freeleaps',
imageName: 'frontend',
imageBuilder: 'dind',
dockerfilePath: 'Dockerfile',
imageBuildRoot: '.',
imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'],
registryCredentialsId: 'freeleaps-devops-docker-hub-credentials',
semanticReleaseEnabled: true
]
]
}