# Anaxi `Anaxi` is Superhog's tool to perform Extract-Load (EL) syncs between our multiple Cosmos DB databases and our DWH. ## How to use the tool *Note: the app has only been used so far in a Linux environment. Windows support is dubious.* ### Install - Ensure you have Python 3.10>= and `poetry` installed. - Run `poetry install` to install dependencies. - Activate the project's virtual environment. You can use `poetry shell`. - Test that everything is working by running `anaxi smoke-test`. You should see a happy pig. ### Set up credentials `anaxi` needs a few configs and secrets to run. Regarding Cosmos DB databases: `anaxi` expects to find a file called `cosmos-db.yml` in the path `~/.anaxi/cosmos-db.yml`. The file should specify one or more Cosmos DB databases, along with the required secrets to interact with them. You can check the example file in this repo named `example-cosmos-db.yml` to understand how to build this file. Once you've done that, you can check if any database is reachable with the `cosmos-db-healthcheck` command. See more in the `General Usage` section below. For Postgres databases: `anaxi` expects to find a file called `postgres.yml` in the path `~/.anaxi/postgres.yml`. The file should specify one or more Postgres databases, along with the required secrets to interact with them. You can check the example file in this repo named `example-postgres.yml` to understand how to build this file. Once you've done that, you can check if any database is reachable with the `postgres-healthcheck` command. See more in the `General Usage` section below. ### General Usage You can run a healthcheck against any Cosmos DB database like this: ```bash anaxis cosmos-db-healthcheck --cosmos-db-id ``` You can run a healthcheck against Postgres databases like this: ```bash anaxis postgres-healthcheck --postgres-database ``` ## Incremental scopes - [X] Callable CLI app - [X] Healthchecks against Cosmos DB doable - [X] Healthchecks against DWH doable - [ ] Reading from Cosmos DB - [ ] Writing into DWH - [ ] Refactors and improvements ## What's with the name `Anaxi` is short for Anaximander. [Anaximander of Miletus](https://en.wikipedia.org/wiki/Anaximander) was a pre-Socratic Greek philosopher who lived in Miletus. He is often called the "Father of Cosmology" and founder of astronomy.