diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix index 54959e458314..35493aa31b7a 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/default.nix +++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix @@ -57,6 +57,7 @@ let libvirt = callPackage ./libvirt { }; linuxbox = callPackage ./linuxbox { }; lxd = callPackage ./lxd { }; + teleport = callPackage ./teleport { }; vpsadmin = callPackage ./vpsadmin { }; vercel = callPackage ./vercel { }; } // (lib.optionalAttrs (config.allowAliases or false) { diff --git a/pkgs/applications/networking/cluster/terraform-providers/teleport/default.nix b/pkgs/applications/networking/cluster/terraform-providers/teleport/default.nix new file mode 100644 index 000000000000..733d15408746 --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform-providers/teleport/default.nix @@ -0,0 +1,31 @@ +{ lib, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "terraform-provider-teleport"; + version = "7.3.0"; + + src = fetchFromGitHub { + owner = "gravitational"; + repo = "teleport-plugins"; + rev = "v${version}"; + sha256 = "19zn78nn64gc0nm7ycblzi4549a0asql07pfxvrphi6s9fjr5m3y"; + }; + vendorSha256 = null; + + sourceRoot = "source/terraform"; + + # Terraform allow checking the provider versions, but this breaks + # if the versions are not provided via file paths. + postBuild = '' + mv $NIX_BUILD_TOP/go/bin/{terraform,terraform-provider-teleport_v${version}} + ''; + + passthru.provider-source-address = "gravitational.com/teleport/teleport"; + + meta = with lib; { + description = "Provider for managing resources in Teleport, a SSH CA management suite"; + homepage = "https://github.com/gravitational/teleport-plugins"; + license = licenses.asl20; + maintainers = with maintainers; [ justinas ]; + }; +}