gitextract_43962rdt/ ├── .github/ │ └── workflows/ │ ├── docker-api.yaml │ ├── docker-frontend.yaml │ └── release-chart.yaml ├── .gitignore ├── .pre-commit-config.yaml ├── Dockerfile ├── LICENSE ├── README.md ├── bin/ │ ├── celery │ ├── docker │ ├── migrate │ ├── serve │ └── start ├── charts/ │ └── housewatch/ │ ├── .helmignore │ ├── Chart.yaml │ ├── templates/ │ │ ├── _helpers.tpl │ │ ├── deployment-nginx.yaml │ │ ├── deployment-web.yaml │ │ ├── deployment-worker.yaml │ │ ├── nginx-configmap.yaml │ │ ├── redis.yaml │ │ └── service.yaml │ └── values.yaml ├── docker/ │ ├── Caddyfile │ └── clickhouse-server/ │ └── config.d/ │ └── config.xml ├── docker-compose.dev.yml ├── docker-compose.yml ├── frontend/ │ ├── .gitignore │ ├── .node-version │ ├── .prettierrc │ ├── Dockerfile │ ├── Dockerfile.dev │ ├── README.md │ ├── index.html │ ├── package.json │ ├── public/ │ │ ├── fonts/ │ │ │ └── OFL.txt │ │ ├── index.html │ │ ├── manifest.json │ │ └── robots.txt │ ├── src/ │ │ ├── App.tsx │ │ ├── Layout.tsx │ │ ├── index.css │ │ ├── index.tsx │ │ ├── pages/ │ │ │ ├── AITools/ │ │ │ │ ├── AIToolsPage.tsx │ │ │ │ └── NaturalLanguageQueryEditor.tsx │ │ │ ├── Backups/ │ │ │ │ ├── Backups.tsx │ │ │ │ └── ScheduledBackups.tsx │ │ │ ├── Clusters/ │ │ │ │ └── Clusters.tsx │ │ │ ├── DiskUsage/ │ │ │ │ └── DiskUsage.tsx │ │ │ ├── Errors/ │ │ │ │ └── Errors.tsx │ │ │ ├── Logs/ │ │ │ │ └── Logs.tsx │ │ │ ├── Operations/ │ │ │ │ └── Operations.tsx │ │ │ ├── Overview/ │ │ │ │ ├── Overview.tsx │ │ │ │ └── tips.ts │ │ │ ├── QueryEditor/ │ │ │ │ ├── Benchmark.tsx │ │ │ │ ├── QueryEditor.tsx │ │ │ │ ├── QueryEditorPage.tsx │ │ │ │ ├── SavedQueries.tsx │ │ │ │ └── SavedQuery.tsx │ │ │ ├── RunningQueries/ │ │ │ │ └── RunningQueries.tsx │ │ │ ├── SchemaStats/ │ │ │ │ ├── SchemaStats.tsx │ │ │ │ └── SchemaTable.tsx │ │ │ └── SlowQueries/ │ │ │ ├── ExampleQueriesTab.tsx │ │ │ ├── ExplainTab.tsx │ │ │ ├── MetricsTab.tsx │ │ │ ├── NormalizedQueryTab.tsx │ │ │ ├── QueryDetail.tsx │ │ │ └── SlowQueries.tsx │ │ ├── react-app-env.d.ts │ │ └── utils/ │ │ ├── dateUtils.ts │ │ └── usePollingEffect.tsx │ ├── tsconfig.json │ └── vite.config.ts ├── housewatch/ │ ├── __init__.py │ ├── admin/ │ │ └── __init__.py │ ├── admin.py │ ├── ai/ │ │ └── templates.py │ ├── api/ │ │ ├── __init__.py │ │ ├── analyze.py │ │ ├── async_migration.py │ │ ├── backups.py │ │ ├── cluster.py │ │ ├── instance.py │ │ └── saved_queries.py │ ├── apps.py │ ├── asgi.py │ ├── async_migrations/ │ │ ├── __init__.py │ │ ├── async_migration_utils.py │ │ └── runner.py │ ├── celery.py │ ├── clickhouse/ │ │ ├── __init__.py │ │ ├── backups.py │ │ ├── client.py │ │ ├── clusters.py │ │ ├── queries/ │ │ │ ├── __init__.py │ │ │ └── sql.py │ │ └── table.py │ ├── gunicorn.conf.py │ ├── migrations/ │ │ ├── 0001_initial.py │ │ ├── 0002_asyncmigration_asyncmigration_unique name.py │ │ ├── 0003_asyncmigration_operations_and_more.py │ │ ├── 0004_asyncmigration_last_error.py │ │ ├── 0005_asyncmigration_finished_at.py │ │ ├── 0006_savedquery.py │ │ ├── 0007_scheduledbackup_scheduledbackuprun.py │ │ ├── 0008_remove_scheduledbackup_aws_endpoint_url_and_more.py │ │ ├── 0009_scheduledbackup_cluster_alter_scheduledbackup_id.py │ │ ├── 0010_scheduledbackup_incremental_schedule_and_more.py │ │ ├── 0011_scheduledbackup_is_sharded_and_more.py │ │ ├── 0012_preferredreplica.py │ │ └── __init__.py │ ├── models/ │ │ ├── __init__.py │ │ ├── async_migration.py │ │ ├── backup.py │ │ ├── instance.py │ │ ├── preferred_replica.py │ │ └── saved_queries.py │ ├── settings/ │ │ ├── __init__.py │ │ └── utils.py │ ├── tasks/ │ │ └── __init__.py │ ├── tests/ │ │ └── test_backup_table_fixture.sql │ ├── urls.py │ ├── utils/ │ │ ├── __init__.py │ │ └── encrypted_fields/ │ │ ├── fields.py │ │ └── hkdf.py │ ├── views.py │ └── wsgi.py ├── manage.py ├── mypy.ini ├── pyproject.toml ├── pytest.ini ├── requirements-dev.in ├── requirements-dev.txt ├── requirements.in ├── requirements.txt └── runtime.txt