1{ buildGoModule, go, lib, fetchFromGitHub, makeWrapper }:
2
3buildGoModule rec {
4 pname = "operator-sdk";
5 version = "1.25.2";
6
7 src = fetchFromGitHub {
8 owner = "operator-framework";
9 repo = pname;
10 rev = "v${version}";
11 sha256 = "sha256-ZGcXb4RP+4ae0aAcLNL9JKLUqyoO5qCShDDbbxoge1w=";
12 };
13
14 vendorSha256 = "sha256-1Vz+SIrNULajDqzZt53+o9wv1zLPBvKrO28BTqS4VbM=";
15
16 doCheck = false;
17
18 subPackages = [ "cmd/operator-sdk" ];
19
20 nativeBuildInputs = [ makeWrapper ];
21 buildInputs = [ go ];
22
23 # operator-sdk uses the go compiler at runtime
24 allowGoReference = true;
25 postFixup = ''
26 wrapProgram $out/bin/operator-sdk --prefix PATH : ${lib.makeBinPath [ go ]}
27 '';
28
29 meta = with lib; {
30 description = "SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding";
31 homepage = "https://github.com/operator-framework/operator-sdk";
32 license = licenses.asl20;
33 maintainers = with maintainers; [ arnarg ];
34 platforms = platforms.linux ++ platforms.darwin;
35 };
36}