:wave: Hello, team! I am trying to install meltano...
# docker
c
👋 Hello, team! I am trying to install meltano on a docker container in my work PC, using a custom ca certificate issued by zscaler , however i get SSL verify failed error , appreciate if anyone can direct me to any blog on resolving this error ,
meltano==3.3.1
--> this is what in requirements file
Copy code
FROM python:3.11-slim

LABEL maintainer="WFS Corp"

# Set working directory
WORKDIR /opt

# Install OS dependencies
RUN apt-get update && \
    apt-get install -y build-essential freetds-bin freetds-dev git libkrb5-dev libssl-dev tdsodbc unixodbc unixodbc-dev && \
    rm -rf /var/cache/apt/archives /var/lib/apt/lists/*

# ssl cert
COPY certs/zscaler.pem /usr/local/share/ca-certificates/zscaler.crt
RUN update-ca-certificates --fresh

#ENV HTTP_PROXY=
#ENV HTTPS_PROXY=
ENV REQUESTS_CA_BUNDLE=/usr/local/share/ca-certificates/zscaler.crt
ENV CURL_CA_BUNDLE=/usr/local/share/ca-certificates/zscaler.crt

# Make sure we are using latest pip
RUN pip install --upgrade pip wheel

# Copy requirements.txt
COPY ../requirements.txt requirements.txt

# Install dependencies
RUN pip install -r requirements.txt
j
Don't know the reason, but I would investigate it this way: 1. Start container from the image, e.g.
docker run -it --entrypoint "/bin/bash"  <image_tag>
2. echo ENV variables, is it set properly? 3. Check that the crt file is where it should be 4. Run any other OS commands which can help investigating why the crt file is not used 5. Create a simple script reproducing an issue, store it inside the container and execute it
c
thank you @jan_soubusta i was able to get past the error by building it from a python 3.10 slim base image , here is the Dockerfile for reference , i couldn't make the entry point work , so thinking of creating a startup.sh and call it in entrypoint
Copy code
ARG PYTHON_IMAGE=python:3.10-slim
FROM $PYTHON_IMAGE


ARG MELTANO_PROJECT_NAME=poc
ARG MELTANO_PROJECT_ROOT=dwh

# Update the system and install necessary Linux modules
RUN apt-get update && apt-get install -y \
    --no-install-recommends git build-essential libpq-dev python3-venv wget unzip freetds-bin gnupg curl freetds-dev libkrb5-dev libssl-dev tdsodbc unixodbc unixodbc-dev \
    ca-certificates libaio1

# Add the Microsoft repository key
RUN curl <https://packages.microsoft.com/keys/microsoft.asc> | apt-key add -

# Add the Microsoft SQL Server Ubuntu repository
RUN curl <https://packages.microsoft.com/config/debian/10/prod.list> > /etc/apt/sources.list.d/mssql-release.list

# Update the package lists
RUN apt-get update

# Install the MS ODBC Driver
RUN ACCEPT_EULA=Y apt-get install -y --no-install-recommends msodbcsql17

# Clean up
RUN apt-get clean && rm -rf /var/lib/apt/lists/*

# create folder for oracle instant client
RUN mkdir /opt/oracle
    
# Copy the Oracle Instant Client zip to container
COPY drivers/instantclient-basiclite-linux.x64-21.3.0.0.0.zip /opt/oracle/instantclient-basiclite-linux.x64-21.3.0.0.0.zip

# Unzip Oracle Instant Client in the container and then remove .zip file
RUN cd /opt/oracle \
    && unzip instantclient-basiclite-linux.x64-21.3.0.0.0.zip \
    && rm -f instantclient-basiclite-linux.x64-21.3.0.0.0.zip

# Set environment variables for Oracle Instant Client
ENV LD_LIBRARY_PATH "$LD_LIBRARY_PATH:/opt/oracle/instantclient_21_3"
ENV ORACLE_HOME=/opt/oracle/instantclient_21_3

# Install any additional requirements
RUN python3 -m pip install --upgrade pip
#RUN python3 -m pip install --upgrade certifi
RUN python3 -m pip install --upgrade pipx
RUN python3 -m pipx ensurepath

# pipx is preferred for using meltano
RUN pipx install meltano
ENV PATH "$PATH:/root/.local/bin"

# create the meltano project folder
WORKDIR /$MELTANO_PROJECT_ROOT
RUN echo "PWD is $PWD"
RUN meltano init "$MELTANO_PROJECT_NAME"

# install the Meltano plugins as specified in meltano.yml
WORKDIR /$MELTANO_PROJECT_ROOT/$MELTANO_PROJECT_NAME
RUN echo "PWD is>: $PWD"
#ENTRYPOINT ["cwd","meltano","install"]