Compare commits
2 Commits
06bf993fb8
...
8e187a3ea6
| Author | SHA1 | Date | |
|---|---|---|---|
|
8e187a3ea6
|
|||
|
c85c68cf3a
|
15
flake.nix
15
flake.nix
@@ -1,6 +1,18 @@
|
|||||||
{
|
{
|
||||||
description = "Black Start essential infrastructure for cloud operations";
|
description = "Black Start essential infrastructure for cloud operations";
|
||||||
|
|
||||||
|
nixConfig = {
|
||||||
|
substituters = [
|
||||||
|
"https://nix-cache.dubyatp.xyz/duby"
|
||||||
|
"https://cache.nixos.org/"
|
||||||
|
];
|
||||||
|
|
||||||
|
trusted-public-keys = [
|
||||||
|
"duby:IUVsFbQu499JOaHmUpi/mwhZEVQK7soFn7H6lD2/2T4="
|
||||||
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
||||||
|
|
||||||
@@ -27,6 +39,7 @@
|
|||||||
./security/security.nix
|
./security/security.nix
|
||||||
./disko/uefi-nosecure.nix
|
./disko/uefi-nosecure.nix
|
||||||
./users/users.nix
|
./users/users.nix
|
||||||
|
./kubernetes/kubernetes.nix
|
||||||
{
|
{
|
||||||
config.boot = {
|
config.boot = {
|
||||||
loader = {
|
loader = {
|
||||||
@@ -72,5 +85,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
packages.x86_64-linux.attic = nixpkgs.legacyPackages.x86_64-linux.attic-client;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
30
kubernetes/kubernetes.nix
Normal file
30
kubernetes/kubernetes.nix
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
kubeMasterIP = "10.105.6.198";
|
||||||
|
kubeMasterHostname = "api.kube";
|
||||||
|
kubeMasterAPIServerPort = 6443;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
networking.extraHosts = "${kubeMasterIP} ${kubeMasterHostname}";
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
kompose
|
||||||
|
kubectl
|
||||||
|
kubernetes
|
||||||
|
];
|
||||||
|
|
||||||
|
services.kubernetes = {
|
||||||
|
roles = ["master" "node"];
|
||||||
|
masterAddress = kubeMasterHostname;
|
||||||
|
apiserverAddress = "https://${kubeMasterHostname}:${toString kubeMasterAPIServerPort}";
|
||||||
|
easyCerts = true;
|
||||||
|
apiserver = {
|
||||||
|
securePort = kubeMasterAPIServerPort;
|
||||||
|
advertiseAddress = kubeMasterIP;
|
||||||
|
};
|
||||||
|
|
||||||
|
addons.dns.enable = true;
|
||||||
|
|
||||||
|
kubelet.extraOpts = "--fail-swap-on=false";
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user