Compare commits
482 Commits
dsk-23.02.
...
dsk-23.03.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
26f793de59 | ||
|
|
c105249df6 | ||
|
|
6dfec1cccd | ||
|
|
cad101ac40 | ||
|
|
2a787369c1 | ||
|
|
24928daf28 | ||
|
|
5d7d3746ef | ||
|
|
392f2ab4a0 | ||
|
|
144485ddb7 | ||
|
|
ee6352148e | ||
|
|
b9d07eba82 | ||
|
|
cb6c3578f6 | ||
|
|
e57590d5f9 | ||
|
|
b0a5fc93c4 | ||
|
|
58cf477006 | ||
|
|
91313e312b | ||
|
|
bf76bea1f0 | ||
|
|
7e8bcabfab | ||
|
|
2658a24aaf | ||
|
|
d6c28c7211 | ||
|
|
b50d46400e | ||
|
|
e260f3b2a9 | ||
|
|
004273c8c7 | ||
|
|
9157709a4a | ||
|
|
f1e6d17f9e | ||
|
|
49a11eb68d | ||
|
|
f4796ace99 | ||
|
|
b82dc439d0 | ||
|
|
0b02d25e3c | ||
|
|
d2a829c141 | ||
|
|
85bacb2d6b | ||
|
|
d173a9ee2b | ||
|
|
0b51ff896d | ||
|
|
0bcb19e466 | ||
|
|
53bcc8581a | ||
|
|
eaab76c411 | ||
|
|
9d113bb375 | ||
|
|
8fb6dc7a7c | ||
|
|
bd03a6c8fe | ||
|
|
e0f146b937 | ||
|
|
0ab399946d | ||
|
|
ae30f7c317 | ||
|
|
b74ec8f463 | ||
|
|
47c2eb2f17 | ||
|
|
23d373a903 | ||
|
|
90022851c1 | ||
|
|
7e1636868c | ||
|
|
8608743c7f | ||
|
|
f6768361f0 | ||
|
|
275cf81d7a | ||
|
|
79f66bcf3b | ||
|
|
72287e3a71 | ||
|
|
10e2275519 | ||
|
|
9dd21a44d1 | ||
|
|
1604c8b79f | ||
|
|
1887c2c9e8 | ||
|
|
c6825dc188 | ||
|
|
6b58c73fb6 | ||
|
|
e216ef55f1 | ||
|
|
7eafc8745a | ||
|
|
fa61146d81 | ||
|
|
db8ed75e6d | ||
|
|
808df5dd05 | ||
|
|
f146f7b8e8 | ||
|
|
1e58e08a5e | ||
|
|
418d03f692 | ||
|
|
a003214416 | ||
|
|
258e94f0c2 | ||
|
|
6dc200e612 | ||
|
|
9f9e9f7833 | ||
|
|
0ec4e614c1 | ||
|
|
bb30f2c9ea | ||
|
|
871231484d | ||
|
|
f54402aef4 | ||
|
|
8fc75ad6cb | ||
|
|
d35e1fabce | ||
|
|
91f5f4e7aa | ||
|
|
281352a5cd | ||
|
|
1d3b6a6056 | ||
|
|
5785a5cdfa | ||
|
|
5c58339b0d | ||
|
|
99e8dfa7c9 | ||
|
|
fc912b419b | ||
|
|
41ffe81507 | ||
|
|
e2a5608b78 | ||
|
|
d6448f3573 | ||
|
|
00f7e27697 | ||
|
|
88240959e3 | ||
|
|
08453a07bc | ||
|
|
7381c0d2b6 | ||
|
|
956684278f | ||
|
|
99afc7ed1d | ||
|
|
4f90650497 | ||
|
|
21560bb33c | ||
|
|
ff061e2221 | ||
|
|
ac0a75330a | ||
|
|
099e0a1377 | ||
|
|
a6b96c3cb1 | ||
|
|
9eb8cd4573 | ||
|
|
196b68c93c | ||
|
|
346bd817d2 | ||
|
|
835bc67893 | ||
|
|
63ef038fe4 | ||
|
|
e8b6c50092 | ||
|
|
4791782387 | ||
|
|
ef4f382638 | ||
|
|
145b11c499 | ||
|
|
7e1dc5e795 | ||
|
|
100a43ec0f | ||
|
|
461cf258c1 | ||
|
|
68355a0236 | ||
|
|
5a7480ef49 | ||
|
|
f98c321def | ||
|
|
f3df0600b0 | ||
|
|
25a32353f1 | ||
|
|
819b21b56e | ||
|
|
55a8be6d1c | ||
|
|
ee197d2928 | ||
|
|
4b61fb575f | ||
|
|
b0a627f4a8 | ||
|
|
c9048924e2 | ||
|
|
a570f0ecad | ||
|
|
eb21eaa7db | ||
|
|
e351626aab | ||
|
|
4ade12cd28 | ||
|
|
332349d7ad | ||
|
|
399426b2bf | ||
|
|
e1d7b7e2e8 | ||
|
|
e66f0f7925 | ||
|
|
822ac3fba5 | ||
|
|
0bdad318c0 | ||
|
|
e54afaa681 | ||
|
|
cb91474eba | ||
|
|
ee0ba7d835 | ||
|
|
1db00e1a16 | ||
|
|
49aa444d51 | ||
|
|
c382f1a967 | ||
|
|
1547811474 | ||
|
|
4cce299623 | ||
|
|
c35720ea36 | ||
|
|
bbaef8e808 | ||
|
|
71167288ba | ||
|
|
a917e2ae80 | ||
|
|
8f9ab6636b | ||
|
|
f575a6539b | ||
|
|
41c52c3cd7 | ||
|
|
7c2a8285db | ||
|
|
932d3622ab | ||
|
|
5773b6dd7b | ||
|
|
1122cf687c | ||
|
|
140d1c0309 | ||
|
|
2de07e8660 | ||
|
|
7bb6f5aef5 | ||
|
|
819905811d | ||
|
|
42cd44b6d4 | ||
|
|
bfaf2f432d | ||
|
|
6f097d07d0 | ||
|
|
db007d4ebc | ||
|
|
b4dc4be122 | ||
|
|
37a3fde84a | ||
|
|
5cd0fed5db | ||
|
|
e7fbc65fc5 | ||
|
|
c4dc14d538 | ||
|
|
70d5ef73a3 | ||
|
|
b2b6ef32de | ||
|
|
350bcd668d | ||
|
|
8c4f8c9bc4 | ||
|
|
abf3078da2 | ||
|
|
554135e213 | ||
|
|
b9eda4f0c9 | ||
|
|
b78b4e8a1a | ||
|
|
a5041842a6 | ||
|
|
07a2646727 | ||
|
|
c463704856 | ||
|
|
1446d6aeb2 | ||
|
|
54d56e3a93 | ||
|
|
6df48e2a6e | ||
|
|
e7fd1f3ed0 | ||
|
|
177f4d29e9 | ||
|
|
a2acb89a75 | ||
|
|
48cd920224 | ||
|
|
fbd8d222bf | ||
|
|
e5ee6cdc93 | ||
|
|
1c63bd2fb6 | ||
|
|
6e0587fd33 | ||
|
|
d4d0f15c8e | ||
|
|
f670536957 | ||
|
|
8b54a1beea | ||
|
|
e1b0090175 | ||
|
|
65d3d2c425 | ||
|
|
6fe79970d7 | ||
|
|
efd1fb3be3 | ||
|
|
ebdb2b724e | ||
|
|
cb4fc23c84 | ||
|
|
670dfefa7c | ||
|
|
c1586d7270 | ||
|
|
e2c9d6db7b | ||
|
|
349ab05731 | ||
|
|
80bfc819e6 | ||
|
|
190709a9a1 | ||
|
|
234c1b7552 | ||
|
|
ae44e5645f | ||
|
|
f8626fa69b | ||
|
|
2db789e03a | ||
|
|
377c4e24d4 | ||
|
|
a157ec40d2 | ||
|
|
bdda9b5530 | ||
|
|
6b9371f4aa | ||
|
|
eddd623dfe | ||
|
|
4d342dc1b2 | ||
|
|
a2750c34ba | ||
|
|
716d2f93bd | ||
|
|
c932e8f2b9 | ||
|
|
8c8eda558d | ||
|
|
c972e5f392 | ||
|
|
d9afc0807a | ||
|
|
07a76b669b | ||
|
|
55eb16d74b | ||
|
|
4671d2afa2 | ||
|
|
92e40424f0 | ||
|
|
48b7a09881 | ||
|
|
696dbe3721 | ||
|
|
e179ce5025 | ||
|
|
6015774f33 | ||
|
|
35784c4998 | ||
|
|
5906d590b6 | ||
|
|
ac1d5a2a1b | ||
|
|
a9caa019a8 | ||
|
|
80a9071420 | ||
|
|
3d4ebee173 | ||
|
|
350e53ab2c | ||
|
|
7a148575fd | ||
|
|
f6e54f991b | ||
|
|
c9f19e69c1 | ||
|
|
031bf1fbd4 | ||
|
|
2ccaede6cc | ||
|
|
8f7b72a168 | ||
|
|
30a6560d0f | ||
|
|
2a59c66c4a | ||
|
|
bc8495da87 | ||
|
|
7927f01d1d | ||
|
|
fcef22a3c7 | ||
|
|
3615e121fc | ||
|
|
192b84ff2e | ||
|
|
851ecfde3b | ||
|
|
ca78362c0f | ||
|
|
904e01fd74 | ||
|
|
b27a02ce0f | ||
|
|
9c048d24c0 | ||
|
|
9db8bd73ce | ||
|
|
c84d5efc43 | ||
|
|
acd9abc9c9 | ||
|
|
6bcdbd5fce | ||
|
|
d760f66736 | ||
|
|
1171593a1e | ||
|
|
62a28e52f6 | ||
|
|
30e3293beb | ||
|
|
15f91c7d60 | ||
|
|
5dc17152bd | ||
|
|
b7c4e4e30a | ||
|
|
78c44a78fe | ||
|
|
b8beca4152 | ||
|
|
a5b3420b67 | ||
|
|
181ac5c383 | ||
|
|
44ef89f3e2 | ||
|
|
2495166dcb | ||
|
|
b247940c06 | ||
|
|
53c26a3a79 | ||
|
|
0adaa19209 | ||
|
|
56936a2e62 | ||
|
|
579f2968ab | ||
|
|
ede80b6b40 | ||
|
|
12b30c194e | ||
|
|
a49ff76dfa | ||
|
|
1897d6e8ab | ||
|
|
5fba2167c7 | ||
|
|
4d33881d66 | ||
|
|
6f1281df74 | ||
|
|
b5150f2d79 | ||
|
|
19a6c6a25f | ||
|
|
33a5f5d0ea | ||
|
|
2d19976877 | ||
|
|
eceb0b9eb3 | ||
|
|
dff5c0cc26 | ||
|
|
118e8eee23 | ||
|
|
1776f1e172 | ||
|
|
fa34754dfb | ||
|
|
ce4a2711b2 | ||
|
|
9454ae0776 | ||
|
|
e89ead7912 | ||
|
|
95556cd3fa | ||
|
|
56b63395ec | ||
|
|
3f37d5e5e5 | ||
|
|
256daf1077 | ||
|
|
8ab471771d | ||
|
|
81658297c7 | ||
|
|
22d81e2c25 | ||
|
|
abb51dba38 | ||
|
|
516c0c0036 | ||
|
|
3c72b89638 | ||
|
|
89c5e0dca7 | ||
|
|
95e9aa2d23 | ||
|
|
f162856b34 | ||
|
|
a18bfce7a2 | ||
|
|
e4132f0a92 | ||
|
|
23d2a0da46 | ||
|
|
6a91cbb099 | ||
|
|
20bbcfab1c | ||
|
|
76ea675c2e | ||
|
|
9f61985248 | ||
|
|
d774dbe93c | ||
|
|
53c4ea4d32 | ||
|
|
486ba6e312 | ||
|
|
9ce1631864 | ||
|
|
cfe8b1b2e1 | ||
|
|
e67aecdb25 | ||
|
|
7b55e8c552 | ||
|
|
aa0b0294ab | ||
|
|
b2dae3c6c6 | ||
|
|
995daea170 | ||
|
|
a218ffe96a | ||
|
|
465b2ae46d | ||
|
|
83ece68bcd | ||
|
|
478c8114c7 | ||
|
|
cdfee8cb7c | ||
|
|
6d3203207e | ||
|
|
53a9668eae | ||
|
|
d5db3ffd06 | ||
|
|
b6a23735c4 | ||
|
|
0602861fcd | ||
|
|
93d4eb6448 | ||
|
|
ef34f06112 | ||
|
|
d48803fce7 | ||
|
|
456f832fab | ||
|
|
848e971f7f | ||
|
|
cb79207fbe | ||
|
|
ac1a5c56f0 | ||
|
|
5bba0cd351 | ||
|
|
574d6d9fb8 | ||
|
|
9f6f64094c | ||
|
|
0a831de373 | ||
|
|
7ffcd0df10 | ||
|
|
61f1ec14ba | ||
|
|
d33b729736 | ||
|
|
880c7b87a6 | ||
|
|
e76f768e5b | ||
|
|
d8332cdb5b | ||
|
|
2fbe0b389c | ||
|
|
3fdc865863 | ||
|
|
e8a969819f | ||
|
|
f03476ceec | ||
|
|
e45b115c7c | ||
|
|
68bee428df | ||
|
|
a5c7fc80f7 | ||
|
|
505c70aa81 | ||
|
|
e77c89518f | ||
|
|
86cb161bb3 | ||
|
|
9c8085eb6c | ||
|
|
7409f4ff60 | ||
|
|
ac99858e8c | ||
|
|
d017c3d49f | ||
|
|
65b802643d | ||
|
|
c80feaf148 | ||
|
|
228c36e02d | ||
|
|
c886a36e8f | ||
|
|
b080dd2960 | ||
|
|
e51b5c866b | ||
|
|
5da82e5bbf | ||
|
|
2dea33b86c | ||
|
|
6b91ba3db3 | ||
|
|
eabbd1a34e | ||
|
|
3f9b271ea5 | ||
|
|
74af001981 | ||
|
|
ca237c0941 | ||
|
|
6fbdcfbd2d | ||
|
|
beb5e7b474 | ||
|
|
16d54738d6 | ||
|
|
5f8d786b7c | ||
|
|
d8698639a5 | ||
|
|
1110c20bea | ||
|
|
3951923b06 | ||
|
|
38b9aaf594 | ||
|
|
325e296dae | ||
|
|
e0c5f91f85 | ||
|
|
afc2732d10 | ||
|
|
c176eb2b7a | ||
|
|
6d6a8124e6 | ||
|
|
296c04cb3c | ||
|
|
5cbebca377 | ||
|
|
3164c2530b | ||
|
|
21cfa3e36a | ||
|
|
ad6b8f93b9 | ||
|
|
584796f21a | ||
|
|
a5fe6013ce | ||
|
|
fcb318d38b | ||
|
|
52da9167a8 | ||
|
|
d5c5a9411a | ||
|
|
de08ae3b30 | ||
|
|
fb9f3eb885 | ||
|
|
33b12fd176 | ||
|
|
58e8b37a8f | ||
|
|
5e141c7762 | ||
|
|
6f0459acab | ||
|
|
c9f185460c | ||
|
|
4cc648cec5 | ||
|
|
9a290df851 | ||
|
|
1589c8c710 | ||
|
|
e102217a2f | ||
|
|
0ef78c6f23 | ||
|
|
7c23963aac | ||
|
|
01dee09724 | ||
|
|
625eb9557a | ||
|
|
b3b3899e0a | ||
|
|
6afa3cf89d | ||
|
|
c557146a6d | ||
|
|
38682cfc2c | ||
|
|
377d14e743 | ||
|
|
d20e6cc02b | ||
|
|
77b793eb38 | ||
|
|
c633d6f3fa | ||
|
|
40ddc86298 | ||
|
|
a3f29a000f | ||
|
|
9621c1ed21 | ||
|
|
6f3718bdad | ||
|
|
06f356d13f | ||
|
|
3ab3e23019 | ||
|
|
0f00a57316 | ||
|
|
e82463e92b | ||
|
|
979d6ef31e | ||
|
|
56e8c121da | ||
|
|
e7717b3c6c | ||
|
|
9a9f69c9a7 | ||
|
|
24e4f2c5fb | ||
|
|
7bd0b41695 | ||
|
|
87db44ed34 | ||
|
|
3940cce675 | ||
|
|
68273501e5 | ||
|
|
d8df062130 | ||
|
|
458e8fa8ce | ||
|
|
357350a46b | ||
|
|
94a8c2cbc5 | ||
|
|
821bddf7af | ||
|
|
ff594696b6 | ||
|
|
e39bb982a2 | ||
|
|
d67d99bf51 | ||
|
|
fc9e007b2a | ||
|
|
01dce351ac | ||
|
|
a531041bc8 | ||
|
|
e18b191f91 | ||
|
|
6d7b5e3a4b | ||
|
|
934485c1f1 | ||
|
|
159a925c1b | ||
|
|
b47b7216f6 | ||
|
|
a73bc4b967 | ||
|
|
1e1bee3780 | ||
|
|
c35e05333e | ||
|
|
a4c96b9d61 | ||
|
|
e86a92f73d | ||
|
|
3c255e1239 | ||
|
|
5562b9128e | ||
|
|
42647917f5 | ||
|
|
6717bedc0a | ||
|
|
7e9d985473 | ||
|
|
894512b85d | ||
|
|
eb58bc16bd | ||
|
|
0f78c7044c | ||
|
|
ac38eafdc1 | ||
|
|
48f29a7956 | ||
|
|
120c1c4007 | ||
|
|
25c0c4cbe7 | ||
|
|
ffede92e99 | ||
|
|
a2e699eb51 | ||
|
|
4d4d285ddc | ||
|
|
8f1d70f4e4 | ||
|
|
a0f4516363 | ||
|
|
b02a02a9fc | ||
|
|
9754695390 | ||
|
|
e039c5f3e8 | ||
|
|
20bf9115c8 | ||
|
|
d41dc64c35 | ||
|
|
383942ed50 | ||
|
|
c8dde60b33 |
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
__pycache__
|
||||||
|
dashboard/version-management.log
|
||||||
4
Dockerfile.cicd
Normal file
4
Dockerfile.cicd
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
FROM python:3.11-slim
|
||||||
|
WORKDIR app
|
||||||
|
COPY requirements-cicd.txt requirements-cicd.txt
|
||||||
|
RUN pip install --upgrade pip && pip install -r requirements-cicd.txt
|
||||||
17
Dockerfile.dashboard
Normal file
17
Dockerfile.dashboard
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
From python:3.11-slim
|
||||||
|
|
||||||
|
WORKDIR app
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get -y install --no-install-recommends curl vim git openssh-client \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
COPY requirements-dashboard.txt requirements-dashboard.txt
|
||||||
|
RUN pip install --no-cache-dir --upgrade pip && pip install -r requirements-dashboard.txt
|
||||||
|
|
||||||
|
ENV PYTHONUNBUFFERED=1
|
||||||
|
ENV PYTHONIOENCODING=UTF-8
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
ENTRYPOINT ["streamlit", "run", "dashboard/main.py"]
|
||||||
47
README.md
47
README.md
@@ -1,33 +1,34 @@
|
|||||||
# DataSaker
|
# DataSaker
|
||||||
### dsk-23.02.6
|
### dsk-23.03.14
|
||||||
|
|
||||||
# Service Version
|
# Service Version
|
||||||
| Type | Name | Candidate Version | Release Version | Product Version |
|
| Type | Name | Candidate Version | Release Version | Product Version |
|
||||||
|:--------:|:------------------------------|:-------------------:|:-----------------:|:-----------------:|
|
|:--------:|:------------------------------|:-------------------:|:-----------------:|:-----------------:|
|
||||||
| front | dsk-ui | release-0.1.26 | release-0.1.26 | release-0.1.25 |
|
| front | dsk-ui | release-0.2.22 | release-0.2.22 | release-0.2.22 |
|
||||||
| api | dsk-agent-api | release-0.1.8 | release-0.1.8 | release-0.1.7 |
|
| api | dsk-agent-api | release-0.1.15 | release-0.1.15 | release-0.1.15 |
|
||||||
| api | dsk-agentmanager-api | release-0.1.5 | release-0.1.5 | release-0.1.4 |
|
| api | dsk-agentmanager-api | release-0.1.6 | release-0.1.6 | release-0.1.6 |
|
||||||
| api | dsk-alert-api | release-0.1.8 | release-0.1.8 | release-0.1.8 |
|
| api | dsk-alert-api | release-0.1.17 | release-0.1.17 | release-0.1.17 |
|
||||||
| api | dsk-apm-api | release-0.1.6 | release-0.1.6 | release-0.1.6 |
|
| api | dsk-apm-api | release-0.1.15 | release-0.1.15 | release-0.1.15 |
|
||||||
| api | dsk-chart-api | release-0.1.15 | release-0.1.15 | release-0.1.13 |
|
| api | dsk-chart-api | release-0.2.9 | release-0.2.9 | release-0.2.8 |
|
||||||
| api | dsk-dashboard-api | release-0.1.11 | release-0.1.11 | release-0.1.11 |
|
| api | dsk-dashboard-api | release-0.1.16 | release-0.1.16 | release-0.1.16 |
|
||||||
| api | dsk-database-api | release-0.1.11 | release-0.1.11 | release-0.1.11 |
|
| api | dsk-database-api | release-0.1.26 | release-0.1.26 | release-0.1.26 |
|
||||||
| api | dsk-infrastructure-api | release-0.1.12 | release-0.1.12 | release-0.1.12 |
|
| api | dsk-infrastructure-api | release-0.1.15 | release-0.1.15 | release-0.1.15 |
|
||||||
| api | dsk-log-api | release-0.1.8 | release-0.1.7 | release-0.1.7 |
|
| api | dsk-log-api | release-0.1.12 | release-0.1.12 | release-0.1.12 |
|
||||||
| api | dsk-notification-api | release-0.1.5 | release-0.1.5 | release-0.1.5 |
|
| api | dsk-notification-api | release-0.2.6 | release-0.2.6 | release-0.2.6 |
|
||||||
| api | dsk-usergate-api | release-0.1.9 | release-0.1.9 | release-0.1.9 |
|
| api | dsk-usergate-api | release-0.1.13 | release-0.1.13 | release-0.1.13 |
|
||||||
| api | dsk-app-sender | release-0.1.4 | release-0.1.4 | release-0.1.4 |
|
| api | dsk-app-sender | release-0.2.1 | release-0.2.1 | release-0.2.0 |
|
||||||
| api | dsk-backoffice | | | |
|
| api | dsk-backoffice | | | |
|
||||||
| api | dsk-metering-batch | | release-0.0.2 | |
|
| api | dsk-metering-batch | | release-0.0.3 | |
|
||||||
| api | dsk-metering-blocking-batch | | | |
|
| api | dsk-metering-blocking-batch | | | |
|
||||||
| api | dsk-live-api | | | |
|
| api | dsk-live-api | | | |
|
||||||
|
| api | dsk-billing-api | release-0.1.2 | release-0.1.2 | release-0.1.2 |
|
||||||
| stream | dsk-database-plan-stream | release-0.1.1 | release-0.1.1 | |
|
| stream | dsk-database-plan-stream | release-0.1.1 | release-0.1.1 | |
|
||||||
| stream | dsk-metric-base-agg-stream | release-0.1.2 | release-0.1.2 | release-0.1.2 |
|
| stream | dsk-metric-base-agg-stream | release-0.1.3 | release-0.1.3 | release-0.1.3 |
|
||||||
| stream | dsk-metric-base-flat-stream | release-0.1.4 | release-0.1.4 | release-0.1.4 |
|
| stream | dsk-metric-base-flat-stream | release-0.1.6 | release-0.1.6 | release-0.1.6 |
|
||||||
| stream | dsk-trace-stream | release-0.1.2 | release-0.1.2 | release-0.1.2 |
|
| stream | dsk-trace-stream | release-0.1.3 | release-0.1.3 | release-0.1.3 |
|
||||||
| stream | dsk-metric-custom-flat-stream | release-0.1.3 | release-0.1.3 | release-0.1.3 |
|
| stream | dsk-metric-custom-flat-stream | release-0.1.3 | release-0.1.3 | release-0.1.3 |
|
||||||
| stream | dsk-tagging-connector | release-0.1.7 | release-0.1.7 | release-0.1.5 |
|
| stream | dsk-tagging-connector | release-0.1.10 | release-0.1.10 | release-0.1.10 |
|
||||||
| stream | dsk-kafka2storage | release-0.1.2 | release-0.1.2 | |
|
| stream | dsk-kafka2storage | release-0.1.3 | release-0.1.3 | release-0.1.3 |
|
||||||
| datagate | dsk-datagate | release-0.1.2 | release-0.1.2 | |
|
| stream | dsk-log-connector | release-0.1.3 | release-0.1.3 | release-0.1.3 |
|
||||||
| datagate | dsk-loggate | release-0.1.3 | release-0.1.3 | |
|
| datagate | dsk-datagate | release-0.1.6 | release-0.1.6 | release-0.1.6 |
|
||||||
| datagate | dsk-log-connector | release-0.1.3 | release-0.1.3 | |
|
| datagate | dsk-loggate | release-0.1.5 | release-0.1.5 | release-0.1.5 |
|
||||||
28
dashboard/logger.py
Normal file
28
dashboard/logger.py
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
import os, logging
|
||||||
|
|
||||||
|
host = os.environ.get('VERSION_MANAGEMENT_SERVICE_HOST', default='10.10.43.240')
|
||||||
|
service = os.environ.get('VERSION_MANAGEMENT_SERVICE_PORT', default=31090)
|
||||||
|
|
||||||
|
class PrintHandler(logging.Handler):
|
||||||
|
def emit(self, record):
|
||||||
|
msg = self.format(record)
|
||||||
|
print(msg)
|
||||||
|
|
||||||
|
def setup_logger():
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
logger.setLevel(logging.INFO)
|
||||||
|
log_file='dashboard/version-management.log'
|
||||||
|
formatter = logging.Formatter(f'%(asctime)s %(levelname)s : %(message)s')
|
||||||
|
|
||||||
|
file_handler = logging.FileHandler(log_file)
|
||||||
|
file_handler.setFormatter(formatter)
|
||||||
|
|
||||||
|
print_handler = PrintHandler()
|
||||||
|
print_handler.setFormatter(formatter)
|
||||||
|
|
||||||
|
logger.addHandler(file_handler)
|
||||||
|
logger.addHandler(print_handler)
|
||||||
|
|
||||||
|
return logger
|
||||||
|
|
||||||
|
logger = setup_logger()
|
||||||
60
dashboard/main.py
Normal file
60
dashboard/main.py
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
import pandas as pd
|
||||||
|
import streamlit as st
|
||||||
|
from datetime import datetime
|
||||||
|
from streamlit_js_eval import streamlit_js_eval
|
||||||
|
from settings import *
|
||||||
|
from sidebar import show_sidebar
|
||||||
|
|
||||||
|
def highlight_disabled_col(value):
|
||||||
|
return 'background-color: #F0F2F6'
|
||||||
|
|
||||||
|
if __name__=='__main__':
|
||||||
|
|
||||||
|
st.set_page_config(
|
||||||
|
page_title='DataSaker Version Management',
|
||||||
|
layout='wide'
|
||||||
|
)
|
||||||
|
|
||||||
|
tab1, tab2 = st.tabs(["DataSaker", "Releases"])
|
||||||
|
|
||||||
|
with tab1:
|
||||||
|
st.header('DataSaker')
|
||||||
|
st.write(f"##### {get_datasaker()}")
|
||||||
|
|
||||||
|
col1, col2 = st.columns([7, 3])
|
||||||
|
with col1:
|
||||||
|
st.subheader('Service')
|
||||||
|
if st.button('Data Reload'):
|
||||||
|
git_pull()
|
||||||
|
streamlit_js_eval(js_expressions='parent.window.location.reload()')
|
||||||
|
|
||||||
|
df = pd.DataFrame.from_dict(get_service())
|
||||||
|
regex = '^release-[0-9]+.[0-9]+.[0-9]+$'
|
||||||
|
edited_df = st.data_editor(
|
||||||
|
df.style.applymap(highlight_disabled_col),
|
||||||
|
key='data_editor',
|
||||||
|
column_config={
|
||||||
|
'type': st.column_config.TextColumn('Type', disabled=True),
|
||||||
|
'name': st.column_config.TextColumn('Name', disabled=True, width='medium'),
|
||||||
|
'latest_candidate_version': st.column_config.TextColumn('Candidate Latest Version', disabled=True),
|
||||||
|
'candidate_version': st.column_config.TextColumn('Candidate Version', validate=regex),
|
||||||
|
'release_version': st.column_config.TextColumn('Release Version', validate=regex),
|
||||||
|
'product_version': st.column_config.TextColumn('Product Version', validate=regex)
|
||||||
|
},
|
||||||
|
height=800
|
||||||
|
)
|
||||||
|
with col2:
|
||||||
|
st.text('Edited Rows')
|
||||||
|
st.write(st.session_state['data_editor']['edited_rows'])
|
||||||
|
|
||||||
|
with tab2:
|
||||||
|
releases = get_github_releases()
|
||||||
|
for release in releases:
|
||||||
|
st.write(f"### {release['name']}")
|
||||||
|
st.write(release['html_url'])
|
||||||
|
st.write(datetime.strptime(release['published_at'], "%Y-%m-%dT%H:%M:%SZ"))
|
||||||
|
# st.write(datetime.strptime(release['published_at'], "%Y-%m-%dT%H:%M:%SZ").strftime('%Y-%m-%d %H:%M:%S'))
|
||||||
|
st.write(release['body'].replace('#', ''))
|
||||||
|
st.divider()
|
||||||
|
|
||||||
|
show_sidebar(df, edited_df)
|
||||||
76
dashboard/settings.py
Normal file
76
dashboard/settings.py
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
import os, json, requests, subprocess
|
||||||
|
from git import Repo
|
||||||
|
|
||||||
|
repo = Repo('.')
|
||||||
|
file_path = './version.json'
|
||||||
|
api_url = 'https://api.github.com/repos/cloudmoa/dsk-version-management/releases'
|
||||||
|
github_token = os.environ.get('GITHUB_TOKEN')
|
||||||
|
|
||||||
|
def get_datasaker():
|
||||||
|
return json.load(open(file_path, 'r'))['datasaker']
|
||||||
|
|
||||||
|
def get_service():
|
||||||
|
return json.load(open(file_path, 'r'))['service']
|
||||||
|
|
||||||
|
def get_commit_id():
|
||||||
|
return repo.head.commit
|
||||||
|
|
||||||
|
def get_tags():
|
||||||
|
latest_tags = sorted(repo.tags, key=lambda t: t.commit.committed_date, reverse=True)
|
||||||
|
return latest_tags
|
||||||
|
|
||||||
|
def get_github_releases():
|
||||||
|
headers = {'Authorization': f'Bearer {github_token}', 'Accept': 'application/vnd.github.v3+json'}
|
||||||
|
releases = requests.get(api_url, headers=headers).json()
|
||||||
|
return releases
|
||||||
|
|
||||||
|
def get_user_name_list():
|
||||||
|
users = ['', 'dsk-minchulahn', 'Ose-Exem', 'deukjin', 'pparkssi3']
|
||||||
|
return users
|
||||||
|
|
||||||
|
def get_user_email(username):
|
||||||
|
if username == 'dsk-minchulahn': return 'minchulahn@ex-em.com'
|
||||||
|
elif username == 'Ose-Exem': return 'ose@ex-em.com'
|
||||||
|
elif username == 'deukjin': return 'djkim@ex-em.com'
|
||||||
|
elif username == 'pparkssi3': return 'pparkssi@ex-em.com'
|
||||||
|
else: return ''
|
||||||
|
|
||||||
|
def set_git_config(username, email):
|
||||||
|
subprocess.run(["git", "config", "--global", "user.name", username], check=True)
|
||||||
|
subprocess.run(["git", "config", "--global", "user.email", email], check=True)
|
||||||
|
|
||||||
|
def diff():
|
||||||
|
if len(repo.index.diff(repo.head.commit)) > 0:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def diff_remote_head():
|
||||||
|
repo.remote().fetch()
|
||||||
|
remote_head = repo.remote().refs['main'].commit
|
||||||
|
|
||||||
|
if repo.head.commit == remote_head:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def git_pull():
|
||||||
|
repo.remote().fetch()
|
||||||
|
repo.remotes.origin.pull()
|
||||||
|
|
||||||
|
def git_push(commit_message, extended_description):
|
||||||
|
repo.git.add('version.json')
|
||||||
|
|
||||||
|
if len(repo.index.diff(repo.head.commit)) > 0:
|
||||||
|
repo.index.commit(f'{commit_message}\n\n{extended_description}')
|
||||||
|
repo.git.push(force=False)
|
||||||
|
|
||||||
|
def publish_release(selected_tag, release_title, release_describe):
|
||||||
|
headers = {'Authorization': f'Bearer {github_token}', 'Accept': 'application/vnd.github.v3+json'}
|
||||||
|
release_data = {
|
||||||
|
'tag_name': selected_tag,
|
||||||
|
'name': release_title,
|
||||||
|
'body': release_describe,
|
||||||
|
'draft': False,
|
||||||
|
'prerelease': False
|
||||||
|
}
|
||||||
|
return requests.post(api_url, json=release_data, headers=headers)
|
||||||
105
dashboard/sidebar.py
Normal file
105
dashboard/sidebar.py
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
import json, time
|
||||||
|
import streamlit as st
|
||||||
|
from streamlit_js_eval import streamlit_js_eval
|
||||||
|
from settings import *
|
||||||
|
from logger import logger
|
||||||
|
|
||||||
|
if 'push_button_disabled' not in st.session_state:
|
||||||
|
st.session_state.push_button_disabled = True
|
||||||
|
if 'release_button_disabled' not in st.session_state:
|
||||||
|
st.session_state.release_button_disabled = True
|
||||||
|
|
||||||
|
def set_extended_description(edited_df):
|
||||||
|
json_edited_df = json.loads(edited_df.to_json(orient='records'))
|
||||||
|
extended_description_value = []
|
||||||
|
for idx, changed_idx in enumerate(st.session_state['data_editor']['edited_rows']):
|
||||||
|
if idx == 0:
|
||||||
|
extended_description_value.append(json_edited_df[changed_idx]['name'])
|
||||||
|
else:
|
||||||
|
extended_description_value.append('\n' + json_edited_df[changed_idx]['name'])
|
||||||
|
|
||||||
|
if 'candidate_version' in st.session_state['data_editor']['edited_rows'][changed_idx]:
|
||||||
|
extended_description_value.append(f"candidate: {st.session_state['data_editor']['edited_rows'][changed_idx]['candidate_version']}")
|
||||||
|
if 'release_version' in st.session_state['data_editor']['edited_rows'][changed_idx]:
|
||||||
|
extended_description_value.append(f"release: {st.session_state['data_editor']['edited_rows'][changed_idx]['release_version']}")
|
||||||
|
if 'product_version' in st.session_state['data_editor']['edited_rows'][changed_idx]:
|
||||||
|
extended_description_value.append(f"product: {st.session_state['data_editor']['edited_rows'][changed_idx]['product_version']}")
|
||||||
|
return '\n'.join(extended_description_value)
|
||||||
|
|
||||||
|
def set_version_json(edited_df):
|
||||||
|
data = {'datasaker': get_datasaker(),'service': json.loads(edited_df.to_json(orient='records'))}
|
||||||
|
with open('version.json', 'w') as file:
|
||||||
|
json.dump(data, file, indent=4)
|
||||||
|
|
||||||
|
def show_sidebar(df, edited_df):
|
||||||
|
with st.sidebar:
|
||||||
|
st.subheader('Git Push')
|
||||||
|
with st.expander('Git Push'):
|
||||||
|
selected_user_name = st.selectbox('User Name', get_user_name_list(), key='git_user_name')
|
||||||
|
|
||||||
|
if selected_user_name:
|
||||||
|
set_git_config(selected_user_name, get_user_email(selected_user_name))
|
||||||
|
|
||||||
|
commit_message = st.text_input('Commit Message', value='Update version.json')
|
||||||
|
extended_description = st.text_area('Extended description', value=set_extended_description(edited_df), height=200)
|
||||||
|
|
||||||
|
if selected_user_name and commit_message:
|
||||||
|
st.session_state.push_button_disabled = False
|
||||||
|
else:
|
||||||
|
st.session_state.push_button_disabled = True
|
||||||
|
|
||||||
|
if st.button(key='push', label='Commit changes', disabled=st.session_state.push_button_disabled):
|
||||||
|
if selected_user_name and commit_message:
|
||||||
|
if diff_remote_head():
|
||||||
|
if df.equals(edited_df):
|
||||||
|
logger.warning(f'Git Push - No changes have been made | {selected_user_name}')
|
||||||
|
st.warning('No changes have been made', icon='⚠️')
|
||||||
|
else:
|
||||||
|
set_version_json(edited_df)
|
||||||
|
git_push(commit_message, extended_description)
|
||||||
|
logger.info(f'Git Push - Success | {selected_user_name}')
|
||||||
|
st.success('Success', icon='✅')
|
||||||
|
time.sleep(1)
|
||||||
|
streamlit_js_eval(js_expressions='parent.window.location.reload()')
|
||||||
|
else:
|
||||||
|
logger.error(f'Git Push - Updates were rejected because the tip of your current branch is behind | {selected_user_name}')
|
||||||
|
st.error('Updates were rejected because the tip of your current branch is behind', icon='🚨')
|
||||||
|
|
||||||
|
st.divider()
|
||||||
|
|
||||||
|
st.subheader('Draft a new release')
|
||||||
|
with st.expander('Draft a new release'):
|
||||||
|
tags = [tag.name for tag in get_tags()]
|
||||||
|
tags.insert(0, '')
|
||||||
|
new_tag = st.text_input('Create a new tag')
|
||||||
|
|
||||||
|
if new_tag:
|
||||||
|
if new_tag in tags:
|
||||||
|
st.warning('Existing tag', icon='⚠️')
|
||||||
|
else:
|
||||||
|
tags.insert(0, new_tag)
|
||||||
|
|
||||||
|
selected_tag = st.selectbox('Choose a tag', tags)
|
||||||
|
release_title = st.text_input('Release title', value=selected_tag)
|
||||||
|
release_describe = st.text_area('Describe this release', value='## Production에 변경된 Version')
|
||||||
|
|
||||||
|
if selected_tag and release_title and release_describe:
|
||||||
|
st.session_state.release_button_disabled = False
|
||||||
|
else:
|
||||||
|
st.session_state.release_button_disabled = True
|
||||||
|
|
||||||
|
if st.button(key='release', label='Publish release', disabled=st.session_state.release_button_disabled):
|
||||||
|
if selected_tag and release_title and release_describe:
|
||||||
|
response = publish_release(selected_tag, release_title, release_describe)
|
||||||
|
|
||||||
|
if response.status_code == 201:
|
||||||
|
logger.info(f'Publish Release - Release created successfully')
|
||||||
|
st.success('Release created successfully', icon='✅')
|
||||||
|
git_pull()
|
||||||
|
streamlit_js_eval(js_expressions='parent.window.location.reload()')
|
||||||
|
else:
|
||||||
|
logger.error(f'Publish Release - Failed to create release. Status code: {response.status_code}')
|
||||||
|
logger.error(f'Response: {response.text}')
|
||||||
|
st.error(f'Failed to create release. Status code: {response.status_code}\n\n Response: {response.text}', icon='🚨')
|
||||||
|
|
||||||
|
st.divider()
|
||||||
4
requirements-cicd.txt
Normal file
4
requirements-cicd.txt
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
jsontemplates==0.1.0
|
||||||
|
PyYAML==6.0
|
||||||
|
pandas==2.0.2
|
||||||
|
tabulate==0.9.0
|
||||||
3
requirements-dashboard.txt
Normal file
3
requirements-dashboard.txt
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
GitPython==3.1.32
|
||||||
|
streamlit==1.25.0
|
||||||
|
streamlit_js_eval==0.1.5
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
jsontemplates==0.1.0
|
|
||||||
PyYAML==6.0
|
|
||||||
212
version.json
212
version.json
@@ -1,109 +1,109 @@
|
|||||||
{
|
{
|
||||||
"datasaker": "dsk-23.02.6",
|
"datasaker": "dsk-23.03.14",
|
||||||
"service": [
|
"service": [
|
||||||
{
|
{
|
||||||
"type": "front",
|
"type": "front",
|
||||||
"name": "dsk-ui",
|
"name": "dsk-ui",
|
||||||
"latest_candidate_version": "release-0.1.26",
|
"latest_candidate_version": "release-0.2.22",
|
||||||
"candidate_version": "release-0.1.26",
|
"candidate_version": "release-0.2.22",
|
||||||
"release_version": "release-0.1.26",
|
"release_version": "release-0.2.22",
|
||||||
"product_version": "release-0.1.26"
|
"product_version": "release-0.2.22"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "api",
|
"type": "api",
|
||||||
"name": "dsk-agent-api",
|
"name": "dsk-agent-api",
|
||||||
"latest_candidate_version": "release-0.1.8",
|
|
||||||
"candidate_version": "release-0.1.8",
|
|
||||||
"release_version": "release-0.1.8",
|
|
||||||
"product_version": "release-0.1.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "api",
|
|
||||||
"name": "dsk-agentmanager-api",
|
|
||||||
"latest_candidate_version": "release-0.1.5",
|
|
||||||
"candidate_version": "release-0.1.5",
|
|
||||||
"release_version": "release-0.1.5",
|
|
||||||
"product_version": "release-0.1.5"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "api",
|
|
||||||
"name": "dsk-alert-api",
|
|
||||||
"latest_candidate_version": "release-0.1.8",
|
|
||||||
"candidate_version": "release-0.1.8",
|
|
||||||
"release_version": "release-0.1.8",
|
|
||||||
"product_version": "release-0.1.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "api",
|
|
||||||
"name": "dsk-apm-api",
|
|
||||||
"latest_candidate_version": "release-0.1.6",
|
|
||||||
"candidate_version": "release-0.1.6",
|
|
||||||
"release_version": "release-0.1.6",
|
|
||||||
"product_version": "release-0.1.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "api",
|
|
||||||
"name": "dsk-chart-api",
|
|
||||||
"latest_candidate_version": "release-0.1.15",
|
"latest_candidate_version": "release-0.1.15",
|
||||||
"candidate_version": "release-0.1.15",
|
"candidate_version": "release-0.1.15",
|
||||||
"release_version": "release-0.1.15",
|
"release_version": "release-0.1.15",
|
||||||
"product_version": "release-0.1.15"
|
"product_version": "release-0.1.15"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "api",
|
||||||
|
"name": "dsk-agentmanager-api",
|
||||||
|
"latest_candidate_version": "release-0.1.6",
|
||||||
|
"candidate_version": "release-0.1.6",
|
||||||
|
"release_version": "release-0.1.6",
|
||||||
|
"product_version": "release-0.1.6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "api",
|
||||||
|
"name": "dsk-alert-api",
|
||||||
|
"latest_candidate_version": "release-0.1.18",
|
||||||
|
"candidate_version": "release-0.1.17",
|
||||||
|
"release_version": "release-0.1.17",
|
||||||
|
"product_version": "release-0.1.17"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "api",
|
||||||
|
"name": "dsk-apm-api",
|
||||||
|
"latest_candidate_version": "release-0.1.15",
|
||||||
|
"candidate_version": "release-0.1.15",
|
||||||
|
"release_version": "release-0.1.15",
|
||||||
|
"product_version": "release-0.1.15"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "api",
|
||||||
|
"name": "dsk-chart-api",
|
||||||
|
"latest_candidate_version": "release-0.2.9",
|
||||||
|
"candidate_version": "release-0.2.9",
|
||||||
|
"release_version": "release-0.2.9",
|
||||||
|
"product_version": "release-0.2.9"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "api",
|
"type": "api",
|
||||||
"name": "dsk-dashboard-api",
|
"name": "dsk-dashboard-api",
|
||||||
"latest_candidate_version": "release-0.1.11",
|
"latest_candidate_version": "release-0.1.16",
|
||||||
"candidate_version": "release-0.1.11",
|
"candidate_version": "release-0.1.16",
|
||||||
"release_version": "release-0.1.11",
|
"release_version": "release-0.1.16",
|
||||||
"product_version": "release-0.1.11"
|
"product_version": "release-0.1.16"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "api",
|
"type": "api",
|
||||||
"name": "dsk-database-api",
|
"name": "dsk-database-api",
|
||||||
"latest_candidate_version": "release-0.1.11",
|
"latest_candidate_version": "release-0.1.26",
|
||||||
"candidate_version": "release-0.1.11",
|
"candidate_version": "release-0.1.26",
|
||||||
"release_version": "release-0.1.11",
|
"release_version": "release-0.1.26",
|
||||||
"product_version": "release-0.1.11"
|
"product_version": "release-0.1.26"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "api",
|
"type": "api",
|
||||||
"name": "dsk-infrastructure-api",
|
"name": "dsk-infrastructure-api",
|
||||||
|
"latest_candidate_version": "release-0.1.15",
|
||||||
|
"candidate_version": "release-0.1.15",
|
||||||
|
"release_version": "release-0.1.15",
|
||||||
|
"product_version": "release-0.1.15"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "api",
|
||||||
|
"name": "dsk-log-api",
|
||||||
"latest_candidate_version": "release-0.1.12",
|
"latest_candidate_version": "release-0.1.12",
|
||||||
"candidate_version": "release-0.1.12",
|
"candidate_version": "release-0.1.12",
|
||||||
"release_version": "release-0.1.12",
|
"release_version": "release-0.1.12",
|
||||||
"product_version": "release-0.1.12"
|
"product_version": "release-0.1.12"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "api",
|
|
||||||
"name": "dsk-log-api",
|
|
||||||
"latest_candidate_version": "release-0.1.8",
|
|
||||||
"candidate_version": "release-0.1.8",
|
|
||||||
"release_version": "release-0.1.7",
|
|
||||||
"product_version": "release-0.1.7"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "api",
|
"type": "api",
|
||||||
"name": "dsk-notification-api",
|
"name": "dsk-notification-api",
|
||||||
"latest_candidate_version": "release-0.1.5",
|
"latest_candidate_version": "release-0.2.6",
|
||||||
"candidate_version": "release-0.1.5",
|
"candidate_version": "release-0.2.6",
|
||||||
"release_version": "release-0.1.5",
|
"release_version": "release-0.2.6",
|
||||||
"product_version": "release-0.1.5"
|
"product_version": "release-0.2.6"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "api",
|
"type": "api",
|
||||||
"name": "dsk-usergate-api",
|
"name": "dsk-usergate-api",
|
||||||
"latest_candidate_version": "release-0.1.9",
|
"latest_candidate_version": "release-0.1.13",
|
||||||
"candidate_version": "release-0.1.9",
|
"candidate_version": "release-0.1.13",
|
||||||
"release_version": "release-0.1.9",
|
"release_version": "release-0.1.13",
|
||||||
"product_version": "release-0.1.9"
|
"product_version": "release-0.1.13"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "api",
|
"type": "api",
|
||||||
"name": "dsk-app-sender",
|
"name": "dsk-app-sender",
|
||||||
"latest_candidate_version": "release-0.1.4",
|
"latest_candidate_version": "release-0.2.1",
|
||||||
"candidate_version": "release-0.1.4",
|
"candidate_version": "release-0.2.1",
|
||||||
"release_version": "release-0.1.4",
|
"release_version": "release-0.2.1",
|
||||||
"product_version": "release-0.1.4"
|
"product_version": "release-0.2.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "api",
|
"type": "api",
|
||||||
@@ -116,9 +116,9 @@
|
|||||||
{
|
{
|
||||||
"type": "api",
|
"type": "api",
|
||||||
"name": "dsk-metering-batch",
|
"name": "dsk-metering-batch",
|
||||||
"latest_candidate_version": "release-0.0.2",
|
"latest_candidate_version": "release-0.0.3",
|
||||||
"candidate_version": "",
|
"candidate_version": "",
|
||||||
"release_version": "release-0.0.2",
|
"release_version": "release-0.0.3",
|
||||||
"product_version": ""
|
"product_version": ""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -137,6 +137,14 @@
|
|||||||
"release_version": "",
|
"release_version": "",
|
||||||
"product_version": ""
|
"product_version": ""
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "api",
|
||||||
|
"name": "dsk-billing-api",
|
||||||
|
"latest_candidate_version": "release-0.1.2",
|
||||||
|
"candidate_version": "release-0.1.2",
|
||||||
|
"release_version": "release-0.1.2",
|
||||||
|
"product_version": "release-0.1.2"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "stream",
|
"type": "stream",
|
||||||
"name": "dsk-database-plan-stream",
|
"name": "dsk-database-plan-stream",
|
||||||
@@ -148,26 +156,26 @@
|
|||||||
{
|
{
|
||||||
"type": "stream",
|
"type": "stream",
|
||||||
"name": "dsk-metric-base-agg-stream",
|
"name": "dsk-metric-base-agg-stream",
|
||||||
"latest_candidate_version": "release-0.1.2",
|
"latest_candidate_version": "release-0.1.3",
|
||||||
"candidate_version": "release-0.1.2",
|
"candidate_version": "release-0.1.3",
|
||||||
"release_version": "release-0.1.2",
|
"release_version": "release-0.1.3",
|
||||||
"product_version": "release-0.1.2"
|
"product_version": "release-0.1.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "stream",
|
"type": "stream",
|
||||||
"name": "dsk-metric-base-flat-stream",
|
"name": "dsk-metric-base-flat-stream",
|
||||||
"latest_candidate_version": "release-0.1.5",
|
"latest_candidate_version": "release-0.1.6",
|
||||||
"candidate_version": "release-0.1.4",
|
"candidate_version": "release-0.1.6",
|
||||||
"release_version": "release-0.1.4",
|
"release_version": "release-0.1.6",
|
||||||
"product_version": "release-0.1.4"
|
"product_version": "release-0.1.6"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "stream",
|
"type": "stream",
|
||||||
"name": "dsk-trace-stream",
|
"name": "dsk-trace-stream",
|
||||||
"latest_candidate_version": "release-0.1.2",
|
"latest_candidate_version": "release-0.1.3",
|
||||||
"candidate_version": "release-0.1.2",
|
"candidate_version": "release-0.1.3",
|
||||||
"release_version": "release-0.1.2",
|
"release_version": "release-0.1.3",
|
||||||
"product_version": "release-0.1.2"
|
"product_version": "release-0.1.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "stream",
|
"type": "stream",
|
||||||
@@ -180,42 +188,42 @@
|
|||||||
{
|
{
|
||||||
"type": "stream",
|
"type": "stream",
|
||||||
"name": "dsk-tagging-connector",
|
"name": "dsk-tagging-connector",
|
||||||
"latest_candidate_version": "release-0.1.7",
|
"latest_candidate_version": "release-0.1.10",
|
||||||
"candidate_version": "release-0.1.7",
|
"candidate_version": "release-0.1.10",
|
||||||
"release_version": "release-0.1.7",
|
"release_version": "release-0.1.10",
|
||||||
"product_version": "release-0.1.7"
|
"product_version": "release-0.1.10"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "stream",
|
"type": "stream",
|
||||||
"name": "dsk-kafka2storage",
|
"name": "dsk-kafka2storage",
|
||||||
"latest_candidate_version": "release-0.1.2",
|
|
||||||
"candidate_version": "release-0.1.2",
|
|
||||||
"release_version": "release-0.1.2",
|
|
||||||
"product_version": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "datagate",
|
|
||||||
"name": "dsk-datagate",
|
|
||||||
"latest_candidate_version": "release-0.1.3",
|
|
||||||
"candidate_version": "release-0.1.2",
|
|
||||||
"release_version": "release-0.1.2",
|
|
||||||
"product_version": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "datagate",
|
|
||||||
"name": "dsk-loggate",
|
|
||||||
"latest_candidate_version": "release-0.1.3",
|
"latest_candidate_version": "release-0.1.3",
|
||||||
"candidate_version": "release-0.1.3",
|
"candidate_version": "release-0.1.3",
|
||||||
"release_version": "release-0.1.3",
|
"release_version": "release-0.1.3",
|
||||||
"product_version": ""
|
"product_version": "release-0.1.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "datagate",
|
"type": "stream",
|
||||||
"name": "dsk-log-connector",
|
"name": "dsk-log-connector",
|
||||||
"latest_candidate_version": "release-0.1.3",
|
"latest_candidate_version": "release-0.1.3",
|
||||||
"candidate_version": "release-0.1.3",
|
"candidate_version": "release-0.1.3",
|
||||||
"release_version": "release-0.1.3",
|
"release_version": "release-0.1.3",
|
||||||
"product_version": ""
|
"product_version": "release-0.1.3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "datagate",
|
||||||
|
"name": "dsk-datagate",
|
||||||
|
"latest_candidate_version": "release-0.1.6",
|
||||||
|
"candidate_version": "release-0.1.6",
|
||||||
|
"release_version": "release-0.1.6",
|
||||||
|
"product_version": "release-0.1.6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "datagate",
|
||||||
|
"name": "dsk-loggate",
|
||||||
|
"latest_candidate_version": "release-0.1.5",
|
||||||
|
"candidate_version": "release-0.1.5",
|
||||||
|
"release_version": "release-0.1.5",
|
||||||
|
"product_version": "release-0.1.5"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user