Add tld
This commit is contained in:
@@ -88,6 +88,7 @@ For the provide flake example, your flake should now look like this:
|
||||
self = self; # this needs to point at the repository root
|
||||
specialArgs = {};
|
||||
meta.name = throw "Change me to something unique";
|
||||
meta.tld = throw "Change me to something unique";
|
||||
|
||||
machines = {
|
||||
berlin = {
|
||||
|
||||
@@ -137,12 +137,13 @@ Description: None
|
||||
|
||||
This confirms your setup is working correctly.
|
||||
|
||||
You can now change the default name by editing the `meta.name` field in your `clan.nix` file.
|
||||
You can now change the default name and tld by editing the `meta.name` and `meta.tld` fields in your `clan.nix` file.
|
||||
|
||||
```{.nix title="clan.nix" hl_lines="3"}
|
||||
```{.nix title="clan.nix" hl_lines="3 4"}
|
||||
{
|
||||
# Ensure this is unique among all clans you want to use.
|
||||
meta.name = "__CHANGE_ME__";
|
||||
meta.tld = "changeme";
|
||||
|
||||
# ...
|
||||
# elided
|
||||
|
||||
@@ -10,10 +10,11 @@ and how to define a remote builder for your machine closures.
|
||||
Set the machine’s `targetHost` to the reachable IP address of the new machine.
|
||||
This eliminates the need to specify `--target-host` in CLI commands.
|
||||
|
||||
```{.nix title="clan.nix" hl_lines="9"}
|
||||
```{.nix title="clan.nix" hl_lines="10"}
|
||||
{
|
||||
# Ensure this is unique among all clans you want to use.
|
||||
meta.name = "my-clan";
|
||||
meta.tld = "ccc";
|
||||
|
||||
inventory.machines = {
|
||||
# Define machines here.
|
||||
|
||||
@@ -60,6 +60,7 @@ Configure Clan-wide settings and define machines. Here's an example `flake.nix`:
|
||||
# Define your Clan
|
||||
clan = {
|
||||
meta.name = ""; # Required and must be unique
|
||||
meta.tld = ""; # Required and must be unique
|
||||
|
||||
machines = {
|
||||
jon = {
|
||||
|
||||
@@ -43,6 +43,7 @@ For the purpose of this guide we have two machines:
|
||||
inherit self;
|
||||
|
||||
meta.name = "myclan";
|
||||
meta.tld = "ccc";
|
||||
|
||||
inventory.machines = {
|
||||
controller = {};
|
||||
|
||||
@@ -63,6 +63,7 @@ To use `age` plugins with Clan, you need to configure them in your `flake.nix` f
|
||||
inherit self;
|
||||
|
||||
meta.name = "myclan";
|
||||
meta.tld = "ccc";
|
||||
|
||||
# Add YubiKey and FIDO2 HMAC plugins
|
||||
# Note: Plugins must be available in nixpkgs.
|
||||
|
||||
@@ -81,6 +81,7 @@ in
|
||||
description = null;
|
||||
icon = null;
|
||||
name = "test";
|
||||
tld = "clan";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -31,6 +31,20 @@ let
|
||||
Under construction, will be used for the UI
|
||||
'';
|
||||
};
|
||||
tld = lib.mkOption {
|
||||
type = types.strMatching "[a-z]+";
|
||||
default = "clan";
|
||||
example = "ccc";
|
||||
description = ''
|
||||
Top level domain (TLD) of the clan. It should be set to a valid, but
|
||||
not already existing TLD.
|
||||
|
||||
It will be used to provide clan-internal services and resolve each host of the
|
||||
clan with:
|
||||
|
||||
<hostname>.<tld>
|
||||
'';
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
);
|
||||
|
||||
clan.core.settings = {
|
||||
inherit (meta) name icon;
|
||||
inherit (meta) name icon tld;
|
||||
inherit directory;
|
||||
machine = {
|
||||
inherit name;
|
||||
|
||||
@@ -106,6 +106,15 @@ in
|
||||
# Set by the flake, so it's read-only in the machine
|
||||
readOnly = true;
|
||||
};
|
||||
tld = lib.mkOption {
|
||||
default = "clan";
|
||||
type = lib.types.str;
|
||||
description = ''
|
||||
the TLD for the clan
|
||||
'';
|
||||
# Set by the flake, so it's read-only in the machine
|
||||
readOnly = true;
|
||||
};
|
||||
machine = mkOption {
|
||||
description = ''
|
||||
Settings of the machine.
|
||||
|
||||
@@ -81,11 +81,13 @@ class InventoryMachine(TypedDict):
|
||||
InventoryMetaNameType = str
|
||||
InventoryMetaDescriptionType = str | None
|
||||
InventoryMetaIconType = str | None
|
||||
InventoryMetaTldType = str
|
||||
|
||||
class InventoryMeta(TypedDict):
|
||||
name: str
|
||||
description: NotRequired[InventoryMetaDescriptionType]
|
||||
icon: NotRequired[InventoryMetaIconType]
|
||||
tld: NotRequired[InventoryMetaTldType]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
# Ensure this is unique among all clans you want to use.
|
||||
meta.name = "__CHANGE_ME__";
|
||||
meta.tld = "changeme";
|
||||
|
||||
inventory.machines = {
|
||||
# Define machines here.
|
||||
|
||||
@@ -5,5 +5,6 @@
|
||||
];
|
||||
clan = {
|
||||
meta.name = "__CHANGE_ME__";
|
||||
meta.tld = "changeme";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
# Ensure this is unique among all clans you want to use.
|
||||
meta.name = "__CHANGE_ME__";
|
||||
meta.tld = "changeme";
|
||||
|
||||
inventory.machines = {
|
||||
# Define machines here.
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
# Change this to your clan name
|
||||
# Setting a name is required
|
||||
meta.name = inputs.nixpkgs.lib.mkDefault "__clan__";
|
||||
meta.tld = inputs.nixpkgs.lib.mkDefault "changeme";
|
||||
};
|
||||
in
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user