You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,23 @@ Compare transformed TIMDEX records from two versions (A,B) of Transmogrifier.
15
15
- To lint the repo: `make lint`
16
16
- To run the app: `pipenv run abdiff --help`
17
17
18
+
### Storing Files in a Local Minio Server
19
+
20
+
TIMDEX extract files from S3 (i.e., input files to use in transformations) can be downloaded to a local MinIO server hosted via Docker container. [MinIO is an object storage solution that provides an Amazon Web Services S3-compatible API and supports all core S3 features](https://min.io/docs/minio/kubernetes/upstream/). Downloading extract files improves the runtime of a diff by reducing the number of requests sent to S3 and avoids repeated downloads of extract files.
21
+
22
+
1. Create an AWS profile `minio`. When prompted for an "AWS Access Key ID" and "AWS Secret Access Key", pass the values set for the `MINIO_ROOT_USER` and `MINIO_ROOT_PASSWORD` environment variables in the Docker Compose YAML file.
23
+
```shell
24
+
aws configure --profile minio
25
+
```
26
+
27
+
2. Launch a local Minio server via Docker container: `make start-minio-server`.
28
+
The API is accessible at: http://127.0.0.1:9000.
29
+
The WebUI is accessible at: http://127.0.0.1:9001.
30
+
31
+
3. On your browser, navigate to the WebUI and sign into the local Minio server using the credentials set in the Docker Compose YAML file.
32
+
33
+
4. Through the UI, create a bucket in the local Minio server named after the S3 bucket containing the TIMDEX extract files that will be used in the A/B Diff.
34
+
18
35
## Concepts
19
36
20
37
A **Job** in `abdiff` represents the A/B test for comparing the results from two versions of Transmogrifier. When a job is first created, a working directory and a JSON file `job.json` with an initial set of configurations is created.
@@ -90,6 +107,11 @@ AWS_SESSION_TOKEN=# passed to Transmogrifier containers for use
90
107
### Optional
91
108
92
109
```text
110
+
MINIO_S3_LOCAL_STORAGE=# full file system path to the directory where MinIO stores its object data on the local disk
111
+
MINIO_S3_URL=# endpoint for MinIO server API; default is "http://localhost:9000/"
112
+
MINIO_S3_CONTAINER_URL=# endpoint for the MinIO server when acccessed from inside a Docker container; default is "http://host.docker.internal:9000/"
113
+
MINIO_ROOT_USER=# username for root user account for MinIO server
114
+
MINIO_ROOT_PASSWORD=# password for root user account MinIO server
93
115
WEBAPP_HOST=# host for flask webapp
94
116
WEBAPP_PORT=# port for flask webapp
95
117
TRANSMOGRIFIER_MAX_WORKERS=# max number of Transmogrifier containers to run in parallel; default is 6
0 commit comments