feat: add workstation:generic-linux and update devcontainer
Signed-off-by: Devin Buhl <devin@buhl.casa>
This commit is contained in:
5 files changed
+54
-19
No files matched your search
@@ -4,33 +4,38 @@ set -o noglob
|
|||||||
|
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
bash bind-tools ca-certificates curl python3 \
|
bash bind-tools ca-certificates curl python3 \
|
||||||
py3-pip moreutils jq git iputils \
|
py3-pip moreutils jq git iputils openssh-client \
|
||||||
openssh-client starship fzf
|
starship fzf fish
|
||||||
|
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
--repository=https://dl-cdn.alpinelinux.org/alpine/edge/community \
|
--repository=https://dl-cdn.alpinelinux.org/alpine/edge/community \
|
||||||
age direnv fish helm kubectl kustomize sops
|
helm kubectl sops
|
||||||
|
|
||||||
sudo apk add --no-cache \
|
sudo apk add --no-cache \
|
||||||
--repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing \
|
--repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing \
|
||||||
lsd
|
lsd
|
||||||
|
|
||||||
for installer_path in \
|
for app in \
|
||||||
"budimanjojo/talhelper!" \
|
"budimanjojo/talhelper!" \
|
||||||
"cilium/cilium-cli!!?as=cilium" \
|
"cilium/cilium-cli!!?as=cilium&type=script" \
|
||||||
"cli/cli!!?as=gh" \
|
"cli/cli!!?as=gh&type=script" \
|
||||||
"cloudflare/cloudflared!" \
|
"cloudflare/cloudflared!!?as=cloudflared&type=script" \
|
||||||
"derailed/k9s!" \
|
"derailed/k9s!!?as=k9s&type=script" \
|
||||||
"fluxcd/flux2!!?as=flux" \
|
"direnv/direnv!!?as=direnv&type=script" \
|
||||||
"go-task/task!" \
|
"FiloSottile/age!!?as=age&type=script" \
|
||||||
"k0sproject/k0sctl!" \
|
"fluxcd/flux2!!?as=flux&type=script" \
|
||||||
"kubecolor/kubecolor!" \
|
"go-task/task!!?as=task&type=script" \
|
||||||
"stern/stern!" \
|
"k0sproject/k0sctl!!?as=k0sctl&type=script" \
|
||||||
"siderolabs/talos!!?as=talosctl" \
|
"kubecolor/kubecolor!!?as=kubecolor&type=script" \
|
||||||
"yannh/kubeconform!" \
|
"kubernetes-sigs/krew!!?as=krew&type=script" \
|
||||||
"mikefarah/yq!"
|
"kubernetes-sigs/kustomize!!?as=kustomize&type=script" \
|
||||||
|
"stern/stern!!?as=stern&type=script" \
|
||||||
|
"siderolabs/talos!!?as=talosctl&type=script" \
|
||||||
|
"yannh/kubeconform!!?as=kubeconform&type=script" \
|
||||||
|
"mikefarah/yq!!?as=yq&type=script"
|
||||||
do
|
do
|
||||||
curl -fsSL "https://i.jpillora.com/${installer_path}" | bash
|
echo "=== Installing ${app} ==="
|
||||||
|
curl -fsSL "https://i.jpillora.com/${app}" | bash
|
||||||
done
|
done
|
||||||
|
|
||||||
# Create the fish configuration directory
|
# Create the fish configuration directory
|
||||||
|
|||||||
@@ -15,3 +15,5 @@ export K8S_AUTH_KUBECONFIG="$(expand_path ./kubeconfig)"
|
|||||||
# k0s
|
# k0s
|
||||||
export DISABLE_TELEMETRY="true"
|
export DISABLE_TELEMETRY="true"
|
||||||
export DISABLE_UPGRADE_CHECK="true"
|
export DISABLE_UPGRADE_CHECK="true"
|
||||||
|
# Bin
|
||||||
|
PATH_add "$(expand_path ./.bin)"
|
||||||
@@ -10,6 +10,7 @@ kubeconfig
|
|||||||
*.key
|
*.key
|
||||||
# Private
|
# Private
|
||||||
.private
|
.private
|
||||||
|
.bin
|
||||||
# Ansible
|
# Ansible
|
||||||
.venv*
|
.venv*
|
||||||
# Taskfile
|
# Taskfile
|
||||||
|
|||||||
@@ -43,3 +43,28 @@ tasks:
|
|||||||
sh: "command -v yay || command -v paru"
|
sh: "command -v yay || command -v paru"
|
||||||
preconditions:
|
preconditions:
|
||||||
- { msg: "Missing Archfile", sh: "test -f {{.ARCHFILE}}" }
|
- { msg: "Missing Archfile", sh: "test -f {{.ARCHFILE}}" }
|
||||||
|
|
||||||
|
generic-linux:
|
||||||
|
desc: Attempt to install CLI tools into the project directory using curl
|
||||||
|
dir: "{{.ROOT_DIR}}/.bin"
|
||||||
|
platforms: ["linux/amd64", "linux/arm64"]
|
||||||
|
cmds:
|
||||||
|
- for:
|
||||||
|
- budimanjojo/talhelper?as=talhelper&type=script
|
||||||
|
- cloudflare/cloudflared?as=cloudflared&type=script
|
||||||
|
- FiloSottile/age?as=age&type=script
|
||||||
|
- fluxcd/flux2?as=flux&type=script
|
||||||
|
- getsops/sops?as=sops&type=script
|
||||||
|
- jqlang/jq?as=jq&type=script
|
||||||
|
- k0sproject/k0sctl?as=k0sctl&type=script
|
||||||
|
- kubernetes-sigs/kustomize?as=kustomize&type=script
|
||||||
|
- siderolabs/talos?as=talosctl&type=script
|
||||||
|
- yannh/kubeconform?as=kubeconform&type=script
|
||||||
|
- mikefarah/yq?as=yq&type=script
|
||||||
|
cmd: curl -fsSL "https://i.jpillora.com/{{.ITEM}}" | bash
|
||||||
|
- cmd: curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
|
||||||
|
platforms: ["linux/amd64"]
|
||||||
|
- cmd: curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl"
|
||||||
|
platforms: ["linux/arm64"]
|
||||||
|
- cmd: chmod +x kubectl
|
||||||
|
- cmd: curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | USE_SUDO="false" HELM_INSTALL_DIR="." bash
|
||||||
@@ -192,13 +192,15 @@ You have two different options for setting up your local workstation. First one
|
|||||||
|
|
||||||
3. Install the additional **required** CLI tools
|
3. Install the additional **required** CLI tools
|
||||||
|
|
||||||
📍 _**Not using Homebrew or ArchLinux?** Make sure to look up how to install the **latest** version of the CLI tools listed in the [Brewfile](.taskfiles/Workstation/Brewfile)/[Archfile](.taskfiles/Workstation/Archfile) and install them._
|
📍 _**Not using Homebrew or ArchLinux?** Try using the generic Linux task below, if that fails check out the [Brewfile](.taskfiles/Workstation/Brewfile)/[Archfile](.taskfiles/Workstation/Archfile) for what CLI tools needed and install them._
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Homebrew
|
# Homebrew
|
||||||
task workstation:brew
|
task workstation:brew
|
||||||
# or, Arch with yay/paru
|
# or, Arch with yay/paru
|
||||||
go-task workstation:arch
|
task workstation:arch
|
||||||
|
# or, Generic Linux
|
||||||
|
task workstation:generic-linux
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Setup a Python virual environment by running the following task command.
|
4. Setup a Python virual environment by running the following task command.
|
||||||
|
|||||||
Reference in new issue
Block a user