aws-gate: init at 0.11.3

This commit is contained in:
Theodor-Alexandru Irimia 2023-12-11 14:20:28 +01:00
parent bc98e1c457
commit df7672c36c
2 changed files with 106 additions and 0 deletions

View 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

View 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;
};
}