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)",
|
"name": "Flux Cluster Template (CI)",
|
||||||
"image": "mcr.microsoft.com/devcontainers/base:bullseye",
|
"image": "mcr.microsoft.com/devcontainers/base:alpine",
|
||||||
"features": {
|
"features": {
|
||||||
"ghcr.io/audacioustux/devcontainers/cilium:1": {},
|
"./features": {}
|
||||||
"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": {}
|
|
||||||
},
|
},
|
||||||
"customizations": {
|
"customizations": {
|
||||||
"vscode": {
|
"vscode": {
|
||||||
"settings": {
|
"settings": {
|
||||||
"terminal.integrated.profiles.linux": {
|
"terminal.integrated.profiles.linux": {
|
||||||
"bash": {
|
"bash": {
|
||||||
"path": "/bin/zsh"
|
"path": "/usr/bin/fish"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"terminal.integrated.defaultProfile.linux": "zsh"
|
"terminal.integrated.defaultProfile.linux": "fish"
|
||||||
},
|
},
|
||||||
"extensions": [
|
"extensions": [
|
||||||
"redhat.ansible",
|
"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
|
||||||
@@ -1,11 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Hook direnv into zsh
|
|
||||||
if [[ -f "/home/vscode/.zshrc" ]]; then
|
|
||||||
# shellcheck disable=SC2016
|
|
||||||
echo -e 'eval "$(direnv hook zsh)"' >> /home/vscode/.zshrc
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Export the direnv environment variables
|
# Export the direnv environment variables
|
||||||
task workstation:direnv
|
task workstation:direnv
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user