diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..eb1fc1b757b7e65a1055763e57b726dcfe361460 Binary files /dev/null and b/.DS_Store differ diff --git a/Chart.yaml b/Chart.yaml new file mode 100644 index 0000000000000000000000000000000000000000..68766f0ca4e4e57b559304fabb2313ca66579bab --- /dev/null +++ b/Chart.yaml @@ -0,0 +1,31 @@ +apiVersion: v2 +name: beagle-xc-manage +description: A Helm chart for Kubernetes + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 1.5 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +# It is recommended to use it with quotes. +appVersion: "1.16.0" + +keywords: + - beagle + - data +maintainers: + - name: xuzeyi +engine: gotpl \ No newline at end of file diff --git a/README.md b/README.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8b9bd5b015ed29805c90b2c14e79678248bc6791 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,34 @@ +## 注意需要依赖 + 1.opensearch + chart地址:https://cloud.wodcloud.com/git/market/beagle-opensearch + + 2.minio + chart地址:https://cloud.wodcloud.com/git/deploy/xc-migration-yaml/-/tree/v3.3/charts%2Fminio + +## Install +helm install \ +beagle-xc-manage \ +/etc/kubernetes/charts/beagle-xc-manage \ +--namespace xc-manage \ +-f /etc/kubernetes/charts/values-overrides.yaml + +## Upgrade +helm upgrade \ +beagle-xc-manage \ +/etc/kubernetes/charts/beagle-xc-manage \ +--namespace xc-manage \ +-f /etc/kubernetes/charts/values-overrides.yaml + +## Uninstall +helm uninstall \ +beagle-xc-manage \ +--namespace xc-manage + +kubectl delete ns xc-manage + +## Template +helm template \ +beagle-xc-manage \ +/etc/kubernetes/charts/beagle-xc-manage \ +--namespace xc-manage \ +-f /etc/kubernetes/charts/values-overrides.yaml > /etc/kubernetes/charts/beagle-xc-manage-dist.yaml diff --git a/templates/_helpers.tpl b/templates/_helpers.tpl new file mode 100644 index 0000000000000000000000000000000000000000..07129fa8bc0d033a0e1d2973e7f3cc0c72c3433b --- /dev/null +++ b/templates/_helpers.tpl @@ -0,0 +1,39 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "xc-manage.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "xc-manage.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | 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 "xc-manage.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 }} + +{{- define "beagle.imageArch" -}} +{{- if not (eq "amd64" .Values.global.imageArch) -}} +{{- print "-" .Values.global.imageArch -}} +{{- else -}} +{{- print "" -}} +{{- end -}} +{{- end }} \ No newline at end of file diff --git a/templates/ingresshost.yaml b/templates/ingresshost.yaml new file mode 100644 index 0000000000000000000000000000000000000000..abfd050d5e3bfe9e8790ccb9d6e725b29edd7b5d --- /dev/null +++ b/templates/ingresshost.yaml @@ -0,0 +1,9 @@ +{{- if .Values.global.ingressroute.enabled }} +--- +apiVersion: bcc.bd-apaas.com/v1alpha1 +kind: IngressHost +metadata: + name: xc-manage +spec: + host: "{{ .Values.global.ingressroute.host }}" +{{- end }} diff --git a/templates/xc-cloud-ui/deployment.yaml b/templates/xc-cloud-ui/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9d46ff7d7832a85c646b6c7c90804dff9c9d250d --- /dev/null +++ b/templates/xc-cloud-ui/deployment.yaml @@ -0,0 +1,37 @@ +--- +kind: "Deployment" +apiVersion: "apps/v1" +metadata: + name: "xc-cloud-ui" + labels: + app.kubernetes.io/name: xc-cloud-ui + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: "xc-cloud-ui" +spec: + replicas: 1 + selector: + matchLabels: + app: "xc-cloud-ui" + template: + metadata: + labels: + app.kubernetes.io/name: xc-cloud-ui + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: "xc-cloud-ui" + spec: + containers: + - name: "xc-cloud-ui" + {{- if contains "/" .Values.cloud.image.repository }} + image: "{{ .Values.cloud.image.repository }}:{{ .Values.cloud.image.tag }}{{ include "beagle.imageArch" . }}" + {{- else }} + image: "{{ .Values.global.hub }}/{{ .Values.cloud.image.repository }}:{{ .Values.cloud.image.tag }}{{ include "beagle.imageArch" . }}" + {{- end }} + imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" + ports: + - name: http + containerPort: 8080 + protocol: TCP \ No newline at end of file diff --git a/templates/xc-cloud-ui/ingressroute.yaml b/templates/xc-cloud-ui/ingressroute.yaml new file mode 100644 index 0000000000000000000000000000000000000000..848bb91e248907c22376a9e1da724d9fb53b150c --- /dev/null +++ b/templates/xc-cloud-ui/ingressroute.yaml @@ -0,0 +1,22 @@ +{{- if .Values.global.ingressroute.enabled }} +--- +kind: IngressRoute +apiVersion: bcc.bd-apaas.com/v1alpha1 +metadata: + name: xc-cloud-ui + labels: + app.kubernetes.io/name: xc-cloud-ui + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" +spec: + entryPoints: + - websecure + routes: + - kind: Rule + match: Host(`{{ .Values.global.ingressroute.host }}`) && PathPrefix(`/xc/cloud/ui`) + services: + - name: xc-cloud-ui + port: 8080 + tls: {} +{{- end }} \ No newline at end of file diff --git a/templates/xc-cloud-ui/service.yaml b/templates/xc-cloud-ui/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..35aea41db4c75461bf55ab286c72f5f9b9d3ca06 --- /dev/null +++ b/templates/xc-cloud-ui/service.yaml @@ -0,0 +1,18 @@ +--- +kind: Service +apiVersion: v1 +metadata: + name: "xc-cloud-ui" + labels: + app.kubernetes.io/name: xc-cloud-ui + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" +spec: + ports: + - name: http + protocol: TCP + port: 8080 + targetPort: 8080 + selector: + app: "xc-cloud-ui" diff --git a/templates/xc-manage-api/configmap.yaml b/templates/xc-manage-api/configmap.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7a2891f35130181099b43c2d13ccc6a2b8c1e523 --- /dev/null +++ b/templates/xc-manage-api/configmap.yaml @@ -0,0 +1,60 @@ +--- +kind: ConfigMap +apiVersion: v1 +metadata: + name: xc-manage-api + labels: + app.kubernetes.io/name: xc-manage-api + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" +data: + AWE_DEX_URL: "{{ .Values.global.aweDex }}" # dex地址 + AWE_ADMIN_NAME: "{{ .Values.global.aweAdminName }}" # 容器云超级管理员账号id + K8S_SERVER: "{{ .Values.global.k8sServer }}" # k8s可通讯地址(内网环境尽量使用容器可解析的svc地址) + K8S_TOKEN: "{{ .Values.global.k8sToken }}" + DB_DSN: "{{ .Values.global.dbDsn }}" # xc-manage-api 数据库 + DB_DRIVER: "{{ .Values.global.dbDrive }}" # postgres # 对应驱动请查阅文档:https://zorm.cn/ + DB_DIALECT: "{{ .Values.global.dbDialectd }}" # postgresql + REDIS_URL: "redis://xc-manage-redis.{{ .Release.Namespace }}:6379" # xc-manage-api redis地址 + REDIS_PASS: "{{ .Values.redis.passwd }}" # redis 账号 + REDIS_TAG: "{{ .Values.redis.tag }}" # redis key前缀 + MINIO_SERVER: "{{ .Values.global.minio.server }}" + MINIO_ACCESS_KEY: "{{ .Values.global.minio.access_key }}" + MINIO_SECRET_KEY: "{{ .Values.global.minio.secret_key }}" + MINIO_BUCKET: "{{ .Values.global.minio.bucket }}" + ETCD_ENDPOINTS: "http://xc-manage-etcd:2379" # 信创 etcd 地址(rcache、kmq、nregistercenter等所连地址) + ETCD_USERNAME: "" # etcd 用户名 + ETCD_PASSWORD: "" # etcd 密码 + ETCD_KEY_FILE: "" + ETCD_CERT_FILE: "" + ETCD_CA_FILE: "" + ETCD_INSTANCE_PREFIX: "xc-store/instance/" + XC_HOST: "https://{{ .Values.global.ingressroute.host }}" # 信创项目主域名(外网) + NAMESPACE: "{{ .Release.Namespace }}" + GRAFANA_SVC: "http://beagle-prometheus-grafana.beagle-monitoring/awecloud/grafana" # Grafana 服务地址(内网) + GRAFANA_API_KEY: "eyJrIjoiVUt3VDJpZ3dQQjB2U2JRVnJtWDN0a0NXYkNOSmZTdVQiLCJuIjoieGluY2h1YW5nIiwiaWQiOjF9" # Grafana ApiKey + ORDER_DING_TALK_ACCESS_TOKEN: "203fe1644b446bba0a34e6e622c523d39ee9916fdad94b9c64224449f659e20b" # 钉钉token + ORDER_DING_TALK_SECRET: "SECa73d8372e336451c9daf29a99f750ee1bdd170c1dab910eab9cd06d729a831b7" # 钉钉secret + BLACKBOX_EXPORTER_IMG: "registry.cn-hangzhou.aliyuncs.com/opert/blackbox_exporter:v1" # BlackBoxExporter 镜像地址 + SQL_EXPORTER_IMG: "registry.cn-hangzhou.aliyuncs.com/opert/sql_exporter:v1" # SqlExporter 镜像地址 + SMS_ACCESS_KEY: "LTAI4GBcVubRjzX7ABPcHnhB" # 阿里短信key + SMS_ACCESS_SECRET: "dYE2dtABFOqYtK1ijcrits0yedHkw7" # 阿里短信secret + SMS_TEMPLATE_LOGIN: "SMS_212925130" # 登录验证码短信模板 + SMS_TEMPLATE_ALERT: "SMS_461975765" # 预警短信模板 + SMS_WORK_ORDER_TEMPLATE: "SMS_462020767" # 工单短信模板 + SMS_SIGN_NAME: "比格数据" # 短信名称 + PROMETHEUS_HOST: "https://prometheus.{{ .Values.global.domainName }}" # 普罗米修斯地址(内网或外网) + AWE_REST_URL: "http://awecloud-rest.beagle-system/awecloud/rest" # 容器云 rest 地址(内网) + OPEN_SEARCH_ADDRESSES: "{{ .Values.global.opensearch.url }}" # opensearch (内网) + OPEN_SEARCH_USER_NAME: "{{ .Values.global.opensearch.username }}" # opensearch 用户名 + OPEN_SEARCH_PASSWORD: "{{ .Values.global.opensearch.password }}" # opensearch 密码 + KK_BASE_URL: 'https://{{ .Values.global.ingressroute.host }}/kkfileview' # kkFileView访问地址(外网) + KK_CONTEXT_PATH: '/kkfileview' # kkFileView 路由前缀,建议与KK_BASE_URL路由保持一致 + KK_OFFICE_PREVIEW_TYPE: 'pdf' # kkFileView office类型文档(word ppt)样式,默认为图片(image),可配置为pdf(预览时也有按钮切换) + KK_PDF_PRINT_DISABLE: 'false' # kkFileView 是否禁止打印转换生成的pdf文件 + LICENSE_GRPC: "license-server-api.beagle-system:8081" # license 授权 grpc 地址 + PRODUCT_ID: "BG-XC-SM-STANDARD-10" # 项目平台id + PRODUCT_NAME: "信创实施管理平台" # 项目平台名称 + + diff --git a/templates/xc-manage-api/deployment.yaml b/templates/xc-manage-api/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5495f5e640070212e47b7e61e7a31575a79dbf75 --- /dev/null +++ b/templates/xc-manage-api/deployment.yaml @@ -0,0 +1,51 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: xc-manage-api + labels: + app.kubernetes.io/name: xc-manage-api + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-api +spec: + replicas: 1 + selector: + matchLabels: + app: xc-manage-api + template: + metadata: + labels: + app.kubernetes.io/name: xc-manage-api + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-api + spec: + volumes: + - name: localtime + hostPath: + path: /etc/localtime + containers: + - name: xc-manage-api + {{- if contains "/" .Values.api.image.repository }} + image: "{{ .Values.api.image.repository }}:{{ .Values.api.image.tag }}{{ include "beagle.imageArch" . }}" + {{- else }} + image: "{{ .Values.global.hub }}/{{ .Values.api.image.repository }}:{{ .Values.api.image.tag }}{{ include "beagle.imageArch" . }}" + {{- end }} + imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" + ports: + - containerPort: 8888 + protocol: TCP + envFrom: + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: "{{ .Release.Namespace }}" + envFrom: + - configMapRef: + name: xc-manage-api + volumeMounts: + - name: localtime + mountPath: /etc/localtime + diff --git a/templates/xc-manage-api/ingressroute.yaml b/templates/xc-manage-api/ingressroute.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7bf68136ff4c9ea7fafb86a46d7dbdd377cd9a43 --- /dev/null +++ b/templates/xc-manage-api/ingressroute.yaml @@ -0,0 +1,23 @@ +{{- if .Values.global.ingressroute.enabled }} +--- +kind: IngressRoute +apiVersion: bcc.bd-apaas.com/v1alpha1 +metadata: + name: xc-manage-api + labels: + app.kubernetes.io/name: xc-manage-api + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" +spec: + entryPoints: + - websecure + routes: + - kind: Rule + match: Host(`{{ .Values.global.ingressroute.host }}`) && PathPrefix(`/xc-manage-api`) + services: + - kind: Service + name: xc-manage-api + port: 80 + tls: {} +{{- end }} \ No newline at end of file diff --git a/templates/xc-manage-api/service.yaml b/templates/xc-manage-api/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6f5bb6d22249f295ae3ca0bdb96188c1ce77eada --- /dev/null +++ b/templates/xc-manage-api/service.yaml @@ -0,0 +1,19 @@ +--- +kind: Service +apiVersion: v1 +metadata: + name: xc-manage-api + labels: + app.kubernetes.io/name: xc-manage-api + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-api +spec: + ports: + - name: http + protocol: TCP + port: 80 + targetPort: 8888 + selector: + app: xc-manage-api \ No newline at end of file diff --git a/templates/xc-manage-etcd/service.yaml b/templates/xc-manage-etcd/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..21de638624b564a3a00707a0533de82ecdd8bf64 --- /dev/null +++ b/templates/xc-manage-etcd/service.yaml @@ -0,0 +1,19 @@ +--- +kind: Service +apiVersion: v1 +metadata: + name: xc-manage-etcd + labels: + app.kubernetes.io/name: xc-manage-etcd + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-etcd +spec: + ports: + - name: client + protocol: TCP + port: 2379 + targetPort: 2379 + selector: + app: xc-manage-etcd \ No newline at end of file diff --git a/templates/xc-manage-etcd/statefulset.yaml b/templates/xc-manage-etcd/statefulset.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5e508adc3d160499ccea93fcb1edef833c334d6e --- /dev/null +++ b/templates/xc-manage-etcd/statefulset.yaml @@ -0,0 +1,69 @@ +--- +kind: StatefulSet +apiVersion: apps/v1 +metadata: + name: xc-manage-etcd + labels: + app.kubernetes.io/name: xc-manage-etcd + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-etcd +spec: + serviceName: xc-manage-etcd + selector: + matchLabels: + app: xc-manage-etcd + {{- if .Values.etcd.persistence.enabled }} + volumeClaimTemplates: + - metadata: + name: data + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi + storageClassName: "{{ .Values.etcd.persistence.storageClass }}" + volumeMode: Filesystem + {{- end }} + template: + metadata: + labels: + app.kubernetes.io/name: xc-manage-etcd + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-etcd + spec: + containers: + - name: etcd + {{- if contains "/" .Values.etcd.image.repository }} + image: "{{ .Values.etcd.image.repository }}:{{ .Values.etcd.image.tag }}{{ include "beagle.imageArch" . }}" + {{- else }} + image: "{{ .Values.global.hub }}/{{ .Values.etcd.image.repository }}:{{ .Values.etcd.image.tag }}{{ include "beagle.imageArch" . }}" + {{- end }} + imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" + command: + - /usr/local/bin/etcd + - --name + - xc-manage-etcd-0 + - --data-dir + - /data + - --initial-advertise-peer-urls + - http://xc-manage-etcd-0:2380 + - --listen-peer-urls + - http://0.0.0.0:2380 + - --listen-client-urls + - http://0.0.0.0:2379 + - --advertise-client-urls + - http://xc-manage-etcd-0:2379 + ports: + - containerPort: 2379 + name: client + protocol: TCP + {{- if .Values.etcd.persistence.enabled }} + volumeMounts: + - name: data + mountPath: /data + {{- end }} \ No newline at end of file diff --git a/templates/xc-manage-init/job.yaml b/templates/xc-manage-init/job.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4409eba0c062fa6d29a16f2406bead9a9b401017 --- /dev/null +++ b/templates/xc-manage-init/job.yaml @@ -0,0 +1,28 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: xc-manage-init + labels: + app.kubernetes.io/name: xc-manage-init + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-init +spec: + template: + spec: + restartPolicy: Never + containers: + - name: xc-manage-init + {{- if contains "/" .Values.init.image.repository }} + image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}{{ include "beagle.imageArch" . }}" + {{- else }} + image: "{{ .Values.global.hub }}/{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}{{ include "beagle.imageArch" . }}" + {{- end }} + imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" + env: + - name: DB_URL + value: "user=postgres password=passwd123 host=postgresql.xc-manage port=5432 dbname=test-demo sslmode=disable" + - name: DB_DRIVER + value: "postgres" + backoffLimit: 2 diff --git a/templates/xc-manage-kkfileview/deployment.yaml b/templates/xc-manage-kkfileview/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e9d4b510e196c8fd1c25584706fafe571be800a5 --- /dev/null +++ b/templates/xc-manage-kkfileview/deployment.yaml @@ -0,0 +1,46 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: kkfileview + labels: + app.kubernetes.io/name: kkfileview + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: kkfileview +spec: + replicas: 1 + selector: + matchLabels: + app: kkfileview + template: + metadata: + labels: + app.kubernetes.io/name: kkfileview + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: kkfileview + spec: + volumes: + - name: localtime + hostPath: + path: /etc/localtime + containers: + - name: kkfileview + {{- if contains "/" .Values.kkfileview.image.repository }} + image: "{{ .Values.kkfileview.image.repository }}:{{ .Values.kkfileview.image.tag }}{{ include "beagle.imageArch" . }}" + {{- else }} + image: "{{ .Values.global.hub }}/{{ .Values.kkfileview.image.repository }}:{{ .Values.kkfileview.image.tag }}{{ include "beagle.imageArch" . }}" + {{- end }} + imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" + ports: + - containerPort: 8012 + protocol: TCP + envFrom: + - configMapRef: + name: xc-manage-api + volumeMounts: + - name: localtime + mountPath: /etc/localtime + diff --git a/templates/xc-manage-kkfileview/ingressroute.yaml b/templates/xc-manage-kkfileview/ingressroute.yaml new file mode 100644 index 0000000000000000000000000000000000000000..782f04735ee07f0a2ce9545247d41edb6e2d5882 --- /dev/null +++ b/templates/xc-manage-kkfileview/ingressroute.yaml @@ -0,0 +1,23 @@ +{{- if .Values.global.ingressroute.enabled }} +--- +kind: IngressRoute +apiVersion: bcc.bd-apaas.com/v1alpha1 +metadata: + name: kkfileview + labels: + app.kubernetes.io/name: kkfileview + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" +spec: + entryPoints: + - websecure + routes: + - kind: Rule + match: Host(`{{ .Values.global.ingressroute.host }}`) && PathPrefix(`/kkfileview`) + services: + - kind: Service + name: kkfileview + port: 80 + tls: {} +{{- end }} \ No newline at end of file diff --git a/templates/xc-manage-kkfileview/service.yaml b/templates/xc-manage-kkfileview/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..618be25b72640ad6546f9e555d676c9808b83911 --- /dev/null +++ b/templates/xc-manage-kkfileview/service.yaml @@ -0,0 +1,19 @@ +--- +kind: Service +apiVersion: v1 +metadata: + name: kkfileview + labels: + app.kubernetes.io/name: kkfileview + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: kkfileview +spec: + ports: + - name: http + protocol: TCP + port: 80 + targetPort: 8012 + selector: + app: kkfileview \ No newline at end of file diff --git a/templates/xc-manage-postgres/service.yaml b/templates/xc-manage-postgres/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e6736fcfdfb87b9db4616c46fc0516500651c727 --- /dev/null +++ b/templates/xc-manage-postgres/service.yaml @@ -0,0 +1,19 @@ +--- +kind: Service +apiVersion: v1 +metadata: + name: xc-manage-postgres + labels: + app.kubernetes.io/name: xc-manage-postgres + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-postgres +spec: + ports: + - name: postgres + protocol: TCP + port: 5432 + targetPort: 5432 + selector: + app: xc-manage-postgres \ No newline at end of file diff --git a/templates/xc-manage-postgres/statefulset.yaml b/templates/xc-manage-postgres/statefulset.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b44fc40fc5e46e82c5918c17f80bf9b8b2ec586f --- /dev/null +++ b/templates/xc-manage-postgres/statefulset.yaml @@ -0,0 +1,100 @@ +--- +kind: StatefulSet +apiVersion: apps/v1 +metadata: + name: xc-manage-postgres + labels: + app.kubernetes.io/name: xc-manage-postgres + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-postgres +spec: + serviceName: xc-manage-postgres + selector: + matchLabels: + app: xc-manage-postgres + {{- if .Values.postgres.persistence.enabled }} + volumeClaimTemplates: + - metadata: + name: data + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi + storageClassName: "{{ .Values.postgres.persistence.storageClass }}" + volumeMode: Filesystem + {{- end }} + template: + metadata: + labels: + app.kubernetes.io/name: xc-manage-postgres + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-postgres + spec: + containers: + - name: postgres + {{- if contains "/" .Values.postgres.image.repository }} + image: "{{ .Values.postgres.image.repository }}:{{ .Values.postgres.image.tag }}{{ include "beagle.imageArch" . }}" + {{- else }} + image: "{{ .Values.global.hub }}/{{ .Values.postgres.image.repository }}:{{ .Values.postgres.image.tag }}{{ include "beagle.imageArch" . }}" + {{- end }} + imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" + ports: + - containerPort: 5432 + protocol: TCP + env: + - name: POSTGRES_PASSWORD + value: "{{ .Values.postgres.passwd }}" + {{- if .Values.etcd.persistence.enabled }} + volumeMounts: + - mountPath: /var/lib/postgresql/data + name: data + - mountPath: /etc/localtime + name: localtime + {{- end }} + initContainers: + - command: + - rm + - -Rf + - /var/lib/postgresql/data/lost+found + {{- if contains "/" .Values.postgres.initimage.repository }} + image: "{{ .Values.postgres.initimage.repository }}:{{ .Values.postgres.initimage.tag }}{{ include "beagle.imageArch" . }}" + {{- else }} + image: "{{ .Values.global.hub }}/{{ .Values.postgres.initimage.repository }}:{{ .Values.postgres.initimage.tag }}{{ include "beagle.imageArch" . }}" + {{- end }} + imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" + name: lost-found + resources: {} + volumeMounts: + - mountPath: /var/lib/postgresql/data + name: data + - command: + - chown + - -R + - 999:999 + - /var/lib/postgresql/data + {{- if contains "/" .Values.postgres.initimage.repository }} + image: "{{ .Values.postgres.initimage.repository }}:{{ .Values.postgres.initimage.tag }}{{ include "beagle.imageArch" . }}" + {{- else }} + image: "{{ .Values.global.hub }}/{{ .Values.postgres.initimage.repository }}:{{ .Values.postgres.initimage.tag }}{{ include "beagle.imageArch" . }}" + {{- end }} + imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" + name: init-data + resources: {} + volumeMounts: + - mountPath: /var/lib/postgresql/data + name: data + volumes: + - hostPath: + path: /etc/localtime + type: "" + name: localtime + + + + diff --git a/templates/xc-manage-redis/configmap.yaml b/templates/xc-manage-redis/configmap.yaml new file mode 100644 index 0000000000000000000000000000000000000000..39972dc40d4b62ddcb5c9d08710fac6e7a84966f --- /dev/null +++ b/templates/xc-manage-redis/configmap.yaml @@ -0,0 +1,22 @@ +--- +kind: ConfigMap +apiVersion: v1 +metadata: + name: xc-manage-redis + labels: + app.kubernetes.io/name: xc-manage-redis + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" +data: + redis.conf: | + daemonize no + pidfile /var/run/redis.pid + port 6379 + timeout 0 + loglevel verbose + logfile stdout + databases 16 + maxmemory 256mb + appendonly no + requirepass spaceIN@511 \ No newline at end of file diff --git a/templates/xc-manage-redis/deployment.yaml b/templates/xc-manage-redis/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..78b82e062ff9afc135da50e6c40cce184dacf0b6 --- /dev/null +++ b/templates/xc-manage-redis/deployment.yaml @@ -0,0 +1,61 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: xc-manage-redis + labels: + app.kubernetes.io/name: xc-manage-redis + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-redis +spec: + replicas: 1 + selector: + matchLabels: + app: xc-manage-redis + template: + metadata: + labels: + app.kubernetes.io/name: xc-manage-redis + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-redis + spec: + volumes: + - name: localtime + hostPath: + path: /etc/localtime + - name: conf + configMap: + name: xc-manage-redis + containers: + - name: xc-manage-redis + {{- if contains "/" .Values.redis.image.repository }} + image: "{{ .Values.redis.image.repository }}:{{ .Values.redis.image.tag }}{{ include "beagle.imageArch" . }}" + {{- else }} + image: "{{ .Values.global.hub }}/{{ .Values.redis.image.repository }}:{{ .Values.redis.image.tag }}{{ include "beagle.imageArch" . }}" + {{- end }} + imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" + ports: + - containerPort: 6379 + protocol: TCP + args: + - /usr/local/etc/redis/redis.conf + livenessProbe: + tcpSocket: + port: 6379 + initialDelaySeconds: 300 + periodSeconds: 10 + readinessProbe: + tcpSocket: + port: 6379 + initialDelaySeconds: 1 + periodSeconds: 10 + volumeMounts: + - name: localtime + mountPath: /etc/localtime + - name: conf + mountPath: /usr/local/etc/redis + + diff --git a/templates/xc-manage-redis/service.yaml b/templates/xc-manage-redis/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bc12d8d499610c382b6ffbb1c85048d61f95fd21 --- /dev/null +++ b/templates/xc-manage-redis/service.yaml @@ -0,0 +1,19 @@ +--- +kind: Service +apiVersion: v1 +metadata: + name: xc-manage-redis + labels: + app.kubernetes.io/name: xc-manage-redis + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-redis +spec: + ports: + - name: redis + protocol: TCP + port: 6379 + targetPort: 6379 + selector: + app: xc-manage-redis \ No newline at end of file diff --git a/templates/xc-manage-static/configmap.yaml b/templates/xc-manage-static/configmap.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1ce2658aa8ac9295d6e4ad6ec7044abe69be022a --- /dev/null +++ b/templates/xc-manage-static/configmap.yaml @@ -0,0 +1,397 @@ +--- +kind: ConfigMap +apiVersion: v1 +metadata: + name: xc-manage-static + labels: + app.kubernetes.io/name: xc-manage-static + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" +data: + static.conf: | + server { + charset utf-8; + listen 8080; + server_name localhost; + add_header X-Frame-Options ALLOW-FROM; + + location /static { + alias /data/; + autoindex on; + autoindex_exact_size off; + autoindex_localtime on; + charset utf-8; + + # 添加跨域配置 + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept'; + add_header 'Access-Control-Max-Age' 1728000; + add_header 'Content-Type' 'text/plain charset=UTF-8'; + add_header 'Content-Length' 0; + return 204; + } + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept'; + } + } + + menu.js: | #注意缩进 + export const TOP_MENUS = [{ + id: 100, + level: 1, + menuName: "工作台", + menuType: 1, + path: "/xc/cloud/ui/#/work-bench", //跳转路径 + isTop: true, //表示是主系统,子系统点击打开新标签页 主系统页面 + isInitTab: true, + children: null, + roles: [1, 2, 3, 4], //权限 + }, + { + id: 111, + level: 1, + menuName: "信创服务", + menuType: 0, + isTop: false, + children: [{ + id: 10121, + level: 3, + menuName: "微服务", + menuType: 0, + isTop: false, + children: [{ + id: 101211, + level: 4, + menuName: "注册及服务中心", + menuType: 1, + path: "/store-nregistercente/ui/", + children: null, + isTop: false, + roles: [1, 2, 3, 4], + }, + { + id: 101212, + level: 4, + menuName: "全链路监控", + menuType: 1, + path: "https://btel.wodcloud.com/btel/ui/#/monitoring/dataModels/", + // path: `${window.BTEL_BASE_URL}/btel/ui/`, + children: null, + isTop: false, + roles: [1, 2, 3, 4], + }, + ], + roles: [1, 2, 3, 4], + }, + { + id: 10122, + level: 3, + menuName: "消息队列", + menuType: 0, + isTop: false, + children: [{ + id: 101221, + level: 4, + menuName: "云消息队列KMQ", + menuType: 1, + path: "/store-kmq/ui/", + children: null, + isTop: false, + roles: [1, 2, 3, 4], + },], + roles: [1, 2, 3, 4], + }, + { + id: 10123, + level: 3, + menuName: "开发与运维", + menuType: 0, + isTop: false, + children: [{ + id: 101231, + level: 4, + menuName: "云测试", + menuType: 1, + path: "/awecloud/xcstore/jtest/", + children: null, + isTop: false, + roles: [1, 2, 3, 4], + }, + { + id: 101232, + level: 4, + menuName: "云IDE", + menuType: 1, + path: "", + isTop: false, + children: null, + roles: [1, 2, 3, 4], + }, + ], + roles: [1, 2, 3], + }, + { + id: 10124, + level: 3, + menuName: "容器服务", + menuType: 0, + isTop: false, + children: [{ + id: 101241, + level: 4, + menuName: "容器镜像服务", + menuType: 1, + path: "", + isTop: false, + children: null, + roles: [1, 2, 3, 4], + }, + { + id: 101242, + level: 4, + menuName: "应用迁移服务", + menuType: 1, + path: "/migration/ui/", + isTop: false, + children: null, + roles: [1, 2, 3, 4], + }, + ], + roles: [1, 2, 3, 4], + }, + { + id: 10125, + level: 3, + menuName: "数据库", + menuType: 0, + isTop: false, + children: [{ + id: 101251, + level: 4, + menuName: "数据计算平台", + menuType: 1, + path: "/xc-computing/ui/", + isTop: false, + children: null, + roles: [1, 2, 3, 4], + }, + // { + // id: 101252, + // level: 4, + // menuName: "数据库增强", + // menuType: 1, + // path: "", + // isTop:false, + // children: null, + // roles: [1, 2, 3, 4], + // }, + { + id: 101253, + level: 4, + menuName: "数据迁移服务(DMHS)", + menuType: 1, + path: "/store-dmhs/ui/", + isTop: false, + children: null, + roles: [1, 2, 3, 4], + }, + { + id: 101254, + level: 4, + menuName: "数据迁移服务(DTS)", + menuType: 1, + path: "/store-dts/ui/", + isTop: false, + children: null, + roles: [1, 2, 3, 4], + }, + ], + roles: [1, 2, 3, 4], + }, + { + id: 10126, + level: 3, + menuName: "缓存数据库", + menuType: 0, + isTop: false, + children: [{ + id: 101261, + level: 4, + menuName: "RCache", + menuType: 1, + path: "/store-rcache/ui/", + isTop: false, + children: null, + roles: [1, 2, 3, 4], + }, + { + id: 101262, + level: 4, + menuName: "Redis-arm64", + menuType: 1, + path: "", + isTop: false, + children: null, + roles: [1, 2, 3, 4], + }, + { + id: 101263, + level: 4, + menuName: "Memcache-arm64", + menuType: 1, + path: "", + isTop: false, + children: null, + roles: [1, 2, 3, 4], + }, + ], + roles: [1, 2, 3, 4], + }, + ], + roles: [1, 2, 3, 4], + }, + { + id: 112, + menuName: "迁移管理", + level: 1, + menuType: 1, + path: "/xcqy/manage/ui/", + isTop: false, + children: null, + roles: [1, 2, 3, 4], + }, + { + id: 102, + level: 1, + menuName: "Q&A", + menuType: 1, + path: "/xc/cloud/ui/#/question-list", + roles: [1, 2, 3, 4], + isTop: true, + children: null, + }, + { + id: 103, + level: 1, + menuName: "系统管理", + menuType: 0, + isTop: true, + roles: [1, 2], + children: [{ + id: 1021, + level: 2, + menuName: "Q&A管理", + menuType: 1, + path: "/xc/cloud/ui/#/question-manage", + children: null, + isTop: true, + roles: [1], + }, + { + id: 105, + level: 1, + menuName: "单位管理", + menuType: 1, + path: "/xc/cloud/ui/#/unit-manage", + children: null, + isTop: true, + roles: [1, 2], + }, + { + id: 103, + level: 1, + menuName: "用户管理", + menuType: 1, + path: "/xc/cloud/ui/#/user-manage", + children: null, + isTop: true, + roles: [1, 2], + }, + { + id: 104, + level: 1, + menuName: "字典管理", + menuType: 1, + path: "/xc/cloud/ui/#/dict-manage", + children: null, + isTop: true, + roles: [1], + }, + { + id: 105, + level: 1, + menuName: "首选项", + menuType: 1, + path: "/xc/cloud/ui/#/preferences", + children: null, + isTop: true, + roles: [1], + }, + { + id: 106, + level: 2, + menuName: "系统监控设置", + menuType: 1, + children: [{ + id: 1061, + level: 3, + menuName: "数据源管理", + menuType: 1, + path: "/xc/cloud/ui/#/data-source-manage", + isTop: true, + children: null, + roles: [1], + }, + { + id: 1062, + level: 3, + menuName: "监控规则设置", + menuType: 1, + isTop: true, + children: [{ + // id: 10621, + // level: 4, + // menuName: "预警列表", + // menuType: 1, + // path: "/xc/cloud/ui/#/monitoring-set/list", + // isTop: true, + // children: null, + // roles: [1], + // }, + // { + id: 10622, + level: 4, + menuName: "预警规则设置", + menuType: 1, + path: "/xc/cloud/ui/#/monitoring-set/rule-set", + isTop: true, + children: null, + roles: [1], + }, + { + id: 10623, + level: 4, + menuName: "指标配置", + menuType: 1, + path: "/xc/cloud/ui/#/monitoring-set/indicator-config", + isTop: true, + children: null, + roles: [1], + }, + ], + roles: [1], + }, + ], + isTop: true, + roles: [1], + }, + ], + }, + ]; + + + diff --git a/templates/xc-manage-static/deployment.yaml b/templates/xc-manage-static/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..89ad55ec8c3a33063f708fcea48818060d068a8a --- /dev/null +++ b/templates/xc-manage-static/deployment.yaml @@ -0,0 +1,63 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: xc-manage-static + labels: + app.kubernetes.io/name: xc-manage-static + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-static +spec: + replicas: 1 + selector: + matchLabels: + app: xc-manage-static + template: + metadata: + labels: + app.kubernetes.io/name: xc-manage-static + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-static + spec: + volumes: + - name: localtime + hostPath: + path: /etc/localtime + - name: config-volume + configMap: + name: xc-manage-static + items: + - key: static.conf + path: static.conf + - name: data-volume + configMap: + name: xc-manage-static + items: + - key: menu.js + path: menu.js + containers: + - name: xc-manage-static + {{- if contains "/" .Values.static.image.repository }} + image: "{{ .Values.static.image.repository }}:{{ .Values.static.image.tag }}{{ include "beagle.imageArch" . }}" + {{- else }} + image: "{{ .Values.global.hub }}/{{ .Values.static.image.repository }}:{{ .Values.static.image.tag }}{{ include "beagle.imageArch" . }}" + {{- end }} + imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" + ports: + - containerPort: 8080 + protocol: TCP + envFrom: + - configMapRef: + name: xc-manage-static + volumeMounts: + - name: localtime + mountPath: /etc/localtime + - name: config-volume + mountPath: /etc/nginx/conf.d + - name: data-volume + mountPath: /data + + diff --git a/templates/xc-manage-static/ingressroute.yaml b/templates/xc-manage-static/ingressroute.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f82d2440bdb48900e2a9e55f9705cab412a47c54 --- /dev/null +++ b/templates/xc-manage-static/ingressroute.yaml @@ -0,0 +1,23 @@ +{{- if .Values.global.ingressroute.enabled }} +--- +kind: IngressRoute +apiVersion: bcc.bd-apaas.com/v1alpha1 +metadata: + name: xc-manage-static + labels: + app.kubernetes.io/name: xc-manage-static + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" +spec: + entryPoints: + - websecure + routes: + - kind: Rule + match: Host(`{{ .Values.global.ingressroute.host }}`) && PathPrefix(`/static`) + services: + - kind: Service + name: xc-manage-static + port: 80 + tls: {} +{{- end }} \ No newline at end of file diff --git a/templates/xc-manage-static/service.yaml b/templates/xc-manage-static/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e9b401a74f3e4a2ddafe8756d16c132a1b64e22d --- /dev/null +++ b/templates/xc-manage-static/service.yaml @@ -0,0 +1,19 @@ +--- +kind: Service +apiVersion: v1 +metadata: + name: xc-manage-static + labels: + app.kubernetes.io/name: xc-manage-static + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: xc-manage-static +spec: + ports: + - name: http + protocol: TCP + port: 80 + targetPort: 8080 + selector: + app: xc-manage-static \ No newline at end of file diff --git a/templates/xc-manage-ui/deployment.yaml b/templates/xc-manage-ui/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..cdc3b530cd3be7a8150fa32609aab0d503b4dcc3 --- /dev/null +++ b/templates/xc-manage-ui/deployment.yaml @@ -0,0 +1,37 @@ +--- +kind: "Deployment" +apiVersion: "apps/v1" +metadata: + name: "xc-manage-ui" + labels: + app.kubernetes.io/name: xc-manage-ui + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: "xc-manage-ui" +spec: + replicas: 1 + selector: + matchLabels: + app: "xc-manage-ui" + template: + metadata: + labels: + app.kubernetes.io/name: xc-manage-ui + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app: "xc-manage-ui" + spec: + containers: + - name: "xc-manage-ui" + {{- if contains "/" .Values.manage.image.repository }} + image: "{{ .Values.manage.image.repository }}:{{ .Values.manage.image.tag }}{{ include "beagle.imageArch" . }}" + {{- else }} + image: "{{ .Values.global.hub }}/{{ .Values.manage.image.repository }}:{{ .Values.manage.image.tag }}{{ include "beagle.imageArch" . }}" + {{- end }} + imagePullPolicy: "{{ .Values.global.imagePullPolicy }}" + ports: + - name: http + containerPort: 8080 + protocol: TCP \ No newline at end of file diff --git a/templates/xc-manage-ui/ingressroute.yaml b/templates/xc-manage-ui/ingressroute.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3bfeddce3c4544748bccc1f0c042d9706e76b894 --- /dev/null +++ b/templates/xc-manage-ui/ingressroute.yaml @@ -0,0 +1,22 @@ +{{- if .Values.global.ingressroute.enabled }} +--- +kind: IngressRoute +apiVersion: bcc.bd-apaas.com/v1alpha1 +metadata: + name: xc-manage-ui + labels: + app.kubernetes.io/name: xc-manage-ui + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" +spec: + entryPoints: + - websecure + routes: + - kind: Rule + match: Host(`{{ .Values.global.ingressroute.host }}`) && PathPrefix(`/xcqy/manage/ui`) + services: + - name: xc-manage-ui + port: 8080 + tls: {} +{{- end }} \ No newline at end of file diff --git a/templates/xc-manage-ui/service.yaml b/templates/xc-manage-ui/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..aa1b8b104309e5fbd8a89d24020f637fc7a9d7b4 --- /dev/null +++ b/templates/xc-manage-ui/service.yaml @@ -0,0 +1,18 @@ +--- +kind: Service +apiVersion: v1 +metadata: + name: "xc-manage-ui" + labels: + app.kubernetes.io/name: xc-manage-ui + helm.sh/chart: '{{ template "xc-manage.chart" . }}' + app.kubernetes.io/managed-by: "{{ .Release.Service }}" + app.kubernetes.io/managed-by: "{{ .Release.Service }}" +spec: + ports: + - name: http + protocol: TCP + port: 8080 + targetPort: 8080 + selector: + app: "xc-manage-ui" diff --git a/values-overrides.yaml b/values-overrides.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4cb23c81c1d4d654bab5c99240a0ccc65d7e6e1c --- /dev/null +++ b/values-overrides.yaml @@ -0,0 +1,95 @@ +global: + hub: hub.wodcloud.com/xinchuang + imagePullPolicy: IfNotPresent + # CPU 架构 + imageArch: arm64 + # k8s可通讯地址(内网环境尽量使用容器可解析的svc地址) + k8sServer: https://kubernetes.default:443 + # k8s token + k8sToken: pleasechangeit + # xc-manage-api 数据库 + dbDsn: user=postgres password=spaceIN@511 host=xc-manage-postgres.xc-manage port=5432 dbname=xc-demo sslmode=disable + # 对应驱动请查阅文档:https://zorm.cn/ + dbDrive: postgres + dbDialectd: postgresql + domainName: ctypoc.com + # 容器云超级管理员账号id + aweAdminName: root + # 容器云dex地址 + aweDex: http://awecloud-dex.beagle-system/awecloud/dex + + opensearch: + url: http://opensearch-cluster-master:9200 + username: "" + password: "" + + minio: + server: http://minio.ctypoc.com:30080 + access_key: admin + secret_key: spaceIN@511 + bucket: xc-manage + + ingressroute: + enabled: true + host: cloud.ctypoc.com + +cloud: + image: + repository: "xc-cloud-ui" + tag: "v1.5.0" + +api: + image: + repository: "xc-manage-api" + tag: "v1.5.0" + +etcd: + enabled: true + image: + repository: "registry.cn-qingdao.aliyuncs.com/wod/etcd" + tag: "v3.5.9" + persistence: + enabled: true + storageClass: hostpath + +init: + image: + repository: "xc-manage-init" + tag: "v3.1.0-single" + +kkfileview: + image: + repository: "registry.cn-hangzhou.aliyuncs.com/xmod/kkfileview" + tag: "4.3.0" + +postgres: + enabled: true + image: + repository: "registry.cn-qingdao.aliyuncs.com/wod/postgres" + tag: "13.5" + initimage: + repository: "registry.cn-qingdao.aliyuncs.com/wod/busybox" + tag: "1.33" + passwd: spaceIN@511 + persistence: + enabled: true + storageClass: hostpath + +redis: + enabled: true + image: + repository: "registry.cn-qingdao.aliyuncs.com/wod/redis" + tag: "6.2.6" + passwd: spaceIN@511 + # redis key前缀 + tag: xc-manage + +static: + image: + repository: "registry.cn-hangzhou.aliyuncs.com/xmod/nginx" + tag: "1.25.1" + +manage: + image: + repository: "xc-manage-ui" + tag: "v1.5.0" diff --git a/values.yaml b/values.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d46b34ed46635cda02e84ea101f4e89abeb3c618 --- /dev/null +++ b/values.yaml @@ -0,0 +1,92 @@ +global: + hub: hub.wodcloud.com/xinchuang + imagePullPolicy: IfNotPresent + # CPU 架构 + imageArch: amd64 + # k8s可通讯地址(内网环境尽量使用容器可解析的svc地址) + k8sServer: https://kubernetes.default:443 + # k8s token + k8sToken: 7176d48e4e66ddb3557a82f2dd316a93 + # xc-manage-api 数据库 + dbDsn: user=postgres password=passwd123 host=xc-manage-postgres.xc-manage port=5432 dbname=xc-demo sslmode=disable + # 对应驱动请查阅文档:https://zorm.cn/ + dbDrive: postgres + dbDialectd: postgresql + domainName: wodcloud.com + # 容器云超级管理员账号id + aweAdminName: root + # 容器云dex地址 + aweDex: http://awecloud-dex.beagle-system/awecloud/dex + + opensearch: + url: http://opensearch-cluster-master.beagle-monitoring:9200 + username: "" + password: "" + + minio: + server: https://cache.wodcloud.com + access_key: admin + secret_key: spaceIN@511 + bucket: xc-manage + + ingressroute: + enabled: true + host: cloud.wodcloud.local + +cloud: + image: + repository: "xc-cloud-ui" + tag: "v1.5.0" + +api: + image: + repository: "xc-manage-api" + tag: "v1.5.0" + +etcd: + image: + repository: "registry.cn-qingdao.aliyuncs.com/wod/etcd" + tag: "v3.5.9" + persistence: + enabled: true + storageClass: hostpath + +init: + image: + repository: "xc-manage-init" + tag: "v1.5.0" + +kkfileview: + image: + repository: "registry.cn-hangzhou.aliyuncs.com/xmod/kkfileview" + tag: "4.3.0" + +postgres: + image: + repository: "registry.cn-qingdao.aliyuncs.com/wod/postgres" + tag: "13.5" + initimage: + repository: "registry.cn-qingdao.aliyuncs.com/wod/busybox" + tag: "1.33" + passwd: spaceIN@511 + persistence: + enabled: true + storageClass: hostpath + +redis: + image: + repository: "registry.cn-qingdao.aliyuncs.com/wod/redis" + tag: "6.2.6" + passwd: spaceIN@511 + # redis key前缀 + tag: xc-manage + +static: + image: + repository: "registry.cn-hangzhou.aliyuncs.com/xmod/nginx" + tag: "1.25.1" + +manage: + image: + repository: "xc-manage-ui" + tag: "v1.5.0" \ No newline at end of file