From 90e7b6ceb32afec80dcc034d5b199bfb3abe8c16 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sun, 17 Oct 2021 20:44:54 +0200 Subject: [PATCH] talosctl: init at 0.14.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ``` ❯ 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) --- .../networking/cluster/talosctl/default.nix | 44 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/applications/networking/cluster/talosctl/default.nix diff --git a/pkgs/applications/networking/cluster/talosctl/default.nix b/pkgs/applications/networking/cluster/talosctl/default.nix new file mode 100644 index 000000000000..819bf4741aa0 --- /dev/null +++ b/pkgs/applications/networking/cluster/talosctl/default.nix @@ -0,0 +1,44 @@ +{ 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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3e15190d837d..4bd86fad6108 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28925,6 +28925,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Security; }; + talosctl = callPackage ../applications/networking/cluster/talosctl { }; + talentedhack = callPackage ../applications/audio/talentedhack { }; tambura = callPackage ../applications/audio/tambura { };