aws-gate: init at 0.11.3
This commit is contained in:
parent
bc98e1c457
commit
df7672c36c
2 changed files with 106 additions and 0 deletions
51
pkgs/by-name/aw/aws-gate/disable-bootstrap.patch
Normal file
51
pkgs/by-name/aw/aws-gate/disable-bootstrap.patch
Normal file
|
@ -0,0 +1,51 @@
|
|||
diff --git a/aws_gate/cli.py b/aws_gate/cli.py
|
||||
index ac37c2f..9743415 100644
|
||||
--- a/aws_gate/cli.py
|
||||
+++ b/aws_gate/cli.py
|
||||
@@ -7,7 +7,6 @@ from marshmallow import ValidationError
|
||||
from yaml.scanner import ScannerError
|
||||
|
||||
from aws_gate import __version__, __description__
|
||||
-from aws_gate.bootstrap import bootstrap
|
||||
from aws_gate.config import load_config_from_files
|
||||
from aws_gate.constants import (
|
||||
SUPPORTED_KEY_TYPES,
|
||||
@@ -59,10 +58,14 @@ def get_argument_parser(*args, **kwargs):
|
||||
|
||||
# 'bootstrap' subcommand
|
||||
bootstrap_parser = subparsers.add_parser(
|
||||
- "bootstrap", help="Download and install session-manager-plugin"
|
||||
+ "bootstrap",
|
||||
+ help="Download and install session-manager-plugin (disabled by nix)",
|
||||
)
|
||||
bootstrap_parser.add_argument(
|
||||
- "-f", "--force", action="store_true", help="Forces bootstrap operation"
|
||||
+ "-f",
|
||||
+ "--force",
|
||||
+ action="store_true",
|
||||
+ help="Forces bootstrap operation (disabled by nix)",
|
||||
)
|
||||
|
||||
# 'exec' subcommand
|
||||
@@ -268,7 +271,9 @@ def main(args=None, argument_parser=None):
|
||||
logger.debug('Using AWS profile "%s" in region "%s"', profile, region)
|
||||
|
||||
if args.subcommand == "bootstrap":
|
||||
- bootstrap(force=args.force)
|
||||
+ print(
|
||||
+ f"The SSM Plugin will not be downloaded as aws-gate was installed from nixpkgs and the plugin comes pre-bundled. The '--force' flag will not override this behavior."
|
||||
+ )
|
||||
elif args.subcommand == "exec":
|
||||
exec(
|
||||
config=config,
|
||||
diff --git a/requirements/requirements.txt b/requirements/requirements.txt
|
||||
index 50b203e..8c3496f 100644
|
||||
--- a/requirements/requirements.txt
|
||||
+++ b/requirements/requirements.txt
|
||||
@@ -3,5 +3,4 @@ cryptography==39.0.2
|
||||
marshmallow==3.19.0
|
||||
packaging==23.0
|
||||
PyYAML>=5.1,<6.1
|
||||
-requests==2.28.2
|
||||
unix-ar==0.2.1
|
||||
wrapt==1.15.0
|
55
pkgs/by-name/aw/aws-gate/package.nix
Normal file
55
pkgs/by-name/aw/aws-gate/package.nix
Normal file
|
@ -0,0 +1,55 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, python3Packages
|
||||
, ssm-session-manager-plugin
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "aws-gate";
|
||||
version = "0.11.3";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xen0l";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-9w2jP4s1HXf1gYiXX05Dt2iXt0bR0U48yc8h9T5M+EQ=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./disable-bootstrap.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
rm aws_gate/bootstrap.py tests/unit/test_bootstrap.py
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3Packages.setuptools
|
||||
python3Packages.wheel
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ ssm-session-manager-plugin ] ++ builtins.attrValues {
|
||||
inherit (python3Packages) marshmallow boto3 pyyaml wrapt cryptography;
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --bash completions/bash/aws-gate
|
||||
installShellCompletion --zsh completions/zsh/_aws-gate
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
$out/bin/${pname} --version
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Better AWS SSM Session manager CLI client";
|
||||
homepage = "https://github.com/xen0l/aws-gate";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ tirimia ];
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
mainProgram = pname;
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue