harborshield 0.1.0

A Rust port of Whalewall, to automate management of firewall rules for Docker containers
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
)
aM�I
�t;�MMMMMr?%�
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�Y3indexsqlite_autoindex_rule_state_snapshot_1rule_state_snapshotj33�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