push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
{
lib,
buildGoModule,
fetchFromGitHub,
testers,
tf-summarize,
}:
buildGoModule rec {
pname = "tf-summarize";
version = "0.3.14";
src = fetchFromGitHub {
owner = "dineshba";
repo = "tf-summarize";
rev = "v${version}";
hash = "sha256-yjketL/7+gsWIvltqotouSNgTCBOqVrHqiblXoCsWgI=";
};
vendorHash = "sha256-e17oCuvPkPAJGPhFoaNZ5Bl4/OoVujkNII1akuQviE0=";
ldflags = [
"-s"
"-w"
"-X main.version=${version}"
];
passthru.tests.version = testers.testVersion {
package = tf-summarize;
command = "tf-summarize -v";
inherit version;
};
meta = with lib; {
description = "Command-line utility to print the summary of the terraform plan";
mainProgram = "tf-summarize";
homepage = "https://github.com/dineshba/tf-summarize";
license = licenses.mit;
maintainers = with maintainers; [ pjrm ];
};
}

View File

@@ -0,0 +1,32 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule (finalAttrs: {
pname = "tf";
version = "2.11.2";
src = fetchFromGitHub {
owner = "dex4er";
repo = "tf";
tag = "v${finalAttrs.version}";
hash = "sha256-JuGAUMOzAaiVjJf0R8I9PMc+g2m3SppQ+mdow7Qrvjc=";
};
vendorHash = "sha256-tI/Fk3jDaEdCnDc4VTLpJnVlsaSW4i00KfftEMIiWog=";
subPackages = [ "." ];
preInstallCheck = "make test";
meta = {
description = "Less verbose and more shell friendly Terraform";
mainProgram = "tf";
homepage = "https://github.com/dex4er/tf";
changelog = "https://github.com/dex4er/tf/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ Tenzer ];
};
})

View File

@@ -0,0 +1,35 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "tf2pulumi";
version = "0.12.0";
src = fetchFromGitHub {
owner = "pulumi";
repo = "tf2pulumi";
rev = "v${version}";
sha256 = "sha256-i6nK1AEnQY47ro6tNDBExdcb9WvltY/21FVrVaiSTvo=";
};
vendorHash = "sha256-x7GAkbvhML2VUQ9/zitrTBBiy9lISb3iTx6yn5WbEig=";
ldflags = [
"-s"
"-w"
"-X=github.com/pulumi/tf2pulumi/version.Version=${src.rev}"
];
subPackages = [ "." ];
meta = with lib; {
description = "Convert Terraform projects to Pulumi TypeScript programs";
mainProgram = "tf2pulumi";
homepage = "https://www.pulumi.com/tf2pulumi/";
license = licenses.asl20;
maintainers = with maintainers; [ mausch ];
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "tfautomv";
version = "0.7.0";
src = fetchFromGitHub {
owner = "busser";
repo = "tfautomv";
rev = "v${version}";
hash = "sha256-/bwCP8HViGQr3kLVQxHOg7bhNwe2D+wif96IdcHD4nk=";
};
# checks require unfree programs like terraform/terragrunt
doCheck = false;
vendorHash = "sha256-7BjytBX52xB8ThneBoSV6sEVcknQMs776D3nY7ckrBM=";
ldflags = [
"-s"
"-w"
];
meta = with lib; {
homepage = "https://github.com/busser/tfautomv";
description = "When refactoring a Terraform codebase, you often need to write moved blocks. This can be tedious. Let tfautomv do it for you";
mainProgram = "tfautomv";
license = licenses.asl20;
maintainers = with maintainers; [ qjoly ];
};
}

View File

@@ -0,0 +1,54 @@
{
lib,
buildGoModule,
fetchFromGitHub,
callPackage,
}:
buildGoModule rec {
pname = "tfk8s";
version = "0.1.10";
tag = "v${version}";
src = fetchFromGitHub {
owner = "jrhouston";
repo = "tfk8s";
rev = tag;
sha256 = "sha256-VLpXL5ABnCxc+7dV3sZ6wsY2nKn2yfu7eTjtn881/XQ=";
};
vendorHash = "sha256-eTADcUW9b6l47BkWF9YLxdcgvMbCzWTjLF28FneJHg8=";
ldflags = [
"-s"
"-w"
"-X main.toolVersion=${tag}"
"-X main.builtBy=nixpkgs"
];
doCheck = true;
doInstallCheck = true;
installCheckPhase = ''
$out/bin/tfk8s --version | grep ${tag} > /dev/null
'';
passthru.tests = {
sample1 = callPackage ./tests/sample1 { };
};
meta = with lib; {
description = "Utility to convert Kubernetes YAML manifests to Terraform's HCL format";
license = licenses.mit;
longDescription = ''
tfk8s is a tool that makes it easier to work with the Terraform Kubernetes Provider.
If you want to copy examples from the Kubernetes documentation or migrate existing YAML manifests and use them with Terraform without having to convert YAML to HCL by hand, this tool is for you.
Features:
* Convert a YAML file containing multiple manifests.
* Strip out server side fields when piping kubectl get $R -o yaml | tfk8s --strip
'';
homepage = "https://github.com/jrhouston/tfk8s/";
maintainers = with maintainers; [ bryanasdev000 ];
mainProgram = "tfk8s";
};
}

View File

@@ -0,0 +1,12 @@
{ runCommandCC, tfk8s }:
runCommandCC "tfk8s-test-sample1"
{
buildInputs = [
tfk8s
];
meta.timeout = 60;
}
''
cmp <(${tfk8s}/bin/tfk8s -f ${./input.yaml}) ${./output.tf} > $out
''

View File

@@ -0,0 +1,6 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: test
data:
TEST: test

View File

@@ -0,0 +1,12 @@
resource "kubernetes_manifest" "configmap_test" {
manifest = {
"apiVersion" = "v1"
"data" = {
"TEST" = "test"
}
"kind" = "ConfigMap"
"metadata" = {
"name" = "test"
}
}
}

View File

@@ -0,0 +1,64 @@
{
lib,
buildGoModule,
fetchFromGitHub,
runCommand,
makeWrapper,
tflint,
tflint-plugins,
symlinkJoin,
}:
let
pname = "tflint";
version = "0.58.1";
in
buildGoModule {
inherit pname version;
src = fetchFromGitHub {
owner = "terraform-linters";
repo = "tflint";
tag = "v${version}";
hash = "sha256-1SuNcqU8JtMypoltbNBZHZZi78jvbbAD+nmj2v8NU5g=";
};
vendorHash = "sha256-8sHiCEtVs+rUnmJ9NPYJJcr4sDlFaEWklE3JaoXEu9w=";
doCheck = false;
subPackages = [ "." ];
ldflags = [
"-s"
"-w"
];
passthru.withPlugins =
plugins:
let
actualPlugins = plugins tflint-plugins;
pluginDir = symlinkJoin {
name = "tflint-plugin-dir";
paths = [ actualPlugins ];
};
in
runCommand "tflint-with-plugins-${version}"
{
nativeBuildInputs = [ makeWrapper ];
inherit version;
}
''
makeWrapper ${tflint}/bin/tflint $out/bin/tflint \
--set TFLINT_PLUGIN_DIR "${pluginDir}"
'';
meta = {
description = "Terraform linter focused on possible errors, best practices, and so on";
mainProgram = "tflint";
homepage = "https://github.com/terraform-linters/tflint";
changelog = "https://github.com/terraform-linters/tflint/blob/v${version}/CHANGELOG.md";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ momeemt ];
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
versionCheckHook,
}:
buildGoModule (finalAttrs: {
pname = "tfmigrate";
version = "0.4.3";
src = fetchFromGitHub {
owner = "minamijoyo";
repo = "tfmigrate";
tag = "v${finalAttrs.version}";
hash = "sha256-tuLbcxJj8TsG3I/o3cHO2DtQm9ql3wlhYBtYiMbRW7o=";
};
vendorHash = "sha256-TqZi5NZ+4eSzq98/ZM4Gab7Sud7bz1DNHrp5nGaGHDE=";
checkFlags = [
"-skip TestExecutorDir" # assumes /usr/bin to be present
];
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Terraform / OpenTofu state migration tool for GitOps ";
homepage = "https://github.com/minamijoyo/tfmigrate";
changelog = "https://github.com/minamijoyo/tfmigrate/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ lykos153 ];
mainProgram = "tfmigrate";
};
})

View File

@@ -0,0 +1,46 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
}:
buildGoModule rec {
pname = "tfproviderdocs";
version = "0.12.1";
src = fetchFromGitHub {
owner = "bflad";
repo = "tfproviderdocs";
tag = "v${version}";
hash = "sha256-KCkohIGkh6sg/e0qBi90hMqh/XQQNCBF6Di6V2gxqak=";
};
vendorHash = "sha256-fSb1C2W29zF6ygiIg6iq19A4B6ensZLqyPD5MhQ5ec8=";
ldflags = [
"-s"
"-w"
"-X github.com/bflad/tfproviderdocs/version.Version=${version}"
"-X github.com/bflad/tfproviderdocs/version.VersionPrerelease="
];
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
versionCheckProgramArg = "version";
meta = with lib; {
description = "Terraform Provider Documentation Tool";
license = licenses.mpl20;
longDescription = ''
tfproviderdocs is an open-source tool for validating the documentation of Terraform providers.
It automates the checking of documentation based on the provider's code specifications and configurations.
This helps developers maintain consistent and up-to-date documentation.
'';
homepage = "https://github.com/bflad/tfproviderdocs";
maintainers = with maintainers; [ tembleking ];
mainProgram = "tfproviderdocs";
};
}

View File

@@ -0,0 +1,44 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "tfsec";
version = "1.28.14";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = "tfsec";
tag = "v${version}";
hash = "sha256-8nZU7CjeKfpx1Fl3YtuQepW0LAG9/ng+8bMkoT1xmCQ=";
};
ldflags = [
"-s"
"-w"
"-X=github.com/aquasecurity/tfsec/version.Version=v${version}"
## not sure if this is needed (https://github.com/aquasecurity/tfsec/blob/master/.goreleaser.yml#L6)
# "-extldflags '-fno-PIC -static'"
];
vendorHash = "sha256-SuXrZNjr+x4uIA8fIae/9kypH/GDDKaiymD12xJvIFw=";
subPackages = [
"cmd/tfsec"
"cmd/tfsec-docs"
"cmd/tfsec-checkgen"
];
meta = {
description = "Static analysis powered security scanner for terraform code";
homepage = "https://github.com/aquasecurity/tfsec";
changelog = "https://github.com/aquasecurity/tfsec/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
fab
peterromfeldhk
];
};
}

View File

@@ -0,0 +1,40 @@
{
buildGoModule,
fetchFromGitHub,
lib,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "tfsort";
version = "0.7.1";
src = fetchFromGitHub {
owner = "AlexNabokikh";
repo = "tfsort";
tag = "v${finalAttrs.version}";
hash = "sha256-PQ7DROZf67pa6VeSsACgOhXz0jCmh48yiVAxMMbyIII=";
};
vendorHash = "sha256-SebYucVQTbIr3kCaCVejw3FEaw9wi2fBVT55yuZRn48=";
ldflags = [
"-s"
"-w"
"-X main.version=v${finalAttrs.version}"
"-X main.commit=${finalAttrs.version}"
"-X main.date=1970-01-01"
];
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/AlexNabokikh/tfsort/releases/tag/v${finalAttrs.version}";
description = "Utility to sort Terraform variables, outputs, locals and terraform blocks";
homepage = "https://github.com/AlexNabokikh/tfsort";
license = lib.licenses.asl20;
mainProgram = "tfsort";
maintainers = [
lib.maintainers.alexnabokikh
];
};
})

View File

@@ -0,0 +1,35 @@
{
buildGoModule,
lib,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "tfswitch";
version = "1.7.0";
src = fetchFromGitHub {
owner = "warrensbox";
repo = "terraform-switcher";
rev = "v${version}";
sha256 = "sha256-Lxczo2zlBqDyHAcGPR1UM1s8tR4+F80YeNI0JJXLN30=";
};
vendorHash = "sha256-JnfRdircsabRP1O8dSs8/OGwTSvv4xmIXeFQsnbpb5o=";
# Disable tests since it requires network access and relies on the
# presence of release.hashicorp.com
doCheck = false;
postInstall = ''
# The binary is named tfswitch
mv $out/bin/terraform-switcher $out/bin/tfswitch
'';
meta = with lib; {
description = "Command line tool to switch between different versions of terraform";
mainProgram = "tfswitch";
homepage = "https://github.com/warrensbox/terraform-switcher";
license = licenses.mit;
maintainers = with maintainers; [ psibi ];
};
}

View File

@@ -0,0 +1,46 @@
{
lib,
stdenv,
fetchgit,
autoconf,
automake,
}:
stdenv.mkDerivation {
pname = "tftp-hpa";
version = "5.2-untagged-2024-06-10";
src = fetchgit {
url = "git://git.kernel.org/pub/scm/network/tftp/tftp-hpa.git";
hash = "sha256-lTMldYO/cZdLj0UjOPPBHfYf2GBG0O+5lhP9ikqn3tY=";
rev = "2c86ff58dcc003107b47f2d35aa0fdc4a3fd95e1";
};
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: main.o:/build/tftp-hpa-5.2/tftp/main.c:98: multiple definition of
# `toplevel'; tftp.o:/build/tftp-hpa-5.2/tftp/tftp.c:51: first defined here
env.NIX_CFLAGS_COMPILE = "-fcommon";
preConfigure = ''
./autogen.sh
'';
nativeBuildInputs = [
autoconf
automake
];
meta = with lib; {
description = "TFTP tools - a lot of fixes on top of BSD TFTP";
maintainers = with maintainers; [ raskin ];
platforms = platforms.linux;
license = licenses.bsd3;
homepage = "https://www.kernel.org/pub/software/network/tftp/";
};
passthru = {
updateInfo = {
downloadPage = "https://www.kernel.org/pub/software/network/tftp/";
};
};
}

View File

@@ -0,0 +1,57 @@
{
lib,
fetchFromGitHub,
makeWrapper,
python3Packages,
enableUsageTracking ? false,
}:
python3Packages.buildPythonApplication rec {
pname = "tftui";
version = "0.13.5";
pyproject = true;
src = fetchFromGitHub {
owner = "idoavrah";
repo = "terraform-tui";
tag = "v${version}";
hash = "sha256-xOlPuPVwfVT7jfBJPqZ5FbOs80HE0k2ZqcA+Jcxh9p4=";
};
pythonRelaxDeps = [
"posthog"
"textual"
];
nativeBuildInputs = [
makeWrapper
];
build-system = [ python3Packages.poetry-core ];
dependencies = with python3Packages; [
posthog
pyperclip
requests
rich
textual
];
pythonImportsCheck = [
"tftui"
];
postInstall = lib.optionalString (!enableUsageTracking) ''
wrapProgram $out/bin/tftui \
--add-flags "--disable-usage-tracking"
'';
meta = {
description = "Textual UI to view and interact with Terraform state";
homepage = "https://github.com/idoavrah/terraform-tui";
changelog = "https://github.com/idoavrah/terraform-tui/releases/tag/v${version}";
license = lib.licenses.asl20;
teams = [ lib.teams.bitnomial ];
mainProgram = "tftui";
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "tfupdate";
version = "0.9.2";
src = fetchFromGitHub {
owner = "minamijoyo";
repo = "tfupdate";
rev = "v${version}";
sha256 = "sha256-izxvvR/wVNQlDWxJhUSAq2q0U0Y7fcFflEZRS2sfEIY=";
};
vendorHash = "sha256-gmIh1xlOXLASzY9E5phS48Bdj1agH5LdUUW0p/g4I5w=";
# Tests start http servers which need to bind to local addresses:
# panic: httptest: failed to listen on a port: listen tcp6 [::1]:0: bind: operation not permitted
__darwinAllowLocalNetworking = true;
meta = with lib; {
description = "Update version constraints in your Terraform configurations";
mainProgram = "tfupdate";
homepage = "https://github.com/minamijoyo/tfupdate";
changelog = "https://github.com/minamijoyo/tfupdate/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [
Intuinewin
qjoly
];
};
}