{ "id": "31d336d0-689e-4403-b49e-308e13df0014", "prevId": "50905243-3288-41de-8cef-87b4e546d7cd", "version": "7", "dialect": "postgresql", "tables": { "public.audit_logs": { "name": "audit_logs", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": false }, "username": { "name": "username", "type": "text", "primaryKey": false, "notNull": true }, "action": { "name": "action", "type": "text", "primaryKey": false, "notNull": true }, "entity_type": { "name": "entity_type", "type": "text", "primaryKey": false, "notNull": true }, "entity_id": { "name": "entity_id", "type": "text", "primaryKey": false, "notNull": false }, "entity_name": { "name": "entity_name", "type": "text", "primaryKey": false, "notNull": false }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": false }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "details": { "name": "details", "type": "text", "primaryKey": false, "notNull": false }, "ip_address": { "name": "ip_address", "type": "text", "primaryKey": false, "notNull": false }, "user_agent": { "name": "user_agent", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": { "audit_logs_user_id_idx": { "name": "audit_logs_user_id_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "audit_logs_created_at_idx": { "name": "audit_logs_created_at_idx", "columns": [ { "expression": "created_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "audit_logs_user_id_users_id_fk": { "name": "audit_logs_user_id_users_id_fk", "tableFrom": "audit_logs", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" }, "audit_logs_environment_id_environments_id_fk": { "name": "audit_logs_environment_id_environments_id_fk", "tableFrom": "audit_logs", "tableTo": "environments", "columnsFrom": [ "environment_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.auth_settings": { "name": "auth_settings", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "auth_enabled": { "name": "auth_enabled", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "default_provider": { "name": "default_provider", "type": "text", "primaryKey": false, "notNull": false, "default": "'local'" }, "session_timeout": { "name": "session_timeout", "type": "integer", "primaryKey": false, "notNull": false, "default": 86400 }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.auto_update_settings": { "name": "auto_update_settings", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": false }, "container_name": { "name": "container_name", "type": "text", "primaryKey": false, "notNull": true }, "enabled": { "name": "enabled", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "schedule_type": { "name": "schedule_type", "type": "text", "primaryKey": false, "notNull": false, "default": "'daily'" }, "cron_expression": { "name": "cron_expression", "type": "text", "primaryKey": false, "notNull": false }, "vulnerability_criteria": { "name": "vulnerability_criteria", "type": "text", "primaryKey": false, "notNull": false, "default": "'never'" }, "last_checked": { "name": "last_checked", "type": "timestamp", "primaryKey": false, "notNull": false }, "last_updated": { "name": "last_updated", "type": "timestamp", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": { "auto_update_settings_environment_id_environments_id_fk": { "name": "auto_update_settings_environment_id_environments_id_fk", "tableFrom": "auto_update_settings", "tableTo": "environments", "columnsFrom": [ "environment_id" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "auto_update_settings_environment_id_container_name_unique": { "name": "auto_update_settings_environment_id_container_name_unique", "nullsNotDistinct": false, "columns": [ "environment_id", "container_name" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.config_sets": { "name": "config_sets", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "env_vars": { "name": "env_vars", "type": "text", "primaryKey": false, "notNull": false }, "labels": { "name": "labels", "type": "text", "primaryKey": false, "notNull": false }, "ports": { "name": "ports", "type": "text", "primaryKey": false, "notNull": false }, "volumes": { "name": "volumes", "type": "text", "primaryKey": false, "notNull": false }, "network_mode": { "name": "network_mode", "type": "text", "primaryKey": false, "notNull": false, "default": "'bridge'" }, "restart_policy": { "name": "restart_policy", "type": "text", "primaryKey": false, "notNull": false, "default": "'no'" }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "config_sets_name_unique": { "name": "config_sets_name_unique", "nullsNotDistinct": false, "columns": [ "name" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.container_events": { "name": "container_events", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": false }, "container_id": { "name": "container_id", "type": "text", "primaryKey": false, "notNull": true }, "container_name": { "name": "container_name", "type": "text", "primaryKey": false, "notNull": false }, "image": { "name": "image", "type": "text", "primaryKey": false, "notNull": false }, "action": { "name": "action", "type": "text", "primaryKey": false, "notNull": true }, "actor_attributes": { "name": "actor_attributes", "type": "text", "primaryKey": false, "notNull": false }, "timestamp": { "name": "timestamp", "type": "timestamp", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": { "container_events_env_timestamp_idx": { "name": "container_events_env_timestamp_idx", "columns": [ { "expression": "environment_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "timestamp", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "container_events_environment_id_environments_id_fk": { "name": "container_events_environment_id_environments_id_fk", "tableFrom": "container_events", "tableTo": "environments", "columnsFrom": [ "environment_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.environment_notifications": { "name": "environment_notifications", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": true }, "notification_id": { "name": "notification_id", "type": "integer", "primaryKey": false, "notNull": true }, "enabled": { "name": "enabled", "type": "boolean", "primaryKey": false, "notNull": false, "default": true }, "event_types": { "name": "event_types", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": { "environment_notifications_environment_id_environments_id_fk": { "name": "environment_notifications_environment_id_environments_id_fk", "tableFrom": "environment_notifications", "tableTo": "environments", "columnsFrom": [ "environment_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "environment_notifications_notification_id_notification_settings_id_fk": { "name": "environment_notifications_notification_id_notification_settings_id_fk", "tableFrom": "environment_notifications", "tableTo": "notification_settings", "columnsFrom": [ "notification_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "environment_notifications_environment_id_notification_id_unique": { "name": "environment_notifications_environment_id_notification_id_unique", "nullsNotDistinct": false, "columns": [ "environment_id", "notification_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.environments": { "name": "environments", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "host": { "name": "host", "type": "text", "primaryKey": false, "notNull": false }, "port": { "name": "port", "type": "integer", "primaryKey": false, "notNull": false, "default": 2375 }, "protocol": { "name": "protocol", "type": "text", "primaryKey": false, "notNull": false, "default": "'http'" }, "tls_ca": { "name": "tls_ca", "type": "text", "primaryKey": false, "notNull": false }, "tls_cert": { "name": "tls_cert", "type": "text", "primaryKey": false, "notNull": false }, "tls_key": { "name": "tls_key", "type": "text", "primaryKey": false, "notNull": false }, "tls_skip_verify": { "name": "tls_skip_verify", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "icon": { "name": "icon", "type": "text", "primaryKey": false, "notNull": false, "default": "'globe'" }, "collect_activity": { "name": "collect_activity", "type": "boolean", "primaryKey": false, "notNull": false, "default": true }, "collect_metrics": { "name": "collect_metrics", "type": "boolean", "primaryKey": false, "notNull": false, "default": true }, "highlight_changes": { "name": "highlight_changes", "type": "boolean", "primaryKey": false, "notNull": false, "default": true }, "labels": { "name": "labels", "type": "text", "primaryKey": false, "notNull": false }, "connection_type": { "name": "connection_type", "type": "text", "primaryKey": false, "notNull": false, "default": "'socket'" }, "socket_path": { "name": "socket_path", "type": "text", "primaryKey": false, "notNull": false, "default": "'/var/run/docker.sock'" }, "hawser_token": { "name": "hawser_token", "type": "text", "primaryKey": false, "notNull": false }, "hawser_last_seen": { "name": "hawser_last_seen", "type": "timestamp", "primaryKey": false, "notNull": false }, "hawser_agent_id": { "name": "hawser_agent_id", "type": "text", "primaryKey": false, "notNull": false }, "hawser_agent_name": { "name": "hawser_agent_name", "type": "text", "primaryKey": false, "notNull": false }, "hawser_version": { "name": "hawser_version", "type": "text", "primaryKey": false, "notNull": false }, "hawser_capabilities": { "name": "hawser_capabilities", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "environments_name_unique": { "name": "environments_name_unique", "nullsNotDistinct": false, "columns": [ "name" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.git_credentials": { "name": "git_credentials", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "auth_type": { "name": "auth_type", "type": "text", "primaryKey": false, "notNull": true, "default": "'none'" }, "username": { "name": "username", "type": "text", "primaryKey": false, "notNull": false }, "password": { "name": "password", "type": "text", "primaryKey": false, "notNull": false }, "ssh_private_key": { "name": "ssh_private_key", "type": "text", "primaryKey": false, "notNull": false }, "ssh_passphrase": { "name": "ssh_passphrase", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "git_credentials_name_unique": { "name": "git_credentials_name_unique", "nullsNotDistinct": false, "columns": [ "name" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.git_repositories": { "name": "git_repositories", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "url": { "name": "url", "type": "text", "primaryKey": false, "notNull": true }, "branch": { "name": "branch", "type": "text", "primaryKey": false, "notNull": false, "default": "'main'" }, "credential_id": { "name": "credential_id", "type": "integer", "primaryKey": false, "notNull": false }, "compose_path": { "name": "compose_path", "type": "text", "primaryKey": false, "notNull": false, "default": "'docker-compose.yml'" }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": false }, "auto_update": { "name": "auto_update", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "auto_update_schedule": { "name": "auto_update_schedule", "type": "text", "primaryKey": false, "notNull": false, "default": "'daily'" }, "auto_update_cron": { "name": "auto_update_cron", "type": "text", "primaryKey": false, "notNull": false, "default": "'0 3 * * *'" }, "webhook_enabled": { "name": "webhook_enabled", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "webhook_secret": { "name": "webhook_secret", "type": "text", "primaryKey": false, "notNull": false }, "last_sync": { "name": "last_sync", "type": "timestamp", "primaryKey": false, "notNull": false }, "last_commit": { "name": "last_commit", "type": "text", "primaryKey": false, "notNull": false }, "sync_status": { "name": "sync_status", "type": "text", "primaryKey": false, "notNull": false, "default": "'pending'" }, "sync_error": { "name": "sync_error", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": { "git_repositories_credential_id_git_credentials_id_fk": { "name": "git_repositories_credential_id_git_credentials_id_fk", "tableFrom": "git_repositories", "tableTo": "git_credentials", "columnsFrom": [ "credential_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "git_repositories_name_unique": { "name": "git_repositories_name_unique", "nullsNotDistinct": false, "columns": [ "name" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.git_stacks": { "name": "git_stacks", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "stack_name": { "name": "stack_name", "type": "text", "primaryKey": false, "notNull": true }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": false }, "repository_id": { "name": "repository_id", "type": "integer", "primaryKey": false, "notNull": true }, "compose_path": { "name": "compose_path", "type": "text", "primaryKey": false, "notNull": false, "default": "'docker-compose.yml'" }, "env_file_path": { "name": "env_file_path", "type": "text", "primaryKey": false, "notNull": false }, "auto_update": { "name": "auto_update", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "auto_update_schedule": { "name": "auto_update_schedule", "type": "text", "primaryKey": false, "notNull": false, "default": "'daily'" }, "auto_update_cron": { "name": "auto_update_cron", "type": "text", "primaryKey": false, "notNull": false, "default": "'0 3 * * *'" }, "webhook_enabled": { "name": "webhook_enabled", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "webhook_secret": { "name": "webhook_secret", "type": "text", "primaryKey": false, "notNull": false }, "last_sync": { "name": "last_sync", "type": "timestamp", "primaryKey": false, "notNull": false }, "last_commit": { "name": "last_commit", "type": "text", "primaryKey": false, "notNull": false }, "sync_status": { "name": "sync_status", "type": "text", "primaryKey": false, "notNull": false, "default": "'pending'" }, "sync_error": { "name": "sync_error", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": { "git_stacks_environment_id_environments_id_fk": { "name": "git_stacks_environment_id_environments_id_fk", "tableFrom": "git_stacks", "tableTo": "environments", "columnsFrom": [ "environment_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "git_stacks_repository_id_git_repositories_id_fk": { "name": "git_stacks_repository_id_git_repositories_id_fk", "tableFrom": "git_stacks", "tableTo": "git_repositories", "columnsFrom": [ "repository_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "git_stacks_stack_name_environment_id_unique": { "name": "git_stacks_stack_name_environment_id_unique", "nullsNotDistinct": false, "columns": [ "stack_name", "environment_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.hawser_tokens": { "name": "hawser_tokens", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "token": { "name": "token", "type": "text", "primaryKey": false, "notNull": true }, "token_prefix": { "name": "token_prefix", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": false }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": false, "default": true }, "last_used": { "name": "last_used", "type": "timestamp", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "expires_at": { "name": "expires_at", "type": "timestamp", "primaryKey": false, "notNull": false } }, "indexes": {}, "foreignKeys": { "hawser_tokens_environment_id_environments_id_fk": { "name": "hawser_tokens_environment_id_environments_id_fk", "tableFrom": "hawser_tokens", "tableTo": "environments", "columnsFrom": [ "environment_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "hawser_tokens_token_unique": { "name": "hawser_tokens_token_unique", "nullsNotDistinct": false, "columns": [ "token" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.host_metrics": { "name": "host_metrics", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": false }, "cpu_percent": { "name": "cpu_percent", "type": "double precision", "primaryKey": false, "notNull": true }, "memory_percent": { "name": "memory_percent", "type": "double precision", "primaryKey": false, "notNull": true }, "memory_used": { "name": "memory_used", "type": "bigint", "primaryKey": false, "notNull": false }, "memory_total": { "name": "memory_total", "type": "bigint", "primaryKey": false, "notNull": false }, "timestamp": { "name": "timestamp", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": { "host_metrics_env_timestamp_idx": { "name": "host_metrics_env_timestamp_idx", "columns": [ { "expression": "environment_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "timestamp", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "host_metrics_environment_id_environments_id_fk": { "name": "host_metrics_environment_id_environments_id_fk", "tableFrom": "host_metrics", "tableTo": "environments", "columnsFrom": [ "environment_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.ldap_config": { "name": "ldap_config", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "enabled": { "name": "enabled", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "server_url": { "name": "server_url", "type": "text", "primaryKey": false, "notNull": true }, "bind_dn": { "name": "bind_dn", "type": "text", "primaryKey": false, "notNull": false }, "bind_password": { "name": "bind_password", "type": "text", "primaryKey": false, "notNull": false }, "base_dn": { "name": "base_dn", "type": "text", "primaryKey": false, "notNull": true }, "user_filter": { "name": "user_filter", "type": "text", "primaryKey": false, "notNull": false, "default": "'(uid={{username}})'" }, "username_attribute": { "name": "username_attribute", "type": "text", "primaryKey": false, "notNull": false, "default": "'uid'" }, "email_attribute": { "name": "email_attribute", "type": "text", "primaryKey": false, "notNull": false, "default": "'mail'" }, "display_name_attribute": { "name": "display_name_attribute", "type": "text", "primaryKey": false, "notNull": false, "default": "'cn'" }, "group_base_dn": { "name": "group_base_dn", "type": "text", "primaryKey": false, "notNull": false }, "group_filter": { "name": "group_filter", "type": "text", "primaryKey": false, "notNull": false }, "admin_group": { "name": "admin_group", "type": "text", "primaryKey": false, "notNull": false }, "role_mappings": { "name": "role_mappings", "type": "text", "primaryKey": false, "notNull": false }, "tls_enabled": { "name": "tls_enabled", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "tls_ca": { "name": "tls_ca", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.notification_settings": { "name": "notification_settings", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "type": { "name": "type", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "enabled": { "name": "enabled", "type": "boolean", "primaryKey": false, "notNull": false, "default": true }, "config": { "name": "config", "type": "text", "primaryKey": false, "notNull": true }, "event_types": { "name": "event_types", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.oidc_config": { "name": "oidc_config", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "enabled": { "name": "enabled", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "issuer_url": { "name": "issuer_url", "type": "text", "primaryKey": false, "notNull": true }, "client_id": { "name": "client_id", "type": "text", "primaryKey": false, "notNull": true }, "client_secret": { "name": "client_secret", "type": "text", "primaryKey": false, "notNull": true }, "redirect_uri": { "name": "redirect_uri", "type": "text", "primaryKey": false, "notNull": true }, "scopes": { "name": "scopes", "type": "text", "primaryKey": false, "notNull": false, "default": "'openid profile email'" }, "username_claim": { "name": "username_claim", "type": "text", "primaryKey": false, "notNull": false, "default": "'preferred_username'" }, "email_claim": { "name": "email_claim", "type": "text", "primaryKey": false, "notNull": false, "default": "'email'" }, "display_name_claim": { "name": "display_name_claim", "type": "text", "primaryKey": false, "notNull": false, "default": "'name'" }, "admin_claim": { "name": "admin_claim", "type": "text", "primaryKey": false, "notNull": false }, "admin_value": { "name": "admin_value", "type": "text", "primaryKey": false, "notNull": false }, "role_mappings_claim": { "name": "role_mappings_claim", "type": "text", "primaryKey": false, "notNull": false, "default": "'groups'" }, "role_mappings": { "name": "role_mappings", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.registries": { "name": "registries", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "url": { "name": "url", "type": "text", "primaryKey": false, "notNull": true }, "username": { "name": "username", "type": "text", "primaryKey": false, "notNull": false }, "password": { "name": "password", "type": "text", "primaryKey": false, "notNull": false }, "is_default": { "name": "is_default", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "registries_name_unique": { "name": "registries_name_unique", "nullsNotDistinct": false, "columns": [ "name" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.roles": { "name": "roles", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "description": { "name": "description", "type": "text", "primaryKey": false, "notNull": false }, "is_system": { "name": "is_system", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "permissions": { "name": "permissions", "type": "text", "primaryKey": false, "notNull": true }, "environment_ids": { "name": "environment_ids", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "roles_name_unique": { "name": "roles_name_unique", "nullsNotDistinct": false, "columns": [ "name" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.schedule_executions": { "name": "schedule_executions", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "schedule_type": { "name": "schedule_type", "type": "text", "primaryKey": false, "notNull": true }, "schedule_id": { "name": "schedule_id", "type": "integer", "primaryKey": false, "notNull": true }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": false }, "entity_name": { "name": "entity_name", "type": "text", "primaryKey": false, "notNull": true }, "triggered_by": { "name": "triggered_by", "type": "text", "primaryKey": false, "notNull": true }, "triggered_at": { "name": "triggered_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "started_at": { "name": "started_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "completed_at": { "name": "completed_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "duration": { "name": "duration", "type": "integer", "primaryKey": false, "notNull": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true }, "error_message": { "name": "error_message", "type": "text", "primaryKey": false, "notNull": false }, "details": { "name": "details", "type": "text", "primaryKey": false, "notNull": false }, "logs": { "name": "logs", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": { "schedule_executions_type_id_idx": { "name": "schedule_executions_type_id_idx", "columns": [ { "expression": "schedule_type", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "schedule_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "schedule_executions_environment_id_environments_id_fk": { "name": "schedule_executions_environment_id_environments_id_fk", "tableFrom": "schedule_executions", "tableTo": "environments", "columnsFrom": [ "environment_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.sessions": { "name": "sessions", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true }, "provider": { "name": "provider", "type": "text", "primaryKey": false, "notNull": true }, "expires_at": { "name": "expires_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": { "sessions_user_id_idx": { "name": "sessions_user_id_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "sessions_expires_at_idx": { "name": "sessions_expires_at_idx", "columns": [ { "expression": "expires_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "sessions_user_id_users_id_fk": { "name": "sessions_user_id_users_id_fk", "tableFrom": "sessions", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.settings": { "name": "settings", "schema": "", "columns": { "key": { "name": "key", "type": "text", "primaryKey": true, "notNull": true }, "value": { "name": "value", "type": "text", "primaryKey": false, "notNull": true }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.stack_environment_variables": { "name": "stack_environment_variables", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "stack_name": { "name": "stack_name", "type": "text", "primaryKey": false, "notNull": true }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": false }, "key": { "name": "key", "type": "text", "primaryKey": false, "notNull": true }, "value": { "name": "value", "type": "text", "primaryKey": false, "notNull": true }, "is_secret": { "name": "is_secret", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": { "stack_environment_variables_environment_id_environments_id_fk": { "name": "stack_environment_variables_environment_id_environments_id_fk", "tableFrom": "stack_environment_variables", "tableTo": "environments", "columnsFrom": [ "environment_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "stack_environment_variables_stack_name_environment_id_key_unique": { "name": "stack_environment_variables_stack_name_environment_id_key_unique", "nullsNotDistinct": false, "columns": [ "stack_name", "environment_id", "key" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.stack_events": { "name": "stack_events", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": false }, "stack_name": { "name": "stack_name", "type": "text", "primaryKey": false, "notNull": true }, "event_type": { "name": "event_type", "type": "text", "primaryKey": false, "notNull": true }, "timestamp": { "name": "timestamp", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "metadata": { "name": "metadata", "type": "text", "primaryKey": false, "notNull": false } }, "indexes": {}, "foreignKeys": { "stack_events_environment_id_environments_id_fk": { "name": "stack_events_environment_id_environments_id_fk", "tableFrom": "stack_events", "tableTo": "environments", "columnsFrom": [ "environment_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.stack_sources": { "name": "stack_sources", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "stack_name": { "name": "stack_name", "type": "text", "primaryKey": false, "notNull": true }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": false }, "source_type": { "name": "source_type", "type": "text", "primaryKey": false, "notNull": true, "default": "'internal'" }, "git_repository_id": { "name": "git_repository_id", "type": "integer", "primaryKey": false, "notNull": false }, "git_stack_id": { "name": "git_stack_id", "type": "integer", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": { "stack_sources_environment_id_environments_id_fk": { "name": "stack_sources_environment_id_environments_id_fk", "tableFrom": "stack_sources", "tableTo": "environments", "columnsFrom": [ "environment_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "stack_sources_git_repository_id_git_repositories_id_fk": { "name": "stack_sources_git_repository_id_git_repositories_id_fk", "tableFrom": "stack_sources", "tableTo": "git_repositories", "columnsFrom": [ "git_repository_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" }, "stack_sources_git_stack_id_git_stacks_id_fk": { "name": "stack_sources_git_stack_id_git_stacks_id_fk", "tableFrom": "stack_sources", "tableTo": "git_stacks", "columnsFrom": [ "git_stack_id" ], "columnsTo": [ "id" ], "onDelete": "set null", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "stack_sources_stack_name_environment_id_unique": { "name": "stack_sources_stack_name_environment_id_unique", "nullsNotDistinct": false, "columns": [ "stack_name", "environment_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user_preferences": { "name": "user_preferences", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": false }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": false }, "key": { "name": "key", "type": "text", "primaryKey": false, "notNull": true }, "value": { "name": "value", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": { "user_preferences_user_id_users_id_fk": { "name": "user_preferences_user_id_users_id_fk", "tableFrom": "user_preferences", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "user_preferences_environment_id_environments_id_fk": { "name": "user_preferences_environment_id_environments_id_fk", "tableFrom": "user_preferences", "tableTo": "environments", "columnsFrom": [ "environment_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "user_preferences_user_id_environment_id_key_unique": { "name": "user_preferences_user_id_environment_id_key_unique", "nullsNotDistinct": false, "columns": [ "user_id", "environment_id", "key" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user_roles": { "name": "user_roles", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "integer", "primaryKey": false, "notNull": true }, "role_id": { "name": "role_id", "type": "integer", "primaryKey": false, "notNull": true }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": { "user_roles_user_id_users_id_fk": { "name": "user_roles_user_id_users_id_fk", "tableFrom": "user_roles", "tableTo": "users", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "user_roles_role_id_roles_id_fk": { "name": "user_roles_role_id_roles_id_fk", "tableFrom": "user_roles", "tableTo": "roles", "columnsFrom": [ "role_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "user_roles_environment_id_environments_id_fk": { "name": "user_roles_environment_id_environments_id_fk", "tableFrom": "user_roles", "tableTo": "environments", "columnsFrom": [ "environment_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "user_roles_user_id_role_id_environment_id_unique": { "name": "user_roles_user_id_role_id_environment_id_unique", "nullsNotDistinct": false, "columns": [ "user_id", "role_id", "environment_id" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.users": { "name": "users", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "username": { "name": "username", "type": "text", "primaryKey": false, "notNull": true }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": false }, "password_hash": { "name": "password_hash", "type": "text", "primaryKey": false, "notNull": true }, "display_name": { "name": "display_name", "type": "text", "primaryKey": false, "notNull": false }, "avatar": { "name": "avatar", "type": "text", "primaryKey": false, "notNull": false }, "auth_provider": { "name": "auth_provider", "type": "text", "primaryKey": false, "notNull": false, "default": "'local'" }, "mfa_enabled": { "name": "mfa_enabled", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "mfa_secret": { "name": "mfa_secret", "type": "text", "primaryKey": false, "notNull": false }, "is_active": { "name": "is_active", "type": "boolean", "primaryKey": false, "notNull": false, "default": true }, "last_login": { "name": "last_login", "type": "timestamp", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "users_username_unique": { "name": "users_username_unique", "nullsNotDistinct": false, "columns": [ "username" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.vulnerability_scans": { "name": "vulnerability_scans", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "environment_id": { "name": "environment_id", "type": "integer", "primaryKey": false, "notNull": false }, "image_id": { "name": "image_id", "type": "text", "primaryKey": false, "notNull": true }, "image_name": { "name": "image_name", "type": "text", "primaryKey": false, "notNull": true }, "scanner": { "name": "scanner", "type": "text", "primaryKey": false, "notNull": true }, "scanned_at": { "name": "scanned_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "scan_duration": { "name": "scan_duration", "type": "integer", "primaryKey": false, "notNull": false }, "critical_count": { "name": "critical_count", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "high_count": { "name": "high_count", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "medium_count": { "name": "medium_count", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "low_count": { "name": "low_count", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "negligible_count": { "name": "negligible_count", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "unknown_count": { "name": "unknown_count", "type": "integer", "primaryKey": false, "notNull": false, "default": 0 }, "vulnerabilities": { "name": "vulnerabilities", "type": "text", "primaryKey": false, "notNull": false }, "error": { "name": "error", "type": "text", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": false, "default": "now()" } }, "indexes": { "vulnerability_scans_env_image_idx": { "name": "vulnerability_scans_env_image_idx", "columns": [ { "expression": "environment_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "image_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "vulnerability_scans_environment_id_environments_id_fk": { "name": "vulnerability_scans_environment_id_environments_id_fk", "tableFrom": "vulnerability_scans", "tableTo": "environments", "columnsFrom": [ "environment_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": {}, "schemas": {}, "sequences": {}, "roles": {}, "policies": {}, "views": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }