deployed MetalLB and nginx-ingress

This commit is contained in:
Jakub Kropáček 2025-01-16 18:05:16 +01:00
commit 9b71291990
7 changed files with 105 additions and 0 deletions

1
.envrc Normal file
View file

@ -0,0 +1 @@
use flake

27
flake.lock Normal file
View file

@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1736943799,
"narHash": "sha256-BYsp8PA1j691FupfrLVOQzm4CaYaKtkh4U+KuGMnBWw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ae2fb9f1fb5fcf17fb59f25c2a881c170c501d6f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

34
flake.nix Normal file
View file

@ -0,0 +1,34 @@
{
description = "KropCloud system flakes";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
};
outputs =
inputs@{ self, nixpkgs, ... }:
{
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style;
devShells.x86_64-linux.default =
let
pkgs = import nixpkgs {
system = "x86_64-linux";
allowUnfree = true;
};
in
pkgs.mkShellNoCC {
packages = with pkgs; [
helmfile
kustomize
(
pkgs.wrapHelm kubernetes-helm {
plugins = with kubernetes-helmPlugins; [
helm-diff
];
}
)
];
};
};
}

15
helmfile.yaml Normal file
View file

@ -0,0 +1,15 @@
repositories:
- name: metallb
url: https://metallb.github.io/metallb
- name: ingress-nginx
url: https://kubernetes.github.io/ingress-nginx
---
releases:
- name: metallb
namespace: metallb-system
chart: metallb/metallb
version: v0.14.9
- name: ingress-nginx
namespace: ingress-nginx
chart: ingress-nginx/ingress-nginx
version: 4.12.0

8
kustomization.yaml Normal file
View file

@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./kustomize/metallb.yaml
labels:
- includeSelectors: true
pairs:
app.kubernetes.io/managed-by: Kustomize

17
kustomize/metallb.yaml Normal file
View file

@ -0,0 +1,17 @@
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: ip-pool
namespace: metallb-system
spec:
addresses:
- 192.168.1.250/32
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: l2-advertisement
namespace: metallb-system
spec:
ipAddressPools:
- ip-pool

View file

@ -0,0 +1,3 @@
controller:
ingressClassResource:
default: true