Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
navody:vps:vpsadminos:nixops [2018/09/03 18:14] – typos, rewording Aither | navody:vps:vpsadminos:nixops [2025/03/24 20:08] (aktuální) – smazano aither | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ====== nixops ====== | ||
- | |||
- | * nixops manual https:// | ||
- | * příklad deploymentu https:// | ||
- | |||
- | Pro konfiguraci kontejnerů běžících na vpsFree je také možné použít nástroj nixops. nixops rozšiřuje možnosti deklarativní konfigurace NixOS pro deploy clusteru NixOS mašin. | ||
- | |||
- | '' | ||
- | |||
- | < | ||
- | environment.systemPackages = with pkgs; [ | ||
- | nixops | ||
- | ]; | ||
- | </ | ||
- | |||
- | nebo do uživatelského profilu pomocí '' | ||
- | |||
- | Je také možné nainstalovat unstable verzi použitím '' | ||
- | |||
- | '' | ||
- | použití '' | ||
- | |||
- | ===== Příklad ===== | ||
- | |||
- | Začneme naklonováním repozitáře se vzorovým deploymentem: | ||
- | |||
- | < | ||
- | git clone https:// | ||
- | </ | ||
- | |||
- | Deployment v '' | ||
- | |||
- | ==== libvirt backend ==== | ||
- | |||
- | Vzorový deployment je možné otestovat pomocí '' | ||
- | |||
- | Takto vytvořený deployment můžeme nasadit pomocí příkazu '' | ||
- | |||
- | V připadě, že nespecifikujeme proměnnou prostředí '' | ||
- | |||
- | <code bash> | ||
- | nixops create -d virt network.nix network-libvirt.nix | ||
- | nixops deploy -d virt | ||
- | </ | ||
- | |||
- | Nyní zbýva zjistit IP adresu stroje '' | ||
- | <code bash> | ||
- | nixops info -d virt | ||
- | </ | ||
- | |||
- | a otestovat nově nahozený webserver pomocí '' | ||
- | |||
- | Deployment je možné měnit a znovu re-deploynout pomocí '' | ||
- | |||
- | ==== none backend ==== | ||
- | |||
- | Pro deploy fyzických strojů nebo kontejnerů je možné použít '' | ||
- | |||
- | Před samotným '' | ||
- | |||
- | < | ||
- | None backend při prvním spuštění '' | ||
- | </ | ||
- | |||
- | <code bash> | ||
- | nixops create -d none network.nix network-none.nix | ||
- | nixops deploy -d none --include hello | ||
- | </ | ||
- | |||
- | ==== dumb backend ==== | ||
- | |||
- | '' | ||
- | |||
- | < | ||
- | Dumb backend je dostupný ve [[navody: | ||
- | </ | ||
- | |||
- | <code bash> | ||
- | nixops create -d dumb network.nix network-dumb.nix | ||
- | nixops deploy -d dumb | ||
- | </ | ||
- | |||
- | ===== FAQ ===== | ||
- | |||
- | <code bash> | ||
- | - preco musim opakovat -d /o\ | ||
- | - pinning (see activation) | ||
- | - ruzne verze nixpkgs | ||
- | - ct.nix | ||
- | </ | ||
- | |||
- | ===== Uživatelské konfigurace ===== | ||
- | |||
- | * https:// | ||
- | * https:// | ||
- | * https:// | ||
- | * https:// | ||
- | * https:// | ||
- | |||
- | ===== vpsFree fork ===== | ||
- | |||
- | Pro instalaci stačí uložit následující config do ''/ | ||
- | a použít '' | ||
- | |||
- | < | ||
- | { config, lib, pkgs, ... }: | ||
- | let | ||
- | nixopsRepo = pkgs.fetchFromGitHub { | ||
- | owner = " | ||
- | repo = " | ||
- | rev = " | ||
- | sha256 = " | ||
- | }; | ||
- | in | ||
- | { | ||
- | nixpkgs.overlays = [ | ||
- | (self: super: | ||
- | { | ||
- | nixops = (import " | ||
- | } | ||
- | ) | ||
- | ]; | ||
- | |||
- | environment.systemPackages = with pkgs; [ | ||
- | screen | ||
- | nixops | ||
- | git | ||
- | ]; | ||
- | } | ||
- | </ | ||
- | |||
- | |||
- | ===== vpsFree fork (libvirt verze) ===== | ||
- | |||
- | Tato verze je určena pro běh nixops v kontejneru, ve kterém zároveň běží '' | ||
- | |||
- | Příklad konfigurace '' | ||
- | * modul (libvirt + DHCP + NAT) https:// | ||
- | * konfigurace (nixops overlay) https:// | ||
- | |||
- | < | ||
- | Pro správné fungování '' | ||
- | </ | ||
- | |||
- | Pro instalaci stačí uložit následující config do ''/ | ||
- | a použít '' | ||
- | |||
- | < | ||
- | { config, lib, pkgs, ... }: | ||
- | let | ||
- | nixopsRepo = pkgs.fetchFromGitHub { | ||
- | owner = " | ||
- | repo = " | ||
- | rev = " | ||
- | sha256 = " | ||
- | }; | ||
- | in | ||
- | { | ||
- | nixpkgs.overlays = [ | ||
- | (self: super: | ||
- | { | ||
- | nixops = (import " | ||
- | } | ||
- | ) | ||
- | ]; | ||
- | |||
- | environment.systemPackages = with pkgs; [ | ||
- | screen | ||
- | nixops | ||
- | git | ||
- | ]; | ||
- | } | ||
- | </ | ||