From b15ac83821ae9918c118c2e56ab43fe39ded281f Mon Sep 17 00:00:00 2001
From: Kristian Klausen <kristian@klausen.dk>
Date: Mon, 1 Aug 2022 22:53:07 +0200
Subject: [PATCH] aurweb: Make SSH faster by avoiding slow Poetry (~2,5 sec
 faster)

"poetry run" is very slow[1] and adds +1 second to the startup time.
This is made even worse by the fact that aurweb-git-serve is called
twice by sshd[2].

[1] https://github.com/python-poetry/poetry/issues/3502
[2] https://security.stackexchange.com/questions/123795/authorizedkeyscommand-of-sshd-config-getting-called-twice/123801#123801
---
 roles/aurweb/tasks/main.yml                   | 2 ++
 roles/aurweb/templates/aurweb-git-auth.sh.j2  | 3 +--
 roles/aurweb/templates/aurweb-git-serve.sh.j2 | 3 +--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/roles/aurweb/tasks/main.yml b/roles/aurweb/tasks/main.yml
index 27cfa7785..40a81340f 100644
--- a/roles/aurweb/tasks/main.yml
+++ b/roles/aurweb/tasks/main.yml
@@ -177,6 +177,8 @@
   command: poetry install
   args:
     chdir: "{{ aurweb_dir }}"
+  environment:
+    POETRY_VIRTUALENVS_IN_PROJECT: "true"
   become: true
   become_user: "{{ aurweb_user }}"
   when: release.changed or aurweb_installed.rc != 0
diff --git a/roles/aurweb/templates/aurweb-git-auth.sh.j2 b/roles/aurweb/templates/aurweb-git-auth.sh.j2
index b09939903..14feaa875 100644
--- a/roles/aurweb/templates/aurweb-git-auth.sh.j2
+++ b/roles/aurweb/templates/aurweb-git-auth.sh.j2
@@ -1,3 +1,2 @@
 #!/bin/bash
-cd "{{ aurweb_dir }}"
-exec poetry run aurweb-git-auth "$@"
+exec "{{ aurweb_dir }}/.venv/bin/aurweb-git-auth" "$@"
diff --git a/roles/aurweb/templates/aurweb-git-serve.sh.j2 b/roles/aurweb/templates/aurweb-git-serve.sh.j2
index fec501dfb..25cf719f9 100644
--- a/roles/aurweb/templates/aurweb-git-serve.sh.j2
+++ b/roles/aurweb/templates/aurweb-git-serve.sh.j2
@@ -1,3 +1,2 @@
 #!/bin/bash
-cd "{{ aurweb_dir }}"
-exec poetry run aurweb-git-serve "$@"
+exec "{{ aurweb_dir }}/.venv/bin/aurweb-git-serve" "$@"
-- 
GitLab