From 50e0547e23c9e085d158e11b2aa3e8d8869b96dd Mon Sep 17 00:00:00 2001 From: missytake Date: Sat, 30 Nov 2024 21:30:46 +0100 Subject: [PATCH] util: added get_pass function --- .../pyinfra_util.egg-info/PKG-INFO | 3 + .../pyinfra_util.egg-info/SOURCES.txt | 7 +++ .../dependency_links.txt | 1 + .../pyinfra_util.egg-info/top_level.txt | 1 + lib/pyinfra-util/pyinfra_util/__init__.py | 1 + .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 222 bytes .../__pycache__/util.cpython-310.pyc | Bin 0 -> 1759 bytes lib/pyinfra-util/pyinfra_util/util.py | 56 ++++++++++++++++++ lib/pyinfra-util/pyproject.toml | 7 +++ 9 files changed, 76 insertions(+) create mode 100644 lib/pyinfra-util/pyinfra_util.egg-info/PKG-INFO create mode 100644 lib/pyinfra-util/pyinfra_util.egg-info/SOURCES.txt create mode 100644 lib/pyinfra-util/pyinfra_util.egg-info/dependency_links.txt create mode 100644 lib/pyinfra-util/pyinfra_util.egg-info/top_level.txt create mode 100644 lib/pyinfra-util/pyinfra_util/__init__.py create mode 100644 lib/pyinfra-util/pyinfra_util/__pycache__/__init__.cpython-310.pyc create mode 100644 lib/pyinfra-util/pyinfra_util/__pycache__/util.cpython-310.pyc create mode 100644 lib/pyinfra-util/pyinfra_util/util.py create mode 100644 lib/pyinfra-util/pyproject.toml diff --git a/lib/pyinfra-util/pyinfra_util.egg-info/PKG-INFO b/lib/pyinfra-util/pyinfra_util.egg-info/PKG-INFO new file mode 100644 index 0000000..7d9179b --- /dev/null +++ b/lib/pyinfra-util/pyinfra_util.egg-info/PKG-INFO @@ -0,0 +1,3 @@ +Metadata-Version: 2.1 +Name: pyinfra-util +Version: 0.1 diff --git a/lib/pyinfra-util/pyinfra_util.egg-info/SOURCES.txt b/lib/pyinfra-util/pyinfra_util.egg-info/SOURCES.txt new file mode 100644 index 0000000..1d99e4c --- /dev/null +++ b/lib/pyinfra-util/pyinfra_util.egg-info/SOURCES.txt @@ -0,0 +1,7 @@ +pyproject.toml +pyinfra_util/__init__.py +pyinfra_util/util.py +pyinfra_util.egg-info/PKG-INFO +pyinfra_util.egg-info/SOURCES.txt +pyinfra_util.egg-info/dependency_links.txt +pyinfra_util.egg-info/top_level.txt \ No newline at end of file diff --git a/lib/pyinfra-util/pyinfra_util.egg-info/dependency_links.txt b/lib/pyinfra-util/pyinfra_util.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lib/pyinfra-util/pyinfra_util.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/lib/pyinfra-util/pyinfra_util.egg-info/top_level.txt b/lib/pyinfra-util/pyinfra_util.egg-info/top_level.txt new file mode 100644 index 0000000..1c602f1 --- /dev/null +++ b/lib/pyinfra-util/pyinfra_util.egg-info/top_level.txt @@ -0,0 +1 @@ +pyinfra_util diff --git a/lib/pyinfra-util/pyinfra_util/__init__.py b/lib/pyinfra-util/pyinfra_util/__init__.py new file mode 100644 index 0000000..675fb98 --- /dev/null +++ b/lib/pyinfra-util/pyinfra_util/__init__.py @@ -0,0 +1 @@ +from .util import get_pass, deploy_tmux diff --git a/lib/pyinfra-util/pyinfra_util/__pycache__/__init__.cpython-310.pyc b/lib/pyinfra-util/pyinfra_util/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4cc203edfae7d8c1f145f3f6d56954a926264a23 GIT binary patch literal 222 zcmd1j<>g`kf>+PI(lvneV-N=!FabFZKwK;WBvKes7;_kM8KW3;nWC5&8B&;n88n$+ zG6JPEnQn2UrlIYq;;_lhPbtkwwF9}P7-W|S0{|y9IPm}g literal 0 HcmV?d00001 diff --git a/lib/pyinfra-util/pyinfra_util/__pycache__/util.cpython-310.pyc b/lib/pyinfra-util/pyinfra_util/__pycache__/util.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f9f24fcdc0ee418679c335e583b0deb5826d7acf GIT binary patch literal 1759 zcmZ`)Uysx_5YHbco69Z7ar~`#arY3gs;Hm9b%4;90eu7F>i#oHrpaZFnVtZyhlb^@GapaLBp#|-iKfcMX`UIOx0HlPfe3ttIC%|uYn45MQurwgfKTJKB6>6Dc$6Kd2ERCPp8 z&SgpEn95o$*R6sqfi_-k#?j?ruM2g(TPc|e zfat2a?2g@l#NLwThOA3|T`8$LuTptwIwEGd>3nTCAn$xGQpv^8RY-u&R$ZtB<5Q8; zs`$-PTcG{>YCMrs5!YI%7+1%*zo?q$@#D|10xV$8iCfJkFyQSenrS`j2=+j6vY>PT1lR-e=;ovr zCX$uG(~L4&DKXAxv>CjsW?81-0Q1Kpf-!Fdm1T44-8EAQr-1si@9I%9xq-q$%oO)qb_&zl1F=DP9gElskhQkR0}XH5g*bsAgMOdK6uIf z=Jeb3dvq@^ib&%=0LXeg!jz0sS&lI;6*H5L6nQC{U&C$6Y9pZt6jUIr3iC1jkw%7I zq7kD}LkH*XetYlx0euicRg@v6i?Uc4E}{c1a=@_qmL3l1`SVoFM7oGZOR-NQ4MFbR zx&GaNw(a}2FVKAMqA_#YQp56sMk)R1;~_#=d4=OVY$%{FMG7G0GV-xZ|3& zcm&mlciG(`QKx{N>I`&U4?K;4qC0EUJb@%W1|iWCQ51=oRjkA$4Sj_~SEtd#XH^9W zR}N}EK#jLs$aD{CJisDMcn&2hG~7NSf#d3qG0t-&7Aq3Wa-MbmY9zT4(`AsOTtf9N zAtvClsOx2S96z$YyrdJ%Dk}74=!oq=dHSyd-+|fThx`?+_w4|z0qBF*#3MZz7i+?Q z)H!e-23;>nxJ;8oVcm9Ht2<&OE1?)7*2`Vu<~tXNxwrrp&WGUP1*8@jgHNZD*M;~D Se-Rr0X2c5IO?%5dvHl;23i${C literal 0 HcmV?d00001 diff --git a/lib/pyinfra-util/pyinfra_util/util.py b/lib/pyinfra-util/pyinfra_util/util.py new file mode 100644 index 0000000..41d5d9d --- /dev/null +++ b/lib/pyinfra-util/pyinfra_util/util.py @@ -0,0 +1,56 @@ +""" +nginx deploy +""" +import subprocess +from pyinfra.operations import files, apt + + +def get_pass(filename: str) -> str: + """Get the data from the password manager.""" + try: + r = subprocess.run(["pass", "show", filename], capture_output=True) + except FileNotFoundError: + readme_url = "https://git.0x90.space/deltachat/secrets" + print(f"Please install pass and pull the latest version of our pass secrets from {readme_url}") + exit() + return r.stdout.decode('utf-8') + + +def deploy_tmux(home_dir="/root", escape_key="C-b", additional_config=[]): + apt.packages( + name="apt install tmux", + packages=["tmux"], + ) + + config = [ + f"set-option -g prefix {escape_key}", + "set-option -g aggressive-resize on", + "set-option -g mouse on", + "set-option -g set-titles on", + "set-option -g set-titles-string '#I:#W - \"#H\"'", + "unbind-key C-b", + "bind-key ` send-prefix", + "bind-key a last-window", + "bind-key k kill-session", + ] + for item in additional_config: + config.append(item) + for line in config: + files.line( + path=f"{home_dir}/.tmux.conf", + line=line, + ) + + dot_profile_add = """ +# autostart tmux +if [ -t 0 -a -z "$TMUX" ] +then + test -z "$(tmux list-sessions)" && exec tmux new -s "$USER" || exec tmux new -A -s $(tty | tail -c +6) -t "$USER" +fi +""" + files.block( + name="connect to tmux session on login", + path=f"{home_dir}/.profile", + content=dot_profile_add, + try_prevent_shell_expansion=True, + ) diff --git a/lib/pyinfra-util/pyproject.toml b/lib/pyinfra-util/pyproject.toml new file mode 100644 index 0000000..25f8663 --- /dev/null +++ b/lib/pyinfra-util/pyproject.toml @@ -0,0 +1,7 @@ +[build-system] +requires = ["setuptools>=45"] +build-backend = "setuptools.build_meta" + +[project] +name = "pyinfra-util" +version = "0.1"