depot/third_party/nixpkgs/pkgs/development/tools/skaffold/default.nix
Default email c7f94ff3ce Project import generated by Copybara.
GitOrigin-RevId: b85ed9dcbf187b909ef7964774f8847d554fab3b
2023-08-22 22:05:09 +02:00

53 lines
1.7 KiB
Nix

{ lib, buildGoModule, fetchFromGitHub, installShellFiles, makeWrapper }:
buildGoModule rec {
pname = "skaffold";
version = "2.6.3";
src = fetchFromGitHub {
owner = "GoogleContainerTools";
repo = "skaffold";
rev = "v${version}";
hash = "sha256-Jguy1h1Gb94cHGfXpiUF6A9MsRPA8lg99ej5uDtRp1s=";
};
vendorHash = null;
subPackages = ["cmd/skaffold"];
ldflags = let t = "github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold"; in [
"-s" "-w"
"-X ${t}/version.version=v${version}"
"-X ${t}/version.gitCommit=${src.rev}"
"-X ${t}/version.buildDate=unknown"
];
nativeBuildInputs = [ installShellFiles makeWrapper ];
doInstallCheck = true;
installCheckPhase = ''
$out/bin/skaffold version | grep ${version} > /dev/null
'';
postInstall = ''
wrapProgram $out/bin/skaffold --set SKAFFOLD_UPDATE_CHECK false
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];
};
}