diff --git a/clan.nix b/clan.nix old mode 100644 new mode 100755 diff --git a/clanServices/k3s/default.nix b/clanServices/k3s/default.nix index 7838c36..c0aa1df 100644 --- a/clanServices/k3s/default.nix +++ b/clanServices/k3s/default.nix @@ -30,11 +30,59 @@ in Temporary option till I figure out something useful ''; }; + + crossplane.resources.composite = mkOption { + type = with types; listOf (either path attrs); + default = []; + example = lib.literalExpression '' + [ + ../manifests/my-composite-resource.yml + { + apiVersion = "v1"; + kind = "CompositeResourceDefinition"; + metadata = { + name = "app-service"; + }; + spec = { + selector = { + "app.kubernetes.io/name" = "MyApp"; + }; + ports = [ + { + name = "name-of-service-port"; + protocol = "TCP"; + port = 80; + targetPort = "http-web-svc"; + } + ]; + }; + } + ]; + ''; + description = '' + Temporary option till I figure out something useful + ''; + }; + + # crossplane.resources.managed = mkOption { + # type = with types; listOf (either path attrs); + # default = []; + # example = lib.literalExpression '' + # [ + # ../manifests/my-managed-resource.yml + # ]; + # ''; + # description = '' + # Temporary option till I figure out something useful + # ''; + # }; }; }; perInstance = { instanceName, settings, machine, roles, ... }: { nixosModule = { config, pkgs, ... }: { + environment.systemPackages = with pkgs; [ k9s linkerd ]; + clan.core.vars.generators.k3s = { share = false; files = { @@ -113,6 +161,8 @@ in deploymentStrategy = "RollingUpdate"; }; + + extraDeploy = settings.crossplane.resources.composite; }; }; }; diff --git a/devShells/flake-module.nix b/devShells/flake-module.nix old mode 100644 new mode 100755 diff --git a/justfile b/justfile old mode 100644 new mode 100755