11# Amazon Keyspaces toolkit
22
3- ARG CLI_VERSION=2.1.27
3+ ARG CLI_VERSION=latest
44FROM amazon/aws-cli:$CLI_VERSION
55
66ENV AWS_KEYSPACES_WORKING_DIR=/root
@@ -9,70 +9,24 @@ ENV CQLSHRC_HOME=$AWS_KEYSPACES_WORKING_DIR/.cassandra
99
1010WORKDIR $AWS_KEYSPACES_WORKING_DIR
1111
12- # Install python3 and set as python3 simlink
13-
14- RUN yum install gcc openssl-devel bzip2-devel libffi-devel gzip make tar -y
15- RUN curl https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz --output Python-3.7.9.tgz
16- RUN tar xzf Python-3.7.9.tgz
17- WORKDIR $AWS_KEYSPACES_WORKING_DIR/Python-3.7.9
18- RUN ./configure --enable-optimizations
19- RUN make altinstall
20- RUN export PATH=${PATH}:/usr/local/lib/
21- RUN ln -s /usr/local/bin/python3.7 /usr/bin/python3
22- WORKDIR $AWS_KEYSPACES_WORKING_DIR
23- RUN rm -f Python-3.7.9.tgz
12+ RUN mkdir $AWS_KEYSPACES_WORKING_DIR/bin
2413
2514# Install jq
26- RUN yum install -y jq && yum clean all
27-
28- # set as python3 as default interpreter
29- RUN unlink /usr/bin/python
30- RUN ln -s /usr/bin/python3 /usr/bin/python
31-
32- # setup directory structure
33- RUN mkdir $CASSANDRA_HOME && \
34- mkdir $CASSANDRA_HOME/bin && \
35- mkdir $CASSANDRA_HOME/lib && \
36- mkdir $CASSANDRA_HOME/pylib && \
37- mkdir $CASSANDRA_HOME/pylib/cqlshlib && \
38- mkdir $AWS_KEYSPACES_WORKING_DIR/bin && \
39- mkdir $AWS_KEYSPACES_WORKING_DIR/distro && \
40- mkdir $CQLSHRC_HOME
41-
42- # CQLSH SETUP
15+ RUN yum install -y jq && yum install python3-pip -y && yum clean all
4316
44- COPY cqlsh-expansion/LICENSE.txt $CASSANDRA_HOME
45- COPY cqlsh-expansion/bin/cqlsh cqlsh-expansion/bin/cqlsh.py $CASSANDRA_HOME/bin/
46- COPY cqlsh-expansion/pylib/ $CASSANDRA_HOME/pylib/
17+ RUN pip3 install importlib-metadata
18+ RUN pip3 install boto3
19+ RUN pip3 install six
20+ RUN pip3 install -i https://test.pypi.org/simple/ cqlsh-expansion-mjpr==0.9.16
4721
48- COPY cqlsh-lib/cassandra-driver*.zip $CASSANDRA_HOME/lib/
49- COPY cqlsh-lib/futures-*.zip $CASSANDRA_HOME/lib/
50- COPY cqlsh-lib/boto3-1.16.52-py2.py3-none-any.zip $CASSANDRA_HOME/lib/
51- COPY cqlsh-lib/botocore-1.19.54-py2.py3-none-any.zip $CASSANDRA_HOME/lib/
52- COPY cqlsh-lib/cassandra_sigv4-4.0.2-py2.py3-none-any.zip $CASSANDRA_HOME/lib/
53- COPY cqlsh-lib/six-1.15.0-py2.py3-none-any.zip $CASSANDRA_HOME/lib/
54- COPY cqlsh-lib/python_dateutil-2.8.1-py2.py3-none-any.zip $CASSANDRA_HOME/lib/
55- COPY cqlsh-lib/urllib3-1.26.2-py2.py3-none-any.zip $CASSANDRA_HOME/lib/
56- COPY cqlsh-lib/jmespath-0.10.0-py2.py3-none-any.zip $CASSANDRA_HOME/lib/
57-
58- # ThirdParty License directory
59- COPY THIRD-PARTY-LICENSES.txt $AWS_KEYSPACES_WORKING_DIR/distro/
22+ RUN cqlsh-expansion.init
6023
6124# toolkit helpers
6225COPY bin/aws-cqlsh-expo-backoff.sh $AWS_KEYSPACES_WORKING_DIR/bin/aws-cqlsh-expo-backoff.sh
6326COPY bin/aws-sm-cqlsh-expo-backoff.sh $AWS_KEYSPACES_WORKING_DIR/bin/aws-sm-cqlsh-expo-backoff.sh
6427COPY bin/aws-cqlsh-expansion-expo-backoff.sh $AWS_KEYSPACES_WORKING_DIR/bin/aws-cqlsh-expansion-expo-backoff.sh
6528COPY bin/aws-sm-cqlsh.sh $AWS_KEYSPACES_WORKING_DIR/bin/aws-sm-cqlsh.sh
6629
67- COPY cqlsh-expansion/bin/cqlsh-expansion $CASSANDRA_HOME/bin/cqlsh-expansion
68- COPY cqlsh-expansion/bin/cqlsh-expansion.py $CASSANDRA_HOME/bin/cqlsh-expansion.py
69-
70-
71- # Setup pem file
72- COPY cqlsh-expansion/config/sf-class2-root.crt $CQLSHRC_HOME/sf-class2-root.crt
73- COPY cqlsh-expansion/config/cqlshrc_template $CQLSHRC_HOME/cqlshrc
74-
75-
76- ENV PATH="${PATH}:$AWS_KEYSPACES_WORKING_DIR/bin:$CASSANDRA_HOME/bin"
30+ ENV PATH="${PATH}:$AWS_KEYSPACES_WORKING_DIR/bin"
7731
78- ENTRYPOINT ["cqlsh-expansion" ]
32+ ENTRYPOINT ["cqlsh-expansion" ]
0 commit comments