forked from mirrors/nixpkgs
90e7b6ceb3
``` ❯ result/bin/talosctl cluster create --wait validating CIDR and reserving IPs generating PKI and tokens downloading ghcr.io/talos-systems/talos:v0.14.1 creating network talos-default creating master nodes creating worker nodes renamed talosconfig context "talos-default" -> "talos-default-1" waiting for API bootstrapping cluster waiting for etcd to be healthy: OK waiting for apid to be ready: OK waiting for kubelet to be healthy: OK waiting for all nodes to finish boot sequence: OK waiting for all k8s nodes to report: OK waiting for all k8s nodes to report ready: OK waiting for all control plane components to be ready: OK waiting for kube-proxy to report ready: OK waiting for coredns to report ready: OK waiting for all k8s nodes to report schedulable: OK merging kubeconfig into "/home/flokli/.kube/config" PROVISIONER docker NAME talos-default NETWORK NAME talos-default NETWORK CIDR 10.5.0.0/24 NETWORK GATEWAY 10.5.0.1 NETWORK MTU 1500 NODES: NAME TYPE IP CPU RAM DISK /talos-default-master-1 controlplane 10.5.0.2 2.00 2.1 GB - /talos-default-worker-1 worker 10.5.0.3 2.00 2.1 GB - ``` `--provisioner qemu` was also tested. Note you need to have `_out/{initramfs-$arch.xz,vmlinuz-$arch}` available, as documented in their [docs](https://www.talos.dev/docs/v0.14/local-platforms/qemu/#install-talos-kernel-and-initramfs)
45 lines
1.5 KiB
Nix
45 lines
1.5 KiB
Nix
{ lib, buildGo117Module, fetchFromGitHub }:
|
|
|
|
buildGo117Module rec {
|
|
pname = "talosctl";
|
|
version = "0.14.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "talos-systems";
|
|
repo = "talos";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-JeZ+Q6LTDJtoxfu4mJNc3wv3Y6OPcIUvgnozj9mWwLw=";
|
|
};
|
|
|
|
vendorSha256 = "sha256-ujbEWvcNJJOUegVgAGEPwYF02TiqD1lZELvqc/Gmb4A=";
|
|
|
|
# look for GO_LDFLAGS getting set in the Makefile
|
|
ldflags =
|
|
let
|
|
versionPkg = "github.com/talos-systems/talos/pkg/version"; # VERSION_PKG
|
|
imagesPkgs = "github.com/talos-systems/talos/pkg/images"; # IMAGES_PKGS
|
|
mgmtHelpersPkg = "github.com/talos-systems/talos/cmd/talosctl/pkg/mgmt/helpers"; #MGMT_HELPERS_PKG
|
|
in
|
|
[
|
|
"-X ${versionPkg}.Name=Talos"
|
|
"-X ${versionPkg}.SHA=${src.rev}" # should be the hash, but as we build from tags, this needs to do
|
|
"-X ${versionPkg}.Tag=${src.rev}"
|
|
"-X ${versionPkg}.PkgsVersion=v0.9.0-2-g447ce75" # PKGS
|
|
"-X ${versionPkg}.ExtrasVersion=v0.7.0-1-gd6b73a7" # EXTRAS
|
|
"-X ${imagesPkgs}.Username=talos-systems" # USERNAME
|
|
"-X ${imagesPkgs}.Registry=ghcr.io" # REGISTRY
|
|
"-X ${mgmtHelpersPkg}.ArtifactsPath=_out" # ARTIFACTS
|
|
];
|
|
|
|
subPackages = [ "cmd/talosctl" ];
|
|
|
|
doCheck = false;
|
|
|
|
meta = with lib; {
|
|
description = "A CLI for out-of-band management of Kubernetes nodes created by Talos";
|
|
homepage = "https://github.com/talos-systems/talos";
|
|
license = licenses.mpl20;
|
|
maintainers = with maintainers; [ flokli ];
|
|
};
|
|
}
|