diff --git a/.final_builds/packages/ruby-3.0/index.yml b/.final_builds/packages/ruby-3.0/index.yml new file mode 100644 index 00000000..aefd7463 --- /dev/null +++ b/.final_builds/packages/ruby-3.0/index.yml @@ -0,0 +1,6 @@ +builds: + 68d0d668e001f63962387cc87c418ea98d7cf88880a7feb6e1ba12561653efb1: + version: 68d0d668e001f63962387cc87c418ea98d7cf88880a7feb6e1ba12561653efb1 + blobstore_id: 67174e62-14ca-42cc-7a2b-02376d4b790c + sha1: sha256:3526abe6891f7d37ca3eeda5a3ad77f0c3e04529768d57267d3168d4cf36c4b7 +format-version: "2" diff --git a/README.md b/README.md index 7116795f..666a9879 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,7 @@ jumpbox: - curl 7.81.0 - git 2.35.1 - jq 1.5 +- tmate 2.4.0 - tmux 3.2a - libevent 2.1.12 - tree 2.0.2 @@ -97,5 +98,4 @@ Precompiled binaries / scripts: - shield 8.7.4 - spiff 1.0.8 - terraform 1.1.7 - - tmate 2.4.0 - vault 1.9.4 diff --git a/config/blobs.yml b/config/blobs.yml index 64e52b3d..7d4e46db 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -70,10 +70,6 @@ jumpbox/bins/terraform: size: 63262720 object_id: 74d2c27f-7dc7-4eb2-4538-a89835a402ed sha: sha256:ba86f524c64a97df436d541e67480607d0330ea27b23c3208316260189210151 -jumpbox/bins/tmate: - size: 3135320 - object_id: 1556169c-020e-44e4-5892-995890c24d99 - sha: sha256:d2fff992e40ce18ff81b9a92fa1cb93a56fb5a82c1cc428204552d8dfa1bc04f jumpbox/bins/vault: size: 188378621 object_id: 8cd5b321-9288-4951-527a-322c3ab14630 @@ -126,6 +122,10 @@ jumpbox/libevent-2.1.12-stable.tar.gz: size: 1100847 object_id: 853918f8-5529-47a8-7faf-2d68245d479d sha: sha256:92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb +jumpbox/tmate-2.4.0-static-linux-amd64.tar.xz: + size: 1252460 + object_id: 3ca7259b-ea11-4b08-5a19-04857a12fee9 + sha: sha256:6e503a1a3b0f9117bce6ff7cc30cf61bdc79e9b32d074cf96deb0264e067a60d jumpbox/tmux-3.2a.tar.gz: size: 648394 object_id: c795d961-e908-4f28-7632-f7816d2a9cef diff --git a/jobs/jumpbox/spec b/jobs/jumpbox/spec index 28913756..f2e9b32b 100644 --- a/jobs/jumpbox/spec +++ b/jobs/jumpbox/spec @@ -3,6 +3,7 @@ name: jumpbox packages: - jumpbox - golang +- ruby-3.0 templates: bin/jumpbox_ctl: bin/jumpbox_ctl diff --git a/jobs/jumpbox/templates/bin/watcher b/jobs/jumpbox/templates/bin/watcher index f60763e2..24120645 100755 --- a/jobs/jumpbox/templates/bin/watcher +++ b/jobs/jumpbox/templates/bin/watcher @@ -33,9 +33,9 @@ log() { echo >&2 "[$(date +'%Y%m%d %HH%MM.%SS')] jumpbox[$$]: " $* ; } sshd_configure() { key=$1 ; value=$2 - if ! grep -q '^${key} ${value}' /etc/ssh/sshd_config; then + if ! grep -q "^${key} ${value}" /etc/ssh/sshd_config; then log1 "/etc/ssh/sshd_config => ${key} ${value}" - sed -i -e '/^${key}/d' /etc/ssh/sshd_config + sed -i -e "/^${key}/d" /etc/ssh/sshd_config echo "${key} ${value}" >> /etc/ssh/sshd_config fi } @@ -202,9 +202,9 @@ EOF fi <% end %> - sshd_configure PasswordAuthentication <%= p('jumpbox.ssh.password_auth') == "true" ? "yes" : "no" %> - sshd_configure AllowAgentForwarding <%= p('jumpbox.ssh.allow_agent_forwarding') == "true" ? "yes" : "no" -%> - sshd_configure AllowTcpForwarding <%= p('jumpbox.ssh.allow_tcp_forwarding') == "true" ? "yes" : "no" -%> + sshd_configure PasswordAuthentication <%= p('jumpbox.ssh.password_auth') ? "yes" : "no" %> + sshd_configure AllowAgentForwarding <%= p('jumpbox.ssh.allow_agent_forwarding') ? "yes" : "no" %> + sshd_configure AllowTcpForwarding <%= p('jumpbox.ssh.allow_tcp_forwarding') ? "yes" : "no" %> systemctl restart sshd.service # We assume bionic or later log1 "Setting up sudoers to allow certain environment variables to pass through" diff --git a/jobs/jumpbox/templates/config/bashrc b/jobs/jumpbox/templates/config/bashrc old mode 100644 new mode 100755 index f0f11f95..b23775e8 --- a/jobs/jumpbox/templates/config/bashrc +++ b/jobs/jumpbox/templates/config/bashrc @@ -18,7 +18,10 @@ fi ##################################################### env vars you get for free export GOPATH=${HOME}/go -export PATH=/var/vcap/packages/jumpbox/bin:$PATH:/var/vcap/bosh/bin:/var/vcap/packages/golang/bin:${GOPATH}/bin +export PATH=/var/vcap/bosh/bin:/var/vcap/packages/golang/bin:${GOPATH}/bin:${PATH} +export PATH=/var/vcap/packages/jumpbox/bin:/var/vcap/packages/openvpn/sbin:${PATH} +# Add Ruby to path based on dynamic version +for p in /var/vcap/packages/ruby-*/bin; do export PATH="${p}:${PATH}"; done export LD_LIBRARY_PATH=/var/vcap/packages/jumpbox/lib export MANPATH=/usr/share/man:/var/vcap/packages/jumpbox/share/man:/var/vcap/packages/jumpbox/man @@ -67,7 +70,9 @@ EOF echo "Setting up your jumpbox environment" mkdir -p ${GOPATH} <% if p('jumpbox.setup.enabled') %> - /var/vcap/packages/jumpbox/setup + export GEM_HOME=$HOME/.gem + export GEM_PATH=$HOME/.gem + gem install -N cf-uaac <% end %> touch ${HOME}/.jumpbox echo "-----------------------------------------------------------" @@ -75,6 +80,12 @@ EOF esac fi +if [ -d "${HOME}/.gem/bin" ]; then + export PATH=${HOME}/.gem/bin:${PATH} + export GEM_HOME=$HOME/.gem + export GEM_PATH=$HOME/.gem +fi + ################################################################################ ########################################################## site-specific policy <%= p('jumpbox.bashrc') %> diff --git a/packages/jumpbox/packaging b/packages/jumpbox/packaging index 7816c63c..58e2cb85 100644 --- a/packages/jumpbox/packaging +++ b/packages/jumpbox/packaging @@ -10,9 +10,6 @@ CPUS=$(grep -c ^processor /proc/cpuinfo) export HOME=/var/vcap n=0 # how many jobs have we spun in parallel? -cp -a jumpbox/setup ${BOSH_INSTALL_TARGET}/setup -chmod 0755 ${BOSH_INSTALL_TARGET}/setup - mkdir ${BOSH_INSTALL_TARGET}/bin cp -a jumpbox/bins/* ${BOSH_INSTALL_TARGET}/bin cp -a jumpbox/cloudfoundry-utils/* ${BOSH_INSTALL_TARGET}/bin @@ -38,6 +35,15 @@ n=$((n + 1)) make install) & n=$((n + 1)) +# TMATE +# https://tmate.io +# https://github.com/tmate-io/tmate/releases/download/2.4.0/tmate-2.4.0-static-linux-amd64.tar.xz +(tar -xf jumpbox/tmate-2.4.0-static-linux-amd64.tar.xz + cd tmate-2.4.0-static-linux-amd64 + mv tmate ${BOSH_INSTALL_TARGET}/bin/ +) & +n=$((n + 1)) + # TMUX # http://libevent.org/ # https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz diff --git a/packages/jumpbox/spec b/packages/jumpbox/spec index 866955f7..910e60c8 100644 --- a/packages/jumpbox/spec +++ b/packages/jumpbox/spec @@ -1,9 +1,8 @@ --- name: jumpbox -dependencies: [] +dependencies: + - ruby-3.0 files: - - jumpbox/setup - # pre-compiled binaries / scripts - jumpbox/bins/bbr - jumpbox/bins/bosh @@ -22,7 +21,6 @@ files: - jumpbox/bins/shield - jumpbox/bins/spiff - jumpbox/bins/terraform - - jumpbox/bins/tmate - jumpbox/bins/vault - jumpbox/bins/yq - jumpbox/cloudfoundry-utils/* @@ -33,6 +31,9 @@ files: # git - jumpbox/git-2.35.1.tar.gz + # tmate + - jumpbox/tmate-2.4.0-static-linux-amd64.tar.xz + # tmux - jumpbox/libevent-2.1.12-stable.tar.gz - jumpbox/tmux-3.2a.tar.gz diff --git a/packages/ruby-3.0/spec.lock b/packages/ruby-3.0/spec.lock new file mode 100644 index 00000000..88c1caa2 --- /dev/null +++ b/packages/ruby-3.0/spec.lock @@ -0,0 +1,2 @@ +name: ruby-3.0 +fingerprint: 68d0d668e001f63962387cc87c418ea98d7cf88880a7feb6e1ba12561653efb1 diff --git a/src/jumpbox/setup b/src/jumpbox/setup deleted file mode 100644 index 7dd9e7ed..00000000 --- a/src/jumpbox/setup +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash --login - -# install RVM -if [[ ! -f ~/.rvmrc ]]; then - echo rvm_silence_path_mismatch_check_flag=1 > ~/.rvmrc -fi -if [[ -z "$(command -v rvm)" ]]; then - gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB - curl -sSL https://get.rvm.io | bash -s stable --ruby - - source ~/.rvm/scripts/rvm - source ~/.bashrc -fi - -# install ruby - -rvm install ruby-2.7 -rvm --default use 2.7 -gem install -N cf-uaac # TODO: move to uaa-cli https://github.com/cloudfoundry-incubator/uaa-cli -