Compare commits

...

101 Commits

Author SHA1 Message Date
lovehunter9
1595c0eb53 fix: add init container for files-server 2025-04-29 21:16:52 +08:00
hysyeah
13d69572dd studio-server: change cm push url (#1285) 2025-04-29 00:24:26 +08:00
eball
5e1680cf15 olaresd: bump version to 1.11.7 (#1282) 2025-04-27 16:17:00 +08:00
berg
080927d500 profile, market: modify default theme configuration (#1275)
fix: modify default theme configuration
2025-04-26 00:33:40 +08:00
berg
e79a5235d5 fix(vault&wise): some known issues (#1280)
* feat(settings): add entrance endpoint url & fix WebSocket keep-alive

* fix: vault import mnemonics error

* feat: update 1.3.55

---------

Co-authored-by: qq815776412 <815776412@qq.com>
2025-04-26 00:08:44 +08:00
hysyeah
15032a6a03 app-service: fix underlayer ns netpol (#1279) 2025-04-26 00:08:20 +08:00
simon
96ebf95ff2 fix: knowledge impression bug (#1278)
knowledg
2025-04-26 00:07:58 +08:00
huaiyuan
74633d26f3 desktop: fix iframe hide when zooming the window (#1271) 2025-04-26 00:06:38 +08:00
huaiyuan
3306a33980 fix: create files err in application page (#1265) 2025-04-25 10:57:08 +08:00
eball
953f78318c tapr: migrate kvrocks statefulset configuration (#1264) 2025-04-25 10:56:41 +08:00
lovehunter9
b2408ade2b fix: files-server rename and cut/paste of smb bugfix (#1262) 2025-04-24 15:40:37 +08:00
aby913
6216276623 fix(installer): add error message output when using cli backup (#1260) 2025-04-24 14:12:06 +08:00
eball
c1353ff6f5 tapr: force update kvrock workload definition (#1259)
Co-authored-by: liuyu <>
2025-04-24 14:10:22 +08:00
huaiyuan
d7d611b5cd files: notify message when user cancels upload (#1257) 2025-04-24 00:25:25 +08:00
aby913
5725361d9b fix: backup notify improve (#1254) 2025-04-23 21:45:57 +08:00
hysyeah
8e69ab9b97 fix: add studio server envoy timeout (#1251)
fix: add studio envoy timeout
2025-04-23 21:11:05 +08:00
eball
026764477e olaresd: fix subpath of samba share path bug (#1252) 2025-04-23 21:05:07 +08:00
yyh
b9da9d71a1 ControlHub: fix workloads operation layout (#1247)
fix(controlHub): fix workloads style disorder in small size
2025-04-22 23:50:36 +08:00
simon
8e16d61be4 fix: fix knowledge feed edit and label save bug (#1244)
knowledge
2025-04-22 23:48:14 +08:00
eball
191f23454c olaresd: support mounting read-only samba share path (#1242) 2025-04-22 23:47:22 +08:00
dkeven
a907e5f80d feat(installer): collect more logs (#1241) 2025-04-22 20:55:46 +08:00
huaiyuan
65acff0bf2 files&files-server: add support mount SMB IP (#1239)
files-server: add support mount SMB IP
2025-04-22 20:54:40 +08:00
wiy
e76d1b87e5 fix(settings): add ACL port ui bug (#1236)
* feat(settings): add entrance endpoint url & fix WebSocket keep-alive

* fix: settings frontend add ACL port ui bug
2025-04-22 19:24:04 +08:00
eball
e170092749 olaresd: mark as mounted (#1233) 2025-04-21 21:01:33 +08:00
dkeven
c1e53945f3 feat(installer): save metadata to and read from release file (#1230) 2025-04-21 21:00:20 +08:00
berg
851356a399 market: Update the error message when the user has insufficient resources during app preflight (#1228)
feat: market v0.3.10 release
2025-04-19 01:18:19 +08:00
huaiyuan
5ceeb34079 studio&controlHub: coding in olares by studio (#1226)
* studio&controlHub: coding in olares by studio

* feat: studio server image tag

---------

Co-authored-by: hys <hysyeah@gmail.com>
2025-04-19 01:17:17 +08:00
eball
ff45612602 olaresd: allow mounting a subpath of the share point (#1224)
* olaresd: allow mounting a subpath of the share point

* Update components
2025-04-19 01:16:10 +08:00
hysyeah
7e20377f6a app-service: fix app's gpu env inject (#1220) 2025-04-17 23:31:16 +08:00
eball
d2acac93bc olaresd: list samba share names before mounting (#1219)
olaresd: mounting usb device compatibles with ata bridge
2025-04-17 23:30:51 +08:00
hysyeah
8aefb66c4b ks,Installer: node shell add lang env (#1217) 2025-04-16 23:58:19 +08:00
huaiyuan
5274efdbfa files: update Larepass new version to v1.3.50 (#1209)
files: update Larepass to new version v1.3.50
2025-04-15 00:01:36 +08:00
wiy
3c240ce7c6 fix(settings): update network from cloudflare to frp error (#1202)
* feat(settings): add entrance endpoint url & fix WebSocket keep-alive

* fix(settings): network update cloudflare to frp error
2025-04-11 00:19:51 +08:00
eball
611b356716 olaresd: add noserverino option to cifs mount (#1200) 2025-04-11 00:18:40 +08:00
yyh
59b32f33b4 controlhub/studio: update dialog and fix studio deploy app (#1194)
fix(controlhub/studio): update dialog and fix studio deploy app
2025-04-09 23:18:39 +08:00
yyh
971401af3a studio: automatically refresh the workloads (#1189)
fix(studio): support automatic refresh of workload
2025-04-08 23:31:09 +08:00
eball
31627d4f72 tapr: ignore deleting the not exists namespace (#1187)
Co-authored-by: liuyu <>
2025-04-08 23:30:11 +08:00
hysyeah
535e19acd8 app-service: pull image with unpack;del cache dir by call files (#1185)
* app-service: pull image with unpack;del cache dir by call files

* fix: updaget image service tag
2025-04-08 11:53:36 +08:00
eball
6d08f2f4d4 olares: mark the market as cluster critical (#1182)
Co-authored-by: liuyu <>
2025-04-07 21:27:34 +08:00
eball
5b8072e1e5 olares: add quotes to username (#1181)
Co-authored-by: liuyu <>
2025-04-07 21:27:18 +08:00
hysyeah
083f0c3866 app-service: fix cache delete not completely in some case;node status check before system upgrade (#1180)
app-service: fix cache delete error in some case;node status check before system upgrade
2025-04-07 15:49:40 +08:00
salt
17a1c8128e fix: lock bug (#1177)
fix: fix cloud drive lock not released when some thread corrupted

Co-authored-by: Ubuntu <ubuntu@localhost.localdomain>
2025-04-03 19:42:48 +08:00
eball
ee1a003001 olaersd: bump to release version (#1176)
Co-authored-by: liuyu <>
2025-04-03 18:04:48 +08:00
berg
dd94eea2f9 wise: optimized partial copywriting (#1174)
feat: update wise v1.3.47
2025-04-03 17:54:57 +08:00
huaiyuan
a6f82bc273 studio: update version to v0.2.4 (#1173)
* studio: update version to v0.2.4

* fix: app cache,data dir

---------

Co-authored-by: hys <hysyeah@gmail.com>
2025-04-03 17:21:54 +08:00
simon
d53b1b6ec2 fix(knowledge): update knowledge new version to v0.1.69 (#1171)
knowledge v0.1.69
2025-04-03 17:06:43 +08:00
eball
ababd15c90 olares: fix upgrading state not_running bug (#1170)
Co-authored-by: liuyu <>
2025-04-03 15:40:15 +08:00
wiy
ffb04cbd4b feat(wise&files): update wise & files new version (#1168)
* feat(settings): add entrance endpoint url & fix WebSocket keep-alive

* feat: update files&vault&wise new version to v1.3.46
2025-04-03 11:11:27 +08:00
huaiyuan
1f552ac613 studio&studio server: fix some bugs (#1166)
* studio,studio-service: bug fix

* studio: fix some bugs

---------

Co-authored-by: hys <hysyeah@gmail.com>
2025-04-03 11:10:21 +08:00
eball
f3603b22ce olares: fix checking app service status bug (#1165)
Co-authored-by: liuyu <>
2025-04-03 11:09:49 +08:00
huaiyuan
1fd597ff79 desktop: update the display logic for delete icons in Lanchpad (#1164) 2025-04-03 11:09:27 +08:00
eball
54f0a1143d olares: upgrade app-service in priority (#1162)
* olares: upgrade app-service in priority

* fix: create user appstore values

* fix: set env market provider to app-service

* fix: empty string check

---------

Co-authored-by: liuyu <>
Co-authored-by: hys <hysyeah@gmail.com>
2025-04-02 17:26:55 +08:00
hysyeah
3fb85fc3e5 studio,studio-server: fix some bug (#1160) 2025-04-02 11:11:17 +08:00
berg
58c952839a market, app-service: Conflict Resolution, Dependency Check, and App Store Data Integration (#1158)
* feat: update market and app-service version

* fix: upate image tag

---------

Co-authored-by: hys <hysyeah@gmail.com>
2025-04-02 11:10:28 +08:00
eball
02ee7ca4ff olaresd: do not change owner of the log file (#1156) 2025-04-01 23:01:28 +08:00
aby913
ef08696851 fix(installer): olares-cli restore path not specified (#1154)
fix(installer): backups-sdk restore path not specified
2025-04-01 23:01:02 +08:00
dkeven
f234187088 fix(installer): add MARKET_PROVIDER to global envs (#1152) 2025-04-01 21:16:37 +08:00
simon
de09433738 knowledge&download: update knowledge to v0.1.68, download-spider to v0.0.21 (#1153)
knowledge v0.1.68
2025-04-01 20:35:23 +08:00
eball
bfdd500db3 olares: file server upgrade failed (#1150)
fix: file server upgrade failed

Co-authored-by: liuyu <>
2025-04-01 15:40:48 +08:00
huaiyuan
2313e48e30 devbox&devbox server&app server: Initialize Studio (#1144)
* devbox: refactor devbox

* feat: devbox nginx

* feat: upate devbox server tag

---------

Co-authored-by: hys <hysyeah@gmail.com>
2025-04-01 00:24:49 +08:00
wiy
5672ad5691 feat(files-server & files): update files frontend & files server version (#1148)
* fix: files external move folder bug

* fix: display google drive root error

---------

Co-authored-by: lovehunter9 <wangrx07@aliyun.com>
2025-04-01 00:05:23 +08:00
berg
6030c723fb market: modify cs app to shared app (#1146)
feat: modify cs app to shared app
2025-04-01 00:04:31 +08:00
dkeven
b6607251b0 feat(installer): add logs/start/stop/backup commands (#1142)
* feat(installer): add logs/start/stop/backup commands

* fix: bump olaresd version

---------

Co-authored-by: eball <liuy102@hotmail.com>
2025-03-31 21:41:22 +08:00
eball
5502fdffb9 olares: change app name devbox to studio (#1141)
Co-authored-by: liuyu <>
2025-03-31 21:40:36 +08:00
wiy
5632fa37a4 feat(settings): update settings support configuration sub-routes, ACL, and SSH, third-party domain (#1136)
* feat(settings): add entrance endpoint url & fix WebSocket keep-alive

* feat: update settings system page support VPN config

* feat:  settings supports custom third-party domain

* feat: ts routes

---------

Co-authored-by: hys <hysyeah@gmail.com>
2025-03-28 21:30:10 +08:00
lovehunter9
fa740be863 feat: update files support awss3 (including files, wise, files-server, drive-server, uploader) (#1130)
* feat: update files support awss3 (including files, wise, files-server, drive-server, uploader)

* feat: update files frontend version to v1.3.44

---------

Co-authored-by: wiy <guojianmin@bytetrade.io>
2025-03-28 21:29:17 +08:00
hysyeah
4cab48c1ac installer,studio: move studio back to user space (#1132)
* feat: move studio back to user space

* feat: update permissions
2025-03-28 20:15:34 +08:00
dkeven
607a8b7476 feat: support custom domain in both cloudflare and FRP tunnel (#1133) 2025-03-28 20:05:19 +08:00
salt
b2a24cb23b fix: restore metadata when return to frontend (#1121)
Co-authored-by: Ubuntu <ubuntu@localhost.localdomain>
2025-03-27 11:12:46 +08:00
eball
e6711b6dd5 tapr: persist kvrocks namespace config (#1115)
fix: persist kvrocks namespace config

Co-authored-by: liuyu <>
2025-03-27 01:09:32 +08:00
hysyeah
0549f0a948 app-service: fix upgrade values (#1113) 2025-03-26 21:26:00 +08:00
eball
107865ff83 authelia: fix cached redis session provider gc api (#1109)
Co-authored-by: liuyu <>
2025-03-26 21:24:42 +08:00
huaiyuan
bf1f9c8167 desktop&login: add intent to support open file in files (#1108) 2025-03-26 01:03:59 +08:00
eball
7b4c60ce8d olares: uploading last chunk of a file got 504 timeout response (#1106)
Co-authored-by: liuyu <>
2025-03-26 01:03:11 +08:00
hysyeah
735d0d06be app-service: add download cdn url to helm values (#1099) 2025-03-22 01:39:44 +08:00
hysyeah
d0fb912c31 app-service: set upgrade job ttl to 30 days (#1096) 2025-03-21 15:00:22 +08:00
dkeven
500f50ec7b feat(frp): add error logs (#1089) 2025-03-18 01:27:01 +08:00
eball
c548d15c61 olares: increase envoy idle timeout for files-frontend (#1086)
fix: increase envoy idle timeout for files-frontend

Co-authored-by: liuyu <>
2025-03-17 21:39:42 +08:00
lovehunter9
469b36b3eb feat: files permission relative (#1081) 2025-03-15 00:15:28 +08:00
simon
a5bec0f8e9 knowledge&download: update knowledge to v0.1.66, download-spider to v0.0.20 (#1085)
knowledge upto v0.1.66
2025-03-14 23:07:17 +08:00
berg
f6bff09f16 wise, file: fixed the issue with resumablejs.js retrying to upload from 0 Merge duplicate upload tasks and wise filter optimize (#1084)
feat: update files and wise version
2025-03-14 23:06:50 +08:00
hysyeah
fd0ab0c92c app-service: revert hostpath chown 1000;remove handle model code (#1078) 2025-03-14 20:47:22 +08:00
wiy
d8f7cb29cc feat(settings): add entrance endpoint url & fix WebSocket keep-alive (#1076) 2025-03-14 00:05:04 +08:00
eball
73c5433137 l4-bfl-proxy: optimize l4 proxy gateway performance (#1074)
Co-authored-by: liuyu <>
2025-03-14 00:04:11 +08:00
huaiyuan
93ee2b85d7 desktop: request data when socket err or network offline (#1071) 2025-03-12 23:27:48 +08:00
eball
632974d920 olares: use the pod localhost address as the infisical server address to the infisical sidecar (#1067)
olares: use the pod locahost address as the infisical server address to the infisical sidecar

Co-authored-by: liuyu <>
2025-03-12 23:25:42 +08:00
hysyeah
23276658e1 bfl: fix create user cpu check (#1065) 2025-03-12 23:25:23 +08:00
eball
49b9ff6f41 files: make the files server running as root (#1063)
Co-authored-by: liuyu <>
2025-03-12 20:20:42 +08:00
hysyeah
7a6f9d8908 fix: update ks image tag (#1062) 2025-03-12 20:14:50 +08:00
salt
05f07bd8d8 fix: google dropbox optimization (#1059)
fix: optimize google,dropbox direct upload

Co-authored-by: Ubuntu <ubuntu@localhost.localdomain>
2025-03-12 20:10:42 +08:00
wiy
4c526227be feat(files): update files support google drive & dropbox (#1058) 2025-03-12 15:41:24 +08:00
lovehunter9
31a9a05fff style: files-server project structure reconstruction (#1054) 2025-03-12 00:03:59 +08:00
berg
86aeba659b market: reconnect socket and reinitialize data on app return (#1052)
feat: market release v0.3.6 version
2025-03-12 00:02:51 +08:00
hysyeah
1a817b5701 fix: add node shell image to pre download (#1049) 2025-03-12 00:00:22 +08:00
hysyeah
b294ee45fb app-service: change hostpath with type DirectoryOrCreate owner to 1000 by inject init container (#1048) 2025-03-10 22:20:22 +08:00
yyh
81cdd392dc control-hub: fix terminal route path conflict (#1044)
fix(control-hub): fix terminal route path conflict
2025-03-10 21:05:40 +08:00
hysyeah
cf4dad6f77 olares: fix special leading char cause helm render error (#1041) 2025-03-07 00:35:01 +08:00
berg
34ddf31751 wise, knowledge: add reading progress function and fix some bugs (#1038)
feat: update wise and knowledge version
2025-03-06 16:32:32 +08:00
huaiyuan
68c99c1d06 desktop: launch display different icons on different devices (#1036)
fix: launch display different icons on different devices
2025-03-06 15:49:31 +08:00
eball
fad640c221 olares: fix system upgrade status checking bug (#1035)
Co-authored-by: liuyu <>
2025-03-06 15:48:56 +08:00
hysyeah
989b48d46b ks: node shell default use bash (#1034)
ks: node shell defaut use bash
2025-03-06 15:48:39 +08:00
31 changed files with 1167 additions and 124 deletions

View File

@@ -66,7 +66,7 @@ spec:
containers:
- name: edge-desktop
image: beclab/desktop:v0.2.53
image: beclab/desktop:v0.2.58
imagePullPolicy: IfNotPresent
securityContext:
runAsNonRoot: false
@@ -78,7 +78,7 @@ spec:
value: http://bfl.{{ .Release.Namespace }}:8080
- name: desktop-server
image: beclab/desktop-server:v0.2.53
image: beclab/desktop-server:v0.2.58
imagePullPolicy: IfNotPresent
securityContext:
allowPrivilegeEscalation: false
@@ -140,7 +140,7 @@ spec:
fieldRef:
fieldPath: status.podIP
- name: terminus-ws-sidecar
image: 'beclab/ws-gateway:v1.0.3'
image: 'beclab/ws-gateway:v1.0.5'
imagePullPolicy: IfNotPresent
command:
- /ws-gateway

View File

@@ -220,7 +220,7 @@ spec:
cpu: "1"
memory: 300Mi
- name: download-spider
image: "beclab/download-spider:v0.0.19"
image: "beclab/download-spider:v0.0.22"
imagePullPolicy: IfNotPresent
securityContext:
allowPrivilegeEscalation: false

View File

@@ -1,11 +1,15 @@
{{- $namespace := printf "%s" "os-system" -}}
{{- $files_secret := (lookup "v1" "Secret" $namespace "files-secrets") -}}
{{- $password := "" -}}
{{- $files_postgres_password := "" -}}
{{ if $files_secret -}}
{{ $password = (index $files_secret "data" "password") }}
{{ $files_postgres_password = (index $files_secret "data" "files_postgres_password") }}
{{- if not $files_postgres_password -}}
{{ $files_postgres_password = randAlphaNum 16 | b64enc }}
{{- end -}}
{{ else -}}
{{ $password = randAlphaNum 16 | b64enc }}
{{ $files_postgres_password = randAlphaNum 16 | b64enc }}
{{- end -}}
{{- $files_redis_password := "" -}}
@@ -45,9 +49,8 @@ spec:
serviceAccount: os-internal
serviceAccountName: os-internal
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
runAsUser: 0
runAsNonRoot: false
initContainers:
- name: init-data
image: busybox:1.28
@@ -67,18 +70,40 @@ spec:
- -c
- |
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:
- name: gateway
image: beclab/appdata-gateway:0.1.16
image: beclab/appdata-gateway:0.1.18
imagePullPolicy: IfNotPresent
securityContext:
allowPrivilegeEscalation: false
runAsUser: 1000
runAsUser: 0
ports:
- containerPort: 8080
env:
- name: FILES_SERVER_TAG
value: 'beclab/files-server:v0.2.60'
value: 'beclab/files-server:v0.2.69'
- name: NAMESPACE
valueFrom:
fieldRef:
@@ -98,7 +123,7 @@ spec:
imagePullPolicy: IfNotPresent
securityContext:
allowPrivilegeEscalation: true
runAsUser: 1000
runAsUser: 0
privileged: true
ports:
- containerPort: 9090
@@ -114,11 +139,11 @@ spec:
{{ end }}
- name: files
image: beclab/files-server:v0.2.60
image: beclab/files-server:v0.2.69
imagePullPolicy: IfNotPresent
securityContext:
allowPrivilegeEscalation: true
runAsUser: 1000
runAsUser: 0
privileged: true
volumeMounts:
- name: fb-data
@@ -170,7 +195,7 @@ spec:
# - name: ZINC_USER
# value: zincuser-files-os-system
# - name: ZINC_PASSWORD
# value: {{ $password | b64dec }}
# value: {{ $files_postgres_password | b64dec }}
# - name: ZINC_HOST
# value: zinc-server-svc.os-system
# - name: ZINC_PORT
@@ -220,6 +245,16 @@ spec:
value: '1.11'
- name: FILE_CACHE_DIR
value: '/data/file_cache'
- 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
- name: POD_NAME
valueFrom:
fieldRef:
@@ -236,7 +271,7 @@ spec:
- /filebrowser
- --noauth
- name: uploader
image: beclab/upload:v1.0.12
image: beclab/upload:v1.0.14
env:
- name: UPLOAD_FILE_TYPE
value: '*'
@@ -262,7 +297,7 @@ spec:
imagePullPolicy: IfNotPresent
securityContext:
allowPrivilegeEscalation: true
runAsUser: 1000
runAsUser: 0
privileged: true
- name: nginx
image: 'nginx:stable-alpine3.17-slim'
@@ -396,11 +431,12 @@ spec:
name: check-nats
containers:
- name: files
image: beclab/files-server:v0.2.60
image: beclab/files-server:v0.2.69
imagePullPolicy: IfNotPresent
securityContext:
allowPrivilegeEscalation: false
runAsUser: 1000
allowPrivilegeEscalation: true
runAsUser: 0
runAsNonRoot: false
volumeMounts:
- name: fb-data
mountPath: /appdata
@@ -409,12 +445,14 @@ spec:
ports:
- containerPort: 8110
env:
- name: FB_DATABASE
value: /appdata/database/filebrowser.db
- name: FB_CONFIG
value: /appdata/config/settings.json
- name: FB_ROOT
- name: ROOT_PREFIX
value: /data
# - name: FB_DATABASE
# value: /appdata/database/filebrowser.db
# - name: FB_CONFIG
# value: /appdata/config/settings.json
# - name: FB_ROOT
# value: /data
- name: OLARES_VERSION
value: '1.11'
- name: NODE_NAME
@@ -459,7 +497,7 @@ metadata:
namespace: os-system
type: Opaque
data:
password: {{ $password }}
files_postgres_password: {{ $files_postgres_password }}
files_redis_password: {{ $files_redis_password }}
---
@@ -472,6 +510,26 @@ data:
files_nats_password: {{ $files_nats_password }}
type: Opaque
---
apiVersion: apr.bytetrade.io/v1alpha1
kind: MiddlewareRequest
metadata:
name: files-pg
namespace: os-system
spec:
app: files
appNamespace: os-system
middleware: postgres
postgreSQL:
user: files_os_system
password:
valueFrom:
secretKeyRef:
key: files_postgres_password
name: files-secrets
databases:
- name: files
---
apiVersion: apr.bytetrade.io/v1alpha1
kind: MiddlewareRequest

View File

@@ -297,7 +297,7 @@ spec:
# - /filebrowser
# - --noauth
- name: files-frontend
image: beclab/files-frontend:v1.3.39
image: beclab/files-frontend-1.11:v1.3.55
imagePullPolicy: IfNotPresent
securityContext:
runAsNonRoot: false
@@ -319,7 +319,7 @@ spec:
- name: userspace-dir
mountPath: /data
- name: drive-server
image: beclab/drive:v0.0.51
image: beclab/drive:v0.0.72
imagePullPolicy: IfNotPresent
env:
- name: OS_SYSTEM_SERVER
@@ -342,7 +342,7 @@ spec:
- name: userspace-app-dir
mountPath: /data/Application
- name: task-executor
image: beclab/driveexecutor:v0.0.51
image: beclab/driveexecutor:v0.0.72
imagePullPolicy: IfNotPresent
env:
- name: OS_SYSTEM_SERVER
@@ -758,11 +758,14 @@ data:
prefix: "/upload"
route:
cluster: upload_original_dst
timeout: 1800s
idle_timeout: 1800s
- match:
prefix: "/"
route:
cluster: original_dst
timeout: 1800s
idle_timeout: 1800s
http_protocol_options:
accept_http_10: true
http_filters:

View File

@@ -168,7 +168,7 @@ spec:
value: user_space_{{ .Values.bfl.username }}_knowledge
containers:
- name: knowledge
image: "beclab/knowledge-base-api:v0.1.64"
image: "beclab/knowledge-base-api:v0.1.72"
imagePullPolicy: IfNotPresent
securityContext:
allowPrivilegeEscalation: false
@@ -183,6 +183,8 @@ spec:
value: 'http://rss-server.os-system:1200'
- name: SEARCH_URL
value: 'http://search3.os-system:80'
- name: UPLOAD_SAVE_PATH
value: '/data/Home/Documents/'
- name: REDIS_PASSWORD
valueFrom:
configMapKeyRef:
@@ -236,7 +238,7 @@ spec:
memory: 1Gi
- name: backend-server
image: "beclab/recommend-backend:v0.0.27"
image: "beclab/recommend-backend:v0.0.31"
imagePullPolicy: IfNotPresent
securityContext:
allowPrivilegeEscalation: false

View File

@@ -43,6 +43,7 @@ spec:
app: appstore
io.bytetrade.app: "true"
spec:
priorityClassName: "system-cluster-critical"
initContainers:
- args:
- -it
@@ -84,12 +85,12 @@ spec:
fieldPath: status.podIP
containers:
- name: appstore
image: beclab/market-frontend:v0.3.5
image: beclab/market-frontend:v0.3.11
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
- name: appstore-backend
image: beclab/market-backend:v0.3.5
image: beclab/market-backend:v0.3.11
imagePullPolicy: IfNotPresent
ports:
- containerPort: 81
@@ -169,7 +170,7 @@ spec:
fieldRef:
fieldPath: status.podIP
- name: terminus-ws-sidecar
image: 'beclab/ws-gateway:v1.0.3'
image: 'beclab/ws-gateway:v1.0.5'
command:
- /ws-gateway
env:

View File

@@ -199,7 +199,7 @@ spec:
value: os_system_search3
containers:
- name: search3
image: beclab/search3:v0.0.28
image: beclab/search3:v0.0.30
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080

4
apps/studio/README.md Normal file
View File

@@ -0,0 +1,4 @@
# devbox
Terminus App development management tools
https://github.com/beclab/devbox

View File

@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/

View File

@@ -0,0 +1,26 @@
apiVersion: v2
name: studio
description: A Terminus app development tool
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.1.3
# 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: "4.9.1"

Binary file not shown.

After

Width:  |  Height:  |  Size: 749 KiB

View File

@@ -0,0 +1,549 @@
{{- $namespace := printf "%s%s" "user-system-" .Values.bfl.username -}}
{{- $studio_secret := (lookup "v1" "Secret" $namespace "studio-secrets") -}}
{{- $pg_password := "" -}}
{{ if $studio_secret -}}
{{ $pg_password = (index $studio_secret "data" "pg_password") }}
{{ else -}}
{{ $pg_password = randAlphaNum 16 | b64enc }}
{{- end -}}
---
apiVersion: v1
kind: Secret
metadata:
name: studio-secrets
namespace: user-system-{{ .Values.bfl.username }}
type: Opaque
data:
pg_password: {{ $pg_password }}
---
apiVersion: apr.bytetrade.io/v1alpha1
kind: MiddlewareRequest
metadata:
name: studio-pg
namespace: user-system-{{ .Values.bfl.username }}
spec:
app: studio
appNamespace: {{ .Release.Namespace }}
middleware: postgres
postgreSQL:
user: studio_{{ .Values.bfl.username }}
password:
valueFrom:
secretKeyRef:
key: pg_password
name: studio-secrets
databases:
- name: studio
---
apiVersion: v1
kind: Service
metadata:
name: studio-server
namespace: {{ .Release.Namespace }}
spec:
selector:
app: studio-server
ports:
- protocol: TCP
port: 8080
targetPort: 8088
name: http
- protocol: TCP
port: 8083
targetPort: 8083
name: https
---
kind: Service
apiVersion: v1
metadata:
name: chartmuseum-studio
namespace: {{ .Release.Namespace }}
spec:
ports:
- name: http
protocol: TCP
port: 8080
targetPort: 8888
selector:
app: studio-server
---
apiVersion: v1
kind: ConfigMap
metadata:
name: studio-san-cnf
namespace: {{ .Release.Namespace }}
data:
san.cnf: |
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
countryName = CN
stateOrProvinceName = Beijing
localityName = Beijing
0.organizationName = bytetrade
commonName = studio-server.{{ .Release.Namespace }}.svc
[v3_req]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @bytetrade
[bytetrade]
DNS.1 = studio-server.{{ .Release.Namespace }}.svc
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: studio-server
namespace: {{ .Release.Namespace }}
labels:
app: studio-server
applications.app.bytetrade.io/author: bytetrade.io
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: studio-server
template:
metadata:
labels:
app: studio-server
spec:
serviceAccountName: bytetrade-controller
volumes:
- name: chart
hostPath:
type: DirectoryOrCreate
path: {{ .Values.userspace.appData}}/studio/Chart
- name: data
hostPath:
type: DirectoryOrCreate
path: {{ .Values.userspace.appData }}/studio/Data
- name: storage-volume
hostPath:
path: {{ .Values.userspace.appData }}/studio/helm-repo-dev
type: DirectoryOrCreate
- name: config-san
configMap:
name: studio-san-cnf
items:
- key: san.cnf
path: san.cnf
- name: sidecar-configs-studio
configMap:
name: sidecar-configs-studio
items:
- key: envoy.yaml
path: envoy.yaml
- name: certs
emptyDir: {}
initContainers:
- name: init-chmod-data
image: busybox:1.28
imagePullPolicy: IfNotPresent
command:
- sh
- '-c'
- |
chown -R 1000:1000 /home/coder
chown -R 65532:65532 /charts
chown -R 65532:65532 /data
securityContext:
runAsUser: 0
resources: { }
volumeMounts:
- name: storage-volume
mountPath: /home/coder
- name: chart
mountPath: /charts
- name: data
mountPath: /data
- name: terminus-sidecar-init
image: aboveos/openservicemesh-init:v1.2.3
imagePullPolicy: IfNotPresent
command:
- /bin/sh
- -c
- |
iptables-restore --noflush <<EOF
# sidecar interception rules
*nat
:PROXY_IN_REDIRECT - [0:0]
:PROXY_INBOUND - [0:0]
:PROXY_OUTBOUND - [0:0]
:PROXY_OUT_REDIRECT - [0:0]
-A PREROUTING -p tcp -j PROXY_INBOUND
-A OUTPUT -p tcp -j PROXY_OUTBOUND
-A PROXY_INBOUND -p tcp --dport 15000 -j RETURN
-A PROXY_INBOUND -p tcp --dport 8083 -j RETURN
-A PROXY_INBOUND -p tcp -j PROXY_IN_REDIRECT
-A PROXY_IN_REDIRECT -p tcp -j REDIRECT --to-port 15003
-A PROXY_OUTBOUND -p tcp --dport 5432 -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 443 -j RETURN
-A PROXY_OUTBOUND -p tcp --dport 8080 -j RETURN
-A PROXY_OUTBOUND -d ${POD_IP}/32 -j RETURN
-A PROXY_OUTBOUND -o lo ! -d 127.0.0.1/32 -m owner --uid-owner 1555 -j PROXY_IN_REDIRECT
-A PROXY_OUTBOUND -o lo -m owner ! --uid-owner 1555 -j RETURN
-A PROXY_OUTBOUND -m owner --uid-owner 1555 -j RETURN
-A PROXY_OUTBOUND -d 127.0.0.1/32 -j RETURN
-A PROXY_OUTBOUND -j PROXY_OUT_REDIRECT
-A PROXY_OUT_REDIRECT -p tcp -j REDIRECT --to-port 15001
COMMIT
EOF
env:
- name: POD_IP
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: status.podIP
securityContext:
privileged: true
capabilities:
add:
- NET_ADMIN
runAsNonRoot: false
runAsUser: 0
- name: generate-certs
image: beclab/openssl:v3
imagePullPolicy: IfNotPresent
command: [ "/bin/sh", "-c" ]
args:
- |
openssl genrsa -out /etc/certs/ca.key 2048
openssl req -new -x509 -days 3650 -key /etc/certs/ca.key -out /etc/certs/ca.crt \
-subj "/CN=bytetrade CA/O=bytetrade/C=CN"
openssl req -new -newkey rsa:2048 -nodes \
-keyout /etc/certs/server.key -out /etc/certs/server.csr \
-config /etc/san/san.cnf
openssl x509 -req -days 3650 -in /etc/certs/server.csr \
-CA /etc/certs/ca.crt -CAkey /etc/certs/ca.key \
-CAcreateserial -out /etc/certs/server.crt \
-extensions v3_req -extfile /etc/san/san.cnf
chown -R 65532 /etc/certs/*
volumeMounts:
- name: config-san
mountPath: /etc/san
- name: certs
mountPath: /etc/certs
containers:
- name: studio
image: beclab/studio-server:v0.1.50
imagePullPolicy: IfNotPresent
args:
- server
ports:
- name: port
containerPort: 8088
protocol: TCP
- name: ssl-port
containerPort: 8083
protocol: TCP
volumeMounts:
- name: chart
mountPath: /charts
- name: data
mountPath: /data
- mountPath: /etc/certs
name: certs
lifecycle:
preStop:
exec:
command:
- "/studio"
- "clean"
env:
- name: BASE_DIR
value: /charts
- name: OS_API_KEY
value: {{ .Values.os.studio.appKey }}
- name: OS_API_SECRET
value: {{ .Values.os.studio.appSecret }}
- name: OS_SYSTEM_SERVER
value: system-server.user-system-{{ .Values.bfl.username }}
- name: NAME_SPACE
value: {{ .Release.Namespace }}
- name: OWNER
value: '{{ .Values.bfl.username }}'
- name: DB_HOST
value: citus-master-svc.user-system-{{ .Values.bfl.username }}
- name: DB_USERNAME
value: studio_{{ .Values.bfl.username }}
- name: DB_PASSWORD
value: "{{ $pg_password | b64dec }}"
- name: DB_NAME
value: user_space_{{ .Values.bfl.username }}_studio
- name: DB_PORT
value: "5432"
resources:
requests:
cpu: "50m"
memory: 100Mi
limits:
cpu: "0.5"
memory: 1000Mi
- name: terminus-envoy-sidecar
image: bytetrade/envoy:v1.25.11.1
imagePullPolicy: IfNotPresent
securityContext:
allowPrivilegeEscalation: false
runAsUser: 1555
ports:
- name: proxy-admin
containerPort: 15000
- name: proxy-inbound
containerPort: 15003
- name: proxy-outbound
containerPort: 15001
resources:
requests:
cpu: "50m"
memory: 100Mi
limits:
cpu: "0.5"
memory: 200Mi
volumeMounts:
- name: sidecar-configs-studio
readOnly: true
mountPath: /etc/envoy/envoy.yaml
subPath: envoy.yaml
command:
- /usr/local/bin/envoy
- --log-level
- debug
- -c
- /etc/envoy/envoy.yaml
env:
- name: POD_UID
valueFrom:
fieldRef:
fieldPath: metadata.uid
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: APP_KEY
value: {{ .Values.os.studio.appKey }}
- name: APP_SECRET
value: {{ .Values.os.studio.appSecret }}
- name: chartmuseum
image: aboveos/helm-chartmuseum:v0.15.0
args:
- '--port=8888'
- '--storage-local-rootdir=/storage'
ports:
- name: http
containerPort: 8888
protocol: TCP
env:
- name: CHART_POST_FORM_FIELD_NAME
value: chart
- name: DISABLE_API
value: 'false'
- name: LOG_JSON
value: 'true'
- name: PROV_POST_FORM_FIELD_NAME
value: prov
- name: STORAGE
value: local
resources:
requests:
cpu: "50m"
memory: 100Mi
limits:
cpu: 1000m
memory: 512Mi
volumeMounts:
- name: storage-volume
mountPath: /storage
livenessProbe:
httpGet:
path: /health
port: http
scheme: HTTP
initialDelaySeconds: 5
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
readinessProbe:
httpGet:
path: /health
port: http
scheme: HTTP
initialDelaySeconds: 5
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
---
apiVersion: v1
data:
envoy.yaml: |
admin:
access_log_path: "/dev/stdout"
address:
socket_address:
address: 0.0.0.0
port_value: 15000
static_resources:
listeners:
- name: listener_0
address:
socket_address:
address: 0.0.0.0
port_value: 15003
listener_filters:
- name: envoy.filters.listener.original_dst
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.listener.original_dst.v3.OriginalDst
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
stat_prefix: desktop_http
upgrade_configs:
- upgrade_type: websocket
- upgrade_type: tailscale-control-protocol
skip_xff_append: false
codec_type: AUTO
route_config:
name: local_route
virtual_hosts:
- name: service
domains: ["*"]
routes:
- match:
prefix: "/"
route:
cluster: original_dst
timeout: 1800s
http_protocol_options:
accept_http_10: true
http_filters:
- name: envoy.filters.http.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
- name: listener_1
address:
socket_address:
address: 0.0.0.0
port_value: 15001
listener_filters:
- name: envoy.filters.listener.original_dst
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.listener.original_dst.v3.OriginalDst
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
stat_prefix: studio_out_http
skip_xff_append: false
codec_type: AUTO
route_config:
name: local_route
virtual_hosts:
- name: service
domains: ["*"]
routes:
- match:
prefix: "/server/intent/send"
request_headers_to_add:
- header:
key: X-App-Key
value: {{ .Values.os.studio.appKey }}
route:
cluster: system-server
prefix_rewrite: /system-server/v2/legacy_api/api.intent/v2/server/intent/send
- match:
prefix: "/"
route:
cluster: original_dst
timeout: 1800s
typed_per_filter_config:
envoy.filters.http.lua:
"@type": type.googleapis.com/envoy.extensions.filters.http.lua.v3.LuaPerRoute
disabled: true
http_protocol_options:
accept_http_10: true
http_filters:
- name: envoy.filters.http.lua
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua
inline_code:
local sha = require("lib.sha2")
function envoy_on_request(request_handle)
local app_key = os.getenv("APP_KEY")
local app_secret = os.getenv("APP_SECRET")
local current_time = os.time()
local minute_level_time = current_time - (current_time % 60)
local time_string = tostring(minute_level_time)
local s = app_key .. app_secret .. time_string
request_handle:logInfo("originstring:" .. s)
local hash = sha.sha256(s)
request_handle:logInfo("Hello World.")
request_handle:logInfo(hash)
request_handle:headers():add("X-Auth-Signature",hash)
end
- name: envoy.filters.http.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
clusters:
- name: original_dst
connect_timeout: 5000s
type: ORIGINAL_DST
lb_policy: CLUSTER_PROVIDED
- name: system-server
connect_timeout: 2s
type: LOGICAL_DNS
dns_lookup_family: V4_ONLY
dns_refresh_rate: 600s
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: system-server
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: system-server.user-system-{{ .Values.bfl.username }}
port_value: 80
kind: ConfigMap
metadata:
name: sidecar-configs-studio
namespace: {{ .Release.Namespace }}

View File

@@ -0,0 +1,44 @@
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
rss:
appKey: '${ks[0]}'
appSecret: test
search:
appKey: '${ks[0]}'
appSecret: test
search2:
appKey: '${ks[0]}'
appSecret: test
kubesphere:
redis_password: ""

View File

@@ -109,6 +109,19 @@ spec:
port: 3010
targetPort: 3010
---
apiVersion: v1
kind: Service
metadata:
name: studio-svc
namespace: {{ .Release.Namespace }}
spec:
selector:
app: system-frontend
ports:
- protocol: TCP
port: 8080
targetPort: 87
---
apiVersion: apps/v1
kind: Deployment
metadata:
@@ -121,11 +134,11 @@ metadata:
applications.app.bytetrade.io/group: 'true'
applications.app.bytetrade.io/author: bytetrade.io
annotations:
applications.app.bytetrade.io/icon: '{"dashboard":"https://file.bttcdn.com/appstore/dashboard/icon.png","control-hub":"https://file.bttcdn.com/appstore/control-hub/icon.png","profile":"https://file.bttcdn.com/appstore/profile/icon.png","wise":"https://file.bttcdn.com/appstore/rss/icon.png","headscale": "https://file.bttcdn.com/appstore/headscale/icon.png","settings": "https://file.bttcdn.com/appstore/settings/icon.png"}'
applications.app.bytetrade.io/title: '{"dashboard": "Dashboard","control-hub":"Control Hub","profile":"Profile","wise":"Wise","headscale":"Headscale","settings":"Settings"}'
applications.app.bytetrade.io/version: '{"dashboard": "0.0.1","control-hub":"0.0.1","profile":"0.0.1","wise":"0.0.1","headscale":"0.0.1","settings":"0.0.1"}'
applications.app.bytetrade.io/icon: '{"dashboard":"https://file.bttcdn.com/appstore/dashboard/icon.png","control-hub":"https://file.bttcdn.com/appstore/control-hub/icon.png","profile":"https://file.bttcdn.com/appstore/profile/icon.png","wise":"https://file.bttcdn.com/appstore/rss/icon.png","headscale": "https://file.bttcdn.com/appstore/headscale/icon.png","settings": "https://file.bttcdn.com/appstore/settings/icon.png","studio":"https://file.bttcdn.com/appstore/devbox/icon.png"}'
applications.app.bytetrade.io/title: '{"dashboard": "Dashboard","control-hub":"Control Hub","profile":"Profile","wise":"Wise","headscale":"Headscale","settings":"Settings","studio":"Studio"}'
applications.app.bytetrade.io/version: '{"dashboard": "0.0.1","control-hub":"0.0.1","profile":"0.0.1","wise":"0.0.1","headscale":"0.0.1","settings":"0.0.1","studio":"0.0.1"}'
applications.app.bytetrade.io/policies: '{"dashboard":{"policies":[{"entranceName":"dashboard","uriRegex":"/js/script.js", "level":"public"},{"entranceName":"dashboard","uriRegex":"/js/api/send", "level":"public"}]}}'
applications.app.bytetrade.io/entrances: '{"dashboard":[{"name":"dashboard","host":"dashboard-service","port":80,"title":"Dashboard","windowPushState":true}],"control-hub":[{"name":"control-hub","host":"control-hub-service","port":80,"title":"Control Hub","windowPushState":true}],"profile":[{"name":"profile", "host":"profile-service", "port":80,"title":"Profile","windowPushState":true}],"wise":[{"name":"wise", "host":"wise-svc", "port":80,"title":"Wise","windowPushState":true}],"headscale":[{"name":"headscale", "host":"headscale-svc", "port":80,"title":"Headscale","invisible": true}],"settings":[{"name":"settings", "host":"settings-service", "port":80,"title":"Settings"}]}'
applications.app.bytetrade.io/entrances: '{"dashboard":[{"name":"dashboard","host":"dashboard-service","port":80,"title":"Dashboard","windowPushState":true}],"control-hub":[{"name":"control-hub","host":"control-hub-service","port":80,"title":"Control Hub","windowPushState":true}],"profile":[{"name":"profile", "host":"profile-service", "port":80,"title":"Profile","windowPushState":true}],"wise":[{"name":"wise", "host":"wise-svc", "port":80,"title":"Wise","windowPushState":true}],"headscale":[{"name":"headscale", "host":"headscale-svc", "port":80,"title":"Headscale","invisible": true}],"settings":[{"name":"settings", "host":"settings-service", "port":80,"title":"Settings"}],"studio":[{"name":"studio","host":"studio-svc","port":8080,"title":"Studio","openMethod":"window"}]}'
spec:
replicas: 1
selector:
@@ -190,7 +203,7 @@ spec:
- mountPath: /www
name: www-dir
- name: control-hub-init
image: beclab/admin-console-frontend-v1:v0.5.1
image: beclab/admin-console-frontend-v1:v0.5.8
imagePullPolicy: IfNotPresent
command:
- /bin/sh
@@ -202,7 +215,7 @@ spec:
- mountPath: /www
name: www-dir
- name: profile-editor-init
image: beclab/profile-editor:v0.2.1
image: beclab/profile-editor:v0.2.21
imagePullPolicy: IfNotPresent
command:
- /bin/sh
@@ -214,7 +227,7 @@ spec:
- mountPath: /www
name: www-dir
- name: profile-preview-init
image: beclab/profile-preview:v0.2.1
image: beclab/profile-preview:v0.2.21
imagePullPolicy: IfNotPresent
command:
- /bin/sh
@@ -226,7 +239,7 @@ spec:
- mountPath: /www
name: www-dir
- name: wise-init
image: beclab/wise:v1.3.38
image: beclab/wise:v1.3.55
imagePullPolicy: IfNotPresent
command:
- /bin/sh
@@ -238,7 +251,7 @@ spec:
- mountPath: /www
name: www-dir
- name: settings-init
image: beclab/settings:v0.2.11
image: beclab/settings:v0.2.19
imagePullPolicy: IfNotPresent
command:
- /bin/sh
@@ -249,6 +262,18 @@ spec:
volumeMounts:
- mountPath: /www
name: www-dir
- name: studio-init
image: beclab/studio:v0.2.11
imagePullPolicy: IfNotPresent
command:
- /bin/sh
- -c
- |
mkdir -p /www/studio
cp -r /app/* /www/studio
volumeMounts:
- mountPath: /www
name: www-dir
containers:
- name: terminus-envoy-sidecar
image: bytetrade/envoy:v1.25.11
@@ -284,6 +309,7 @@ spec:
- containerPort: 84
- containerPort: 85
- containerPort: 86
- containerPort: 87
- containerPort: 8090
command:
- /bin/sh
@@ -321,6 +347,9 @@ spec:
- name: system-frontend-nginx-config
mountPath: /etc/nginx/conf.d/settings.conf
subPath: settings.conf
- name: system-frontend-nginx-config
mountPath: /etc/nginx/conf.d/studio.conf
subPath: studio.conf
env:
- name: POD_UID
valueFrom:
@@ -339,7 +368,7 @@ spec:
fieldRef:
fieldPath: status.podIP
- name: terminus-ws-sidecar
image: 'beclab/ws-gateway:v1.0.4'
image: 'beclab/ws-gateway:v1.0.5'
imagePullPolicy: IfNotPresent
command:
- /ws-gateway
@@ -352,7 +381,7 @@ spec:
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
- name: settings-server
image: beclab/settings-server:v0.2.12
image: beclab/settings-server:v0.2.19
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3000
@@ -423,6 +452,8 @@ spec:
path: headscale.conf
- key: settings.conf
path: settings.conf
- key: studio.conf
path: studio.conf
---
@@ -478,6 +509,31 @@ status:
---
apiVersion: sys.bytetrade.io/v1alpha1
kind: ApplicationPermission
metadata:
name: studio
namespace: user-system-{{ .Values.bfl.username }}
spec:
app: studio
appid: studio
key: {{ .Values.os.studio.appKey }}
secret: {{ .Values.os.studio.appSecret }}
permissions:
- dataType: app
group: service.appstore
ops:
- InstallDevApp
- UninstallDevApp
version: v1
- dataType: legacy_api
group: api.intent
ops:
- POST
version: v2
status:
state: active
---
apiVersion: sys.bytetrade.io/v1alpha1
kind: ApplicationPermission
metadata:
name: settings
namespace: user-system-{{ .Values.bfl.username }}
@@ -1321,3 +1377,189 @@ data:
add_header Cache-Control "public, max-age=2678400";
}
}
studio.conf: |-
upstream SettingsServerStudio {
server monitoring-server.os-system;
}
upstream MiddlewareStudio {
server middleware-service.os-system;
}
upstream AnalyticsStudio {
server anayltic2-server.os-system:3010;
}
server {
listen 87;
# Gzip Settings
gzip off;
gzip_disable "msie6";
gzip_min_length 1k;
gzip_buffers 16 64k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types *;
root /www/studio;
location / {
try_files $uri $uri/index.html /index.html;
add_header Cache-Control "private,no-cache";
add_header Last-Modified "Oct, 03 Jan 2022 13:46:41 GMT";
expires 0;
}
location /api/command {
proxy_pass http://studio-server:8080;
proxy_set_header Host $http_host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header Accept-Encoding gzip;
proxy_read_timeout 180;
}
location /api/apps {
proxy_pass http://studio-server:8080;
proxy_set_header Host $http_host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header Accept-Encoding gzip;
proxy_read_timeout 180;
}
location /api/app-cfg {
proxy_pass http://studio-server:8080;
proxy_set_header Host $http_host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header Accept-Encoding gzip;
proxy_read_timeout 180;
}
location /api/app-state {
proxy_pass http://studio-server:8080;
proxy_set_header Host $http_host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header Accept-Encoding gzip;
proxy_read_timeout 180;
}
location /api/app-status {
proxy_pass http://studio-server:8080;
proxy_set_header Host $http_host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header Accept-Encoding gzip;
proxy_read_timeout 180;
}
location /api/list-my-containers {
proxy_pass http://studio-server:8080;
proxy_set_header Host $http_host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header Accept-Encoding gzip;
proxy_read_timeout 180;
}
location /api/files {
proxy_pass http://studio-server:8080;
proxy_set_header Host $http_host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header Accept-Encoding gzip;
proxy_read_timeout 180;
}
location /ws {
proxy_pass http://127.0.0.1:40010;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
location /bfl {
add_header 'Access-Control-Allow-Headers' 'x-api-nonce,x-api-ts,x-api-ver,x-api-source';
proxy_pass http://bfl;
proxy_set_header Host $host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header X-Frame-Options SAMEORIGIN;
}
location /kapis {
proxy_pass http://SettingsServerStudio;
}
location /api/profile/init {
proxy_pass http://127.0.0.1:3010;
proxy_set_header Host $host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /api {
proxy_pass http://SettingsServerStudio;
}
location /capi {
proxy_pass http://SettingsServerStudio;
proxy_set_header Host $host;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location = /js/api/send {
proxy_pass http://AnalyticsStudio;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
rewrite ^/js(.*)$ $1 break;
}
location /analytics_service {
proxy_pass http://AnalyticsStudio;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
rewrite ^/analytics_service(.*)$ $1 break;
}
location ~ /(kapis/terminal|api/v1/watch|apis/apps/v1/watch) {
proxy_pass http://SettingsServerStudio;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
location = /js/script.js {
add_header Access-Control-Allow-Origin "*";
}
location ~.*\.(js|css|png|jpg|svg|woff|woff2)$ {
add_header Cache-Control "public, max-age=2678400";
}
}

View File

@@ -83,7 +83,7 @@ spec:
value: os_system_vault
containers:
- name: vault-server
image: beclab/vault-server:v1.3.38
image: beclab/vault-server:v1.3.55
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3000
@@ -114,7 +114,7 @@ spec:
- name: vault-attach
mountPath: /padloc/packages/server/attachments
- name: vault-admin
image: beclab/vault-admin:v1.3.38
image: beclab/vault-admin:v1.3.55
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3010

View File

@@ -88,13 +88,13 @@ spec:
containers:
- name: vault-frontend
image: beclab/vault-frontend:v1.3.38
image: beclab/vault-frontend:v1.3.55
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
- name: notification-server
image: beclab/vault-notification:v1.3.38
image: beclab/vault-notification:v1.3.55
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3010

View File

@@ -48,7 +48,7 @@ if (-Not (Test-Path $CLI_PROGRAM_PATH)) {
New-Item -Path $CLI_PROGRAM_PATH -ItemType Directory
}
$CLI_VERSION = "0.1.116"
$CLI_VERSION = "0.1.127"
$CLI_FILE = "olares-cli-v{0}_windows_{1}.tar.gz" -f $CLI_VERSION, $arch
$CLI_URL = "{0}/{1}" -f $downloadUrl, $CLI_FILE
$CLI_PATH = "{0}{1}" -f $CLI_PROGRAM_PATH, $CLI_FILE

View File

@@ -74,7 +74,7 @@ if [ -z ${cdn_url} ]; then
cdn_url="https://dc3p1870nn3cj.cloudfront.net"
fi
CLI_VERSION="0.1.116"
CLI_VERSION="0.1.127"
CLI_FILE="olares-cli-v${CLI_VERSION}_linux_${ARCH}.tar.gz"
if [[ x"$os_type" == x"Darwin" ]]; then
CLI_FILE="olares-cli-v${CLI_VERSION}_darwin_${ARCH}.tar.gz"

View File

@@ -157,7 +157,7 @@ fi
set_master_host_ssh_options
CLI_VERSION="0.1.116"
CLI_VERSION="0.1.127"
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

View File

@@ -146,7 +146,7 @@ function get_app_key_secret(){
function get_app_settings(){
local username=$1
local apps=("vault" "desktop" "message" "wise" "search" "appstore" "notification" "dashboard" "settings" "devbox" "profile" "agent" "files")
local apps=("vault" "desktop" "message" "wise" "search" "appstore" "notification" "dashboard" "settings" "studio" "profile" "agent" "files")
for a in ${apps[@]};do
ks=($(get_app_key_secret "$username" "$a"))
echo '
@@ -175,7 +175,7 @@ function gen_bfl_values(){
echo '
bfl:
nodeport: '${user_bfl_port}'
username: '${username}'
username: "'${username}'"
userspace_rand16: '${userspace_rand16}'
userspace_pv: '${pvc_path[2]}'
@@ -263,7 +263,16 @@ function get_appservice_pod(){
}
function get_appservice_status(){
$sh_c "${KUBECTL} get pod -n os-system -l 'tier=app-service' -o jsonpath='{.items[*].status.phase}'"
local s=$($sh_c "${KUBECTL} get pods app-service-0 -n os-system --no-headers|awk '{print \$3}'")
if [[ $s == "Running" ]]; then
local ip=$($sh_c "${KUBECTL} get svc -n os-system app-service --no-headers|awk '{print \$3}'")
curl -SsIk https://${ip}:8433 > /dev/null
if [[ $? -ne 0 ]]; then
echo "initializing"
fi
fi
echo "$s"
}
function get_desktop_status(){
@@ -279,7 +288,7 @@ function get_vault_status(){
function get_bfl_status(){
local username=$1
$sh_c "${KUBECTL} get pod -n user-space-${username} -l 'tier=bfl' -o jsonpath='{.items[*].status.phase}'"
$sh_c "${KUBECTL} get pods bfl-0 -n user-space-${username} --no-headers|awk '{print \$3}'"
}
function get_fileserver_status(){
@@ -519,17 +528,40 @@ function upgrade_terminus(){
# upgrade_jfs ${users[@]}
local selfhosted=$($sh_c "${KUBECTL} get terminus terminus -o jsonpath='{.spec.settings.selfhosted}'")
local domainname=$($sh_c "${KUBECTL} get terminus terminus -o jsonpath='{.spec.settings.domainName}'")
local current_version=$($sh_c "${KUBECTL} get terminus terminus -o jsonpath='{.spec.version}'")
sed -i "s/#__DOMAIN_NAME__/${domainname}/" ${BASE_DIR}/wizard/config/settings/templates/terminus_cr.yaml
sed -i "s/#__SELFHOSTED__/${selfhosted}/" ${BASE_DIR}/wizard/config/settings/templates/terminus_cr.yaml
echo "Upgrading olares system components ... "
gen_settings_values ${admin_user}
ensure_success $sh_c "${HELM} upgrade -i settings ${BASE_DIR}/wizard/config/settings -n default --reuse-values"
ensure_success $sh_c "${HELM} upgrade -i settings ${BASE_DIR}/wizard/config/settings -n default --reuse-values --atomic"
local new_version=$($sh_c "${KUBECTL} get terminus terminus -o jsonpath='{.spec.version}'")
if [ "$new_version" == "$current_version" ]; then
echo "get new version error, try to get from file"
new_version=$(grep version ${BASE_DIR}/wizard/config/settings/templates/terminus_cr.yaml|awk '{print $2}')
echo "find new version from file: ${new_version}"
fi
$sh_c "${KUBECTL} patch terminus terminus --type=merge --patch='{\"spec\": {\"version\":\"${current_version}\"}}'"
# patch
ensure_success $sh_c "${KUBECTL} apply -f ${BASE_DIR}/deploy/patch-globalrole-workspace-manager.yaml"
ensure_success $sh_c "$KUBECTL apply -f ${BASE_DIR}/deploy/patch-notification-manager.yaml"
echo "Upgrading admin ${admin_user}'s launcher ... "
gen_bfl_values ${admin_user}
# gen bfl app key and secret
bfl_ks=($(get_app_key_secret ${admin_user} "bfl"))
# install launcher , and init pv
ensure_success $sh_c "${HELM} upgrade -i launcher-${admin_user} ${BASE_DIR}/wizard/config/launcher -n user-space-${admin_user} --set bfl.appKey=${bfl_ks[0]} --set bfl.appSecret=${bfl_ks[1]} -f ${BASE_DIR}/wizard/config/launcher/values.yaml --reuse-values"
echo 'Starting BFL ...'
check_bfl ${admin_user}
echo
# clear apps values.yaml
cat /dev/null > ${BASE_DIR}/wizard/config/apps/values.yaml
cat /dev/null > ${BASE_DIR}/wizard/config/launcher/values.yaml
@@ -540,49 +572,8 @@ function upgrade_terminus(){
done
local ks_redis_pwd=$($sh_c "${KUBECTL} get secret -n kubesphere-system redis-secret -o jsonpath='{.data.auth}' |base64 -d")
for user in ${users[@]}; do
echo "Upgrading user ${user} ... "
gen_bfl_values ${user}
# gen bfl app key and secret
bfl_ks=($(get_app_key_secret ${user} "bfl"))
# install launcher , and init pv
ensure_success $sh_c "${HELM} upgrade -i launcher-${user} ${BASE_DIR}/wizard/config/launcher -n user-space-${user} --set bfl.appKey=${bfl_ks[0]} --set bfl.appSecret=${bfl_ks[1]} -f ${BASE_DIR}/wizard/config/launcher/values.yaml --reuse-values"
gen_app_values ${user}
close_apps ${user}
for appdir in "${BASE_DIR}/wizard/config/apps"/*/; do
if [ -d "$appdir" ]; then
releasename=$(basename "$appdir")
if [ "$user" != "$admin_user" ];then
releasename=${releasename}-${user}
fi
ensure_success $sh_c "${HELM} upgrade -i ${releasename} ${appdir} -n user-space-${user} --reuse-values --set kubesphere.redis_password=${ks_redis_pwd} -f ${BASE_DIR}/wizard/config/apps/values.yaml"
fi
done
done
echo 'Waiting for Vault ...'
check_vault ${admin_user}
echo
echo 'Starting BFL ...'
check_bfl ${admin_user}
echo
echo 'Starting files ...'
check_fileserver
check_filesfe ${admin_user}
echo
echo 'Starting Desktop ...'
check_desktop ${admin_user}
echo
# upgrade app service in the last. keep app service online longer
# upgrade app service
local terminus_is_cloud_version=$($sh_c "${KUBECTL} get cm -n os-system backup-config -o jsonpath='{.data.terminus-is-cloud-version}'")
local backup_cluster_bucket=$($sh_c "${KUBECTL} get cm -n os-system backup-config -o jsonpath='{.data.backup-cluster-bucket}'")
local backup_key_prefix=$($sh_c "${KUBECTL} get cm -n os-system backup-config -o jsonpath='{.data.backup-key-prefix}'")
@@ -594,10 +585,72 @@ function upgrade_terminus(){
--set backup.key_prefix=\"${backup_key_prefix}\" --set backup.is_cloud_version=\"${terminus_is_cloud_version}\" \
--set backup.sync_secret=\"${backup_secret}\""
local market_provider=$($sh_c "${KUBECTL} get deploy -n user-space-${admin_user} market-deployment -o jsonpath='{.spec.template.spec.containers[1].env[?(@.name==\"MARKET_PROVIDER\")].value }'")
if [ "$market_provider" != "" ]; then
$sh_c "${KUBECTL} set env sts/app-service -n os-system MARKET_PROVIDER=${market_provider}"
fi
echo 'Waiting for App-Service ...'
check_appservice
sleep 2 # wait for controller reconiling
echo
# update kvrocks namespace
$sh_c "${KUBECTL} rollout restart deployment tapr-middleware -n os-system"
for user in ${users[@]}; do
check_appservice
echo "Upgrading user ${user} ... "
gen_bfl_values ${user}
if [ "$user" != "$admin_user" ];then
# gen bfl app key and secret
bfl_ks=($(get_app_key_secret ${user} "bfl"))
# install launcher , and init pv
ensure_success $sh_c "${HELM} upgrade -i launcher-${user} ${BASE_DIR}/wizard/config/launcher -n user-space-${user} --set bfl.appKey=${bfl_ks[0]} --set bfl.appSecret=${bfl_ks[1]} -f ${BASE_DIR}/wizard/config/launcher/values.yaml --reuse-values"
fi
gen_app_values ${user}
close_apps ${user}
for appdir in "${BASE_DIR}/wizard/config/apps"/*/; do
if [ -d "$appdir" ]; then
releasename=$(basename "$appdir")
# ignore wizard
# FIXME: unintitialized user's wizard should be upgrade
if [ x"${releasename}" == x"wizard" ]; then
continue
fi
if [ "$user" != "$admin_user" ];then
releasename=${releasename}-${user}
fi
ensure_success $sh_c "${HELM} upgrade -i ${releasename} ${appdir} -n user-space-${user} --reuse-values --set kubesphere.redis_password=${ks_redis_pwd} -f ${BASE_DIR}/wizard/config/apps/values.yaml"
fi
done
# update user market env
if [[ "$user" != "$admin_user" && "$market_provider" != "" ]];then
$sh_c "${KUBECTL} set env deployment/market-deployment -n user-space-${user} MARKET_PROVIDER=${market_provider}"
fi
done
echo 'Waiting for Vault ...'
check_vault ${admin_user}
echo
echo 'Starting files ...'
check_fileserver
check_filesfe ${admin_user}
echo
echo 'Starting Desktop ...'
check_desktop ${admin_user}
echo
$sh_c "${KUBECTL} patch terminus terminus --type=merge --patch='{\"spec\": {\"version\":\"${new_version}\"}}'"
}

View File

@@ -7,14 +7,14 @@ metadata:
iam.kubesphere.io/uninitialized: "true"
helm.sh/resource-policy: keep
bytetrade.io/owner-role: platform-admin
bytetrade.io/terminus-name: {{.Values.user.terminus_name}}
bytetrade.io/terminus-name: "{{.Values.user.terminus_name}}"
bytetrade.io/launcher-auth-policy: two_factor
bytetrade.io/launcher-access-level: "1"
{{ if .Values.nat_gateway_ip }}
bytetrade.io/nat-gateway-ip: {{ .Values.nat_gateway_ip }}
{{ end }}
spec:
email: {{.Values.user.email}}
password: {{.Values.user.password}}
email: "{{.Values.user.email}}"
password: "{{.Values.user.password}}"
status:
state: Active

View File

@@ -1,4 +1,4 @@
olaresd-v0.0.60.tar.gz,pkg/components,https://dc3p1870nn3cj.cloudfront.net/olaresd-v0.0.60-linux-amd64.tar.gz,https://dc3p1870nn3cj.cloudfront.net/olaresd-v0.0.60-linux-arm64.tar.gz,olaresd
olaresd-v1.11.7.tar.gz,pkg/components,https://dc3p1870nn3cj.cloudfront.net/olaresd-v1.11.7-linux-amd64.tar.gz,https://dc3p1870nn3cj.cloudfront.net/olaresd-v1.11.7-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
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
@@ -20,3 +20,5 @@ debian11_cuda-keyring_1.1-1_all.deb,pkg/components,https://developer.download.nv
libnvidia-gpgkey,pkg/components,https://nvidia.github.io/libnvidia-container/gpgkey,https://nvidia.github.io/libnvidia-container/gpgkey,libnvidia-gpgkey
libnvidia-container.list,pkg/components,https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list,https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list,libnvidia-container.list
restic-linux-0.17.3,pkg/components,https://github.com/restic/restic/releases/download/v0.17.3/restic_0.17.3_linux_amd64.bz2,https://github.com/restic/restic/releases/download/v0.17.3/restic_0.17.3_linux_arm64.bz2,restic
restic-darwin-0.17.3,pkg/components,https://github.com/restic/restic/releases/download/v0.17.3/restic_0.17.3_darwin_amd64.bz2,https://github.com/restic/restic/releases/download/v0.17.3/restic_0.17.3_darwin_arm64.bz2,restic

View File

@@ -1,4 +1,4 @@
beclab/ks-apiserver:v3.3.0-ext-3
beclab/ks-apiserver:v3.3.0-ext-5
beclab/kube-state-metrics:v2.3.0-ext
beclab/notification-manager-ext:v0.1.1-ext
beclab/notification-manager-operator-ext:v0.1.0-ext
@@ -53,7 +53,7 @@ quay.io/argoproj/workflow-controller:v3.5.0
redis:5.0.14-alpine
beclab/velero:v1.11.3
beclab/velero-plugin-for-terminus:v1.0.2
beclab/l4-bfl-proxy:v0.2.7
beclab/l4-bfl-proxy:v0.2.8
gcr.io/k8s-minikube/storage-provisioner:v5
owncloudci/wait-for:latest
beclab/recommend-argotask:v0.0.12
@@ -67,6 +67,7 @@ rancher/mirrored-library-busybox:1.34.1
rancher/mirrored-library-traefik:2.6.2
rancher/mirrored-metrics-server:v0.5.2
rancher/mirrored-pause:3.6
beclab/reverse-proxy:v0.1.4
beclab/reverse-proxy:v0.1.9
beclab/upgrade-job:0.1.7
bytetrade/envoy:v1.25.11.1
alpine:3.14

View File

@@ -116,6 +116,8 @@ spec:
ports:
items:
properties:
addToTailscaleAcl:
type: boolean
exposePort:
format: int32
type: integer
@@ -128,7 +130,7 @@ spec:
type: integer
protocol:
description: The protocol for this entrance. Supports "tcp"
and "udp". Default is tcp.
and "udp","". Default is tcp/udp, "" mean tcp and udp.
type: string
required:
- host
@@ -141,6 +143,33 @@ spec:
type: string
description: the extend settings of the application
type: object
tailscale:
properties:
acls:
items:
properties:
action:
type: string
dst:
items:
type: string
type: array
proto:
type: string
src:
items:
type: string
type: array
required:
- dst
- proto
type: object
type: array
subRoutes:
items:
type: string
type: array
type: object
tailscaleAcls:
items:
properties:

View File

@@ -149,7 +149,7 @@ spec:
priorityClassName: "system-cluster-critical"
containers:
- name: app-service
image: beclab/app-service:0.2.82
image: beclab/app-service:0.2.98
imagePullPolicy: IfNotPresent
securityContext:
runAsUser: 0
@@ -163,9 +163,9 @@ spec:
- name: KS_APISERVER_SERVICE_PORT
value: '80'
- name: REQUIRE_PERMISSION_APPS
value: "vault,desktop,message,wise,search,appstore,notification,dashboard,settings,devbox,profile"
value: "vault,desktop,message,wise,search,appstore,notification,dashboard,settings,studio,profile"
- name: SYS_APPS
value: "analytics,market,auth,citus,desktop,did,docs,files,fsnotify,headscale,infisical,intentprovider,ksserver,message,mongo,monitoring,notifications,profile,redis,wise,recommend,seafile,search,search-admin,settings,systemserver,tapr,vault,video,zinc,accounts,control-hub,dashboard,nitro,system-frontend"
value: "analytics,market,auth,citus,desktop,did,docs,files,fsnotify,headscale,infisical,intentprovider,ksserver,message,mongo,monitoring,notifications,profile,redis,wise,recommend,seafile,search,search-admin,settings,systemserver,tapr,vault,video,zinc,accounts,control-hub,dashboard,nitro,system-frontend,studio"
- name: GENERATED_APPS
value: "citus,mongo-cluster-cfg,mongo-cluster-mongos,mongo-cluster-rs0,frp-agent,l4-bfl-proxy,drc-redis-cluster,appdata-backend,argoworkflows,argoworkflow-workflow-controller,velero,kvrocks"
- name: WS_CONTAINER_IMAGE
@@ -367,7 +367,7 @@ spec:
hostNetwork: true
containers:
- name: image-service
image: beclab/image-service:0.2.66
image: beclab/image-service:0.2.98
imagePullPolicy: IfNotPresent
securityContext:
runAsUser: 0

View File

@@ -243,7 +243,7 @@ spec:
containers:
- name: api
image: beclab/bfl:v0.3.70
image: beclab/bfl:v0.3.74
imagePullPolicy: IfNotPresent
securityContext:
runAsUser: 1000
@@ -287,16 +287,20 @@ spec:
- name: BACKUP_SERVER
value: backup-server.os-system:8082
- name: L4_PROXY_IMAGE_VERSION
value: v0.2.7
value: v0.2.8
- name: REVERSE_PROXY_AGENT_IMAGE_VERSION
value: v0.1.4
value: v0.1.9
- name: TERMINUS_CERT_SERVICE_API
value: {{ .Values.bfl.terminus_cert_service_api }}
- name: TERMINUS_DNS_SERVICE_API
value: {{ .Values.bfl.terminus_dns_service_api }}
- name: NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
- name: ingress
image: beclab/bfl-ingress:v0.2.22
image: beclab/bfl-ingress:v0.2.23
imagePullPolicy: IfNotPresent
volumeMounts:
- name: ngxlog

View File

@@ -99,7 +99,7 @@ spec:
- name: DISABLE_TELEMETRY
value: "false"
- name: operator-api
image: beclab/middleware-operator:0.1.40
image: beclab/middleware-operator:0.1.43
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9080

View File

@@ -77,7 +77,7 @@ spec:
memory: 1Gi
requests:
cpu: 20m
memory: 100Mi
memory: 60Mi

View File

@@ -338,7 +338,7 @@ spec:
containers:
- name: authelia
image: beclab/auth:0.1.41
image: beclab/auth:0.1.44
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9091

View File

@@ -28,7 +28,7 @@ spec:
name: check-auth
containers:
- name: auth-front
image: beclab/login:v0.1.39
image: beclab/login:v0.1.40
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80

View File

@@ -286,6 +286,8 @@ spec:
- name: proxy
containerPort: 8080
env:
- name: INFISICAL_URL
value: http://localhost:4000
- name: OWNER
value: '{{ .Values.bfl.username }}'
- name: PG_USER