-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
243 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,38 @@ | ||
FROM debian:stable-slim as fetcher | ||
COPY fetch_binaries.sh /tmp/fetch_binaries.sh | ||
|
||
RUN apt-get update && apt-get install -y \ | ||
curl \ | ||
wget | ||
|
||
RUN /tmp/fetch_binaries.sh | ||
|
||
FROM python:3.11.0-slim-bullseye | ||
|
||
RUN apt-get update | ||
RUN apt-get install -y vim jq fping curl httpie iftop mtr dnsutils ldnsutils procps htop net-tools iproute2 tcpdump tcptraceroute strace sysstat iperf ngrep | ||
RUN pip install ipython ipdb py-spy | ||
RUN apt-get install -y vim jq fping curl iftop mtr dnsutils ldnsutils procps htop net-tools iproute2 ipset iptraf-ng tcpdump tcptraceroute strace sysstat iperf iperf3 ngrep zsh wget git | ||
RUN pip install ipython ipdb py-spy httpie | ||
|
||
# Installing ctop - top-like container monitor | ||
COPY --from=fetcher /tmp/ctop /usr/local/bin/ctop | ||
|
||
# Installing calicoctl | ||
COPY --from=fetcher /tmp/calicoctl /usr/local/bin/calicoctl | ||
|
||
# Installing termshark | ||
COPY --from=fetcher /tmp/termshark /usr/local/bin/termshark | ||
|
||
USER root | ||
WORKDIR /root | ||
ENV HOSTNAME bento-debugger | ||
|
||
# ZSH Themes | ||
RUN wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh || true | ||
RUN git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting | ||
RUN git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions | ||
RUN git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k | ||
COPY zshrc .zshrc | ||
COPY motd motd | ||
|
||
# Running ZSH | ||
CMD ["zsh"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
#!/usr/bin/env bash | ||
set -euo pipefail | ||
|
||
get_latest_release() { | ||
curl --silent "https://api.github.com/repos/$1/releases/latest" | # Get latest release from GitHub api | ||
grep '"tag_name":' | # Get tag line | ||
sed -E 's/.*"([^"]+)".*/\1/' # Pluck JSON value | ||
} | ||
|
||
|
||
ARCH=$(uname -m) | ||
case $ARCH in | ||
x86_64) | ||
ARCH=amd64 | ||
;; | ||
aarch64) | ||
ARCH=arm64 | ||
;; | ||
esac | ||
|
||
get_ctop() { | ||
VERSION=$(get_latest_release bcicen/ctop | sed -e 's/^v//') | ||
LINK="https://github.com/bcicen/ctop/releases/download/v${VERSION}/ctop-${VERSION}-linux-${ARCH}" | ||
wget "$LINK" -O /tmp/ctop && chmod +x /tmp/ctop | ||
} | ||
|
||
get_calicoctl() { | ||
VERSION=$(get_latest_release projectcalico/calicoctl) | ||
LINK="https://github.com/projectcalico/calicoctl/releases/download/${VERSION}/calicoctl-linux-${ARCH}" | ||
wget "$LINK" -O /tmp/calicoctl && chmod +x /tmp/calicoctl | ||
} | ||
|
||
get_termshark() { | ||
case "$ARCH" in | ||
"arm"*) | ||
echo "echo termshark does not yet support arm" > /tmp/termshark && chmod +x /tmp/termshark | ||
;; | ||
*) | ||
VERSION=$(get_latest_release gcla/termshark | sed -e 's/^v//') | ||
if [ "$ARCH" == "amd64" ]; then | ||
TERM_ARCH=x64 | ||
else | ||
TERM_ARCH="$ARCH" | ||
fi | ||
LINK="https://github.com/gcla/termshark/releases/download/v${VERSION}/termshark_${VERSION}_linux_${TERM_ARCH}.tar.gz" | ||
wget "$LINK" -O /tmp/termshark.tar.gz && \ | ||
tar -zxvf /tmp/termshark.tar.gz && \ | ||
mv "termshark_${VERSION}_linux_${TERM_ARCH}/termshark" /tmp/termshark && \ | ||
chmod +x /tmp/termshark | ||
;; | ||
esac | ||
} | ||
|
||
get_ctop | ||
get_calicoctl | ||
get_termshark |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
|
||
██████╗░███████╗███╗░░██╗████████╗░█████╗░ ██████╗░███████╗██████╗░██╗░░░██╗░██████╗░░██████╗░███████╗██████╗░ | ||
██╔══██╗██╔════╝████╗░██║╚══██╔══╝██╔══██╗ ██╔══██╗██╔════╝██╔══██╗██║░░░██║██╔════╝░██╔════╝░██╔════╝██╔══██╗ | ||
██████╦╝█████╗░░██╔██╗██║░░░██║░░░██║░░██║ ██║░░██║█████╗░░██████╦╝██║░░░██║██║░░██╗░██║░░██╗░█████╗░░██████╔╝ | ||
██╔══██╗██╔══╝░░██║╚████║░░░██║░░░██║░░██║ ██║░░██║██╔══╝░░██╔══██╗██║░░░██║██║░░╚██╗██║░░╚██╗██╔══╝░░██╔══██╗ | ||
██████╦╝███████╗██║░╚███║░░░██║░░░╚█████╔╝ ██████╔╝███████╗██████╦╝╚██████╔╝╚██████╔╝╚██████╔╝███████╗██║░░██║ | ||
╚═════╝░╚══════╝╚═╝░░╚══╝░░░╚═╝░░░░╚════╝░ ╚═════╝░╚══════╝╚═════╝░░╚═════╝░░╚═════╝░░╚═════╝░╚══════╝╚═╝░░╚═╝ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
# If you come from bash you might have to change your $PATH. | ||
# export PATH=$HOME/bin:/usr/local/bin:$PATH | ||
|
||
# Path to your oh-my-zsh installation. | ||
export ZSH=$HOME/.oh-my-zsh | ||
|
||
# Set name of the theme to load. Optionally, if you set this to "random" | ||
# it'll load a random theme each time that oh-my-zsh is loaded. | ||
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes | ||
#export TERM="xterm-256color" | ||
ZSH_THEME="powerlevel10k/powerlevel10k" | ||
|
||
ZSH_DISABLE_COMPFIX="true" | ||
|
||
# Set list of themes to load | ||
# Setting this variable when ZSH_THEME=random | ||
# cause zsh load theme from this variable instead of | ||
# looking in ~/.oh-my-zsh/themes/ | ||
# An empty array have no effect | ||
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) | ||
|
||
# Uncomment the following line to use case-sensitive completion. | ||
# CASE_SENSITIVE="true" | ||
|
||
# Uncomment the following line to use hyphen-insensitive completion. Case | ||
# sensitive completion must be off. _ and - will be interchangeable. | ||
# HYPHEN_INSENSITIVE="true" | ||
|
||
# Uncomment the following line to disable bi-weekly auto-update checks. | ||
# DISABLE_AUTO_UPDATE="true" | ||
|
||
# Uncomment the following line to change how often to auto-update (in days). | ||
# export UPDATE_ZSH_DAYS=13 | ||
|
||
# Uncomment the following line to disable colors in ls. | ||
# DISABLE_LS_COLORS="true" | ||
|
||
# Uncomment the following line to disable auto-setting terminal title. | ||
# DISABLE_AUTO_TITLE="true" | ||
|
||
# Uncomment the following line to enable command auto-correction. | ||
# ENABLE_CORRECTION="true" | ||
|
||
# Uncomment the following line to display red dots whilst waiting for completion. | ||
# COMPLETION_WAITING_DOTS="true" | ||
|
||
# Uncomment the following line if you want to disable marking untracked files | ||
# under VCS as dirty. This makes repository status check for large repositories | ||
# much, much faster. | ||
# DISABLE_UNTRACKED_FILES_DIRTY="true" | ||
|
||
# Uncomment the following line if you want to change the command execution time | ||
# stamp shown in the history command output. | ||
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" | ||
# HIST_STAMPS="mm/dd/yyyy" | ||
|
||
# Would you like to use another custom folder than $ZSH/custom? | ||
# ZSH_CUSTOM=/path/to/new-custom-folder | ||
|
||
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) | ||
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ | ||
# Example format: plugins=(rails git textmate ruby lighthouse) | ||
# Add wisely, as too many plugins slow down shell startup. | ||
plugins=( | ||
git | ||
zsh-autosuggestions | ||
zsh-syntax-highlighting | ||
yarn | ||
web-search | ||
jsontools | ||
macports | ||
node | ||
sudo | ||
docker | ||
) | ||
|
||
source $ZSH/oh-my-zsh.sh | ||
# User configuration | ||
cat $HOME/motd | ||
|
||
# export MANPATH="/usr/local/man:$MANPATH" | ||
|
||
# You may need to manually set your language environment | ||
# export LANG=en_US.UTF-8 | ||
|
||
# Preferred editor for local and remote sessions | ||
# if [[ -n $SSH_CONNECTION ]]; then | ||
# export EDITOR='vim' | ||
# else | ||
# export EDITOR='mvim' | ||
# fi | ||
|
||
# Compilation flags | ||
# export ARCHFLAGS="-arch x86_64" | ||
|
||
# ssh | ||
# export SSH_KEY_PATH="~/.ssh/rsa_id" | ||
|
||
# Set personal aliases, overriding those provided by oh-my-zsh libs, | ||
# plugins, and themes. Aliases can be placed here, though oh-my-zsh | ||
# users are encouraged to define aliases within the ZSH_CUSTOM folder. | ||
# For a full list of active aliases, run `alias`. | ||
# | ||
# Example aliases | ||
# alias zshconfig="mate ~/.zshrc" | ||
# alias ohmyzsh="mate ~/.oh-my-zsh" | ||
|
||
# test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh" | ||
|
||
# Reload the plugin to highlight the commands each time Iterm2 starts | ||
#source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh | ||
|
||
|
||
### VISUAL CUSTOMISATION ### | ||
# Elements options of left prompt (remove the @username context) | ||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(host dir rbenv) | ||
# Elements options of right prompt | ||
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=() | ||
# Add a second prompt line for the command | ||
POWERLEVEL9K_PROMPT_ON_NEWLINE=false | ||
|
||
# Add a space in the first prompt | ||
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='' | ||
|
||
# Visual customisation of the second prompt line | ||
#local user_symbol="$" | ||
#if [[ $(print -P "%#") =~ "#" ]]; then | ||
# user_symbol = "#" | ||
#fi | ||
#POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="%{%B%F{black}%K{yellow}%} $user_symbol%{%b%f%k%F{yellow}%} %{%f%}" | ||
|
||
|
||
# Change the git status to red when something isn't committed and pushed | ||
POWERLEVEL9K_VCS_MODIFIED_BACKGROUND='red' | ||
|
||
# Add a new line after the global prompt | ||
POWERLEVEL9K_PROMPT_ADD_NEWLINE=true | ||
|
||
|
||
# Colorise the top Tabs of Iterm2 with the same color as background | ||
# Just change the 18/26/33 wich are the rgb values | ||
echo -e "\033]6;1;bg;red;brightness;18\a" | ||
echo -e "\033]6;1;bg;green;brightness;26\a" | ||
echo -e "\033]6;1;bg;blue;brightness;33\a" |