Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, buildGoModule 3, go 4, fetchFromGitHub 5, makeWrapper 6}: 7 8buildGoModule rec { 9 pname = "operator-sdk"; 10 version = "1.29.0"; 11 12 src = fetchFromGitHub { 13 owner = "operator-framework"; 14 repo = pname; 15 rev = "refs/tags/v${version}"; 16 hash = "sha256-oHGs1Bx5k02k6mp9WAe8wIQ4FjMOREcUYv0DKZaXGdE="; 17 }; 18 19 vendorHash = "sha256-I2vL4uRmUbgaf3KGUHSQV2jWozStKHyjek3BQlxyY/c="; 20 21 nativeBuildInputs = [ 22 makeWrapper 23 ]; 24 25 buildInputs = [ 26 go 27 ]; 28 29 doCheck = false; 30 31 subPackages = [ 32 "cmd/ansible-operator" 33 "cmd/helm-operator" 34 "cmd/operator-sdk" 35 ]; 36 37 # operator-sdk uses the go compiler at runtime 38 allowGoReference = true; 39 40 postFixup = '' 41 wrapProgram $out/bin/operator-sdk --prefix PATH : ${lib.makeBinPath [ go ]} 42 ''; 43 44 meta = with lib; { 45 description = "SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding"; 46 homepage = "https://github.com/operator-framework/operator-sdk"; 47 changelog = "https://github.com/operator-framework/operator-sdk/releases/tag/v${version}"; 48 license = licenses.asl20; 49 maintainers = with maintainers; [ arnarg ]; 50 platforms = platforms.linux ++ platforms.darwin; 51 }; 52}