Compare commits

...

38 Commits

Author SHA1 Message Date
yyh
e175abe13a fix(system-frontend): update files-frontend image version to v1.3.79 2025-06-17 21:50:20 +08:00
yyh
98b680d0ad feat: update apps image and monitoring server versions 2025-06-17 21:34:26 +08:00
eball
daacba2fa4 cli,bfl,app-service: new namespace structure (#1443)
* refactor: os-system namespace in yaml

* refactor: new namespace structure

* Update system-frontend.yaml

* Update lldap-deployment.yaml

* refactor: bump system server version

* fix: bfl and gpu scheduler

* fix: kubesphere,studio-server image

* tapr: bump components version

* chore(ks_server): os-system namespace split

* backup-server: bump components version

* fix: remove nats-box

* fix: restore backup svc name

* files: bump components version

* fix: replace backup deployment name

* fix: change lldap and sys-event namespace

* refactor(gpu): update hami to use gpu-scheduler in os-gpu

* fix: sign cert for otel

* fix: template bug

* fix: template bug

* fix: missing namespace

* fix: namespace label and network policy bug

* fix: service namespace

---------

Co-authored-by: Peng Peng <billpengpeng@gmail.com>
Co-authored-by: hys <hysyeah@gmail.com>
Co-authored-by: yyh <24493052+yongheng2016@users.noreply.github.com>
Co-authored-by: aby913 <aby913@163.com>
Co-authored-by: dkeven <dkvvven@gmail.com>
2025-06-16 23:12:57 +08:00
dkeven
018b3ef3cc refactor(cli): distinguish between 32-bit and 64-bit arch in release ci (#1447) 2025-06-16 21:52:57 +08:00
dkeven
ddaa0daf14 fix(daemon): do not manage network interfaces of K8s (#1446) 2025-06-16 19:50:25 +08:00
salt
13e924fcc7 fix: fix search3 error (#1444)
fix: fix search3 escape error

Co-authored-by: Ubuntu <ubuntu@localhost.localdomain>
2025-06-16 13:27:15 +08:00
wiy
6b3032f04d feat(system-frontend): update system frontend apps new version (#1441)
feat(system-frontend): update system frontend apps version
2025-06-13 00:16:22 +08:00
simon
4f08f5f341 knowledge: fix article extractor bugs (#1440)
dev
2025-06-12 23:47:24 +08:00
eball
67e91df96b daemon: add api to dashboard (#1439)
* daemon: change the module name of the olares-daemon

* daemon: add api to dashboard

* daemon: add api to dashboard
2025-06-12 23:46:56 +08:00
hysyeah
e915b70e4b fix: cpu temp metric (#1438) 2025-06-12 23:46:34 +08:00
salt
e1ca1a97db feat: remove pure lingua-rs language detection method (#1437)
* feat: remove pure lingua-rs language detection method

* feat: comment MONITOR_DETECOTR code

---------

Co-authored-by: Ubuntu <ubuntu@localhost.localdomain>
2025-06-12 21:25:38 +08:00
eball
688c4b4010 daemon: change the module name of the olares-daemon (#1436) 2025-06-12 14:23:19 +08:00
salt
52f6dc7159 fix: fix monitor document title detection language error (#1435)
* fix: fix monitor document title detection language error

* fix: when upload folder or file, rename error

---------

Co-authored-by: Ubuntu <ubuntu@localhost.localdomain>
2025-06-12 11:53:03 +08:00
aby913
9f824292d1 backup-server: fix backup period calculation (#1434) 2025-06-12 11:51:02 +08:00
aby913
1bef38380e files: refactor cloud call service (#1433) 2025-06-11 23:50:21 +08:00
yyh
b83729f6d8 fix(system-frontend/app-service/bfl): update system-frontend , app-service and bfl (#1432)
fix(system-frontend/app-service/bfl): update images for dashboard, settings, app-service, and bfl to latest versions
2025-06-11 23:06:54 +08:00
eball
d484e41bbd cli: change the module name of the cli (#1431) 2025-06-11 23:06:24 +08:00
dkeven
f9072c9312 feat(gpu): auto-create GPUBindings for pods falling back to timeslicing GPUs (#1430)
* feat(gpu): auto-create GPUBindings for pods falling back to timeslicing GPUs

* fix: apt install libudev failed

* feat(gpu): auto-create GPUBindings for pods falling back to timeslicing GPUs

---------

Co-authored-by: eball <liuy102@hotmail.com>
2025-06-11 17:44:48 +08:00
dkeven
fb78685c1e fix(manifest): add missing citus image (#1429)
* fix(manifest): add missing citus image

* fix: deploy the new version citus

* fix: apt install libudev failed

* fix(manifest): add missing citus image

* fix: deploy the new version citus

---------

Co-authored-by: eball <liuy102@hotmail.com>
2025-06-11 17:44:17 +08:00
eball
bb7eba1f92 fix: apt install libudev failed 2025-06-11 17:07:01 +08:00
dkeven
3f778d63c1 fix(gpu): use node affinity to select master node for hami-scheduler (#1428) 2025-06-11 13:23:14 +08:00
eball
161f84bc59 gpu: set the real memory env to pod (#1424)
* gpu: add lock to launch kernel functions

* gpu: set the real memory env to pod

* gpu: set the real memory env to pod

* Update values.yaml

* Update Olares.yaml
2025-06-11 01:34:53 +08:00
wiy
9168e3d358 fix(desktop): upgrade websocket notification and search error (#1426)
* feat(system-frontend): update desktop&market&user-service new version

* feat: update the mirror versions of dashboard, control-hub and studio

* fix(desktop): search error and upgrade websocket notification bugs

---------

Co-authored-by: yyh <24493052+yongheng2016@users.noreply.github.com>
2025-06-10 23:48:45 +08:00
Peng Peng
085da97ca5 feat(notification): update to 1.12.6 to receive message from nats subject (#1425) 2025-06-10 23:48:23 +08:00
lovehunter9
eed5632794 fix: files-server copy task cancel bug (#1423) 2025-06-10 23:47:55 +08:00
hysyeah
d7cd77f941 fix: add wait for lldap, bfl (#1422)
* fix: add wait for lldap, bfl

* fix: user controller rate limited
2025-06-10 23:47:27 +08:00
dkeven
bb8fbb239d feat(gpu): add APIs to manage GPU mode and app binding (#1421) 2025-06-10 23:47:00 +08:00
salt
b09ef303d1 fix: fix delete event bug (#1420)
Co-authored-by: Ubuntu <ubuntu@localhost.localdomain>
2025-06-10 23:45:30 +08:00
hysyeah
e532682558 fix: move USER_INDEX env to front (#1419) 2025-06-10 23:45:03 +08:00
wiy
1b3deedc47 feat(system-frontend): update desktop&market&user-service new version (#1418)
* feat(system-frontend): update desktop&market&user-service new version

* feat: update the mirror versions of dashboard, control-hub and studio

---------

Co-authored-by: yyh <24493052+yongheng2016@users.noreply.github.com>
2025-06-10 01:19:52 +08:00
hysyeah
8c68fcf89c tapr: coredns set tailscale sub dns (#1417)
tapr: add subdns for cordns
2025-06-10 01:19:20 +08:00
dkeven
3f8e046855 fix(ci): copy back joincluster script before releasing (#1416) 2025-06-10 01:18:45 +08:00
hysyeah
4de8756cac fix: remove studio server envoy sidecar (#1415) 2025-06-10 01:17:57 +08:00
eball
1e729ec2ee gpu: add lock to launch kernel functions (#1413) 2025-06-07 00:48:28 +08:00
0x7fffff92
cffa3bb1cc feat: all tailscale use tun interface (#1391)
* feat: all tailscale use tun interface

* remove host subnet route

* adjust tun naming rules

* feat: files-server batch_delete (#1409)

* feat: files-server batch_delete

* feat: files-server delete all for search3

* tapr: bump postgresql and citus version & optimize middleware api (#1410)

* fix: fix movedto event error (#1411)

Co-authored-by: Ubuntu <ubuntu@localhost.localdomain>

* feat: add user index and inject

* feat(desktop & login): update desktop refresh token
feat(user-service): update ws config

---------

Co-authored-by: 0x7fffff92 <0x7fffff92@example.com>
Co-authored-by: eball <liuy102@hotmail.com>
Co-authored-by: lovehunter9 <39935488+lovehunter9@users.noreply.github.com>
Co-authored-by: salt <bleachzou2@163.com>
Co-authored-by: Ubuntu <ubuntu@localhost.localdomain>
Co-authored-by: hys <hysyeah@gmail.com>
Co-authored-by: qq815776412 <815776412@qq.com>
2025-06-07 00:48:09 +08:00
salt
4781090e29 fix: fix movedto event error (#1411)
Co-authored-by: Ubuntu <ubuntu@localhost.localdomain>
2025-06-06 20:23:26 +08:00
eball
e0cbc9d874 tapr: bump postgresql and citus version & optimize middleware api (#1410) 2025-06-06 20:22:48 +08:00
lovehunter9
e0ba27f7d0 feat: files-server batch_delete (#1409)
* feat: files-server batch_delete

* feat: files-server delete all for search3
2025-06-06 20:22:12 +08:00
527 changed files with 17955 additions and 12492 deletions

View File

@@ -31,7 +31,7 @@ jobs:
- name: install udev-devel
run: |
sudo apt install -y libudev-dev
sudo apt update && sudo apt install -y libudev-dev
- name: Install x86_64 cross-compiler
run: sudo apt-get update && sudo apt-get install -y build-essential

View File

@@ -150,6 +150,7 @@ jobs:
cp .dist/install-wizard/install.sh build/base-package
cp build/base-package/install.sh build/base-package/publicInstaller.sh
cp .dist/install-wizard/install.ps1 build/base-package
cp .dist/install-wizard/joincluster.sh build/base-package
- name: Release public files
uses: softprops/action-gh-release@v1

View File

@@ -121,6 +121,7 @@ jobs:
cp build/base-package/install.sh build/base-package/publicInstaller.latest
cp .dist/install-wizard/install.ps1 build/insbase-packagetaller
cp build/base-package/install.ps1 build/base-package/publicInstaller.latest.ps1
cp .dist/install-wizard/joincluster.sh build/base-package
- name: Release public files
uses: softprops/action-gh-release@v1

1
.gitignore vendored
View File

@@ -31,3 +31,4 @@ olares-cli-*.tar.gz
.DS_Store
cli/output
daemon/output
daemon/bin

View File

@@ -62,7 +62,7 @@ spec:
initContainers:
- args:
- -it
- authelia-backend.os-system:9091
- authelia-backend.os-framework:9091
image: owncloudci/wait-for:latest
imagePullPolicy: IfNotPresent
name: check-auth
@@ -118,7 +118,7 @@ spec:
- name: APP_SOTRE_SERVICE_SERVICE_PORT
value: '443'
- name: APP_SERVICE_SERVICE_HOST
value: app-service.os-system
value: app-service.os-framework
- name: APP_SERVICE_SERVICE_PORT
value: '6755'
- name: REPO_URL_PORT
@@ -271,7 +271,7 @@ spec:
dataType: app
deployment: market
description: app store provider
endpoint: appstore-service.{{ .Release.Namespace }}
endpoint: appstore-service.{{ .Release.Namespace }}:81
group: service.appstore
kind: provider
namespace: {{ .Release.Namespace }}

View File

@@ -140,12 +140,6 @@ spec:
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:
@@ -169,61 +163,6 @@ spec:
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
@@ -249,7 +188,7 @@ spec:
containers:
- name: studio
image: beclab/studio-server:v0.1.50
image: beclab/studio-server:v0.1.51
imagePullPolicy: IfNotPresent
args:
- server
@@ -303,58 +242,6 @@ spec:
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:
@@ -404,146 +291,4 @@ spec:
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 }}
failureThreshold: 3

View File

@@ -165,7 +165,7 @@ metadata:
namespace: {{ .Release.Namespace }}
spec:
type: ExternalName
externalName: vault-server.os-system.svc.cluster.local
externalName: vault-server.os-framework.svc.cluster.local
ports:
- protocol: TCP
port: 3010
@@ -279,7 +279,7 @@ spec:
initContainers:
- args:
- -it
- authelia-backend.os-system:9091,infisical-service:80,system-server.user-system-{{ .Values.bfl.username }}:80,nats.user-system-{{ .Values.bfl.username }}:4222
- authelia-backend.os-framework:9091,infisical-service:80,system-server.user-system-{{ .Values.bfl.username }}:80,nats.user-system-{{ .Values.bfl.username }}:4222
image: owncloudci/wait-for:latest
imagePullPolicy: IfNotPresent
name: check-auth
@@ -316,7 +316,7 @@ spec:
apiVersion: v1
fieldPath: status.podIP
- name: dashboard-init
image: beclab/dashboard-frontend-v1:v0.4.9
image: beclab/dashboard:v1.3.79
imagePullPolicy: IfNotPresent
command:
- /bin/sh
@@ -328,7 +328,7 @@ spec:
- mountPath: /www
name: www-dir
- name: control-hub-init
image: beclab/admin-console-frontend-v1:v0.5.8
image: beclab/control-hub:v1.3.79
imagePullPolicy: IfNotPresent
command:
- /bin/sh
@@ -364,7 +364,7 @@ spec:
- mountPath: /www
name: www-dir
- name: wise-init
image: beclab/wise:v1.3.55
image: beclab/wise:v1.3.79
imagePullPolicy: IfNotPresent
command:
- /bin/sh
@@ -376,7 +376,7 @@ spec:
- mountPath: /www
name: www-dir
- name: settings-init
image: beclab/settings:v1.3.71
image: beclab/settings:v1.3.76
imagePullPolicy: IfNotPresent
command:
- /bin/sh
@@ -388,7 +388,7 @@ spec:
- mountPath: /www
name: www-dir
- name: studio-init
image: beclab/studio:v0.2.16
image: beclab/studio:v1.3.73
imagePullPolicy: IfNotPresent
command:
- /bin/sh
@@ -435,7 +435,7 @@ spec:
- name: PGDB
value: user_space_{{ .Values.bfl.username }}_cloud_drive_integration
- name: files-frontend-init
image: beclab/files-frontend:v1.3.68
image: beclab/files-frontend:v1.3.79
imagePullPolicy: IfNotPresent
command:
- /bin/sh
@@ -471,7 +471,7 @@ spec:
- mountPath: /www
name: www-dir
- name: edge-desktop-init
image: beclab/desktop:v1.3.70
image: beclab/desktop:v1.3.76
imagePullPolicy: IfNotPresent
command:
- /bin/sh
@@ -600,7 +600,7 @@ spec:
- name: NATS_PASSWORD
value: {{ $files_frontend_nats_password | b64dec }}
- name: NATS_SUBJECT
value: terminus.os-system.files-notify
value: terminus.os-framework.files-notify
- name: apiServerURL
value: http://bfl.{{ .Release.Namespace }}:8080
- name: NATS_USERNAME_USERSERVICE
@@ -611,22 +611,9 @@ spec:
key: nats_password
name: user-service-nats-secret
- name: NATS_SUBJECT_USER_APPS
value: terminus.user.*.{{ .Values.bfl.username}}
- name: terminus-ws-sidecar
image: 'beclab/ws-gateway:v1.0.5'
imagePullPolicy: IfNotPresent
command:
- /ws-gateway
env:
- name: WS_PORT
value: '3010'
- name: WS_URL
value: /websocket/message
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
value: terminus.user.vault.{{ .Values.bfl.username}}
- name: user-service
image: beclab/user-service:v0.0.10
image: beclab/user-service:v0.0.18
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3000
@@ -650,7 +637,7 @@ spec:
- name: TERMINUSD_HOST
value: $(NODE_IP):18088
- name: APP_SERVICE_SERVICE_HOST
value: app-service.os-system
value: app-service.os-framework
- name: APP_SERVICE_SERVICE_PORT
value: '6755'
- name: APP_SERVICE_CHAIN_ID
@@ -682,6 +669,21 @@ spec:
name: user-service-nats-secret
- name: NATS_SUBJECT_USER_APPS
value: terminus.user.*.{{ .Values.bfl.username}}
- name: NATS_SUBJECT_USER_VAULT
value: terminus.user.vault.{{ .Values.bfl.username}}
- name: NATS_SUBJECT_USER_KNOWLEDGE
value: terminus.user.knowledge.{{ .Values.bfl.username}}
- name: NATS_SUBJECT_USER_MARKET
value: terminus.user.market.{{.Values.bfl.username}}
- name: NATS_SUBJECT_USER_NOTIFICATION
value: terminus.user.notification.{{.Values.bfl.username}}
- name: NATS_SUBJECT_USER_SEARCH
value: terminus.user.search.{{.Values.bfl.username}}
- name: NATS_SUBJECT_USER_SEAHUB
value: terminus.user.seahub.{{.Values.bfl.username}}
- name: NATS_SUBJECT_USER_APPLICATION
value: terminus.user.application.{{.Values.bfl.username}}
- name: drive-server
image: beclab/drive:v0.0.72
imagePullPolicy: IfNotPresent
@@ -736,7 +738,7 @@ spec:
path: '{{ .Values.userspace.userData }}'
- name: terminus-sidecar-config
configMap:
name: sidecar-ws-configs
name: user-service-sidecar-ws-configs
items:
- key: envoy.yaml
path: envoy.yaml
@@ -933,16 +935,16 @@ spec:
name: files-frontend-nats-secrets
refs:
- appName: files-server
appNamespace: os-system
appNamespace: os-framework
subjects:
- name: files-notify
perm:
- pub
- sub
- appName: user-files
appNamespace: "user.{{ .Values.bfl.username }}"
- appName: user-service
appNamespace: user
subjects:
- name: files
- name: "files.*"
perm:
- pub
- sub
@@ -1007,7 +1009,7 @@ data:
http_service:
path_prefix: '/api/verify/'
server_uri:
uri: authelia-backend.os-system:9091
uri: authelia-backend.os-framework:9091
cluster: authelia
timeout: 2s
authorization_request:
@@ -1103,7 +1105,7 @@ data:
- endpoint:
address:
socket_address:
address: files-service.os-system
address: files-service.os-framework
port_value: 80
- name: authelia
connect_timeout: 2s
@@ -1118,7 +1120,7 @@ data:
- endpoint:
address:
socket_address:
address: authelia-backend.os-system
address: authelia-backend.os-framework
port_value: 9091
- name: images
connect_timeout: 5s
@@ -1457,7 +1459,7 @@ metadata:
namespace: {{ .Release.Namespace }}
spec:
type: ExternalName
externalName: vault-server.os-system.svc.cluster.local
externalName: vault-server.os-framework.svc.cluster.local
ports:
- protocol: TCP
port: 3000
@@ -1676,7 +1678,7 @@ data:
http_service:
path_prefix: '/api/verify/'
server_uri:
uri: authelia-backend.os-system:9091
uri: authelia-backend.os-framework:9091
cluster: authelia
timeout: 2s
authorization_request:
@@ -1774,7 +1776,7 @@ data:
- endpoint:
address:
socket_address:
address: authelia-backend.os-system
address: authelia-backend.os-framework
port_value: 9091
- name: images
connect_timeout: 5s
@@ -1853,7 +1855,7 @@ data:
http_service:
path_prefix: '/api/verify/'
server_uri:
uri: authelia-backend.os-system:9091
uri: authelia-backend.os-framework:9091
cluster: authelia
timeout: 2s
authorization_request:
@@ -1964,7 +1966,7 @@ data:
- endpoint:
address:
socket_address:
address: authelia-backend.os-system
address: authelia-backend.os-framework
port_value: 9091
- name: images
connect_timeout: 5s
@@ -1986,6 +1988,195 @@ metadata:
name: sidecar-ws-configs
namespace: {{ .Release.Namespace }}
---
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
max_request_headers_kb: 500
codec_type: AUTO
route_config:
name: local_route
virtual_hosts:
- name: service
domains: ["*"]
routes:
- match:
prefix: "/ws"
route:
cluster: ws_original_dst
- match:
prefix: "/"
route:
cluster: original_dst
timeout: 180s
http_protocol_options:
accept_http_10: true
http_filters:
- name: envoy.filters.http.ext_authz
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
http_service:
path_prefix: '/api/verify/'
server_uri:
uri: authelia-backend.os-framework:9091
cluster: authelia
timeout: 2s
authorization_request:
allowed_headers:
patterns:
- exact: accept
- exact: cookie
- exact: proxy-authorization
- prefix: x-unauth-
- exact: x-authorization
- exact: x-bfl-user
- exact: x-real-ip
- exact: terminus-nonce
headers_to_add:
- key: X-Forwarded-Method
value: '%REQ(:METHOD)%'
- key: X-Forwarded-Proto
value: '%REQ(:SCHEME)%'
- key: X-Forwarded-Host
value: '%REQ(:AUTHORITY)%'
- key: X-Forwarded-Uri
value: '%REQ(:PATH)%'
- key: X-Forwarded-For
value: '%DOWNSTREAM_REMOTE_ADDRESS_WITHOUT_PORT%'
authorization_response:
allowed_upstream_headers:
patterns:
- exact: authorization
- exact: proxy-authorization
- prefix: remote-
- prefix: authelia-
allowed_client_headers:
patterns:
- exact: set-cookie
allowed_client_headers_on_success:
patterns:
- exact: set-cookie
failure_mode_allow: false
- name: envoy.filters.http.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
- name: listener_image
address:
socket_address:
address: 127.0.0.1
port_value: 15080
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: tapr_http
http_protocol_options:
accept_http_10: true
upgrade_configs:
- upgrade_type: websocket
skip_xff_append: false
codec_type: AUTO
route_config:
name: local_route
virtual_hosts:
- name: service
domains: ["*"]
routes:
- match:
prefix: "/images/upload"
route:
cluster: images
http_filters:
- 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
common_http_protocol_options:
idle_timeout: 10s
- name: ws_original_dst
connect_timeout: 5000s
type: LOGICAL_DNS
dns_lookup_family: V4_ONLY
dns_refresh_rate: 600s
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: ws_original_dst
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: localhost
port_value: 3100
- name: authelia
connect_timeout: 2s
type: LOGICAL_DNS
dns_lookup_family: V4_ONLY
dns_refresh_rate: 600s
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: authelia
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: authelia-backend.os-framework
port_value: 9091
- name: images
connect_timeout: 5s
type: LOGICAL_DNS
dns_lookup_family: V4_ONLY
dns_refresh_rate: 600s
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: images
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: tapr-images-svc.user-system-{{ .Values.bfl.username }}
port_value: 8080
kind: ConfigMap
metadata:
name: user-service-sidecar-ws-configs
namespace: {{ .Release.Namespace }}
---
kind: ConfigMap
apiVersion: v1
metadata:
@@ -2060,15 +2251,15 @@ data:
}
dashboard-control-hub.conf: |-
upstream SettingsServer {
server monitoring-server.os-system;
server monitoring-server.os-framework;
}
upstream Middleware {
server middleware-service.os-system;
server middleware-service.os-platform;
}
upstream Analytics {
server analytics-server.os-system:3010;
server analytics-server.os-framework:3010;
}
upstream HamiServer {
@@ -2094,7 +2285,7 @@ data:
}
location /ws {
proxy_pass http://127.0.0.1:40010;
proxy_pass http://127.0.0.1:3100;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
@@ -2361,15 +2552,15 @@ data:
}
wise.conf: |-
upstream KnowledgeServer {
server rss-svc.os-system:3010;
server rss-svc.os-framework:3010;
}
upstream RSSServer {
server rss-server.os-system:3010;
server rss-server.os-framework:3010;
}
upstream ArgoworkflowsSever {
server argoworkflows-svc.os-system:2746;
server argoworkflows-svc.os-framework:2746;
}
server {
@@ -2397,7 +2588,7 @@ data:
}
location /ws {
proxy_pass http://rss-svc.os-system:40010;
proxy_pass http://127.0.0.1:3100;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
@@ -2456,11 +2647,11 @@ data:
add_header Access-Control-Allow-Headers "access-control-allow-headers,access-control-allow-methods,access-control-allow-origin,content-type,x-auth,x-unauth-error,x-authorization";
add_header Access-Control-Allow-Methods "PUT, GET, DELETE, POST, OPTIONS";
add_header Access-Control-Allow-Origin $http_origin;
proxy_pass http://media-server-service.os-system:9090;
proxy_pass http://media-server-service.os-framework:9090;
}
location /api {
proxy_pass http://files-service.os-system:80;
proxy_pass http://files-service.os-framework:80;
# rewrite ^/server(.*)$ $1 break;
# Add original-request-related headers
@@ -2479,7 +2670,7 @@ data:
}
location /upload {
proxy_pass http://files-service.os-system:80;
proxy_pass http://files-service.os-framework:80;
# rewrite ^/server(.*)$ $1 break;
# Add original-request-related headers
@@ -2534,7 +2725,7 @@ data:
}
settings.conf: |-
upstream SettingsServer_Monitoring {
server monitoring-server.os-system;
server monitoring-server.os-framework;
}
upstream InfisicalServer {
@@ -2542,7 +2733,7 @@ data:
}
upstream BackupServer {
server backup-server.os-system:8082;
server backup-server.os-framework:8082;
}
server {
@@ -2569,7 +2760,7 @@ data:
}
location /ws {
proxy_pass http://127.0.0.1:40010;
proxy_pass http://127.0.0.1:3100;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
@@ -2603,13 +2794,13 @@ data:
}
location /apis/backup {
proxy_pass http://backup-server.os-system:8082;
proxy_pass http://backup-server.os-framework: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;
proxy_pass http://files-service.os-framework:80;
# rewrite ^/server(.*)$ $1 break;
# Add original-request-related headers
@@ -2671,15 +2862,15 @@ data:
}
studio.conf: |-
upstream SettingsServerStudio {
server monitoring-server.os-system;
server monitoring-server.os-framework;
}
upstream MiddlewareStudio {
server middleware-service.os-system;
server middleware-service.os-platform;
}
upstream AnalyticsStudio {
server analytics-server.os-system:3010;
server analytics-server.os-framework:3010;
}
server {
@@ -2780,7 +2971,7 @@ data:
}
location /ws {
proxy_pass http://127.0.0.1:40010;
proxy_pass http://127.0.0.1:3100;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
@@ -2876,7 +3067,7 @@ data:
expires 0;
}
location /api/resources/AppData {
proxy_pass http://files-service.os-system:80;
proxy_pass http://files-service.os-framework:80;
# rewrite ^/server(.*)$ $1 break;
# Add original-request-related headers
proxy_set_header X-Real-IP $remote_addr;
@@ -2890,7 +3081,7 @@ data:
proxy_send_timeout 60s;
}
location /api/raw/AppData {
proxy_pass http://files-service.os-system:80;
proxy_pass http://files-service.os-framework:80;
# rewrite ^/server(.*)$ $1 break;
# Add original-request-related headers
proxy_set_header X-Real-IP $remote_addr;
@@ -2904,7 +3095,7 @@ data:
proxy_send_timeout 1800s;
}
location /api/raw {
proxy_pass http://files-service.os-system:80;
proxy_pass http://files-service.os-framework:80;
# rewrite ^/server(.*)$ $1 break;
# Add original-request-related headers
proxy_set_header X-Real-IP $remote_addr;
@@ -2919,7 +3110,7 @@ data:
}
location /api/md5 {
proxy_pass http://files-service.os-system:80;
proxy_pass http://files-service.os-framework:80;
# rewrite ^/server(.*)$ $1 break;
# Add original-request-related headers
proxy_set_header X-Real-IP $remote_addr;
@@ -2934,7 +3125,7 @@ data:
}
location /api/paste {
proxy_pass http://files-service.os-system:80;
proxy_pass http://files-service.os-framework:80;
# rewrite ^/server(.*)$ $1 break;
# Add original-request-related headers
proxy_set_header X-Real-IP $remote_addr;
@@ -2949,7 +3140,7 @@ data:
}
location /api/cache {
proxy_pass http://files-service.os-system:80;
proxy_pass http://files-service.os-framework:80;
# rewrite ^/server(.*)$ $1 break;
# Add original-request-related headers
proxy_set_header X-Real-IP $remote_addr;
@@ -2964,7 +3155,7 @@ data:
}
location /provider {
proxy_pass http://files-service.os-system:80;
proxy_pass http://files-service.os-framework:80;
# rewrite ^/server(.*)$ $1 break;
# Add original-request-related headers
proxy_set_header X-Real-IP $remote_addr;
@@ -2979,7 +3170,7 @@ data:
}
location /api {
proxy_pass http://files-service.os-system:80;
proxy_pass http://files-service.os-framework:80;
# rewrite ^/server(.*)$ $1 break;
# Add original-request-related headers
proxy_set_header X-Real-IP $remote_addr;
@@ -2995,7 +3186,7 @@ data:
}
location /share_link {
proxy_pass http://files-service.os-system:80;
proxy_pass http://files-service.os-framework:80;
# rewrite ^/server(.*)$ $1 break;
# Add original-request-related headers
proxy_set_header X-Real-IP $remote_addr;
@@ -3011,7 +3202,7 @@ data:
}
location /upload {
proxy_pass http://files-service.os-system:80;
proxy_pass http://files-service.os-framework:80;
# rewrite ^/server(.*)$ $1 break;
# Add original-request-related headers
proxy_set_header X-Real-IP $remote_addr;
@@ -3072,7 +3263,7 @@ data:
add_header Access-Control-Allow-Headers "access-control-allow-headers,access-control-allow-methods,access-control-allow-origin,content-type,x-auth,x-unauth-error,x-authorization";
add_header Access-Control-Allow-Methods "PUT, GET, DELETE, POST, OPTIONS";
add_header Access-Control-Allow-Origin $http_origin;
proxy_pass http://media-server-service.os-system:9090;
proxy_pass http://media-server-service.os-framework:9090;
}
location /drive/ {
proxy_pass http://127.0.0.1:8181;
@@ -3085,7 +3276,7 @@ data:
location /api/raw/Home/ {
expires 30d;
add_header Cache-Control "public, max-age=2592000";
proxy_pass http://files-service.os-system:80;
proxy_pass http://files-service.os-framework:80;
# rewrite ^/server(.*)$ $1 break;
# Add original-request-related headers
proxy_set_header X-Real-IP $remote_addr;
@@ -3106,7 +3297,7 @@ data:
}
location ~ ^/resources/Home/Pictures/(.*.(png|jpg|svg|gif|jpeg))$
{
proxy_pass http://files-service.os-system:80/api/raw/Home/Pictures/$1;
proxy_pass http://files-service.os-framework:80/api/raw/Home/Pictures/$1;
add_header Cache-Control "public, max-age=2592000";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -3212,7 +3403,7 @@ data:
add_header X-Frame-Options SAMEORIGIN;
}
location /ws {
proxy_pass http://127.0.0.1:40010;
proxy_pass http://127.0.0.1:3100;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
@@ -3227,9 +3418,6 @@ data:
upstream AppstoreBackendServer {
server appstore-svc:81;
}
upstream AppstoreBackendWebScoket {
server appstore-svc:40010;
}
server {
listen 90;
gzip off;
@@ -3247,7 +3435,7 @@ data:
}
location /ws {
proxy_pass http://AppstoreBackendWebScoket;
proxy_pass http://127.0.0.1:3100;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
@@ -3381,7 +3569,7 @@ data:
proxy_send_timeout 60s;
}
location /ws {
proxy_pass http://127.0.0.1:40010;
proxy_pass http://127.0.0.1:3100;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
@@ -3414,7 +3602,10 @@ spec:
- appName: files-server
sub: allow
pub: allow
name: "*."
- appName: files-frontend
sub: allow
pub: allow
name: "files.*"
permission:
pub: allow
sub: allow

View File

@@ -22,42 +22,10 @@ spec:
initContainers:
- args:
- -it
- authelia-backend.os-system:9091
- authelia-backend.os-framework:9091
image: owncloudci/wait-for:latest
imagePullPolicy: IfNotPresent
name: check-auth
# - name: terminus-sidecar-init
# image: openservicemesh/init:v1.2.3
# imagePullPolicy: IfNotPresent
# securityContext:
# privileged: true
# capabilities:
# add:
# - NET_ADMIN
# runAsNonRoot: false
# runAsUser: 0
# command:
# - /bin/sh
# - -c
# - |
# iptables-restore --noflush <<EOF
# # sidecar interception rules
# *nat
# :PROXY_IN_REDIRECT - [0:0]
# :PROXY_INBOUND - [0:0]
# -A PROXY_IN_REDIRECT -p tcp -j REDIRECT --to-port 15003
# -A PROXY_INBOUND -p tcp --dport 15000 -j RETURN
# -A PROXY_INBOUND -p tcp -j PROXY_IN_REDIRECT
# -A PREROUTING -p tcp -j PROXY_INBOUND
# COMMIT
# EOF
# env:
# - name: POD_IP
# valueFrom:
# fieldRef:
# apiVersion: v1
# fieldPath: status.podIP
containers:
- name: wizard
@@ -68,77 +36,11 @@ spec:
env:
- name: apiServerURL
value: http://bfl.{{ .Release.Namespace }}:8080
# - name: wizard-server
# image: aboveos/wizard-server:v0.4.2
# imagePullPolicy: IfNotPresent
# volumeMounts:
# - name: userspace-dir
# mountPath: /Home
# ports:
# - containerPort: 3000
# env:
# - name: OS_SYSTEM_SERVER
# value: system-server.user-system-{{ .Values.bfl.username }}
# - name: OS_APP_SECRET
# value: '{{ .Values.os.desktop.appSecret }}'
# - name: OS_APP_KEY
# value: {{ .Values.os.desktop.appKey }}
# - name: APP_SERVICE_SERVICE_HOST
# value: app-service.os-system
# - name: APP_SERVICE_SERVICE_PORT
# value: '6755'
# - name: terminus-envoy-sidecar
# image: bytetrade/envoy:v1.25.11
# imagePullPolicy: IfNotPresent
# securityContext:
# allowPrivilegeEscalation: false
# runAsUser: 1000
# ports:
# - name: proxy-admin
# containerPort: 15000
# - name: proxy-inbound
# containerPort: 15003
# volumeMounts:
# - name: terminus-sidecar-config
# 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
volumes:
- name: userspace-dir
hostPath:
type: Directory
path: "{{ .Values.userspace.userData }}"
# - name: terminus-sidecar-config
# configMap:
# name: sidecar-configs
# items:
# - key: envoy.yaml
# path: envoy.yaml
---
apiVersion: v1

View File

@@ -1003,7 +1003,7 @@ _get_sts_bfl() {
_get_deployment_backup_server() {
local res
res=$($sh_c "${KUBECTL} -n os-system get deployment backup-server 2>/dev/null")
res=$($sh_c "${KUBECTL} -n os-framework get deployment backup 2>/dev/null")
if [ "$?" -ne 0 ]; then
echo 0
fi

View File

@@ -30,7 +30,7 @@ repaire_crd_terminus() {
if [ ! -z "${AWS_SESSION_TOKEN_SETUP}" ]; then
patch='[{"op":"add","path":"/metadata/annotations/bytetrade.io~1s3-sts","value":"'"$AWS_SESSION_TOKEN_SETUP"'"},{"op":"add","path":"/metadata/annotations/bytetrade.io~1s3-ak","value":"'"$AWS_ACCESS_KEY_ID_SETUP"'"},{"op":"add","path":"/metadata/annotations/bytetrade.io~1s3-sk","value":"'"$AWS_SECRET_ACCESS_KEY_SETUP"'"},{"op":"add","path":"/metadata/annotations/bytetrade.io~1cluster-id","value":"'"$CLUSTER_ID"'"}]'
$sh_c "${KUBECTL} patch terminus.sys.bytetrade.io terminus -n os-system --type='json' -p='$patch'"
$sh_c "${KUBECTL} patch terminus.sys.bytetrade.io terminus --type='json' -p='$patch'"
fi
}

View File

@@ -1,616 +0,0 @@
#!/usr/bin/env bash
# Upgrading will be executed in app-service container based on kubesphere/kubectl:v1.22.9
# By default, the tool packages will be installed via apt during the docker build
# env:
# BASE_DIR
function command_exists() {
command -v "$@" > /dev/null 2>&1
}
function get_shell_exec(){
user="$(id -un 2>/dev/null || true)"
sh_c='sh -c'
if [ "$user" != 'root' ]; then
if command_exists sudo && command_exists su; then
sh_c='sudo su -c'
else
cat >&2 <<-'EOF'
Error: this installer needs the ability to run commands as root.
We are unable to find either "sudo" or "su" available to make this happen.
EOF
exit 1
fi
fi
}
function get_bfl_api_port(){
local username=$1
$sh_c "${KUBECTL} get svc bfl -n user-space-${username} -o jsonpath='{.spec.ports[0].nodePort}'"
}
# function get_docs_port(){
# local username=$1
# $sh_c "${KUBECTL} get svc swagger-ui -n user-space-${username} -o jsonpath='{.spec.ports[0].nodePort}'"
# }
function get_desktop_port(){
local username=$1
$sh_c "${KUBECTL} get svc edge-desktop -n user-space-${username} -o jsonpath='{.spec.ports[0].nodePort}'"
}
function get_user_password(){
local username=$1
$sh_c "${KUBECTL} get user ${username} -o jsonpath='{.spec.password}'"
}
function get_user_email(){
local username=$1
$sh_c "${KUBECTL} get user ${username} -o jsonpath='{.spec.email}'"
}
function ensure_success() {
"$@"
local ret=$?
if [ $ret -ne 0 ]; then
echo "Fatal error, command: '$@'"
exit $ret
fi
return $ret
}
function validate_user(){
local username=$1
$sh_c "${KUBECTL} get ns user-space-${username} > /dev/null"
local ret=$?
if [ $ret -ne 0 ]; then
echo "no"
else
echo "yes"
fi
}
function get_bfl_node(){
local username=$1
$sh_c "${KUBECTL} get pod -n user-space-${username} -l 'tier=bfl' -o jsonpath='{.items[*].spec.nodeName}'"
}
function get_bfl_url() {
local username=$1
local user_bfl_port=$(get_bfl_api_port ${username})
bfl_ip=$(curl -s http://checkip.dyndns.org/ | grep -o "[[:digit:].]\+")
echo "http://$bfl_ip:${user_bfl_port}/bfl/apidocs.json"
}
function get_userspace_dir(){
local username=$1
local space_dir=$2
$sh_c "${KUBECTL} get pod -n user-space-${username} -l 'tier=bfl' -o \
jsonpath='{range .items[0].spec.volumes[*]}{.name}{\" \"}{.persistentVolumeClaim.claimName}{\"\\n\"}{end}'" | \
while read pvc; do
local pvc_data=($pvc)
if [ ${#pvc_data[@]} -gt 1 ]; then
if [ "x${pvc_data[0]}" == "x${space_dir}" ]; then
local USERSPACE_PVC="${pvc_data[1]}"
local pv=$($sh_c "${KUBECTL} get pvc -n user-space-${username} ${pvc_data[1]} -o jsonpath='{.spec.volumeName}'")
local pv_path=$($sh_c "${KUBECTL} get pv ${pv} -o jsonpath='{.spec.hostPath.path}'")
local USERSPACE_PV_PATH="${pv_path}"
echo "${USERSPACE_PVC} ${USERSPACE_PV_PATH} ${pv}"
break
fi
fi
done
}
function get_bfl_rand16(){
local username=$1
local prefix=$2
$sh_c "${KUBECTL} get sts -n user-space-${username} bfl -o jsonpath='{.metadata.annotations.${prefix}_rand16}'"
}
function gen_app_key_secret(){
local app=$1
local key="bytetrade_${app}_${RANDOM}"
local t=$(date +%s)
local secret=$(echo -n "${key}|${t}"|md5sum|cut -d" " -f1)
echo "${key} ${secret:0:16}"
}
function get_app_key_secret(){
local username=$1
local app=$2
local ks=$($sh_c "${KUBECTL} get appperm ${app} -n user-system-${username} -o jsonpath='{.spec.key} {.spec.secret}'")
if [ "x${ks}" == "x" ]; then
ks=$(gen_app_key_secret "${app}")
fi
echo "${ks}"
}
function get_app_settings(){
local username=$1
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 '
'${a}':
appKey: '${ks[0]}'
appSecret: "'${ks[1]}'"
'
done
}
function gen_bfl_values(){
local username=$1
local user_bfl_port=$(get_bfl_api_port ${username})
echo "Try to find the current bfl pv ..."
local pvc_path=($(get_userspace_dir ${username} "userspace-dir"))
local appcache_pvc_path=($(get_userspace_dir ${username} "appcache-dir"))
local dbdata_pvc_path=($(get_userspace_dir ${username} "dbdata-dir"))
local userspace_rand16=$(get_userspace_dir ${username} "userspace")
local appcache_rand16=$(get_userspace_dir ${username} "Cache")
local dbdata_rand16=$(get_userspace_dir ${username} "dbdata")
echo '
bfl:
nodeport: '${user_bfl_port}'
username: '${username}'
userspace_rand16: '${userspace_rand16}'
userspace_pv: '${pvc_path[2]}'
userspace_pvc: '${pvc_path[0]}'
appcache_rand16: '${appcache_rand16}'
appcache_pv: '${appcache_pvc_path[2]}'
appcache_pvc: '${appcache_pvc_path[0]}'
dbdata_rand16: '${dbdata_rand16}'
dbdata_pv: '${dbdata_pvc_path[2]}'
dbdata_pvc: '${dbdata_pvc_path[0]}'
' > ${BASE_DIR}/wizard/config/launcher/values.yaml
}
function gen_settings_values(){
local username=$1
# local userpwd="$(get_user_password ${username})"
# local useremail="$(get_user_email ${username})"
echo '
namespace:
name: user-space-'${username}'
role: admin
user:
name: '${username}'
' > ${BASE_DIR}/wizard/config/settings/values.yaml
}
function gen_app_values(){
local username=$1
local bfl_node=$(get_bfl_node ${username})
local bfl_doc_url=$(get_bfl_url ${username})
local desktop_ports=$(get_desktop_port ${username})
# local docs_ports=$(get_docs_port ${username})
echo "Try to find pv ..."
local pvc_path=($(get_userspace_dir ${username} "userspace-dir"))
local appcache_pvc_path=($(get_userspace_dir ${username} "appcache-dir"))
local dbdata_pvc_path=($(get_userspace_dir ${username} "dbdata-dir"))
local app_perm_settings=$(get_app_settings ${username})
cat ${BASE_DIR}/wizard/config/launcher/values.yaml > ${BASE_DIR}/wizard/config/apps/values.yaml
cat << EOF >> ${BASE_DIR}/wizard/config/apps/values.yaml
url: '${bfl_doc_url}'
nodeName: ${bfl_node}
pvc:
userspace: ${pvc_path[0]}
userspace:
appCache: ${appcache_pvc_path[1]}
dbdata: ${dbdata_pvc_path[1]}
userData: ${pvc_path[1]}/Home
appData: ${pvc_path[1]}/Data
desktop:
nodeport: ${desktop_ports}
os:
${app_perm_settings}
EOF
}
function close_apps(){
local username=$1
local app_list=(
"vault-deployment"
)
for app in ${app_list[@]} ; do
$sh_c "${KUBECTL} scale deployment ${app} -n user-space-${username} --replicas=0"
done
}
repeat(){
for i in $(seq 1 $1); do
echo -n $2
done
}
function get_appservice_pod(){
$sh_c "${KUBECTL} get pod -n os-system -l 'tier=app-service' -o jsonpath='{.items[*].metadata.name}'"
}
function get_appservice_status(){
$sh_c "${KUBECTL} get pod -n os-system -l 'tier=app-service' -o jsonpath='{.items[*].status.phase}'"
}
function get_desktop_status(){
local username=$1
$sh_c "${KUBECTL} get pod -n user-space-${username} -l 'app=edge-desktop' -o jsonpath='{.items[*].status.phase}'"
}
function get_vault_status(){
local username=$1
$sh_c "${KUBECTL} get pod -n user-space-${username} -l 'app=vault' -o jsonpath='{.items[*].status.phase}'"
}
function get_bfl_status(){
local username=$1
$sh_c "${KUBECTL} get pod -n user-space-${username} -l 'tier=bfl' -o jsonpath='{.items[*].status.phase}'"
}
function get_fileserver_status(){
$sh_c "${KUBECTL} get pod -n os-system -l 'app=files' -o jsonpath='{.items[*].status.phase}'"
}
function get_filefe_status(){
local username=$1
$sh_c "${KUBECTL} get pod -n user-space-${username} -l 'app=files' -o jsonpath='{.items[*].status.phase}'"
}
function check_fileserver(){
local status=$(get_fileserver_status)
local n=0
while [ "x${status}" != "xRunning" ]; do
n=$(expr $n + 1)
local dotn=$(($n % 10))
local dot=$(repeat $dotn '>')
echo -ne "\rWaiting for file-server starting ${dot}"
sleep 0.5
status=$(get_fileserver_status)
echo -ne "\rWaiting for file-server starting "
done
echo
}
function check_appservice(){
local status=$(get_appservice_status)
local n=0
while [ "x${status}" != "xRunning" ]; do
n=$(expr $n + 1)
local dotn=$(($n % 10))
local dot=$(repeat $dotn '>')
echo -ne "\rWaiting for app-service starting ${dot}"
sleep 0.5
status=$(get_appservice_status)
echo -ne "\rWaiting for app-service starting "
done
echo
}
function check_filesfe(){
local username=$1
local status=$(get_filefe_status ${username})
local n=0
while [ "x${status}" != "xRunning" ]; do
n=$(expr $n + 1)
local dotn=$(($n % 10))
local dot=$(repeat $dotn '>')
echo -ne "\rPlease waiting ${dot}"
sleep 0.5
status=$(get_filefe_status ${username})
echo -ne "\rPlease waiting "
done
echo
}
function check_bfl(){
local username=$1
local status=$(get_bfl_status ${username})
local n=0
while [ "x${status}" != "xRunning" ]; do
n=$(expr $n + 1)
local dotn=$(($n % 10))
local dot=$(repeat $dotn '>')
echo -ne "\rPlease waiting ${dot}"
sleep 0.5
status=$(get_bfl_status ${username})
echo -ne "\rPlease waiting "
done
echo
}
function check_desktop(){
local username=$1
local status=$(get_desktop_status ${username})
local n=0
while [ "x${status}" != "xRunning" ]; do
n=$(expr $n + 1)
local dotn=$(($n % 10))
local dot=$(repeat $dotn '>')
echo -ne "\rPlease waiting ${dot}"
sleep 0.5
status=$(get_desktop_status ${username})
echo -ne "\rPlease waiting "
done
echo
}
function check_vault(){
local username=$1
local status=$(get_vault_status ${username})
local n=0
while [ "x${status}" != "xRunning" ]; do
n=$(expr $n + 1)
local dotn=$(($n % 10))
local dot=$(repeat $dotn '>')
echo -ne "\rPlease waiting ${dot}"
sleep 0.5
status=$(get_vault_status ${username})
echo -ne "\rPlease waiting "
done
echo
}
function check_all(){
local pods=$@
for p in ${pods[@]}; do
local n=$(echo "${p}"|awk -F"@" '{print $1}')
local ns=$(echo "${p}"|awk -F"@" '{print $2}')
local s=$($sh_c "${KUBECTL} get pod -n ${ns} -l 'app=${n}' -o jsonpath='{.items[*].status.phase}'")
echo -ne "\rPlease wait: ${p}"
while [ "x${s}" != "xRunning" ];do
echo -ne "\rPlease wait: ${p}"
s=$($sh_c "${KUBECTL} get pod -n ${ns} -l 'app=${n}' -o jsonpath='{.items[*].status.phase}'")
done
echo
done
}
function upgrade_ksapi(){
local users=$@
local current_version="beclab/ks-apiserver:v3.3.0-ext-3"
local image=$($sh_c "${KUBECTL} get deploy ks-apiserver -n kubesphere-system -o jsonpath='{.spec.template.spec.containers[0].image}'")
if [ "x${image}" != "x${current_version}" ]; then
echo "upgrade ks-apiserver and restore token ..."
secret=$(echo -n "ks_redis_${RANDOM}"|md5sum|cut -d" " -f1)
$sh_c "${KUBECTL} -n kubesphere-system create secret generic redis-secret --from-literal=auth=${secret:0:12}"
local old_jwt=$($sh_c "${KUBECTL} get configmap kubesphere-config -n kubesphere-system -o jsonpath='{.data.kubesphere\.yaml}'|grep jwtSecret|awk -F':' '{print \$2}'")
sed -i -e "s/__jwtkey__/${old_jwt}/" ${BASE_DIR}/deploy/cm-kubesphere-config.yaml
$sh_c "${KUBECTL} apply -f ${BASE_DIR}/deploy/redis-deploy.yaml"
$sh_c "${KUBECTL} apply -f ${BASE_DIR}/deploy/cm-kubesphere-config.yaml"
check_all "redis@kubesphere-system"
$sh_c "${KUBECTL} -n kubesphere-system set image deployment/ks-apiserver ks-apiserver=beclab/ks-apiserver:v3.3.0-ext-3"
$sh_c "${KUBECTL} patch deploy ks-apiserver -n kubesphere-system --patch-file=${BASE_DIR}/deploy/ks-apiserver-patch.yaml"
check_all "ks-apiserver@kubesphere-system"
for username in ${users[@]}; do
$sh_c "${KUBECTL} rollout restart deploy authelia-backend -n user-system-${username}"
check_all "authelia-backend@user-system-${username}"
done
fi
}
function upgrade_jfs(){
local users=$@
local JFS_VERSION="11.1.1"
local current_jfs_version=$(/usr/local/bin/juicefs --version|awk '{print $3}'|awk -F'+' '{print $1}')
if [ "x${JFS_VERSION}" != "x${current_jfs_version}" ]; then
echo "upgrade JuiceFS ..."
local juicefs_bin="/usr/local/bin/juicefs"
ensure_success $sh_c "curl ${CURL_TRY} -kLO https://github.com/beclab/juicefs-ext/releases/download/v${JFS_VERSION}/juicefs-v${JFS_VERSION}-linux-amd64.tar.gz"
ensure_success $sh_c "tar -zxf juicefs-v${JFS_VERSION}-linux-amd64.tar.gz"
ensure_success $sh_c "chmod +x juicefs"
ensure_success $sh_c "systemctl stop juicefs"
ensure_success $sh_c "mv juicefs ${juicefs_bin}"
ensure_success $sh_c "rm -f /tmp/JuiceFS-IPC.sock"
ensure_success $sh_c "systemctl start juicefs"
echo "restart pods ... "
ensure_success $sh_c "${KUBECTL} rollout restart sts app-service -n os-system"
local tf=$(mktemp)
ensure_success $sh_c "${KUBECTL} get deployment -A -o jsonpath='{range .items[*]}{.metadata.name} {.metadata.namespace} {.spec.template.spec.volumes}{\"\n\"}{end}' | grep '/olares/rootfs'" > $tf
while read dep; do
local depinfo=($dep)
ensure_success $sh_c "${KUBECTL} rollout restart deployment ${depinfo[0]} -n ${depinfo[1]}"
done < $tf
for user in ${users[@]}; do
ensure_success $sh_c "${KUBECTL} rollout restart sts bfl -n user-space-${user}"
done
sleep 10 # waiting for restarting to begin
fi
}
function upgrade_terminus(){
HELM=$(command -v helm)
KUBECTL=$(command -v kubectl)
# find sudo
get_shell_exec
# fetch user list
local users=()
local admin_user=""
local tf=$(mktemp)
ensure_success $sh_c "${KUBECTL} get user -o jsonpath='{range .items[*]}{.metadata.name} {.metadata.annotations.bytetrade\.io\/owner-role}{\"\n\"}{end}'" > $tf
while read userdata; do
local userinfo=($userdata)
local valid=$(validate_user "${userinfo[0]}")
if [ "x-${valid}" == "x-yes" ]; then
if [ "x-${userinfo[1]}" == "x-platform-admin" ]; then
admin_user="${userinfo[0]}"
fi
i=${#users[@]}
users[$i]=${userinfo[0]}
fi
done < $tf
if [ "x${admin_user}" == "x" ]; then
echo "Admin user not found. Upgrading failed." >&2
exit -1
fi
# 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}'")
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"
# 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"
# clear apps values.yaml
cat /dev/null > ${BASE_DIR}/wizard/config/apps/values.yaml
cat /dev/null > ${BASE_DIR}/wizard/config/launcher/values.yaml
local appservice_pod=$(get_appservice_pod)
local copy_charts=("launcher" "apps")
for cc in ${copy_charts[@]}; do
ensure_success $sh_c "${KUBECTL} cp ${BASE_DIR}/wizard/config/${cc} os-system/${appservice_pod}:/userapps"
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")
# 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
done
# upgrade app service in the last. keep app service online longer
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}'")
local backup_secret=$($sh_c "${KUBECTL} get cm -n os-system backup-config -o jsonpath='{.data.backup-secret}'")
local backup_server_data=$($sh_c "${KUBECTL} get cm -n os-system backup-config -o jsonpath='{.data.backup-server-data}'")
ensure_success $sh_c "${HELM} upgrade -i system ${BASE_DIR}/wizard/config/system -n os-system --reuse-values \
--set kubesphere.redis_password=${ks_redis_pwd} --set backup.bucket=\"${backup_cluster_bucket}\" \
--set backup.key_prefix=\"${backup_key_prefix}\" --set backup.is_cloud_version=\"${terminus_is_cloud_version}\" \
--set backup.sync_secret=\"${backup_secret}\""
echo 'Waiting for App-Service ...'
sleep 2 # wait for controller reconiling
check_appservice
echo
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
}
echo "Start to upgrade olares ... "
upgrade_terminus
echo -e "\e[91m Success to upgrade olares.\e[0m Open your new desktop in the browser and have fun !"

View File

@@ -5,7 +5,7 @@ metadata:
spec:
lldap:
name: ldap
url: "http://lldap-service.os-system:17170"
url: "http://lldap-service.os-framework:17170"
userBlacklist:
- admin
- terminus
@@ -15,4 +15,4 @@ spec:
credentialsSecret:
kind: Secret
name: lldap-credentials
namespace: os-system
namespace: os-framework

View File

@@ -60,3 +60,29 @@ Create the name of the service account to use
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
{{- define "opentelemetry-operator.fullname" -}}
{{- "otel-opentelemetry-operator" }}
{{- end }}
{{- define "opentelemetry-operator.WebhookCert" -}}
{{- $caCertEnc := "" }}
{{- $certCrtEnc := "" }}
{{- $certKeyEnc := "" }}
{{- $prevSecret := (lookup "v1" "Secret" .Release.Namespace (printf "%s-controller-manager-service-cert" (include "opentelemetry-operator.fullname" .) )) }}
{{- if $prevSecret }}
{{- $certCrtEnc = index $prevSecret "data" "tls.crt" }}
{{- $certKeyEnc = index $prevSecret "data" "tls.key" }}
{{- $caCertEnc = index $prevSecret "data" "ca.crt" }}
{{- else }}
{{- $altNames := list ( printf "%s-webhook.%s" (include "opentelemetry-operator.fullname" .) .Release.Namespace ) ( printf "%s-webhook.%s.svc" (include "opentelemetry-operator.fullname" .) .Release.Namespace ) -}}
{{- $tmpperioddays := 3650 }}
{{- $ca := genCA "opentelemetry-operator-operator-ca" $tmpperioddays }}
{{- $cert := genSignedCert (include "opentelemetry-operator.fullname" .) nil $altNames $tmpperioddays $ca }}
{{- $certCrtEnc = b64enc $cert.Cert }}
{{- $certKeyEnc = b64enc $cert.Key }}
{{- $caCertEnc = b64enc $ca.Cert }}
{{- end }}
{{- $result := dict "crt" $certCrtEnc "key" $certKeyEnc "ca" $caCertEnc }}
{{- $result | toYaml }}
{{- end }}

View File

@@ -4,17 +4,31 @@
apiVersion: v1
kind: ServiceAccount
metadata:
namespace: os-system
namespace: os-platform
name: os-internal
---
apiVersion: v1
kind: ServiceAccount
metadata:
namespace: os-framework
name: os-internal
---
apiVersion: v1
kind: ServiceAccount
metadata:
namespace: os-network
name: os-network-internal
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: os-internal-rb
name: os-platform:os-internal-rb
subjects:
- kind: ServiceAccount
namespace: os-system
namespace: os-platform
name: os-internal
roleRef:
# kind: Role
@@ -22,6 +36,36 @@ roleRef:
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: os-framework:os-internal-rb
subjects:
- kind: ServiceAccount
namespace: os-framework
name: os-internal
roleRef:
# kind: Role
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: os-network:os-network-rb
subjects:
- kind: ServiceAccount
namespace: os-network
name: os-network-internal
roleRef:
# kind: Role
kind: ClusterRole
name: l4-proxy-role
apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
@@ -194,4 +238,21 @@ rules:
- update
- patch
- delete
- deletecollection
- deletecollection
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: l4-proxy-role
rules:
- apiGroups:
- '*'
resources:
- users
- applications
verbs:
- get
- list
- watch

View File

@@ -1,5 +1,5 @@
---
apiVersion: v1
kind: Namespace
metadata:
@@ -7,4 +7,26 @@ metadata:
kubesphere.io/creator: '{{ .Values.user.name }}'
labels:
kubesphere.io/workspace: system-workspace
name: os-system
name: os-network
---
apiVersion: v1
kind: Namespace
metadata:
annotations:
kubesphere.io/creator: '{{ .Values.user.name }}'
labels:
kubesphere.io/workspace: system-workspace
name: os-platform
---
apiVersion: v1
kind: Namespace
metadata:
annotations:
kubesphere.io/creator: '{{ .Values.user.name }}'
labels:
kubesphere.io/workspace: system-workspace
name: os-framework

View File

@@ -21,19 +21,26 @@ if [ ! -d ${DIST} ]; then
mkdir -p ${DIST}
cp -rf ${BUILD_TEMPLATE}/* ${DIST}/.
cp -rf ${BUILD_TEMPLATE}/.env ${DIST}/.
cp -rf ${BUILD_TEMPLATE}/wizard/config/os-chart-template ${DIST}/wizard/config/os-framework
cp -rf ${BUILD_TEMPLATE}/wizard/config/os-chart-template ${DIST}/wizard/config/os-platform
rm -rf ${DIST}/wizard/config/os-chart-template
fi
APP_DIST=${DIST}/wizard/config/apps
SYSTEM_DIST=${DIST}/wizard/config/system/templates
SETTINGS_DIST=${DIST}/wizard/config/settings/templates
CRD_DIST=${SETTINGS_DIST}/crds
DEPLOY_DIST=${SYSTEM_DIST}/deploy
mkdir -p ${APP_DIST}
mkdir -p ${CRD_DIST}
mkdir -p ${DEPLOY_DIST}
for mod in "${PACKAGE_MODULE[@]}";do
echo "packaging ${mod} ..."
SYSTEM_DIST=${DIST}/wizard/config/os-framework/templates
if [ ${mod} == "platform" ]; then
SYSTEM_DIST=${DIST}/wizard/config/os-platform/templates
fi
DEPLOY_DIST=${SYSTEM_DIST}/deploy
mkdir -p ${DEPLOY_DIST}
find ${mod} -type d -name .olares | while read app; do
# package user app charts to install wizard

View File

@@ -15,8 +15,6 @@ builds:
goarm:
- 7
ignore:
- goos: linux
goarch: arm64
- goos: darwin
goarch: arm
- goos: windows
@@ -24,15 +22,11 @@ builds:
ldflags:
- -s
- -w
- -X bytetrade.io/web3os/installer/version.VERSION={{ .Version }}
- -X github.com/beclab/Olares/cli/version.VERSION={{ .Version }}
dist: ./output
archives:
- id: olares-cli
name_template: "{{ .ProjectName }}-v{{ .Version }}_{{ .Os }}_{{ .Arch }}"
replacements:
linux: linux
amd64: amd64
arm: arm64
checksum:
name_template: "checksums.txt"
release:

View File

@@ -22,8 +22,8 @@ import (
"strconv"
"strings"
"bytetrade.io/web3os/installer/pkg/core/logger"
"bytetrade.io/web3os/installer/pkg/core/util"
"github.com/beclab/Olares/cli/pkg/core/logger"
"github.com/beclab/Olares/cli/pkg/core/util"
"github.com/pkg/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

View File

@@ -21,7 +21,7 @@ import (
"os"
"strings"
"bytetrade.io/web3os/installer/pkg/core/util"
"github.com/beclab/Olares/cli/pkg/core/util"
)
const (

View File

@@ -22,9 +22,9 @@ import (
"strconv"
"strings"
"bytetrade.io/web3os/installer/pkg/core/connector"
"bytetrade.io/web3os/installer/pkg/core/logger"
"bytetrade.io/web3os/installer/pkg/core/util"
"github.com/beclab/Olares/cli/pkg/core/connector"
"github.com/beclab/Olares/cli/pkg/core/logger"
"github.com/beclab/Olares/cli/pkg/core/util"
"github.com/pkg/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"

View File

@@ -21,7 +21,7 @@ import (
"os"
"strings"
"bytetrade.io/web3os/installer/pkg/core/util"
"github.com/beclab/Olares/cli/pkg/core/util"
)
const (

View File

@@ -20,8 +20,8 @@ package versioned
import (
"fmt"
kubekeyv1alpha1 "bytetrade.io/web3os/installer/clients/clientset/versioned/typed/kubekey/v1alpha1"
kubekeyv1alpha2 "bytetrade.io/web3os/installer/clients/clientset/versioned/typed/kubekey/v1alpha2"
kubekeyv1alpha1 "github.com/beclab/Olares/cli/clients/clientset/versioned/typed/kubekey/v1alpha1"
kubekeyv1alpha2 "github.com/beclab/Olares/cli/clients/clientset/versioned/typed/kubekey/v1alpha2"
discovery "k8s.io/client-go/discovery"
rest "k8s.io/client-go/rest"
flowcontrol "k8s.io/client-go/util/flowcontrol"

View File

@@ -18,11 +18,11 @@ limitations under the License.
package fake
import (
clientset "bytetrade.io/web3os/installer/clients/clientset/versioned"
kubekeyv1alpha1 "bytetrade.io/web3os/installer/clients/clientset/versioned/typed/kubekey/v1alpha1"
fakekubekeyv1alpha1 "bytetrade.io/web3os/installer/clients/clientset/versioned/typed/kubekey/v1alpha1/fake"
kubekeyv1alpha2 "bytetrade.io/web3os/installer/clients/clientset/versioned/typed/kubekey/v1alpha2"
fakekubekeyv1alpha2 "bytetrade.io/web3os/installer/clients/clientset/versioned/typed/kubekey/v1alpha2/fake"
clientset "github.com/beclab/Olares/cli/clients/clientset/versioned"
kubekeyv1alpha1 "github.com/beclab/Olares/cli/clients/clientset/versioned/typed/kubekey/v1alpha1"
fakekubekeyv1alpha1 "github.com/beclab/Olares/cli/clients/clientset/versioned/typed/kubekey/v1alpha1/fake"
kubekeyv1alpha2 "github.com/beclab/Olares/cli/clients/clientset/versioned/typed/kubekey/v1alpha2"
fakekubekeyv1alpha2 "github.com/beclab/Olares/cli/clients/clientset/versioned/typed/kubekey/v1alpha2/fake"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/watch"
"k8s.io/client-go/discovery"

View File

@@ -18,8 +18,8 @@ limitations under the License.
package fake
import (
kubekeyv1alpha1 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha1"
kubekeyv1alpha2 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha2"
kubekeyv1alpha1 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha1"
kubekeyv1alpha2 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
schema "k8s.io/apimachinery/pkg/runtime/schema"

View File

@@ -18,8 +18,8 @@ limitations under the License.
package scheme
import (
kubekeyv1alpha1 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha1"
kubekeyv1alpha2 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha2"
kubekeyv1alpha1 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha1"
kubekeyv1alpha2 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
schema "k8s.io/apimachinery/pkg/runtime/schema"

View File

@@ -21,8 +21,8 @@ import (
"context"
"time"
v1alpha1 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha1"
scheme "bytetrade.io/web3os/installer/clients/clientset/versioned/scheme"
v1alpha1 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha1"
scheme "github.com/beclab/Olares/cli/clients/clientset/versioned/scheme"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"

View File

@@ -20,7 +20,7 @@ package fake
import (
"context"
v1alpha1 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha1"
v1alpha1 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"

View File

@@ -18,7 +18,7 @@ limitations under the License.
package fake
import (
v1alpha1 "bytetrade.io/web3os/installer/clients/clientset/versioned/typed/kubekey/v1alpha1"
v1alpha1 "github.com/beclab/Olares/cli/clients/clientset/versioned/typed/kubekey/v1alpha1"
rest "k8s.io/client-go/rest"
testing "k8s.io/client-go/testing"
)

View File

@@ -18,8 +18,8 @@ limitations under the License.
package v1alpha1
import (
v1alpha1 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha1"
"bytetrade.io/web3os/installer/clients/clientset/versioned/scheme"
v1alpha1 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha1"
"github.com/beclab/Olares/cli/clients/clientset/versioned/scheme"
rest "k8s.io/client-go/rest"
)

View File

@@ -21,8 +21,8 @@ import (
"context"
"time"
v1alpha2 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha2"
scheme "bytetrade.io/web3os/installer/clients/clientset/versioned/scheme"
v1alpha2 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha2"
scheme "github.com/beclab/Olares/cli/clients/clientset/versioned/scheme"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"

View File

@@ -20,7 +20,7 @@ package fake
import (
"context"
v1alpha2 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha2"
v1alpha2 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"

View File

@@ -18,7 +18,7 @@ limitations under the License.
package fake
import (
v1alpha2 "bytetrade.io/web3os/installer/clients/clientset/versioned/typed/kubekey/v1alpha2"
v1alpha2 "github.com/beclab/Olares/cli/clients/clientset/versioned/typed/kubekey/v1alpha2"
rest "k8s.io/client-go/rest"
testing "k8s.io/client-go/testing"
)

View File

@@ -18,8 +18,8 @@ limitations under the License.
package v1alpha2
import (
v1alpha2 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha2"
"bytetrade.io/web3os/installer/clients/clientset/versioned/scheme"
v1alpha2 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha2"
"github.com/beclab/Olares/cli/clients/clientset/versioned/scheme"
rest "k8s.io/client-go/rest"
)

View File

@@ -22,9 +22,9 @@ import (
sync "sync"
time "time"
versioned "bytetrade.io/web3os/installer/clients/clientset/versioned"
internalinterfaces "bytetrade.io/web3os/installer/clients/informers/externalversions/internalinterfaces"
kubekey "bytetrade.io/web3os/installer/clients/informers/externalversions/kubekey"
versioned "github.com/beclab/Olares/cli/clients/clientset/versioned"
internalinterfaces "github.com/beclab/Olares/cli/clients/informers/externalversions/internalinterfaces"
kubekey "github.com/beclab/Olares/cli/clients/informers/externalversions/kubekey"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
schema "k8s.io/apimachinery/pkg/runtime/schema"

View File

@@ -20,8 +20,8 @@ package externalversions
import (
"fmt"
v1alpha1 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha1"
v1alpha2 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha2"
v1alpha1 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha1"
v1alpha2 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha2"
schema "k8s.io/apimachinery/pkg/runtime/schema"
cache "k8s.io/client-go/tools/cache"
)

View File

@@ -20,7 +20,7 @@ package internalinterfaces
import (
time "time"
versioned "bytetrade.io/web3os/installer/clients/clientset/versioned"
versioned "github.com/beclab/Olares/cli/clients/clientset/versioned"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
cache "k8s.io/client-go/tools/cache"

View File

@@ -18,9 +18,9 @@ limitations under the License.
package kubekey
import (
internalinterfaces "bytetrade.io/web3os/installer/clients/informers/externalversions/internalinterfaces"
v1alpha1 "bytetrade.io/web3os/installer/clients/informers/externalversions/kubekey/v1alpha1"
v1alpha2 "bytetrade.io/web3os/installer/clients/informers/externalversions/kubekey/v1alpha2"
internalinterfaces "github.com/beclab/Olares/cli/clients/informers/externalversions/internalinterfaces"
v1alpha1 "github.com/beclab/Olares/cli/clients/informers/externalversions/kubekey/v1alpha1"
v1alpha2 "github.com/beclab/Olares/cli/clients/informers/externalversions/kubekey/v1alpha2"
)
// Interface provides access to each of this group's versions.

View File

@@ -21,10 +21,10 @@ import (
"context"
time "time"
kubekeyv1alpha1 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha1"
versioned "bytetrade.io/web3os/installer/clients/clientset/versioned"
internalinterfaces "bytetrade.io/web3os/installer/clients/informers/externalversions/internalinterfaces"
v1alpha1 "bytetrade.io/web3os/installer/clients/listers/kubekey/v1alpha1"
kubekeyv1alpha1 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha1"
versioned "github.com/beclab/Olares/cli/clients/clientset/versioned"
internalinterfaces "github.com/beclab/Olares/cli/clients/informers/externalversions/internalinterfaces"
v1alpha1 "github.com/beclab/Olares/cli/clients/listers/kubekey/v1alpha1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
watch "k8s.io/apimachinery/pkg/watch"

View File

@@ -18,7 +18,7 @@ limitations under the License.
package v1alpha1
import (
internalinterfaces "bytetrade.io/web3os/installer/clients/informers/externalversions/internalinterfaces"
internalinterfaces "github.com/beclab/Olares/cli/clients/informers/externalversions/internalinterfaces"
)
// Interface provides access to all the informers in this group version.

View File

@@ -21,10 +21,10 @@ import (
"context"
time "time"
kubekeyv1alpha2 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha2"
versioned "bytetrade.io/web3os/installer/clients/clientset/versioned"
internalinterfaces "bytetrade.io/web3os/installer/clients/informers/externalversions/internalinterfaces"
v1alpha2 "bytetrade.io/web3os/installer/clients/listers/kubekey/v1alpha2"
kubekeyv1alpha2 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha2"
versioned "github.com/beclab/Olares/cli/clients/clientset/versioned"
internalinterfaces "github.com/beclab/Olares/cli/clients/informers/externalversions/internalinterfaces"
v1alpha2 "github.com/beclab/Olares/cli/clients/listers/kubekey/v1alpha2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
watch "k8s.io/apimachinery/pkg/watch"

View File

@@ -18,7 +18,7 @@ limitations under the License.
package v1alpha2
import (
internalinterfaces "bytetrade.io/web3os/installer/clients/informers/externalversions/internalinterfaces"
internalinterfaces "github.com/beclab/Olares/cli/clients/informers/externalversions/internalinterfaces"
)
// Interface provides access to all the informers in this group version.

View File

@@ -18,7 +18,7 @@ limitations under the License.
package v1alpha1
import (
v1alpha1 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha1"
v1alpha1 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha1"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/client-go/tools/cache"

View File

@@ -18,7 +18,7 @@ limitations under the License.
package v1alpha2
import (
v1alpha2 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha2"
v1alpha2 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha2"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/client-go/tools/cache"

View File

@@ -3,7 +3,7 @@ package gpu
import (
"log"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)

View File

@@ -3,7 +3,7 @@ package gpu
import (
"log"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)

View File

@@ -3,8 +3,8 @@ package gpu
import (
"log"
"bytetrade.io/web3os/installer/cmd/ctl/options"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/beclab/Olares/cli/cmd/ctl/options"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)

View File

@@ -3,7 +3,7 @@ package gpu
import (
"log"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)

View File

@@ -3,7 +3,7 @@ package gpu
import (
"log"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)

View File

@@ -3,8 +3,8 @@ package gpu
import (
"log"
"bytetrade.io/web3os/installer/cmd/ctl/options"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/beclab/Olares/cli/cmd/ctl/options"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)

View File

@@ -1,10 +1,11 @@
package node
import (
"bytetrade.io/web3os/installer/cmd/ctl/options"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/spf13/cobra"
"log"
"github.com/beclab/Olares/cli/cmd/ctl/options"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)
func NewCmdAddNode() *cobra.Command {

View File

@@ -1,10 +1,11 @@
package node
import (
"bytetrade.io/web3os/installer/cmd/ctl/options"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/spf13/cobra"
"log"
"github.com/beclab/Olares/cli/cmd/ctl/options"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)
func NewCmdMasterInfo() *cobra.Command {

View File

@@ -1,9 +1,9 @@
package options
import (
"bytetrade.io/web3os/installer/pkg/common"
cc "bytetrade.io/web3os/installer/pkg/core/common"
"bytetrade.io/web3os/installer/pkg/phase/cluster"
"github.com/beclab/Olares/cli/pkg/common"
cc "github.com/beclab/Olares/cli/pkg/core/common"
"github.com/beclab/Olares/cli/pkg/phase/cluster"
"github.com/spf13/cobra"
)

View File

@@ -1,7 +1,7 @@
package options
import (
cc "bytetrade.io/web3os/installer/pkg/core/common"
cc "github.com/beclab/Olares/cli/pkg/core/common"
"github.com/spf13/cobra"
)

View File

@@ -1,9 +1,10 @@
package options
import (
"bytetrade.io/web3os/installer/pkg/common"
cc "bytetrade.io/web3os/installer/pkg/core/common"
"fmt"
"github.com/beclab/Olares/cli/pkg/common"
cc "github.com/beclab/Olares/cli/pkg/core/common"
"github.com/spf13/cobra"
)

View File

@@ -1,10 +1,11 @@
package os
import (
"bytetrade.io/web3os/installer/cmd/ctl/options"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/spf13/cobra"
"log"
"github.com/beclab/Olares/cli/cmd/ctl/options"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)
func NewCmdChangeIP() *cobra.Command {

View File

@@ -1,10 +1,11 @@
package os
import (
"bytetrade.io/web3os/installer/cmd/ctl/options"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/spf13/cobra"
"log"
"github.com/beclab/Olares/cli/cmd/ctl/options"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)
func NewCmdRootDownload() *cobra.Command {

View File

@@ -1,7 +1,7 @@
package os
import (
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)

View File

@@ -3,8 +3,8 @@ package os
import (
"log"
"bytetrade.io/web3os/installer/cmd/ctl/options"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/beclab/Olares/cli/cmd/ctl/options"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)

View File

@@ -2,8 +2,6 @@ package os
import (
"archive/tar"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/util"
"compress/gzip"
"fmt"
"io"
@@ -14,6 +12,9 @@ import (
"strings"
"time"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/util"
"github.com/spf13/cobra"
)

View File

@@ -1,10 +1,11 @@
package os
import (
"bytetrade.io/web3os/installer/cmd/ctl/options"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/spf13/cobra"
"log"
"github.com/beclab/Olares/cli/cmd/ctl/options"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)
func NewCmdPrecheck() *cobra.Command {

View File

@@ -3,8 +3,8 @@ package os
import (
"log"
"bytetrade.io/web3os/installer/cmd/ctl/options"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/beclab/Olares/cli/cmd/ctl/options"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)

View File

@@ -1,9 +1,6 @@
package os
import (
"bytetrade.io/web3os/installer/pkg/core/common"
"bytetrade.io/web3os/installer/pkg/core/util"
"bytetrade.io/web3os/installer/pkg/release/builder"
"fmt"
"os"
"os/user"
@@ -11,6 +8,10 @@ import (
"strings"
"time"
"github.com/beclab/Olares/cli/pkg/core/common"
"github.com/beclab/Olares/cli/pkg/core/util"
"github.com/beclab/Olares/cli/pkg/release/builder"
"github.com/spf13/cobra"
)

View File

@@ -3,9 +3,10 @@ package os
import (
"time"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/spf13/cobra"
"log"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)
func NewCmdStart() *cobra.Command {

View File

@@ -1,10 +1,11 @@
package os
import (
"bytetrade.io/web3os/installer/cmd/ctl/options"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/spf13/cobra"
"log"
"github.com/beclab/Olares/cli/cmd/ctl/options"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)
func NewCmdInstallStorage() *cobra.Command {

View File

@@ -1,10 +1,11 @@
package os
import (
"bytetrade.io/web3os/installer/cmd/ctl/options"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/spf13/cobra"
"log"
"github.com/beclab/Olares/cli/cmd/ctl/options"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)
type UninstallOsOptions struct {

View File

@@ -3,8 +3,8 @@ package os
import (
"log"
"bytetrade.io/web3os/installer/cmd/ctl/options"
"bytetrade.io/web3os/installer/pkg/pipelines"
"github.com/beclab/Olares/cli/cmd/ctl/options"
"github.com/beclab/Olares/cli/pkg/pipelines"
"github.com/spf13/cobra"
)

View File

@@ -3,7 +3,7 @@ package osinfo
import (
"fmt"
"bytetrade.io/web3os/installer/pkg/core/connector"
"github.com/beclab/Olares/cli/pkg/core/connector"
"github.com/spf13/cobra"
)

View File

@@ -1,11 +1,11 @@
package ctl
import (
"bytetrade.io/web3os/installer/cmd/ctl/gpu"
"bytetrade.io/web3os/installer/cmd/ctl/node"
"bytetrade.io/web3os/installer/cmd/ctl/os"
"bytetrade.io/web3os/installer/cmd/ctl/osinfo"
"bytetrade.io/web3os/installer/version"
"github.com/beclab/Olares/cli/cmd/ctl/gpu"
"github.com/beclab/Olares/cli/cmd/ctl/node"
"github.com/beclab/Olares/cli/cmd/ctl/os"
"github.com/beclab/Olares/cli/cmd/ctl/osinfo"
"github.com/beclab/Olares/cli/version"
"github.com/spf13/cobra"
)

View File

@@ -4,7 +4,7 @@ import (
"os"
"os/exec"
"bytetrade.io/web3os/installer/cmd/ctl"
"github.com/beclab/Olares/cli/cmd/ctl"
)
func main() {

View File

@@ -18,7 +18,6 @@ package kubekey
import (
"bytes"
"bytetrade.io/web3os/installer/pkg/core/logger"
"context"
"encoding/base64"
"encoding/json"
@@ -29,9 +28,11 @@ import (
"strings"
"time"
"github.com/beclab/Olares/cli/pkg/core/logger"
"sigs.k8s.io/yaml"
kubekeyv1alpha2 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha2"
kubekeyv1alpha2 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha2"
"github.com/pkg/errors"
"k8s.io/apimachinery/pkg/util/wait"

View File

@@ -22,14 +22,14 @@ import (
"fmt"
"text/template"
kubekeyapiv1alpha2 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha2"
"bytetrade.io/web3os/installer/pkg/addons"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/ending"
kubekeyapiv1alpha2 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha2"
"github.com/beclab/Olares/cli/pkg/addons"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/ending"
"github.com/pkg/errors"
kubekeyclientset "bytetrade.io/web3os/installer/clients/clientset/versioned"
"bytetrade.io/web3os/installer/pkg/core/util"
kubekeyclientset "github.com/beclab/Olares/cli/clients/clientset/versioned"
"github.com/beclab/Olares/cli/pkg/core/util"
"github.com/lithammer/dedent"
corev1 "k8s.io/api/core/v1"
kubeErr "k8s.io/apimachinery/pkg/api/errors"

View File

@@ -1,4 +1,4 @@
module bytetrade.io/web3os/installer
module github.com/beclab/Olares/cli
go 1.24.0
@@ -16,10 +16,15 @@ replace (
require (
bytetrade.io/web3os/backups-sdk v0.0.0-00010101000000-000000000000
github.com/Masterminds/semver/v3 v3.3.0
github.com/PaesslerAG/jsonpath v0.1.1
github.com/alecthomas/assert/v2 v2.11.0
github.com/cavaliergopher/grab/v3 v3.0.1
github.com/containerd/containerd v1.7.27
github.com/decentralized-identity/web5-go v0.25.0
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0
github.com/dominodatalab/os-release v0.0.0-20190522011736-bcdb4a3e3c2f
github.com/go-playground/validator/v10 v10.22.0
github.com/google/uuid v1.6.0
github.com/jmoiron/sqlx v1.4.0
github.com/joho/godotenv v1.5.1
github.com/libp2p/go-netroute v0.2.2
@@ -27,14 +32,19 @@ require (
github.com/mattn/go-sqlite3 v1.14.22
github.com/mitchellh/mapstructure v1.5.0
github.com/modood/table v0.0.0-20220527013332-8d47e76dad33
github.com/mr-tron/base58 v1.2.0
github.com/multiformats/go-varint v0.0.7
github.com/pelletier/go-toml v1.9.5
github.com/pkg/errors v0.9.1
github.com/pkg/sftp v1.13.6
github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1
github.com/schollz/progressbar/v3 v3.17.1
github.com/shirou/gopsutil/v4 v4.25.2
github.com/shurcooL/httpfs v0.0.0-20230704072500-f1e31cf0ba5c
github.com/spf13/cobra v1.9.1
github.com/stretchr/testify v1.10.0
github.com/syndtr/goleveldb v1.0.0
go.uber.org/zap v1.27.0
golang.org/x/crypto v0.37.0
golang.org/x/term v0.31.0
@@ -64,6 +74,8 @@ require (
github.com/Masterminds/squirrel v1.5.4 // indirect
github.com/Microsoft/go-winio v0.6.2 // indirect
github.com/Microsoft/hcsshim v0.11.7 // indirect
github.com/PaesslerAG/gval v1.0.0 // indirect
github.com/alecthomas/repr v0.4.0 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
@@ -104,17 +116,18 @@ require (
github.com/gobwas/glob v0.2.3 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db // indirect
github.com/google/btree v1.1.3 // indirect
github.com/google/gnostic-models v0.6.9 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/gopacket v1.1.19 // indirect
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
github.com/gosuri/uitable v0.0.4 // indirect
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hexops/gotextdiff v1.0.3 // indirect
github.com/huandu/xstrings v1.5.0 // indirect
github.com/jonboulle/clockwork v0.4.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
@@ -151,6 +164,7 @@ require (
github.com/opencontainers/runtime-spec v1.1.0 // indirect
github.com/opencontainers/selinux v1.11.0 // indirect
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
github.com/prometheus/client_golang v1.22.0 // indirect
github.com/prometheus/client_model v0.6.1 // indirect

View File

@@ -30,6 +30,15 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
github.com/Microsoft/hcsshim v0.11.7 h1:vl/nj3Bar/CvJSYo7gIQPyRWc9f3c6IeSNavBTSZNZQ=
github.com/Microsoft/hcsshim v0.11.7/go.mod h1:MV8xMfmECjl5HdO7U/3/hFVnkmSBjAjmA09d4bExKcU=
github.com/PaesslerAG/gval v1.0.0 h1:GEKnRwkWDdf9dOmKcNrar9EA1bz1z9DqPIO1+iLzhd8=
github.com/PaesslerAG/gval v1.0.0/go.mod h1:y/nm5yEyTeX6av0OfKJNp9rBNj2XrGhAf5+v24IBN1I=
github.com/PaesslerAG/jsonpath v0.1.0/go.mod h1:4BzmtoM/PI8fPO4aQGIusjGxGir2BzcV0grWtFzq1Y8=
github.com/PaesslerAG/jsonpath v0.1.1 h1:c1/AToHQMVsduPAa4Vh6xp2U0evy4t8SWp8imEsylIk=
github.com/PaesslerAG/jsonpath v0.1.1/go.mod h1:lVboNxFGal/VwW6d9JzIy56bUsYAP6tH/x80vjnCseY=
github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0=
github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k=
github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc=
github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
@@ -85,6 +94,12 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/decentralized-identity/web5-go v0.25.0 h1:7QcWuIXHybscmoQ6eoEcDGdbQSPqHIJ4WAo7FBbntIE=
github.com/decentralized-identity/web5-go v0.25.0/go.mod h1:fzRcApHJZmekJXwjdbG8tYSFxdyZjyjUEmfh92mdhwY=
github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y=
github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo=
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs=
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0=
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
github.com/distribution/distribution/v3 v3.0.0 h1:q4R8wemdRQDClzoNNStftB2ZAfqOiN6UX90KJc4HjyM=
@@ -123,6 +138,7 @@ github.com/foxcpp/go-mockdns v1.1.0 h1:jI0rD8M0wuYAxL7r/ynTrCQQq0BVqfB99Vgk7Dlme
github.com/foxcpp/go-mockdns v1.1.0/go.mod h1:IhLeSFGed3mJIAXPH2aiRQB+kqz7oqu8ld2qVbOu7Wk=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
@@ -183,6 +199,8 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db h1:woRePGFeVFfLKN/pOkfl+p/TAqKOfFu+7KPlMVpok/w=
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg=
github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
github.com/google/gnostic-models v0.6.9 h1:MU/8wDLif2qCXZmzncUQ/BOfxWfthHi63KqpoNbWqVw=
@@ -234,6 +252,10 @@ github.com/hashicorp/golang-lru/arc/v2 v2.0.5 h1:l2zaLDubNhW4XO3LnliVj0GXO3+/CGN
github.com/hashicorp/golang-lru/arc/v2 v2.0.5/go.mod h1:ny6zBSQZi2JxIeYcv7kt2sH2PXJtirBN7RDhRpxPkxU=
github.com/hashicorp/golang-lru/v2 v2.0.5 h1:wW7h1TG88eUIJ2i69gaE3uNVtEPIagzhGvHgwfx2Vm4=
github.com/hashicorp/golang-lru/v2 v2.0.5/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
@@ -327,14 +349,22 @@ github.com/modood/table v0.0.0-20220527013332-8d47e76dad33 h1:T5IbS9C1G2zeHb6eBy
github.com/modood/table v0.0.0-20220527013332-8d47e76dad33/go.mod h1:41qyXVI5QH9/ObyPj27CGCVau5v/njfc3Gjj7yzr0HQ=
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0=
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4=
github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o=
github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc=
github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8=
github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.7.0 h1:WSHQ+IS43OoUrWtD1/bbclrwK8TTH5hzp+umCiuxHgs=
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo/v2 v2.22.0 h1:Yed107/8DjTr0lKCNt7Dn8yQ6ybuDRQoMGrNFKzMfHg=
github.com/onsi/ginkgo/v2 v2.22.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo=
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.36.1 h1:bJDPBO7ibjxcbHMgSCoo4Yj18UWbKDlLwX1x9sybDcw=
github.com/onsi/gomega v1.36.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
@@ -388,10 +418,12 @@ github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d h1:hrujxIzL1woJ7AwssoOcM/tq5JjjG2yYOc8odClEiXA=
github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d/go.mod h1:uugorj2VCxiV1x+LzaIdVa9b4S4qGAcH6cbhh4qVxOU=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
github.com/schollz/progressbar/v3 v3.17.1 h1:bI1MTaoQO+v5kzklBjYNRQLoVpe0zbyRZNK6DFkVC5U=
github.com/schollz/progressbar/v3 v3.17.1/go.mod h1:RzqpnsPQNjUyIgdglUjRLgD7sVnxN1wpmBMV+UiEbL4=
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
github.com/shirou/gopsutil/v4 v4.25.2 h1:NMscG3l2CqtWFS86kj3vP7soOczqrQYIEhO/pMvvQkk=
github.com/shirou/gopsutil/v4 v4.25.2/go.mod h1:34gBYJzyqCDT11b6bMHP0XCvWeU3J61XRT7a2EmCRTA=
github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
@@ -425,6 +457,8 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE=
github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ=
github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU=
github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI=
github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk=
@@ -519,6 +553,7 @@ golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@@ -543,6 +578,7 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -630,8 +666,13 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4=
gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@@ -22,8 +22,8 @@ import (
"path/filepath"
"strings"
kubekeyapiv1alpha2 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha2"
"bytetrade.io/web3os/installer/pkg/common"
kubekeyapiv1alpha2 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha2"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/pkg/errors"
"helm.sh/helm/v3/pkg/cli"
"helm.sh/helm/v3/pkg/getter"

View File

@@ -40,9 +40,9 @@ import (
"k8s.io/client-go/rest"
"k8s.io/client-go/util/homedir"
kubekeyapiv1alpha2 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha2"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/logger"
kubekeyapiv1alpha2 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha2"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/logger"
)
func debug(format string, v ...interface{}) {

View File

@@ -17,8 +17,8 @@
package addons
import (
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/task"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/task"
)
type AddonsModule struct {

View File

@@ -20,9 +20,9 @@ import (
"fmt"
"path/filepath"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/connector"
"bytetrade.io/web3os/installer/pkg/core/logger"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/connector"
"github.com/beclab/Olares/cli/pkg/core/logger"
)
type Install struct {

View File

@@ -3,9 +3,9 @@ package binaries
import (
"strings"
"bytetrade.io/web3os/installer/pkg/core/connector"
"bytetrade.io/web3os/installer/pkg/core/logger"
"bytetrade.io/web3os/installer/pkg/core/prepare"
"github.com/beclab/Olares/cli/pkg/core/connector"
"github.com/beclab/Olares/cli/pkg/core/logger"
"github.com/beclab/Olares/cli/pkg/core/prepare"
)
type Ubuntu24AppArmorCheck struct {

View File

@@ -1,8 +1,8 @@
package binaries
import (
"bytetrade.io/web3os/installer/pkg/core/util"
"bytetrade.io/web3os/installer/pkg/manifest"
"github.com/beclab/Olares/cli/pkg/core/util"
"github.com/beclab/Olares/cli/pkg/manifest"
"github.com/pkg/errors"
)

View File

@@ -19,10 +19,10 @@ package binaries
import (
"fmt"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/connector"
"bytetrade.io/web3os/installer/pkg/core/logger"
"bytetrade.io/web3os/installer/pkg/manifest"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/connector"
"github.com/beclab/Olares/cli/pkg/core/logger"
"github.com/beclab/Olares/cli/pkg/manifest"
)
type InstallAppArmorTask struct {

View File

@@ -17,8 +17,8 @@
package confirm
import (
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/task"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/task"
)
type InstallConfirmModule struct {

View File

@@ -27,9 +27,9 @@ import (
"github.com/pkg/errors"
versionutil "k8s.io/apimachinery/pkg/util/version"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/connector"
"bytetrade.io/web3os/installer/pkg/core/logger"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/connector"
"github.com/beclab/Olares/cli/pkg/core/logger"
)
// PreCheckResults defines the items to be checked.

View File

@@ -1,8 +1,8 @@
package download
import (
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/task"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/task"
)
type PackageDownloadModule struct {

View File

@@ -9,14 +9,14 @@ import (
"github.com/pkg/errors"
cc "bytetrade.io/web3os/installer/pkg/core/common"
cc "github.com/beclab/Olares/cli/pkg/core/common"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/connector"
"bytetrade.io/web3os/installer/pkg/core/logger"
"bytetrade.io/web3os/installer/pkg/files"
"bytetrade.io/web3os/installer/pkg/manifest"
"bytetrade.io/web3os/installer/pkg/utils"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/connector"
"github.com/beclab/Olares/cli/pkg/core/logger"
"github.com/beclab/Olares/cli/pkg/files"
"github.com/beclab/Olares/cli/pkg/manifest"
"github.com/beclab/Olares/cli/pkg/utils"
)
type PackageDownload struct {

View File

@@ -19,14 +19,14 @@ package os
import (
"path/filepath"
"bytetrade.io/web3os/installer/pkg/kubernetes"
"github.com/beclab/Olares/cli/pkg/kubernetes"
"bytetrade.io/web3os/installer/pkg/bootstrap/os/templates"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/action"
"bytetrade.io/web3os/installer/pkg/core/prepare"
"bytetrade.io/web3os/installer/pkg/core/task"
"bytetrade.io/web3os/installer/pkg/core/util"
"github.com/beclab/Olares/cli/pkg/bootstrap/os/templates"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/action"
"github.com/beclab/Olares/cli/pkg/core/prepare"
"github.com/beclab/Olares/cli/pkg/core/task"
"github.com/beclab/Olares/cli/pkg/core/util"
)
type PvePatchModule struct {

View File

@@ -17,11 +17,11 @@
package os
import (
kubekeyv1alpha2 "bytetrade.io/web3os/installer/apis/kubekey/v1alpha2"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/connector"
"bytetrade.io/web3os/installer/pkg/core/logger"
"bytetrade.io/web3os/installer/pkg/core/util"
kubekeyv1alpha2 "github.com/beclab/Olares/cli/apis/kubekey/v1alpha2"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/connector"
"github.com/beclab/Olares/cli/pkg/core/logger"
"github.com/beclab/Olares/cli/pkg/core/util"
)
type CheckHwClock struct {

View File

@@ -28,13 +28,13 @@ import (
osrelease "github.com/dominodatalab/os-release"
"github.com/pkg/errors"
"bytetrade.io/web3os/installer/pkg/bootstrap/os/templates"
"bytetrade.io/web3os/installer/pkg/common"
cc "bytetrade.io/web3os/installer/pkg/core/common"
"bytetrade.io/web3os/installer/pkg/core/connector"
"bytetrade.io/web3os/installer/pkg/core/logger"
"bytetrade.io/web3os/installer/pkg/core/util"
"bytetrade.io/web3os/installer/pkg/utils"
"github.com/beclab/Olares/cli/pkg/bootstrap/os/templates"
"github.com/beclab/Olares/cli/pkg/common"
cc "github.com/beclab/Olares/cli/pkg/core/common"
"github.com/beclab/Olares/cli/pkg/core/connector"
"github.com/beclab/Olares/cli/pkg/core/logger"
"github.com/beclab/Olares/cli/pkg/core/util"
"github.com/beclab/Olares/cli/pkg/utils"
)
// pve-lxc

View File

@@ -20,10 +20,10 @@ import (
"fmt"
"text/template"
"bytetrade.io/web3os/installer/pkg/bootstrap/registry"
"github.com/beclab/Olares/cli/pkg/bootstrap/registry"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/connector"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/connector"
"github.com/lithammer/dedent"
)

View File

@@ -1,12 +1,12 @@
package patch
import (
"bytetrade.io/web3os/installer/pkg/binaries"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/logger"
"bytetrade.io/web3os/installer/pkg/core/prepare"
"bytetrade.io/web3os/installer/pkg/core/task"
"bytetrade.io/web3os/installer/pkg/manifest"
"github.com/beclab/Olares/cli/pkg/binaries"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/logger"
"github.com/beclab/Olares/cli/pkg/core/prepare"
"github.com/beclab/Olares/cli/pkg/core/task"
"github.com/beclab/Olares/cli/pkg/manifest"
)
type InstallDepsModule struct {

View File

@@ -4,13 +4,13 @@ import (
"fmt"
"strings"
"bytetrade.io/web3os/installer/pkg/utils"
"github.com/beclab/Olares/cli/pkg/utils"
"github.com/pkg/errors"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/connector"
"bytetrade.io/web3os/installer/pkg/core/logger"
"bytetrade.io/web3os/installer/pkg/core/util"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/connector"
"github.com/beclab/Olares/cli/pkg/core/logger"
"github.com/beclab/Olares/cli/pkg/core/util"
)
type EnableSSHTask struct {

View File

@@ -19,10 +19,10 @@ package precheck
import (
"time"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/module"
"bytetrade.io/web3os/installer/pkg/core/task"
"bytetrade.io/web3os/installer/pkg/manifest"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/module"
"github.com/beclab/Olares/cli/pkg/core/task"
"github.com/beclab/Olares/cli/pkg/manifest"
)
type RemoveChattrModule struct {

View File

@@ -32,12 +32,12 @@ import (
"k8s.io/apimachinery/pkg/util/sets"
ctrl "sigs.k8s.io/controller-runtime"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/action"
"bytetrade.io/web3os/installer/pkg/core/connector"
"bytetrade.io/web3os/installer/pkg/core/logger"
"bytetrade.io/web3os/installer/pkg/core/util"
"bytetrade.io/web3os/installer/pkg/utils"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/action"
"github.com/beclab/Olares/cli/pkg/core/connector"
"github.com/beclab/Olares/cli/pkg/core/logger"
"github.com/beclab/Olares/cli/pkg/core/util"
"github.com/beclab/Olares/cli/pkg/utils"
"github.com/pkg/errors"
kclient "k8s.io/client-go/kubernetes"
)

View File

@@ -21,11 +21,11 @@ import (
versionutil "k8s.io/apimachinery/pkg/util/version"
"bytetrade.io/web3os/installer/pkg/certs/templates"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/action"
"bytetrade.io/web3os/installer/pkg/core/task"
"bytetrade.io/web3os/installer/pkg/core/util"
"github.com/beclab/Olares/cli/pkg/certs/templates"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/action"
"github.com/beclab/Olares/cli/pkg/core/task"
"github.com/beclab/Olares/cli/pkg/core/util"
)
type AutoRenewCertsModule struct {

View File

@@ -19,9 +19,9 @@ package certs
import (
"path/filepath"
"bytetrade.io/web3os/installer/pkg/certs/templates"
"bytetrade.io/web3os/installer/pkg/common"
"bytetrade.io/web3os/installer/pkg/core/connector"
"github.com/beclab/Olares/cli/pkg/certs/templates"
"github.com/beclab/Olares/cli/pkg/common"
"github.com/beclab/Olares/cli/pkg/core/connector"
)
type AutoRenewCertsEnabled struct {

View File

@@ -21,11 +21,11 @@ import (
"path"
"path/filepath"
"bytetrade.io/web3os/installer/pkg/certs/templates"
"bytetrade.io/web3os/installer/pkg/common"
cc "bytetrade.io/web3os/installer/pkg/core/common"
"bytetrade.io/web3os/installer/pkg/core/connector"
"bytetrade.io/web3os/installer/pkg/core/util"
"github.com/beclab/Olares/cli/pkg/certs/templates"
"github.com/beclab/Olares/cli/pkg/common"
cc "github.com/beclab/Olares/cli/pkg/core/common"
"github.com/beclab/Olares/cli/pkg/core/connector"
"github.com/beclab/Olares/cli/pkg/core/util"
"github.com/pkg/errors"
)

View File

@@ -19,7 +19,7 @@ package common
import (
"os"
cc "bytetrade.io/web3os/installer/pkg/core/common"
cc "github.com/beclab/Olares/cli/pkg/core/common"
)
const (

Some files were not shown because too many files have changed in this diff Show More