зеркало из
https://github.com/iharh/notes.git
synced 2025-10-30 05:06:05 +02:00
m
Этот коммит содержится в:
родитель
22bb8ff44e
Коммит
055070c6e1
224
devops/k8s/tools/local-dev/jetpack/devbox-inst.sh
Обычный файл
224
devops/k8s/tools/local-dev/jetpack/devbox-inst.sh
Обычный файл
@ -0,0 +1,224 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Install script
|
||||||
|
#
|
||||||
|
# Downloads and installs a binary from the given url.
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# ========================
|
||||||
|
# Customize install script
|
||||||
|
# ========================
|
||||||
|
|
||||||
|
# This script is published at get.jetpack.io/devbox so users can install via:
|
||||||
|
# curl -fsSL https://get.jetpack.io/devbox | bash
|
||||||
|
|
||||||
|
readonly INSTALL_DIR="/usr/local/bin"
|
||||||
|
readonly BIN="devbox"
|
||||||
|
readonly DOWNLOAD_URL="https://releases.jetpack.io/devbox"
|
||||||
|
|
||||||
|
readonly TITLE="Devbox 📦 by jetpack.io"
|
||||||
|
readonly DESCRIPTION=$(
|
||||||
|
cat <<EOF
|
||||||
|
Instant and predictable development environments and containers.
|
||||||
|
|
||||||
|
This script downloads and installs the latest devbox binary.
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
readonly DOCS_URL="https://github.com/jetpack-io/devbox"
|
||||||
|
readonly COMMUNITY_URL="https://discord.gg/jetpack-io"
|
||||||
|
|
||||||
|
# ====================
|
||||||
|
# flags.sh
|
||||||
|
# ====================
|
||||||
|
FORCE="${FORCE:-0}"
|
||||||
|
|
||||||
|
parse_flags() {
|
||||||
|
while [ "$#" -gt 0 ]; do
|
||||||
|
case "$1" in
|
||||||
|
-f | --force)
|
||||||
|
FORCE=1
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
error "Unknown option: $1"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# ====================
|
||||||
|
# format.sh
|
||||||
|
# ====================
|
||||||
|
|
||||||
|
readonly BOLD="$(tput bold 2>/dev/null || echo '')"
|
||||||
|
readonly GREY="$(tput setaf 8 2>/dev/null || echo '')"
|
||||||
|
readonly UNDERLINE="$(tput smul 2>/dev/null || echo '')"
|
||||||
|
readonly RED="$(tput setaf 1 2>/dev/null || echo '')"
|
||||||
|
readonly GREEN="$(tput setaf 2 2>/dev/null || echo '')"
|
||||||
|
readonly YELLOW="$(tput setaf 3 2>/dev/null || echo '')"
|
||||||
|
readonly BLUE="$(tput setaf 4 2>/dev/null || echo '')"
|
||||||
|
readonly MAGENTA="$(tput setaf 5 2>/dev/null || echo '')"
|
||||||
|
readonly CYAN="$(tput setaf 6 2>/dev/null || echo '')"
|
||||||
|
readonly NO_COLOR="$(tput sgr0 2>/dev/null || echo '')"
|
||||||
|
readonly CLEAR_LAST_MSG="\033[1F\033[0K"
|
||||||
|
|
||||||
|
title() {
|
||||||
|
local -r text="$*"
|
||||||
|
printf "%s\n" "${BOLD}${MAGENTA}${text}${NO_COLOR}"
|
||||||
|
}
|
||||||
|
|
||||||
|
header() {
|
||||||
|
local -r text="$*"
|
||||||
|
printf "%s\n" "${BOLD}${text}${NO_COLOR}"
|
||||||
|
}
|
||||||
|
|
||||||
|
plain() {
|
||||||
|
local -r text="$*"
|
||||||
|
printf "%s\n" "${text}"
|
||||||
|
}
|
||||||
|
|
||||||
|
info() {
|
||||||
|
local -r text="$*"
|
||||||
|
printf "%s\n" "${BOLD}${GREY}→${NO_COLOR} ${text}"
|
||||||
|
}
|
||||||
|
|
||||||
|
warn() {
|
||||||
|
local -r text="$*"
|
||||||
|
printf "%s\n" "${YELLOW}! $*${NO_COLOR}"
|
||||||
|
}
|
||||||
|
|
||||||
|
error() {
|
||||||
|
local -r text="$*"
|
||||||
|
printf "%s\n" "${RED}✘ ${text}${NO_COLOR}" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
success() {
|
||||||
|
local -r text="$*"
|
||||||
|
printf "%s\n" "${GREEN}✓${NO_COLOR} ${text}"
|
||||||
|
}
|
||||||
|
|
||||||
|
start_task() {
|
||||||
|
local -r text="$*"
|
||||||
|
printf "%s\n" "${BOLD}${GREY}→${NO_COLOR} ${text}..."
|
||||||
|
}
|
||||||
|
|
||||||
|
end_task() {
|
||||||
|
local -r text="$*"
|
||||||
|
printf "${CLEAR_LAST_MSG}%s\n" "${GREEN}✓${NO_COLOR} ${text}... [DONE]"
|
||||||
|
}
|
||||||
|
|
||||||
|
fail_task() {
|
||||||
|
local -r text="$*"
|
||||||
|
printf "${CLEAR_LAST_MSG}%s\n" "${RED}✘ ${text}... [FAILED]${NO_COLOR}" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
confirm() {
|
||||||
|
if [ ${FORCE-} -ne 1 ]; then
|
||||||
|
printf "%s " "${MAGENTA}?${NO_COLOR} $* ${BOLD}[Y/n]${NO_COLOR}"
|
||||||
|
set +e
|
||||||
|
read -r yn </dev/tty
|
||||||
|
rc=$?
|
||||||
|
set -e
|
||||||
|
if [ $rc -ne 0 ]; then
|
||||||
|
error "Error reading from prompt (re-run with '-f' flag to auto select Yes if running in a script)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ "$yn" != "y" ] && [ "$yn" != "Y" ] && [ "$yn" != "yes" ] && [ "$yn" != "" ]; then
|
||||||
|
error 'Aborting (please answer "yes" to continue)'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
delay() {
|
||||||
|
sleep 0.3
|
||||||
|
}
|
||||||
|
|
||||||
|
# =========
|
||||||
|
# util.sh
|
||||||
|
# =========
|
||||||
|
has() {
|
||||||
|
command -v "$1" 1>/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
download() {
|
||||||
|
local -r url="$1"
|
||||||
|
local -r file="$2"
|
||||||
|
local cmd=""
|
||||||
|
|
||||||
|
if has curl; then
|
||||||
|
cmd="curl --fail --silent --location --output $file $url"
|
||||||
|
elif has wget; then
|
||||||
|
cmd="wget --quiet --output-document=$file $url"
|
||||||
|
elif has fetch; then
|
||||||
|
cmd="fetch --quiet --output=$file $url"
|
||||||
|
else
|
||||||
|
error "No program to download files found. Please install one of: curl, wget, fetch"
|
||||||
|
error "Exiting..."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${3:-} == "--fail" ]]; then
|
||||||
|
$cmd && return 0 || rc=$?
|
||||||
|
error "Command failed (exit code $rc): ${BLUE}${cmd}${NO_COLOR}"
|
||||||
|
exit $rc
|
||||||
|
fi
|
||||||
|
|
||||||
|
$cmd && return 0 || rc=$?
|
||||||
|
return $rc
|
||||||
|
}
|
||||||
|
|
||||||
|
# ==============
|
||||||
|
# Implementation
|
||||||
|
# ==============
|
||||||
|
intro_msg() {
|
||||||
|
title "${TITLE}"
|
||||||
|
plain "${DESCRIPTION}"
|
||||||
|
printf "\n"
|
||||||
|
header "Confirm Installation Details"
|
||||||
|
plain " Location: ${GREEN}${INSTALL_DIR}/${BIN}${NO_COLOR}"
|
||||||
|
plain " Download URL: ${UNDERLINE}${BLUE}${DOWNLOAD_URL}${NO_COLOR}"
|
||||||
|
printf "\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
install_flow() {
|
||||||
|
confirm "Install ${GREEN}${BIN}${NO_COLOR} to ${GREEN}${INSTALL_DIR}${NO_COLOR} (requires sudo)?"
|
||||||
|
printf "\n"
|
||||||
|
header "Downloading and Installing"
|
||||||
|
|
||||||
|
start_task "Downloading ${BIN} binary"
|
||||||
|
local -r tmp_file=$(mktemp)
|
||||||
|
download "${DOWNLOAD_URL}" "${tmp_file}" --fail
|
||||||
|
delay
|
||||||
|
end_task "Downloading ${BIN} binary"
|
||||||
|
|
||||||
|
start_task "Installing in ${INSTALL_DIR}/${BIN} (requires sudo)"
|
||||||
|
chmod +x "${tmp_file}"
|
||||||
|
$(command -v sudo || true) bash -c "mkdir -p ${INSTALL_DIR} && mv ${tmp_file} ${INSTALL_DIR}/${BIN}"
|
||||||
|
delay
|
||||||
|
end_task "Installing in ${INSTALL_DIR}/${BIN}"
|
||||||
|
delay
|
||||||
|
|
||||||
|
success "${BOLD}Successfully installed ${GREEN}${BIN}${NO_COLOR}${BOLD}${NO_COLOR} 🚀"
|
||||||
|
delay
|
||||||
|
printf "\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
next_steps_msg() {
|
||||||
|
header "Next Steps"
|
||||||
|
plain " 1. ${BOLD}Learn how to use ${BIN}${NO_COLOR}"
|
||||||
|
plain " ${GREY}Run ${CYAN}${BIN} help${GREY} or read the docs at ${UNDERLINE}${BLUE}${DOCS_URL}${NO_COLOR}"
|
||||||
|
plain " 2. ${BOLD}Get help and give feedback${NO_COLOR}"
|
||||||
|
plain " ${GREY}Join our community at ${UNDERLINE}${BLUE}${COMMUNITY_URL}${NO_COLOR}"
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
parse_flags "$@"
|
||||||
|
intro_msg
|
||||||
|
install_flow
|
||||||
|
next_steps_msg
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
@ -27,9 +27,12 @@ devbox
|
|||||||
global add <name>@<ver>
|
global add <name>@<ver>
|
||||||
global pull <fleek-url>
|
global pull <fleek-url>
|
||||||
https://www.jetpack.io/devbox/docs/devbox_global/
|
https://www.jetpack.io/devbox/docs/devbox_global/
|
||||||
|
https://www.jetpack.io/devbox/docs/guides/using_flakes/
|
||||||
https://getfleek.dev/
|
https://getfleek.dev/
|
||||||
https://github.com/ublue-os/fleek
|
https://getfleek.dev/docs/design
|
||||||
https://getfleek.dev/docs/cli/fleek
|
https://getfleek.dev/docs/cli/fleek
|
||||||
|
!!!
|
||||||
|
https://github.com/ublue-os/fleek
|
||||||
generate
|
generate
|
||||||
direnv
|
direnv
|
||||||
https://www.jetpack.io/blog/automated-dev-envs-with-devbox-and-direnv/
|
https://www.jetpack.io/blog/automated-dev-envs-with-devbox-and-direnv/
|
||||||
9
devops/security/teleport.txt
Обычный файл
9
devops/security/teleport.txt
Обычный файл
@ -0,0 +1,9 @@
|
|||||||
|
https://goteleport.com/
|
||||||
|
https://github.com/gravitational/teleport
|
||||||
|
|
||||||
|
https://goteleport.com/download/
|
||||||
|
|
||||||
|
https://goteleport.com/docs/
|
||||||
|
https://goteleport.com/how-it-works/
|
||||||
|
https://goteleport.com/case-study/
|
||||||
|
https://trust.goteleport.com/
|
||||||
6
net/liberty/hack-liberty.txt
Обычный файл
6
net/liberty/hack-liberty.txt
Обычный файл
@ -0,0 +1,6 @@
|
|||||||
|
https://docs.hackliberty.org/
|
||||||
|
https://git.hackliberty.org/hackliberty.org/Hack-Liberty-Resources
|
||||||
|
|
||||||
|
2023
|
||||||
|
BlackTriangle - HackLiberty of 8:04
|
||||||
|
https://www.youtube.com/watch?v=EGPvpXaNr_4
|
||||||
@ -19,6 +19,9 @@ Michael Mann
|
|||||||
books: Fashism, Dark Side of Democracy
|
books: Fashism, Dark Side of Democracy
|
||||||
|
|
||||||
2023
|
2023
|
||||||
|
StreetOfTruth - 10.05 - Hazin - Valday Putin Speech of 22:09
|
||||||
|
https://vk.com/video-221762048_456239041
|
||||||
|
https://www.youtube.com/watch?v=lgiE1NTtXIw
|
||||||
StreetOfTruth - 10.05 - Kostenko - Fight Against Orthodoxy of 14:49
|
StreetOfTruth - 10.05 - Kostenko - Fight Against Orthodoxy of 14:49
|
||||||
https://vk.com/video-221762048_456239043
|
https://vk.com/video-221762048_456239043
|
||||||
StreetOfTruth - 09.28 - Hazin - Belkin - Kostenko - Rode - National Project of 1:28:10
|
StreetOfTruth - 09.28 - Hazin - Belkin - Kostenko - Rode - National Project of 1:28:10
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
Evgeniy Yanovich
|
Evgeniy Yanovich
|
||||||
|
|
||||||
2023
|
2023
|
||||||
LawAndOrder - Dudnik - Satanovskiy - 10.07 of 42:43
|
LawAndOrder - Dudnik - 10.13 - Satanovskiy of 1:04:24
|
||||||
|
LawAndOrder - Dudnik - 10.07 - Satanovskiy of 42:43
|
||||||
https://www.youtube.com/watch?v=j_JfsuE-RaI
|
https://www.youtube.com/watch?v=j_JfsuE-RaI
|
||||||
Peske - Satanovskiy - 03.24 - Randevu of 1:25:10
|
Peske - Satanovskiy - 03.24 - Randevu of 1:25:10
|
||||||
https://www.youtube.com/watch?v=alZ9B_NE4nM
|
https://www.youtube.com/watch?v=alZ9B_NE4nM
|
||||||
|
|||||||
@ -0,0 +1,34 @@
|
|||||||
|
Get:1 /usr/src/pacstall/docker-bin.deb docker amd64 24.0.5-pacstall1 [76.6 MB]
|
||||||
|
Selecting previously unselected package docker.
|
||||||
|
(Reading database ... 294114 files and directories currently installed.)
|
||||||
|
Preparing to unpack .../src/pacstall/docker-bin.deb ...
|
||||||
|
Unpacking docker (24.0.5-pacstall1) ...
|
||||||
|
Setting up docker (24.0.5-pacstall1) ...
|
||||||
|
[+] INFO: Performing post install operations
|
||||||
|
|
||||||
|
|
||||||
|
name="docker-bin"
|
||||||
|
gives="docker"
|
||||||
|
replace=("${gives}-desktop" "${gives}-ce" "${gives}-ce-cli" "containerd.io")
|
||||||
|
repology=("project: ${gives}")
|
||||||
|
pkgver="24.0.5"
|
||||||
|
depends=("procps" "git" "iptables")
|
||||||
|
pkgdesc="Docker Engine Static Binaries"
|
||||||
|
maintainer="Oren Klopfer <oren@taumoda.com>"
|
||||||
|
arch=('arm64' 'amd64')
|
||||||
|
if [[ ${CARCH} == arm64 ]]; then
|
||||||
|
gnuarch="aarch64"
|
||||||
|
hash="ba911d9ff8a54a7afc8f91e998984f78a704bcb4932134c4dda2c401209a9921"
|
||||||
|
else
|
||||||
|
gnuarch="x86_64"
|
||||||
|
hash="0a5f3157ce25532c5c1261a97acf3b25065cfe25940ef491fa01d5bea18ddc86"
|
||||||
|
fi
|
||||||
|
url="https://download.docker.com/linux/static/stable/${gnuarch}/${gives}-${pkgver}.tgz"
|
||||||
|
|
||||||
|
build() {
|
||||||
|
sudo mkdir -p "${pkgdir}/usr/bin"
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
sudo cp -r "../${gives}"/* -t "${pkgdir}/usr/bin"
|
||||||
|
}
|
||||||
@ -1,6 +1,10 @@
|
|||||||
https://rhinolinux.org/
|
https://rhinolinux.org/
|
||||||
https://rhinolinux.org/news.html
|
https://rhinolinux.org/news.html
|
||||||
|
|
||||||
|
https://rhinolinux.org/contact.html
|
||||||
|
https://matrix.to/#/#rolling-rhino-remix:matrix.org
|
||||||
|
https://rhinolinux.org/tracker.html
|
||||||
|
|
||||||
https://github.com/rhino-linux
|
https://github.com/rhino-linux
|
||||||
|
|
||||||
https://rhinolinux.org/download.html
|
https://rhinolinux.org/download.html
|
||||||
|
|||||||
@ -11,6 +11,8 @@ https://www.truenas.com/truenas-scale/
|
|||||||
! more modern than core
|
! more modern than core
|
||||||
https://www.truenas.com/download-truenas-scale/
|
https://www.truenas.com/download-truenas-scale/
|
||||||
https://www.truenas.com/docs/scale/
|
https://www.truenas.com/docs/scale/
|
||||||
|
https://truecharts.org/manual/SCALE/guides/scale-intro/
|
||||||
|
zerotier - vpn
|
||||||
|
|
||||||
https://www.truenas.com/community/
|
https://www.truenas.com/community/
|
||||||
|
|
||||||
@ -25,5 +27,9 @@ RaidOwl - TrueNAS Scale - Your New Hypervisor/NAS OS - Setup & Walkthrough of 32
|
|||||||
LearnLinuxTV - 2023 Homelab Tour - TrueNAS, Proxmox, and More! of 13:31
|
LearnLinuxTV - 2023 Homelab Tour - TrueNAS, Proxmox, and More! of 13:31
|
||||||
https://www.youtube.com/watch?v=Z_3DZGqUTH4
|
https://www.youtube.com/watch?v=Z_3DZGqUTH4
|
||||||
2022
|
2022
|
||||||
|
ChristianLempa - Fixing my worst TrueNAS Scale mistake! of 10:39
|
||||||
|
https://www.youtube.com/watch?v=10coStxT5CI
|
||||||
|
ChristianLempa - TrueNAS Scale the ULTIMATE Home Server? Docker, Kubernetes, Apps of 19:09
|
||||||
|
https://www.youtube.com/watch?v=LJY9KBbL4j0
|
||||||
Ibracorp - Top 10 Selfhosted Tools on Unraid Using Docker Apps 0:00 of 19:05
|
Ibracorp - Top 10 Selfhosted Tools on Unraid Using Docker Apps 0:00 of 19:05
|
||||||
https://www.youtube.com/watch?v=HBXrxFT16Q8
|
https://www.youtube.com/watch?v=HBXrxFT16Q8
|
||||||
|
|||||||
@ -37,31 +37,7 @@ docker
|
|||||||
https://help.rapidseedbox.com/en/
|
https://help.rapidseedbox.com/en/
|
||||||
https://help.rapidseedbox.com/en/articles/6982065-getting-started-with-prowlarr-2023-update
|
https://help.rapidseedbox.com/en/articles/6982065-getting-started-with-prowlarr-2023-update
|
||||||
helm
|
helm
|
||||||
https://hub.datree.io/ (deprecated)
|
https://github.com/onedr0p/containers
|
||||||
https://www.datree.io/helm-chart/prowlarr-truecharts
|
|
||||||
https://artifacthub.io/packages/helm/k8s-home-lab-repo/prowlarr
|
|
||||||
https://staging.artifacthub.io/packages/helm/k8s-at-home/prowlarr
|
|
||||||
https://github.com/onedr0p/containers
|
|
||||||
https://truecharts.org/
|
|
||||||
https://truecharts.org/manual/scope
|
|
||||||
!!!
|
|
||||||
https://truecharts.org/manual/FAQ/
|
|
||||||
https://github.com/Heavybullets8/heavy_script
|
|
||||||
https://github.com/truecharts/charts
|
|
||||||
https://truecharts.org/manual/SCALE/guides/getting-started/
|
|
||||||
https://truecharts.org/manual/development/chart-structure/
|
|
||||||
https://truecharts.org/charts/description_list/
|
|
||||||
https://truecharts.org/charts/stable/prowlarr/
|
|
||||||
tf
|
|
||||||
https://registry.terraform.io/providers/Fuochi/prowlarr/latest/docs
|
|
||||||
! vpn
|
|
||||||
|
|
||||||
|
|
||||||
# Executing docker install script, commit: e5543d473431b782227f8908005543bb4389b8de
|
|
||||||
+ sudo -E sh -c apt-get update -qq >/dev/null
|
|
||||||
+ sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
|
|
||||||
...
|
|
||||||
|
|
||||||
|
|
||||||
echo \
|
echo \
|
||||||
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
|
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
|
||||||
|
|||||||
Загрузка…
x
Ссылка в новой задаче
Block a user