github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/esti/ops/docker-compose-dynamodb.yaml (about)

     1  version: "3"
     2  services:
     3    lakefs:
     4      image: "${REPO:-treeverse}/lakefs:${TAG:-dev}"
     5      command: "${COMMAND:-run}"
     6      ports:
     7        - "8000:8000"
     8      depends_on:
     9        - "dynamodb"
    10      volumes:
    11        - lakefs-app:/app:ro
    12      environment:
    13        - LAKEFS_AUTH_ENCRYPT_SECRET_KEY=some random secret string
    14        - LAKEFS_BLOCKSTORE_TYPE=${LAKEFS_BLOCKSTORE_TYPE:-local}
    15        - LAKEFS_BLOCKSTORE_LOCAL_PATH=/home/lakefs
    16        - LAKEFS_BLOCKSTORE_LOCAL_IMPORT_ENABLED=true
    17        - LAKEFS_BLOCKSTORE_LOCAL_ALLOWED_EXTERNAL_PREFIXES=/tmp
    18        - LAKEFS_BLOCKSTORE_S3_CREDENTIALS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
    19        - LAKEFS_BLOCKSTORE_S3_CREDENTIALS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
    20        - LAKEFS_LOGGING_LEVEL=DEBUG
    21        - LAKEFS_BLOCKSTORE_GS_CREDENTIALS_JSON
    22        - LAKEFS_STATS_ENABLED
    23        - LAKEFS_DATABASE_DYNAMODB_ENDPOINT=http://dynamodb:8000
    24        - LAKEFSACTION_VAR=this_is_actions_var
    25        - LAKEFS_DATABASE_TYPE=dynamodb
    26        - LAKEFS_DATABASE_KV_ENABLED=true
    27        - LAKEFS_DATABASE_DYNAMODB_AWS_REGION=us-east-1
    28        - LAKEFS_DATABASE_DYNAMODB_AWS_ACCESS_KEY_ID=AKIAIO5FODNN7EXAMPLE
    29        - LAKEFS_DATABASE_DYNAMODB_AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K3MDENG/bPxRfiCYEXAMPLEKEY
    30      entrypoint: ["/app/lakefs", "run"]
    31    dynamodb:
    32      image: "amazon/dynamodb-local:1.18.0"
    33      ports:
    34        - "6432:8000"
    35    esti:
    36      image: "golang:1.21.4-alpine3.18"
    37      links:
    38        - lakefs:s3.local.lakefs.io
    39        - lakefs:testmultipartupload.s3.local.lakefs.io
    40        - lakefs:testmultipartuploadabort.s3.local.lakefs.io
    41        - lakefs:testdeleteobjects.s3.local.lakefs.io
    42        - lakefs:testmigrate-testpremigratemultipart.s3.local.lakefs.io
    43        - lakefs:migrate.s3.local.lakefs.io
    44      environment:
    45        - CGO_ENABLED=0
    46        - AWS_ACCESS_KEY_ID
    47        - AWS_SECRET_ACCESS_KEY
    48        - AWS_REGION=us-east-1
    49        - ESTI_STORAGE_NAMESPACE
    50        - ESTI_BLOCKSTORE_TYPE
    51        - ESTI_AWS_ACCESS_KEY_ID
    52        - ESTI_SETUP_LAKEFS
    53        - ESTI_AWS_SECRET_ACCESS_KEY
    54        - ESTI_ENDPOINT_URL=http://lakefs:8000
    55        - ESTI_LAKECTL_DIR=/app
    56        - ESTI_DATABASE_KV_ENABLED
    57        - ESTI_KV_MIGRATION=${ESTI_KV_MIGRATION:-none}
    58        - ESTI_POST_MIGRATE
    59        - ESTI_GOTEST_FLAGS
    60        - ESTI_FLAGS
    61      working_dir: /lakefs
    62      command:
    63        - /bin/sh
    64        - -c
    65        - |
    66          apk add --no-cache util-linux
    67          go test -v $ESTI_GOTEST_FLAGS ./esti --system-tests $ESTI_FLAGS --skip=".*GC"
    68      volumes:
    69        - lakefs-code:/lakefs
    70        - lakefs-app:/app:ro
    71  
    72  volumes:
    73    lakefs-code:
    74      driver: local
    75      driver_opts:
    76        o: bind
    77        type: none
    78        device: ${LAKEFS_ROOT:-.}
    79    lakefs-app: