# docker compose project name
COMPOSE_PROJECT_NAME=instill-core

# docker compose profiles to selectively launch components for developing the latest codebase of the specified component.
# the value can be all, exclude-api-gateway, exclude-mgmt, exclude-pipeline, exclude-model, or exclude-console.
PROFILE=all

# build from scratch or not at launch, which will build all sources from scrach. Default to false.
BUILD=false

# system-wise config path (all vdp, model and artifact projects must use the same path)
SYSTEM_CONFIG_PATH=~/.config/instill

# extra parameters for helm integration test running in docker
DOCKER_HELM_IT_EXTRA_PARAMS=

# flag to enable usage collection
USAGE_ENABLED=true

# flag to enable observability stack
OBSERVE_ENABLED=false

# flag to enable model-backend creating predploy models
INITMODEL_ENABLED=false

# configuration directory path
CONFIG_DIR_PATH=./configs

# Instill Core instance host. Set it with a valid network address (IP or URL) for the console.
INSTILL_CORE_HOST=localhost

# container build
DOCKER_BUILDKIT=1
COMPOSE_DOCKER_CLI_BUILD=1

# max data size in MB which pipeline-/model-/artifact-backend accept to process
MAX_DATA_SIZE=12

# version
ALPINE_VERSION=3.18
UBUNTU_VERSION=20.04 # for model-backend

GOLANG_VERSION=1.22.5
KRAKEND_CE_VERSION=2.6.2
ARTIVC_VERSION=0.10.0
K6_VERSION=0.55.0
XK6_VERSION=0.13.3
XK6_SQL_VERSION=1.0.0
XK6_SQL_POSTGRES_VERSION=0.1.0

# api-gateway
API_GATEWAY_IMAGE=instill/api-gateway
API_GATEWAY_VERSION=0.30.0-beta
API_GATEWAY_HOST=api-gateway
API_GATEWAY_PORT=8080
API_GATEWAY_STATS_PORT=8070
API_GATEWAY_METRICS_PORT=8071

# mgmt-backend
MGMT_BACKEND_IMAGE=instill/mgmt-backend
MGMT_BACKEND_VERSION=0.21.0-beta
MGMT_BACKEND_HOST=mgmt-backend
MGMT_BACKEND_PRIVATEPORT=3084
MGMT_BACKEND_PUBLICPORT=8084

# pipeline-backend
PIPELINE_BACKEND_IMAGE=instill/pipeline-backend
PIPELINE_BACKEND_VERSION=0.47.0-beta
PIPELINE_BACKEND_HOST=pipeline-backend
PIPELINE_BACKEND_PRIVATEPORT=3081
PIPELINE_BACKEND_PUBLICPORT=8081

# model-backend
MODEL_BACKEND_IMAGE=instill/model-backend
MODEL_BACKEND_VERSION=0.33.0-alpha
MODEL_BACKEND_HOST=model-backend
MODEL_BACKEND_PRIVATEPORT=3083
MODEL_BACKEND_PUBLICPORT=8083

# artifact-backend
ARTIFACT_BACKEND_IMAGE=instill/artifact-backend
ARTIFACT_BACKEND_VERSION=0.21.0-alpha
ARTIFACT_BACKEND_HOST=artifact-backend
ARTIFACT_BACKEND_PRIVATEPORT=3082
ARTIFACT_BACKEND_PUBLICPORT=8082

# console
CONSOLE_IMAGE=instill/console
CONSOLE_VERSION=0.63.0-beta
CONSOLE_HOST=console
CONSOLE_PORT=3000

# ray-server
RAY_SERVER_IMAGE=instill/ray
RAY_SERVER_VERSION=0.5.0-alpha
RAY_SERVER_HOST=ray-server
RAY_SERVER_CLIENT_PORT=10001
RAY_SERVER_DASHBOARD_PORT=8265
RAY_SERVER_GCS_PORT=6379
RAY_SERVER_SERVE_PORT=8000
RAY_SERVER_SERVE_GRPC_PORT=9000
RAY_SERVER_PROMETHEUS_PORT=8079
RAY_SERVER_VRAM=

# PostgreSQL
POSTGRESQL_IMAGE=postgres
POSTGRESQL_VERSION=14.1
POSTGRESQL_HOST=pg-sql
POSTGRESQL_PORT=5432

# Elasticseach
ELASTICSEARCH_IMAGE=elasticsearch
ELASTICSEARCH_VERSION=7.16.2
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200

# Temopral
TEMPORAL_IMAGE=temporalio/auto-setup
TEMPORAL_VERSION=1.22.3
TEMPORAL_HOST=temporal
TEMPORAL_PORT=7233

TEMPORAL_UI_IMAGE=temporalio/ui
TEMPORAL_UI_VERSION=2.21.3
TEMPORAL_UI_HOST=temporal-ui
TEMPORAL_UI_PORT=8088

# Redis
REDIS_IMAGE=redis
REDIS_VERSION=7.0
REDIS_HOST=redis
REDIS_PORT=6379

# influxdb
INFLUXDB_IMAGE=influxdb
INFLUXDB_VERSION=2.7
INFLUXDB_HOST=influxdb
INFLUXDB_PORT=8086

# opengfa
OPENFGA_IMAGE=openfga/openfga
OPENFGA_VERSION=v1.5.1
OPENFGA_HOST=openfga
OPENFGA_PORT=18081

# otel
OTEL_COLLECTOR_IMAGE=otel/opentelemetry-collector-contrib
OTEL_COLLECTOR_VERSION=0.78.0
OTEL_COLLECTOR_HOST=otel-collector
OTEL_COLLECTOR_PORT=8095
OTEL_COLLECTOR_PROMETHEUS_PORT=9001

# jaeger
JAEGER_IMAGE=jaegertracing/all-in-one
JAEGER_VERSION=1.45.0
JAEGER_HOST=jaeger
JAEGER_PORT=16686
JAEGER_LISTEN_PROTO_PORT=14250  # accept model.proto
JAEGER_LISTEN_THRIFT_PORT=14268 # accept jaeger.thrift directly from clients

# prometheus
PROMETHEUS_IMAGE=prom/prometheus
PROMETHEUS_VERSION=2.44.0
PROMETHEUS_HOST=prometheus
PROMETHEUS_PORT=9090

# grafana
GRAFANA_IMAGE=grafana/grafana
GRAFANA_VERSION=9.5.2
GRAFANA_HOST=grafana
GRAFANA_PORT=3002

# registry
REGISTRY_IMAGE=registry
REGISTRY_VERSION=2.8.3
REGISTRY_HOST=registry
REGISTRY_PORT=5000
REGISTRY_EXTERNAL_PORT=5001

# milvus
MILVUS_IMAGE=milvusdb/milvus
MILVUS_VERSION=v2.4.1
MILVUS_HOST=milvus
MILVUS_DATA_DIR=/var/lib/milvus/etcd
MILVUS_PORT=19530
MILVUS_METRIC_PORT=9091

# minio
MINIO_IMAGE=quay.io/minio/minio
MINIO_VERSION=RELEASE.2024-05-10T01-41-38Z
MINIO_HOST=minio
MINIO_PORT=9000
MINIO_EXTERNAL_PORT=19000
MINIO_CONSOLE_PORT=9001
MINIO_CONSOLE_EXTERNAL_PORT=19001
MINIO_DATA_DIR=~/.local/instill/minio/data
