Renamed machines.md to deploy.md

This commit is contained in:
Qubasa
2024-05-13 00:09:24 +02:00
parent bae03fa338
commit d2a248ed2d
6 changed files with 29 additions and 19 deletions

View File

@@ -128,9 +128,6 @@ This process involves preparing a suitable hardware and disk partitioning config
clan machines install [MACHINE] --png [PATH] clan machines install [MACHINE] --png [PATH]
``` ```
!!!note
If you are using our template `[MACHINE]` would be `jon`
=== "**SSH access**" === "**SSH access**"
Replace `<target_host>` with the **target computers' ip address**: Replace `<target_host>` with the **target computers' ip address**:
@@ -139,28 +136,37 @@ This process involves preparing a suitable hardware and disk partitioning config
clan machines install [MACHINE] <target_host> clan machines install [MACHINE] <target_host>
``` ```
!!!note
Building and deploying time will depend on hardware and connection speed. If you are using our template `[MACHINE]` would be `jon`
!!! success !!! success
Your machine is all set up. 🎉 🚀 Your machine is all set up. 🎉 🚀
## Update Your Machines ## Update Your Machines
Clan CLI enables you to remotely update your machines over SSH. This requires setting up a target address for each target machine. Clan CLI enables you to remotely update your machines over SSH. This requires setting up a target address for each target machine.
### Setting the Target Host ### Setting the Target Host
Replace `host_or_ip` with the actual hostname or IP address of your target machine: Replace `root@jon` with the actual hostname or IP address of your target machine:
```nix hl_lines="9"
```bash buildClan {
clan config --machine my-machine clan.networking.targetHost root@host_or_ip # ...
machines = {
# "jon" will be the hostname of the machine
"jon" = {
# Set this for clan commands use ssh i.e. `clan machines update`
# If you change the hostname, you need to update this line to root@<new-hostname>
# This only works however if you have avahi running on your admin machine else use IP
clan.networking.targetHost = pkgs.lib.mkDefault "root@jon";
};
};
};
``` ```
!!! warning !!! warning
The use of `root@` in the target address implies SSH access as the `root` user. The use of `root@` in the target address implies SSH access as the `root` user.
Ensure that the root login is secured and only used when necessary. Ensure that the root login is secured and only used when necessary.
@@ -170,7 +176,7 @@ clan config --machine my-machine clan.networking.targetHost root@host_or_ip
Execute the following command to update the specified machine: Execute the following command to update the specified machine:
```bash ```bash
clan machines update my-machine clan machines update jon
``` ```
You can also update all configured machines simultaneously by omitting the machine name: You can also update all configured machines simultaneously by omitting the machine name:
@@ -204,11 +210,7 @@ This is useful for machines that are not always online or are not part of the re
## What's next ? ## What's next ?
- [**Mesh VPN**](./networking.md): Configuring a secure mesh network. - [**Mesh VPN**](./mesh-vpn.md): Configuring a secure mesh network.
--- ---
# TODO:
* TODO: How to join others people zerotier
* `services.zerotier.joinNetworks = [ "network-id" ]`
* Controller needs to approve over webinterface or cli

View File

@@ -57,7 +57,7 @@ If you followed the quickstart tutorial all necessary secrets are initialized at
## Whats next? ## Whats next?
- [Deployment](machines.md): How to remotely deploy your machine - [Deployment](deploy.md): How to remotely deploy your machine
--- ---
@@ -329,6 +329,6 @@ you can now remove `sops.secrets.<secrets> = { };` unless you need to specify mo
## Whats next? ## Whats next?
- [Deployment](machines.md): How to remotely deploy your machine - [Deployment](deploy.md): How to remotely deploy your machine
--- ---

View File

@@ -19,6 +19,7 @@
# local> mkdir -p ./machines/machine1 # local> mkdir -p ./machines/machine1
# local> Edit ./machines/machine1/configuration.nix to your liking # local> Edit ./machines/machine1/configuration.nix to your liking
machines = { machines = {
# "jon" will be the hostname of the machine
jon = { jon = {
imports = [ imports = [
./modules/shared.nix ./modules/shared.nix
@@ -31,6 +32,8 @@
clanCore.machineIcon = null; # Optional, a path to an image file clanCore.machineIcon = null; # Optional, a path to an image file
# Set this for clan commands use ssh i.e. `clan machines update` # Set this for clan commands use ssh i.e. `clan machines update`
# If you change the hostname, you need to update this line to root@<new-hostname>
# This only works however if you have avahi running on your admin machine else use IP
clan.networking.targetHost = pkgs.lib.mkDefault "root@jon"; clan.networking.targetHost = pkgs.lib.mkDefault "root@jon";
# ssh root@flash-installer.local lsblk --output NAME,ID-LINK,FSTYPE,SIZE,MOUNTPOINT # ssh root@flash-installer.local lsblk --output NAME,ID-LINK,FSTYPE,SIZE,MOUNTPOINT
@@ -46,6 +49,7 @@
# the controller can be offline and routing still works. # the controller can be offline and routing still works.
clan.networking.zerotier.controller.enable = true; clan.networking.zerotier.controller.enable = true;
}; };
# "sara" will be the hostname of the machine
sara = { sara = {
imports = [ imports = [
./modules/shared.nix ./modules/shared.nix
@@ -58,6 +62,8 @@
clanCore.machineIcon = null; # Optional, a path to an image file clanCore.machineIcon = null; # Optional, a path to an image file
# Set this for clan commands use ssh i.e. `clan machines update` # Set this for clan commands use ssh i.e. `clan machines update`
# If you change the hostname, you need to update this line to root@<new-hostname>
# This only works however if you have avahi running on your admin machine else use IP
clan.networking.targetHost = pkgs.lib.mkDefault "root@sara"; clan.networking.targetHost = pkgs.lib.mkDefault "root@sara";
# ssh root@flash-installer.local lsblk --output NAME,ID-LINK,FSTYPE,SIZE,MOUNTPOINT # ssh root@flash-installer.local lsblk --output NAME,ID-LINK,FSTYPE,SIZE,MOUNTPOINT

View File

@@ -30,5 +30,6 @@ in
"disk" "disk"
]; ];
uid = 1000; uid = 1000;
openssh.authorizedKeys.keys = config.users.users.root.openssh.authorizedKeys.keys;
}; };
} }

View File

@@ -31,5 +31,6 @@ in
"disk" "disk"
]; ];
uid = 1000; uid = 1000;
openssh.authorizedKeys.keys = config.users.users.root.openssh.authorizedKeys.keys;
}; };
} }