depot/third_party/nixpkgs/pkgs/development/tools/skaffold/default.nix
Default email 02cf88bb76 Project import generated by Copybara.
GitOrigin-RevId: c4a0efdd5a728e20791b8d8d2f26f90ac228ee8d
2022-08-12 15:06:08 +03:00

51 lines
1.7 KiB
Nix

{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
buildGoModule rec {
pname = "skaffold";
version = "1.39.1";
src = fetchFromGitHub {
owner = "GoogleContainerTools";
repo = "skaffold";
rev = "v${version}";
sha256 = "sha256-InC4cfDQCwc6+4hPUsRitP7/uuOyBgbQjZhe3lGqlDw=";
};
vendorSha256 = "sha256-RA2KgUjYB3y6sOQdnLSZjr52VosZSaRrVU0BXZvjB1M=";
subPackages = ["cmd/skaffold"];
ldflags = let t = "github.com/GoogleContainerTools/skaffold/pkg/skaffold"; in [
"-s" "-w"
"-X ${t}/version.version=v${version}"
"-X ${t}/version.gitCommit=${src.rev}"
"-X ${t}/version.buildDate=unknown"
];
nativeBuildInputs = [ installShellFiles ];
doInstallCheck = true;
installCheckPhase = ''
$out/bin/skaffold version | grep ${version} > /dev/null
'';
postInstall = ''
installShellCompletion --cmd skaffold \
--bash <($out/bin/skaffold completion bash) \
--zsh <($out/bin/skaffold completion zsh)
'';
meta = with lib; {
homepage = "https://skaffold.dev/";
changelog = "https://github.com/GoogleContainerTools/skaffold/releases/tag/v${version}";
description = "Easy and Repeatable Kubernetes Development";
longDescription = ''
Skaffold is a command line tool that facilitates continuous development for Kubernetes applications.
You can iterate on your application source code locally then deploy to local or remote Kubernetes clusters.
Skaffold handles the workflow for building, pushing and deploying your application.
It also provides building blocks and describe customizations for a CI/CD pipeline.
'';
license = licenses.asl20;
maintainers = with maintainers; [ vdemeester bryanasdev000];
};
}