commit 9b712919906084afd877817f0608c820c980313b Author: Jakub Kropáček Date: Thu Jan 16 18:05:16 2025 +0100 deployed MetalLB and nginx-ingress diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..8392d15 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake \ No newline at end of file diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..30c7213 --- /dev/null +++ b/flake.lock @@ -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 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..b9011bd --- /dev/null +++ b/flake.nix @@ -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 + ]; + } + ) + ]; + }; + }; +} diff --git a/helmfile.yaml b/helmfile.yaml new file mode 100644 index 0000000..0a94816 --- /dev/null +++ b/helmfile.yaml @@ -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 \ No newline at end of file diff --git a/kustomization.yaml b/kustomization.yaml new file mode 100644 index 0000000..1ae8273 --- /dev/null +++ b/kustomization.yaml @@ -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 diff --git a/kustomize/metallb.yaml b/kustomize/metallb.yaml new file mode 100644 index 0000000..aa5094e --- /dev/null +++ b/kustomize/metallb.yaml @@ -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 \ No newline at end of file diff --git a/values/ingress-nginx.values.yaml b/values/ingress-nginx.values.yaml new file mode 100644 index 0000000..406ba8e --- /dev/null +++ b/values/ingress-nginx.values.yaml @@ -0,0 +1,3 @@ +controller: + ingressClassResource: + default: true \ No newline at end of file