FROM golang:1.21.0-bullseye

RUN apt update && apt install -y --no-install-recommends jq cron && \
    apt clean && rm -rf /var/lib/apt/lists/*

RUN if [ "$(uname -m)" = "x86_64" ]; then \
        ARCH="linux_amd64"; \
    elif [ "$(uname -m)" = "aarch64" ]; then \
        ARCH="linux_arm64"; \
    else \
        echo "Unsupported architecture"; exit 1; \
    fi && \
    EXTENSION_DIR=~/.duckdb/extensions/v0.9.2/$ARCH && \
    mkdir -p "$EXTENSION_DIR" && \
    wget https://extensions.duckdb.org/v0.9.2/$ARCH/httpfs.duckdb_extension.gz -O "$EXTENSION_DIR"/httpfs.duckdb_extension.gz &&  \
    gunzip "$EXTENSION_DIR"/httpfs.duckdb_extension.gz && \
    chmod 755 "$EXTENSION_DIR"/httpfs.duckdb_extension

# BUILDX_NO_DEFAULT_ATTESTATIONdS=1 docker buildx build --platform linux/amd64,linux/arm64 -t opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/csghub_server:base-1.0 -f Dockerfile-base --push .