1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
SQLite format 3 @
.zp
� ��
�
�
���
S
�n�������� 7K% indexsqlite_autoindex_map_elements_1map_elements�g33�utablerule_state_snapshotrule_state_snapshotCREATE TABLE rule_state_snapshot (
shutdown_r?%�
indexidx_map_elements_map_namemap_elementsCREATE INDEX idx_map_elements_map_name ON map_elements(map_name)�A%�indexidx_map_elements_containermap_elementsCREATE INDEX idx_map_elements_container ON map_elements(container_id)&K% indexsqlite_autoindex_map_elements_1map_elements�%%�tablemap_elementsmap_elementsCREATE TABLE map_elements (
id INTEGER PRIMARY KEY AUTOINCREMENT,
map_name TEXT NOT NULL,
element_key BLOB NOT NULL, -- IP address (stored as binary)
element_value TEXT NOT NULL, -- verdict/chain name
container_id TEXT NOT NULL,
created_at TEXT NOT NULL DEFAULT (datetime('now')),
UNIQUE(map_name, element_key),
FOREIGN KEY(container_id) REFERENCES containers(id) ON DELETE CASCADE
) STRICTP++Ytablesqlite_sequencesqlite_sequenceCREATE TABLE sqlite_sequence(name,seq) U))�!tableshutdown_stateshutdown_stateCREATE TABLE shutdown_state (
id INTEGER PRIMARY KEY AUTOINCREMENT,
shutdown_time TEXT NOT NULL,
harborshield_version TEXT NOT NULL,
config_snapshot TEXT NOT NULL,
active_containers INTEGER NOT NULL,
active_rules INTEGER NOT NULL,
metrics_snapshot TEXT
) STRICT?S- indexsqlite_autoindex_persistent_rules_1persistent_rules �--�itablepersistent_rulespersistent_rulesCREATE TABLE persistent_rules (
id TEXT PRIMARY KEY,
container_id TEXT NOT NULL,
rule_type TEXT NOT NULL,
rule_config TEXT NOT NULL,
rule_data BLOB NOT NULL,
created_at TEXT NOT NULL,
enabled INTEGER NOT NULL DEFAULT 1, uses_maps INTEGER NOT NULL DEFAULT 0,
FOREIGN KEY(container_id) REFERENCES containers(id)
) STRICTM
a; indexsqlite_autoindex_waiting_container_rules_1waiting_container_rules�V;;�Ctablewaiting_container_ruleswaiting_container_rules
CREATE TABLE waiting_container_rules (
src_container_id TEXT NOT NULL,
dst_container_name TEXT NOT NULL,
rule BLOB NOT NULL,
PRIMARY KEY(src_container_id, dst_container_name, rule),
FOREIGN KEY (src_container_id) REFERENCES containers(id)
) STRICT;O) indexsqlite_autoindex_est_containers_1est_containers�<
))�3tableest_containersest_containersCREATE TABLE est_containers (
src_container_id TEXT NOT NULL,
dst_container_id TEXT NOT NULL,
PRIMARY KEY(src_container_id, dst_container_id),
FOREIGN KEY(src_container_id) REFERENCES containers(id),
FOREIGN KEY(dst_container_id) REFERENCES containers(id)
) STRICTA U/ indexsqlite_autoindex_container_aliases_1container_aliases
�//�-tablecontainer_aliasescontainer_aliases CREATE TABLE container_aliases (
container_id TEXT NOT NULL,
container_alias TEXT NOT NULL,
PRIMARY KEY(container_id, container_alias),
FOREIGN KEY(container_id) REFERENCES containers(id)
) STRICT)= indexsqlite_autoindex_addrs_1addrs�*�3tableaddrsaddrsCREATE TABLE addrs (
addr BLOB PRIMARY KEY,
container_id TEXT NOT NULL,
FOREIGN KEY(container_id) REFERENCES containers(id)
) STRICT3G! indexsqlite_autoindex_containers_2containers3G! indexsqlite_autoindex_containers_1containersx!!�;tablecontainerscontainersCREATE TABLE containers (
id TEXT PRIMARY KEY,
name TEXT UNIQUE NOT NULL
) STRICT?S- indexsqlite_autoindex__sqlx_migrations_1_sqlx_migrations�)--�table_sqlx_migrations_sqlx_migrationsCREATE TABLE _sqlx_migrations (
version BIGINT PRIMARY KEY,
description TEXT NOT NULL,
installed_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
success BOOLEAN NOT NULL,
checksum BLOB NOT NULL,
execution_time BIGINT NOT NULL
)
� �8� e13 lh�&G�remove persistence2025-08-17 04:10:26�qj�L|� �)�%���(�H�t�t0��(�
� x�9)7RE�c-3 lh��add map elements2025-08-17 04:10:26�",�Lt3��P[?j�Q�$������{ܯI])�;6�� �X�Y�Rz\i�a)3 lh��Ainitial schema2025-08-17 04:10:26��>ӆ�x�ʸ.�]^i���DD��VW��6�`����a���x��P�V��
� ���
h�&G�
h�� h��A
� ��
�
�
���
S
�n�����'� r?%�
indexidx_map_elements_map_namemap_elementsCREATE INDEX idx_map_elements_map_name ON map_elements(map_name)xA%�indexidx_map_elements_containermap_elementsCREATE INDEX idx_map_elements_container ON map_elements(container_id)7K% indexsqlite_autoindex_map_elements_1map_elements�j%%�tablemap_elementsmap_elementsCREATE TABLE map_elements (
id INTEGER PRIMARY KEY AUTOINCREMENT,
map_name TEXT NOT NULL,
element_key BLOB NOT NULL, -- IP address (stored as binary)
element_value TEXT NOT NULL, -- verdict/chain name
container_id TEXT NOT NULL,
created_at TEXT NOT NULL DEFAULT (datetime('now')),
UNIQUE(map_name, element_key),
FOREIGN KEY(container_id) REFERENCES containers(id) ON DELETE CASCADE
) STRICTP++Ytablesqlite_sequencesqlite_sequenceCREATE TABLE sqlite_sequence(name,seq)�s))�!tableshutdown_stateshutdown_stateCREATE TABLE shutdown_state (
id INTEGER PRIMARY KEY AUTOINCREMENT,
shutdown_time TEXT NOT NULL,
harborshield_version TEXT NOT NULL,
config_snapshot TEXT NOT NULL,
active_containers INTEGER NOT NULL,
active_rules INTEGER NOT NULL,
metrics_snapshot TEXT
) STRICT?S- indexsqlite_autoindex_persistent_rules_1persistent_rules�--�itablepersistent_rulespersistent_rulesCREATE TABLE persistent_rules (
id TEXT PRIMARY KEY,
container_id TEXT NOT NULL,
rule_type TEXT NOT NULL,
rule_config TEXT NOT NULL,
rule_data BLOB NOT NULL,
created_at TEXT NOT NULL,
enabled INTEGER NOT NULL DEFAULT 1, uses_maps INTEGER NOT NULL DEFAULT 0,
FOREIGN KEY(container_id) REFERENCES containers(id)
) STRICTM
a; indexsqlite_autoindex_waiting_container_rules_1waiting_container_rules�V;;�Ctablewaiting_container_ruleswaiting_container_rules
CREATE TABLE waiting_container_rules (
src_container_id TEXT NOT NULL,
dst_container_name TEXT NOT NULL,
rule BLOB NOT NULL,
PRIMARY KEY(src_container_id, dst_container_name, rule),
FOREIGN KEY (src_container_id) REFERENCES containers(id)
) STRICT;O) indexsqlite_autoindex_est_containers_1est_containers�<
))�3tableest_containersest_containersCREATE TABLE est_containers (
src_container_id TEXT NOT NULL,
dst_container_id TEXT NOT NULL,
PRIMARY KEY(src_container_id, dst_container_id),
FOREIGN KEY(src_container_id) REFERENCES containers(id),
FOREIGN KEY(dst_container_id) REFERENCES containers(id)
) STRICTA U/ indexsqlite_autoindex_container_aliases_1container_aliases
�//�-tablecontainer_aliasescontainer_aliases CREATE TABLE container_aliases (
container_id TEXT NOT NULL,
container_alias TEXT NOT NULL,
PRIMARY KEY(container_id, container_alias),
FOREIGN KEY(container_id) REFERENCES containers(id)
) STRICT)= indexsqlite_autoindex_addrs_1addrs�*�3tableaddrsaddrsCREATE TABLE addrs (
addr BLOB PRIMARY KEY,
container_id TEXT NOT NULL,
FOREIGN KEY(container_id) REFERENCES containers(id)
) STRICT3G! indexsqlite_autoindex_containers_2containers3G! indexsqlite_autoindex_containers_1containersx!!�;tablecontainerscontainersCREATE TABLE containers (
id TEXT PRIMARY KEY,
name TEXT UNIQUE NOT NULL
) STRICT?S- indexsqlite_autoindex__sqlx_migrations_1_sqlx_migrations�)--�table_sqlx_migrations_sqlx_migrationsCREATE TABLE _sqlx_migrations (
version BIGINT PRIMARY KEY,
description TEXT NOT NULL,
installed_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
success BOOLEAN NOT NULL,
checksum BLOB NOT NULL,
execution_time BIGINT NOT NULL
)
a M �I
�t;�MMMMM r?%�
indexidx_map_elements_map_namemap_elementsCREATE INDEX idx_map_elements_map_name ON map_elements(map_name)xA%�indexidx_map_elements_containermap_elementsCREATE INDEX idx_map_elements_container ON map_elements(container_id)7K% indexsqlite_autoindex_map_elements_1map_elements�j%%�tablemap_elementsmap_elementsCREATE TABLE map_elements (
id INTEGER PRIMARY KEY AUTOINCREMENT,
map_name TEXT NOT NULL,
element_key BLOB NOT NULL, -- IP address (stored as binary)
element_value TEXT NOT NULL, -- verdict/chain name
container_id TEXT NOT NULL,
created_at TEXT NOT NULL DEFAULT (datetime('now')),
UNIQUE(map_name, element_key),
FOREIGN KEY(container_id) REFERENCES containers(id) ON DELETE CASCADE
) STRICT �Y3 indexsqlite_autoindex_rule_state_snapshot_1rule_state_snapshot j33�utablerule_state_snapshotrule_state_snapshotCREATE TABLE rule_state_snapshot (
shutdown_id INTEGER NOT NULL,
rule_id TEXT NOT NULL,
container_id TEXT NOT NULL,
rule_type TEXT NOT NULL,
rule_json TEXT NOT NULL,
PRIMARY KEY(shutdown_id, rule_id),
FOREIGN KEY(shutdown_id) REFERENCES shutdown_state(id)
) STRICTOc= indexsqlite_autoindex_container_state_snapshot_1container_state_snapshot �==�5tablecontainer_state_snapshotcontainer_state_snapshotCREATE TABLE container_state_snapshot (
shutdown_id INTEGER NOT NULL,
container_id TEXT NOT NULL,
container_name TEXT NOT NULL,
state_json TEXT NOT NULL,
PRIMARY KEY(shutdown_id, container_id),
FOREIGN KEY(shutdown_id) REFERENCES shutdown_state(id),
FOREIGN KEY(container_id) REFERENCES containers(id)
) STRICTP++Ytablesqlite_sequencesqlite_sequenceCREATE TABLE sqlite_sequence(name,seq)�s))�!tableshutdown_stateshutdown_stateCREATE TABLE shutdown_state (
id INTEGER PRIMARY KEY AUTOINCREMENT,
shutdown_time TEXT NOT NULL,
harborshield_version TEXT NOT NULL,
config_snapshot TEXT NOT NULL,
active_containers INTEGER NOT NULL,
active_rules INTEGER NOT NULL,
metrics_snapshot TEXT
) STRICT?S- indexsqlite_autoindex_persistent_rules_1persistent_rules