github.com/qsunny/k8s@v0.0.0-20220101153623-e6dca256d5bf/examples-master/cassandra/image/files/build.sh (about)

     1  #!/bin/bash
     2  
     3  # Copyright 2018 The Kubernetes Authors.
     4  #
     5  # Licensed under the Apache License, Version 2.0 (the "License");
     6  # you may not use this file except in compliance with the License.
     7  # You may obtain a copy of the License at
     8  #
     9  #     http://www.apache.org/licenses/LICENSE-2.0
    10  #
    11  # Unless required by applicable law or agreed to in writing, software
    12  # distributed under the License is distributed on an "AS IS" BASIS,
    13  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14  # See the License for the specific language governing permissions and
    15  # limitations under the License.
    16  
    17  
    18  set -o errexit
    19  set -o nounset
    20  set -o pipefail
    21  
    22  echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
    23  
    24  apt-get update && apt-get dist-upgrade -y
    25  
    26  clean-install \
    27      openjdk-8-jre-headless \
    28      libjemalloc1 \
    29      localepurge \
    30      dumb-init \
    31      wget
    32  
    33  CASSANDRA_PATH="cassandra/${CASSANDRA_VERSION}/apache-cassandra-${CASSANDRA_VERSION}-bin.tar.gz"
    34  CASSANDRA_DOWNLOAD="http://www.apache.org/dyn/closer.cgi?path=/${CASSANDRA_PATH}&as_json=1"
    35  CASSANDRA_MIRROR=`wget -q -O - ${CASSANDRA_DOWNLOAD} | grep -oP "(?<=\"preferred\": \")[^\"]+"`
    36  
    37  echo "Downloading Apache Cassandra from $CASSANDRA_MIRROR$CASSANDRA_PATH..."
    38  wget -q -O - $CASSANDRA_MIRROR$CASSANDRA_PATH \
    39      | tar -xzf - -C /usr/local
    40  
    41  mkdir -p /cassandra_data/data
    42  mkdir -p /etc/cassandra
    43  
    44  mv /logback.xml /cassandra.yaml /jvm.options /etc/cassandra/
    45  mv /usr/local/apache-cassandra-${CASSANDRA_VERSION}/conf/cassandra-env.sh /etc/cassandra/
    46  
    47  adduser --disabled-password --no-create-home --gecos '' --disabled-login cassandra
    48  chmod +x /ready-probe.sh
    49  chown cassandra: /ready-probe.sh
    50  
    51  DEV_IMAGE=${DEV_CONTAINER:-}
    52  if [ ! -z "$DEV_IMAGE" ]; then
    53      clean-install python;
    54  else
    55      rm -rf  $CASSANDRA_HOME/pylib;
    56  fi
    57  
    58  mv /kubernetes-cassandra.jar /usr/local/apache-cassandra-${CASSANDRA_VERSION}/lib
    59  mv /cassandra-seed.so /etc/cassandra/
    60  mv /cassandra-seed.h /usr/local/lib/include
    61  
    62  apt-get -y purge localepurge
    63  apt-get -y autoremove
    64  apt-get clean
    65  
    66  rm -rf \
    67      $CASSANDRA_HOME/*.txt \
    68      $CASSANDRA_HOME/doc \
    69      $CASSANDRA_HOME/javadoc \
    70      $CASSANDRA_HOME/tools/*.yaml \
    71      $CASSANDRA_HOME/tools/bin/*.bat \
    72      $CASSANDRA_HOME/bin/*.bat \
    73      doc \
    74      man \
    75      info \
    76      locale \
    77      common-licenses \
    78      ~/.bashrc \
    79      /var/lib/apt/lists/* \
    80      /var/log/* \
    81      /var/cache/debconf/* \
    82      /etc/systemd \
    83      /lib/lsb \
    84      /lib/udev \
    85      /usr/share/doc/ \
    86      /usr/share/doc-base/ \
    87      /usr/share/man/ \
    88      /tmp/* \
    89      /usr/lib/jvm/java-8-openjdk-amd64/jre/plugin \
    90      /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/javaws \
    91      /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/jjs \
    92      /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/orbd \
    93      /usr/lib/jvm/java-8-openjdk-amd64/bin/pack200 \
    94      /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/policytool \
    95      /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/rmid \
    96      /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/rmiregistry \
    97      /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/servertool \
    98      /usr/lib/jvm/java-8-openjdk-amd64/bin/tnameserv \
    99      /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/unpack200 \
   100      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/javaws.jar \
   101      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/deploy* \
   102      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/desktop \
   103      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/*javafx* \
   104      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/*jfx* \
   105      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libdecora_sse.so \
   106      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libprism_*.so \
   107      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libfxplugins.so \
   108      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libglass.so \
   109      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libgstreamer-lite.so \
   110      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libjavafx*.so \
   111      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libjfx*.so \
   112      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/jfxrt.jar \
   113      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/nashorn.jar \
   114      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/oblique-fonts \
   115      /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/plugin.jar \
   116      /usr/lib/jvm/java-8-openjdk-amd64/man