cyberia 2.89.2 → 2.89.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.development +2 -0
- package/.env.production +2 -0
- package/.env.test +2 -0
- package/.github/workflows/engine-cyberia.cd.yml +4 -0
- package/.github/workflows/release.cd.yml +2 -0
- package/bin/cyberia.js +10 -7
- package/bin/deploy.js +22 -15
- package/bin/index.js +10 -7
- package/cli.md +105 -54
- package/deployment.yaml +34 -6
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/manifests/deployment/dd-test-development/deployment.yaml +18 -6
- package/manifests/deployment/dd-test-development/proxy.yaml +2 -0
- package/manifests/deployment/kafka/deployment.yaml +0 -2
- package/manifests/deployment/spark/spark-pi-py.yaml +0 -1
- package/manifests/deployment/tensorflow/tf-gpu-test.yaml +0 -2
- package/manifests/envoy-service-nodeport.yaml +0 -1
- package/manifests/kubeadm-calico-config.yaml +10 -115
- package/manifests/letsencrypt-prod.yaml +0 -1
- package/manifests/mariadb/statefulset.yaml +1 -1
- package/manifests/mongodb/statefulset.yaml +11 -11
- package/manifests/mongodb-4.4/service-deployment.yaml +1 -3
- package/manifests/mysql/pv-pvc.yaml +1 -1
- package/manifests/mysql/statefulset.yaml +1 -1
- package/manifests/pv-pvc-dd.yaml +34 -0
- package/manifests/valkey/service.yaml +0 -1
- package/manifests/valkey/statefulset.yaml +2 -3
- package/package.json +1 -1
- package/proxy.yaml +6 -0
- package/scripts/device-scan.sh +43 -21
- package/scripts/gen-fqdns.sh +14 -0
- package/scripts/ip-info.sh +118 -0
- package/scripts/rpmfusion-ffmpeg-setup.sh +1 -0
- package/src/api/object-layer/object-layer.controller.js +19 -0
- package/src/api/object-layer/object-layer.router.js +4 -0
- package/src/api/object-layer/object-layer.service.js +111 -0
- package/src/api/user/user.model.js +10 -1
- package/src/cli/cluster.js +88 -75
- package/src/cli/deploy.js +165 -85
- package/src/cli/index.js +44 -3
- package/src/cli/monitor.js +12 -6
- package/src/cli/repository.js +13 -1
- package/src/cli/run.js +127 -60
- package/src/client/components/core/Logger.js +1 -1
- package/src/client/components/core/Modal.js +5 -0
- package/src/client/components/core/ObjectLayerEngineModal.js +336 -72
- package/src/client/components/core/ObjectLayerEngineViewer.js +239 -420
- package/src/client/components/core/Router.js +10 -1
- package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +1 -1
- package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +1 -1
- package/src/client/components/cyberia-portal/MenuCyberiaPortal.js +1 -1
- package/src/client/components/cyberia-portal/ObjectLayerCyberiaPortal.js +44 -4
- package/src/client/services/default/default.management.js +25 -5
- package/src/client/services/object-layer/object-layer.management.js +8 -8
- package/src/client/services/object-layer/object-layer.service.js +34 -0
- package/src/index.js +1 -1
- package/src/server/client-build.js +5 -4
- package/src/server/conf.js +1 -1
- package/src/server/start.js +3 -1
- package/manifests/kubelet-config.yaml +0 -65
- package/manifests/mongodb/backup-access.yaml +0 -16
- package/manifests/mongodb/backup-cronjob.yaml +0 -42
- package/manifests/mongodb/backup-pv-pvc.yaml +0 -22
- package/manifests/mongodb/configmap.yaml +0 -26
|
@@ -3,6 +3,7 @@ apiVersion: apps/v1
|
|
|
3
3
|
kind: Deployment
|
|
4
4
|
metadata:
|
|
5
5
|
name: dd-test-development-blue
|
|
6
|
+
namespace: default
|
|
6
7
|
labels:
|
|
7
8
|
app: dd-test-development-blue
|
|
8
9
|
spec:
|
|
@@ -17,7 +18,7 @@ spec:
|
|
|
17
18
|
spec:
|
|
18
19
|
containers:
|
|
19
20
|
- name: dd-test-development-blue
|
|
20
|
-
image: localhost/rockylinux9-underpost:v2.89.
|
|
21
|
+
image: localhost/rockylinux9-underpost:v2.89.45
|
|
21
22
|
# resources:
|
|
22
23
|
# requests:
|
|
23
24
|
# memory: "96294Ki"
|
|
@@ -33,18 +34,23 @@ spec:
|
|
|
33
34
|
npm install -g underpost &&
|
|
34
35
|
underpost secret underpost --create-from-file /etc/config/.env.development &&
|
|
35
36
|
underpost start --build --run dd-test development
|
|
37
|
+
|
|
36
38
|
volumeMounts:
|
|
37
|
-
- name: config-volume
|
|
39
|
+
- name: config-volume-dd-test-development-blue
|
|
38
40
|
mountPath: /etc/config
|
|
41
|
+
|
|
39
42
|
volumes:
|
|
40
|
-
- name: config-volume
|
|
43
|
+
- name: config-volume-dd-test-development-blue
|
|
41
44
|
configMap:
|
|
42
45
|
name: underpost-config
|
|
46
|
+
|
|
47
|
+
|
|
43
48
|
---
|
|
44
49
|
apiVersion: v1
|
|
45
50
|
kind: Service
|
|
46
51
|
metadata:
|
|
47
52
|
name: dd-test-development-blue-service
|
|
53
|
+
namespace: default
|
|
48
54
|
spec:
|
|
49
55
|
selector:
|
|
50
56
|
app: dd-test-development-blue
|
|
@@ -90,6 +96,7 @@ apiVersion: apps/v1
|
|
|
90
96
|
kind: Deployment
|
|
91
97
|
metadata:
|
|
92
98
|
name: dd-test-development-green
|
|
99
|
+
namespace: default
|
|
93
100
|
labels:
|
|
94
101
|
app: dd-test-development-green
|
|
95
102
|
spec:
|
|
@@ -104,7 +111,7 @@ spec:
|
|
|
104
111
|
spec:
|
|
105
112
|
containers:
|
|
106
113
|
- name: dd-test-development-green
|
|
107
|
-
image: localhost/rockylinux9-underpost:v2.89.
|
|
114
|
+
image: localhost/rockylinux9-underpost:v2.89.45
|
|
108
115
|
# resources:
|
|
109
116
|
# requests:
|
|
110
117
|
# memory: "96294Ki"
|
|
@@ -120,18 +127,23 @@ spec:
|
|
|
120
127
|
npm install -g underpost &&
|
|
121
128
|
underpost secret underpost --create-from-file /etc/config/.env.development &&
|
|
122
129
|
underpost start --build --run dd-test development
|
|
130
|
+
|
|
123
131
|
volumeMounts:
|
|
124
|
-
- name: config-volume
|
|
132
|
+
- name: config-volume-dd-test-development-green
|
|
125
133
|
mountPath: /etc/config
|
|
134
|
+
|
|
126
135
|
volumes:
|
|
127
|
-
- name: config-volume
|
|
136
|
+
- name: config-volume-dd-test-development-green
|
|
128
137
|
configMap:
|
|
129
138
|
name: underpost-config
|
|
139
|
+
|
|
140
|
+
|
|
130
141
|
---
|
|
131
142
|
apiVersion: v1
|
|
132
143
|
kind: Service
|
|
133
144
|
metadata:
|
|
134
145
|
name: dd-test-development-green-service
|
|
146
|
+
namespace: default
|
|
135
147
|
spec:
|
|
136
148
|
selector:
|
|
137
149
|
app: dd-test-development-green
|
|
@@ -4,6 +4,7 @@ apiVersion: projectcontour.io/v1
|
|
|
4
4
|
kind: HTTPProxy
|
|
5
5
|
metadata:
|
|
6
6
|
name: test.nexodev.org
|
|
7
|
+
namespace: default
|
|
7
8
|
spec:
|
|
8
9
|
virtualhost:
|
|
9
10
|
fqdn: test.nexodev.org
|
|
@@ -31,6 +32,7 @@ apiVersion: projectcontour.io/v1
|
|
|
31
32
|
kind: HTTPProxy
|
|
32
33
|
metadata:
|
|
33
34
|
name: stagging.nexodev.org
|
|
35
|
+
namespace: default
|
|
34
36
|
spec:
|
|
35
37
|
virtualhost:
|
|
36
38
|
fqdn: stagging.nexodev.org
|
|
@@ -2,7 +2,6 @@ apiVersion: apps/v1
|
|
|
2
2
|
kind: StatefulSet
|
|
3
3
|
metadata:
|
|
4
4
|
name: kafka
|
|
5
|
-
namespace: kafka
|
|
6
5
|
labels:
|
|
7
6
|
app: kafka-app
|
|
8
7
|
spec:
|
|
@@ -54,7 +53,6 @@ apiVersion: v1
|
|
|
54
53
|
kind: Service
|
|
55
54
|
metadata:
|
|
56
55
|
name: kafka-svc
|
|
57
|
-
namespace: kafka
|
|
58
56
|
labels:
|
|
59
57
|
app: kafka-app
|
|
60
58
|
spec:
|
|
@@ -3,7 +3,6 @@ apiVersion: v1
|
|
|
3
3
|
kind: ConfigMap
|
|
4
4
|
metadata:
|
|
5
5
|
name: tf-gpu-test-script
|
|
6
|
-
namespace: default
|
|
7
6
|
data:
|
|
8
7
|
main_tf_gpu_test.py: |
|
|
9
8
|
import os
|
|
@@ -37,7 +36,6 @@ apiVersion: v1
|
|
|
37
36
|
kind: Pod
|
|
38
37
|
metadata:
|
|
39
38
|
name: tf-gpu-test-pod
|
|
40
|
-
namespace: default
|
|
41
39
|
spec:
|
|
42
40
|
restartPolicy: Never
|
|
43
41
|
runtimeClassName: nvidia
|
|
@@ -1,119 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
# 2. A permissive Egress NetworkPolicy for the 'default' namespace
|
|
4
|
-
#
|
|
5
|
-
# These are standard Kubernetes resources that can be applied directly using 'kubectl apply'.
|
|
6
|
-
# The kubeadm-specific ClusterConfiguration and InitConfiguration have been removed
|
|
7
|
-
# as they are only processed by the 'kubeadm init' command, not 'kubectl apply'.
|
|
8
|
-
|
|
9
|
-
# --- Calico Installation: Base configuration for Calico ---
|
|
10
|
-
# For more information, see: https://projectcalico.docs.tigera.io/master/reference/installation/api#operator.tigera.io/v1.Installation
|
|
11
|
-
apiVersion: operator.tigera.io/v1
|
|
12
|
-
kind: Installation
|
|
1
|
+
apiVersion: crd.projectcalico.org/v1
|
|
2
|
+
kind: GlobalNetworkPolicy
|
|
13
3
|
metadata:
|
|
14
|
-
name:
|
|
4
|
+
name: allow-all-egress-cluster
|
|
15
5
|
spec:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
ipPools:
|
|
20
|
-
- blockSize: 26
|
|
21
|
-
cidr: 192.168.0.0/16
|
|
22
|
-
encapsulation: VXLANCrossSubnet
|
|
23
|
-
natOutgoing: Enabled
|
|
24
|
-
nodeSelector: all()
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
# This section configures the Calico API server.
|
|
28
|
-
# For more information, see: https://projectcalico.docs.tigera.io/master/reference/installation/api#operator.tigera.io/v1.APIServer
|
|
29
|
-
apiVersion: operator.tigera.io/v1
|
|
30
|
-
kind: APIServer
|
|
31
|
-
metadata:
|
|
32
|
-
name: default
|
|
33
|
-
spec: {}
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
# This consolidated NetworkPolicy file ensures that all pods in the specified namespaces
|
|
37
|
-
# have unrestricted egress (outbound) access.
|
|
38
|
-
# This is useful for troubleshooting or for environments where strict egress control
|
|
39
|
-
# is not immediately required for these system/default namespaces.
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
# Policy for the 'default' namespace
|
|
43
|
-
apiVersion: networking.k8s.io/v1
|
|
44
|
-
kind: NetworkPolicy
|
|
45
|
-
metadata:
|
|
46
|
-
name: allow-all-egress-default-namespace
|
|
47
|
-
namespace: default # This policy applies to the 'default' namespace
|
|
48
|
-
spec:
|
|
49
|
-
podSelector: {} # Selects all pods in this namespace
|
|
50
|
-
policyTypes:
|
|
51
|
-
- Egress
|
|
52
|
-
egress:
|
|
53
|
-
- to:
|
|
54
|
-
- ipBlock:
|
|
55
|
-
cidr: 0.0.0.0/0 # Allows traffic to any IPv4 address
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
# Policy for the 'kube-system' namespace
|
|
59
|
-
apiVersion: networking.k8s.io/v1
|
|
60
|
-
kind: NetworkPolicy
|
|
61
|
-
metadata:
|
|
62
|
-
name: allow-all-egress-kube-system-namespace
|
|
63
|
-
namespace: kube-system # This policy applies to the 'kube-system' namespace
|
|
64
|
-
spec:
|
|
65
|
-
podSelector: {} # Selects all pods in this namespace
|
|
66
|
-
policyTypes:
|
|
67
|
-
- Egress
|
|
68
|
-
egress:
|
|
69
|
-
- to:
|
|
70
|
-
- ipBlock:
|
|
71
|
-
cidr: 0.0.0.0/0 # Allows traffic to any IPv4 address
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
# Policy for the 'kube-node-lease' namespace
|
|
75
|
-
apiVersion: networking.k8s.io/v1
|
|
76
|
-
kind: NetworkPolicy
|
|
77
|
-
metadata:
|
|
78
|
-
name: allow-all-egress-kube-node-lease-namespace
|
|
79
|
-
namespace: kube-node-lease # This policy applies to the 'kube-node-lease' namespace
|
|
80
|
-
spec:
|
|
81
|
-
podSelector: {} # Selects all pods in this namespace
|
|
82
|
-
policyTypes:
|
|
83
|
-
- Egress
|
|
84
|
-
egress:
|
|
85
|
-
- to:
|
|
86
|
-
- ipBlock:
|
|
87
|
-
cidr: 0.0.0.0/0 # Allows traffic to any IPv4 address
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
# Policy for the 'kube-public' namespace
|
|
91
|
-
apiVersion: networking.k8s.io/v1
|
|
92
|
-
kind: NetworkPolicy
|
|
93
|
-
metadata:
|
|
94
|
-
name: allow-all-egress-kube-public-namespace
|
|
95
|
-
namespace: kube-public # This policy applies to the 'kube-public' namespace
|
|
96
|
-
spec:
|
|
97
|
-
podSelector: {} # Selects all pods in this namespace
|
|
98
|
-
policyTypes:
|
|
99
|
-
- Egress
|
|
100
|
-
egress:
|
|
101
|
-
- to:
|
|
102
|
-
- ipBlock:
|
|
103
|
-
cidr: 0.0.0.0/0 # Allows traffic to any IPv4 address
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
# Policy for the 'tigera-operator' namespace
|
|
107
|
-
apiVersion: networking.k8s.io/v1
|
|
108
|
-
kind: NetworkPolicy
|
|
109
|
-
metadata:
|
|
110
|
-
name: allow-all-egress-tigera-operator-namespace
|
|
111
|
-
namespace: tigera-operator # This policy applies to the 'tigera-operator' namespace
|
|
112
|
-
spec:
|
|
113
|
-
podSelector: {} # Selects all pods in this namespace
|
|
114
|
-
policyTypes:
|
|
6
|
+
selector: all()
|
|
7
|
+
order: 1000
|
|
8
|
+
types:
|
|
115
9
|
- Egress
|
|
116
10
|
egress:
|
|
117
|
-
-
|
|
118
|
-
|
|
119
|
-
|
|
11
|
+
- action: Allow
|
|
12
|
+
destination:
|
|
13
|
+
nets:
|
|
14
|
+
- 0.0.0.0/0
|
|
@@ -3,7 +3,7 @@ kind: StatefulSet
|
|
|
3
3
|
metadata:
|
|
4
4
|
name: mongodb # Specifies the name of the statefulset
|
|
5
5
|
spec:
|
|
6
|
-
serviceName:
|
|
6
|
+
serviceName: 'mongodb-service' # Specifies the service to use
|
|
7
7
|
replicas: 2
|
|
8
8
|
selector:
|
|
9
9
|
matchLabels:
|
|
@@ -18,8 +18,8 @@ spec:
|
|
|
18
18
|
image: docker.io/library/mongo:latest
|
|
19
19
|
command:
|
|
20
20
|
- mongod
|
|
21
|
-
-
|
|
22
|
-
-
|
|
21
|
+
- '--replSet'
|
|
22
|
+
- 'rs0'
|
|
23
23
|
# - '--config'
|
|
24
24
|
# - '-f'
|
|
25
25
|
# - '/etc/mongod.conf'
|
|
@@ -35,9 +35,9 @@ spec:
|
|
|
35
35
|
# - '--setParameter'
|
|
36
36
|
# - 'authenticationMechanisms=SCRAM-SHA-1'
|
|
37
37
|
# - '--fork'
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
38
|
+
- '--logpath'
|
|
39
|
+
- '/var/log/mongodb/mongod.log'
|
|
40
|
+
- '--bind_ip_all'
|
|
41
41
|
# command: ['sh', '-c']
|
|
42
42
|
# args:
|
|
43
43
|
# - |
|
|
@@ -99,11 +99,11 @@ spec:
|
|
|
99
99
|
key: password
|
|
100
100
|
resources:
|
|
101
101
|
requests:
|
|
102
|
-
cpu:
|
|
103
|
-
memory:
|
|
102
|
+
cpu: '100m'
|
|
103
|
+
memory: '256Mi'
|
|
104
104
|
limits:
|
|
105
|
-
cpu:
|
|
106
|
-
memory:
|
|
105
|
+
cpu: '500m'
|
|
106
|
+
memory: '512Mi'
|
|
107
107
|
volumes:
|
|
108
108
|
- name: keyfile
|
|
109
109
|
secret:
|
|
@@ -119,7 +119,7 @@ spec:
|
|
|
119
119
|
- metadata:
|
|
120
120
|
name: mongodb-storage
|
|
121
121
|
spec:
|
|
122
|
-
accessModes: [
|
|
122
|
+
accessModes: ['ReadWriteOnce']
|
|
123
123
|
storageClassName: mongodb-storage-class
|
|
124
124
|
resources:
|
|
125
125
|
requests:
|
|
@@ -2,7 +2,6 @@ apiVersion: apps/v1
|
|
|
2
2
|
kind: Deployment
|
|
3
3
|
metadata:
|
|
4
4
|
name: mongodb-deployment
|
|
5
|
-
namespace: default
|
|
6
5
|
spec:
|
|
7
6
|
selector:
|
|
8
7
|
matchLabels:
|
|
@@ -17,7 +16,7 @@ spec:
|
|
|
17
16
|
containers:
|
|
18
17
|
- name: mongodb
|
|
19
18
|
image: mongo:4.4
|
|
20
|
-
command: [
|
|
19
|
+
command: ['mongod', '--replSet', 'rs0', '--bind_ip_all']
|
|
21
20
|
# -- bash
|
|
22
21
|
# mongo
|
|
23
22
|
# use admin
|
|
@@ -43,7 +42,6 @@ apiVersion: v1
|
|
|
43
42
|
kind: Service
|
|
44
43
|
metadata:
|
|
45
44
|
name: mongodb-service
|
|
46
|
-
namespace: default
|
|
47
45
|
spec:
|
|
48
46
|
clusterIP: None
|
|
49
47
|
selector:
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
apiVersion: v1
|
|
2
|
+
kind: PersistentVolume
|
|
3
|
+
metadata:
|
|
4
|
+
name: pv-dd
|
|
5
|
+
spec:
|
|
6
|
+
capacity:
|
|
7
|
+
storage: 5Gi
|
|
8
|
+
accessModes:
|
|
9
|
+
- ReadWriteOnce
|
|
10
|
+
persistentVolumeReclaimPolicy: Retain
|
|
11
|
+
storageClassName: manual
|
|
12
|
+
hostPath:
|
|
13
|
+
path: /home/dd
|
|
14
|
+
type: DirectoryOrCreate
|
|
15
|
+
# nodeAffinity:
|
|
16
|
+
# required:
|
|
17
|
+
# nodeSelectorTerms:
|
|
18
|
+
# - matchExpressions:
|
|
19
|
+
# - key: kubernetes.io/hostname
|
|
20
|
+
# operator: In
|
|
21
|
+
# values:
|
|
22
|
+
# - localhost
|
|
23
|
+
---
|
|
24
|
+
apiVersion: v1
|
|
25
|
+
kind: PersistentVolumeClaim
|
|
26
|
+
metadata:
|
|
27
|
+
name: pvc-dd
|
|
28
|
+
spec:
|
|
29
|
+
accessModes:
|
|
30
|
+
- ReadWriteOnce
|
|
31
|
+
storageClassName: manual
|
|
32
|
+
resources:
|
|
33
|
+
requests:
|
|
34
|
+
storage: 1Gi
|
|
@@ -2,7 +2,6 @@ apiVersion: apps/v1
|
|
|
2
2
|
kind: StatefulSet
|
|
3
3
|
metadata:
|
|
4
4
|
name: valkey-service
|
|
5
|
-
namespace: default
|
|
6
5
|
spec:
|
|
7
6
|
serviceName: valkey-service
|
|
8
7
|
replicas: 1
|
|
@@ -19,8 +18,8 @@ spec:
|
|
|
19
18
|
- name: valkey-service
|
|
20
19
|
image: docker.io/valkey/valkey:latest
|
|
21
20
|
imagePullPolicy: IfNotPresent
|
|
22
|
-
command: [
|
|
23
|
-
args: [
|
|
21
|
+
command: ['valkey-server']
|
|
22
|
+
args: ['--port', '6379']
|
|
24
23
|
ports:
|
|
25
24
|
- containerPort: 6379
|
|
26
25
|
startupProbe:
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"type": "module",
|
|
3
3
|
"main": "src/index.js",
|
|
4
4
|
"name": "cyberia",
|
|
5
|
-
"version": "2.89.
|
|
5
|
+
"version": "2.89.45",
|
|
6
6
|
"description": "Cyberia Engine - Object Layer and Assets Management Microservice",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"start": "env-cmd -f .env.production node --max-old-space-size=8192 src/server",
|
package/proxy.yaml
CHANGED
|
@@ -4,6 +4,7 @@ apiVersion: projectcontour.io/v1
|
|
|
4
4
|
kind: HTTPProxy
|
|
5
5
|
metadata:
|
|
6
6
|
name: www.cyberiaonline.com
|
|
7
|
+
namespace: default
|
|
7
8
|
spec:
|
|
8
9
|
virtualhost:
|
|
9
10
|
fqdn: www.cyberiaonline.com
|
|
@@ -31,6 +32,7 @@ apiVersion: projectcontour.io/v1
|
|
|
31
32
|
kind: HTTPProxy
|
|
32
33
|
metadata:
|
|
33
34
|
name: cyberiaonline.com
|
|
35
|
+
namespace: default
|
|
34
36
|
spec:
|
|
35
37
|
virtualhost:
|
|
36
38
|
fqdn: cyberiaonline.com
|
|
@@ -49,6 +51,7 @@ apiVersion: projectcontour.io/v1
|
|
|
49
51
|
kind: HTTPProxy
|
|
50
52
|
metadata:
|
|
51
53
|
name: cryptokoyn.net
|
|
54
|
+
namespace: default
|
|
52
55
|
spec:
|
|
53
56
|
virtualhost:
|
|
54
57
|
fqdn: cryptokoyn.net
|
|
@@ -76,6 +79,7 @@ apiVersion: projectcontour.io/v1
|
|
|
76
79
|
kind: HTTPProxy
|
|
77
80
|
metadata:
|
|
78
81
|
name: www.cryptokoyn.net
|
|
82
|
+
namespace: default
|
|
79
83
|
spec:
|
|
80
84
|
virtualhost:
|
|
81
85
|
fqdn: www.cryptokoyn.net
|
|
@@ -94,6 +98,7 @@ apiVersion: projectcontour.io/v1
|
|
|
94
98
|
kind: HTTPProxy
|
|
95
99
|
metadata:
|
|
96
100
|
name: itemledger.com
|
|
101
|
+
namespace: default
|
|
97
102
|
spec:
|
|
98
103
|
virtualhost:
|
|
99
104
|
fqdn: itemledger.com
|
|
@@ -121,6 +126,7 @@ apiVersion: projectcontour.io/v1
|
|
|
121
126
|
kind: HTTPProxy
|
|
122
127
|
metadata:
|
|
123
128
|
name: www.itemledger.com
|
|
129
|
+
namespace: default
|
|
124
130
|
spec:
|
|
125
131
|
virtualhost:
|
|
126
132
|
fqdn: www.itemledger.com
|
package/scripts/device-scan.sh
CHANGED
|
@@ -1,26 +1,42 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
+
set -u -o pipefail
|
|
2
3
|
|
|
3
4
|
for iface_path in /sys/class/net/*; do
|
|
5
|
+
[ -e "$iface_path" ] || continue
|
|
4
6
|
name=$(basename "$iface_path")
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
|
|
8
|
+
# MAC address
|
|
9
|
+
if [ -r "$iface_path/address" ]; then
|
|
10
|
+
mac=$(< "$iface_path/address")
|
|
11
|
+
else
|
|
12
|
+
mac="—"
|
|
13
|
+
fi
|
|
14
|
+
|
|
15
|
+
# IPv4: collect all IPv4 CIDRs, strip masks, join with commas (or show —)
|
|
16
|
+
ip_info=$(ip -4 -o addr show dev "$name" 2>/dev/null | awk '{print $4}')
|
|
17
|
+
if [ -n "$ip_info" ]; then
|
|
18
|
+
# Use word-splitting intentionally to iterate lines from ip_info
|
|
19
|
+
ip=$(printf "%s\n" $ip_info | awk -F/ '{print $1}' | paste -sd, -)
|
|
20
|
+
else
|
|
21
|
+
ip="—"
|
|
22
|
+
fi
|
|
23
|
+
|
|
24
|
+
# operstate and mtu
|
|
25
|
+
operstate=$(< "$iface_path/operstate" 2>/dev/null || echo "—")
|
|
26
|
+
mtu=$(< "$iface_path/mtu" 2>/dev/null || echo "—")
|
|
27
|
+
|
|
28
|
+
# Driver (if available)
|
|
29
|
+
if [ -e "$iface_path/device/driver" ]; then
|
|
13
30
|
driver=$(basename "$(readlink -f "$iface_path/device/driver")")
|
|
14
31
|
else
|
|
15
32
|
driver="—"
|
|
16
33
|
fi
|
|
17
34
|
|
|
18
|
-
#
|
|
35
|
+
# PCI vendor:device (if available)
|
|
19
36
|
pci_dev="$iface_path/device"
|
|
20
|
-
if [ -
|
|
37
|
+
if [ -r "$pci_dev/vendor" ] && [ -r "$pci_dev/device" ]; then
|
|
21
38
|
vendor_id=$(< "$pci_dev/vendor")
|
|
22
39
|
device_id=$(< "$pci_dev/device")
|
|
23
|
-
# parse 0x8086 to 8086, etc.
|
|
24
40
|
vendor_id=${vendor_id#0x}
|
|
25
41
|
device_id=${device_id#0x}
|
|
26
42
|
pci="${vendor_id}:${device_id}"
|
|
@@ -28,16 +44,22 @@ for iface_path in /sys/class/net/*; do
|
|
|
28
44
|
pci="—"
|
|
29
45
|
fi
|
|
30
46
|
|
|
31
|
-
# Link
|
|
47
|
+
# Link speed: only append unit if numeric
|
|
32
48
|
speed=$(cat "$iface_path/speed" 2>/dev/null || echo "—")
|
|
49
|
+
if [[ "$speed" =~ ^[0-9]+$ ]]; then
|
|
50
|
+
speed_label="${speed} Mb/s"
|
|
51
|
+
else
|
|
52
|
+
speed_label="$speed"
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
# Print formatted output
|
|
56
|
+
printf 'Interface: %s\n' "$name"
|
|
57
|
+
printf ' MAC: %s\n' "$mac"
|
|
58
|
+
printf ' IPv4: %s\n' "$ip"
|
|
59
|
+
printf ' State: %s\n' "$operstate"
|
|
60
|
+
printf ' MTU: %s\n' "$mtu"
|
|
61
|
+
printf ' Driver: %s\n' "$driver"
|
|
62
|
+
printf ' PCI Vendor:Device: %s\n' "$pci"
|
|
63
|
+
printf ' Link Speed: %s\n\n' "$speed_label"
|
|
33
64
|
|
|
34
|
-
echo "Interface: $name"
|
|
35
|
-
echo " MAC: $mac"
|
|
36
|
-
echo " IPv4: $ip"
|
|
37
|
-
echo " State: $operstate"
|
|
38
|
-
echo " MTU: $mtu"
|
|
39
|
-
echo " Driver: $driver"
|
|
40
|
-
echo " PCI Vendor:Device ID: $pci"
|
|
41
|
-
echo " Link Speed: ${speed}Mb/s"
|
|
42
|
-
echo
|
|
43
65
|
done
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# gen-fqdns.sh - generate a readable plain table with FQDNs for all services and pods in the cluster
|
|
3
|
+
|
|
4
|
+
set -euo pipefail
|
|
5
|
+
|
|
6
|
+
CLUSTER_DOMAIN="${CLUSTER_DOMAIN:-cluster.local}"
|
|
7
|
+
|
|
8
|
+
# Services: <service>.<namespace>.svc.<cluster-domain>
|
|
9
|
+
kubectl get svc --all-namespaces -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name --no-headers \
|
|
10
|
+
| awk -v cd="$CLUSTER_DOMAIN" '{printf "%-20s %-34s %-6s %s.%s.svc.%s\n", $1, $2, "svc", $2, $1, cd}'
|
|
11
|
+
|
|
12
|
+
# Pods: <pod>.<namespace>.pod.<cluster-domain>
|
|
13
|
+
kubectl get pods --all-namespaces -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name --no-headers \
|
|
14
|
+
| awk -v cd="$CLUSTER_DOMAIN" '{printf "%-20s %-34s %-6s %s.%s.pod.%s\n", $1, $2, "pod", $2, $1, cd}'
|