chore: add initial nix-kubernetes template

This commit is contained in:
technofab 2024-04-24 19:01:04 +02:00
parent 6bd319fbe9
commit 7cd71e7537
8 changed files with 425 additions and 2 deletions

42
nix-kubernetes/coder.nix Normal file
View file

@ -0,0 +1,42 @@
{...}: {
locals."git_repo_folder" = let
split_repo = ''split("/", data.coder_parameter.git_repo.value)'';
in ''try(element(${split_repo}, length(${split_repo}) - 1), "")'';
data = {
coder_external_auth."gitlab" = {
id = "gitlab";
optional = false;
};
coder_workspace."me" = {};
};
resource = {
coder_agent."coder" = {
arch = "\${var.arch}";
os = "linux";
};
coder_script."git_clone" = {
agent_id = "\${coder_agent.coder.id}";
display_name = "Git Clone";
icon = "/icon/git.svg";
script = let
repo = ''''${data.coder_parameter.git_repo.value}'';
repo_folder = ''''${local.git_repo_folder}'';
in ''
#!/usr/bin/env bash
set -eux
echo "Cloning repo \"${repo}\" if it does not exist"
mkdir -p ~/repos
pushd ~/repos
if [[ ! -z "${repo}" && ! -d "${repo_folder}" ]] then
git clone ${repo} ${repo_folder}
fi
popd
'';
run_on_start = true;
start_blocks_login = true;
};
};
}