#4810 Allow pagure to manage the authorized_keys file
Merged by pingou. Opened by pingou.
pagure_authorized_keys  into  master

Download 4810.patch

Allowing to use the pagure auth backend without having to mess with the sshd_config file

This is still very much WIP but let's see what jenkins has to say about this

I don't think I've ever seen every test fail before...

Typo tends to lead to that ;-)

6 new commits added

  • Add a new service for the authorized_keys file and adjust bashrc accordingly
  • Increase the logging when calling git for http-based operations
  • Don't set the log level on the console handler by default
  • Add the possibility to add/remove ssh keys on the authorized_keys file
  • Add a plog alias and adjust the motd displayed when logging in
  • Adjust the default configuration file to increase the logging

rebased onto 53b197bea3529d268f4360fb1a2adaef4f28674b

rebased onto fb9279a341b24240d678181ff42be4268da8670b

The code looks good, I'm planning to test it later today...

https://pagure.io/pagure/c/7de1c14564e28091374c3a2c7df0ae969475bcaf includes more than the service. I'm fine with the bashrc formatting thing, but that should go on a different commit.

Otherwise seems good :)

https://pagure.io/pagure/c/7de1c14564e28091374c3a2c7df0ae969475bcaf includes more than the service. I'm fine with the bashrc formatting thing, but that should go on a different commit.

The commit message does mention both though :)

But ok, I'll split them :)

rebased onto 96248abcf4262427d7eff3638711edd9a61b2fa3

rebased onto b677080462ccdecdaf67484872c692427a10898e

@pingou Shouldn't pagure_authorized_keys.service be named pagure_authorized_keys_worker.service, like how we have the pagure_gitolite_worker.service?

@pingou Shouldn't pagure_authorized_keys.service be named pagure_authorized_keys_worker.service, like how we have the pagure_gitolite_worker.service?

I'm ok with that

@pingou A systemd unit for packaged deployments is missing in files/ for pagure_authorized_keys_worker.service...

rebased onto c3efaff56e0d516e876a84c88043d4a7d64a75f8

1 new commit added

  • Restrict the ssh access committers have

Wrong value here. This should be Environment="PAGURE_CONFIG=/etc/pagure/pagure.cfg"

Shouldn't we have User= and Group= defined too like other units that write to the git user space?

User=git
Group=git

yup copy/pasta :)

rebased onto bfd28cae168bb4c6c02923a7f716f993cd5f643c

6 new commits added

  • Restrict the ssh access committers have
  • Add a new pagure_authorized_keys service
  • Change the formatting of the bashrc file
  • Increase the logging when calling git for http-based operations
  • Don't set the log level on the console handler by default
  • Add the possibility to add/remove ssh keys on the authorized_keys file

Yay, all the tests failed again... :sob:

1 new commit added

  • The latest version of wtforms requires email_validator for our use of it

Well, at least only one test failed:

09:35:19  Failed tests:
09:35:19  FAILED test: py-test_pagure_flask_api_project

rebased onto a80df4b99c58a3f39e01632b1ab9370e152aeb95

1 new commit added

  • Install python3-email-validator in our base container

rebased onto 147196525f6f8a74d4773eea0353d698bd8bb3c8

pretty please pagure-ci rebuild

rebased onto e68959c4974394f958d89790e73860948705e46d

7 new commits added

  • Adjust the pagure config in vagrant to deploy with the new backend by default
  • Add a new pagure_authorized_keys service
  • Change the formatting of the bashrc file
  • Increase the logging when calling git for http-based operations
  • Don't set the log level on the console handler by default
  • Add the possibility to add/remove ssh keys on the authorized_keys file
  • Rework the vagrant box to be closer to a production environment
16:08:02  Failed tests:
16:08:02  FAILED test: py3-test_style

rebased onto bf07ad0d2e4e64ada01c90ddec39161b595b62d3

rebased onto 2714b86ebd7417161e00e048d962e3d13fecf51b

@pingou pagure_authorized_keys.service fails to start because the queue doesn't exist...

Apr 30 07:16:07 opensuse-lp150-skuld-vm systemd[1]: Started Pagure worker for managing the authorized_keys file.
Apr 30 07:16:08 opensuse-lp150-skuld-vm celery[18051]: usage: celery worker [options]
Apr 30 07:16:08 opensuse-lp150-skuld-vm celery[18051]: celery: error: unrecognized arguments: authorized_keys_queue
Apr 30 07:16:08 opensuse-lp150-skuld-vm systemd[1]: pagure_authorized_keys_worker.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Apr 30 07:16:08 opensuse-lp150-skuld-vm systemd[1]: pagure_authorized_keys_worker.service: Unit entered failed state.
Apr 30 07:16:08 opensuse-lp150-skuld-vm systemd[1]: pagure_authorized_keys_worker.service: Failed with result 'exit-code'.
Apr 30 07:16:08 opensuse-lp150-skuld-vm systemd[1]: pagure_authorized_keys_worker.service: Service hold-off time over, scheduling restart.
Apr 30 07:16:08 opensuse-lp150-skuld-vm systemd[1]: Stopped Pagure worker for managing the authorized_keys file.

This needs to be -c 1 -Q

rebased onto 431630139f6e0cc511043490054c684ec6a9d3f4

:thumbsup:

Let's get this in :)

Pull-Request has been merged by pingou

Metadata