feat: switch devcontainer to alpine 🚀 (#1241)
* feat: switch devcontainer to alpine 🚀 Signed-off-by: Devin Buhl <devin@buhl.casa> * fix: update talosctl arch Signed-off-by: Devin Buhl <devin@buhl.casa> * chore: add serious comment Signed-off-by: Devin Buhl <devin@buhl.casa> * fix: pkg names Signed-off-by: Devin Buhl <devin@buhl.casa> --------- Signed-off-by: Devin Buhl <devin@buhl.casa>
This commit is contained in:
1 parent
c7ea5e8e35
commit
7cdaaf59c9
4 files changed
+52
-32
No files matched your search
@@ -1,40 +1,18 @@
|
||||
{
|
||||
"name": "Flux Cluster Template (CI)",
|
||||
"image": "mcr.microsoft.com/devcontainers/base:bullseye",
|
||||
"image": "mcr.microsoft.com/devcontainers/base:alpine",
|
||||
"features": {
|
||||
"ghcr.io/audacioustux/devcontainers/cilium:1": {},
|
||||
"ghcr.io/devcontainers/features/common-utils:2": {
|
||||
"configureZshAsDefaultShell": true
|
||||
},
|
||||
"ghcr.io/devcontainers/features/github-cli:1": {},
|
||||
"ghcr.io/devcontainers/features/python:1": {
|
||||
"version": "3.11.7",
|
||||
"installTools": false
|
||||
},
|
||||
"ghcr.io/devcontainers/features/kubectl-helm-minikube:1": {
|
||||
"minikube": "none"
|
||||
},
|
||||
"ghcr.io/devcontainers-contrib/features/age:1": {},
|
||||
"ghcr.io/devcontainers-contrib/features/cloudflared:1": {},
|
||||
"ghcr.io/devcontainers-contrib/features/go-task:1": {},
|
||||
"ghcr.io/devcontainers-contrib/features/direnv:1": {},
|
||||
"ghcr.io/devcontainers-contrib/features/sops:1": {},
|
||||
"ghcr.io/dhoeric/features/stern:1": {},
|
||||
"ghcr.io/eitsupi/devcontainer-features/jq-likes:2": {},
|
||||
"ghcr.io/framctr/devcontainer-features/talosctl:1": {},
|
||||
"ghcr.io/gickis/devcontainer-features/kubeconform:1": {},
|
||||
"ghcr.io/jsburckhardt/devcontainer-features/flux:1": {},
|
||||
"ghcr.io/rio/features/kustomize:1": {}
|
||||
"./features": {}
|
||||
},
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"settings": {
|
||||
"terminal.integrated.profiles.linux": {
|
||||
"bash": {
|
||||
"path": "/bin/zsh"
|
||||
"path": "/usr/bin/fish"
|
||||
}
|
||||
},
|
||||
"terminal.integrated.defaultProfile.linux": "zsh"
|
||||
"terminal.integrated.defaultProfile.linux": "fish"
|
||||
},
|
||||
"extensions": [
|
||||
"redhat.ansible",
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "Flux Cluster Template (Dev Tooling)",
|
||||
"id": "flux-cluster-template",
|
||||
"version": "1.0.0",
|
||||
"description": "Install Development Tools"
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
#!/bin/sh
|
||||
|
||||
ARCH="$(uname -m)"
|
||||
if [ "$ARCH" == "x86_64" ]; then
|
||||
ARCH="amd64"
|
||||
elif [ "$ARCH" == "aarch64" ]; then
|
||||
ARCH="arm64"
|
||||
fi
|
||||
|
||||
#
|
||||
# Install Tools from the Alpine Repositories
|
||||
#
|
||||
|
||||
apk add --no-cache \
|
||||
bash bind-tools ca-certificates curl python3 \
|
||||
py3-pip moreutils jq git \
|
||||
openssh-client
|
||||
|
||||
apk add --no-cache \
|
||||
--repository=https://dl-cdn.alpinelinux.org/alpine/edge/community \
|
||||
age direnv fish github-cli \
|
||||
go-task helm k0sctl kubectl \
|
||||
kustomize sops yq
|
||||
|
||||
apk add --no-cache \
|
||||
--repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing \
|
||||
cilium-cli flux stern
|
||||
|
||||
# Naming things is hard
|
||||
ln -s /usr/bin/go-task /usr/local/bin/task
|
||||
|
||||
#
|
||||
# Install Tools not in Alpine Repositories
|
||||
#
|
||||
|
||||
curl https://i.jpillora.com/cloudflare/cloudflared! | sudo bash
|
||||
curl https://i.jpillora.com/budimanjojo/talhelper! | sudo bash
|
||||
curl https://i.jpillora.com/yannh/kubeconform! | sudo bash
|
||||
|
||||
curl -fsSL -o /usr/local/bin/talosctl \
|
||||
"https://github.com/siderolabs/talos/releases/latest/download/talosctl-linux-${ARCH}"
|
||||
chmod +x /usr/local/bin/talosctl
|
||||
Reference in new issue
Block a user