Compare commits
2 Commits
demo-alpr
...
feature/mi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
758a691f8d | ||
| 1341d9523b |
@@ -7,12 +7,15 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- 8080:80
|
- 8080:80
|
||||||
networks:
|
networks:
|
||||||
- oc
|
- catalog
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.front.entrypoints=web"
|
- "traefik.http.routers.front.entrypoints=web"
|
||||||
- "traefik.http.routers.front.rule=PathPrefix(`/`)"
|
- "traefik.http.routers.front.rule=PathPrefix(`/`)"
|
||||||
- "traefik.http.services.front.loadbalancer.server.port=80"
|
- "traefik.http.services.front.loadbalancer.server.port=80"
|
||||||
|
- "traefik.http.middlewares.front-stripprefix.stripprefix.prefixes=/"
|
||||||
|
- "traefik.http.routers.front.middlewares=front-stripprefix"
|
||||||
|
- "traefik.http.middlewares.front.forwardauth.address=http://oc-auth:8080/oc/forward"
|
||||||
networks:
|
networks:
|
||||||
oc:
|
catalog:
|
||||||
external: true
|
external: true
|
||||||
4
env.env
4
env.env
@@ -1,4 +1,4 @@
|
|||||||
KUBERNETES_SERVICE_HOST=192.168.47.20
|
KUBERNETES_SERVICE_HOST=192.168.1.169
|
||||||
KUBE_CA="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkekNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdGMyVnkKZG1WeUxXTmhRREUzTWpNeE1USXdNell3SGhjTk1qUXdPREE0TVRBeE16VTJXaGNOTXpRd09EQTJNVEF4TXpVMgpXakFqTVNFd0h3WURWUVFEREJock0zTXRjMlZ5ZG1WeUxXTmhRREUzTWpNeE1USXdNell3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFTVlk3ZHZhNEdYTVdkMy9jMlhLN3JLYjlnWXgyNSthaEE0NmkyNVBkSFAKRktQL2UxSVMyWVF0dzNYZW1TTUQxaStZdzJSaVppNUQrSVZUamNtNHdhcnFvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWtlUVJpNFJiODduME5yRnZaWjZHClc2SU55NnN3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnRXA5ck04WmdNclRZSHYxZjNzOW5DZXZZeWVVa3lZUk4KWjUzazdoaytJS1FDSVFDbk05TnVGKzlTakIzNDFacGZ5ays2NEpWdkpSM3BhcmVaejdMd2lhNm9kdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
|
KUBE_CA="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkekNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdGMyVnkKZG1WeUxXTmhRREUzTWpNeE1USXdNell3SGhjTk1qUXdPREE0TVRBeE16VTJXaGNOTXpRd09EQTJNVEF4TXpVMgpXakFqTVNFd0h3WURWUVFEREJock0zTXRjMlZ5ZG1WeUxXTmhRREUzTWpNeE1USXdNell3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFTVlk3ZHZhNEdYTVdkMy9jMlhLN3JLYjlnWXgyNSthaEE0NmkyNVBkSFAKRktQL2UxSVMyWVF0dzNYZW1TTUQxaStZdzJSaVppNUQrSVZUamNtNHdhcnFvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWtlUVJpNFJiODduME5yRnZaWjZHClc2SU55NnN3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnRXA5ck04WmdNclRZSHYxZjNzOW5DZXZZeWVVa3lZUk4KWjUzazdoaytJS1FDSVFDbk05TnVGKzlTakIzNDFacGZ5ays2NEpWdkpSM3BhcmVaejdMd2lhNm9kdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
|
||||||
KUBE_CERT="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrVENDQVRlZ0F3SUJBZ0lJWUxWNkFPQkdrU1F3Q2dZSUtvWkl6ajBFQXdJd0l6RWhNQjhHQTFVRUF3d1kKYXpOekxXTnNhV1Z1ZEMxallVQXhOekl6TVRFeU1ETTJNQjRYRFRJME1EZ3dPREV3TVRNMU5sb1hEVEkxTURndwpPREV3TVRNMU5sb3dNREVYTUJVR0ExVUVDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGVEFUQmdOVkJBTVRESE41CmMzUmxiVHBoWkcxcGJqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJGQ2Q1MFdPeWdlQ2syQzcKV2FrOWY4MVAvSkJieVRIajRWOXBsTEo0ck5HeHFtSjJOb2xROFYxdUx5RjBtOTQ2Nkc0RmRDQ2dqaXFVSk92Swp3NVRPNnd5alNEQkdNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBakFmCkJnTlZIU01FR0RBV2dCVFJkOFI5cXVWK2pjeUVmL0ovT1hQSzMyS09XekFLQmdncWhrak9QUVFEQWdOSUFEQkYKQWlFQTArbThqTDBJVldvUTZ0dnB4cFo4NVlMalF1SmpwdXM0aDdnSXRxS3NmUVVDSUI2M2ZNdzFBMm5OVWU1TgpIUGZOcEQwSEtwcVN0Wnk4djIyVzliYlJUNklZCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJlRENDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdFkyeHAKWlc1MExXTmhRREUzTWpNeE1USXdNell3SGhjTk1qUXdPREE0TVRBeE16VTJXaGNOTXpRd09EQTJNVEF4TXpVMgpXakFqTVNFd0h3WURWUVFEREJock0zTXRZMnhwWlc1MExXTmhRREUzTWpNeE1USXdNell3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFRc3hXWk9pbnIrcVp4TmFEQjVGMGsvTDF5cE01VHAxOFRaeU92ektJazQKRTFsZWVqUm9STW0zNmhPeVljbnN3d3JoNnhSUnBpMW5RdGhyMzg0S0Z6MlBvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVTBYZkVmYXJsZm8zTWhIL3lmemx6Cnl0OWlqbHN3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUxJL2dNYnNMT3MvUUpJa3U2WHVpRVMwTEE2cEJHMXgKcnBlTnpGdlZOekZsQWlFQW1wdjBubjZqN3M0MVI0QzFNMEpSL0djNE53MHdldlFmZWdEVGF1R2p3cFk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
|
KUBE_CERT="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrVENDQVRlZ0F3SUJBZ0lJWUxWNkFPQkdrU1F3Q2dZSUtvWkl6ajBFQXdJd0l6RWhNQjhHQTFVRUF3d1kKYXpOekxXTnNhV1Z1ZEMxallVQXhOekl6TVRFeU1ETTJNQjRYRFRJME1EZ3dPREV3TVRNMU5sb1hEVEkxTURndwpPREV3TVRNMU5sb3dNREVYTUJVR0ExVUVDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGVEFUQmdOVkJBTVRESE41CmMzUmxiVHBoWkcxcGJqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJGQ2Q1MFdPeWdlQ2syQzcKV2FrOWY4MVAvSkJieVRIajRWOXBsTEo0ck5HeHFtSjJOb2xROFYxdUx5RjBtOTQ2Nkc0RmRDQ2dqaXFVSk92Swp3NVRPNnd5alNEQkdNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBakFmCkJnTlZIU01FR0RBV2dCVFJkOFI5cXVWK2pjeUVmL0ovT1hQSzMyS09XekFLQmdncWhrak9QUVFEQWdOSUFEQkYKQWlFQTArbThqTDBJVldvUTZ0dnB4cFo4NVlMalF1SmpwdXM0aDdnSXRxS3NmUVVDSUI2M2ZNdzFBMm5OVWU1TgpIUGZOcEQwSEtwcVN0Wnk4djIyVzliYlJUNklZCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJlRENDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdFkyeHAKWlc1MExXTmhRREUzTWpNeE1USXdNell3SGhjTk1qUXdPREE0TVRBeE16VTJXaGNOTXpRd09EQTJNVEF4TXpVMgpXakFqTVNFd0h3WURWUVFEREJock0zTXRZMnhwWlc1MExXTmhRREUzTWpNeE1USXdNell3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFRc3hXWk9pbnIrcVp4TmFEQjVGMGsvTDF5cE01VHAxOFRaeU92ektJazQKRTFsZWVqUm9STW0zNmhPeVljbnN3d3JoNnhSUnBpMW5RdGhyMzg0S0Z6MlBvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVTBYZkVmYXJsZm8zTWhIL3lmemx6Cnl0OWlqbHN3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUxJL2dNYnNMT3MvUUpJa3U2WHVpRVMwTEE2cEJHMXgKcnBlTnpGdlZOekZsQWlFQW1wdjBubjZqN3M0MVI0QzFNMEpSL0djNE53MHdldlFmZWdEVGF1R2p3cFk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
|
||||||
KUBE_DATA="LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSU5ZS1BFb1dhd1NKUzJlRW5oWmlYMk5VZlY1ZlhKV2krSVNnV09TNFE5VTlvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFVUozblJZN0tCNEtUWUx0WnFUMS96VS84a0Z2Sk1lUGhYMm1Vc25pczBiR3FZblkyaVZEeApYVzR2SVhTYjNqcm9iZ1YwSUtDT0twUWs2OHJEbE03ckRBPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo="
|
KUBE_DATA="LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSU5ZS1BFb1dhd1NKUzJlRW5oWmlYMk5VZlY1ZlhKV2krSVNnV09TNFE5VTlvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFVUozblJZN0tCNEtUWUx0WnFUMS96VS84a0Z2Sk1lUGhYMm1Vc25pczBiR3FZblkyaVZEeApYVzR2SVhTYjNqcm9iZ1YwSUtDT0twUWs2OHJEbE03ckRBPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo="
|
||||||
@@ -48,10 +48,14 @@ class StorageItem extends AbstractItem<StoragePricing, StoragePartnership, Stora
|
|||||||
}
|
}
|
||||||
|
|
||||||
@override Map<String, dynamic> serialize() {
|
@override Map<String, dynamic> serialize() {
|
||||||
var obj = infos();
|
var obj = {
|
||||||
|
"acronym": acronym,
|
||||||
|
"storage_type": typeEnum,
|
||||||
|
};
|
||||||
obj.addAll(toJSON());
|
obj.addAll(toJSON());
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class StorageInstance extends AbstractInstance<StoragePricing, StoragePartnership> {
|
class StorageInstance extends AbstractInstance<StoragePricing, StoragePartnership> {
|
||||||
|
|||||||
@@ -336,22 +336,21 @@ class Graph extends SerializerDeserializer<Graph> {
|
|||||||
List<Param> extParams = [];
|
List<Param> extParams = [];
|
||||||
var arrows = links.where( (e) => (e.source?.id?.contains(item.id ?? "") ?? false) || (e.destination?.id?.contains(item.id ?? "") ?? false));
|
var arrows = links.where( (e) => (e.source?.id?.contains(item.id ?? "") ?? false) || (e.destination?.id?.contains(item.id ?? "") ?? false));
|
||||||
for (var arrow in arrows) {
|
for (var arrow in arrows) {
|
||||||
for (var info in arrow.infos) {
|
|
||||||
var i = info as Map<String, dynamic>;
|
|
||||||
for (var entry in i.entries) {
|
|
||||||
if (entry.value == null) { continue; }
|
|
||||||
|
|
||||||
var varName = "LINK_${el.getName().toUpperCase().replaceAll(" ", "_")}_${entry.key.toUpperCase()}";
|
/*var count = 0;
|
||||||
|
for (var info in arrow.infos) {
|
||||||
|
var i = info as StorageProcessingGraphLink;
|
||||||
|
var varName = "LINK_${el.getName().toUpperCase().replaceAll(" ", "_")}_${count}";
|
||||||
|
count++;
|
||||||
/*alreadySeen[varName] = (alreadySeen[varName] ?? -1) + 1;
|
/*alreadySeen[varName] = (alreadySeen[varName] ?? -1) + 1;
|
||||||
if ((alreadySeen[varName] ?? 0) > 1) {
|
if ((alreadySeen[varName] ?? 0) > 1) {
|
||||||
varName = "${varName}_${alreadySeen[varName]}";
|
varName = "${varName}_${alreadySeen[varName]}";
|
||||||
}*/
|
|
||||||
if ((entry.value is String) && !isEnvAttr(entry.value, what2)) {
|
|
||||||
extParams.add(Param( name: varName,
|
|
||||||
attr: entry.key, value: entry.value, origin: item.id, readOnly: true));
|
|
||||||
}
|
}
|
||||||
}
|
if ((entry.value is String) && !isEnvAttr(entry.value, what2)) {
|
||||||
}
|
extParams.add(Param( name: varName,
|
||||||
|
attr: entry.key, value: entry.value, origin: item.id, readOnly: true));
|
||||||
|
}*/
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
for ( var param in what) {
|
for ( var param in what) {
|
||||||
if (param.attr == null) { continue; }
|
if (param.attr == null) { continue; }
|
||||||
@@ -525,6 +524,7 @@ class GraphLink extends SerializerDeserializer<GraphLink> {
|
|||||||
destination = Position(id: j["to"]["id"], x: j["to"]["x"], y: j["to"]["y"]);
|
destination = Position(id: j["to"]["id"], x: j["to"]["x"], y: j["to"]["y"]);
|
||||||
style = GraphLinkStyle();
|
style = GraphLinkStyle();
|
||||||
style!.fromDashboard(j["params"]);
|
style!.fromDashboard(j["params"]);
|
||||||
|
print(j["infos"]);
|
||||||
infos = fromListJson(j["infos"], StorageProcessingGraphLink());
|
infos = fromListJson(j["infos"], StorageProcessingGraphLink());
|
||||||
env = fromListJson(j["env"], Param());
|
env = fromListJson(j["env"], Param());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,8 +98,9 @@ class StorageProcessingLinkFormsWidgetState extends State<StorageProcessingLinkF
|
|||||||
}
|
}
|
||||||
widget.dash.saveDash(widget.dash.id, context);
|
widget.dash.saveDash(widget.dash.id, context);
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e, s) {
|
||||||
print(e);
|
print(e);
|
||||||
|
print(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
}, initialValue: "${info[key] ?? ""}", readOnly: false, noLabel: false));
|
}, initialValue: "${info[key] ?? ""}", readOnly: false, noLabel: false));
|
||||||
@@ -112,7 +113,7 @@ class StorageProcessingLinkFormsWidgetState extends State<StorageProcessingLinkF
|
|||||||
...children,
|
...children,
|
||||||
Row( mainAxisAlignment: MainAxisAlignment.center, children: [
|
Row( mainAxisAlignment: MainAxisAlignment.center, children: [
|
||||||
InkWell( onTap: () {
|
InkWell( onTap: () {
|
||||||
widget.item.infos.add({
|
widget.item.infos.add(<String, dynamic> {
|
||||||
"write": false,
|
"write": false,
|
||||||
"source": null,
|
"source": null,
|
||||||
"destination": null,
|
"destination": null,
|
||||||
|
|||||||
@@ -18,20 +18,13 @@ class SchedulerItemWidget extends StatefulWidget {
|
|||||||
class SchedulerItemWidgetState extends State<SchedulerItemWidget> {
|
class SchedulerItemWidgetState extends State<SchedulerItemWidget> {
|
||||||
List<Color> colors = [Colors.blue, Colors.orange, redColor, Colors.green, redColor];
|
List<Color> colors = [Colors.blue, Colors.orange, redColor, Colors.green, redColor];
|
||||||
List<String> titles = ["SCHEDULED", "RUNNING", "FAILURE", "SUCCESS", "MISSED"];
|
List<String> titles = ["SCHEDULED", "RUNNING", "FAILURE", "SUCCESS", "MISSED"];
|
||||||
bool first = true;
|
|
||||||
@override Widget build(BuildContext context) {
|
@override Widget build(BuildContext context) {
|
||||||
List<Widget> children = [];
|
List<Widget> children = [];
|
||||||
for (var element in widget.data.keys.toList()..sort((a, b) => DateTime.parse(a).compareTo(DateTime.parse(b)))) {
|
for (var element in widget.data.keys.toList()..sort((a, b) => DateTime.parse(a).compareTo(DateTime.parse(b)))) {
|
||||||
List<Widget> widgets = [];
|
List<Widget> widgets = [];
|
||||||
for (var ev in widget.data[element] ?? ([] as List<WorkflowExecution>)) {
|
for (var ev in widget.data[element] ?? ([] as List<WorkflowExecution>)) {
|
||||||
Duration durationBefore = DateTime.parse(ev.startDate!).difference(DateTime.now().toUtc()) + Duration(seconds: 5);
|
widget.keys[ev.startDate!] = GlobalKey();
|
||||||
if (first) {
|
|
||||||
first = false;
|
|
||||||
Future.delayed(durationBefore, () {
|
|
||||||
widget.parent?.setState(() { });
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
var d2 = DateTime.parse(ev.startDate!).toLocal();
|
var d2 = DateTime.parse(ev.startDate!).toLocal();
|
||||||
DateTime? d3;
|
DateTime? d3;
|
||||||
try { d3 = DateTime.parse(ev.endDate!).toLocal();
|
try { d3 = DateTime.parse(ev.endDate!).toLocal();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
HOST=${1:-http://localhost:8000}
|
|
||||||
AUTH_MODE=true
|
AUTH_MODE=true
|
||||||
flutter run -d linux --dart-define=AUTH_MODE=$AUTH_MODE --dart-define=HOST=$HOST
|
flutter run -d linux --dart-define=AUTH_MODE=$AUTH_MODE
|
||||||
Reference in New Issue
Block a user