this project is POC of gravitino iceberg-rest-server multi-catalog-support. see https://gravitino.apache.org/docs/1.0.0/iceberg-rest-service/#multi-catalog-support.
run
./launch.shsee docker-compose.yml,there are two minio(foo- and bar-) and two postgres(foo- and bar-)
image: minio/minio
container_name: foo-minio
image: minio/minio
container_name: bar-minio
image: postgres:12.14
container_name: foo-postgres
image: postgres:12.14
container_name: bar-postgres
image: apache/gravitino-iceberg-rest:1.0.0
container_name: gravitino-iceberg-rest
image: minio/mc
container_name: mcdocker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
bar-minio minio/minio "/usr/bin/docker-ent…" bar-minio 17 seconds ago Up 17 seconds (healthy) 0.0.0.0:9200->9000/tcp, 0.0.0.0:9201->9001/tcp
bar-postgres postgres:12.14 "docker-entrypoint.s…" bar-postgres 17 seconds ago Up 17 seconds (healthy) 0.0.0.0:25432->5432/tcp
foo-minio minio/minio "/usr/bin/docker-ent…" foo-minio 17 seconds ago Up 17 seconds (healthy) 0.0.0.0:9000-9001->9000-9001/tcp
foo-postgres postgres:12.14 "docker-entrypoint.s…" foo-postgres 17 seconds ago Up 17 seconds (healthy) 0.0.0.0:5432->5432/tcp
gravitino-iceberg-rest apache/gravitino-iceberg-rest:1.0.0 "/gravitino-iceberg-…" gravitino-iceberg-rest 17 seconds ago Up 6 seconds 0.0.0.0:29001->9001/tcp
mc minio/mc "/bin/sh -c ' /usr/b…" mc 17 seconds ago Up 11 seconds gravitino.iceberg-rest.foo ---> foo-postgres(db=iceberg_rest) ---> foo-minio/warehouse
gravitino.iceberg-rest.bar ---> bar-postgres(db=iceberg_rest) ---> bar-minio/warehousespark version sample/IcebergRestMultiSupportSimple.scala
flink version sample/IcebergRestCatalogMultiSupport.scala
Of course, we can also use multiple gravitino-iceberg-rest-server instances for multi-catalog.