mirror of
https://github.com/MagicBOTAlex/nixos-server.git
synced 2026-02-04 05:39:18 +01:00
kubernetes vm building
This commit is contained in:
parent
4e2d73d546
commit
376912c631
15 changed files with 319 additions and 15 deletions
|
|
@ -8,6 +8,8 @@
|
|||
};
|
||||
};
|
||||
|
||||
nix.settings.trusted-users = [ "root" "botserver" ];
|
||||
|
||||
imports = [ ./../networking/networkSetup.nix ];
|
||||
|
||||
services.caddy = {
|
||||
|
|
|
|||
24
modules/getNvim.nix
Normal file
24
modules/getNvim.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ pkgs, ... }: {
|
||||
environment.systemPackages = [
|
||||
(pkgs.writeShellScriptBin "get-nvim" ''
|
||||
set -e
|
||||
|
||||
# 1. Define Variables
|
||||
NVIM_CONFIG_DIR="$HOME/.config/nvim"
|
||||
REPO_URL="https://github.com/MagicBOTAlex/NVimConfigs"
|
||||
|
||||
# 2. Delete Existing Config
|
||||
if [ -d "$NVIM_CONFIG_DIR" ]; then
|
||||
echo "🗑️ Deleting existing Neovim configuration at $NVIM_CONFIG_DIR..."
|
||||
rm -rf "$NVIM_CONFIG_DIR"
|
||||
fi
|
||||
|
||||
# 3. Clone Fresh
|
||||
echo "⚙️ Cloning new Neovim Configs..."
|
||||
git clone "$REPO_URL" "$NVIM_CONFIG_DIR"
|
||||
|
||||
echo "✅ Done!"
|
||||
'')
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
kubeMasterIP = "37.49.130.171";
|
||||
kubeMasterHostname = "polycule.deprived";
|
||||
kubeMasterAPIServerPort = 6443;
|
||||
in {
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
containerd = prev.containerd.overrideAttrs rec {
|
||||
version = "1.7.29";
|
||||
|
||||
src = final.fetchFromGitHub {
|
||||
owner = "containerd";
|
||||
repo = "containerd";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-aR0i+0v2t6vyI+QN30P1+t+pHU2Bw7/XPUYLjJm1rhw=";
|
||||
};
|
||||
|
||||
installTargets = [ "install" ];
|
||||
outputs = [ "out" ];
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
virtualisation.containerd.enable = true;
|
||||
environment.systemPackages = with pkgs; [ kompose kubectl kubernetes argocd ];
|
||||
|
||||
networking.useNetworkd = true;
|
||||
networking.extraHosts = "${kubeMasterIP} ${kubeMasterHostname}";
|
||||
services.kubernetes = let
|
||||
api = "https://${kubeMasterHostname}:${toString kubeMasterAPIServerPort}";
|
||||
in {
|
||||
roles = [ "node" ];
|
||||
masterAddress = kubeMasterHostname;
|
||||
easyCerts = true;
|
||||
|
||||
# point kubelet and other services to kube-apiserver
|
||||
kubelet.kubeconfig.server = api;
|
||||
apiserverAddress = api;
|
||||
|
||||
# use coredns
|
||||
addons.dns.enable = true;
|
||||
|
||||
# needed if you use swap
|
||||
kubelet.extraOpts = "--fail-swap-on=false";
|
||||
};
|
||||
|
||||
systemd.services."forward-argocd" = {
|
||||
enable = true;
|
||||
description =
|
||||
"forwards argocd running on kubernetes to argocd.spoodythe.one";
|
||||
after = [ "network-online.target" "kubelet.service" ];
|
||||
wants = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script = ''
|
||||
${pkgs.kubernetes}/bin/kubectl port-forward svc/argocd-server -n argocd 4325:80 || true
|
||||
'';
|
||||
serviceConfig = { User = "botserver"; };
|
||||
};
|
||||
}
|
||||
24
modules/oscd.nix
Normal file
24
modules/oscd.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
oscd = pkgs.rustPlatform.buildRustPackage rec {
|
||||
pname = "oscd";
|
||||
version = "0.1.10";
|
||||
|
||||
src = pkgs.fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-PMn7PB7Mt+YrpV0bohTIAVvBOZMigV7WdJjwNEGpbgs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-K6eyRyBdab3/7024LNTh5SETH1gMZjB9viFzzWLdYBc=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "OSC debugger (CLI)";
|
||||
homepage = "https://crates.io/crates/oscd";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
in
|
||||
{ environment.systemPackages = with pkgs; [ oscd ]; }
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue