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:
Devin Buhl authored and GitHub committed 2024-01-23 12:19:26 -05:00
1 parent c7ea5e8e35
commit 7cdaaf59c9
4 files changed
+52 -32

No files matched your search

+4 -26
View File
@@ -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"
}
+42
View File
@@ -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