Select Git revision
storage_data.dart
-
Michal Svamberg authoredMichal Svamberg authored
storage_data.dart 7.48 KiB
import 'dart:convert';
class StorageData {
static final StorageData _storages = StorageData._internal();
late final List<dynamic> _data;
/// Informace o úložištích ve formátu JSON
///
/// Jednotlivé prvky jsou uspořádány dle priority, poslední je tedy nejobecnější.
/// Všechny prvky jsou povinné, jejich hodnoty mohou být však prázdné.
/// name - unikátní identifikátor, používá se pro ladění
/// fqdn - hlavní hostname storage
/// match_host - regex pro určení zda tyto data odpovídají danému hostovi
/// match_path - regex pro zachycení dle cesty
/// scpDirect - umožňuje kopírovat přímo mezi poli, nutný správně nastavený jailkit
/// scpRemote - umožňuje kopírování metodou SCP z/na pole
/// copy - podporuje normální kopírování, typicky do NFS
/// nfsMounts - pole (první prvek primární) prefixů, které se používají pro připojení úložiště
static const _jsonArray = r'''
[
{
"name": "brno1-cerit",
"fqdn": "storage-brno1-cerit.metacentrum.cz",
"match_host": "^storage-brno1-cerit.*",
"match_path": "^/(auto|storage)/brno1-cerit/.*",
"scpDirect": false,
"scpRemote": true,
"copy": true,
"nfsMounts": [ "/storage/brno1-cerit", "/auto/brno1-cerit" ]
},
{
"name": "brno2",
"fqdn": "storage-brno2.metacentrum.cz",
"match_host": "^storage-brno2.*",
"match_path": "^/(auto|storage)/brno2/.*",
"scpDirect": true,
"scpRemote": true,
"copy": true,
"nfsMounts": [ "/storage/brno2", "/auto/brno2" ]
},
{
"name": "brno3-cerit",
"fqdn": "storage-brno3-cerit.metacentrum.cz",
"match_host": "^storage-brno3-cerit.*",
"match_path": "^/(auto|storage)/brno3-cerit/.*",
"scpDirect": false,
"scpRemote": true,
"copy": true,
"nfsMounts": [ "/storage/brno3-cerit", "/auto/brno3-cerit" ]
},
{
"name": "brno11-elixir",
"fqdn": "storage-brno11-elixir.metacentrum.cz",
"match_host": "^storage-brno11-elixir.*",
"match_path": "^/(auto|storage)/brno11-elixir/.*",
"scpDirect": true,
"scpRemote": true,
"copy": true,
"nfsMounts": [ "/storage/brno11-elixir", "/auto/brno11-elixir" ]
},
{
"name": "brno12-cerit",
"fqdn": "storage-brno12-cerit.metacentrum.cz",
"match_host": "^storage-brno12-cerit.*",
"match_path": "^/(auto|storage)/brno12-cerit/.*",
"scpDirect": false,
"scpRemote": true,
"copy": true,
"nfsMounts": [ "/storage/brno12-cerit", "/auto/brno12-cerit" ]
},