Compare commits

...

3 commits

4 changed files with 50 additions and 0 deletions

0
clan.nix Normal file → Executable file
View file

View file

@ -30,11 +30,59 @@ in
Temporary option till I figure out something useful 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, ... }: { perInstance = { instanceName, settings, machine, roles, ... }: {
nixosModule = { config, pkgs, ... }: { nixosModule = { config, pkgs, ... }: {
environment.systemPackages = with pkgs; [ k9s linkerd ];
clan.core.vars.generators.k3s = { clan.core.vars.generators.k3s = {
share = false; share = false;
files = { files = {
@ -113,6 +161,8 @@ in
deploymentStrategy = "RollingUpdate"; deploymentStrategy = "RollingUpdate";
}; };
extraDeploy = settings.crossplane.resources.composite;
}; };
}; };
}; };

0
devShells/flake-module.nix Normal file → Executable file
View file

0
justfile Normal file → Executable file
View file