Compare commits
90 Commits
fix/settin
...
feat/setti
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
754425670e | ||
|
|
d8a69a146c | ||
|
|
7c134bbb1d | ||
|
|
39dbad4ec9 | ||
|
|
6c1539d65b | ||
|
|
a3038f1edb | ||
|
|
a2c7b16382 | ||
|
|
ac598f66fc | ||
|
|
6a8cb38940 | ||
|
|
1c1e7dfdf4 | ||
|
|
21199571ca | ||
|
|
f5da7693a9 | ||
|
|
668fb373bc | ||
|
|
99a20ca23f | ||
|
|
07478c96d6 | ||
|
|
6d6f5c248c | ||
|
|
8f3507fd86 | ||
|
|
108c1392e3 | ||
|
|
5cd37a477d | ||
|
|
b137f96517 | ||
|
|
dc4d5666d8 | ||
|
|
b3cb83de9f | ||
|
|
862cfc4625 | ||
|
|
fa5ca7432c | ||
|
|
427bff8b45 | ||
|
|
b8a3c66003 | ||
|
|
92bf361698 | ||
|
|
de1cee0000 | ||
|
|
cac1978874 | ||
|
|
1083b417b1 | ||
|
|
d9824a7deb | ||
|
|
0aa59ab731 | ||
|
|
28edc29240 | ||
|
|
ef77bff611 | ||
|
|
0667481fcf | ||
|
|
e16ed5ea64 | ||
|
|
93d1237a43 | ||
|
|
42ff86e0af | ||
|
|
814dce3dec | ||
|
|
bfa43257ff | ||
|
|
e1c9e9ad20 | ||
|
|
1b62d2ae31 | ||
|
|
51f32c993f | ||
|
|
59749c8b7f | ||
|
|
23816103c9 | ||
|
|
62489d4ba4 | ||
|
|
e0803fa6e0 | ||
|
|
366b81cf46 | ||
|
|
f7b21a42c7 | ||
|
|
62ad10d8d8 | ||
|
|
d9cef165ac | ||
|
|
7e4b82fff6 | ||
|
|
64c92e5103 | ||
|
|
0b7da9bf7a | ||
|
|
c1d5c4e98c | ||
|
|
ae95f1e607 | ||
|
|
d772842f4b | ||
|
|
8f7584f719 | ||
|
|
c0f8b391c6 | ||
|
|
3ff2d30b48 | ||
|
|
0a8f0c558d | ||
|
|
d59eb5856e | ||
|
|
e90df6cd78 | ||
|
|
04e3fcd71b | ||
|
|
e74726c5ec | ||
|
|
e6478aa77c | ||
|
|
bba3083752 | ||
|
|
5b6973a6ab | ||
|
|
99185c4729 | ||
|
|
bd631167f5 | ||
|
|
8e3ddfb8af | ||
|
|
71ccfd34c6 | ||
|
|
54bd129c33 | ||
|
|
c4a88aea86 | ||
|
|
11aa89687c | ||
|
|
ac887e9201 | ||
|
|
e8aa4b3521 | ||
|
|
6f4a091380 | ||
|
|
939c9671b9 | ||
|
|
a129ea79ca | ||
|
|
ce40d04085 | ||
|
|
cddc5d1ea9 | ||
|
|
130bcb2a6a | ||
|
|
dbb52c5d67 | ||
|
|
c95c9fb9d2 | ||
|
|
6a686098bd | ||
|
|
6fb634f3fb | ||
|
|
c19ee276dc | ||
|
|
76e1981816 | ||
|
|
bc319d8901 |
11
.github/workflows/check.yaml
vendored
11
.github/workflows/check.yaml
vendored
@@ -37,17 +37,8 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
bash scripts/package.sh
|
bash scripts/package.sh
|
||||||
|
|
||||||
- name: Run chart-testing (list-changed)
|
|
||||||
id: list-changed
|
|
||||||
run: |
|
|
||||||
changed=$(ct list-changed --chart-dirs build/installer/wizard/config --target-branch ${{ github.event.repository.default_branch }})
|
|
||||||
if [[ -n "$changed" ]]; then
|
|
||||||
echo "changed=true" >> "$GITHUB_OUTPUT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Run chart-testing (lint)
|
- name: Run chart-testing (lint)
|
||||||
if: steps.list-changed.outputs.changed == 'true'
|
run: ct lint --chart-dirs build/installer/wizard/config,build/installer/wizard/config/apps,build/installer/wizard/config/gpu --check-version-increment=false --all
|
||||||
run: ct lint --chart-dirs build/installer/wizard/config --check-version-increment=false --target-branch ${{ github.event.repository.default_branch }}
|
|
||||||
|
|
||||||
# - name: Create kind cluster
|
# - name: Create kind cluster
|
||||||
# if: steps.list-changed.outputs.changed == 'true'
|
# if: steps.list-changed.outputs.changed == 'true'
|
||||||
|
|||||||
37
.github/workflows/daily-lint-check.yaml
vendored
Normal file
37
.github/workflows/daily-lint-check.yaml
vendored
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
name: Lint Check Charts
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
# This is a UTC time
|
||||||
|
- cron: "30 1 * * *"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint-test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up Helm
|
||||||
|
uses: azure/setup-helm@v3
|
||||||
|
with:
|
||||||
|
version: v3.12.1
|
||||||
|
|
||||||
|
- uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: '3.9'
|
||||||
|
check-latest: true
|
||||||
|
|
||||||
|
- name: Set up chart-testing
|
||||||
|
uses: helm/chart-testing-action@v2.6.0
|
||||||
|
|
||||||
|
- name: Pre package
|
||||||
|
run: |
|
||||||
|
bash scripts/package.sh
|
||||||
|
|
||||||
|
- name: Run chart-testing (lint)
|
||||||
|
run: |
|
||||||
|
ct lint --chart-dirs build/installer/wizard/config,build/installer/wizard/config/apps,build/installer/wizard/config/gpu --check-version-increment=false --all
|
||||||
|
|
||||||
17
README.md
17
README.md
@@ -65,19 +65,14 @@ Here is why and where you can count on Olares for private, powerful, and secure
|
|||||||
## Getting started
|
## Getting started
|
||||||
|
|
||||||
### System compatibility
|
### System compatibility
|
||||||
Olares has been tested and verified on the following platforms:
|
|
||||||
|
|
||||||
| Platform | Operating system | Notes |
|
Olares has been tested and verified on the following Linux platforms:
|
||||||
|---------------------|--------------------------------------|-------------------------------------------------------|
|
|
||||||
| Linux | Ubuntu 20.04 LTS or later <br/> Debian 11 or later | |
|
|
||||||
| Raspberry Pi | RaspbianOS | Verified on Raspberry Pi 4 Model B and Raspberry Pi 5 |
|
|
||||||
| Windows | Windows 11 23H2 or later <br/>Windows 10 22H2 or later<br/> WSL2 | |
|
|
||||||
| Mac | Monterey (12) or later | |
|
|
||||||
| Proxmox VE (PVE) | Proxmox Virtual Environment 8.0 | |
|
|
||||||
|
|
||||||
> **Note**
|
- Ubuntu 20.04 LTS or later
|
||||||
>
|
- Debian 11 or later
|
||||||
> If you successfully install Olares on an operating system that is not listed in the compatibility table, please let us know! You can [open an issue](https://github.com/beclab/Olares/issues/new) or submit a pull request on our GitHub repository.
|
|
||||||
|
> **Other installation options**
|
||||||
|
> Olares can also be installed on other platforms like macOS, Windows, PVE, and Raspberry Pi, or installed via docker compose on Linux. However, these are only for **testing and development purposes**. For detailed instructions, visit [Additional installation options](https://docs.olares.xyz/developer/install/additional-installations.html).
|
||||||
|
|
||||||
### Set up Olares
|
### Set up Olares
|
||||||
To get started with Olares on your own device, follow the [Getting Started Guide](https://docs.olares.xyz/manual/get-started/) for step-by-step instructions.
|
To get started with Olares on your own device, follow the [Getting Started Guide](https://docs.olares.xyz/manual/get-started/) for step-by-step instructions.
|
||||||
|
|||||||
21
README_CN.md
21
README_CN.md
@@ -62,25 +62,18 @@ Olares 是为本地端侧 AI 打造的开源私有云操作系统,可轻松将
|
|||||||
## 快速开始
|
## 快速开始
|
||||||
|
|
||||||
### 系统兼容性
|
### 系统兼容性
|
||||||
Olares 已在以下平台完成测试验证:
|
|
||||||
|
|
||||||
| 平台 | 操作系统 | 备注 |
|
Olares 已在以下 Linux 平台完成测试与验证:
|
||||||
|---------------------|--------------------------------------|-------------------------------------------------------|
|
|
||||||
| Linux | Ubuntu 20.04 LTS 及以上 <br/> Debian 11 及以上 | |
|
|
||||||
| Raspberry Pi | RaspbianOS | 已在 Raspberry Pi 4 Model B 和 Raspberry Pi 5 上验证 |
|
|
||||||
| Windows | Windows 11 23H2 及以上 <br/>Windows 10 22H2 及以上 <br/>WSL2 | |
|
|
||||||
| Mac | macOS Monterey (12) 及以上 | |
|
|
||||||
| Proxmox VE (PVE) | Proxmox Virtual Environment 8.0 | |
|
|
||||||
|
|
||||||
> **注意**
|
- Ubuntu 20.04 LTS 及以上版本
|
||||||
>
|
- Debian 11 及以上版本
|
||||||
> 如果你在未列出的系统版本上成功安装了 Olares,请告诉我们!你可以在 GitHub 仓库中[提交 Issue](https://github.com/beclab/Olares/issues/new) 或发起 Pull Request。
|
|
||||||
|
> **其他安装方式**
|
||||||
|
> Olares 也支持在 macOS、Windows、PVE、树莓派等平台上运行,或通过 Docker Compose 在 Linux 上部署。但请注意,这些方式**仅适用于开发和测试环境**。详细安装指南请参阅[其他安装方式](https://docs.joinolares.cn/zh/developer/install/additional-installations.html)。
|
||||||
|
|
||||||
### 安装 Olares
|
### 安装 Olares
|
||||||
|
|
||||||
> 当前文档仅有英文版本。
|
|
||||||
|
|
||||||
参考[快速上手指南](https://docs.olares.xyz/manual/get-started/)安装并激活 Olares。
|
参考[快速上手指南](https://docs.joinolares.cn/zh/manual/get-started/)安装并激活 Olares。
|
||||||
|
|
||||||
## 系统架构
|
## 系统架构
|
||||||
Olares 的架构设计遵循两个核心原则:
|
Olares 的架构设计遵循两个核心原则:
|
||||||
|
|||||||
17
README_JP.md
17
README_JP.md
@@ -63,19 +63,14 @@ Olaresを使用して、ハードウェアをAIホームサーバーに変換し
|
|||||||
## はじめに
|
## はじめに
|
||||||
|
|
||||||
### システム互換性
|
### システム互換性
|
||||||
Olaresは以下のプラットフォームでテストおよび検証されています:
|
|
||||||
|
|
||||||
| プラットフォーム | オペレーティングシステム | 備考 |
|
Olaresは以下のLinuxプラットフォームで動作検証を完了しています:
|
||||||
|---------------------|--------------------------------------|-------------------------------------------------------|
|
|
||||||
| Linux | Ubuntu 20.04 LTS以降 <br/> Debian 11以降 | |
|
|
||||||
| Raspberry Pi | RaspbianOS | Raspberry Pi 4 Model BおよびRaspberry Pi 5で検証済み |
|
|
||||||
| Windows | Windows 11 23H2以降 <br/>Windows 10 22H2以降<br/> WSL2 | |
|
|
||||||
| Mac | Monterey (12)以降 | |
|
|
||||||
| Proxmox VE (PVE) | Proxmox Virtual Environment 8.0 | |
|
|
||||||
|
|
||||||
> **注意**
|
- Ubuntu 20.04 LTS 以降
|
||||||
>
|
- Debian 11 以降
|
||||||
> 互換性テーブルに記載されていないオペレーティングシステムでOlaresを正常にインストールした場合は、お知らせください!GitHubリポジトリで[問題を開く](https://github.com/beclab/Olares/issues/new)か、プルリクエストを送信できます。
|
|
||||||
|
> **追加インストール手順**
|
||||||
|
> Olares は macOS、Windows、PVE、Raspberry Pi などのプラットフォームや、Linux 上での Docker Compose を用いたインストールにも対応しています。>ただし、これらの方法は開発およびテスト環境専用です。詳しくは[追加インストール手順](https://docs.olares.xyz/developer/install/additional-installations.html)をご参照ください。
|
||||||
|
|
||||||
### Olaresのセットアップ
|
### Olaresのセットアップ
|
||||||
自分のデバイスでOlaresを始めるには、[はじめにガイド](https://docs.olares.xyz/manual/get-started/)に従ってステップバイステップの手順を確認してください。
|
自分のデバイスでOlaresを始めるには、[はじめにガイド](https://docs.olares.xyz/manual/get-started/)に従ってステップバイステップの手順を確認してください。
|
||||||
|
|||||||
67
apps/argo/config/cluster/deploy/argo-task.yaml
Normal file
67
apps/argo/config/cluster/deploy/argo-task.yaml
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
{{- $namespace := printf "%s" "os-system" -}}
|
||||||
|
{{- $rss_secret := (lookup "v1" "Secret" $namespace "rss-secrets") -}}
|
||||||
|
{{- $password := "" -}}
|
||||||
|
{{ if $rss_secret -}}
|
||||||
|
{{ $password = (index $rss_secret "data" "pg_password") }}
|
||||||
|
{{ else -}}
|
||||||
|
{{ $password = randAlphaNum 16 | b64enc }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- $redis_password := "" -}}
|
||||||
|
{{ if $rss_secret -}}
|
||||||
|
{{ $redis_password = (index $rss_secret "data" "redis_password") }}
|
||||||
|
{{ else -}}
|
||||||
|
{{ $redis_password = randAlphaNum 16 | b64enc }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
|
||||||
|
{{- $redis_password_data := "" -}}
|
||||||
|
{{ $redis_password_data = $redis_password | b64dec }}
|
||||||
|
|
||||||
|
{{- $pg_password_data := "" -}}
|
||||||
|
{{ $pg_password_data = $password | b64dec }}
|
||||||
|
|
||||||
|
{{- $pg_user := printf "%s" "argo_os_system" -}}
|
||||||
|
{{- $pg_user = $pg_user | b64enc -}}
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: rss-secrets
|
||||||
|
namespace: os-system
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
pg_user: {{ $pg_user }}
|
||||||
|
pg_password: {{ $password }}
|
||||||
|
redis_password: {{ $redis_password }}
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: apr.bytetrade.io/v1alpha1
|
||||||
|
kind: MiddlewareRequest
|
||||||
|
metadata:
|
||||||
|
name: rss-pg
|
||||||
|
namespace: os-system
|
||||||
|
spec:
|
||||||
|
app: rss
|
||||||
|
appNamespace: os-system
|
||||||
|
middleware: postgres
|
||||||
|
postgreSQL:
|
||||||
|
user: argo_os_system
|
||||||
|
password:
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: pg_password
|
||||||
|
name: rss-secrets
|
||||||
|
databases:
|
||||||
|
- name: rss
|
||||||
|
- name: rss_v1
|
||||||
|
- name: argo
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
26
apps/argo/config/cluster/deploy/server-crb.yaml
Normal file
26
apps/argo/config/cluster/deploy/server-crb.yaml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: os-system:argoworkflows
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: argoworkflows
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: argoworkflows
|
||||||
|
namespace: os-system
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: os-system:argoworkflows-cluster-template
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: argoworkflows-cluster-template
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: argoworkflows
|
||||||
|
namespace: os-system
|
||||||
85
apps/argo/config/cluster/deploy/server-deployment.yaml
Normal file
85
apps/argo/config/cluster/deploy/server-deployment.yaml
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: argoworkflows
|
||||||
|
namespace: os-system
|
||||||
|
labels:
|
||||||
|
app: argoworkflows
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
annotations:
|
||||||
|
applications.app.bytetrade.io/icon: https://argoproj.github.io/argo-workflows/assets/logo.png
|
||||||
|
applications.app.bytetrade.io/title: argoworkflows
|
||||||
|
applications.app.bytetrade.io/version: '0.35.0'
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: argoworkflows
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: argoworkflows
|
||||||
|
spec:
|
||||||
|
serviceAccountName: argoworkflows
|
||||||
|
containers:
|
||||||
|
- name: argo-server
|
||||||
|
image: quay.io/argoproj/argocli:v3.5.0
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
securityContext:
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
args:
|
||||||
|
- server
|
||||||
|
- --configmap=argoworkflow-workflow-controller-configmap
|
||||||
|
- "--auth-mode=server"
|
||||||
|
- "--secure=false"
|
||||||
|
- "--x-frame-options="
|
||||||
|
- "--loglevel"
|
||||||
|
- "debug"
|
||||||
|
- "--gloglevel"
|
||||||
|
- "0"
|
||||||
|
- "--log-format"
|
||||||
|
- "text"
|
||||||
|
ports:
|
||||||
|
- name: web
|
||||||
|
containerPort: 2746
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /
|
||||||
|
port: 2746
|
||||||
|
scheme: HTTP
|
||||||
|
initialDelaySeconds: 10
|
||||||
|
periodSeconds: 20
|
||||||
|
env:
|
||||||
|
- name: IN_CLUSTER
|
||||||
|
value: "true"
|
||||||
|
- name: ARGO_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
apiVersion: v1
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
- name: BASE_HREF
|
||||||
|
value: /
|
||||||
|
volumeMounts:
|
||||||
|
- name: tmp
|
||||||
|
mountPath: /tmp
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: tmp
|
||||||
|
emptyDir: {}
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/os: linux
|
||||||
|
tolerations:
|
||||||
|
- key: node.kubernetes.io/not-ready
|
||||||
|
operator: Exists
|
||||||
|
effect: NoExecute
|
||||||
|
tolerationSeconds: 300
|
||||||
|
- key: node.kubernetes.io/unreachable
|
||||||
|
operator: Exists
|
||||||
|
effect: NoExecute
|
||||||
|
tolerationSeconds: 300
|
||||||
|
|
||||||
|
|
||||||
6
apps/argo/config/cluster/deploy/server-sa.yaml
Normal file
6
apps/argo/config/cluster/deploy/server-sa.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: argoworkflows
|
||||||
|
namespace: os-system
|
||||||
|
|
||||||
16
apps/argo/config/cluster/deploy/server-service.yaml
Normal file
16
apps/argo/config/cluster/deploy/server-service.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: argoworkflows-svc
|
||||||
|
namespace: os-system
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: 2746
|
||||||
|
name: http
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 2746
|
||||||
|
selector:
|
||||||
|
app: argoworkflows
|
||||||
|
sessionAffinity: None
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: argoworkflow-workflow-controller-configmap
|
||||||
|
namespace: os-system
|
||||||
|
data:
|
||||||
|
config: |
|
||||||
|
instanceID: os-system
|
||||||
|
artifactRepository:
|
||||||
|
archiveLogs: true
|
||||||
|
s3:
|
||||||
|
accessKeySecret:
|
||||||
|
key: AWS_ACCESS_KEY_ID
|
||||||
|
name: argo-workflow-log-fakes3
|
||||||
|
secretKeySecret:
|
||||||
|
key: AWS_SECRET_ACCESS_KEY
|
||||||
|
name: argo-workflow-log-fakes3
|
||||||
|
bucket: mongo-backup
|
||||||
|
endpoint: tapr-s3-svc:4568
|
||||||
|
insecure: true
|
||||||
|
persistence:
|
||||||
|
connectionPool:
|
||||||
|
maxIdleConns: 5
|
||||||
|
maxOpenConns: 0
|
||||||
|
archive: true
|
||||||
|
archiveTTL: 5d
|
||||||
|
postgresql:
|
||||||
|
host: citus-headless.os-system
|
||||||
|
port: 5432
|
||||||
|
database: os_system_argo
|
||||||
|
tableName: argo_workflows
|
||||||
|
userNameSecret:
|
||||||
|
name: rss-secrets
|
||||||
|
key: pg_user
|
||||||
|
passwordSecret:
|
||||||
|
name: rss-secrets
|
||||||
|
key: pg_password
|
||||||
|
nodeEvents:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
27
apps/argo/config/cluster/deploy/workflow-controller-crb.yaml
Normal file
27
apps/argo/config/cluster/deploy/workflow-controller-crb.yaml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: os-system:argoworkflow-workflow-controller
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: argoworkflow-workflow-controller
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: argoworkflow-workflow-controller
|
||||||
|
namespace: os-system
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: os-system:argoworkflow-workflow-controller-cluster-template
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: argoworkflow-workflow-controller-cluster-template
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: argoworkflow-workflow-controller
|
||||||
|
namespace: os-system
|
||||||
|
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: argoworkflow-workflow-controller
|
||||||
|
namespace: os-system
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: workflow-controller
|
||||||
|
app.kubernetes.io/instance: argo
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: argoworkflows-workflow-controller
|
||||||
|
app.kubernetes.io/part-of: argo-workflows
|
||||||
|
app.kubernetes.io/version: v3.5.0
|
||||||
|
helm.sh/chart: argoworkflows-0.35.0
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app.kubernetes.io/instance: argo
|
||||||
|
app.kubernetes.io/name: argoworkflows-workflow-controller
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/component: workflow-controller
|
||||||
|
app.kubernetes.io/instance: argo
|
||||||
|
app.kubernetes.io/managed-by: Helm
|
||||||
|
app.kubernetes.io/name: argoworkflows-workflow-controller
|
||||||
|
app.kubernetes.io/part-of: argo-workflows
|
||||||
|
app.kubernetes.io/version: v3.5.0
|
||||||
|
helm.sh/chart: argoworkflows-0.35.0
|
||||||
|
spec:
|
||||||
|
serviceAccountName: argoworkflow-workflow-controller
|
||||||
|
serviceAccount: argoworkflow-workflow-controller
|
||||||
|
schedulerName: default-scheduler
|
||||||
|
containers:
|
||||||
|
- name: controller
|
||||||
|
image: quay.io/argoproj/workflow-controller:v3.5.0
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
command: [ "workflow-controller" ]
|
||||||
|
args:
|
||||||
|
- "--configmap"
|
||||||
|
- "argoworkflow-workflow-controller-configmap"
|
||||||
|
- "--executor-image"
|
||||||
|
- "quay.io/argoproj/argoexec:v3.5.0"
|
||||||
|
- "--loglevel"
|
||||||
|
- "debug"
|
||||||
|
- "--gloglevel"
|
||||||
|
- "0"
|
||||||
|
- "--log-format"
|
||||||
|
- "text"
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
runAsNonRoot: true
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
env:
|
||||||
|
- name: ARGO_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
apiVersion: v1
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
- name: LEADER_ELECTION_IDENTITY
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
apiVersion: v1
|
||||||
|
fieldPath: metadata.name
|
||||||
|
|
||||||
|
ports:
|
||||||
|
- name: metrics
|
||||||
|
containerPort: 9090
|
||||||
|
protocol: TCP
|
||||||
|
- containerPort: 6060
|
||||||
|
protocol: TCP
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /healthz
|
||||||
|
port: 6060
|
||||||
|
scheme: HTTP
|
||||||
|
initialDelaySeconds: 90
|
||||||
|
timeoutSeconds: 30
|
||||||
|
periodSeconds: 60
|
||||||
|
successThreshold: 1
|
||||||
|
failureThreshold: 3
|
||||||
|
|
||||||
|
nodeSelector:
|
||||||
|
kubernetes.io/os: linux
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: argoworkflow-workflow-controller
|
||||||
|
namespace: os-system
|
||||||
@@ -5,7 +5,7 @@ apiVersion: v1
|
|||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
name: argo-workflow-log-fakes3
|
name: argo-workflow-log-fakes3
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: os-system
|
||||||
type: Opaque
|
type: Opaque
|
||||||
stringData:
|
stringData:
|
||||||
AWS_ACCESS_KEY_ID: S3RVER
|
AWS_ACCESS_KEY_ID: S3RVER
|
||||||
@@ -16,7 +16,7 @@ apiVersion: rbac.authorization.k8s.io/v1
|
|||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
name: workflow-role
|
name: workflow-role
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: os-system
|
||||||
rules:
|
rules:
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- "*"
|
- "*"
|
||||||
@@ -30,10 +30,10 @@ apiVersion: rbac.authorization.k8s.io/v1
|
|||||||
kind: RoleBinding
|
kind: RoleBinding
|
||||||
metadata:
|
metadata:
|
||||||
name: workflow-rolebinding
|
name: workflow-rolebinding
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: os-system
|
||||||
subjects:
|
subjects:
|
||||||
- kind: ServiceAccount
|
- kind: ServiceAccount
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: os-system
|
||||||
name: default
|
name: default
|
||||||
roleRef:
|
roleRef:
|
||||||
kind: Role
|
kind: Role
|
||||||
13
apps/argo/config/cluster/deploy/workflow-rb.yaml
Normal file
13
apps/argo/config/cluster/deploy/workflow-rb.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: RoleBinding
|
||||||
|
metadata:
|
||||||
|
name: argoworkflow-workflow
|
||||||
|
namespace: os-system
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: Role
|
||||||
|
name: argoworkflow-workflow
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: argo-workflow
|
||||||
|
namespace: os-system
|
||||||
@@ -1,10 +1,8 @@
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: Role
|
kind: Role
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ template "argo-workflows.fullname" $ }}-workflow
|
name: argoworkflow-workflow
|
||||||
labels:
|
namespace: os-system
|
||||||
{{- include "argo-workflows.labels" (dict "context" $ "component" $.Values.controller.name "name" $.Values.controller.name) | nindent 4 }}
|
|
||||||
namespace: {{ $.Release.Namespace}}
|
|
||||||
rules:
|
rules:
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
name: rss
|
name: argo
|
||||||
description: A Helm chart for Kubernetes
|
description: A Helm chart for Kubernetes
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: bytetrade
|
- name: bytetrade
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
# 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/
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: argoworkflows
|
|
||||||
description: A Helm chart for Argo Workflows
|
|
||||||
|
|
||||||
# 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: 0.35.0
|
|
||||||
|
|
||||||
# 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: "v3.5.0"
|
|
||||||
|
|
||||||
icon: https://argoproj.github.io/argo-workflows/assets/logo.png
|
|
||||||
home: https://github.com/argoproj/argo-helm
|
|
||||||
sources:
|
|
||||||
- https://github.com/argoproj/argo-workflows
|
|
||||||
maintainers:
|
|
||||||
- name: argoproj
|
|
||||||
url: https://argoproj.github.io/
|
|
||||||
annotations:
|
|
||||||
artifacthub.io/signKey: |
|
|
||||||
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
|
|
||||||
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
|
|
||||||
artifacthub.io/changes: |
|
|
||||||
- kind: changed
|
|
||||||
description: Upgrade to Argo Workflows v3.4.10
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
1. Get Argo Server external IP/domain by running:
|
|
||||||
|
|
||||||
kubectl --namespace {{ .Release.Namespace }} get services -o wide | grep {{ template "argo-workflows.server.fullname" . }}
|
|
||||||
|
|
||||||
2. Submit the hello-world workflow by running:
|
|
||||||
|
|
||||||
argo submit https://raw.githubusercontent.com/argoproj/argo-workflows/master/examples/hello-world.yaml --watch
|
|
||||||
@@ -1,189 +0,0 @@
|
|||||||
{{/* vim: set filetype=mustache: */}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create argo workflows server name and version as used by the chart label.
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.server.fullname-bak" -}}
|
|
||||||
{{- printf "%s-%s" (include "argo-workflows.fullname" .) .Values.server.name | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- define "argo-workflows.server.fullname" -}}
|
|
||||||
argoworkflows
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create controller name and version as used by the chart label.
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.controller.fullname" -}}
|
|
||||||
{{- printf "%s-%s" (include "argo-workflows.fullname" .) .Values.controller.name | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Expand the name of the chart.
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.name" -}}
|
|
||||||
{{- default .Chart.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).
|
|
||||||
*/}}
|
|
||||||
{{/*{{- define "argo-workflows.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 "argo-workflows.fullname" -}}
|
|
||||||
argoworkflow
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create chart name and version as used by the chart label.
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.chart" -}}
|
|
||||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create kubernetes friendly chart version label for the controller.
|
|
||||||
Examples:
|
|
||||||
image.tag = v3.4.4
|
|
||||||
output = v3.4.4
|
|
||||||
|
|
||||||
image.tag = v3.4.4@sha256:d06860f1394a94ac3ff8401126ef32ba28915aa6c3c982c7e607ea0b4dadb696
|
|
||||||
output = v3.4.4
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.controller_chart_version_label" -}}
|
|
||||||
{{- regexReplaceAll "[^a-zA-Z0-9-_.]+" (regexReplaceAll "@sha256:[a-f0-9]+" (default (include "argo-workflows.defaultTag" .) .Values.controller.image.tag) "") "" | trunc 63 | quote -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create kubernetes friendly chart version label for the server.
|
|
||||||
Examples:
|
|
||||||
image.tag = v3.4.4
|
|
||||||
output = v3.4.4
|
|
||||||
|
|
||||||
image.tag = v3.4.4@sha256:d06860f1394a94ac3ff8401126ef32ba28915aa6c3c982c7e607ea0b4dadb696
|
|
||||||
output = v3.4.4
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.server_chart_version_label" -}}
|
|
||||||
{{- regexReplaceAll "[^a-zA-Z0-9-_.]+" (regexReplaceAll "@sha256:[a-f0-9]+" (default (include "argo-workflows.defaultTag" .) .Values.server.image.tag) "") "" | trunc 63 | quote -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Common labels
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.labels" -}}
|
|
||||||
helm.sh/chart: {{ include "argo-workflows.chart" .context }}
|
|
||||||
{{ include "argo-workflows.selectorLabels" (dict "context" .context "component" .component "name" .name) }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .context.Release.Service }}
|
|
||||||
app.kubernetes.io/part-of: argo-workflows
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Selector labels
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.selectorLabels" -}}
|
|
||||||
{{- if .name -}}
|
|
||||||
app.kubernetes.io/name: {{ include "argo-workflows.name" .context }}-{{ .name }}
|
|
||||||
{{ end -}}
|
|
||||||
app.kubernetes.io/instance: {{ .context.Release.Name }}
|
|
||||||
{{- if .component }}
|
|
||||||
app.kubernetes.io/component: {{ .component }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create the name of the server service account to use
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.serverServiceAccountName" -}}
|
|
||||||
{{- if .Values.server.serviceAccount.create -}}
|
|
||||||
{{ default (include "argo-workflows.server.fullname" .) .Values.server.serviceAccount.name }}
|
|
||||||
{{- else -}}
|
|
||||||
{{ default "default" .Values.server.serviceAccount.name }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create the name of the controller service account to use
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.controllerServiceAccountName" -}}
|
|
||||||
{{- if .Values.controller.serviceAccount.create -}}
|
|
||||||
{{ default (include "argo-workflows.controller.fullname" .) .Values.controller.serviceAccount.name }}
|
|
||||||
{{- else -}}
|
|
||||||
{{ default "default" .Values.controller.serviceAccount.name }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Return the appropriate apiVersion for ingress
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.ingress.apiVersion" -}}
|
|
||||||
{{- if semverCompare "<1.14-0" (include "argo-workflows.kubeVersion" $) -}}
|
|
||||||
{{- print "extensions/v1beta1" -}}
|
|
||||||
{{- else if semverCompare "<1.19-0" (include "argo-workflows.kubeVersion" $) -}}
|
|
||||||
{{- print "networking.k8s.io/v1beta1" -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- print "networking.k8s.io/v1" -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Return the target Kubernetes version
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.kubeVersion" -}}
|
|
||||||
{{- default .Capabilities.KubeVersion.Version .Values.kubeVersionOverride }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Return the default Argo Workflows app version
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.defaultTag" -}}
|
|
||||||
{{- default .Chart.AppVersion .Values.images.tag }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Return full image name including or excluding registry based on existence
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.image" -}}
|
|
||||||
{{- if and .image.registry .image.repository -}}
|
|
||||||
{{ .image.registry }}/{{ .image.repository }}
|
|
||||||
{{- else -}}
|
|
||||||
{{ .image.repository }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Return the appropriate apiVersion for autoscaling
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.apiVersion.autoscaling" -}}
|
|
||||||
{{- if .Values.apiVersionOverrides.autoscaling -}}
|
|
||||||
{{- print .Values.apiVersionOverrides.autoscaling -}}
|
|
||||||
{{- else if semverCompare "<1.23-0" (include "argo-workflows.kubeVersion" .) -}}
|
|
||||||
{{- print "autoscaling/v2beta1" -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- print "autoscaling/v2" -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Return the appropriate apiVersion for GKE resources
|
|
||||||
*/}}
|
|
||||||
{{- define "argo-workflows.apiVersions.cloudgoogle" -}}
|
|
||||||
{{- if .Values.apiVersionOverrides.cloudgoogle -}}
|
|
||||||
{{- print .Values.apiVersionOverrides.cloudgoogle -}}
|
|
||||||
{{- else if .Capabilities.APIVersions.Has "cloud.google.com/v1" -}}
|
|
||||||
{{- print "cloud.google.com/v1" -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- print "cloud.google.com/v1beta1" -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
@@ -1,208 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: {{ template "argo-workflows.controller.fullname" . }}-configmap
|
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
|
||||||
labels:
|
|
||||||
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" "cm") | nindent 4 }}
|
|
||||||
data:
|
|
||||||
config: |
|
|
||||||
{{- if .Values.controller.instanceID.enabled }}
|
|
||||||
{{- if .Values.controller.instanceID.useReleaseName }}
|
|
||||||
instanceID: {{ .Release.Namespace }}
|
|
||||||
{{- else }}
|
|
||||||
instanceID: {{ .Values.controller.instanceID.explicitID }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.controller.parallelism }}
|
|
||||||
parallelism: {{ .Values.controller.parallelism }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.controller.resourceRateLimit }}
|
|
||||||
resourceRateLimit: {{ toYaml .Values.controller.resourceRateLimit | nindent 6 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.namespaceParallelism }}
|
|
||||||
namespaceParallelism: {{ . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.initialDelay }}
|
|
||||||
initialDelay: {{ . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if or .Values.mainContainer.resources .Values.mainContainer.env .Values.mainContainer.envFrom .Values.mainContainer.securityContext}}
|
|
||||||
mainContainer:
|
|
||||||
imagePullPolicy: {{ default (.Values.images.pullPolicy) .Values.mainContainer.imagePullPolicy }}
|
|
||||||
{{- with .Values.mainContainer.resources }}
|
|
||||||
resources: {{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.mainContainer.env }}
|
|
||||||
env: {{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.mainContainer.envFrom }}
|
|
||||||
envFrom: {{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.mainContainer.securityContext }}
|
|
||||||
securityContext: {{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if or .Values.executor.resources .Values.executor.env .Values.executor.args .Values.executor.securityContext}}
|
|
||||||
executor:
|
|
||||||
imagePullPolicy: {{ default (.Values.images.pullPolicy) .Values.executor.image.pullPolicy }}
|
|
||||||
{{- with .Values.executor.resources }}
|
|
||||||
resources: {{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.executor.args }}
|
|
||||||
args: {{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.executor.env }}
|
|
||||||
env: {{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.executor.securityContext }}
|
|
||||||
securityContext: {{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if or .Values.artifactRepository.s3 .Values.artifactRepository.gcs .Values.artifactRepository.azure .Values.customArtifactRepository }}
|
|
||||||
artifactRepository:
|
|
||||||
{{- if .Values.artifactRepository.archiveLogs }}
|
|
||||||
archiveLogs: {{ .Values.artifactRepository.archiveLogs }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.artifactRepository.gcs }}
|
|
||||||
gcs: {{- tpl (toYaml .) $ | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.artifactRepository.azure }}
|
|
||||||
azure: {{- tpl (toYaml .) $ | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.artifactRepository.s3 }}
|
|
||||||
s3:
|
|
||||||
{{- if .Values.useStaticCredentials }}
|
|
||||||
accessKeySecret:
|
|
||||||
key: {{ tpl .Values.artifactRepository.s3.accessKeySecret.key . }}
|
|
||||||
name: {{ tpl .Values.artifactRepository.s3.accessKeySecret.name . }}
|
|
||||||
secretKeySecret:
|
|
||||||
key: {{ tpl .Values.artifactRepository.s3.secretKeySecret.key . }}
|
|
||||||
name: {{ tpl .Values.artifactRepository.s3.secretKeySecret.name . }}
|
|
||||||
{{- end }}
|
|
||||||
bucket: {{ tpl (.Values.artifactRepository.s3.bucket | default "") . }}
|
|
||||||
endpoint: workflow-archivelog-s3.user-system-{{ .Values.global.bfl.username }}:4568
|
|
||||||
insecure: {{ .Values.artifactRepository.s3.insecure }}
|
|
||||||
{{- if .Values.artifactRepository.s3.keyFormat }}
|
|
||||||
keyFormat: {{ .Values.artifactRepository.s3.keyFormat | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.artifactRepository.s3.region }}
|
|
||||||
region: {{ tpl .Values.artifactRepository.s3.region $ }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.artifactRepository.s3.roleARN }}
|
|
||||||
roleARN: {{ .Values.artifactRepository.s3.roleARN }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.artifactRepository.s3.useSDKCreds }}
|
|
||||||
useSDKCreds: {{ .Values.artifactRepository.s3.useSDKCreds }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.artifactRepository.s3.encryptionOptions }}
|
|
||||||
encryptionOptions:
|
|
||||||
{{- toYaml . | nindent 10 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.customArtifactRepository }}
|
|
||||||
{{- toYaml .Values.customArtifactRepository | nindent 6 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.controller.metricsConfig.enabled }}
|
|
||||||
metricsConfig:
|
|
||||||
enabled: {{ .Values.controller.metricsConfig.enabled }}
|
|
||||||
path: {{ .Values.controller.metricsConfig.path }}
|
|
||||||
port: {{ .Values.controller.metricsConfig.port }}
|
|
||||||
{{- if .Values.controller.metricsConfig.metricsTTL }}
|
|
||||||
metricsTTL: {{ .Values.controller.metricsConfig.metricsTTL }}
|
|
||||||
{{- end }}
|
|
||||||
ignoreErrors: {{ .Values.controller.metricsConfig.ignoreErrors }}
|
|
||||||
secure: {{ .Values.controller.metricsConfig.secure }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.controller.telemetryConfig.enabled }}
|
|
||||||
telemetryConfig:
|
|
||||||
enabled: {{ .Values.controller.telemetryConfig.enabled }}
|
|
||||||
path: {{ .Values.controller.telemetryConfig.path }}
|
|
||||||
port: {{ .Values.controller.telemetryConfig.port }}
|
|
||||||
{{- if .Values.controller.telemetryConfig.metricsTTL }}
|
|
||||||
metricsTTL: {{ .Values.controller.telemetryConfig.metricsTTL }}
|
|
||||||
{{- end }}
|
|
||||||
ignoreErrors: {{ .Values.controller.telemetryConfig.ignoreErrors }}
|
|
||||||
secure: {{ .Values.controller.telemetryConfig.secure }}
|
|
||||||
{{- end }}
|
|
||||||
persistence:
|
|
||||||
connectionPool:
|
|
||||||
maxIdleConns: 5
|
|
||||||
maxOpenConns: 0
|
|
||||||
archive: true
|
|
||||||
archiveTTL: 5d
|
|
||||||
postgresql:
|
|
||||||
host: citus-master-svc.user-system-{{ .Values.global.bfl.username }}
|
|
||||||
port: 5432
|
|
||||||
database: user_space_{{ .Values.global.bfl.username }}_argo
|
|
||||||
tableName: argo_workflows
|
|
||||||
userNameSecret:
|
|
||||||
name: rss-secrets
|
|
||||||
key: pg_user
|
|
||||||
passwordSecret:
|
|
||||||
name: rss-secrets
|
|
||||||
key: pg_password
|
|
||||||
|
|
||||||
{{- if .Values.controller.workflowDefaults }}
|
|
||||||
workflowDefaults:
|
|
||||||
{{ toYaml .Values.controller.workflowDefaults | indent 6 }}{{- end }}
|
|
||||||
{{- if .Values.server.sso.enabled }}
|
|
||||||
sso:
|
|
||||||
issuer: {{ .Values.server.sso.issuer }}
|
|
||||||
clientId:
|
|
||||||
name: {{ .Values.server.sso.clientId.name }}
|
|
||||||
key: {{ .Values.server.sso.clientId.key }}
|
|
||||||
clientSecret:
|
|
||||||
name: {{ .Values.server.sso.clientSecret.name }}
|
|
||||||
key: {{ .Values.server.sso.clientSecret.key }}
|
|
||||||
redirectUrl: {{ .Values.server.sso.redirectUrl }}
|
|
||||||
rbac:
|
|
||||||
enabled: {{ .Values.server.sso.rbac.enabled }}
|
|
||||||
{{- with .Values.server.sso.scopes }}
|
|
||||||
scopes: {{ toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.server.sso.issuerAlias }}
|
|
||||||
issuerAlias: {{ toYaml . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.server.sso.sessionExpiry }}
|
|
||||||
sessionExpiry: {{ toYaml . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.server.sso.customGroupClaimName }}
|
|
||||||
customGroupClaimName: {{ toYaml . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.server.sso.userInfoPath }}
|
|
||||||
userInfoPath: {{ toYaml . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.server.sso.insecureSkipVerify }}
|
|
||||||
insecureSkipVerify: {{ toYaml . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.workflowRestrictions }}
|
|
||||||
workflowRestrictions: {{- toYaml . | nindent 6 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.links }}
|
|
||||||
links: {{- toYaml . | nindent 6 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.columns }}
|
|
||||||
columns: {{- toYaml . | nindent 6 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.navColor }}
|
|
||||||
navColor: {{ . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.retentionPolicy }}
|
|
||||||
retentionPolicy: {{- toYaml . | nindent 6 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.emissary.images }}
|
|
||||||
images: {{- toYaml . | nindent 6 }}
|
|
||||||
{{- end }}
|
|
||||||
nodeEvents:
|
|
||||||
enabled: {{ .Values.controller.nodeEvents.enabled }}
|
|
||||||
{{- with .Values.controller.kubeConfig }}
|
|
||||||
kubeConfig: {{- toYaml . | nindent 6 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.podGCGracePeriodSeconds }}
|
|
||||||
podGCGracePeriodSeconds: {{ . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.podGCDeleteDelayDuration }}
|
|
||||||
podGCDeleteDelayDuration: {{ . }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
{{- if .Values.controller.rbac.create }}
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
{{- if .Values.singleNamespace }}
|
|
||||||
kind: RoleBinding
|
|
||||||
{{ else }}
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
{{- end }}
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Namespace }}:{{ template "argo-workflows.controller.fullname" . }}
|
|
||||||
{{- if .Values.singleNamespace }}
|
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
{{- if .Values.singleNamespace }}
|
|
||||||
kind: Role
|
|
||||||
{{ else }}
|
|
||||||
kind: ClusterRole
|
|
||||||
{{- end }}
|
|
||||||
name: {{ template "argo-workflows.controller.fullname" . }}
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: {{ template "argo-workflows.controllerServiceAccountName" . }}
|
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
|
||||||
|
|
||||||
{{- if .Values.controller.clusterWorkflowTemplates.enabled }}
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Namespace }}:{{ template "argo-workflows.controller.fullname" . }}-cluster-template
|
|
||||||
labels:
|
|
||||||
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: ClusterRole
|
|
||||||
name: {{ template "argo-workflows.controller.fullname" . }}-cluster-template
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: {{ template "argo-workflows.controllerServiceAccountName" . }}
|
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,129 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: {{ template "argo-workflows.controller.fullname" . }}
|
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
|
||||||
labels:
|
|
||||||
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
|
|
||||||
app.kubernetes.io/version: {{ include "argo-workflows.controller_chart_version_label" . }}
|
|
||||||
{{- with .Values.controller.deploymentAnnotations }}
|
|
||||||
annotations:
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
replicas: {{ .Values.controller.replicas }}
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "argo-workflows.selectorLabels" (dict "context" . "name" .Values.controller.name) | nindent 6 }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 8 }}
|
|
||||||
app.kubernetes.io/version: {{ include "argo-workflows.controller_chart_version_label" . }}
|
|
||||||
{{- with.Values.controller.podLabels }}
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.podAnnotations }}
|
|
||||||
annotations:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
serviceAccountName: {{ template "argo-workflows.controllerServiceAccountName" . }}
|
|
||||||
{{- with .Values.controller.podSecurityContext }}
|
|
||||||
securityContext:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.extraInitContainers }}
|
|
||||||
initContainers:
|
|
||||||
{{- tpl (toYaml .) $ | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
containers:
|
|
||||||
- name: controller
|
|
||||||
image: "{{- include "argo-workflows.image" (dict "context" . "image" .Values.controller.image) }}:{{ default (include "argo-workflows.defaultTag" .) .Values.controller.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.images.pullPolicy }}
|
|
||||||
command: [ "workflow-controller" ]
|
|
||||||
args:
|
|
||||||
- "--configmap"
|
|
||||||
- "{{ template "argo-workflows.controller.fullname" . }}-configmap"
|
|
||||||
- "--executor-image"
|
|
||||||
- "{{- include "argo-workflows.image" (dict "context" . "image" .Values.executor.image) }}:{{ default (include "argo-workflows.defaultTag" .) .Values.executor.image.tag }}"
|
|
||||||
- "--loglevel"
|
|
||||||
- "{{ .Values.controller.logging.level }}"
|
|
||||||
- "--gloglevel"
|
|
||||||
- "{{ .Values.controller.logging.globallevel }}"
|
|
||||||
- "--log-format"
|
|
||||||
- "{{ .Values.controller.logging.format }}"
|
|
||||||
{{- if .Values.singleNamespace }}
|
|
||||||
- "--namespaced"
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.workflowWorkers }}
|
|
||||||
- "--workflow-workers"
|
|
||||||
- {{ . | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.extraArgs }}
|
|
||||||
{{- toYaml . | nindent 10 }}
|
|
||||||
{{- end }}
|
|
||||||
securityContext:
|
|
||||||
{{- toYaml .Values.controller.securityContext | nindent 12 }}
|
|
||||||
env:
|
|
||||||
- name: ARGO_NAMESPACE
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
apiVersion: v1
|
|
||||||
fieldPath: metadata.namespace
|
|
||||||
- name: LEADER_ELECTION_IDENTITY
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
apiVersion: v1
|
|
||||||
fieldPath: metadata.name
|
|
||||||
{{- with .Values.controller.extraEnv }}
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
resources:
|
|
||||||
{{- toYaml .Values.controller.resources | nindent 12 }}
|
|
||||||
{{- with .Values.controller.volumeMounts }}
|
|
||||||
volumeMounts:
|
|
||||||
{{- toYaml . | nindent 10 }}
|
|
||||||
{{- end }}
|
|
||||||
ports:
|
|
||||||
- name: {{ .Values.controller.metricsConfig.portName }}
|
|
||||||
containerPort: {{ .Values.controller.metricsConfig.port }}
|
|
||||||
- containerPort: 6060
|
|
||||||
livenessProbe: {{ .Values.controller.livenessProbe | toYaml | nindent 12 }}
|
|
||||||
{{- with .Values.controller.extraContainers }}
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.images.pullSecrets }}
|
|
||||||
imagePullSecrets:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.volumes }}
|
|
||||||
volumes:
|
|
||||||
{{- toYaml . | nindent 6 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.nodeSelector }}
|
|
||||||
nodeSelector:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.tolerations }}
|
|
||||||
tolerations:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.affinity }}
|
|
||||||
affinity:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.topologySpreadConstraints }}
|
|
||||||
topologySpreadConstraints:
|
|
||||||
{{- range $constraint := . }}
|
|
||||||
- {{ toYaml $constraint | nindent 8 | trim }}
|
|
||||||
{{- if not $constraint.labelSelector }}
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "argo-workflows.selectorLabels" (dict "context" $ "name" $.Values.controller.name) | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.controller.priorityClassName }}
|
|
||||||
priorityClassName: {{ . }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{{- if .Values.controller.serviceAccount.create }}
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: {{ template "argo-workflows.controllerServiceAccountName" . }}
|
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
|
||||||
labels:
|
|
||||||
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.controller.name "name" .Values.controller.name) | nindent 4 }}
|
|
||||||
{{- with .Values.controller.serviceAccount.labels }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{ with .Values.controller.serviceAccount.annotations }}
|
|
||||||
annotations:
|
|
||||||
{{- toYaml .| nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: RoleBinding
|
|
||||||
metadata:
|
|
||||||
name: {{ template "argo-workflows.fullname" $ }}-workflow
|
|
||||||
labels:
|
|
||||||
{{- include "argo-workflows.labels" (dict "context" $ "component" $.Values.controller.name "name" $.Values.controller.name) | nindent 4 }}
|
|
||||||
namespace: {{ $.Release.Namespace}}
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: Role
|
|
||||||
name: {{ template "argo-workflows.fullname" $ }}-workflow
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: {{ $.Values.workflow.serviceAccount.name }}
|
|
||||||
namespace: {{ $.Release.Namespace}}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{{ range .Values.extraObjects }}
|
|
||||||
---
|
|
||||||
{{- if typeIs "string" . }}
|
|
||||||
{{- tpl . $ }}
|
|
||||||
{{- else }}
|
|
||||||
{{- tpl (toYaml .) $ }}
|
|
||||||
{{- end }}
|
|
||||||
{{ end }}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
{{- if and .Values.server.enabled .Values.server.rbac.create -}}
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
{{- if .Values.singleNamespace }}
|
|
||||||
kind: RoleBinding
|
|
||||||
{{ else }}
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
{{- end }}
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Namespace }}:{{ template "argo-workflows.server.fullname" . }}
|
|
||||||
{{- if .Values.singleNamespace }}
|
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
{{- if .Values.singleNamespace }}
|
|
||||||
kind: Role
|
|
||||||
{{ else }}
|
|
||||||
kind: ClusterRole
|
|
||||||
{{- end }}
|
|
||||||
name: {{ template "argo-workflows.server.fullname" . }}
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: {{ template "argo-workflows.serverServiceAccountName" . }}
|
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
|
||||||
|
|
||||||
{{- if .Values.server.clusterWorkflowTemplates.enabled }}
|
|
||||||
---
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
metadata:
|
|
||||||
name: {{ .Release.Namespace }}:{{ template "argo-workflows.server.fullname" . }}-cluster-template
|
|
||||||
labels:
|
|
||||||
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: ClusterRole
|
|
||||||
name: {{ template "argo-workflows.server.fullname" . }}-cluster-template
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: {{ template "argo-workflows.serverServiceAccountName" . }}
|
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
@@ -1,142 +0,0 @@
|
|||||||
{{- if .Values.server.enabled -}}
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: {{ template "argo-workflows.server.fullname" . }}
|
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
|
||||||
labels:
|
|
||||||
app: argoworkflows
|
|
||||||
app.kubernetes.io/managed-by: Helm
|
|
||||||
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
|
|
||||||
app.kubernetes.io/version: {{ include "argo-workflows.server_chart_version_label" . }}
|
|
||||||
{{- with .Values.server.deploymentAnnotations }}
|
|
||||||
annotations:
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
applications.app.bytetrade.io/icon: https://argoproj.github.io/argo-workflows/assets/logo.png
|
|
||||||
applications.app.bytetrade.io/title: argoworkflows
|
|
||||||
applications.app.bytetrade.io/version: '0.35.0'
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
{{- if not .Values.server.autoscaling.enabled }}
|
|
||||||
replicas: {{ .Values.server.replicas }}
|
|
||||||
{{- end }}
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "argo-workflows.selectorLabels" (dict "context" . "name" .Values.server.name) | nindent 6 }}
|
|
||||||
app: argoworkflows
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: argoworkflows
|
|
||||||
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 8 }}
|
|
||||||
app.kubernetes.io/version: {{ include "argo-workflows.server_chart_version_label" . }}
|
|
||||||
{{- with .Values.server.podLabels }}
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.server.podAnnotations }}
|
|
||||||
annotations:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
serviceAccountName: {{ template "argo-workflows.serverServiceAccountName" . }}
|
|
||||||
{{- with .Values.server.podSecurityContext }}
|
|
||||||
securityContext:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.server.extraInitContainers }}
|
|
||||||
initContainers:
|
|
||||||
{{- tpl (toYaml .) $ | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
containers:
|
|
||||||
- name: argo-server
|
|
||||||
image: "{{- include "argo-workflows.image" (dict "context" . "image" .Values.server.image) }}:{{ default (include "argo-workflows.defaultTag" .) .Values.server.image.tag }}"
|
|
||||||
imagePullPolicy: {{ .Values.images.pullPolicy }}
|
|
||||||
securityContext:
|
|
||||||
{{- toYaml .Values.server.securityContext | nindent 12 }}
|
|
||||||
args:
|
|
||||||
- server
|
|
||||||
- --configmap={{ template "argo-workflows.controller.fullname" . }}-configmap
|
|
||||||
{{- with .Values.server.extraArgs }}
|
|
||||||
{{- toYaml . | nindent 10 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.server.authMode }}
|
|
||||||
- "--auth-mode={{ .Values.server.authMode }}"
|
|
||||||
{{- end }}
|
|
||||||
- "--secure={{ .Values.server.secure }}"
|
|
||||||
- "--x-frame-options="
|
|
||||||
{{- if .Values.singleNamespace }}
|
|
||||||
- "--namespaced"
|
|
||||||
{{- end }}
|
|
||||||
- "--loglevel"
|
|
||||||
- "{{ .Values.server.logging.level }}"
|
|
||||||
- "--gloglevel"
|
|
||||||
- "{{ .Values.server.logging.globallevel }}"
|
|
||||||
- "--log-format"
|
|
||||||
- "{{ .Values.server.logging.format }}"
|
|
||||||
ports:
|
|
||||||
- name: web
|
|
||||||
containerPort: 2746
|
|
||||||
readinessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: /
|
|
||||||
port: 2746
|
|
||||||
{{- if .Values.server.secure }}
|
|
||||||
scheme: HTTPS
|
|
||||||
{{- else }}
|
|
||||||
scheme: HTTP
|
|
||||||
{{- end }}
|
|
||||||
initialDelaySeconds: 10
|
|
||||||
periodSeconds: 20
|
|
||||||
env:
|
|
||||||
- name: IN_CLUSTER
|
|
||||||
value: "true"
|
|
||||||
- name: ARGO_NAMESPACE
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
apiVersion: v1
|
|
||||||
fieldPath: metadata.namespace
|
|
||||||
- name: BASE_HREF
|
|
||||||
value: {{ .Values.server.baseHref | quote }}
|
|
||||||
{{- with .Values.server.extraEnv }}
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
resources:
|
|
||||||
{{- toYaml .Values.server.resources | nindent 12 }}
|
|
||||||
volumeMounts:
|
|
||||||
- name: tmp
|
|
||||||
mountPath: /tmp
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: tmp
|
|
||||||
emptyDir: {}
|
|
||||||
{{- with .Values.server.volumes }}
|
|
||||||
{{- toYaml . | nindent 6}}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.server.nodeSelector }}
|
|
||||||
nodeSelector:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.server.tolerations }}
|
|
||||||
tolerations:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.server.affinity }}
|
|
||||||
affinity:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.server.topologySpreadConstraints }}
|
|
||||||
topologySpreadConstraints:
|
|
||||||
{{- range $constraint := . }}
|
|
||||||
- {{ toYaml $constraint | nindent 8 | trim }}
|
|
||||||
{{- if not $constraint.labelSelector }}
|
|
||||||
labelSelector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "argo-workflows.selectorLabels" (dict "context" $ "name" $.Values.server.name) | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.server.priorityClassName }}
|
|
||||||
priorityClassName: {{ . }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{- end -}}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{{- if and .Values.server.enabled .Values.server.serviceAccount.create -}}
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: {{ template "argo-workflows.serverServiceAccountName" . }}
|
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
|
||||||
labels:
|
|
||||||
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
|
|
||||||
{{- with .Values.server.serviceAccount.labels }}
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.server.serviceAccount.annotations }}
|
|
||||||
annotations:
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end -}}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
{{- if .Values.server.enabled -}}
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: {{ template "argo-workflows.server.fullname" . }}-svc
|
|
||||||
namespace: {{ .Release.Namespace | quote }}
|
|
||||||
labels:
|
|
||||||
{{- include "argo-workflows.labels" (dict "context" . "component" .Values.server.name "name" .Values.server.name) | nindent 4 }}
|
|
||||||
app.kubernetes.io/version: {{ include "argo-workflows.server_chart_version_label" . }}
|
|
||||||
{{- with .Values.server.serviceAnnotations }}
|
|
||||||
annotations:
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: {{ .Values.server.servicePort }}
|
|
||||||
{{- with .Values.server.servicePortName }}
|
|
||||||
name: {{ . }}
|
|
||||||
{{- end }}
|
|
||||||
targetPort: 2746
|
|
||||||
{{- if and (eq .Values.server.serviceType "NodePort") .Values.server.serviceNodePort }}
|
|
||||||
nodePort: {{ .Values.server.serviceNodePort }}
|
|
||||||
{{- end }}
|
|
||||||
selector:
|
|
||||||
app: {{ template "argo-workflows.server.fullname" . }}
|
|
||||||
{{- include "argo-workflows.selectorLabels" (dict "context" . "name" .Values.server.name) | nindent 4 }}
|
|
||||||
sessionAffinity: None
|
|
||||||
type: {{ .Values.server.serviceType }}
|
|
||||||
{{- if and (eq .Values.server.serviceType "LoadBalancer") .Values.server.loadBalancerIP }}
|
|
||||||
loadBalancerIP: {{ .Values.server.loadBalancerIP | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if and (eq .Values.server.serviceType "LoadBalancer") .Values.server.loadBalancerSourceRanges }}
|
|
||||||
loadBalancerSourceRanges:
|
|
||||||
{{- toYaml .Values.server.loadBalancerSourceRanges | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end -}}
|
|
||||||
@@ -1,840 +0,0 @@
|
|||||||
images:
|
|
||||||
# -- Common tag for Argo Workflows images. Defaults to `.Chart.AppVersion`.
|
|
||||||
tag: ""
|
|
||||||
# -- imagePullPolicy to apply to all containers
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
# -- Secrets with credentials to pull images from a private registry
|
|
||||||
pullSecrets: []
|
|
||||||
# - name: argo-pull-secret
|
|
||||||
|
|
||||||
## Custom resource configuration
|
|
||||||
crds:
|
|
||||||
# -- Install and upgrade CRDs
|
|
||||||
install: true
|
|
||||||
# -- Keep CRDs on chart uninstall
|
|
||||||
keep: true
|
|
||||||
# -- Annotations to be added to all CRDs
|
|
||||||
annotations: {}
|
|
||||||
|
|
||||||
# -- Create clusterroles that extend existing clusterroles to interact with argo-cd crds
|
|
||||||
## Ref: https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles
|
|
||||||
createAggregateRoles: true
|
|
||||||
|
|
||||||
# -- String to partially override "argo-workflows.fullname" template
|
|
||||||
nameOverride:
|
|
||||||
|
|
||||||
# -- String to fully override "argo-workflows.fullname" template
|
|
||||||
fullnameOverride:
|
|
||||||
|
|
||||||
# -- Override the Kubernetes version, which is used to evaluate certain manifests
|
|
||||||
kubeVersionOverride: ""
|
|
||||||
|
|
||||||
# Override APIVersions
|
|
||||||
apiVersionOverrides:
|
|
||||||
# -- String to override apiVersion of autoscaling rendered by this helm chart
|
|
||||||
autoscaling: "" # autoscaling/v2
|
|
||||||
# -- String to override apiVersion of GKE resources rendered by this helm chart
|
|
||||||
cloudgoogle: "" # cloud.google.com/v1
|
|
||||||
|
|
||||||
# -- Restrict Argo to operate only in a single namespace (the namespace of the
|
|
||||||
# Helm release) by apply Roles and RoleBindings instead of the Cluster
|
|
||||||
# equivalents, and start workflow-controller with the --namespaced flag. Use it
|
|
||||||
# in clusters with strict access policy.
|
|
||||||
singleNamespace: false
|
|
||||||
|
|
||||||
workflow:
|
|
||||||
# -- Deprecated; use controller.workflowNamespaces instead.
|
|
||||||
namespace:
|
|
||||||
serviceAccount:
|
|
||||||
# -- Specifies whether a service account should be created
|
|
||||||
create: false
|
|
||||||
# -- Labels applied to created service account
|
|
||||||
labels: {}
|
|
||||||
# -- Annotations applied to created service account
|
|
||||||
annotations: {}
|
|
||||||
# -- Service account which is used to run workflows
|
|
||||||
name: "argo-workflow"
|
|
||||||
# -- Secrets with credentials to pull images from a private registry. Same format as `.Values.images.pullSecrets`
|
|
||||||
pullSecrets: []
|
|
||||||
rbac:
|
|
||||||
# -- Adds Role and RoleBinding for the above specified service account to be able to run workflows.
|
|
||||||
# A Role and Rolebinding pair is also created for each namespace in controller.workflowNamespaces (see below)
|
|
||||||
create: true
|
|
||||||
|
|
||||||
controller:
|
|
||||||
image:
|
|
||||||
# -- Registry to use for the controller
|
|
||||||
registry: quay.io
|
|
||||||
# -- Registry to use for the controller
|
|
||||||
repository: argoproj/workflow-controller
|
|
||||||
# -- Image tag for the workflow controller. Defaults to `.Values.images.tag`.
|
|
||||||
tag: ""
|
|
||||||
# -- parallelism dictates how many workflows can be running at the same time
|
|
||||||
parallelism:
|
|
||||||
# -- Globally limits the rate at which pods are created.
|
|
||||||
# This is intended to mitigate flooding of the Kubernetes API server by workflows with a large amount of
|
|
||||||
# parallel nodes.
|
|
||||||
resourceRateLimit: {}
|
|
||||||
# limit: 10
|
|
||||||
# burst: 1
|
|
||||||
|
|
||||||
rbac:
|
|
||||||
# -- Adds Role and RoleBinding for the controller.
|
|
||||||
create: true
|
|
||||||
# -- Allows controller to get, list, and watch certain k8s secrets
|
|
||||||
secretWhitelist: []
|
|
||||||
# -- Allows controller to get, list and watch all k8s secrets. Can only be used if secretWhitelist is empty.
|
|
||||||
accessAllSecrets: false
|
|
||||||
# -- Allows controller to create and update ConfigMaps. Enables memoization feature
|
|
||||||
writeConfigMaps: false
|
|
||||||
|
|
||||||
# -- Limits the maximum number of incomplete workflows in a namespace
|
|
||||||
namespaceParallelism:
|
|
||||||
# -- Resolves ongoing, uncommon AWS EKS bug: https://github.com/argoproj/argo-workflows/pull/4224
|
|
||||||
initialDelay:
|
|
||||||
# -- deploymentAnnotations is an optional map of annotations to be applied to the controller Deployment
|
|
||||||
deploymentAnnotations: {}
|
|
||||||
# -- podAnnotations is an optional map of annotations to be applied to the controller Pods
|
|
||||||
podAnnotations: {}
|
|
||||||
# -- Optional labels to add to the controller pods
|
|
||||||
podLabels: {}
|
|
||||||
# -- SecurityContext to set on the controller pods
|
|
||||||
podSecurityContext: {}
|
|
||||||
# podPortName: http
|
|
||||||
metricsConfig:
|
|
||||||
# -- Enables prometheus metrics server
|
|
||||||
enabled: false
|
|
||||||
# -- Path is the path where metrics are emitted. Must start with a "/".
|
|
||||||
path: /metrics
|
|
||||||
# -- Port is the port where metrics are emitted
|
|
||||||
port: 9090
|
|
||||||
# -- How often custom metrics are cleared from memory
|
|
||||||
metricsTTL: ""
|
|
||||||
# -- Flag that instructs prometheus to ignore metric emission errors.
|
|
||||||
ignoreErrors: false
|
|
||||||
# -- Flag that use a self-signed cert for TLS
|
|
||||||
secure: false
|
|
||||||
# -- Container metrics port name
|
|
||||||
portName: metrics
|
|
||||||
# -- Service metrics port
|
|
||||||
servicePort: 8090
|
|
||||||
# -- Service metrics port name
|
|
||||||
servicePortName: metrics
|
|
||||||
# -- ServiceMonitor relabel configs to apply to samples before scraping
|
|
||||||
## Ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
|
|
||||||
relabelings: []
|
|
||||||
# -- ServiceMonitor metric relabel configs to apply to samples before ingestion
|
|
||||||
## Ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#endpoint
|
|
||||||
metricRelabelings: []
|
|
||||||
# -- ServiceMonitor will add labels from the service to the Prometheus metric
|
|
||||||
## Ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#servicemonitorspec
|
|
||||||
targetLabels: []
|
|
||||||
# -- the controller container's securityContext
|
|
||||||
securityContext:
|
|
||||||
readOnlyRootFilesystem: true
|
|
||||||
runAsNonRoot: true
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
drop:
|
|
||||||
- ALL
|
|
||||||
# -- enable persistence using postgres
|
|
||||||
persistence: {}
|
|
||||||
# connectionPool:
|
|
||||||
# maxIdleConns: 100
|
|
||||||
# maxOpenConns: 0
|
|
||||||
# # save the entire workflow into etcd and DB
|
|
||||||
# nodeStatusOffLoad: false
|
|
||||||
# # enable archiving of old workflows
|
|
||||||
# archive: false
|
|
||||||
# postgresql:
|
|
||||||
# host: localhost
|
|
||||||
# port: 5432
|
|
||||||
# database: postgres
|
|
||||||
# tableName: argo_workflows
|
|
||||||
# # the database secrets must be in the same namespace of the controller
|
|
||||||
# userNameSecret:
|
|
||||||
# name: argo-postgres-config
|
|
||||||
# key: username
|
|
||||||
# passwordSecret:
|
|
||||||
# name: argo-postgres-config
|
|
||||||
# key: password
|
|
||||||
|
|
||||||
# -- Default values that will apply to all Workflows from this controller, unless overridden on the Workflow-level.
|
|
||||||
# Only valid for 2.7+
|
|
||||||
## See more: https://argoproj.github.io/argo-workflows/default-workflow-specs/
|
|
||||||
workflowDefaults: {}
|
|
||||||
# spec:
|
|
||||||
# ttlStrategy:
|
|
||||||
# secondsAfterCompletion: 84600
|
|
||||||
# # Ref: https://argoproj.github.io/argo-workflows/artifact-repository-ref/
|
|
||||||
# artifactRepositoryRef:
|
|
||||||
# configMap: my-artifact-repository # default is "artifact-repositories"
|
|
||||||
# key: v2-s3-artifact-repository # default can be set by the `workflows.argoproj.io/default-artifact-repository` annotation in config map.
|
|
||||||
|
|
||||||
# -- Number of workflow workers
|
|
||||||
workflowWorkers: # 32
|
|
||||||
# -- Restricts the Workflows that the controller will process.
|
|
||||||
# Only valid for 2.9+
|
|
||||||
workflowRestrictions: {}
|
|
||||||
# templateReferencing: Strict|Secure
|
|
||||||
|
|
||||||
# telemetryConfig controls the path and port for prometheus telemetry. Telemetry is enabled and emitted in the same endpoint
|
|
||||||
# as metrics by default, but can be overridden using this config.
|
|
||||||
telemetryConfig:
|
|
||||||
# -- Enables prometheus telemetry server
|
|
||||||
enabled: false
|
|
||||||
# -- telemetry path
|
|
||||||
path: /telemetry
|
|
||||||
# -- telemetry container port
|
|
||||||
port: 8081
|
|
||||||
# -- How often custom metrics are cleared from memory
|
|
||||||
metricsTTL: ""
|
|
||||||
# -- Flag that instructs prometheus to ignore metric emission errors.
|
|
||||||
ignoreErrors: false
|
|
||||||
# -- Flag that use a self-signed cert for TLS
|
|
||||||
secure: false
|
|
||||||
# -- telemetry service port
|
|
||||||
servicePort: 8081
|
|
||||||
# -- telemetry service port name
|
|
||||||
servicePortName: telemetry
|
|
||||||
serviceMonitor:
|
|
||||||
# -- Enable a prometheus ServiceMonitor
|
|
||||||
enabled: false
|
|
||||||
# -- Prometheus ServiceMonitor labels
|
|
||||||
additionalLabels: {}
|
|
||||||
# -- Prometheus ServiceMonitor namespace
|
|
||||||
namespace: "" # "monitoring"
|
|
||||||
serviceAccount:
|
|
||||||
# -- Create a service account for the controller
|
|
||||||
create: true
|
|
||||||
# -- Service account name
|
|
||||||
name: ""
|
|
||||||
# -- Labels applied to created service account
|
|
||||||
labels: {}
|
|
||||||
# -- Annotations applied to created service account
|
|
||||||
annotations: {}
|
|
||||||
|
|
||||||
# -- Workflow controller name string
|
|
||||||
name: workflow-controller
|
|
||||||
|
|
||||||
# -- Specify all namespaces where this workflow controller instance will manage
|
|
||||||
# workflows. This controls where the service account and RBAC resources will
|
|
||||||
# be created. Only valid when singleNamespace is false.
|
|
||||||
workflowNamespaces:
|
|
||||||
- default
|
|
||||||
|
|
||||||
instanceID:
|
|
||||||
# -- Configures the controller to filter workflow submissions
|
|
||||||
# to only those which have a matching instanceID attribute.
|
|
||||||
## NOTE: If `instanceID.enabled` is set to `true` then either `instanceID.userReleaseName`
|
|
||||||
## or `instanceID.explicitID` must be defined.
|
|
||||||
enabled: true
|
|
||||||
# -- Use ReleaseName as instanceID
|
|
||||||
useReleaseName: true
|
|
||||||
# useReleaseName: true
|
|
||||||
|
|
||||||
# -- Use a custom instanceID
|
|
||||||
explicitID: ""
|
|
||||||
# explicitID: unique-argo-controller-identifier
|
|
||||||
|
|
||||||
logging:
|
|
||||||
# -- Set the logging level (one of: `debug`, `info`, `warn`, `error`)
|
|
||||||
level: info
|
|
||||||
# -- Set the glog logging level
|
|
||||||
globallevel: "0"
|
|
||||||
# -- Set the logging format (one of: `text`, `json`)
|
|
||||||
format: "text"
|
|
||||||
|
|
||||||
# -- Service type of the controller Service
|
|
||||||
serviceType: ClusterIP
|
|
||||||
# -- Annotations to be applied to the controller Service
|
|
||||||
serviceAnnotations: {}
|
|
||||||
# -- Optional labels to add to the controller Service
|
|
||||||
serviceLabels: {}
|
|
||||||
# -- Source ranges to allow access to service from. Only applies to service type `LoadBalancer`
|
|
||||||
loadBalancerSourceRanges: []
|
|
||||||
|
|
||||||
# -- Resource limits and requests for the controller
|
|
||||||
resources: {}
|
|
||||||
|
|
||||||
# -- Configure liveness [probe] for the controller
|
|
||||||
# @default -- See [values.yaml]
|
|
||||||
livenessProbe:
|
|
||||||
httpGet:
|
|
||||||
port: 6060
|
|
||||||
path: /healthz
|
|
||||||
failureThreshold: 3
|
|
||||||
initialDelaySeconds: 90
|
|
||||||
periodSeconds: 60
|
|
||||||
timeoutSeconds: 30
|
|
||||||
|
|
||||||
# -- Extra environment variables to provide to the controller container
|
|
||||||
extraEnv: []
|
|
||||||
# - name: FOO
|
|
||||||
# value: "bar"
|
|
||||||
|
|
||||||
# -- Extra arguments to be added to the controller
|
|
||||||
extraArgs: []
|
|
||||||
# -- Additional volume mounts to the controller main container
|
|
||||||
volumeMounts: []
|
|
||||||
# -- Additional volumes to the controller pod
|
|
||||||
volumes: []
|
|
||||||
# -- The number of controller pods to run
|
|
||||||
replicas: 1
|
|
||||||
|
|
||||||
pdb:
|
|
||||||
# -- Configure [Pod Disruption Budget] for the controller pods
|
|
||||||
enabled: false
|
|
||||||
# minAvailable: 1
|
|
||||||
# maxUnavailable: 1
|
|
||||||
|
|
||||||
# -- [Node selector]
|
|
||||||
nodeSelector:
|
|
||||||
kubernetes.io/os: linux
|
|
||||||
# -- [Tolerations] for use with node taints
|
|
||||||
tolerations: []
|
|
||||||
# -- Assign custom [affinity] rules
|
|
||||||
affinity: {}
|
|
||||||
|
|
||||||
# -- Assign custom [TopologySpreadConstraints] rules to the workflow controller
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
|
||||||
## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
|
|
||||||
topologySpreadConstraints: []
|
|
||||||
# - maxSkew: 1
|
|
||||||
# topologyKey: topology.kubernetes.io/zone
|
|
||||||
# whenUnsatisfiable: DoNotSchedule
|
|
||||||
|
|
||||||
# -- Leverage a PriorityClass to ensure your pods survive resource shortages.
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
|
|
||||||
priorityClassName: ""
|
|
||||||
|
|
||||||
# -- Configure Argo Server to show custom [links]
|
|
||||||
## Ref: https://argoproj.github.io/argo-workflows/links/
|
|
||||||
links: []
|
|
||||||
# -- Configure Argo Server to show custom [columns]
|
|
||||||
## Ref: https://github.com/argoproj/argo-workflows/pull/10693
|
|
||||||
columns: []
|
|
||||||
# -- Set ui navigation bar background color
|
|
||||||
navColor: ""
|
|
||||||
clusterWorkflowTemplates:
|
|
||||||
# -- Create a ClusterRole and CRB for the controller to access ClusterWorkflowTemplates.
|
|
||||||
enabled: true
|
|
||||||
# -- Extra containers to be added to the controller deployment
|
|
||||||
extraContainers: []
|
|
||||||
|
|
||||||
# -- Enables init containers to be added to the controller deployment
|
|
||||||
extraInitContainers: []
|
|
||||||
|
|
||||||
# -- Workflow retention by number of workflows
|
|
||||||
retentionPolicy: {}
|
|
||||||
# completed: 10
|
|
||||||
# failed: 3
|
|
||||||
# errored: 3
|
|
||||||
|
|
||||||
nodeEvents:
|
|
||||||
# -- Enable to emit events on node completion.
|
|
||||||
## This can take up a lot of space in k8s (typically etcd) resulting in errors when trying to create new events:
|
|
||||||
## "Unable to create audit event: etcdserver: mvcc: database space exceeded"
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
# -- Configure when workflow controller runs in a different k8s cluster with the workflow workloads,
|
|
||||||
# or needs to communicate with the k8s apiserver using an out-of-cluster kubeconfig secret.
|
|
||||||
# @default -- `{}` (See [values.yaml])
|
|
||||||
kubeConfig: {}
|
|
||||||
# # name of the kubeconfig secret, may not be empty when kubeConfig specified
|
|
||||||
# secretName: kubeconfig-secret
|
|
||||||
# # key of the kubeconfig secret, may not be empty when kubeConfig specified
|
|
||||||
# secretKey: kubeconfig
|
|
||||||
# # mounting path of the kubeconfig secret, default to /kube/config
|
|
||||||
# mountPath: /kubeconfig/mount/path
|
|
||||||
# # volume name when mounting the secret, default to kubeconfig
|
|
||||||
# volumeName: kube-config-volume
|
|
||||||
|
|
||||||
# -- Specifies the duration in seconds before a terminating pod is forcefully killed. A zero value indicates that the pod will be forcefully terminated immediately.
|
|
||||||
# @default -- `30` seconds (Kubernetes default)
|
|
||||||
podGCGracePeriodSeconds:
|
|
||||||
|
|
||||||
# -- The duration in seconds before the pods in the GC queue get deleted. A zero value indicates that the pods will be deleted immediately.
|
|
||||||
# @default -- `5s` (Argo Workflows default)
|
|
||||||
podGCDeleteDelayDuration: ""
|
|
||||||
|
|
||||||
# mainContainer adds default config for main container that could be overriden in workflows template
|
|
||||||
mainContainer:
|
|
||||||
# -- imagePullPolicy to apply to Workflow main container. Defaults to `.Values.images.pullPolicy`.
|
|
||||||
imagePullPolicy: ""
|
|
||||||
# -- Resource limits and requests for the Workflow main container
|
|
||||||
resources: {}
|
|
||||||
# -- Adds environment variables for the Workflow main container
|
|
||||||
env: []
|
|
||||||
# -- Adds reference environment variables for the Workflow main container
|
|
||||||
envFrom: []
|
|
||||||
# -- sets security context for the Workflow main container
|
|
||||||
securityContext: {}
|
|
||||||
|
|
||||||
# executor controls how the init and wait container should be customized
|
|
||||||
executor:
|
|
||||||
image:
|
|
||||||
# -- Registry to use for the Workflow Executors
|
|
||||||
registry: quay.io
|
|
||||||
# -- Repository to use for the Workflow Executors
|
|
||||||
repository: argoproj/argoexec
|
|
||||||
# -- Image tag for the workflow executor. Defaults to `.Values.images.tag`.
|
|
||||||
tag: ""
|
|
||||||
# -- Image PullPolicy to use for the Workflow Executors. Defaults to `.Values.images.pullPolicy`.
|
|
||||||
pullPolicy: ""
|
|
||||||
# -- Resource limits and requests for the Workflow Executors
|
|
||||||
resources: {}
|
|
||||||
# -- Passes arguments to the executor processes
|
|
||||||
args: []
|
|
||||||
# -- Adds environment variables for the executor.
|
|
||||||
env: []
|
|
||||||
# -- sets security context for the executor container
|
|
||||||
securityContext: {}
|
|
||||||
|
|
||||||
server:
|
|
||||||
# -- Deploy the Argo Server
|
|
||||||
enabled: true
|
|
||||||
# -- Value for base href in index.html. Used if the server is running behind reverse proxy under subpath different from /.
|
|
||||||
## only updates base url of resources on client side,
|
|
||||||
## it's expected that a proxy server rewrites the request URL and gets rid of this prefix
|
|
||||||
## https://github.com/argoproj/argo-workflows/issues/716#issuecomment-433213190
|
|
||||||
baseHref: /
|
|
||||||
image:
|
|
||||||
# -- Registry to use for the server
|
|
||||||
registry: quay.io
|
|
||||||
# -- Repository to use for the server
|
|
||||||
repository: argoproj/argocli
|
|
||||||
# -- Image tag for the Argo Workflows server. Defaults to `.Values.images.tag`.
|
|
||||||
tag: ""
|
|
||||||
# -- optional map of annotations to be applied to the ui Deployment
|
|
||||||
deploymentAnnotations: {}
|
|
||||||
# -- optional map of annotations to be applied to the ui Pods
|
|
||||||
podAnnotations: {}
|
|
||||||
# -- Optional labels to add to the UI pods
|
|
||||||
podLabels: {}
|
|
||||||
# -- SecurityContext to set on the server pods
|
|
||||||
podSecurityContext: {}
|
|
||||||
rbac:
|
|
||||||
# -- Adds Role and RoleBinding for the server.
|
|
||||||
create: true
|
|
||||||
# -- Servers container-level security context
|
|
||||||
securityContext:
|
|
||||||
readOnlyRootFilesystem: false
|
|
||||||
runAsNonRoot: true
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
drop:
|
|
||||||
- ALL
|
|
||||||
# -- Server name string
|
|
||||||
name: server
|
|
||||||
# -- Service type for server pods
|
|
||||||
serviceType: ClusterIP
|
|
||||||
# -- Service port for server
|
|
||||||
servicePort: 2746
|
|
||||||
# -- Service node port
|
|
||||||
serviceNodePort: # 32746
|
|
||||||
# -- Service port name
|
|
||||||
servicePortName: "http" # http
|
|
||||||
|
|
||||||
serviceAccount:
|
|
||||||
# -- Create a service account for the server
|
|
||||||
create: true
|
|
||||||
# -- Service account name
|
|
||||||
name: ""
|
|
||||||
# -- Labels applied to created service account
|
|
||||||
labels: {}
|
|
||||||
# -- Annotations applied to created service account
|
|
||||||
annotations: {}
|
|
||||||
|
|
||||||
# -- Annotations to be applied to the UI Service
|
|
||||||
serviceAnnotations: {}
|
|
||||||
# -- Optional labels to add to the UI Service
|
|
||||||
serviceLabels: {}
|
|
||||||
# -- Static IP address to assign to loadBalancer service type `LoadBalancer`
|
|
||||||
loadBalancerIP: ""
|
|
||||||
# -- Source ranges to allow access to service from. Only applies to service type `LoadBalancer`
|
|
||||||
loadBalancerSourceRanges: []
|
|
||||||
# -- Resource limits and requests for the server
|
|
||||||
resources: {}
|
|
||||||
# -- The number of server pods to run
|
|
||||||
replicas: 1
|
|
||||||
## Argo Server Horizontal Pod Autoscaler
|
|
||||||
autoscaling:
|
|
||||||
# -- Enable Horizontal Pod Autoscaler ([HPA]) for the Argo Server
|
|
||||||
enabled: false
|
|
||||||
# -- Minimum number of replicas for the Argo Server [HPA]
|
|
||||||
minReplicas: 1
|
|
||||||
# -- Maximum number of replicas for the Argo Server [HPA]
|
|
||||||
maxReplicas: 5
|
|
||||||
# -- Average CPU utilization percentage for the Argo Server [HPA]
|
|
||||||
targetCPUUtilizationPercentage: 50
|
|
||||||
# -- Average memory utilization percentage for the Argo Server [HPA]
|
|
||||||
targetMemoryUtilizationPercentage: 50
|
|
||||||
# -- Configures the scaling behavior of the target in both Up and Down directions.
|
|
||||||
# This is only available on HPA apiVersion `autoscaling/v2beta2` and newer
|
|
||||||
behavior: {}
|
|
||||||
# scaleDown:
|
|
||||||
# stabilizationWindowSeconds: 300
|
|
||||||
# policies:
|
|
||||||
# - type: Pods
|
|
||||||
# value: 1
|
|
||||||
# periodSeconds: 180
|
|
||||||
# scaleUp:
|
|
||||||
# stabilizationWindowSeconds: 300
|
|
||||||
# policies:
|
|
||||||
# - type: Pods
|
|
||||||
# value: 2
|
|
||||||
pdb:
|
|
||||||
# -- Configure [Pod Disruption Budget] for the server pods
|
|
||||||
enabled: false
|
|
||||||
# minAvailable: 1
|
|
||||||
# maxUnavailable: 1
|
|
||||||
|
|
||||||
# -- [Node selector]
|
|
||||||
nodeSelector:
|
|
||||||
kubernetes.io/os: linux
|
|
||||||
|
|
||||||
# -- [Tolerations] for use with node taints
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
# -- Assign custom [affinity] rules
|
|
||||||
affinity: {}
|
|
||||||
|
|
||||||
# -- Assign custom [TopologySpreadConstraints] rules to the argo server
|
|
||||||
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
|
||||||
## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
|
|
||||||
topologySpreadConstraints: []
|
|
||||||
# - maxSkew: 1
|
|
||||||
# topologyKey: topology.kubernetes.io/zone
|
|
||||||
# whenUnsatisfiable: DoNotSchedule
|
|
||||||
|
|
||||||
# -- Leverage a PriorityClass to ensure your pods survive resource shortages
|
|
||||||
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
|
|
||||||
priorityClassName: ""
|
|
||||||
|
|
||||||
# -- Run the argo server in "secure" mode. Configure this value instead of `--secure` in extraArgs.
|
|
||||||
## See the following documentation for more details on secure mode:
|
|
||||||
## https://argoproj.github.io/argo-workflows/tls/
|
|
||||||
secure: false
|
|
||||||
|
|
||||||
# -- Extra environment variables to provide to the argo-server container
|
|
||||||
extraEnv: []
|
|
||||||
# - name: FOO
|
|
||||||
# value: "bar"
|
|
||||||
|
|
||||||
# -- Auth Mode is available from `server` , `client` or `sso`. If you chose `sso` , please configure `.Values.server.sso` as well.
|
|
||||||
## Ref: https://argoproj.github.io/argo-workflows/argo-server-auth-mode/
|
|
||||||
authMode: "server"
|
|
||||||
|
|
||||||
# -- Extra arguments to provide to the Argo server binary.
|
|
||||||
## Ref: https://argoproj.github.io/argo-workflows/argo-server/#options
|
|
||||||
extraArgs: []
|
|
||||||
|
|
||||||
logging:
|
|
||||||
# -- Set the logging level (one of: `debug`, `info`, `warn`, `error`)
|
|
||||||
level: info
|
|
||||||
# -- Set the glog logging level
|
|
||||||
globallevel: "0"
|
|
||||||
# -- Set the logging format (one of: `text`, `json`)
|
|
||||||
format: "text"
|
|
||||||
|
|
||||||
# -- Additional volume mounts to the server main container.
|
|
||||||
volumeMounts: []
|
|
||||||
# -- Additional volumes to the server pod.
|
|
||||||
volumes: []
|
|
||||||
|
|
||||||
## Ingress configuration.
|
|
||||||
# ref: https://kubernetes.io/docs/user-guide/ingress/
|
|
||||||
ingress:
|
|
||||||
# -- Enable an ingress resource
|
|
||||||
enabled: false
|
|
||||||
# -- Additional ingress annotations
|
|
||||||
annotations: {}
|
|
||||||
# -- Additional ingress labels
|
|
||||||
labels: {}
|
|
||||||
# -- Defines which ingress controller will implement the resource
|
|
||||||
ingressClassName: ""
|
|
||||||
|
|
||||||
# -- List of ingress hosts
|
|
||||||
## Hostnames must be provided if Ingress is enabled.
|
|
||||||
## Secrets must be manually created in the namespace
|
|
||||||
hosts: []
|
|
||||||
# - argoworkflows.example.com
|
|
||||||
|
|
||||||
# -- List of ingress paths
|
|
||||||
paths:
|
|
||||||
- /
|
|
||||||
|
|
||||||
# -- Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific`
|
|
||||||
pathType: Prefix
|
|
||||||
# -- Additional ingress paths
|
|
||||||
extraPaths: []
|
|
||||||
# - path: /*
|
|
||||||
# backend:
|
|
||||||
# serviceName: ssl-redirect
|
|
||||||
# servicePort: use-annotation
|
|
||||||
## for Kubernetes >=1.19 (when "networking.k8s.io/v1" is used)
|
|
||||||
# - path: /*
|
|
||||||
# pathType: Prefix
|
|
||||||
# backend:
|
|
||||||
# service
|
|
||||||
# name: ssl-redirect
|
|
||||||
# port:
|
|
||||||
# name: use-annotation
|
|
||||||
|
|
||||||
# -- Ingress TLS configuration
|
|
||||||
tls: []
|
|
||||||
# - secretName: argoworkflows-example-tls
|
|
||||||
# hosts:
|
|
||||||
# - argoworkflows.example.com
|
|
||||||
|
|
||||||
## Create a Google Backendconfig for use with the GKE Ingress Controller
|
|
||||||
## https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-configuration#configuring_ingress_features_through_backendconfig_parameters
|
|
||||||
GKEbackendConfig:
|
|
||||||
# -- Enable BackendConfig custom resource for Google Kubernetes Engine
|
|
||||||
enabled: false
|
|
||||||
# -- [BackendConfigSpec]
|
|
||||||
spec: {}
|
|
||||||
# spec:
|
|
||||||
# iap:
|
|
||||||
# enabled: true
|
|
||||||
# oauthclientCredentials:
|
|
||||||
# secretName: argoworkflows-secret
|
|
||||||
|
|
||||||
## Create a Google Managed Certificate for use with the GKE Ingress Controller
|
|
||||||
## https://cloud.google.com/kubernetes-engine/docs/how-to/managed-certs
|
|
||||||
GKEmanagedCertificate:
|
|
||||||
# -- Enable ManagedCertificate custom resource for Google Kubernetes Engine.
|
|
||||||
enabled: false
|
|
||||||
# -- Domains for the Google Managed Certificate
|
|
||||||
domains:
|
|
||||||
- argoworkflows.example.com
|
|
||||||
|
|
||||||
## Create a Google FrontendConfig Custom Resource, for use with the GKE Ingress Controller
|
|
||||||
## https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#configuring_ingress_features_through_frontendconfig_parameters
|
|
||||||
GKEfrontendConfig:
|
|
||||||
# -- Enable FrontConfig custom resource for Google Kubernetes Engine
|
|
||||||
enabled: false
|
|
||||||
# -- [FrontendConfigSpec]
|
|
||||||
spec: {}
|
|
||||||
# spec:
|
|
||||||
# redirectToHttps:
|
|
||||||
# enabled: true
|
|
||||||
# responseCodeName: RESPONSE_CODE
|
|
||||||
|
|
||||||
clusterWorkflowTemplates:
|
|
||||||
# -- Create a ClusterRole and CRB for the server to access ClusterWorkflowTemplates.
|
|
||||||
enabled: true
|
|
||||||
# -- Give the server permissions to edit ClusterWorkflowTemplates.
|
|
||||||
enableEditing: true
|
|
||||||
|
|
||||||
# SSO configuration when SSO is specified as a server auth mode.
|
|
||||||
sso:
|
|
||||||
# -- Create SSO configuration. If you set `true` , please also set `.Values.server.authMode` as `sso`.
|
|
||||||
enabled: false
|
|
||||||
# -- The root URL of the OIDC identity provider
|
|
||||||
issuer: https://accounts.google.com
|
|
||||||
clientId:
|
|
||||||
# -- Name of secret to retrieve the app OIDC client ID
|
|
||||||
name: argo-server-sso
|
|
||||||
# -- Key of secret to retrieve the app OIDC client ID
|
|
||||||
key: client-id
|
|
||||||
clientSecret:
|
|
||||||
# -- Name of a secret to retrieve the app OIDC client secret
|
|
||||||
name: argo-server-sso
|
|
||||||
# -- Key of a secret to retrieve the app OIDC client secret
|
|
||||||
key: client-secret
|
|
||||||
# - The OIDC redirect URL. Should be in the form <argo-root-url>/oauth2/callback.
|
|
||||||
redirectUrl: https://argo/oauth2/callback
|
|
||||||
rbac:
|
|
||||||
# -- Adds ServiceAccount Policy to server (Cluster)Role.
|
|
||||||
enabled: true
|
|
||||||
# -- Whitelist to allow server to fetch Secrets
|
|
||||||
## When present, restricts secrets the server can read to a given list.
|
|
||||||
## You can use it to restrict the server to only be able to access the
|
|
||||||
## service account token secrets that are associated with service accounts
|
|
||||||
## used for authorization.
|
|
||||||
secretWhitelist: []
|
|
||||||
# -- Scopes requested from the SSO ID provider
|
|
||||||
## The 'groups' scope requests group membership information, which is usually used for authorization decisions.
|
|
||||||
scopes: []
|
|
||||||
# - groups
|
|
||||||
# -- Define how long your login is valid for (in hours)
|
|
||||||
## If omitted, defaults to 10h.
|
|
||||||
sessionExpiry: ""
|
|
||||||
# -- Alternate root URLs that can be included for some OIDC providers
|
|
||||||
issuerAlias: ""
|
|
||||||
# -- Override claim name for OIDC groups
|
|
||||||
customGroupClaimName: ""
|
|
||||||
# -- Specify the user info endpoint that contains the groups claim
|
|
||||||
## Configure this if your OIDC provider provides groups information only using the user-info endpoint (e.g. Okta)
|
|
||||||
userInfoPath: ""
|
|
||||||
# -- Skip TLS verification for the HTTP client
|
|
||||||
insecureSkipVerify: false
|
|
||||||
|
|
||||||
# -- Extra containers to be added to the server deployment
|
|
||||||
extraContainers: []
|
|
||||||
|
|
||||||
# -- Enables init containers to be added to the server deployment
|
|
||||||
extraInitContainers: []
|
|
||||||
|
|
||||||
# -- Array of extra K8s manifests to deploy
|
|
||||||
extraObjects: []
|
|
||||||
# - apiVersion: secrets-store.csi.x-k8s.io/v1
|
|
||||||
# kind: SecretProviderClass
|
|
||||||
# metadata:
|
|
||||||
# name: argo-server-sso
|
|
||||||
# spec:
|
|
||||||
# provider: aws
|
|
||||||
# parameters:
|
|
||||||
# objects: |
|
|
||||||
# - objectName: "argo/server/sso"
|
|
||||||
# objectType: "secretsmanager"
|
|
||||||
# jmesPath:
|
|
||||||
# - path: "client_id"
|
|
||||||
# objectAlias: "client_id"
|
|
||||||
# - path: "client_secret"
|
|
||||||
# objectAlias: "client_secret"
|
|
||||||
# secretObjects:
|
|
||||||
# - data:
|
|
||||||
# - key: client_id
|
|
||||||
# objectName: client_id
|
|
||||||
# - key: client_secret
|
|
||||||
# objectName: client_secret
|
|
||||||
# secretName: argo-server-sso-secrets-store
|
|
||||||
# type: Opaque
|
|
||||||
|
|
||||||
# -- Use static credentials for S3 (eg. when not using AWS IRSA)
|
|
||||||
useStaticCredentials: true
|
|
||||||
artifactRepository:
|
|
||||||
# -- Archive the main container logs as an artifact
|
|
||||||
archiveLogs: true
|
|
||||||
# -- Store artifact in a S3-compliant object store
|
|
||||||
# @default -- See [values.yaml]
|
|
||||||
s3:
|
|
||||||
# # Note the `key` attribute is not the actual secret, it's the PATH to
|
|
||||||
# # the contents in the associated secret, as defined by the `name` attribute.
|
|
||||||
accessKeySecret:
|
|
||||||
name: argo-workflow-log-fakes3
|
|
||||||
key: AWS_ACCESS_KEY_ID
|
|
||||||
secretKeySecret:
|
|
||||||
name: argo-workflow-log-fakes3
|
|
||||||
key: AWS_SECRET_ACCESS_KEY
|
|
||||||
# # insecure will disable TLS. Primarily used for minio installs not configured with TLS
|
|
||||||
insecure: true
|
|
||||||
keyFormat: "{{workflow.namespace}}/{{workflow.name}}/{{pod.name}}"
|
|
||||||
bucket: mongo-backup
|
|
||||||
# endpoint: workflow-archivelog-s3:4568
|
|
||||||
# region:
|
|
||||||
# roleARN:
|
|
||||||
# useSDKCreds: true
|
|
||||||
# encryptionOptions:
|
|
||||||
# enableEncryption: true
|
|
||||||
# -- Store artifact in a GCS object store
|
|
||||||
# @default -- `{}` (See [values.yaml])
|
|
||||||
gcs: {}
|
|
||||||
# bucket: <project>-argo
|
|
||||||
# keyFormat: "{{ \"{{workflow.namespace}}/{{workflow.name}}/{{pod.name}}\" }}"
|
|
||||||
# serviceAccountKeySecret is a secret selector.
|
|
||||||
# It references the k8s secret named 'my-gcs-credentials'.
|
|
||||||
# This secret is expected to have have the key 'serviceAccountKey',
|
|
||||||
# containing the base64 encoded credentials
|
|
||||||
# to the bucket.
|
|
||||||
#
|
|
||||||
# If it's running on GKE and Workload Identity is used,
|
|
||||||
# serviceAccountKeySecret is not needed.
|
|
||||||
# serviceAccountKeySecret:
|
|
||||||
# name: my-gcs-credentials
|
|
||||||
# key: serviceAccountKey
|
|
||||||
# -- Store artifact in Azure Blob Storage
|
|
||||||
# @default -- `{}` (See [values.yaml])
|
|
||||||
azure: {}
|
|
||||||
# endpoint: https://mystorageaccountname.blob.core.windows.net
|
|
||||||
# container: my-container-name
|
|
||||||
# blobNameFormat: path/in/container
|
|
||||||
## accountKeySecret is a secret selector.
|
|
||||||
## It references the k8s secret named 'my-azure-storage-credentials'.
|
|
||||||
## This secret is expected to have have the key 'account-access-key',
|
|
||||||
## containing the base64 encoded credentials to the storage account.
|
|
||||||
## If a managed identity has been assigned to the machines running the
|
|
||||||
## workflow (e.g., https://docs.microsoft.com/en-us/azure/aks/use-managed-identity)
|
|
||||||
## then accountKeySecret is not needed, and useSDKCreds should be
|
|
||||||
## set to true instead:
|
|
||||||
# useSDKCreds: true
|
|
||||||
# accountKeySecret:
|
|
||||||
# name: my-azure-storage-credentials
|
|
||||||
# key: account-access-key
|
|
||||||
|
|
||||||
# -- The section of custom artifact repository.
|
|
||||||
# Utilize a custom artifact repository that is not one of the current base ones (s3, gcs, azure)
|
|
||||||
customArtifactRepository: {}
|
|
||||||
# artifactory:
|
|
||||||
# repoUrl: https://artifactory.example.com/raw
|
|
||||||
# usernameSecret:
|
|
||||||
# name: artifactory-creds
|
|
||||||
# key: username
|
|
||||||
# passwordSecret:
|
|
||||||
# name: artifactory-creds
|
|
||||||
# key: password
|
|
||||||
|
|
||||||
# -- The section of [artifact repository ref](https://argoproj.github.io/argo-workflows/artifact-repository-ref/).
|
|
||||||
# Each map key is the name of configmap
|
|
||||||
# @default -- `{}` (See [values.yaml])
|
|
||||||
artifactRepositoryRef: {}
|
|
||||||
# # -- 1st ConfigMap
|
|
||||||
# # If you want to use this config map by default, name it "artifact-repositories".
|
|
||||||
# # Otherwise, you can provide a reference to a
|
|
||||||
# # different config map in `artifactRepositoryRef.configMap`.
|
|
||||||
# artifact-repositories:
|
|
||||||
# # -- v3.0 and after - if you want to use a specific key, put that key into this annotation.
|
|
||||||
# annotations:
|
|
||||||
# workflows.argoproj.io/default-artifact-repository: default-v1-s3-artifact-repository
|
|
||||||
# # 1st data of configmap. See above artifactRepository or customArtifactRepository.
|
|
||||||
# default-v1-s3-artifact-repository:
|
|
||||||
# archiveLogs: false
|
|
||||||
# s3:
|
|
||||||
# bucket: my-bucket
|
|
||||||
# endpoint: minio:9000
|
|
||||||
# insecure: true
|
|
||||||
# accessKeySecret:
|
|
||||||
# name: my-minio-cred
|
|
||||||
# key: accesskey
|
|
||||||
# secretKeySecret:
|
|
||||||
# name: my-minio-cred
|
|
||||||
# key: secretkey
|
|
||||||
# # 2nd data
|
|
||||||
# oss-artifact-repository:
|
|
||||||
# archiveLogs: false
|
|
||||||
# oss:
|
|
||||||
# endpoint: http://oss-cn-zhangjiakou-internal.aliyuncs.com
|
|
||||||
# bucket: $mybucket
|
|
||||||
# # accessKeySecret and secretKeySecret are secret selectors.
|
|
||||||
# # It references the k8s secret named 'bucket-workflow-artifect-credentials'.
|
|
||||||
# # This secret is expected to have have the keys 'accessKey'
|
|
||||||
# # and 'secretKey', containing the base64 encoded credentials
|
|
||||||
# # to the bucket.
|
|
||||||
# accessKeySecret:
|
|
||||||
# name: $mybucket-credentials
|
|
||||||
# key: accessKey
|
|
||||||
# secretKeySecret:
|
|
||||||
# name: $mybucket-credentials
|
|
||||||
# key: secretKey
|
|
||||||
# # 2nd ConfigMap
|
|
||||||
# another-artifact-repositories:
|
|
||||||
# annotations:
|
|
||||||
# workflows.argoproj.io/default-artifact-repository: gcs
|
|
||||||
# gcs:
|
|
||||||
# bucket: my-bucket
|
|
||||||
# keyFormat: prefix/in/bucket/{{workflow.name}}/{{pod.name}}
|
|
||||||
# serviceAccountKeySecret:
|
|
||||||
# name: my-gcs-credentials
|
|
||||||
# key: serviceAccountKey
|
|
||||||
|
|
||||||
emissary:
|
|
||||||
# -- The command/args for each image on workflow, needed when the command is not specified and the emissary executor is used.
|
|
||||||
## See more: https://argoproj.github.io/argo-workflows/workflow-executors/#emissary-emissary
|
|
||||||
images: []
|
|
||||||
# argoproj/argosay:v2:
|
|
||||||
# cmd: [/argosay]
|
|
||||||
# docker/whalesay:latest:
|
|
||||||
# cmd: [/bin/bash]
|
|
||||||
@@ -1,174 +1,4 @@
|
|||||||
{{- $namespace := printf "%s%s" "user-system-" .Values.bfl.username -}}
|
|
||||||
{{- $rss_secret := (lookup "v1" "Secret" $namespace "rss-secrets") -}}
|
|
||||||
{{- $password := "" -}}
|
|
||||||
{{ if $rss_secret -}}
|
|
||||||
{{ $password = (index $rss_secret "data" "pg_password") }}
|
|
||||||
{{ else -}}
|
|
||||||
{{ $password = randAlphaNum 16 | b64enc }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- $redis_password := "" -}}
|
|
||||||
{{ if $rss_secret -}}
|
|
||||||
{{ $redis_password = (index $rss_secret "data" "redis_password") }}
|
|
||||||
{{ else -}}
|
|
||||||
{{ $redis_password = randAlphaNum 16 | b64enc }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
|
|
||||||
{{- $redis_password_data := "" -}}
|
|
||||||
{{ $redis_password_data = $redis_password | b64dec }}
|
|
||||||
|
|
||||||
{{- $pg_password_data := "" -}}
|
|
||||||
{{ $pg_password_data = $password | b64dec }}
|
|
||||||
|
|
||||||
{{- $mongo_secret := (lookup "v1" "Secret" .Release.Namespace "knowledge-mongodb") -}}
|
|
||||||
{{- $mongo_password := randAlphaNum 16 | b64enc -}}
|
|
||||||
|
|
||||||
{{- $mongo_password_data := "" -}}
|
|
||||||
{{ if $mongo_secret -}}
|
|
||||||
{{ $mongo_password_data = (index $mongo_secret "data" "mongodb-passwords" ) | b64dec }}
|
|
||||||
{{ else -}}
|
|
||||||
{{ $mongo_password_data = $mongo_password | b64dec }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- $pg_user := printf "%s%s" "rss_" .Values.bfl.username -}}
|
|
||||||
{{- $pg_user = $pg_user | b64enc -}}
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: rss-secrets
|
|
||||||
namespace: user-system-{{ .Values.bfl.username }}
|
|
||||||
type: Opaque
|
|
||||||
data:
|
|
||||||
pg_password: {{ $password }}
|
|
||||||
redis_password: {{ $redis_password }}
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: rss-secrets
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
type: Opaque
|
|
||||||
data:
|
|
||||||
pg_user: {{ $pg_user }}
|
|
||||||
pg_password: {{ $password }}
|
|
||||||
redis_password: {{ $redis_password }}
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: knowledge-mongodb
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
type: Opaque
|
|
||||||
|
|
||||||
{{ if $mongo_secret -}}
|
|
||||||
data:
|
|
||||||
mongodb-passwords: {{ index $mongo_secret "data" "mongodb-passwords" }}
|
|
||||||
{{ else -}}
|
|
||||||
data:
|
|
||||||
mongodb-passwords: {{ $mongo_password }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: knowledge-mongodb
|
|
||||||
namespace: user-system-{{ .Values.bfl.username }}
|
|
||||||
type: Opaque
|
|
||||||
|
|
||||||
{{ if $mongo_secret -}}
|
|
||||||
data:
|
|
||||||
mongodb-passwords: {{ index $mongo_secret "data" "mongodb-passwords" }}
|
|
||||||
{{ else -}}
|
|
||||||
data:
|
|
||||||
mongodb-passwords: {{ $mongo_password }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: rss-secrets-auth
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
data:
|
|
||||||
redis_password: "{{ $redis_password_data }}"
|
|
||||||
redis_addr: redis-cluster-proxy.user-system-{{ .Values.bfl.username }}:6379
|
|
||||||
redis_host: redis-cluster-proxy.user-system-{{ .Values.bfl.username }}
|
|
||||||
redis_port: '6379'
|
|
||||||
pg_url: postgres://rss_{{ .Values.bfl.username }}:{{ $pg_password_data }}@citus-master-svc.user-system-{{ .Values.bfl.username }}/user_space_{{ .Values.bfl.username }}_rss_v1?sslmode=disable
|
|
||||||
mongo_url: mongodb://knowledge-{{ .Values.bfl.username }}:{{ $mongo_password_data }}@mongo-cluster-mongos.user-system-{{ .Values.bfl.username }}:27017/{{ .Release.Namespace }}_knowledge
|
|
||||||
mongo_db: {{ .Release.Namespace }}_knowledge
|
|
||||||
postgres_host: citus-master-svc.user-system-{{ .Values.bfl.username }}
|
|
||||||
postgres_user: knowledge_{{ .Values.bfl.username }}
|
|
||||||
postgres_password: "{{ $pg_password_data }}"
|
|
||||||
postgres_db: user_space_{{ .Values.bfl.username }}_knowledge
|
|
||||||
postgres_port: '5432'
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: rss-userspace-data
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
data:
|
|
||||||
appData: "{{ .Values.userspace.appData }}"
|
|
||||||
appCache: "{{ .Values.userspace.appCache }}"
|
|
||||||
username: "{{ .Values.bfl.username }}"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: apr.bytetrade.io/v1alpha1
|
|
||||||
kind: MiddlewareRequest
|
|
||||||
metadata:
|
|
||||||
name: rss-pg
|
|
||||||
namespace: user-system-{{ .Values.bfl.username }}
|
|
||||||
spec:
|
|
||||||
app: rss
|
|
||||||
appNamespace: {{ .Release.Namespace }}
|
|
||||||
middleware: postgres
|
|
||||||
postgreSQL:
|
|
||||||
user: rss_{{ .Values.bfl.username }}
|
|
||||||
password:
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
key: pg_password
|
|
||||||
name: rss-secrets
|
|
||||||
databases:
|
|
||||||
- name: rss
|
|
||||||
- name: rss_v1
|
|
||||||
- name: argo
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: apr.bytetrade.io/v1alpha1
|
|
||||||
kind: MiddlewareRequest
|
|
||||||
metadata:
|
|
||||||
name: knowledge-redis
|
|
||||||
namespace: user-system-{{ .Values.bfl.username }}
|
|
||||||
spec:
|
|
||||||
app: rss
|
|
||||||
appNamespace: {{ .Release.Namespace }}
|
|
||||||
middleware: redis
|
|
||||||
redis:
|
|
||||||
password:
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
key: redis_password
|
|
||||||
name: rss-secrets
|
|
||||||
namespace: knowledge
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
@@ -183,3 +13,22 @@ spec:
|
|||||||
name: fakes3
|
name: fakes3
|
||||||
port: 4568
|
port: 4568
|
||||||
targetPort: 4568
|
targetPort: 4568
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: knowledge-base-api
|
||||||
|
namespace: user-system-{{ .Values.bfl.username }}
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
selector:
|
||||||
|
app: systemserver
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
name: knowledge-api
|
||||||
|
port: 3010
|
||||||
|
targetPort: 3010
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
bfl:
|
bfl:
|
||||||
nodeport: 30883
|
nodeport: 30883
|
||||||
nodeport_ingress_http: 30083
|
nodeport_ingress_http: 30083
|
||||||
@@ -40,4 +39,4 @@ os:
|
|||||||
appKey: '${ks[0]}'
|
appKey: '${ks[0]}'
|
||||||
appSecret: test
|
appSecret: test
|
||||||
kubesphere:
|
kubesphere:
|
||||||
redis_password: ""
|
redis_password: ""
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
# 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/
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: recommend
|
|
||||||
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: 0.0.1
|
|
||||||
|
|
||||||
# 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"
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
{{/*
|
|
||||||
Expand the name of the chart.
|
|
||||||
*/}}
|
|
||||||
{{- define "recommend.name" -}}
|
|
||||||
{{- default .Chart.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 "recommend.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 "recommend.chart" -}}
|
|
||||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Common labels
|
|
||||||
*/}}
|
|
||||||
{{- define "recommend.labels" -}}
|
|
||||||
helm.sh/chart: {{ include "recommend.chart" . }}
|
|
||||||
{{ include "recommend.selectorLabels" . }}
|
|
||||||
{{- if .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
|
||||||
{{- end }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Selector labels
|
|
||||||
*/}}
|
|
||||||
{{- define "recommend.selectorLabels" -}}
|
|
||||||
app.kubernetes.io/name: {{ include "recommend.name" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create the name of the service account to use
|
|
||||||
*/}}
|
|
||||||
{{- define "recommend.serviceAccountName" -}}
|
|
||||||
{{- if .Values.serviceAccount.create }}
|
|
||||||
{{- default (include "recommend.fullname" .) .Values.serviceAccount.name }}
|
|
||||||
{{- else }}
|
|
||||||
{{- default "default" .Values.serviceAccount.name }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: recommend
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
spec:
|
|
||||||
type: ExternalName
|
|
||||||
externalName: argoworkflows-svc.{{ .Release.Namespace }}.svc.cluster.local
|
|
||||||
ports:
|
|
||||||
- name: http
|
|
||||||
port: 2746
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 2746
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: argoworkflows-ui
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 80
|
|
||||||
protocol: TCP
|
|
||||||
targetPort: 8080
|
|
||||||
selector:
|
|
||||||
app: recommend
|
|
||||||
type: ClusterIP
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
data:
|
|
||||||
nginx.conf: |
|
|
||||||
# Configuration checksum:
|
|
||||||
|
|
||||||
pid /var/run/nginx.pid;
|
|
||||||
|
|
||||||
worker_processes auto;
|
|
||||||
|
|
||||||
events {
|
|
||||||
worker_connections 1024;
|
|
||||||
}
|
|
||||||
|
|
||||||
http {
|
|
||||||
server {
|
|
||||||
listen 8080;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://recommend:2746;
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: recommend-nginx-configs
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ spec:
|
|||||||
|
|
||||||
containers:
|
containers:
|
||||||
- name: edge-desktop
|
- name: edge-desktop
|
||||||
image: beclab/desktop:v0.2.57
|
image: beclab/desktop:v0.2.59
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsNonRoot: false
|
runAsNonRoot: false
|
||||||
@@ -78,7 +78,7 @@ spec:
|
|||||||
value: http://bfl.{{ .Release.Namespace }}:8080
|
value: http://bfl.{{ .Release.Namespace }}:8080
|
||||||
|
|
||||||
- name: desktop-server
|
- name: desktop-server
|
||||||
image: beclab/desktop-server:v0.2.57
|
image: beclab/desktop-server:v0.2.59
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
@@ -156,7 +156,7 @@ spec:
|
|||||||
- name: userspace-dir
|
- name: userspace-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
type: Directory
|
type: Directory
|
||||||
path: {{ .Values.userspace.userData }}
|
path: '{{ .Values.userspace.userData }}'
|
||||||
- name: terminus-sidecar-config
|
- name: terminus-sidecar-config
|
||||||
configMap:
|
configMap:
|
||||||
name: sidecar-ws-configs
|
name: sidecar-ws-configs
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
bfl:
|
bfl:
|
||||||
username: 'test'
|
username: 'test'
|
||||||
url: 'test'
|
url: 'test'
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
# vault
|
|
||||||
|
|
||||||
https://github.com/beclab/analytic
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
# 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/
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: download
|
|
||||||
description: A Helm chart for Kubernetes
|
|
||||||
maintainers:
|
|
||||||
- name: bytetrade
|
|
||||||
|
|
||||||
# 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: 0.0.1
|
|
||||||
|
|
||||||
# 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"
|
|
||||||
@@ -1,321 +0,0 @@
|
|||||||
{{- $namespace := printf "%s%s" "user-system-" .Values.bfl.username -}}
|
|
||||||
{{- $download_secret := (lookup "v1" "Secret" $namespace "rss-secrets") -}}
|
|
||||||
|
|
||||||
{{- $pg_password := "" -}}
|
|
||||||
{{ if $download_secret -}}
|
|
||||||
{{ $pg_password = (index $download_secret "data" "pg_password") }}
|
|
||||||
{{ else -}}
|
|
||||||
{{ $pg_password = randAlphaNum 16 | b64enc }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- $redis_password := "" -}}
|
|
||||||
{{ if $download_secret -}}
|
|
||||||
{{ $redis_password = (index $download_secret "data" "redis_password") }}
|
|
||||||
{{ else -}}
|
|
||||||
{{ $redis_password = randAlphaNum 16 | b64enc }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- $download_nats_secret := (lookup "v1" "Secret" $namespace "download-secrets") -}}
|
|
||||||
{{- $nat_password := "" -}}
|
|
||||||
{{ if $download_nats_secret -}}
|
|
||||||
{{ $nat_password = (index $download_nats_secret "data" "nat_password") }}
|
|
||||||
{{ else -}}
|
|
||||||
{{ $nat_password = randAlphaNum 16 | b64enc }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: download-secrets
|
|
||||||
namespace: user-system-{{ .Values.bfl.username }}
|
|
||||||
type: Opaque
|
|
||||||
data:
|
|
||||||
pg_password: {{ $pg_password }}
|
|
||||||
redis_password: {{ $redis_password }}
|
|
||||||
nat_password: {{ $nat_password }}
|
|
||||||
---
|
|
||||||
apiVersion: apr.bytetrade.io/v1alpha1
|
|
||||||
kind: MiddlewareRequest
|
|
||||||
metadata:
|
|
||||||
name: download-pg
|
|
||||||
namespace: user-system-{{ .Values.bfl.username }}
|
|
||||||
spec:
|
|
||||||
app: download
|
|
||||||
appNamespace: {{ .Release.Namespace }}
|
|
||||||
middleware: postgres
|
|
||||||
postgreSQL:
|
|
||||||
user: knowledge_{{ .Values.bfl.username }}
|
|
||||||
password:
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
key: pg_password
|
|
||||||
name: download-secrets
|
|
||||||
databases:
|
|
||||||
- name: knowledge
|
|
||||||
---
|
|
||||||
apiVersion: apr.bytetrade.io/v1alpha1
|
|
||||||
kind: MiddlewareRequest
|
|
||||||
metadata:
|
|
||||||
name: download-nat
|
|
||||||
namespace: user-system-{{ .Values.bfl.username }}
|
|
||||||
spec:
|
|
||||||
app: download
|
|
||||||
appNamespace: {{ .Release.Namespace }}
|
|
||||||
middleware: nats
|
|
||||||
nats:
|
|
||||||
password:
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
key: nat_password
|
|
||||||
name: download-secrets
|
|
||||||
refs: []
|
|
||||||
subjects:
|
|
||||||
- name: download_status
|
|
||||||
permission:
|
|
||||||
pub: allow
|
|
||||||
sub: allow
|
|
||||||
export:
|
|
||||||
- appName: knowledge
|
|
||||||
sub: allow
|
|
||||||
pub: allow
|
|
||||||
user: user-system-{{ .Values.bfl.username }}-download
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: download
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app: download
|
|
||||||
applications.app.bytetrade.io/author: bytetrade.io
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
strategy:
|
|
||||||
type: Recreate
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: download
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: download
|
|
||||||
spec:
|
|
||||||
securityContext:
|
|
||||||
runAsUser: 1000
|
|
||||||
runAsGroup: 1000
|
|
||||||
fsGroup: 1000
|
|
||||||
|
|
||||||
initContainers:
|
|
||||||
- name: init-data
|
|
||||||
image: busybox:1.28
|
|
||||||
securityContext:
|
|
||||||
privileged: true
|
|
||||||
runAsNonRoot: false
|
|
||||||
runAsUser: 0
|
|
||||||
volumeMounts:
|
|
||||||
- name: config-dir
|
|
||||||
mountPath: /config
|
|
||||||
- name: download-dir
|
|
||||||
mountPath: /downloads
|
|
||||||
command:
|
|
||||||
- sh
|
|
||||||
- -c
|
|
||||||
- |
|
|
||||||
chown -R 1000:1000 /config && \
|
|
||||||
chown -R 1000:1000 /downloads
|
|
||||||
- name: init-container
|
|
||||||
image: 'postgres:16.0-alpine3.18'
|
|
||||||
command:
|
|
||||||
- sh
|
|
||||||
- '-c'
|
|
||||||
- >-
|
|
||||||
echo -e "Checking for the availability of PostgreSQL Server deployment"; until psql -h $PGHOST -p $PGPORT -U $PGUSER -d $PGDB -c "SELECT 1"; do sleep 1; printf "-"; done; sleep 5; echo -e " >> PostgreSQL DB Server has started";
|
|
||||||
env:
|
|
||||||
- name: PGHOST
|
|
||||||
value: citus-master-svc.user-system-{{ .Values.bfl.username }}
|
|
||||||
- name: PGPORT
|
|
||||||
value: "5432"
|
|
||||||
- name: PGUSER
|
|
||||||
value: knowledge_{{ .Values.bfl.username }}
|
|
||||||
- name: PGPASSWORD
|
|
||||||
value: {{ $pg_password | b64dec }}
|
|
||||||
- name: PGDB
|
|
||||||
value: user_space_{{ .Values.bfl.username }}_knowledge
|
|
||||||
containers:
|
|
||||||
- name: aria2
|
|
||||||
image: "beclab/aria2:v0.0.4"
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
securityContext:
|
|
||||||
runAsNonRoot: false
|
|
||||||
runAsUser: 0
|
|
||||||
ports:
|
|
||||||
- containerPort: 6800
|
|
||||||
- containerPort: 6888
|
|
||||||
env:
|
|
||||||
- name: RPC_SECRET
|
|
||||||
value: kubespider
|
|
||||||
- name: PUID
|
|
||||||
value: "1000"
|
|
||||||
- name: PGID
|
|
||||||
value: "1000"
|
|
||||||
volumeMounts:
|
|
||||||
- name: download-dir
|
|
||||||
mountPath: /downloads
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 20m
|
|
||||||
memory: 50Mi
|
|
||||||
limits:
|
|
||||||
cpu: "1"
|
|
||||||
memory: 300Mi
|
|
||||||
- name: yt-dlp
|
|
||||||
image: "beclab/yt-dlp:v0.0.21"
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
runAsUser: 1000
|
|
||||||
|
|
||||||
ports:
|
|
||||||
- containerPort: 3082
|
|
||||||
env:
|
|
||||||
- name: PG_USERNAME
|
|
||||||
value: knowledge_{{ .Values.bfl.username }}
|
|
||||||
- name: PG_PASSWORD
|
|
||||||
value: {{ $pg_password | b64dec }}
|
|
||||||
- name: PG_HOST
|
|
||||||
value: citus-master-svc.user-system-{{ .Values.bfl.username }}
|
|
||||||
- name: PG_PORT
|
|
||||||
value: "5432"
|
|
||||||
- name: PG_DATABASE
|
|
||||||
value: user_space_{{ .Values.bfl.username }}_knowledge
|
|
||||||
- name: SETTING_URL
|
|
||||||
value: http://system-server.user-system-{{ .Values.bfl.username }}/legacy/v1alpha1/service.settings/v1/api/cookie/retrieve
|
|
||||||
- name: REDIS_HOST
|
|
||||||
value: redis-cluster-proxy.user-system-{{ .Values.bfl.username }}
|
|
||||||
- name: REDIS_PASSWORD
|
|
||||||
value: {{ $redis_password | b64dec }}
|
|
||||||
- name: NATS_HOST
|
|
||||||
value: nats.user-system-{{ .Values.bfl.username }}
|
|
||||||
- name: NATS_PORT
|
|
||||||
value: "4222"
|
|
||||||
- name: NATS_USERNAME
|
|
||||||
value: user-system-{{ .Values.bfl.username }}-download
|
|
||||||
- name: NATS_PASSWORD
|
|
||||||
value: {{ $nat_password | b64dec }}
|
|
||||||
- name: NATS_SUBJECT
|
|
||||||
value: "terminus.{{ .Release.Namespace }}.download_status"
|
|
||||||
volumeMounts:
|
|
||||||
- name: config-dir
|
|
||||||
mountPath: /app/config
|
|
||||||
- name: download-dir
|
|
||||||
mountPath: /app/downloads
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 20m
|
|
||||||
memory: 50Mi
|
|
||||||
limits:
|
|
||||||
cpu: "1"
|
|
||||||
memory: 300Mi
|
|
||||||
- name: download-spider
|
|
||||||
image: "beclab/download-spider:v0.0.21"
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
runAsUser: 1000
|
|
||||||
|
|
||||||
env:
|
|
||||||
- name: PG_USERNAME
|
|
||||||
value: knowledge_{{ .Values.bfl.username }}
|
|
||||||
- name: PG_PASSWORD
|
|
||||||
value: {{ $pg_password | b64dec }}
|
|
||||||
- name: PG_HOST
|
|
||||||
value: citus-master-svc.user-system-{{ .Values.bfl.username }}
|
|
||||||
- name: PG_PORT
|
|
||||||
value: "5432"
|
|
||||||
- name: PG_DATABASE
|
|
||||||
value: user_space_{{ .Values.bfl.username }}_knowledge
|
|
||||||
- name: REDIS_HOST
|
|
||||||
value: redis-cluster-proxy.user-system-{{ .Values.bfl.username }}
|
|
||||||
- name: REDIS_PASSWORD
|
|
||||||
value: {{ $redis_password | b64dec }}
|
|
||||||
- name: NATS_HOST
|
|
||||||
value: nats.user-system-{{ .Values.bfl.username }}
|
|
||||||
- name: NATS_PORT
|
|
||||||
value: "4222"
|
|
||||||
- name: NATS_USERNAME
|
|
||||||
value: user-system-{{ .Values.bfl.username }}-download
|
|
||||||
- name: NATS_PASSWORD
|
|
||||||
value: {{ $nat_password | b64dec }}
|
|
||||||
- name: NATS_SUBJECT
|
|
||||||
value: "terminus.{{ .Release.Namespace }}.download_status"
|
|
||||||
- name: SETTING_URL
|
|
||||||
value: http://system-server.user-system-{{ .Values.bfl.username }}/legacy/v1alpha1/service.settings/v1/api/cookie/retrieve
|
|
||||||
volumeMounts:
|
|
||||||
- name: download-dir
|
|
||||||
mountPath: /downloads
|
|
||||||
|
|
||||||
ports:
|
|
||||||
- containerPort: 3080
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 20m
|
|
||||||
memory: 50Mi
|
|
||||||
limits:
|
|
||||||
cpu: "1"
|
|
||||||
memory: 300Mi
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: config-dir
|
|
||||||
hostPath:
|
|
||||||
type: DirectoryOrCreate
|
|
||||||
path: {{ .Values.userspace.appData}}/Downloads/config
|
|
||||||
- name: download-dir
|
|
||||||
hostPath:
|
|
||||||
type: DirectoryOrCreate
|
|
||||||
path: {{ .Values.userspace.userData }}
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: download-svc
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: download
|
|
||||||
ports:
|
|
||||||
- name: "download-spider"
|
|
||||||
protocol: TCP
|
|
||||||
port: 3080
|
|
||||||
targetPort: 3080
|
|
||||||
- name: "aria2-server"
|
|
||||||
protocol: TCP
|
|
||||||
port: 6800
|
|
||||||
targetPort: 6800
|
|
||||||
- name: ytdlp-server
|
|
||||||
protocol: TCP
|
|
||||||
port: 3082
|
|
||||||
targetPort: 3082
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: download-api
|
|
||||||
namespace: user-system-{{ .Values.bfl.username }}
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: systemserver
|
|
||||||
ports:
|
|
||||||
- protocol: TCP
|
|
||||||
name: download-api
|
|
||||||
port: 3080
|
|
||||||
targetPort: 3080
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
|
|
||||||
bfl:
|
|
||||||
nodeport: 30883
|
|
||||||
nodeport_ingress_http: 30083
|
|
||||||
nodeport_ingress_https: 30082
|
|
||||||
username: 'test'
|
|
||||||
url: 'test'
|
|
||||||
nodeName: test
|
|
||||||
pvc:
|
|
||||||
userspace: test
|
|
||||||
userspace:
|
|
||||||
userData: test/Home
|
|
||||||
appData: test/Data
|
|
||||||
appCache: test
|
|
||||||
dbdata: test
|
|
||||||
docs:
|
|
||||||
nodeport: 30881
|
|
||||||
desktop:
|
|
||||||
nodeport: 30180
|
|
||||||
os:
|
|
||||||
portfolio:
|
|
||||||
appKey: '${ks[0]}'
|
|
||||||
appSecret: test
|
|
||||||
vault:
|
|
||||||
appKey: '${ks[0]}'
|
|
||||||
appSecret: test
|
|
||||||
desktop:
|
|
||||||
appKey: '${ks[0]}'
|
|
||||||
appSecret: test
|
|
||||||
message:
|
|
||||||
appKey: '${ks[0]}'
|
|
||||||
appSecret: test
|
|
||||||
wise:
|
|
||||||
appKey: '${ks[0]}'
|
|
||||||
appSecret: test
|
|
||||||
search:
|
|
||||||
appKey: '${ks[0]}'
|
|
||||||
appSecret: test
|
|
||||||
search2:
|
|
||||||
appKey: '${ks[0]}'
|
|
||||||
appSecret: test
|
|
||||||
kubesphere:
|
|
||||||
redis_password: ""
|
|
||||||
@@ -43,8 +43,8 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: files
|
app: files
|
||||||
annotations:
|
annotations:
|
||||||
# instrumentation.opentelemetry.io/inject-nginx: "olares-instrumentation"
|
instrumentation.opentelemetry.io/inject-nginx: "olares-instrumentation"
|
||||||
# instrumentation.opentelemetry.io/inject-nginx-container-names: "nginx"
|
instrumentation.opentelemetry.io/inject-nginx-container-names: "nginx"
|
||||||
instrumentation.opentelemetry.io/inject-go: "olares-instrumentation"
|
instrumentation.opentelemetry.io/inject-go: "olares-instrumentation"
|
||||||
instrumentation.opentelemetry.io/go-container-names: "gateway,files,uploader"
|
instrumentation.opentelemetry.io/go-container-names: "gateway,files,uploader"
|
||||||
instrumentation.opentelemetry.io/otel-go-auto-target-exe: "/filebrowser"
|
instrumentation.opentelemetry.io/otel-go-auto-target-exe: "/filebrowser"
|
||||||
@@ -73,6 +73,28 @@ spec:
|
|||||||
- -c
|
- -c
|
||||||
- |
|
- |
|
||||||
chown -R 1000:1000 /appdata; chown -R 1000:1000 /appcache; chown -R 1000:1000 /data
|
chown -R 1000:1000 /appdata; chown -R 1000:1000 /appcache; chown -R 1000:1000 /data
|
||||||
|
- name: init-container
|
||||||
|
image: 'postgres:16.0-alpine3.18'
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- '-c'
|
||||||
|
- >-
|
||||||
|
echo -e "Checking for the availability of PostgreSQL Server
|
||||||
|
deployment"; until psql -h $PGHOST -p $PGPORT -U $PGUSER -d $PGDB1
|
||||||
|
-c "SELECT 1"; do sleep 1; printf "-"; done; sleep 5; echo -e " >>
|
||||||
|
PostgreSQL DB Server has started";
|
||||||
|
env:
|
||||||
|
- name: PGHOST
|
||||||
|
value: citus-headless.os-system
|
||||||
|
- name: PGPORT
|
||||||
|
value: '5432'
|
||||||
|
- name: PGUSER
|
||||||
|
value: files_os_system
|
||||||
|
- name: PGPASSWORD
|
||||||
|
value: {{ $files_postgres_password | b64dec }}
|
||||||
|
- name: PGDB1
|
||||||
|
value: os_system_files
|
||||||
|
|
||||||
containers:
|
containers:
|
||||||
- name: gateway
|
- name: gateway
|
||||||
image: beclab/appdata-gateway:0.1.18
|
image: beclab/appdata-gateway:0.1.18
|
||||||
@@ -84,7 +106,7 @@ spec:
|
|||||||
- containerPort: 8080
|
- containerPort: 8080
|
||||||
env:
|
env:
|
||||||
- name: FILES_SERVER_TAG
|
- name: FILES_SERVER_TAG
|
||||||
value: 'beclab/files-server:v0.2.67'
|
value: 'beclab/files-server:v0.2.69'
|
||||||
- name: NAMESPACE
|
- name: NAMESPACE
|
||||||
valueFrom:
|
valueFrom:
|
||||||
fieldRef:
|
fieldRef:
|
||||||
@@ -120,7 +142,7 @@ spec:
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
- name: files
|
- name: files
|
||||||
image: beclab/files-server:v0.2.67
|
image: beclab/files-server:v0.2.69
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: true
|
allowPrivilegeEscalation: true
|
||||||
@@ -281,7 +303,7 @@ spec:
|
|||||||
runAsUser: 0
|
runAsUser: 0
|
||||||
privileged: true
|
privileged: true
|
||||||
- name: nginx
|
- name: nginx
|
||||||
image: 'nginx:stable-alpine3.17-slim'
|
image: 'beclab/docker-nginx-headers-more:ubuntu-v0.1.0'
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsNonRoot: false
|
runAsNonRoot: false
|
||||||
runAsUser: 0
|
runAsUser: 0
|
||||||
@@ -304,14 +326,14 @@ spec:
|
|||||||
- name: userspace-dir
|
- name: userspace-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
type: Directory
|
type: Directory
|
||||||
path: {{ .Values.rootPath }}/rootfs/userspace
|
path: '{{ .Values.rootPath }}/rootfs/userspace'
|
||||||
- name: fb-data
|
- name: fb-data
|
||||||
hostPath:
|
hostPath:
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
path: {{ .Values.rootPath }}/userdata/Cache/files
|
path: '{{ .Values.rootPath }}/userdata/Cache/files'
|
||||||
- name: upload-appdata
|
- name: upload-appdata
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.rootPath }}/userdata/Cache
|
path: '{{ .Values.rootPath }}/userdata/Cache'
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
- name: files-nginx-config
|
- name: files-nginx-config
|
||||||
configMap:
|
configMap:
|
||||||
@@ -324,13 +346,13 @@ spec:
|
|||||||
defaultMode: 420
|
defaultMode: 420
|
||||||
- name: user-appdata-dir
|
- name: user-appdata-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.rootPath }}/userdata/Cache
|
path: '{{ .Values.rootPath }}/userdata/Cache'
|
||||||
type: Directory
|
type: Directory
|
||||||
|
|
||||||
{{ if .Values.sharedlib }}
|
{{ if .Values.sharedlib }}
|
||||||
- name: shared-lib
|
- name: shared-lib
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.sharedlib }}
|
path: "{{ .Values.sharedlib }}"
|
||||||
type: Directory
|
type: Directory
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
@@ -412,7 +434,7 @@ spec:
|
|||||||
name: check-nats
|
name: check-nats
|
||||||
containers:
|
containers:
|
||||||
- name: files
|
- name: files
|
||||||
image: beclab/files-server:v0.2.67
|
image: beclab/files-server:v0.2.69
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: true
|
allowPrivilegeEscalation: true
|
||||||
@@ -447,11 +469,11 @@ spec:
|
|||||||
- name: user-appdata-dir
|
- name: user-appdata-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
type: Directory
|
type: Directory
|
||||||
path: {{ .Values.rootPath }}/userdata/Cache
|
path: '{{ .Values.rootPath }}/userdata/Cache'
|
||||||
- name: fb-data
|
- name: fb-data
|
||||||
hostPath:
|
hostPath:
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
path: {{ .Values.rootPath }}/userdata/Cache/files-appdata
|
path: '{{ .Values.rootPath }}/userdata/Cache/files-appdata'
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
|||||||
@@ -114,9 +114,11 @@ spec:
|
|||||||
io.bytetrade.app: "true"
|
io.bytetrade.app: "true"
|
||||||
annotations:
|
annotations:
|
||||||
# support nginx 1.24.3 1.25.3
|
# support nginx 1.24.3 1.25.3
|
||||||
# instrumentation.opentelemetry.io/inject-nginx: "olares-instrumentation"
|
instrumentation.opentelemetry.io/inject-nginx: "olares-instrumentation"
|
||||||
# instrumentation.opentelemetry.io/inject-nginx-container-names: "files-frontend"
|
instrumentation.opentelemetry.io/inject-nginx-container-names: "files-frontend"
|
||||||
# instrumentation.opentelemetry.io/otel-go-auto-target-exe: "drive"
|
instrumentation.opentelemetry.io/inject-go: "olares-instrumentation"
|
||||||
|
instrumentation.opentelemetry.io/go-container-names: "driver-server"
|
||||||
|
instrumentation.opentelemetry.io/otel-go-auto-target-exe: "drive"
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: bytetrade-controller
|
serviceAccountName: bytetrade-controller
|
||||||
securityContext:
|
securityContext:
|
||||||
@@ -204,6 +206,20 @@ spec:
|
|||||||
value: "{{ $pg_password | b64dec }}"
|
value: "{{ $pg_password | b64dec }}"
|
||||||
- name: PGDB
|
- name: PGDB
|
||||||
value: user_space_{{ .Values.bfl.username }}_cloud_drive_integration
|
value: user_space_{{ .Values.bfl.username }}_cloud_drive_integration
|
||||||
|
- name: files-frontend-init
|
||||||
|
image: beclab/files-frontend:v1.3.61
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
volumeMounts:
|
||||||
|
- name: app
|
||||||
|
mountPath: /cp_app
|
||||||
|
- name: nginx-confd
|
||||||
|
mountPath: /confd
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
cp -rf /app/* /cp_app/. && cp -rf /etc/nginx/conf.d/* /confd/.
|
||||||
|
|
||||||
containers:
|
containers:
|
||||||
# - name: gateway
|
# - name: gateway
|
||||||
# image: beclab/appdata-gateway:0.1.12
|
# image: beclab/appdata-gateway:0.1.12
|
||||||
@@ -302,7 +318,7 @@ spec:
|
|||||||
# - /filebrowser
|
# - /filebrowser
|
||||||
# - --noauth
|
# - --noauth
|
||||||
- name: files-frontend
|
- name: files-frontend
|
||||||
image: beclab/files-frontend:v1.3.46
|
image: beclab/docker-nginx-headers-more:ubuntu-v0.1.0
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsNonRoot: false
|
runAsNonRoot: false
|
||||||
@@ -323,6 +339,10 @@ spec:
|
|||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: userspace-dir
|
- name: userspace-dir
|
||||||
mountPath: /data
|
mountPath: /data
|
||||||
|
- name: app
|
||||||
|
mountPath: /app
|
||||||
|
- name: nginx-confd
|
||||||
|
mountPath: /etc/nginx/conf.d
|
||||||
- name: drive-server
|
- name: drive-server
|
||||||
image: beclab/drive:v0.0.72
|
image: beclab/drive:v0.0.72
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
@@ -433,42 +453,46 @@ spec:
|
|||||||
volumes:
|
volumes:
|
||||||
- name: data-dir
|
- name: data-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.rootPath }}/rootfs/userspace
|
path: '{{ .Values.rootPath }}/rootfs/userspace'
|
||||||
type: Directory
|
type: Directory
|
||||||
- name: watch-dir
|
- name: watch-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
type: Directory
|
type: Directory
|
||||||
path: {{ .Values.userspace.userData }}/Documents
|
path: '{{ .Values.userspace.userData }}/Documents'
|
||||||
- name: userspace-dir
|
- name: userspace-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
type: Directory
|
type: Directory
|
||||||
path: {{ .Values.userspace.userData }}
|
path: '{{ .Values.userspace.userData }}'
|
||||||
- name: userspace-app-dir
|
- name: userspace-app-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
type: Directory
|
type: Directory
|
||||||
path: {{ .Values.userspace.appData }}
|
path: '{{ .Values.userspace.appData }}'
|
||||||
- name: fb-data
|
- name: fb-data
|
||||||
hostPath:
|
hostPath:
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
path: {{ .Values.userspace.appCache}}/files
|
path: '{{ .Values.userspace.appCache}}/files'
|
||||||
- name: upload-data
|
- name: upload-data
|
||||||
hostPath:
|
hostPath:
|
||||||
type: Directory
|
type: Directory
|
||||||
path: {{ .Values.userspace.userData }}
|
path: '{{ .Values.userspace.userData }}'
|
||||||
- name: upload-appdata
|
- name: upload-appdata
|
||||||
hostPath:
|
hostPath:
|
||||||
type: Directory
|
type: Directory
|
||||||
path: {{ .Values.userspace.appCache}}
|
path: '{{ .Values.userspace.appCache}}'
|
||||||
- name: uploads-temp
|
- name: uploads-temp
|
||||||
hostPath:
|
hostPath:
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
path: {{ .Values.userspace.appCache }}/files/uploadstemp
|
path: '{{ .Values.userspace.appCache }}/files/uploadstemp'
|
||||||
- name: terminus-sidecar-config
|
- name: terminus-sidecar-config
|
||||||
configMap:
|
configMap:
|
||||||
name: sidecar-upload-configs
|
name: sidecar-upload-configs
|
||||||
items:
|
items:
|
||||||
- key: envoy.yaml
|
- key: envoy.yaml
|
||||||
path: envoy.yaml
|
path: envoy.yaml
|
||||||
|
- name: app
|
||||||
|
emptyDir: {}
|
||||||
|
- name: nginx-confd
|
||||||
|
emptyDir: {}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
bfl:
|
bfl:
|
||||||
nodeport: 30883
|
nodeport: 30883
|
||||||
nodeport_ingress_http: 30083
|
nodeport_ingress_http: 30083
|
||||||
@@ -46,4 +45,4 @@ os:
|
|||||||
appKey: '${ks[0]}'
|
appKey: '${ks[0]}'
|
||||||
appSecret: test
|
appSecret: test
|
||||||
kubesphere:
|
kubesphere:
|
||||||
redis_password: ""
|
redis_password: ""
|
||||||
|
|||||||
646
apps/knowledge/config/cluster/deploy/knowledge_deployment.yaml
Normal file
646
apps/knowledge/config/cluster/deploy/knowledge_deployment.yaml
Normal file
@@ -0,0 +1,646 @@
|
|||||||
|
{{- $share_secret := (lookup "v1" "Secret" "os-system" "knowledge-share-secrets") -}}
|
||||||
|
|
||||||
|
{{- $redis_password := "" -}}
|
||||||
|
{{ if $share_secret -}}
|
||||||
|
{{ $redis_password = (index $share_secret "data" "redis_password") }}
|
||||||
|
{{ else -}}
|
||||||
|
{{ $redis_password = randAlphaNum 16 | b64enc }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- $redis_password_data := "" -}}
|
||||||
|
{{ $redis_password_data = $redis_password | b64dec }}
|
||||||
|
|
||||||
|
|
||||||
|
{{- $pg_password := "" -}}
|
||||||
|
{{ if $share_secret -}}
|
||||||
|
{{ $pg_password = (index $share_secret "data" "pg_password") }}
|
||||||
|
{{ else -}}
|
||||||
|
{{ $pg_password = randAlphaNum 16 | b64enc }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- $knowledge_nats_secret := (lookup "v1" "Secret" "os-system" "knowledge-secrets") -}}
|
||||||
|
{{- $nat_password := "" -}}
|
||||||
|
{{ if $knowledge_nats_secret -}}
|
||||||
|
{{ $nat_password = (index $knowledge_nats_secret "data" "nat_password") }}
|
||||||
|
{{ else -}}
|
||||||
|
{{ $nat_password = randAlphaNum 16 | b64enc }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: knowledge-secrets
|
||||||
|
namespace: os-system
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
nat_password: {{ $nat_password }}
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: knowledge-share-secrets
|
||||||
|
namespace: os-system
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
pg_password: {{ $pg_password }}
|
||||||
|
redis_password: {{ $redis_password }}
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
apiVersion: apr.bytetrade.io/v1alpha1
|
||||||
|
kind: MiddlewareRequest
|
||||||
|
metadata:
|
||||||
|
name: knowledge-pg
|
||||||
|
namespace: os-system
|
||||||
|
spec:
|
||||||
|
app: knowledge
|
||||||
|
appNamespace: os-system
|
||||||
|
middleware: postgres
|
||||||
|
postgreSQL:
|
||||||
|
user: knowledge_os_system
|
||||||
|
password:
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: pg_password
|
||||||
|
name: knowledge-share-secrets
|
||||||
|
databases:
|
||||||
|
- name: knowledge
|
||||||
|
extensions:
|
||||||
|
- pg_trgm
|
||||||
|
- btree_gin
|
||||||
|
---
|
||||||
|
apiVersion: apr.bytetrade.io/v1alpha1
|
||||||
|
kind: MiddlewareRequest
|
||||||
|
metadata:
|
||||||
|
name: knowledge-redis
|
||||||
|
namespace: os-system
|
||||||
|
spec:
|
||||||
|
app: rss
|
||||||
|
appNamespace: os-system
|
||||||
|
middleware: redis
|
||||||
|
redis:
|
||||||
|
password:
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: redis_password
|
||||||
|
name: knowledge-share-secrets
|
||||||
|
namespace: knowledge
|
||||||
|
---
|
||||||
|
apiVersion: apr.bytetrade.io/v1alpha1
|
||||||
|
kind: MiddlewareRequest
|
||||||
|
metadata:
|
||||||
|
name: knowledge-nat
|
||||||
|
namespace: os-system
|
||||||
|
spec:
|
||||||
|
app: knowledge
|
||||||
|
appNamespace: os-system
|
||||||
|
middleware: nats
|
||||||
|
nats:
|
||||||
|
password:
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: nat_password
|
||||||
|
name: knowledge-secrets
|
||||||
|
refs:
|
||||||
|
- appName: download
|
||||||
|
appNamespace: os-system
|
||||||
|
subjects:
|
||||||
|
- name: download_status
|
||||||
|
perm:
|
||||||
|
- pub
|
||||||
|
- sub
|
||||||
|
user: os-system-knowledge
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: knowledge
|
||||||
|
namespace: os-system
|
||||||
|
labels:
|
||||||
|
app: knowledge
|
||||||
|
applications.app.bytetrade.io/author: bytetrade.io
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: knowledge
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: knowledge
|
||||||
|
spec:
|
||||||
|
serviceAccount: os-internal
|
||||||
|
serviceAccountName: os-internal
|
||||||
|
securityContext:
|
||||||
|
runAsUser: 0
|
||||||
|
runAsNonRoot: false
|
||||||
|
initContainers:
|
||||||
|
- name: init-data
|
||||||
|
image: busybox:1.28
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
|
runAsNonRoot: false
|
||||||
|
runAsUser: 0
|
||||||
|
volumeMounts:
|
||||||
|
- name: userspace-dir
|
||||||
|
mountPath: /data
|
||||||
|
- name: cache-dir
|
||||||
|
mountPath: /appCache
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
chown -R 1000:1000 /data && \
|
||||||
|
chown -R 1000:1000 /appCache
|
||||||
|
- name: init-container
|
||||||
|
image: 'postgres:16.0-alpine3.18'
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- '-c'
|
||||||
|
- >-
|
||||||
|
echo -e "Checking for the availability of PostgreSQL Server deployment"; until psql -h $PGHOST -p $PGPORT -U $PGUSER -d $PGDB -c "SELECT 1"; do sleep 1; printf "-"; done; sleep 5; echo -e " >> PostgreSQL DB Server has started";
|
||||||
|
env:
|
||||||
|
- name: PGHOST
|
||||||
|
value: citus-headless.os-system
|
||||||
|
- name: PGPORT
|
||||||
|
value: "5432"
|
||||||
|
- name: PGUSER
|
||||||
|
value: knowledge_os_system
|
||||||
|
- name: PGPASSWORD
|
||||||
|
value: {{ $pg_password | b64dec }}
|
||||||
|
- name: PGDB
|
||||||
|
value: os_system_knowledge
|
||||||
|
containers:
|
||||||
|
- name: knowledge
|
||||||
|
image: "beclab/knowledge-base-api:v0.12.5"
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
runAsUser: 1000
|
||||||
|
ports:
|
||||||
|
- containerPort: 3010
|
||||||
|
env:
|
||||||
|
- name: BACKEND_URL
|
||||||
|
value: http://127.0.0.1:8080
|
||||||
|
- name: RSSHUB_URL
|
||||||
|
value: 'http://rss-server.os-system:1200'
|
||||||
|
- name: UPLOAD_SAVE_PATH
|
||||||
|
value: '/data/'
|
||||||
|
- name: SEARCH_URL
|
||||||
|
value: 'http://search3.os-system:80'
|
||||||
|
- name: REDIS_PASSWORD
|
||||||
|
value: {{ $redis_password_data }}
|
||||||
|
- name: REDIS_ADDR
|
||||||
|
value: redis-cluster-proxy.os-system
|
||||||
|
- name: PG_USERNAME
|
||||||
|
value: knowledge_os_system
|
||||||
|
- name: PG_PASSWORD
|
||||||
|
value: {{ $pg_password | b64dec }}
|
||||||
|
- name: PG_HOST
|
||||||
|
value: citus-headless.os-system
|
||||||
|
- name: PG_PORT
|
||||||
|
value: "5432"
|
||||||
|
- name: PG_DATABASE
|
||||||
|
value: os_system_knowledge
|
||||||
|
- name: DOWNLOAD_URL
|
||||||
|
value: http://download-svc.os-system:3080
|
||||||
|
- name: YTDLP_DOWNLOAD_URL
|
||||||
|
value: http://download-svc.os-system:3082
|
||||||
|
- name: NATS_HOST
|
||||||
|
value: nats
|
||||||
|
- name: NATS_PORT
|
||||||
|
value: "4222"
|
||||||
|
- name: NATS_USERNAME
|
||||||
|
value: os-system-knowledge
|
||||||
|
- name: NATS_PASSWORD
|
||||||
|
value: {{ $nat_password | b64dec }}
|
||||||
|
- name: NATS_SUBJECT
|
||||||
|
value: terminus.os-system.download_status
|
||||||
|
- name: SOCKET_URL
|
||||||
|
value: 'http://localhost:40010'
|
||||||
|
volumeMounts:
|
||||||
|
- name: userspace-dir
|
||||||
|
mountPath: /data
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 20m
|
||||||
|
memory: 50Mi
|
||||||
|
limits:
|
||||||
|
cpu: "1"
|
||||||
|
memory: 1Gi
|
||||||
|
|
||||||
|
- name: backend-server
|
||||||
|
image: "beclab/recommend-backend:v0.12.0"
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
runAsUser: 1000
|
||||||
|
env:
|
||||||
|
- name: LISTEN_ADDR
|
||||||
|
value: 127.0.0.1:8080
|
||||||
|
- name: REDIS_PASSWORD
|
||||||
|
value: {{ $redis_password_data }}
|
||||||
|
- name: REDIS_ADDR
|
||||||
|
value: redis-cluster-proxy.os-system:6379
|
||||||
|
- name: RSS_HUB_URL
|
||||||
|
value: 'http://rss-server.os-system:1200/'
|
||||||
|
- name: WE_CHAT_REFRESH_FEED_URL
|
||||||
|
value: https://recommend-wechat-prd.bttcdn.com/api/wechat/entries
|
||||||
|
- name: WECHAT_ENTRY_CONTENT_GET_API_URL
|
||||||
|
value: https://recommend-wechat-prd.bttcdn.com/api/wechat/entry/content
|
||||||
|
- name: PG_USERNAME
|
||||||
|
value: knowledge_os_system
|
||||||
|
- name: PG_PASSWORD
|
||||||
|
value: {{ $pg_password | b64dec }}
|
||||||
|
- name: PG_HOST
|
||||||
|
value: citus-headless.os-system
|
||||||
|
- name: PG_PORT
|
||||||
|
value: "5432"
|
||||||
|
- name: PG_DATABASE
|
||||||
|
value: os_system_knowledge
|
||||||
|
- name: WATCH_DIR
|
||||||
|
value: /data/
|
||||||
|
- name: YT_DLP_API_URL
|
||||||
|
value: http://download-svc.os-system:3082/api/v1/get_metadata
|
||||||
|
- name: DOWNLOAD_API_URL
|
||||||
|
value: http://download-svc.os-system:3080/api
|
||||||
|
volumeMounts:
|
||||||
|
- name: userspace-dir
|
||||||
|
mountPath: /data
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 20m
|
||||||
|
memory: 50Mi
|
||||||
|
limits:
|
||||||
|
cpu: "800m"
|
||||||
|
memory: 400Mi
|
||||||
|
|
||||||
|
- name: sync
|
||||||
|
image: "beclab/recommend-sync:v0.12.0"
|
||||||
|
securityContext:
|
||||||
|
runAsUser: 0
|
||||||
|
runAsNonRoot: false
|
||||||
|
env:
|
||||||
|
- name: USERSPACE_DIRECTORY
|
||||||
|
value: /data
|
||||||
|
- name: KNOWLEDGE_BASE_API_URL
|
||||||
|
value: http://127.0.0.1:3010
|
||||||
|
- name: PG_HOST
|
||||||
|
value: citus-headless.os-system
|
||||||
|
- name: PG_USERNAME
|
||||||
|
value: knowledge_os_system
|
||||||
|
- name: PG_PASSWORD
|
||||||
|
value: {{ $pg_password | b64dec }}
|
||||||
|
- name: PG_DATABASE
|
||||||
|
value: os_system_knowledge
|
||||||
|
- name: PG_PORT
|
||||||
|
value: "5432"
|
||||||
|
- name: TERMINUS_RECOMMEND_REDIS_ADDR
|
||||||
|
value: redis-cluster-proxy.os-system:6379
|
||||||
|
- name: TERMINUS_RECOMMEND_REDIS_PASSOWRD
|
||||||
|
value: {{ $redis_password_data }}
|
||||||
|
volumeMounts:
|
||||||
|
- name: userspace-dir
|
||||||
|
mountPath: /data
|
||||||
|
|
||||||
|
- name: crawler
|
||||||
|
image: "beclab/recommend-crawler:v0.12.1"
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
runAsUser: 1000
|
||||||
|
env:
|
||||||
|
- name: KNOWLEDGE_BASE_API_URL
|
||||||
|
value: http://127.0.0.1:3010
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 20m
|
||||||
|
memory: 50Mi
|
||||||
|
limits:
|
||||||
|
cpu: "800m"
|
||||||
|
memory: 800Mi
|
||||||
|
volumeMounts:
|
||||||
|
- name: cache-dir
|
||||||
|
mountPath: /appCache
|
||||||
|
|
||||||
|
- name: terminus-ws-sidecar
|
||||||
|
image: 'beclab/ws-gateway:v1.0.4'
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
command:
|
||||||
|
- /ws-gateway
|
||||||
|
env:
|
||||||
|
- name: WS_PORT
|
||||||
|
value: '3010'
|
||||||
|
- name: WS_URL
|
||||||
|
value: /knowledge/websocket/message
|
||||||
|
resources: {}
|
||||||
|
terminationMessagePath: /dev/termination-log
|
||||||
|
terminationMessagePolicy: File
|
||||||
|
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: userspace-dir
|
||||||
|
hostPath:
|
||||||
|
type: Directory
|
||||||
|
path: '{{ .Values.rootPath }}/rootfs/userspace'
|
||||||
|
- name: cache-dir
|
||||||
|
hostPath:
|
||||||
|
path: '{{ .Values.rootPath }}/userdata/Cache/rss'
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
- name: terminus-sidecar-config
|
||||||
|
configMap:
|
||||||
|
name: sidecar-ws-configs
|
||||||
|
items:
|
||||||
|
- key: envoy.yaml
|
||||||
|
path: envoy.yaml
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: rss-svc
|
||||||
|
namespace: os-system
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
selector:
|
||||||
|
app: knowledge
|
||||||
|
ports:
|
||||||
|
- name: "backend-server"
|
||||||
|
protocol: TCP
|
||||||
|
port: 8080
|
||||||
|
targetPort: 8080
|
||||||
|
- name: "knowledge-base-api"
|
||||||
|
protocol: TCP
|
||||||
|
port: 3010
|
||||||
|
targetPort: 3010
|
||||||
|
- name: "knowledge-websocket"
|
||||||
|
protocol: TCP
|
||||||
|
port: 40010
|
||||||
|
targetPort: 40010
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: knowledge-base-api
|
||||||
|
namespace: os-system
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
selector:
|
||||||
|
app: systemserver
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
name: knowledge-api
|
||||||
|
port: 3010
|
||||||
|
targetPort: 3010
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: apr.bytetrade.io/v1alpha1
|
||||||
|
kind: MiddlewareRequest
|
||||||
|
metadata:
|
||||||
|
name: download-nat
|
||||||
|
namespace: os-system
|
||||||
|
spec:
|
||||||
|
app: download
|
||||||
|
appNamespace: os-system
|
||||||
|
middleware: nats
|
||||||
|
nats:
|
||||||
|
password:
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
key: nat_password
|
||||||
|
name: knowledge-secrets
|
||||||
|
refs: []
|
||||||
|
subjects:
|
||||||
|
- name: download_status
|
||||||
|
permission:
|
||||||
|
pub: allow
|
||||||
|
sub: allow
|
||||||
|
export:
|
||||||
|
- appName: knowledge
|
||||||
|
sub: allow
|
||||||
|
pub: allow
|
||||||
|
user: os-system-download
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: download
|
||||||
|
namespace: os-system
|
||||||
|
labels:
|
||||||
|
app: download
|
||||||
|
applications.app.bytetrade.io/author: bytetrade.io
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: download
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: download
|
||||||
|
spec:
|
||||||
|
serviceAccount: os-internal
|
||||||
|
serviceAccountName: os-internal
|
||||||
|
securityContext:
|
||||||
|
runAsUser: 0
|
||||||
|
runAsNonRoot: false
|
||||||
|
|
||||||
|
initContainers:
|
||||||
|
- name: init-data
|
||||||
|
image: busybox:1.28
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
|
runAsNonRoot: false
|
||||||
|
runAsUser: 0
|
||||||
|
volumeMounts:
|
||||||
|
- name: config-dir
|
||||||
|
mountPath: /config
|
||||||
|
- name: download-dir
|
||||||
|
mountPath: /downloads
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
chown -R 1000:1000 /config && \
|
||||||
|
chown -R 1000:1000 /downloads
|
||||||
|
- name: init-container
|
||||||
|
image: 'postgres:16.0-alpine3.18'
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- '-c'
|
||||||
|
- >-
|
||||||
|
echo -e "Checking for the availability of PostgreSQL Server deployment"; until psql -h $PGHOST -p $PGPORT -U $PGUSER -d $PGDB -c "SELECT 1"; do sleep 1; printf "-"; done; sleep 5; echo -e " >> PostgreSQL DB Server has started";
|
||||||
|
env:
|
||||||
|
- name: PGHOST
|
||||||
|
value: citus-headless.os-system
|
||||||
|
- name: PGPORT
|
||||||
|
value: "5432"
|
||||||
|
- name: PGUSER
|
||||||
|
value: knowledge_os_system
|
||||||
|
- name: PGPASSWORD
|
||||||
|
value: {{ $pg_password | b64dec }}
|
||||||
|
- name: PGDB
|
||||||
|
value: os_system_knowledge
|
||||||
|
containers:
|
||||||
|
- name: aria2
|
||||||
|
image: "beclab/aria2:v0.0.4"
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
securityContext:
|
||||||
|
runAsNonRoot: false
|
||||||
|
runAsUser: 0
|
||||||
|
ports:
|
||||||
|
- containerPort: 6800
|
||||||
|
- containerPort: 6888
|
||||||
|
env:
|
||||||
|
- name: RPC_SECRET
|
||||||
|
value: kubespider
|
||||||
|
- name: PUID
|
||||||
|
value: "1000"
|
||||||
|
- name: PGID
|
||||||
|
value: "1000"
|
||||||
|
volumeMounts:
|
||||||
|
- name: download-dir
|
||||||
|
mountPath: /downloads
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 20m
|
||||||
|
memory: 50Mi
|
||||||
|
limits:
|
||||||
|
cpu: "1"
|
||||||
|
memory: 300Mi
|
||||||
|
- name: yt-dlp
|
||||||
|
image: "beclab/yt-dlp:v0.12.2"
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
runAsUser: 1000
|
||||||
|
|
||||||
|
ports:
|
||||||
|
- containerPort: 3082
|
||||||
|
env:
|
||||||
|
- name: PG_USERNAME
|
||||||
|
value: knowledge_os_system
|
||||||
|
- name: PG_PASSWORD
|
||||||
|
value: {{ $pg_password | b64dec }}
|
||||||
|
- name: PG_HOST
|
||||||
|
value: citus-headless.os-system
|
||||||
|
- name: PG_PORT
|
||||||
|
value: "5432"
|
||||||
|
- name: PG_DATABASE
|
||||||
|
value: os_system_knowledge
|
||||||
|
- name: REDIS_HOST
|
||||||
|
value: redis-cluster-proxy.os-system
|
||||||
|
- name: REDIS_PASSWORD
|
||||||
|
value: {{ $redis_password | b64dec }}
|
||||||
|
- name: NATS_HOST
|
||||||
|
value: nats
|
||||||
|
- name: NATS_PORT
|
||||||
|
value: "4222"
|
||||||
|
- name: NATS_USERNAME
|
||||||
|
value: os-system-download
|
||||||
|
- name: NATS_PASSWORD
|
||||||
|
value: {{ $nat_password | b64dec }}
|
||||||
|
- name: NATS_SUBJECT
|
||||||
|
value: terminus.os-system.download_status
|
||||||
|
volumeMounts:
|
||||||
|
- name: config-dir
|
||||||
|
mountPath: /app/config
|
||||||
|
- name: download-dir
|
||||||
|
mountPath: /app/downloads
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 20m
|
||||||
|
memory: 50Mi
|
||||||
|
limits:
|
||||||
|
cpu: "1"
|
||||||
|
memory: 300Mi
|
||||||
|
- name: download-spider
|
||||||
|
image: "beclab/download-spider:v0.12.2"
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
runAsUser: 1000
|
||||||
|
|
||||||
|
env:
|
||||||
|
- name: PG_USERNAME
|
||||||
|
value: knowledge_os_system
|
||||||
|
- name: PG_PASSWORD
|
||||||
|
value: {{ $pg_password | b64dec }}
|
||||||
|
- name: PG_HOST
|
||||||
|
value: citus-headless.os-system
|
||||||
|
- name: PG_PORT
|
||||||
|
value: "5432"
|
||||||
|
- name: PG_DATABASE
|
||||||
|
value: os_system_knowledge
|
||||||
|
- name: REDIS_HOST
|
||||||
|
value: redis-cluster-proxy.os-system
|
||||||
|
- name: REDIS_PASSWORD
|
||||||
|
value: {{ $redis_password | b64dec }}
|
||||||
|
- name: NATS_HOST
|
||||||
|
value: nats
|
||||||
|
- name: NATS_PORT
|
||||||
|
value: "4222"
|
||||||
|
- name: NATS_USERNAME
|
||||||
|
value: os-system-download
|
||||||
|
- name: NATS_PASSWORD
|
||||||
|
value: {{ $nat_password | b64dec }}
|
||||||
|
- name: NATS_SUBJECT
|
||||||
|
value: terminus.os-system.download_status
|
||||||
|
volumeMounts:
|
||||||
|
- name: download-dir
|
||||||
|
mountPath: /downloads
|
||||||
|
|
||||||
|
ports:
|
||||||
|
- containerPort: 3080
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 20m
|
||||||
|
memory: 50Mi
|
||||||
|
limits:
|
||||||
|
cpu: "1"
|
||||||
|
memory: 300Mi
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: config-dir
|
||||||
|
hostPath:
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
path: '{{ .Values.rootPath }}/userdata/Cache/download'
|
||||||
|
- name: download-dir
|
||||||
|
hostPath:
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
path: '{{ .Values.rootPath }}/rootfs/userspace'
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: download-svc
|
||||||
|
namespace: os-system
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
selector:
|
||||||
|
app: download
|
||||||
|
ports:
|
||||||
|
- name: "download-spider"
|
||||||
|
protocol: TCP
|
||||||
|
port: 3080
|
||||||
|
targetPort: 3080
|
||||||
|
- name: "aria2-server"
|
||||||
|
protocol: TCP
|
||||||
|
port: 6800
|
||||||
|
targetPort: 6800
|
||||||
|
- name: ytdlp-server
|
||||||
|
protocol: TCP
|
||||||
|
port: 3082
|
||||||
|
targetPort: 3082
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
# 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/
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: knowledge
|
|
||||||
description: A Helm chart for Kubernetes
|
|
||||||
maintainers:
|
|
||||||
- name: bytetrade
|
|
||||||
|
|
||||||
# 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: 0.0.1
|
|
||||||
|
|
||||||
# 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"
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
{{/*
|
|
||||||
Expand the name of the chart.
|
|
||||||
*/}}
|
|
||||||
{{- define "knowledge.name" -}}
|
|
||||||
{{- default .Chart.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 "knowledge.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 "knowledge.chart" -}}
|
|
||||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Common labels
|
|
||||||
*/}}
|
|
||||||
{{- define "knowledge.labels" -}}
|
|
||||||
helm.sh/chart: {{ include "knowledge.chart" . }}
|
|
||||||
{{ include "knowledge.selectorLabels" . }}
|
|
||||||
{{- if .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
|
||||||
{{- end }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Selector labels
|
|
||||||
*/}}
|
|
||||||
{{- define "knowledge.selectorLabels" -}}
|
|
||||||
app.kubernetes.io/name: {{ include "knowledge.name" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create the name of the service account to use
|
|
||||||
*/}}
|
|
||||||
{{- define "knowledge.serviceAccountName" -}}
|
|
||||||
{{- if .Values.serviceAccount.create }}
|
|
||||||
{{- default (include "knowledge.fullname" .) .Values.serviceAccount.name }}
|
|
||||||
{{- else }}
|
|
||||||
{{- default "default" .Values.serviceAccount.name }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,570 +0,0 @@
|
|||||||
{{- $namespace := printf "%s%s" "user-system-" .Values.bfl.username -}}
|
|
||||||
{{- $knowledge_secret := (lookup "v1" "Secret" $namespace "rss-secrets") -}}
|
|
||||||
|
|
||||||
{{- $redis_password := "" -}}
|
|
||||||
{{ if $knowledge_secret -}}
|
|
||||||
{{ $redis_password = (index $knowledge_secret "data" "redis_password") }}
|
|
||||||
{{ else -}}
|
|
||||||
{{ $redis_password = randAlphaNum 16 | b64enc }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- $redis_password_data := "" -}}
|
|
||||||
{{ $redis_password_data = $redis_password | b64dec }}
|
|
||||||
|
|
||||||
|
|
||||||
{{- $pg_password := "" -}}
|
|
||||||
{{ if $knowledge_secret -}}
|
|
||||||
{{ $pg_password = (index $knowledge_secret "data" "pg_password") }}
|
|
||||||
{{ else -}}
|
|
||||||
{{ $pg_password = randAlphaNum 16 | b64enc }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- $knowledge_nats_secret := (lookup "v1" "Secret" $namespace "knowledge-secrets") -}}
|
|
||||||
{{- $nat_password := "" -}}
|
|
||||||
{{ if $knowledge_nats_secret -}}
|
|
||||||
{{ $nat_password = (index $knowledge_nats_secret "data" "nat_password") }}
|
|
||||||
{{ else -}}
|
|
||||||
{{ $nat_password = randAlphaNum 16 | b64enc }}
|
|
||||||
{{- end -}}
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: knowledge-secrets
|
|
||||||
namespace: user-system-{{ .Values.bfl.username }}
|
|
||||||
type: Opaque
|
|
||||||
data:
|
|
||||||
pg_password: {{ $pg_password }}
|
|
||||||
nat_password: {{ $nat_password }}
|
|
||||||
---
|
|
||||||
apiVersion: apr.bytetrade.io/v1alpha1
|
|
||||||
kind: MiddlewareRequest
|
|
||||||
metadata:
|
|
||||||
name: knowledge-pg
|
|
||||||
namespace: user-system-{{ .Values.bfl.username }}
|
|
||||||
spec:
|
|
||||||
app: knowledge
|
|
||||||
appNamespace: {{ .Release.Namespace }}
|
|
||||||
middleware: postgres
|
|
||||||
postgreSQL:
|
|
||||||
user: knowledge_{{ .Values.bfl.username }}
|
|
||||||
password:
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
key: pg_password
|
|
||||||
name: knowledge-secrets
|
|
||||||
databases:
|
|
||||||
- name: knowledge
|
|
||||||
extensions:
|
|
||||||
- pg_trgm
|
|
||||||
- btree_gin
|
|
||||||
---
|
|
||||||
apiVersion: apr.bytetrade.io/v1alpha1
|
|
||||||
kind: MiddlewareRequest
|
|
||||||
metadata:
|
|
||||||
name: knowledge-nat
|
|
||||||
namespace: user-system-{{ .Values.bfl.username }}
|
|
||||||
spec:
|
|
||||||
app: knowledge
|
|
||||||
appNamespace: {{ .Release.Namespace }}
|
|
||||||
middleware: nats
|
|
||||||
nats:
|
|
||||||
password:
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
key: nat_password
|
|
||||||
name: knowledge-secrets
|
|
||||||
refs:
|
|
||||||
- appName: download
|
|
||||||
appNamespace: {{ .Release.Namespace }}
|
|
||||||
subjects:
|
|
||||||
- name: download_status
|
|
||||||
perm:
|
|
||||||
- pub
|
|
||||||
- sub
|
|
||||||
user: user-system-{{ .Values.bfl.username }}-knowledge
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: knowledge-secrets-auth
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
data:
|
|
||||||
redis_password: {{ $redis_password_data }}
|
|
||||||
redis_addr: redis-cluster-proxy.user-system-{{ .Values.bfl.username }}:6379
|
|
||||||
redis_host: redis-cluster-proxy.user-system-{{ .Values.bfl.username }}
|
|
||||||
redis_port: '6379'
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: knowledge-userspace-data
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
data:
|
|
||||||
appData: "{{ .Values.userspace.appData }}"
|
|
||||||
appCache: "{{ .Values.userspace.appCache }}"
|
|
||||||
username: "{{ .Values.bfl.username }}"
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: knowledge
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
app: knowledge
|
|
||||||
applications.app.bytetrade.io/author: bytetrade.io
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
strategy:
|
|
||||||
type: Recreate
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: knowledge
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: knowledge
|
|
||||||
spec:
|
|
||||||
securityContext:
|
|
||||||
runAsUser: 1000
|
|
||||||
runAsGroup: 1000
|
|
||||||
fsGroup: 1000
|
|
||||||
|
|
||||||
initContainers:
|
|
||||||
- name: init-data
|
|
||||||
image: busybox:1.28
|
|
||||||
securityContext:
|
|
||||||
privileged: true
|
|
||||||
runAsNonRoot: false
|
|
||||||
runAsUser: 0
|
|
||||||
volumeMounts:
|
|
||||||
- name: juicefs
|
|
||||||
mountPath: /juicefs
|
|
||||||
command:
|
|
||||||
- sh
|
|
||||||
- -c
|
|
||||||
- |
|
|
||||||
chown -R 1000:1000 /juicefs
|
|
||||||
- name: init-container
|
|
||||||
image: 'postgres:16.0-alpine3.18'
|
|
||||||
command:
|
|
||||||
- sh
|
|
||||||
- '-c'
|
|
||||||
- >-
|
|
||||||
echo -e "Checking for the availability of PostgreSQL Server deployment"; until psql -h $PGHOST -p $PGPORT -U $PGUSER -d $PGDB -c "SELECT 1"; do sleep 1; printf "-"; done; sleep 5; echo -e " >> PostgreSQL DB Server has started";
|
|
||||||
env:
|
|
||||||
- name: PGHOST
|
|
||||||
value: citus-master-svc.user-system-{{ .Values.bfl.username }}
|
|
||||||
- name: PGPORT
|
|
||||||
value: "5432"
|
|
||||||
- name: PGUSER
|
|
||||||
value: knowledge_{{ .Values.bfl.username }}
|
|
||||||
- name: PGPASSWORD
|
|
||||||
value: {{ $pg_password | b64dec }}
|
|
||||||
- name: PGDB
|
|
||||||
value: user_space_{{ .Values.bfl.username }}_knowledge
|
|
||||||
containers:
|
|
||||||
- name: knowledge
|
|
||||||
image: "beclab/knowledge-base-api:v0.1.68"
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
runAsUser: 1000
|
|
||||||
|
|
||||||
ports:
|
|
||||||
- containerPort: 3010
|
|
||||||
env:
|
|
||||||
- name: BACKEND_URL
|
|
||||||
value: http://127.0.0.1:8080
|
|
||||||
- name: RSSHUB_URL
|
|
||||||
value: 'http://rss-server.os-system:1200'
|
|
||||||
- name: UPLOAD_SAVE_PATH
|
|
||||||
value: '/data/Home/Documents/'
|
|
||||||
- name: SEARCH_URL
|
|
||||||
value: 'http://search3.os-system:80'
|
|
||||||
- name: REDIS_PASSWORD
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: knowledge-secrets-auth
|
|
||||||
key: redis_password
|
|
||||||
- name: REDIS_ADDR
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: knowledge-secrets-auth
|
|
||||||
key: redis_addr
|
|
||||||
- name: PDF_SAVE_PATH
|
|
||||||
value: /data/Home/Documents/Pdf/
|
|
||||||
- name: PG_USERNAME
|
|
||||||
value: knowledge_{{ .Values.bfl.username }}
|
|
||||||
- name: PG_PASSWORD
|
|
||||||
value: {{ $pg_password | b64dec }}
|
|
||||||
- name: PG_HOST
|
|
||||||
value: citus-master-svc.user-system-{{ .Values.bfl.username }}
|
|
||||||
- name: PG_PORT
|
|
||||||
value: "5432"
|
|
||||||
- name: PG_DATABASE
|
|
||||||
value: user_space_{{ .Values.bfl.username }}_knowledge
|
|
||||||
- name: DOWNLOAD_URL
|
|
||||||
value: http://download-svc.user-space-{{ .Values.bfl.username }}:3080
|
|
||||||
- name: BFL_USER_NAME
|
|
||||||
value: "{{ .Values.bfl.username }}"
|
|
||||||
- name: SETTING_URL
|
|
||||||
value: http://system-server.user-system-{{ .Values.bfl.username }}
|
|
||||||
- name: NATS_HOST
|
|
||||||
value: nats.user-system-{{ .Values.bfl.username }}
|
|
||||||
- name: NATS_PORT
|
|
||||||
value: "4222"
|
|
||||||
- name: NATS_USERNAME
|
|
||||||
value: user-system-{{ .Values.bfl.username }}-knowledge
|
|
||||||
- name: NATS_PASSWORD
|
|
||||||
value: {{ $nat_password | b64dec }}
|
|
||||||
- name: NATS_SUBJECT
|
|
||||||
value: "terminus.{{ .Release.Namespace }}.download_status"
|
|
||||||
- name: SOCKET_URL
|
|
||||||
value: 'http://localhost:40010'
|
|
||||||
volumeMounts:
|
|
||||||
- name: watch-dir
|
|
||||||
mountPath: /data/Home/Documents
|
|
||||||
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 20m
|
|
||||||
memory: 50Mi
|
|
||||||
limits:
|
|
||||||
cpu: "1"
|
|
||||||
memory: 1Gi
|
|
||||||
|
|
||||||
- name: backend-server
|
|
||||||
image: "beclab/recommend-backend:v0.0.30"
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
runAsUser: 1000
|
|
||||||
|
|
||||||
env:
|
|
||||||
- name: LISTEN_ADDR
|
|
||||||
value: 127.0.0.1:8080
|
|
||||||
- name: REDIS_PASSWORD
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: knowledge-secrets-auth
|
|
||||||
key: redis_password
|
|
||||||
- name: REDIS_ADDR
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: knowledge-secrets-auth
|
|
||||||
key: redis_addr
|
|
||||||
- name: OS_SYSTEM_SERVER
|
|
||||||
value: system-server.user-system-{{ .Values.bfl.username }}
|
|
||||||
- name: OS_APP_SECRET
|
|
||||||
value: '{{ .Values.os.wise.appSecret }}'
|
|
||||||
- name: OS_APP_KEY
|
|
||||||
value: {{ .Values.os.wise.appKey }}
|
|
||||||
- name: RSS_HUB_URL
|
|
||||||
value: 'http://rss-server.os-system:1200/'
|
|
||||||
- name: WE_CHAT_REFRESH_FEED_URL
|
|
||||||
value: https://recommend-wechat-prd.bttcdn.com/api/wechat/entries
|
|
||||||
- name: WECHAT_ENTRY_CONTENT_GET_API_URL
|
|
||||||
value: https://recommend-wechat-prd.bttcdn.com/api/wechat/entry/content
|
|
||||||
- name: PG_USERNAME
|
|
||||||
value: knowledge_{{ .Values.bfl.username }}
|
|
||||||
- name: PG_PASSWORD
|
|
||||||
value: {{ $pg_password | b64dec }}
|
|
||||||
- name: PG_HOST
|
|
||||||
value: citus-master-svc.user-system-{{ .Values.bfl.username }}
|
|
||||||
- name: PG_PORT
|
|
||||||
value: "5432"
|
|
||||||
- name: PG_DATABASE
|
|
||||||
value: user_space_{{ .Values.bfl.username }}_knowledge
|
|
||||||
- name: WATCH_DIR
|
|
||||||
value: /data/Home/Downloads
|
|
||||||
- name: NOTIFY_SERVER
|
|
||||||
value: fsnotify-svc.user-system-{{ .Values.bfl.username }}:5079
|
|
||||||
- name: POD_NAME
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
apiVersion: v1
|
|
||||||
fieldPath: metadata.name
|
|
||||||
- name: NAMESPACE
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
apiVersion: v1
|
|
||||||
fieldPath: metadata.namespace
|
|
||||||
- name: CONTAINER_NAME
|
|
||||||
value: backend-server
|
|
||||||
- name: YT_DLP_API_URL
|
|
||||||
value: http://download-svc.user-space-{{ .Values.bfl.username }}:3082/api/v1/get_metadata
|
|
||||||
- name: DOWNLOAD_API_URL
|
|
||||||
value: http://download-svc.user-space-{{ .Values.bfl.username }}:3080/api
|
|
||||||
- name: SETTING_API_URL
|
|
||||||
value: http://system-server.user-system-{{ .Values.bfl.username }}/legacy/v1alpha1/service.settings/v1/api/cookie/retrieve
|
|
||||||
volumeMounts:
|
|
||||||
- name: watch-dir
|
|
||||||
mountPath: /data/Home/Downloads
|
|
||||||
ports:
|
|
||||||
- containerPort: 8080
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 20m
|
|
||||||
memory: 50Mi
|
|
||||||
limits:
|
|
||||||
cpu: "800m"
|
|
||||||
memory: 400Mi
|
|
||||||
|
|
||||||
- name: sync
|
|
||||||
image: "beclab/recommend-sync:v0.0.15"
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
runAsUser: 1000
|
|
||||||
env:
|
|
||||||
- name: TERMIUS_USER_NAME
|
|
||||||
value: "{{ .Values.bfl.username }}"
|
|
||||||
- name: JUICEFS_ROOT_DIRECTORY
|
|
||||||
value: /juicefs
|
|
||||||
- name: KNOWLEDGE_BASE_API_URL
|
|
||||||
value: http://127.0.0.1:3010
|
|
||||||
- name: PG_HOST
|
|
||||||
value: citus-master-svc.user-system-{{ .Values.bfl.username }}
|
|
||||||
- name: PG_USERNAME
|
|
||||||
value: knowledge_{{ .Values.bfl.username }}
|
|
||||||
- name: PG_PASSWORD
|
|
||||||
value: {{ $pg_password | b64dec }}
|
|
||||||
- name: PG_DATABASE
|
|
||||||
value: user_space_{{ .Values.bfl.username }}_knowledge
|
|
||||||
- name: PG_PORT
|
|
||||||
value: "5432"
|
|
||||||
- name: TERMINUS_RECOMMEND_REDIS_ADDR
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: knowledge-secrets-auth
|
|
||||||
key: redis_addr
|
|
||||||
- name: TERMINUS_RECOMMEND_REDIS_PASSOWRD
|
|
||||||
valueFrom:
|
|
||||||
configMapKeyRef:
|
|
||||||
name: knowledge-secrets-auth
|
|
||||||
key: redis_password
|
|
||||||
volumeMounts:
|
|
||||||
- name: juicefs
|
|
||||||
mountPath: /juicefs
|
|
||||||
|
|
||||||
- name: crawler
|
|
||||||
image: "beclab/recommend-crawler:v0.0.14"
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
runAsUser: 1000
|
|
||||||
env:
|
|
||||||
- name: TERMIUS_USER_NAME
|
|
||||||
value: "{{ .Values.bfl.username }}"
|
|
||||||
- name: KNOWLEDGE_BASE_API_URL
|
|
||||||
value: http://127.0.0.1:3010
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 20m
|
|
||||||
memory: 50Mi
|
|
||||||
limits:
|
|
||||||
cpu: "800m"
|
|
||||||
memory: 800Mi
|
|
||||||
|
|
||||||
- name: terminus-ws-sidecar
|
|
||||||
image: 'beclab/ws-gateway:v1.0.4'
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
command:
|
|
||||||
- /ws-gateway
|
|
||||||
env:
|
|
||||||
- name: WS_PORT
|
|
||||||
value: '3010'
|
|
||||||
- name: WS_URL
|
|
||||||
value: /knowledge/websocket/message
|
|
||||||
resources: {}
|
|
||||||
terminationMessagePath: /dev/termination-log
|
|
||||||
terminationMessagePolicy: File
|
|
||||||
|
|
||||||
- name: recommend-debug
|
|
||||||
image: "beclab/recommenddebug:v0.0.25"
|
|
||||||
imagePullPolicy: IfNotPresent
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
runAsUser: 1000
|
|
||||||
env:
|
|
||||||
- name: KNOWLEDGE_BASE_API_URL
|
|
||||||
value: http://127.0.0.1:3010
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /opt/rank_model
|
|
||||||
name: model
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: watch-dir
|
|
||||||
hostPath:
|
|
||||||
type: Directory
|
|
||||||
path: {{ .Values.userspace.userData }}
|
|
||||||
- name: juicefs
|
|
||||||
hostPath:
|
|
||||||
type: DirectoryOrCreate
|
|
||||||
path: {{ .Values.userspace.appData }}/rss/data
|
|
||||||
|
|
||||||
- name: terminus-sidecar-config
|
|
||||||
configMap:
|
|
||||||
name: sidecar-ws-configs
|
|
||||||
items:
|
|
||||||
- key: envoy.yaml
|
|
||||||
path: envoy.yaml
|
|
||||||
- name: model
|
|
||||||
hostPath:
|
|
||||||
type: DirectoryOrCreate
|
|
||||||
path: {{ .Values.userspace.appData }}/rss/model
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: rss-svc
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: knowledge
|
|
||||||
ports:
|
|
||||||
- name: "backend-server"
|
|
||||||
protocol: TCP
|
|
||||||
port: 8080
|
|
||||||
targetPort: 8080
|
|
||||||
# - name: "rss-sdk"
|
|
||||||
# protocol: TCP
|
|
||||||
# port: 3000
|
|
||||||
# targetPort: 3000
|
|
||||||
- name: "knowledge-base-api"
|
|
||||||
protocol: TCP
|
|
||||||
port: 3010
|
|
||||||
targetPort: 3010
|
|
||||||
- name: "knowledge-websocket"
|
|
||||||
protocol: TCP
|
|
||||||
port: 40010
|
|
||||||
targetPort: 40010
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: knowledge-base-api
|
|
||||||
namespace: user-system-{{ .Values.bfl.username }}
|
|
||||||
spec:
|
|
||||||
type: ClusterIP
|
|
||||||
selector:
|
|
||||||
app: systemserver
|
|
||||||
ports:
|
|
||||||
- protocol: TCP
|
|
||||||
name: knowledge-api
|
|
||||||
port: 3010
|
|
||||||
targetPort: 3010
|
|
||||||
---
|
|
||||||
#apiVersion: v1
|
|
||||||
#data:
|
|
||||||
# mappings: |
|
|
||||||
# {
|
|
||||||
# "properties": {
|
|
||||||
# "@timestamp": {
|
|
||||||
# "type": "date",
|
|
||||||
# "index": true,
|
|
||||||
# "store": false,
|
|
||||||
# "sortable": true,
|
|
||||||
# "aggregatable": true,
|
|
||||||
# "highlightable": false
|
|
||||||
# },
|
|
||||||
# "_id": {
|
|
||||||
# "type": "keyword",
|
|
||||||
# "index": true,
|
|
||||||
# "store": false,
|
|
||||||
# "sortable": true,
|
|
||||||
# "aggregatable": true,
|
|
||||||
# "highlightable": false
|
|
||||||
# },
|
|
||||||
# "content": {
|
|
||||||
# "type": "text",
|
|
||||||
# "index": true,
|
|
||||||
# "store": true,
|
|
||||||
# "sortable": false,
|
|
||||||
# "aggregatable": false,
|
|
||||||
# "highlightable": true
|
|
||||||
# },
|
|
||||||
# "created": {
|
|
||||||
# "type": "numeric",
|
|
||||||
# "index": true,
|
|
||||||
# "store": false,
|
|
||||||
# "sortable": true,
|
|
||||||
# "aggregatable": true,
|
|
||||||
# "highlightable": false
|
|
||||||
# },
|
|
||||||
# "format_name": {
|
|
||||||
# "type": "text",
|
|
||||||
# "index": true,
|
|
||||||
# "store": false,
|
|
||||||
# "sortable": false,
|
|
||||||
# "aggregatable": false,
|
|
||||||
# "highlightable": false
|
|
||||||
# },
|
|
||||||
# "md5": {
|
|
||||||
# "type": "text",
|
|
||||||
# "analyzer": "keyword",
|
|
||||||
# "index": true,
|
|
||||||
# "store": false,
|
|
||||||
# "sortable": false,
|
|
||||||
# "aggregatable": false,
|
|
||||||
# "highlightable": false
|
|
||||||
# },
|
|
||||||
# "meta": {
|
|
||||||
# "type": "text",
|
|
||||||
# "index": true,
|
|
||||||
# "store": false,
|
|
||||||
# "sortable": false,
|
|
||||||
# "aggregatable": false,
|
|
||||||
# "highlightable": false
|
|
||||||
# },
|
|
||||||
# "name": {
|
|
||||||
# "type": "text",
|
|
||||||
# "index": true,
|
|
||||||
# "store": false,
|
|
||||||
# "sortable": false,
|
|
||||||
# "aggregatable": false,
|
|
||||||
# "highlightable": false
|
|
||||||
# },
|
|
||||||
# "where": {
|
|
||||||
# "type": "text",
|
|
||||||
# "analyzer": "keyword",
|
|
||||||
# "index": true,
|
|
||||||
# "store": false,
|
|
||||||
# "sortable": false,
|
|
||||||
# "aggregatable": false,
|
|
||||||
# "highlightable": false
|
|
||||||
# }
|
|
||||||
# }
|
|
||||||
# }
|
|
||||||
#kind: ConfigMap
|
|
||||||
#metadata:
|
|
||||||
# name: zinc-knowledge
|
|
||||||
# namespace: user-system-{{ .Values.bfl.username }}
|
|
||||||
#---
|
|
||||||
|
|
||||||
|
|
||||||
apiVersion: apr.bytetrade.io/v1alpha1
|
|
||||||
kind: SysEventRegistry
|
|
||||||
metadata:
|
|
||||||
name: konwledgebase-recommend-install-cb
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
spec:
|
|
||||||
type: subscriber
|
|
||||||
event: recommend.install
|
|
||||||
callback: http://rss-svc.{{ .Release.Namespace }}:3010/knowledge/algorithm/recommend/install
|
|
||||||
|
|
||||||
---
|
|
||||||
apiVersion: apr.bytetrade.io/v1alpha1
|
|
||||||
kind: SysEventRegistry
|
|
||||||
metadata:
|
|
||||||
name: konwledgebase-recommend-uninstall-cb
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
spec:
|
|
||||||
type: subscriber
|
|
||||||
event: recommend.uninstall
|
|
||||||
callback: http://rss-svc.{{ .Release.Namespace }}:3010/knowledge/algorithm/recommend/uninstall
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
|
|
||||||
bfl:
|
|
||||||
nodeport: 30883
|
|
||||||
nodeport_ingress_http: 30083
|
|
||||||
nodeport_ingress_https: 30082
|
|
||||||
username: 'test'
|
|
||||||
url: 'test'
|
|
||||||
nodeName: test
|
|
||||||
pvc:
|
|
||||||
userspace: test
|
|
||||||
userspace:
|
|
||||||
userData: test/Home
|
|
||||||
appData: test/Data
|
|
||||||
appCache: test
|
|
||||||
dbdata: test
|
|
||||||
docs:
|
|
||||||
nodeport: 30881
|
|
||||||
desktop:
|
|
||||||
nodeport: 30180
|
|
||||||
os:
|
|
||||||
portfolio:
|
|
||||||
appKey: '${ks[0]}'
|
|
||||||
appSecret: test
|
|
||||||
vault:
|
|
||||||
appKey: '${ks[0]}'
|
|
||||||
appSecret: test
|
|
||||||
desktop:
|
|
||||||
appKey: '${ks[0]}'
|
|
||||||
appSecret: test
|
|
||||||
message:
|
|
||||||
appKey: '${ks[0]}'
|
|
||||||
appSecret: test
|
|
||||||
wise:
|
|
||||||
appKey: '${ks[0]}'
|
|
||||||
appSecret: test
|
|
||||||
search:
|
|
||||||
appKey: '${ks[0]}'
|
|
||||||
appSecret: test
|
|
||||||
search2:
|
|
||||||
appKey: '${ks[0]}'
|
|
||||||
appSecret: test
|
|
||||||
kubesphere:
|
|
||||||
redis_password: ""
|
|
||||||
@@ -43,6 +43,12 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: appstore
|
app: appstore
|
||||||
io.bytetrade.app: "true"
|
io.bytetrade.app: "true"
|
||||||
|
annotations:
|
||||||
|
instrumentation.opentelemetry.io/inject-go: "olares-instrumentation"
|
||||||
|
instrumentation.opentelemetry.io/go-container-names: "appstore-backend"
|
||||||
|
instrumentation.opentelemetry.io/otel-go-auto-target-exe: "/opt/app/market"
|
||||||
|
instrumentation.opentelemetry.io/inject-nginx: "olares-instrumentation"
|
||||||
|
instrumentation.opentelemetry.io/inject-nginx-container-names: "appstore"
|
||||||
spec:
|
spec:
|
||||||
priorityClassName: "system-cluster-critical"
|
priorityClassName: "system-cluster-critical"
|
||||||
initContainers:
|
initContainers:
|
||||||
@@ -84,14 +90,33 @@ spec:
|
|||||||
fieldRef:
|
fieldRef:
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
fieldPath: status.podIP
|
fieldPath: status.podIP
|
||||||
|
- name: nginx-init
|
||||||
|
image: beclab/market-frontend:v0.3.11
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
volumeMounts:
|
||||||
|
- name: app
|
||||||
|
mountPath: /cp_app
|
||||||
|
- name: nginx-confd
|
||||||
|
mountPath: /confd
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
cp -rf /app/* /cp_app/. && cp -rf /etc/nginx/conf.d/* /confd/.
|
||||||
containers:
|
containers:
|
||||||
- name: appstore
|
- name: appstore
|
||||||
image: beclab/market-frontend:v0.3.9
|
image: beclab/docker-nginx-headers-more:ubuntu-v0.1.0
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
|
volumeMounts:
|
||||||
|
- name: app
|
||||||
|
mountPath: /app
|
||||||
|
- name: nginx-confd
|
||||||
|
mountPath: /etc/nginx/conf.d
|
||||||
|
|
||||||
- name: appstore-backend
|
- name: appstore-backend
|
||||||
image: beclab/market-backend:v0.3.9
|
image: beclab/market-backend:v0.3.11
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 81
|
- containerPort: 81
|
||||||
@@ -192,8 +217,12 @@ spec:
|
|||||||
path: envoy.yaml
|
path: envoy.yaml
|
||||||
- name: opt-data
|
- name: opt-data
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.userspace.appData}}/appstore/data
|
path: '{{ .Values.userspace.appData}}/appstore/data'
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
|
- name: app
|
||||||
|
emptyDir: {}
|
||||||
|
- name: nginx-confd
|
||||||
|
emptyDir: {}
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
bfl:
|
bfl:
|
||||||
nodeport: 30883
|
nodeport: 30883
|
||||||
nodeport_ingress_http: 30083
|
nodeport_ingress_http: 30083
|
||||||
@@ -42,4 +41,4 @@ os:
|
|||||||
appstore:
|
appstore:
|
||||||
marketProvider: ''
|
marketProvider: ''
|
||||||
kubesphere:
|
kubesphere:
|
||||||
redis_password: ""
|
redis_password: ""
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
|
|
||||||
{{- $namespace := printf "%s%s" "os-system" -}}
|
{{- $namespace := printf "%s" "os-system" -}}
|
||||||
{{- $notifications_secret := (lookup "v1" "Secret" $namespace "notifications-secrets") -}}
|
{{- $notifications_secret := (lookup "v1" "Secret" $namespace "notifications-secrets") -}}
|
||||||
|
|
||||||
{{- $pg_password := "" -}}
|
{{- $pg_password := "" -}}
|
||||||
@@ -83,6 +83,23 @@ spec:
|
|||||||
permission:
|
permission:
|
||||||
pub: allow
|
pub: allow
|
||||||
sub: allow
|
sub: allow
|
||||||
|
- export:
|
||||||
|
- appName: lldap
|
||||||
|
pub: allow
|
||||||
|
sub: allow
|
||||||
|
- appName: vault-server
|
||||||
|
pub: deny
|
||||||
|
sub: allow
|
||||||
|
- appName: seahub
|
||||||
|
pub: deny
|
||||||
|
sub: allow
|
||||||
|
- appName: knowledge
|
||||||
|
pub: deny
|
||||||
|
sub: allow
|
||||||
|
name: system.users
|
||||||
|
permission:
|
||||||
|
pub: allow
|
||||||
|
sub: allow
|
||||||
user: os-system-notifications
|
user: os-system-notifications
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -131,7 +148,7 @@ spec:
|
|||||||
value: os_system_notifications
|
value: os_system_notifications
|
||||||
containers:
|
containers:
|
||||||
- name: notifications-api
|
- name: notifications-api
|
||||||
image: beclab/notifications-api:v1.12.2
|
image: beclab/notifications-api:v1.12.3
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 3010
|
- containerPort: 3010
|
||||||
@@ -160,6 +177,8 @@ spec:
|
|||||||
name: notifications-secrets
|
name: notifications-secrets
|
||||||
- name: NATS_SUBJECT
|
- name: NATS_SUBJECT
|
||||||
value: "terminus.{{ .Release.Namespace }}.system.notification"
|
value: "terminus.{{ .Release.Namespace }}.system.notification"
|
||||||
|
- name: NATS_SUBJECT_SYSTEM_USERS
|
||||||
|
value: "terminus.{{ .Release.Namespace }}.system.users"
|
||||||
|
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
tcpSocket:
|
tcpSocket:
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
bfl:
|
bfl:
|
||||||
nodeport: 30883
|
nodeport: 30883
|
||||||
nodeport_ingress_http: 30083
|
nodeport_ingress_http: 30083
|
||||||
@@ -40,4 +39,4 @@ os:
|
|||||||
appKey: '${ks[0]}'
|
appKey: '${ks[0]}'
|
||||||
appSecret: test
|
appSecret: test
|
||||||
kubesphere:
|
kubesphere:
|
||||||
redis_password: ""
|
redis_password: ""
|
||||||
|
|||||||
@@ -125,14 +125,14 @@ spec:
|
|||||||
- name: chart
|
- name: chart
|
||||||
hostPath:
|
hostPath:
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
path: {{ .Values.userspace.appData}}/studio/Chart
|
path: '{{ .Values.userspace.appData}}/studio/Chart'
|
||||||
- name: data
|
- name: data
|
||||||
hostPath:
|
hostPath:
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
path: {{ .Values.userspace.appData }}/studio/Data
|
path: '{{ .Values.userspace.appData }}/studio/Data'
|
||||||
- name: storage-volume
|
- name: storage-volume
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.userspace.appData }}/studio/helm-repo-dev
|
path: '{{ .Values.userspace.appData }}/studio/helm-repo-dev'
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
- name: config-san
|
- name: config-san
|
||||||
configMap:
|
configMap:
|
||||||
@@ -196,7 +196,7 @@ spec:
|
|||||||
-A PROXY_OUTBOUND -p tcp --dport 6379 -j RETURN
|
-A PROXY_OUTBOUND -p tcp --dport 6379 -j RETURN
|
||||||
-A PROXY_OUTBOUND -p tcp --dport 27017 -j RETURN
|
-A PROXY_OUTBOUND -p tcp --dport 27017 -j RETURN
|
||||||
-A PROXY_OUTBOUND -p tcp --dport 443 -j RETURN
|
-A PROXY_OUTBOUND -p tcp --dport 443 -j RETURN
|
||||||
|
-A PROXY_OUTBOUND -p tcp --dport 8080 -j RETURN
|
||||||
|
|
||||||
-A PROXY_OUTBOUND -d ${POD_IP}/32 -j RETURN
|
-A PROXY_OUTBOUND -d ${POD_IP}/32 -j RETURN
|
||||||
|
|
||||||
@@ -249,7 +249,7 @@ spec:
|
|||||||
|
|
||||||
containers:
|
containers:
|
||||||
- name: studio
|
- name: studio
|
||||||
image: beclab/studio-server:v0.1.48
|
image: beclab/studio-server:v0.1.50
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
args:
|
args:
|
||||||
- server
|
- server
|
||||||
@@ -352,9 +352,9 @@ spec:
|
|||||||
fieldRef:
|
fieldRef:
|
||||||
fieldPath: status.podIP
|
fieldPath: status.podIP
|
||||||
- name: APP_KEY
|
- name: APP_KEY
|
||||||
value: {{ .Values.os.appKey }}
|
value: {{ .Values.os.studio.appKey }}
|
||||||
- name: APP_SECRET
|
- name: APP_SECRET
|
||||||
value: {{ .Values.os.appSecret }}
|
value: {{ .Values.os.studio.appSecret }}
|
||||||
- name: chartmuseum
|
- name: chartmuseum
|
||||||
image: aboveos/helm-chartmuseum:v0.15.0
|
image: aboveos/helm-chartmuseum:v0.15.0
|
||||||
args:
|
args:
|
||||||
@@ -380,8 +380,8 @@ spec:
|
|||||||
cpu: "50m"
|
cpu: "50m"
|
||||||
memory: 100Mi
|
memory: 100Mi
|
||||||
limits:
|
limits:
|
||||||
cpu: "0.5"
|
cpu: 1000m
|
||||||
memory: 256Mi
|
memory: 512Mi
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: storage-volume
|
- name: storage-volume
|
||||||
mountPath: /storage
|
mountPath: /storage
|
||||||
@@ -448,7 +448,7 @@ data:
|
|||||||
prefix: "/"
|
prefix: "/"
|
||||||
route:
|
route:
|
||||||
cluster: original_dst
|
cluster: original_dst
|
||||||
timeout: 180s
|
timeout: 1800s
|
||||||
http_protocol_options:
|
http_protocol_options:
|
||||||
accept_http_10: true
|
accept_http_10: true
|
||||||
http_filters:
|
http_filters:
|
||||||
@@ -483,7 +483,7 @@ data:
|
|||||||
request_headers_to_add:
|
request_headers_to_add:
|
||||||
- header:
|
- header:
|
||||||
key: X-App-Key
|
key: X-App-Key
|
||||||
value: {{ .Values.os.appKey }}
|
value: {{ .Values.os.studio.appKey }}
|
||||||
route:
|
route:
|
||||||
cluster: system-server
|
cluster: system-server
|
||||||
prefix_rewrite: /system-server/v2/legacy_api/api.intent/v2/server/intent/send
|
prefix_rewrite: /system-server/v2/legacy_api/api.intent/v2/server/intent/send
|
||||||
@@ -491,7 +491,7 @@ data:
|
|||||||
prefix: "/"
|
prefix: "/"
|
||||||
route:
|
route:
|
||||||
cluster: original_dst
|
cluster: original_dst
|
||||||
timeout: 180s
|
timeout: 1800s
|
||||||
typed_per_filter_config:
|
typed_per_filter_config:
|
||||||
envoy.filters.http.lua:
|
envoy.filters.http.lua:
|
||||||
"@type": type.googleapis.com/envoy.extensions.filters.http.lua.v3.LuaPerRoute
|
"@type": type.googleapis.com/envoy.extensions.filters.http.lua.v3.LuaPerRoute
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
bfl:
|
bfl:
|
||||||
nodeport: 30883
|
nodeport: 30883
|
||||||
nodeport_ingress_http: 30083
|
nodeport_ingress_http: 30083
|
||||||
@@ -36,9 +35,8 @@ os:
|
|||||||
search:
|
search:
|
||||||
appKey: '${ks[0]}'
|
appKey: '${ks[0]}'
|
||||||
appSecret: test
|
appSecret: test
|
||||||
search2:
|
studio:
|
||||||
appKey: '${ks[0]}'
|
appKey: '${ks[0]}'
|
||||||
appSecret: test
|
appSecret: test
|
||||||
kubesphere:
|
kubesphere:
|
||||||
redis_password: ""
|
redis_password: ""
|
||||||
|
|
||||||
|
|||||||
@@ -149,11 +149,11 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: system-frontend
|
app: system-frontend
|
||||||
io.bytetrade.app: "true"
|
io.bytetrade.app: "true"
|
||||||
# annotations:
|
annotations:
|
||||||
# instrumentation.opentelemetry.io/inject-nodejs: "olares-instrumentation"
|
instrumentation.opentelemetry.io/inject-nodejs: "olares-instrumentation"
|
||||||
# instrumentation.opentelemetry.io/nodejs-container-names: "settings-server"
|
instrumentation.opentelemetry.io/nodejs-container-names: "settings-server"
|
||||||
# instrumentation.opentelemetry.io/inject-nginx: "olares-instrumentation"
|
instrumentation.opentelemetry.io/inject-nginx: "olares-instrumentation"
|
||||||
# instrumentation.opentelemetry.io/inject-nginx-container-names: "system-frontend"
|
instrumentation.opentelemetry.io/inject-nginx-container-names: "system-frontend"
|
||||||
spec:
|
spec:
|
||||||
priorityClassName: "system-cluster-critical"
|
priorityClassName: "system-cluster-critical"
|
||||||
initContainers:
|
initContainers:
|
||||||
@@ -208,7 +208,7 @@ spec:
|
|||||||
- mountPath: /www
|
- mountPath: /www
|
||||||
name: www-dir
|
name: www-dir
|
||||||
- name: control-hub-init
|
- name: control-hub-init
|
||||||
image: beclab/admin-console-frontend-v1:v0.5.5
|
image: beclab/admin-console-frontend-v1:v0.5.8
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /bin/sh
|
- /bin/sh
|
||||||
@@ -220,7 +220,7 @@ spec:
|
|||||||
- mountPath: /www
|
- mountPath: /www
|
||||||
name: www-dir
|
name: www-dir
|
||||||
- name: profile-editor-init
|
- name: profile-editor-init
|
||||||
image: beclab/profile-editor:v0.2.1
|
image: beclab/profile-editor:v0.2.21
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /bin/sh
|
- /bin/sh
|
||||||
@@ -232,7 +232,7 @@ spec:
|
|||||||
- mountPath: /www
|
- mountPath: /www
|
||||||
name: www-dir
|
name: www-dir
|
||||||
- name: profile-preview-init
|
- name: profile-preview-init
|
||||||
image: beclab/profile-preview:v0.2.1
|
image: beclab/profile-preview:v0.2.21
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /bin/sh
|
- /bin/sh
|
||||||
@@ -244,7 +244,7 @@ spec:
|
|||||||
- mountPath: /www
|
- mountPath: /www
|
||||||
name: www-dir
|
name: www-dir
|
||||||
- name: wise-init
|
- name: wise-init
|
||||||
image: beclab/wise:v1.3.47
|
image: beclab/wise:v1.3.55
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /bin/sh
|
- /bin/sh
|
||||||
@@ -256,7 +256,7 @@ spec:
|
|||||||
- mountPath: /www
|
- mountPath: /www
|
||||||
name: www-dir
|
name: www-dir
|
||||||
- name: settings-init
|
- name: settings-init
|
||||||
image: beclab/settings:v0.2.17
|
image: beclab/settings:v1.3.62
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /bin/sh
|
- /bin/sh
|
||||||
@@ -268,7 +268,7 @@ spec:
|
|||||||
- mountPath: /www
|
- mountPath: /www
|
||||||
name: www-dir
|
name: www-dir
|
||||||
- name: studio-init
|
- name: studio-init
|
||||||
image: beclab/studio:v0.2.9
|
image: beclab/studio:v0.2.16
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /bin/sh
|
- /bin/sh
|
||||||
@@ -305,7 +305,7 @@ spec:
|
|||||||
- -c
|
- -c
|
||||||
- /etc/envoy/envoy.yaml
|
- /etc/envoy/envoy.yaml
|
||||||
- name: system-frontend
|
- name: system-frontend
|
||||||
image: beclab/docker-nginx-headers-more:v0.1.0
|
image: beclab/docker-nginx-headers-more:ubuntu-v0.1.0
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 81
|
- containerPort: 81
|
||||||
@@ -385,7 +385,7 @@ spec:
|
|||||||
terminationMessagePath: /dev/termination-log
|
terminationMessagePath: /dev/termination-log
|
||||||
terminationMessagePolicy: File
|
terminationMessagePolicy: File
|
||||||
- name: settings-server
|
- name: settings-server
|
||||||
image: beclab/settings-server:v0.2.17
|
image: beclab/settings-server:v0.2.23
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 3000
|
- containerPort: 3000
|
||||||
@@ -425,7 +425,7 @@ spec:
|
|||||||
- name: userspace-dir
|
- name: userspace-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
type: Directory
|
type: Directory
|
||||||
path: {{ .Values.userspace.userData }}
|
path: '{{ .Values.userspace.userData }}'
|
||||||
- name: terminus-sidecar-config
|
- name: terminus-sidecar-config
|
||||||
configMap:
|
configMap:
|
||||||
name: sidecar-configs
|
name: sidecar-configs
|
||||||
@@ -437,7 +437,7 @@ spec:
|
|||||||
- name: wise-download-dir
|
- name: wise-download-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
type: Directory
|
type: Directory
|
||||||
path: {{ .Values.userspace.userData }}
|
path: '{{ .Values.userspace.userData }}'
|
||||||
- name: system-frontend-nginx-config
|
- name: system-frontend-nginx-config
|
||||||
configMap:
|
configMap:
|
||||||
name: system-frontend-nginx-config
|
name: system-frontend-nginx-config
|
||||||
@@ -673,6 +673,16 @@ metadata:
|
|||||||
namespace: user-system-{{ .Values.bfl.username }}
|
namespace: user-system-{{ .Values.bfl.username }}
|
||||||
spec:
|
spec:
|
||||||
callbacks:
|
callbacks:
|
||||||
|
- filters:
|
||||||
|
type:
|
||||||
|
- backup-state-event
|
||||||
|
op: Create
|
||||||
|
uri: /api/event/backup_state_event
|
||||||
|
- filters:
|
||||||
|
type:
|
||||||
|
- restore-state-event
|
||||||
|
op: Create
|
||||||
|
uri: /api/event/restore_state_event
|
||||||
- filters:
|
- filters:
|
||||||
type:
|
type:
|
||||||
- app-installation-event
|
- app-installation-event
|
||||||
@@ -1103,7 +1113,7 @@ data:
|
|||||||
}
|
}
|
||||||
wise.conf: |-
|
wise.conf: |-
|
||||||
upstream KnowledgeServer {
|
upstream KnowledgeServer {
|
||||||
server rss-svc:3010;
|
server rss-svc.os-system:3010;
|
||||||
}
|
}
|
||||||
|
|
||||||
upstream RSSServer {
|
upstream RSSServer {
|
||||||
@@ -1111,7 +1121,7 @@ data:
|
|||||||
}
|
}
|
||||||
|
|
||||||
upstream ArgoworkflowsSever {
|
upstream ArgoworkflowsSever {
|
||||||
server argoworkflows-svc:2746;
|
server argoworkflows-svc.os-system:2746;
|
||||||
}
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
@@ -1139,7 +1149,7 @@ data:
|
|||||||
}
|
}
|
||||||
|
|
||||||
location /ws {
|
location /ws {
|
||||||
proxy_pass http://rss-svc:40010;
|
proxy_pass http://rss-svc.os-system:40010;
|
||||||
proxy_http_version 1.1;
|
proxy_http_version 1.1;
|
||||||
proxy_set_header Upgrade $http_upgrade;
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
proxy_set_header Connection "upgrade";
|
proxy_set_header Connection "upgrade";
|
||||||
@@ -1283,6 +1293,10 @@ data:
|
|||||||
server infisical-service:8080;
|
server infisical-service:8080;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
upstream BackupServer {
|
||||||
|
server backup-server.os-system:8082;
|
||||||
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 86;
|
listen 86;
|
||||||
|
|
||||||
@@ -1340,6 +1354,31 @@ data:
|
|||||||
proxy_set_header X-Forwarded-Host $host;
|
proxy_set_header X-Forwarded-Host $host;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
location /apis/backup {
|
||||||
|
proxy_pass http://backup-server.os-system:8082;
|
||||||
|
add_header Accept "application/json, text/plain, */*";
|
||||||
|
add_header Content-Type "application/json; charset=utf-8";
|
||||||
|
}
|
||||||
|
|
||||||
|
location /api/resources {
|
||||||
|
proxy_pass http://files-service.os-system:80;
|
||||||
|
# rewrite ^/server(.*)$ $1 break;
|
||||||
|
|
||||||
|
# Add original-request-related headers
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Host $host;
|
||||||
|
|
||||||
|
add_header Accept-Ranges bytes;
|
||||||
|
|
||||||
|
client_body_timeout 600s;
|
||||||
|
client_max_body_size 4000M;
|
||||||
|
proxy_request_buffering off;
|
||||||
|
keepalive_timeout 750s;
|
||||||
|
proxy_read_timeout 600s;
|
||||||
|
proxy_send_timeout 600s;
|
||||||
|
}
|
||||||
|
|
||||||
location /drive {
|
location /drive {
|
||||||
proxy_pass http://127.0.0.1:8080;
|
proxy_pass http://127.0.0.1:8080;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
bfl:
|
bfl:
|
||||||
nodeport: 30883
|
nodeport: 30883
|
||||||
nodeport_ingress_http: 30083
|
nodeport_ingress_http: 30083
|
||||||
@@ -18,10 +17,10 @@ docs:
|
|||||||
desktop:
|
desktop:
|
||||||
nodeport: 30180
|
nodeport: 30180
|
||||||
os:
|
os:
|
||||||
portfolio:
|
profile:
|
||||||
appKey: '${ks[0]}'
|
appKey: '${ks[0]}'
|
||||||
appSecret: test
|
appSecret: test
|
||||||
vault:
|
studio:
|
||||||
appKey: '${ks[0]}'
|
appKey: '${ks[0]}'
|
||||||
appSecret: test
|
appSecret: test
|
||||||
desktop:
|
desktop:
|
||||||
@@ -39,5 +38,11 @@ os:
|
|||||||
search2:
|
search2:
|
||||||
appKey: '${ks[0]}'
|
appKey: '${ks[0]}'
|
||||||
appSecret: test
|
appSecret: test
|
||||||
|
settings:
|
||||||
|
appKey: '${ks[0]}'
|
||||||
|
appSecret: test
|
||||||
|
dashboard:
|
||||||
|
appKey: '${ks[0]}'
|
||||||
|
appSecret: test
|
||||||
kubesphere:
|
kubesphere:
|
||||||
redis_password: ""
|
redis_password: ""
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ spec:
|
|||||||
value: os_system_vault
|
value: os_system_vault
|
||||||
containers:
|
containers:
|
||||||
- name: vault-server
|
- name: vault-server
|
||||||
image: beclab/vault-server:v1.3.46
|
image: beclab/vault-server:v1.3.55
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 3000
|
- containerPort: 3000
|
||||||
@@ -114,7 +114,7 @@ spec:
|
|||||||
- name: vault-attach
|
- name: vault-attach
|
||||||
mountPath: /padloc/packages/server/attachments
|
mountPath: /padloc/packages/server/attachments
|
||||||
- name: vault-admin
|
- name: vault-admin
|
||||||
image: beclab/vault-admin:v1.3.46
|
image: beclab/vault-admin:v1.3.55
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 3010
|
- containerPort: 3010
|
||||||
@@ -135,11 +135,11 @@ spec:
|
|||||||
- name: vault-data
|
- name: vault-data
|
||||||
hostPath:
|
hostPath:
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
path: {{ $vault_rootpath }}/data
|
path: '{{ $vault_rootpath }}/data'
|
||||||
- name: vault-attach
|
- name: vault-attach
|
||||||
hostPath:
|
hostPath:
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
path: {{ $vault_rootpath }}/attachments
|
path: '{{ $vault_rootpath }}/attachments'
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
|
|||||||
@@ -88,13 +88,13 @@ spec:
|
|||||||
|
|
||||||
containers:
|
containers:
|
||||||
- name: vault-frontend
|
- name: vault-frontend
|
||||||
image: beclab/vault-frontend:v1.3.46
|
image: beclab/vault-frontend:v1.3.55
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
|
|
||||||
- name: notification-server
|
- name: notification-server
|
||||||
image: beclab/vault-notification:v1.3.46
|
image: beclab/vault-notification:v1.3.55
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 3010
|
- containerPort: 3010
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
bfl:
|
bfl:
|
||||||
nodeport: 30883
|
nodeport: 30883
|
||||||
nodeport_ingress_http: 30083
|
nodeport_ingress_http: 30083
|
||||||
@@ -40,4 +39,4 @@ os:
|
|||||||
appKey: '${ks[0]}'
|
appKey: '${ks[0]}'
|
||||||
appSecret: test
|
appSecret: test
|
||||||
kubesphere:
|
kubesphere:
|
||||||
redis_password: ""
|
redis_password: ""
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ spec:
|
|||||||
|
|
||||||
containers:
|
containers:
|
||||||
- name: wizard
|
- name: wizard
|
||||||
image: beclab/wizard:v0.5.12
|
image: beclab/wizard:v1.3.57
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
@@ -132,7 +132,7 @@ spec:
|
|||||||
- name: userspace-dir
|
- name: userspace-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
type: Directory
|
type: Directory
|
||||||
path: {{ .Values.userspace.userData }}
|
path: "{{ .Values.userspace.userData }}"
|
||||||
# - name: terminus-sidecar-config
|
# - name: terminus-sidecar-config
|
||||||
# configMap:
|
# configMap:
|
||||||
# name: sidecar-configs
|
# name: sidecar-configs
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
bfl:
|
bfl:
|
||||||
username: 'test'
|
username: 'test'
|
||||||
url: 'test'
|
url: 'test'
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ if (-Not (Test-Path $CLI_PROGRAM_PATH)) {
|
|||||||
New-Item -Path $CLI_PROGRAM_PATH -ItemType Directory
|
New-Item -Path $CLI_PROGRAM_PATH -ItemType Directory
|
||||||
}
|
}
|
||||||
|
|
||||||
$CLI_VERSION = "0.2.27"
|
$CLI_VERSION = "0.2.35"
|
||||||
$CLI_FILE = "olares-cli-v{0}_windows_{1}.tar.gz" -f $CLI_VERSION, $arch
|
$CLI_FILE = "olares-cli-v{0}_windows_{1}.tar.gz" -f $CLI_VERSION, $arch
|
||||||
$CLI_URL = "{0}/{1}" -f $downloadUrl, $CLI_FILE
|
$CLI_URL = "{0}/{1}" -f $downloadUrl, $CLI_FILE
|
||||||
$CLI_PATH = "{0}{1}" -f $CLI_PROGRAM_PATH, $CLI_FILE
|
$CLI_PATH = "{0}{1}" -f $CLI_PROGRAM_PATH, $CLI_FILE
|
||||||
@@ -82,6 +82,6 @@ if ($download -eq 1) {
|
|||||||
Start-Sleep -Seconds 3
|
Start-Sleep -Seconds 3
|
||||||
Write-Host ("Preparing to start the installation of Olares {0}. Depending on your network conditions, this process may take several minutes." -f $version)
|
Write-Host ("Preparing to start the installation of Olares {0}. Depending on your network conditions, this process may take several minutes." -f $version)
|
||||||
|
|
||||||
$command = "{0}\olares-cli.exe olares install --version {1}" -f $CLI_PROGRAM_PATH, $version
|
$command = "{0}\olares-cli.exe install --version {1}" -f $CLI_PROGRAM_PATH, $version
|
||||||
Start-Process cmd -ArgumentList '/k',$command -Wait -Verb RunAs
|
Start-Process cmd -ArgumentList '/k',$command -Wait -Verb RunAs
|
||||||
|
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ if [ -z ${cdn_url} ]; then
|
|||||||
cdn_url="https://dc3p1870nn3cj.cloudfront.net"
|
cdn_url="https://dc3p1870nn3cj.cloudfront.net"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CLI_VERSION="0.2.27"
|
CLI_VERSION="0.2.35"
|
||||||
CLI_FILE="olares-cli-v${CLI_VERSION}_linux_${ARCH}.tar.gz"
|
CLI_FILE="olares-cli-v${CLI_VERSION}_linux_${ARCH}.tar.gz"
|
||||||
if [[ x"$os_type" == x"Darwin" ]]; then
|
if [[ x"$os_type" == x"Darwin" ]]; then
|
||||||
CLI_FILE="olares-cli-v${CLI_VERSION}_darwin_${ARCH}.tar.gz"
|
CLI_FILE="olares-cli-v${CLI_VERSION}_darwin_${ARCH}.tar.gz"
|
||||||
@@ -137,7 +137,7 @@ else
|
|||||||
echo ""
|
echo ""
|
||||||
else
|
else
|
||||||
echo "building local release ..."
|
echo "building local release ..."
|
||||||
$sh_c "$INSTALL_OLARES_CLI olares release $PARAMS $CDN"
|
$sh_c "$INSTALL_OLARES_CLI release $PARAMS $CDN"
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "error: failed to build local release"
|
echo "error: failed to build local release"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -146,13 +146,13 @@ else
|
|||||||
else
|
else
|
||||||
echo "running system prechecks ..."
|
echo "running system prechecks ..."
|
||||||
echo ""
|
echo ""
|
||||||
$sh_c "$INSTALL_OLARES_CLI olares precheck $PARAMS"
|
$sh_c "$INSTALL_OLARES_CLI precheck $PARAMS"
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "downloading installation wizard..."
|
echo "downloading installation wizard..."
|
||||||
echo ""
|
echo ""
|
||||||
$sh_c "$INSTALL_OLARES_CLI olares download wizard $PARAMS $KUBE_PARAM $CDN"
|
$sh_c "$INSTALL_OLARES_CLI download wizard $PARAMS $KUBE_PARAM $CDN"
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "error: failed to download installation wizard"
|
echo "error: failed to download installation wizard"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -161,7 +161,7 @@ else
|
|||||||
|
|
||||||
echo "downloading installation packages..."
|
echo "downloading installation packages..."
|
||||||
echo ""
|
echo ""
|
||||||
$sh_c "$INSTALL_OLARES_CLI olares download component $PARAMS $KUBE_PARAM $CDN"
|
$sh_c "$INSTALL_OLARES_CLI download component $PARAMS $KUBE_PARAM $CDN"
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "error: failed to download installation packages"
|
echo "error: failed to download installation packages"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -173,7 +173,7 @@ else
|
|||||||
if [ x"$REGISTRY_MIRRORS" != x"" ]; then
|
if [ x"$REGISTRY_MIRRORS" != x"" ]; then
|
||||||
extra="--registry-mirrors $REGISTRY_MIRRORS"
|
extra="--registry-mirrors $REGISTRY_MIRRORS"
|
||||||
fi
|
fi
|
||||||
$sh_c "$INSTALL_OLARES_CLI olares prepare $PARAMS $KUBE_PARAM $extra"
|
$sh_c "$INSTALL_OLARES_CLI prepare $PARAMS $KUBE_PARAM $extra"
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "error: failed to prepare installation environment"
|
echo "error: failed to prepare installation environment"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -198,7 +198,7 @@ if [[ "$JUICEFS" == "1" ]]; then
|
|||||||
else
|
else
|
||||||
echo "checking storage config ..."
|
echo "checking storage config ..."
|
||||||
fi
|
fi
|
||||||
$sh_c "$INSTALL_OLARES_CLI olares install storage $PARAMS"
|
$sh_c "$INSTALL_OLARES_CLI install storage $PARAMS"
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -221,7 +221,7 @@ if [[ -n "$ZRAM_SWAP_PRIORITY" ]]; then
|
|||||||
fi
|
fi
|
||||||
echo "installing Olares..."
|
echo "installing Olares..."
|
||||||
echo ""
|
echo ""
|
||||||
$sh_c "$INSTALL_OLARES_CLI olares install $PARAMS $KUBE_PARAM $fsflag $swapflag"
|
$sh_c "$INSTALL_OLARES_CLI install $PARAMS $KUBE_PARAM $fsflag $swapflag"
|
||||||
|
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "error: failed to install Olares"
|
echo "error: failed to install Olares"
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ fi
|
|||||||
|
|
||||||
set_master_host_ssh_options
|
set_master_host_ssh_options
|
||||||
|
|
||||||
CLI_VERSION="0.2.27"
|
CLI_VERSION="0.2.35"
|
||||||
CLI_FILE="olares-cli-v${CLI_VERSION}_linux_${ARCH}.tar.gz"
|
CLI_FILE="olares-cli-v${CLI_VERSION}_linux_${ARCH}.tar.gz"
|
||||||
|
|
||||||
if command_exists olares-cli && [[ "$(olares-cli -v | awk '{print $3}')" == "$CLI_VERSION" ]]; then
|
if command_exists olares-cli && [[ "$(olares-cli -v | awk '{print $3}')" == "$CLI_VERSION" ]]; then
|
||||||
@@ -211,14 +211,14 @@ if [[ -f $BASE_DIR/.prepared ]]; then
|
|||||||
else
|
else
|
||||||
echo "running system prechecks ..."
|
echo "running system prechecks ..."
|
||||||
echo ""
|
echo ""
|
||||||
$sh_c "$INSTALL_OLARES_CLI olares precheck $PARAMS"
|
$sh_c "$INSTALL_OLARES_CLI precheck $PARAMS"
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "downloading installation wizard..."
|
echo "downloading installation wizard..."
|
||||||
echo ""
|
echo ""
|
||||||
$sh_c "$INSTALL_OLARES_CLI olares download wizard $PARAMS $CDN"
|
$sh_c "$INSTALL_OLARES_CLI download wizard $PARAMS $CDN"
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "error: failed to download installation wizard"
|
echo "error: failed to download installation wizard"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -226,7 +226,7 @@ else
|
|||||||
|
|
||||||
echo "downloading installation packages..."
|
echo "downloading installation packages..."
|
||||||
echo ""
|
echo ""
|
||||||
$sh_c "$INSTALL_OLARES_CLI olares download component $PARAMS $CDN"
|
$sh_c "$INSTALL_OLARES_CLI download component $PARAMS $CDN"
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "error: failed to download installation packages"
|
echo "error: failed to download installation packages"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -238,7 +238,7 @@ else
|
|||||||
if [ x"$REGISTRY_MIRRORS" != x"" ]; then
|
if [ x"$REGISTRY_MIRRORS" != x"" ]; then
|
||||||
extra="--registry-mirrors $REGISTRY_MIRRORS"
|
extra="--registry-mirrors $REGISTRY_MIRRORS"
|
||||||
fi
|
fi
|
||||||
$sh_c "$INSTALL_OLARES_CLI olares prepare $PARAMS $extra"
|
$sh_c "$INSTALL_OLARES_CLI prepare $PARAMS $extra"
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "error: failed to prepare installation environment"
|
echo "error: failed to prepare installation environment"
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
upgrade:
|
upgrade:
|
||||||
minVersion: 1.12.0-0000000
|
minVersion: 1.12.0-1
|
||||||
|
|||||||
@@ -20,5 +20,7 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
email: "{{.Values.user.email}}"
|
email: "{{.Values.user.email}}"
|
||||||
initialPassword: "{{ .Values.user.password }}"
|
initialPassword: "{{ .Values.user.password }}"
|
||||||
|
groups:
|
||||||
|
- lldap_admin
|
||||||
status:
|
status:
|
||||||
state: Active
|
state: Active
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
kubesphere:
|
kubesphere:
|
||||||
redis_password: ""
|
redis_password: ""
|
||||||
backup:
|
backup:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
olaresd-v1.12.0-rc.0.tar.gz,pkg/components,https://dc3p1870nn3cj.cloudfront.net/olaresd-v1.12.0-rc.0-linux-amd64.tar.gz,https://dc3p1870nn3cj.cloudfront.net/olaresd-v1.12.0-rc.0-linux-arm64.tar.gz,olaresd
|
olaresd-v1.12.0-rc.10.tar.gz,pkg/components,https://dc3p1870nn3cj.cloudfront.net/olaresd-v1.12.0-rc.10-linux-amd64.tar.gz,https://dc3p1870nn3cj.cloudfront.net/olaresd-v1.12.0-rc.10-linux-arm64.tar.gz,olaresd
|
||||||
socat-1.7.3.2.tar.gz,pkg/components,https://src.fedoraproject.org/lookaside/pkgs/socat/socat-1.7.3.2.tar.gz/sha512/540658b2a3d1b87673196282e5c62b97681bd0f1d1e4759ff9d72909d11060235ee9e9521a973603c1b00376436a9444248e5fbc0ffac65f8edb9c9bc28e7972/socat-1.7.3.2.tar.gz,https://src.fedoraproject.org/lookaside/pkgs/socat/socat-1.7.3.2.tar.gz/sha512/540658b2a3d1b87673196282e5c62b97681bd0f1d1e4759ff9d72909d11060235ee9e9521a973603c1b00376436a9444248e5fbc0ffac65f8edb9c9bc28e7972/socat-1.7.3.2.tar.gz,socat
|
socat-1.7.3.2.tar.gz,pkg/components,https://src.fedoraproject.org/lookaside/pkgs/socat/socat-1.7.3.2.tar.gz/sha512/540658b2a3d1b87673196282e5c62b97681bd0f1d1e4759ff9d72909d11060235ee9e9521a973603c1b00376436a9444248e5fbc0ffac65f8edb9c9bc28e7972/socat-1.7.3.2.tar.gz,https://src.fedoraproject.org/lookaside/pkgs/socat/socat-1.7.3.2.tar.gz/sha512/540658b2a3d1b87673196282e5c62b97681bd0f1d1e4759ff9d72909d11060235ee9e9521a973603c1b00376436a9444248e5fbc0ffac65f8edb9c9bc28e7972/socat-1.7.3.2.tar.gz,socat
|
||||||
conntrack-tools-1.4.1.tar.gz,pkg/components,https://github.com/fqrouter/conntrack-tools/archive/refs/tags/conntrack-tools-1.4.1.tar.gz,https://github.com/fqrouter/conntrack-tools/archive/refs/tags/conntrack-tools-1.4.1.tar.gz,conntrack-tools
|
conntrack-tools-1.4.1.tar.gz,pkg/components,https://github.com/fqrouter/conntrack-tools/archive/refs/tags/conntrack-tools-1.4.1.tar.gz,https://github.com/fqrouter/conntrack-tools/archive/refs/tags/conntrack-tools-1.4.1.tar.gz,conntrack-tools
|
||||||
minio.RELEASE.2023-05-04T21-44-30Z,pkg/components,https://dl.min.io/server/minio/release/linux-amd64/archive/minio.RELEASE.2023-05-04T21-44-30Z,https://dl.min.io/server/minio/release/linux-arm64/archive/minio.RELEASE.2023-05-04T21-44-30Z,minio
|
minio.RELEASE.2023-05-04T21-44-30Z,pkg/components,https://dl.min.io/server/minio/release/linux-amd64/archive/minio.RELEASE.2023-05-04T21-44-30Z,https://dl.min.io/server/minio/release/linux-arm64/archive/minio.RELEASE.2023-05-04T21-44-30Z,minio
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
beclab/ks-apiserver:0.0.8
|
beclab/ks-apiserver:0.0.11
|
||||||
beclab/ks-controller-manager:0.0.8
|
beclab/ks-controller-manager:0.0.11
|
||||||
beclab/kube-state-metrics:v2.3.0-ext.1
|
beclab/kube-state-metrics:v2.3.0-ext.1
|
||||||
calico/cni:v3.29.2
|
calico/cni:v3.29.2
|
||||||
calico/kube-controllers:v3.29.2
|
calico/kube-controllers:v3.29.2
|
||||||
@@ -18,7 +18,7 @@ kubesphere/prometheus-operator:v0.55.1
|
|||||||
openebs/linux-utils:3.3.0
|
openebs/linux-utils:3.3.0
|
||||||
openebs/provisioner-localpv:3.3.0
|
openebs/provisioner-localpv:3.3.0
|
||||||
beclab/percona-server-mongodb-operator:1.15.2
|
beclab/percona-server-mongodb-operator:1.15.2
|
||||||
prom/node-exporter:v1.3.1
|
beclab/node-exporter:0.0.1
|
||||||
prom/prometheus:v2.34.0
|
prom/prometheus:v2.34.0
|
||||||
quay.io/argoproj/argocli:v3.5.0
|
quay.io/argoproj/argocli:v3.5.0
|
||||||
quay.io/argoproj/argoexec:v3.5.0
|
quay.io/argoproj/argoexec:v3.5.0
|
||||||
@@ -36,9 +36,12 @@ beclab/reverse-proxy:v0.1.8
|
|||||||
beclab/upgrade-job:0.1.7
|
beclab/upgrade-job:0.1.7
|
||||||
bytetrade/envoy:v1.25.11.1
|
bytetrade/envoy:v1.25.11.1
|
||||||
liangjw/kube-webhook-certgen:v1.1.1
|
liangjw/kube-webhook-certgen:v1.1.1
|
||||||
beclab/hami:v2.5.1
|
beclab/hami:v2.5.2
|
||||||
alpine:3.14
|
alpine:3.14
|
||||||
mirrorgooglecontainers/defaultbackend-amd64:1.4
|
mirrorgooglecontainers/defaultbackend-amd64:1.4
|
||||||
projecthami/hami-webui-fe-oss:v1.0.5
|
projecthami/hami-webui-fe-oss:v1.0.5
|
||||||
projecthami/hami-webui-be-oss:v1.0.5
|
projecthami/hami-webui-be-oss:v1.0.5
|
||||||
nvidia/dcgm-exporter:4.1.1-4.0.4-ubuntu22.04
|
nvidia/dcgm-exporter:4.1.1-4.0.4-ubuntu22.04
|
||||||
|
ghcr.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.20.0
|
||||||
|
bytetrade/autoinstrumentation-apache-httpd:1.0.4-fix1
|
||||||
|
ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-nodejs:0.40.0
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
cni-plugins-v1.6.2.tgz,pkg/cni/v1.6.2,https://github.com/containernetworking/plugins/releases/download/v1.6.2/cni-plugins-linux-amd64-v1.6.2.tgz,https://github.com/containernetworking/plugins/releases/download/v1.6.2/cni-plugins-linux-arm-v1.6.2.tgz,cni-plugins
|
cni-plugins-v1.6.2.tgz,pkg/cni/v1.6.2,https://github.com/containernetworking/plugins/releases/download/v1.6.2/cni-plugins-linux-amd64-v1.6.2.tgz,https://github.com/containernetworking/plugins/releases/download/v1.6.2/cni-plugins-linux-arm-v1.6.2.tgz,cni-plugins
|
||||||
containerd-1.6.4.tar.gz,pkg/containerd/1.6.4,https://github.com/containerd/containerd/releases/download/v1.6.4/containerd-1.6.4-linux-amd64.tar.gz,https://github.com/containerd/containerd/releases/download/v1.6.4/containerd-1.6.4-linux-arm64.tar.gz,containerd
|
containerd-1.6.36.tar.gz,pkg/containerd/1.6.36,https://github.com/containerd/containerd/releases/download/v1.6.36/containerd-1.6.36-linux-amd64.tar.gz,https://github.com/containerd/containerd/releases/download/v1.6.36/containerd-1.6.36-linux-arm64.tar.gz,containerd
|
||||||
crictl-v1.32.0.tar.gz,pkg/crictl/v1.32.0,https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.32.0/crictl-v1.32.0-linux-amd64.tar.gz,https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.32.0/crictl-v1.32.0-linux-arm64.tar.gz,crictl
|
crictl-v1.32.0.tar.gz,pkg/crictl/v1.32.0,https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.32.0/crictl-v1.32.0-linux-amd64.tar.gz,https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.32.0/crictl-v1.32.0-linux-arm64.tar.gz,crictl
|
||||||
etcd-v3.5.18.tar.gz,pkg/etcd/v3.5.18,https://github.com/coreos/etcd/releases/download/v3.5.18/etcd-v3.5.18-linux-amd64.tar.gz,https://github.com/coreos/etcd/releases/download/v3.5.18/etcd-v3.5.18-linux-arm64.tar.gz,etcd
|
etcd-v3.5.18.tar.gz,pkg/etcd/v3.5.18,https://github.com/coreos/etcd/releases/download/v3.5.18/etcd-v3.5.18-linux-amd64.tar.gz,https://github.com/coreos/etcd/releases/download/v3.5.18/etcd-v3.5.18-linux-arm64.tar.gz,etcd
|
||||||
helm-v3.9.0.tar.gz,pkg/helm/v3.9.0,https://get.helm.sh/helm-v3.17.1-linux-amd64.tar.gz,https://get.helm.sh/helm-v3.17.1-linux-arm.tar.gz,helm
|
helm-v3.9.0.tar.gz,pkg/helm/v3.9.0,https://get.helm.sh/helm-v3.17.1-linux-amd64.tar.gz,https://get.helm.sh/helm-v3.17.1-linux-arm.tar.gz,helm
|
||||||
|
|||||||
@@ -13,4 +13,3 @@ maintainers:
|
|||||||
- name: zhangxiao
|
- name: zhangxiao
|
||||||
email: xiaozhang0210@hotmail.com
|
email: xiaozhang0210@hotmail.com
|
||||||
appVersion: "2.5.0"
|
appVersion: "2.5.0"
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ spec:
|
|||||||
volumes:
|
volumes:
|
||||||
- name: "pod-gpu-resources"
|
- name: "pod-gpu-resources"
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.dcgmExporter.kubeletPath }}
|
path: '{{ .Values.dcgmExporter.kubeletPath }}'
|
||||||
{{- if and .Values.dcgmExporter.tlsServerConfig.enabled }}
|
{{- if and .Values.dcgmExporter.tlsServerConfig.enabled }}
|
||||||
- name: "tls"
|
- name: "tls"
|
||||||
secret:
|
secret:
|
||||||
|
|||||||
@@ -112,12 +112,12 @@ spec:
|
|||||||
- name: NVIDIA_MIG_MONITOR_DEVICES
|
- name: NVIDIA_MIG_MONITOR_DEVICES
|
||||||
value: all
|
value: all
|
||||||
- name: HOOK_PATH
|
- name: HOOK_PATH
|
||||||
value: {{ .Values.global.gpuHookPath }}/vgpu
|
value: '{{ .Values.global.gpuHookPath }}/vgpu'
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.devicePlugin.vgpuMonitor.resources | nindent 12 }}
|
{{- toYaml .Values.devicePlugin.vgpuMonitor.resources | nindent 12 }}
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: ctrs
|
- name: ctrs
|
||||||
mountPath: {{ .Values.devicePlugin.monitorctrPath }}
|
mountPath: '{{ .Values.devicePlugin.monitorctrPath }}'
|
||||||
- name: dockers
|
- name: dockers
|
||||||
mountPath: /run/docker
|
mountPath: /run/docker
|
||||||
- name: containerds
|
- name: containerds
|
||||||
@@ -131,7 +131,7 @@ spec:
|
|||||||
volumes:
|
volumes:
|
||||||
- name: ctrs
|
- name: ctrs
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.devicePlugin.monitorctrPath }}
|
path: '{{ .Values.devicePlugin.monitorctrPath }}'
|
||||||
- name: hosttmp
|
- name: hosttmp
|
||||||
hostPath:
|
hostPath:
|
||||||
path: /tmp
|
path: /tmp
|
||||||
@@ -143,10 +143,10 @@ spec:
|
|||||||
path: /run/containerd
|
path: /run/containerd
|
||||||
- name: device-plugin
|
- name: device-plugin
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.devicePlugin.pluginPath }}
|
path: '{{ .Values.devicePlugin.pluginPath }}'
|
||||||
- name: lib
|
- name: lib
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.devicePlugin.libPath }}
|
path: '{{ .Values.devicePlugin.libPath }}'
|
||||||
- name: usrbin
|
- name: usrbin
|
||||||
hostPath:
|
hostPath:
|
||||||
path: /usr/bin
|
path: /usr/bin
|
||||||
|
|||||||
@@ -2,32 +2,32 @@
|
|||||||
|
|
||||||
nameOverride: ""
|
nameOverride: ""
|
||||||
fullnameOverride: ""
|
fullnameOverride: ""
|
||||||
imagePullSecrets: [ ]
|
imagePullSecrets: []
|
||||||
version: "v2.5.1"
|
version: "v2.5.2"
|
||||||
|
|
||||||
#Nvidia GPU Parameters
|
# Nvidia GPU Parameters
|
||||||
resourceName: "nvidia.com/gpu"
|
resourceName: "nvidia.com/gpu"
|
||||||
resourceMem: "nvidia.com/gpumem"
|
resourceMem: "nvidia.com/gpumem"
|
||||||
resourceMemPercentage: "nvidia.com/gpumem-percentage"
|
resourceMemPercentage: "nvidia.com/gpumem-percentage"
|
||||||
resourceCores: "nvidia.com/gpucores"
|
resourceCores: "nvidia.com/gpucores"
|
||||||
resourcePriority: "nvidia.com/priority"
|
resourcePriority: "nvidia.com/priority"
|
||||||
|
|
||||||
#MLU Parameters
|
# MLU Parameters
|
||||||
mluResourceName: "cambricon.com/vmlu"
|
mluResourceName: "cambricon.com/vmlu"
|
||||||
mluResourceMem: "cambricon.com/mlu.smlu.vmemory"
|
mluResourceMem: "cambricon.com/mlu.smlu.vmemory"
|
||||||
mluResourceCores: "cambricon.com/mlu.smlu.vcore"
|
mluResourceCores: "cambricon.com/mlu.smlu.vcore"
|
||||||
|
|
||||||
#Hygon DCU Parameters
|
# Hygon DCU Parameters
|
||||||
dcuResourceName: "hygon.com/dcunum"
|
dcuResourceName: "hygon.com/dcunum"
|
||||||
dcuResourceMem: "hygon.com/dcumem"
|
dcuResourceMem: "hygon.com/dcumem"
|
||||||
dcuResourceCores: "hygon.com/dcucores"
|
dcuResourceCores: "hygon.com/dcucores"
|
||||||
|
|
||||||
#Iluvatar GPU Parameters
|
# Iluvatar GPU Parameters
|
||||||
iluvatarResourceName: "iluvatar.ai/vgpu"
|
iluvatarResourceName: "iluvatar.ai/vgpu"
|
||||||
iluvatarResourceMem: "iluvatar.ai/vcuda-memory"
|
iluvatarResourceMem: "iluvatar.ai/vcuda-memory"
|
||||||
iluvatarResourceCore: "iluvatar.ai/vcuda-core"
|
iluvatarResourceCore: "iluvatar.ai/vcuda-core"
|
||||||
|
|
||||||
#Metax SGPU Parameters
|
# Metax SGPU Parameters
|
||||||
metaxResourceName: "metax-tech.com/sgpu"
|
metaxResourceName: "metax-tech.com/sgpu"
|
||||||
metaxResourceCore: "metax-tech.com/vcore"
|
metaxResourceCore: "metax-tech.com/vcore"
|
||||||
metaxResourceMem: "metax-tech.com/vmemory"
|
metaxResourceMem: "metax-tech.com/vmemory"
|
||||||
@@ -51,7 +51,7 @@ scheduler:
|
|||||||
# if we install the nvidia-vgpu-scheduler-scheduler as default scheduler, we need to remove the k8s default
|
# if we install the nvidia-vgpu-scheduler-scheduler as default scheduler, we need to remove the k8s default
|
||||||
# scheduler pod from the cluster first, we must specify node name to skip the schedule workflow.
|
# scheduler pod from the cluster first, we must specify node name to skip the schedule workflow.
|
||||||
nodeName: ""
|
nodeName: ""
|
||||||
#nodeLabelSelector:
|
# nodeLabelSelector:
|
||||||
# "gpu": "on"
|
# "gpu": "on"
|
||||||
overwriteEnv: "false"
|
overwriteEnv: "false"
|
||||||
defaultSchedulerPolicy:
|
defaultSchedulerPolicy:
|
||||||
@@ -100,13 +100,13 @@ scheduler:
|
|||||||
- -v=4
|
- -v=4
|
||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
tolerations: []
|
tolerations: []
|
||||||
#serviceAccountName: "hami-vgpu-scheduler-sa"
|
# serviceAccountName: "hami-vgpu-scheduler-sa"
|
||||||
admissionWebhook:
|
admissionWebhook:
|
||||||
customURL:
|
customURL:
|
||||||
enabled: false
|
enabled: false
|
||||||
# must be an endpoint using https.
|
# must be an endpoint using https.
|
||||||
# should generate host certs here
|
# should generate host certs here
|
||||||
host: 127.0.0.1 # hostname or ip, can be your node'IP if you want to use https://<nodeIP>:<schedulerPort>/<path>
|
host: 127.0.0.1 # hostname or ip, can be your node'IP if you want to use https://<nodeIP>:<schedulerPort>/<path>
|
||||||
port: 31998
|
port: 31998
|
||||||
path: /webhook
|
path: /webhook
|
||||||
whitelistNamespaces:
|
whitelistNamespaces:
|
||||||
@@ -147,16 +147,13 @@ devicePlugin:
|
|||||||
passDeviceSpecsEnabled: false
|
passDeviceSpecsEnabled: false
|
||||||
extraArgs:
|
extraArgs:
|
||||||
- -v=4
|
- -v=4
|
||||||
|
|
||||||
service:
|
service:
|
||||||
type: ClusterIP # Default type is NodePort, can be changed to ClusterIP
|
type: ClusterIP # Default type is NodePort, can be changed to ClusterIP
|
||||||
httpPort: 31992
|
httpPort: 31992
|
||||||
labels: {}
|
labels: {}
|
||||||
annotations: {}
|
annotations: {}
|
||||||
|
|
||||||
pluginPath: /var/lib/kubelet/device-plugins
|
pluginPath: /var/lib/kubelet/device-plugins
|
||||||
libPath: /usr/local/vgpu
|
libPath: /usr/local/vgpu
|
||||||
|
|
||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
nvidianodeSelector:
|
nvidianodeSelector:
|
||||||
gpu.bytetrade.io/cuda-supported: 'true'
|
gpu.bytetrade.io/cuda-supported: 'true'
|
||||||
@@ -315,7 +312,7 @@ dcgmExporter:
|
|||||||
interval: 15s
|
interval: 15s
|
||||||
honorLabels: false
|
honorLabels: false
|
||||||
additionalLabels: {}
|
additionalLabels: {}
|
||||||
#monitoring: prometheus
|
# monitoring: prometheus
|
||||||
relabelings: []
|
relabelings: []
|
||||||
# - sourceLabels: [__meta_kubernetes_pod_node_name]
|
# - sourceLabels: [__meta_kubernetes_pod_node_name]
|
||||||
# separator: ;
|
# separator: ;
|
||||||
@@ -325,13 +322,13 @@ dcgmExporter:
|
|||||||
# action: replace
|
# action: replace
|
||||||
|
|
||||||
nodeSelector: {}
|
nodeSelector: {}
|
||||||
#node: gpu
|
# node: gpu
|
||||||
|
|
||||||
tolerations: []
|
tolerations: []
|
||||||
#- operator: Exists
|
# - operator: Exists
|
||||||
|
|
||||||
affinity: {}
|
affinity: {}
|
||||||
#nodeAffinity:
|
# nodeAffinity:
|
||||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
# nodeSelectorTerms:
|
# nodeSelectorTerms:
|
||||||
# - matchExpressions:
|
# - matchExpressions:
|
||||||
@@ -339,7 +336,7 @@ dcgmExporter:
|
|||||||
# operator: Exists
|
# operator: Exists
|
||||||
|
|
||||||
extraHostVolumes: []
|
extraHostVolumes: []
|
||||||
#- name: host-binaries
|
# - name: host-binaries
|
||||||
# hostPath: /opt/bin
|
# hostPath: /opt/bin
|
||||||
|
|
||||||
extraConfigMapVolumes:
|
extraConfigMapVolumes:
|
||||||
@@ -356,7 +353,7 @@ dcgmExporter:
|
|||||||
subPath: default-counters.csv
|
subPath: default-counters.csv
|
||||||
|
|
||||||
extraEnv: []
|
extraEnv: []
|
||||||
#- name: EXTRA_VAR
|
# - name: EXTRA_VAR
|
||||||
# value: "TheStringValue"
|
# value: "TheStringValue"
|
||||||
|
|
||||||
# Path to the kubelet socket for /pod-resources
|
# Path to the kubelet socket for /pod-resources
|
||||||
@@ -391,7 +388,7 @@ dcgmExporter:
|
|||||||
ca: ""
|
ca: ""
|
||||||
|
|
||||||
basicAuth:
|
basicAuth:
|
||||||
#Object containing <user>:<passwords> key-value pairs for each user that will have access via basic authentication
|
# Object containing <user>:<passwords> key-value pairs for each user that will have access via basic authentication
|
||||||
users: {}
|
users: {}
|
||||||
|
|
||||||
# Customized list of metrics to emit. Expected to be in the same format (CSV) as the default list.
|
# Customized list of metrics to emit. Expected to be in the same format (CSV) as the default list.
|
||||||
@@ -527,4 +524,4 @@ webui:
|
|||||||
|
|
||||||
externalPrometheus:
|
externalPrometheus:
|
||||||
address: "http://prometheus-k8s.kubesphere-monitoring-system:9090"
|
address: "http://prometheus-k8s.kubesphere-monitoring-system:9090"
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|||||||
@@ -1,15 +1,9 @@
|
|||||||
|
|
||||||
|
|
||||||
{{ $charts_rootpath := printf "%s%s" .Values.rootPath "/rootfs/charts" }}
|
{{ $charts_rootpath := printf "%s%s" .Values.rootPath "/rootfs/charts" }}
|
||||||
{{ $usertmpl_rootpath := printf "%s%s" .Values.rootPath "/rootfs/usertemplate" }}
|
{{ $usertmpl_rootpath := printf "%s%s" .Values.rootPath "/rootfs/usertemplate" }}
|
||||||
|
|
||||||
# {{ $charts_rand16 := randAlphaNum 16 | lower }}
|
|
||||||
{{ $charts_pv := "pv-charts" }}
|
{{ $charts_pv := "pv-charts" }}
|
||||||
{{ $charts_pvc := "pvc-charts" }}
|
{{ $charts_pvc := "pvc-charts" }}
|
||||||
{{ $charts_sc := "juicefs-localpath-charts" }}
|
{{ $charts_sc := "juicefs-localpath-charts" }}
|
||||||
{{ $charts_storage := "100Mi" }}
|
{{ $charts_storage := "100Mi" }}
|
||||||
|
|
||||||
# {{ $usertmpl_rand16 := randAlphaNum 16 | lower }}
|
|
||||||
{{ $usertmpl_pv := "pv-usertmpl" }}
|
{{ $usertmpl_pv := "pv-usertmpl" }}
|
||||||
{{ $usertmpl_pvc := "pvc-usertmpl" }}
|
{{ $usertmpl_pvc := "pvc-usertmpl" }}
|
||||||
{{ $usertmpl_sc := "juicefs-localpath-usertmpl" }}
|
{{ $usertmpl_sc := "juicefs-localpath-usertmpl" }}
|
||||||
@@ -27,7 +21,7 @@ spec:
|
|||||||
capacity:
|
capacity:
|
||||||
storage: 100Mi
|
storage: 100Mi
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ $charts_rootpath }}/{{ default $charts_pvc .Values.charts_pvc }}
|
path: '{{ $charts_rootpath }}/{{ default $charts_pvc .Values.charts_pvc }}'
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
persistentVolumeReclaimPolicy: Delete
|
persistentVolumeReclaimPolicy: Delete
|
||||||
volumeMode: Filesystem
|
volumeMode: Filesystem
|
||||||
@@ -62,7 +56,7 @@ spec:
|
|||||||
capacity:
|
capacity:
|
||||||
storage: 100Mi
|
storage: 100Mi
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ $usertmpl_rootpath }}/{{ default $usertmpl_pvc .Values.usertmpl_pvc }}
|
path: '{{ $usertmpl_rootpath }}/{{ default $usertmpl_pvc .Values.usertmpl_pvc }}'
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
persistentVolumeReclaimPolicy: Delete
|
persistentVolumeReclaimPolicy: Delete
|
||||||
volumeMode: Filesystem
|
volumeMode: Filesystem
|
||||||
@@ -111,8 +105,8 @@ data:
|
|||||||
|
|
||||||
[bytetrade]
|
[bytetrade]
|
||||||
DNS.1 = app-service.os-system.svc
|
DNS.1 = app-service.os-system.svc
|
||||||
---
|
|
||||||
|
|
||||||
|
---
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
metadata:
|
metadata:
|
||||||
@@ -126,13 +120,13 @@ metadata:
|
|||||||
charts_pv: {{ default $charts_pv .Values.charts_pv }}
|
charts_pv: {{ default $charts_pv .Values.charts_pv }}
|
||||||
charts_pvc: {{ default $charts_pvc .Values.charts_pvc }}
|
charts_pvc: {{ default $charts_pvc .Values.charts_pvc }}
|
||||||
charts_sc: {{ default $charts_sc .Values.charts_sc }}
|
charts_sc: {{ default $charts_sc .Values.charts_sc }}
|
||||||
charts_hostpath: {{ $charts_rootpath }}/{{ default $charts_pvc .Values.charts_pvc }}
|
charts_hostpath: '{{ $charts_rootpath }}/{{ default $charts_pvc .Values.charts_pvc }}'
|
||||||
|
|
||||||
usertmpl_storage: {{ $usertmpl_storage }}
|
usertmpl_storage: {{ $usertmpl_storage }}
|
||||||
usertmpl_pv: {{ default $usertmpl_pv .Values.usertmpl_pv }}
|
usertmpl_pv: {{ default $usertmpl_pv .Values.usertmpl_pv }}
|
||||||
usertmpl_pvc: {{ default $usertmpl_pvc .Values.usertmpl_pvc }}
|
usertmpl_pvc: {{ default $usertmpl_pvc .Values.usertmpl_pvc }}
|
||||||
usertmpl_sc: {{ default $usertmpl_sc .Values.usertmpl_sc }}
|
usertmpl_sc: {{ default $usertmpl_sc .Values.usertmpl_sc }}
|
||||||
usertmpl_hostpath: {{ $usertmpl_rootpath }}/{{ default $usertmpl_pvc .Values.usertmpl_pvc }}
|
usertmpl_hostpath: '{{ $usertmpl_rootpath }}/{{ default $usertmpl_pvc .Values.usertmpl_pvc }}'
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
@@ -149,7 +143,7 @@ spec:
|
|||||||
priorityClassName: "system-cluster-critical"
|
priorityClassName: "system-cluster-critical"
|
||||||
containers:
|
containers:
|
||||||
- name: app-service
|
- name: app-service
|
||||||
image: beclab/app-service:0.3.23
|
image: beclab/app-service:0.3.29
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsUser: 0
|
runAsUser: 0
|
||||||
@@ -229,7 +223,7 @@ spec:
|
|||||||
volumes:
|
volumes:
|
||||||
- name: app-cache
|
- name: app-cache
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.rootPath }}/userdata/Cache
|
path: '{{ .Values.rootPath }}/userdata/Cache'
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
- name: configtoml
|
- name: configtoml
|
||||||
hostPath:
|
hostPath:
|
||||||
@@ -367,7 +361,7 @@ spec:
|
|||||||
hostNetwork: true
|
hostNetwork: true
|
||||||
containers:
|
containers:
|
||||||
- name: image-service
|
- name: image-service
|
||||||
image: beclab/image-service:0.3.21
|
image: beclab/image-service:0.3.28
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsUser: 0
|
runAsUser: 0
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ spec:
|
|||||||
versions:
|
versions:
|
||||||
- additionalPrinterColumns:
|
- additionalPrinterColumns:
|
||||||
- jsonPath: .spec.name
|
- jsonPath: .spec.name
|
||||||
name: name
|
name: backup name
|
||||||
type: string
|
type: string
|
||||||
- jsonPath: .spec.owner
|
- jsonPath: .spec.owner
|
||||||
name: owner
|
name: owner
|
||||||
@@ -66,17 +66,23 @@ spec:
|
|||||||
type: string
|
type: string
|
||||||
timesOfDay:
|
timesOfDay:
|
||||||
type: string
|
type: string
|
||||||
|
timespanOfDay:
|
||||||
|
type: string
|
||||||
required:
|
required:
|
||||||
- dateOfMonth
|
- dateOfMonth
|
||||||
- dayOfWeek
|
- dayOfWeek
|
||||||
- enabled
|
- enabled
|
||||||
- snapshotFrequency
|
- snapshotFrequency
|
||||||
- timesOfDay
|
- timesOfDay
|
||||||
|
- timespanOfDay
|
||||||
type: object
|
type: object
|
||||||
backupType:
|
backupType:
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
|
createAt:
|
||||||
|
format: date-time
|
||||||
|
type: string
|
||||||
deleted:
|
deleted:
|
||||||
type: boolean
|
type: boolean
|
||||||
extra:
|
extra:
|
||||||
@@ -98,6 +104,7 @@ spec:
|
|||||||
type: integer
|
type: integer
|
||||||
required:
|
required:
|
||||||
- backupType
|
- backupType
|
||||||
|
- createAt
|
||||||
- deleted
|
- deleted
|
||||||
- location
|
- location
|
||||||
- name
|
- name
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
|
|
||||||
{{ $backupVersion := "0.3.13" }}
|
{{ $backupVersion := "0.3.29" }}
|
||||||
{{ $backup_server_rootpath := printf "%s%s" .Values.rootPath "/rootfs/backup-server" }}
|
{{ $backup_server_rootpath := printf "%s%s" .Values.rootPath "/rootfs/backup-server" }}
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -31,15 +31,22 @@ spec:
|
|||||||
- name: dbdata
|
- name: dbdata
|
||||||
hostPath:
|
hostPath:
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
path: {{ $backup_server_rootpath }}/data
|
path: '{{ $backup_server_rootpath }}/data'
|
||||||
- name: rootfs
|
- name: rootfs
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.rootPath }}/rootfs
|
path: '{{ .Values.rootPath }}/rootfs'
|
||||||
|
- name: shares
|
||||||
|
hostPath:
|
||||||
|
path: '{{ .Values.rootPath }}/share'
|
||||||
serviceAccountName: os-internal
|
serviceAccountName: os-internal
|
||||||
containers:
|
containers:
|
||||||
- name: api
|
- name: api
|
||||||
image: beclab/backup-server:v{{ $backupVersion }}
|
image: beclab/backup-server:v{{ $backupVersion }}
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: true
|
||||||
|
privileged: true
|
||||||
|
runAsUser: 0
|
||||||
command:
|
command:
|
||||||
- /backup-server
|
- /backup-server
|
||||||
- apiserver
|
- apiserver
|
||||||
@@ -65,10 +72,15 @@ spec:
|
|||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /rootfs
|
- mountPath: /rootfs
|
||||||
name: rootfs
|
name: rootfs
|
||||||
|
- mountPath: /shares
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
name: shares
|
||||||
- name: controller
|
- name: controller
|
||||||
image: beclab/backup-server:v{{ $backupVersion }}
|
image: beclab/backup-server:v{{ $backupVersion }}
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: true
|
||||||
|
privileged: true
|
||||||
runAsUser: 0
|
runAsUser: 0
|
||||||
command:
|
command:
|
||||||
- /backup-server
|
- /backup-server
|
||||||
@@ -94,6 +106,9 @@ spec:
|
|||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /rootfs
|
- mountPath: /rootfs
|
||||||
name: rootfs
|
name: rootfs
|
||||||
|
- mountPath: /shares
|
||||||
|
mountPropagation: Bidirectional
|
||||||
|
name: shares
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ spec:
|
|||||||
capacity:
|
capacity:
|
||||||
storage: {{ $userspace_storage }}
|
storage: {{ $userspace_storage }}
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ $userspace_pv_rootpath }}/{{ default $userspace_pvc .Values.bfl.userspace_pvc }}
|
path: '{{ $userspace_pv_rootpath }}/{{ default $userspace_pvc .Values.bfl.userspace_pvc }}'
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
persistentVolumeReclaimPolicy: Delete
|
persistentVolumeReclaimPolicy: Delete
|
||||||
volumeMode: Filesystem
|
volumeMode: Filesystem
|
||||||
@@ -59,7 +59,7 @@ spec:
|
|||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: {{ $userspace_storage }}
|
storage: '{{ $userspace_storage }}'
|
||||||
volumeMode: Filesystem
|
volumeMode: Filesystem
|
||||||
{{ if .Values.bfl.userspace_pv }}
|
{{ if .Values.bfl.userspace_pv }}
|
||||||
volumeName: {{ .Values.bfl.userspace_pv }}
|
volumeName: {{ .Values.bfl.userspace_pv }}
|
||||||
@@ -77,7 +77,7 @@ spec:
|
|||||||
capacity:
|
capacity:
|
||||||
storage: {{ $appcache_storage }}
|
storage: {{ $appcache_storage }}
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ $appcache_pv_rootpath }}/{{ default $appcache_pvc .Values.bfl.appcache_pvc }}
|
path: '{{ $appcache_pv_rootpath }}/{{ default $appcache_pvc .Values.bfl.appcache_pvc }}'
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
persistentVolumeReclaimPolicy: Delete
|
persistentVolumeReclaimPolicy: Delete
|
||||||
volumeMode: Filesystem
|
volumeMode: Filesystem
|
||||||
@@ -112,7 +112,7 @@ spec:
|
|||||||
capacity:
|
capacity:
|
||||||
storage: {{ $dbdata_storage }}
|
storage: {{ $dbdata_storage }}
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ $dbdata_pv_rootpath }}/{{ default $dbdata_pvc .Values.bfl.dbdata_pvc }}
|
path: '{{ $dbdata_pv_rootpath }}/{{ default $dbdata_pvc .Values.bfl.dbdata_pvc }}'
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
persistentVolumeReclaimPolicy: Delete
|
persistentVolumeReclaimPolicy: Delete
|
||||||
volumeMode: Filesystem
|
volumeMode: Filesystem
|
||||||
@@ -173,21 +173,21 @@ metadata:
|
|||||||
userspace_pv: {{ default $userspace_pv .Values.bfl.userspace_pv }}
|
userspace_pv: {{ default $userspace_pv .Values.bfl.userspace_pv }}
|
||||||
userspace_pvc: {{ default $userspace_pvc .Values.bfl.userspace_pvc }}
|
userspace_pvc: {{ default $userspace_pvc .Values.bfl.userspace_pvc }}
|
||||||
userspace_sc: {{ default $userspace_sc .Values.bfl.userspace_sc }}
|
userspace_sc: {{ default $userspace_sc .Values.bfl.userspace_sc }}
|
||||||
userspace_hostpath: {{ $userspace_pv_rootpath }}/{{ default $userspace_pvc .Values.bfl.userspace_pvc }}
|
userspace_hostpath: '{{ $userspace_pv_rootpath }}/{{ default $userspace_pvc .Values.bfl.userspace_pvc }}'
|
||||||
userspace_storage: {{ $userspace_storage }}
|
userspace_storage: {{ $userspace_storage }}
|
||||||
|
|
||||||
appcache_rand16: {{ default $appcache_rand16 .Values.bfl.appcache_rand16 }}
|
appcache_rand16: {{ default $appcache_rand16 .Values.bfl.appcache_rand16 }}
|
||||||
appcache_pv: {{ default $appcache_pv .Values.bfl.appcache_pv }}
|
appcache_pv: {{ default $appcache_pv .Values.bfl.appcache_pv }}
|
||||||
appcache_pvc: {{ default $appcache_pvc .Values.bfl.appcache_pvc }}
|
appcache_pvc: {{ default $appcache_pvc .Values.bfl.appcache_pvc }}
|
||||||
appcache_sc: {{ default $appcache_sc .Values.bfl.appcache_sc }}
|
appcache_sc: {{ default $appcache_sc .Values.bfl.appcache_sc }}
|
||||||
appcache_hostpath: {{ $appcache_pv_rootpath }}/{{ default $appcache_pvc .Values.bfl.appcache_pvc }}
|
appcache_hostpath: '{{ $appcache_pv_rootpath }}/{{ default $appcache_pvc .Values.bfl.appcache_pvc }}'
|
||||||
appcache_storage: {{ $appcache_storage }}
|
appcache_storage: {{ $appcache_storage }}
|
||||||
|
|
||||||
dbdata_rand16: {{ default $dbdata_rand16 .Values.bfl.dbdata_rand16 }}
|
dbdata_rand16: {{ default $dbdata_rand16 .Values.bfl.dbdata_rand16 }}
|
||||||
dbdata_pv: {{ default $dbdata_pv .Values.bfl.dbdata_pv }}
|
dbdata_pv: {{ default $dbdata_pv .Values.bfl.dbdata_pv }}
|
||||||
dbdata_pvc: {{ default $dbdata_pvc .Values.bfl.dbdata_pvc }}
|
dbdata_pvc: {{ default $dbdata_pvc .Values.bfl.dbdata_pvc }}
|
||||||
dbdata_sc: {{ default $dbdata_sc .Values.bfl.dbdata_sc }}
|
dbdata_sc: {{ default $dbdata_sc .Values.bfl.dbdata_sc }}
|
||||||
dbdata_hostpath: {{ $dbdata_pv_rootpath }}/{{ default $dbdata_pvc .Values.bfl.dbdata_pvc }}
|
dbdata_hostpath: '{{ $dbdata_pv_rootpath }}/{{ default $dbdata_pvc .Values.bfl.dbdata_pvc }}'
|
||||||
dbdata_storage: {{ $dbdata_storage }}
|
dbdata_storage: {{ $dbdata_storage }}
|
||||||
spec:
|
spec:
|
||||||
serviceName: bfl
|
serviceName: bfl
|
||||||
@@ -200,11 +200,11 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
tier: bfl
|
tier: bfl
|
||||||
annotations:
|
annotations:
|
||||||
# instrumentation.opentelemetry.io/inject-go: "olares-instrumentation"
|
instrumentation.opentelemetry.io/inject-go: "olares-instrumentation"
|
||||||
# instrumentation.opentelemetry.io/go-container-names: "api"
|
instrumentation.opentelemetry.io/go-container-names: "api"
|
||||||
# instrumentation.opentelemetry.io/otel-go-auto-target-exe: "/bfl-api"
|
instrumentation.opentelemetry.io/otel-go-auto-target-exe: "/bfl-api"
|
||||||
# instrumentation.opentelemetry.io/inject-nginx: "olares-instrumentation"
|
instrumentation.opentelemetry.io/inject-nginx: "olares-instrumentation"
|
||||||
# instrumentation.opentelemetry.io/inject-nginx-container-names: "ingress"
|
instrumentation.opentelemetry.io/inject-nginx-container-names: "ingress"
|
||||||
spec:
|
spec:
|
||||||
{{ if .Values.bfl.admin_user }}
|
{{ if .Values.bfl.admin_user }}
|
||||||
affinity:
|
affinity:
|
||||||
@@ -249,7 +249,7 @@ spec:
|
|||||||
|
|
||||||
containers:
|
containers:
|
||||||
- name: api
|
- name: api
|
||||||
image: beclab/bfl:v0.4.3
|
image: beclab/bfl:v0.4.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsUser: 1000
|
runAsUser: 1000
|
||||||
@@ -306,7 +306,7 @@ spec:
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
fieldPath: spec.nodeName
|
fieldPath: spec.nodeName
|
||||||
- name: ingress
|
- name: ingress
|
||||||
image: beclab/bfl-ingress:v0.3.2
|
image: beclab/bfl-ingress:v0.3.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: ngxlog
|
- name: ngxlog
|
||||||
|
|||||||
@@ -5,6 +5,10 @@ kind: Instrumentation
|
|||||||
metadata:
|
metadata:
|
||||||
name: olares-instrumentation
|
name: olares-instrumentation
|
||||||
namespace: {{ .Release.Namespace }}
|
namespace: {{ .Release.Namespace }}
|
||||||
|
annotations:
|
||||||
|
"helm.sh/hook": "pre-install,pre-upgrade"
|
||||||
|
"helm.sh/hook-weight": "-10"
|
||||||
|
"helm.sh/hook-delete-policy": "before-hook-creation"
|
||||||
spec:
|
spec:
|
||||||
exporter:
|
exporter:
|
||||||
endpoint: https://jaeger-storage-instance-collector.os-system:4317
|
endpoint: https://jaeger-storage-instance-collector.os-system:4317
|
||||||
@@ -20,30 +24,46 @@ spec:
|
|||||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||||
value: http://jaeger-storage-instance-collector.os-system:4318
|
value: http://jaeger-storage-instance-collector.os-system:4318
|
||||||
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
||||||
value: http/protobuf
|
value: http/json
|
||||||
|
- name: OTEL_TRACES_SAMPLER_ARG
|
||||||
|
value: "1.0"
|
||||||
dotnet:
|
dotnet:
|
||||||
env:
|
env:
|
||||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||||
value: http://jaeger-storage-instance-collector.os-system:4318
|
value: http://jaeger-storage-instance-collector.os-system:4318
|
||||||
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
||||||
value: http/protobuf
|
value: http/json
|
||||||
|
- name: OTEL_TRACES_SAMPLER_ARG
|
||||||
|
value: "1.0"
|
||||||
nodejs:
|
nodejs:
|
||||||
env:
|
env:
|
||||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||||
value: http://jaeger-storage-instance-collector.os-system:4318
|
value: http://jaeger-storage-instance-collector.os-system:4318
|
||||||
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
||||||
value: http/protobuf
|
value: http/json
|
||||||
|
- name: OTEL_TRACES_SAMPLER_ARG
|
||||||
|
value: "1.0"
|
||||||
nginx:
|
nginx:
|
||||||
|
image: bytetrade/autoinstrumentation-apache-httpd:1.0.4-fix1
|
||||||
env:
|
env:
|
||||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||||
value: https://jaeger-storage-instance-collector.os-system:4317
|
value: http://jaeger-storage-instance-collector.os-system:4318
|
||||||
|
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
||||||
|
value: http/json
|
||||||
|
- name: OTEL_TRACES_SAMPLER_ARG
|
||||||
|
value: "1.0"
|
||||||
go:
|
go:
|
||||||
|
image: ghcr.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.20.0
|
||||||
env:
|
env:
|
||||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||||
value: http://jaeger-storage-instance-collector.os-system:4318
|
value: http://jaeger-storage-instance-collector.os-system:4318
|
||||||
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
||||||
value: http/protobuf
|
value: http/protobuf
|
||||||
|
- name: OTEL_TRACES_SAMPLER_ARG
|
||||||
|
value: "1.0"
|
||||||
|
resourceRequirements:
|
||||||
|
limits:
|
||||||
|
memory: 256Mi
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: opentelemetry.io/v1alpha1
|
apiVersion: opentelemetry.io/v1alpha1
|
||||||
@@ -51,6 +71,11 @@ kind: Instrumentation
|
|||||||
metadata:
|
metadata:
|
||||||
name: olares-instrumentation
|
name: olares-instrumentation
|
||||||
namespace: user-system-{{ .Values.bfl.username }}
|
namespace: user-system-{{ .Values.bfl.username }}
|
||||||
|
annotations:
|
||||||
|
"helm.sh/hook": "pre-install,pre-upgrade"
|
||||||
|
"helm.sh/hook-weight": "-10"
|
||||||
|
"helm.sh/hook-delete-policy": "before-hook-creation"
|
||||||
|
|
||||||
spec:
|
spec:
|
||||||
exporter:
|
exporter:
|
||||||
endpoint: https://jaeger-storage-instance-collector.os-system:4317
|
endpoint: https://jaeger-storage-instance-collector.os-system:4317
|
||||||
@@ -66,27 +91,44 @@ spec:
|
|||||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||||
value: http://jaeger-storage-instance-collector.os-system:4318
|
value: http://jaeger-storage-instance-collector.os-system:4318
|
||||||
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
||||||
value: http/protobuf
|
value: http/json
|
||||||
|
- name: OTEL_TRACES_SAMPLER_ARG
|
||||||
|
value: "1.0"
|
||||||
dotnet:
|
dotnet:
|
||||||
env:
|
env:
|
||||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||||
value: http://jaeger-storage-instance-collector.os-system:4318
|
value: http://jaeger-storage-instance-collector.os-system:4318
|
||||||
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
||||||
value: http/protobuf
|
value: http/json
|
||||||
|
- name: OTEL_TRACES_SAMPLER_ARG
|
||||||
|
value: "1.0"
|
||||||
nodejs:
|
nodejs:
|
||||||
env:
|
env:
|
||||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||||
value: http://jaeger-storage-instance-collector.os-system:4318
|
value: http://jaeger-storage-instance-collector.os-system:4318
|
||||||
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
||||||
value: http/protobuf
|
value: http/json
|
||||||
|
- name: OTEL_TRACES_SAMPLER_ARG
|
||||||
|
value: "1.0"
|
||||||
nginx:
|
nginx:
|
||||||
|
image: bytetrade/autoinstrumentation-apache-httpd:1.0.4-fix1
|
||||||
env:
|
env:
|
||||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||||
value: https://jaeger-storage-instance-collector.os-system:4317
|
value: http://jaeger-storage-instance-collector.os-system:4318
|
||||||
|
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
||||||
|
value: http/json
|
||||||
|
- name: OTEL_TRACES_SAMPLER_ARG
|
||||||
|
value: "1.0"
|
||||||
go:
|
go:
|
||||||
|
image: ghcr.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.20.0
|
||||||
env:
|
env:
|
||||||
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
- name: OTEL_EXPORTER_OTLP_ENDPOINT
|
||||||
value: http://jaeger-storage-instance-collector.os-system:4318
|
value: http://jaeger-storage-instance-collector.os-system:4318
|
||||||
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
- name: OTEL_EXPORTER_OTLP_PROTOCOL
|
||||||
value: http/protobuf
|
value: http/protobuf
|
||||||
|
- name: OTEL_TRACES_SAMPLER_ARG
|
||||||
|
value: "1.0"
|
||||||
|
resourceRequirements:
|
||||||
|
limits:
|
||||||
|
memory: 256Mi
|
||||||
|
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
bfl:
|
bfl:
|
||||||
nodeport: 30883
|
nodeport: 30883
|
||||||
nodeport_ingress_http: 30083
|
nodeport_ingress_http: 30083
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ spec:
|
|||||||
volumes:
|
volumes:
|
||||||
- name: terminus
|
- name: terminus
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.rootPath }}
|
path: '{{ .Values.rootPath }}'
|
||||||
- name: bin
|
- name: bin
|
||||||
hostPath:
|
hostPath:
|
||||||
path: /usr/local/bin
|
path: /usr/local/bin
|
||||||
|
|||||||
@@ -41,13 +41,17 @@ spec:
|
|||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: systemserver
|
app: systemserver
|
||||||
|
annotations:
|
||||||
|
instrumentation.opentelemetry.io/go-container-names: system-server
|
||||||
|
instrumentation.opentelemetry.io/inject-go: olares-instrumentation
|
||||||
|
instrumentation.opentelemetry.io/otel-go-auto-target-exe: /system-server
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: bytetrade-sys-ops
|
serviceAccountName: bytetrade-sys-ops
|
||||||
serviceAccount: bytetrade-sys-ops
|
serviceAccount: bytetrade-sys-ops
|
||||||
priorityClassName: "system-cluster-critical"
|
priorityClassName: "system-cluster-critical"
|
||||||
containers:
|
containers:
|
||||||
- name: system-server
|
- name: system-server
|
||||||
image: beclab/system-server:0.1.21
|
image: beclab/system-server:0.1.22
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
@@ -299,7 +303,7 @@ data:
|
|||||||
- endpoint:
|
- endpoint:
|
||||||
address:
|
address:
|
||||||
socket_address:
|
socket_address:
|
||||||
address: rss-svc.user-space-{{ .Values.bfl.username }}.svc.cluster.local
|
address: rss-svc.os-system.svc.cluster.local
|
||||||
port_value: 3010
|
port_value: 3010
|
||||||
- name: cluster_fakes3_proxy
|
- name: cluster_fakes3_proxy
|
||||||
connect_timeout: 30s
|
connect_timeout: 30s
|
||||||
@@ -319,4 +323,4 @@ metadata:
|
|||||||
name: systemserver-proxy-configs
|
name: systemserver-proxy-configs
|
||||||
namespace: user-system-{{ .Values.bfl.username }}
|
namespace: user-system-{{ .Values.bfl.username }}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
bfl:
|
bfl:
|
||||||
nodeport: 30883
|
nodeport: 30883
|
||||||
nodeport_ingress_http: 30083
|
nodeport_ingress_http: 30083
|
||||||
@@ -40,4 +39,4 @@ os:
|
|||||||
appKey: '${ks[0]}'
|
appKey: '${ks[0]}'
|
||||||
appSecret: test
|
appSecret: test
|
||||||
kubesphere:
|
kubesphere:
|
||||||
redis_password: ""
|
redis_password: ""
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ spec:
|
|||||||
capacity:
|
capacity:
|
||||||
storage: '50Gi'
|
storage: '50Gi'
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ $citus_rootpath }}/pg_data
|
path: '{{ $citus_rootpath }}/pg_data'
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
persistentVolumeReclaimPolicy: Delete
|
persistentVolumeReclaimPolicy: Delete
|
||||||
volumeMode: Filesystem
|
volumeMode: Filesystem
|
||||||
@@ -45,5 +45,5 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
owner: system
|
owner: system
|
||||||
backupStorage: {{ $citus_backuppath }}/pg_backup
|
backupStorage: '{{ $citus_backuppath }}/pg_backup'
|
||||||
citusImage: beclab/citus:12.2
|
citusImage: beclab/citus:12.2
|
||||||
@@ -73,6 +73,6 @@ spec:
|
|||||||
- name: s3-data
|
- name: s3-data
|
||||||
hostPath:
|
hostPath:
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
path: {{ $mongo_backuppath }}/mongo-backup
|
path: '{{ $mongo_backuppath }}/mongo-backup'
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -83,6 +83,13 @@ spec:
|
|||||||
perm:
|
perm:
|
||||||
- pub
|
- pub
|
||||||
- sub
|
- sub
|
||||||
|
- appName: notifications
|
||||||
|
appNamespace: {{ .Release.Namespace }}
|
||||||
|
subjects:
|
||||||
|
- name: system.users
|
||||||
|
perm:
|
||||||
|
- pub
|
||||||
|
- sub
|
||||||
user: os-system-lldap
|
user: os-system-lldap
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -164,8 +171,10 @@ spec:
|
|||||||
name: lldap-pg-secrets
|
name: lldap-pg-secrets
|
||||||
- name: NATS_SUBJECT
|
- name: NATS_SUBJECT
|
||||||
value: "terminus.{{ .Release.Namespace }}.system.notification"
|
value: "terminus.{{ .Release.Namespace }}.system.notification"
|
||||||
|
- name: NATS_SUBJECT_SYSTEM_USERS
|
||||||
|
value: "terminus.{{ .Release.Namespace }}.system.users"
|
||||||
|
|
||||||
image: beclab/lldap:0.0.1
|
image: beclab/lldap:0.0.2
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
name: lldap
|
name: lldap
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@@ -45,15 +45,15 @@ spec:
|
|||||||
- name: dbdata-dir
|
- name: dbdata-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
path: {{ $dbdata_pv_rootpath }}
|
path: '{{ $dbdata_pv_rootpath }}'
|
||||||
- name: dbbackup-dir
|
- name: dbbackup-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
path: {{ $dbbackup_rootpath }}
|
path: '{{ $dbbackup_rootpath }}'
|
||||||
- name: pgbackup-dir
|
- name: pgbackup-dir
|
||||||
hostPath:
|
hostPath:
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
path: {{ $dbbackup_rootpath }}/pg_backup
|
path: '{{ $dbbackup_rootpath }}/pg_backup'
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: init-dbspace
|
- name: init-dbspace
|
||||||
image: busybox:1.28
|
image: busybox:1.28
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ spec:
|
|||||||
capacity:
|
capacity:
|
||||||
storage: '50Gi'
|
storage: '50Gi'
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ $nats_rootpath }}/nats_data
|
path: '{{ $nats_rootpath }}/nats_data'
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
persistentVolumeReclaimPolicy: Delete
|
persistentVolumeReclaimPolicy: Delete
|
||||||
volumeMode: Filesystem
|
volumeMode: Filesystem
|
||||||
@@ -215,7 +215,7 @@ spec:
|
|||||||
secret:
|
secret:
|
||||||
secretName: nats-box-contexts
|
secretName: nats-box-contexts
|
||||||
- hostPath:
|
- hostPath:
|
||||||
path: {{ .Values.rootPath }}/userdata/dbdata/nats_data
|
path: '{{ .Values.rootPath }}/userdata/dbdata/nats_data'
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
name: nats-data
|
name: nats-data
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ spec:
|
|||||||
capacity:
|
capacity:
|
||||||
storage: '50Gi'
|
storage: '50Gi'
|
||||||
hostPath:
|
hostPath:
|
||||||
path: {{ $redix_rootpath }}/kvrocks_data
|
path: '{{ $redix_rootpath }}/kvrocks_data'
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
persistentVolumeReclaimPolicy: Delete
|
persistentVolumeReclaimPolicy: Delete
|
||||||
volumeMode: Filesystem
|
volumeMode: Filesystem
|
||||||
@@ -63,7 +63,7 @@ spec:
|
|||||||
type: kvrocks
|
type: kvrocks
|
||||||
kvrocks:
|
kvrocks:
|
||||||
owner: system
|
owner: system
|
||||||
backupStorage: {{ $redix_backuppath }}/kvrocks_backup
|
backupStorage: '{{ $redix_backuppath }}/kvrocks_backup'
|
||||||
image: beclab/kvrocks:0.1.0
|
image: beclab/kvrocks:0.1.0
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
password:
|
password:
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ spec:
|
|||||||
runAsUser: 0
|
runAsUser: 0
|
||||||
containers:
|
containers:
|
||||||
- name: tapr-sysevent
|
- name: tapr-sysevent
|
||||||
image: beclab/sys-event:0.2.3
|
image: beclab/sys-event:0.2.5
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
env:
|
env:
|
||||||
- name: APP_RANDOM_KEY
|
- name: APP_RANDOM_KEY
|
||||||
@@ -99,4 +99,4 @@ spec:
|
|||||||
protocol: TCP
|
protocol: TCP
|
||||||
selector:
|
selector:
|
||||||
app: tapr-sysevent
|
app: tapr-sysevent
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user