Commit Graph

671 Commits

Author SHA1 Message Date
Max Erenberg dc412ef5cb implement renewal reminders (#61)
continuous-integration/drone/push Build is passing Details
Closes #55.

Once this is merged and deployed, a cron job will be used to automatically run `ceo members remindexpire` at the beginning of every term.

Reviewed-on: #61
2022-06-30 20:02:06 -04:00
Max Erenberg dbb5bf1c8d packaging for bullseye
continuous-integration/drone/push Build is passing Details
2022-06-09 10:10:31 -04:00
Max Erenberg 00c7d562ad fix URL bug in ContainerRegistryService
continuous-integration/drone/push Build is passing Details
2022-06-09 09:07:12 -04:00
Max Erenberg 6fae2e4115 use quote_plus for signing CloudStack API requests
continuous-integration/drone/push Build is passing Details
2022-06-09 01:23:04 -04:00
Max Erenberg 1fc432bb0f add hint to GetGroupResponseView
continuous-integration/drone/push Build is passing Details
2022-06-05 10:20:22 -04:00
Max Erenberg 2678bdf16e packaging for bullseye and focal
continuous-integration/drone/push Build is passing Details
2022-06-04 22:47:05 -04:00
Rio Liu 55c4b2151d Unsubscribe/resubscribe members when they're expired and renewed (#53)
continuous-integration/drone/push Build is passing Details
Co-authored-by: Rio Liu <rio.liu@r26.me>
Co-authored-by: Rio6 <rio.liu@r26.me>
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Reviewed-on: #53
Co-authored-by: Rio <r345liu@localhost>
Co-committed-by: Rio <r345liu@localhost>
2022-06-02 02:06:49 -04:00
Max Erenberg 87470e1f3b don't reset password for local MySQL users
continuous-integration/drone/push Build is passing Details
2022-05-23 23:01:09 -04:00
Max Erenberg b543f0eb0c Rewrite TUI (#52)
continuous-integration/drone/push Build is passing Details
Closes #44.
Closes #47.
Closes #49.
Closes #50.

The TUI has been rewritten using urwid instead of asciimatics. The MVC pattern was also used to help increase organization and readability.

The mouse has been disabled, which allows users to easily copy text from the terminal.

Terms are now sorted when displayed, for both the CLI and the TUI.

Reviewed-on: #52
2022-05-22 14:09:46 -04:00
Max Erenberg 19496b4568 use mailman for mailman_host
continuous-integration/drone/push Build is failing Details
2022-05-01 03:39:17 -04:00
Raymond Li 8da700472f Update 'ceod/model/templates/welcome_message.j2'
continuous-integration/drone/push Build is passing Details
2022-03-18 21:35:32 -04:00
Max Erenberg 5197228d68 packaging for bullseye
continuous-integration/drone/push Build is passing Details
2022-03-13 08:03:23 -04:00
Max Erenberg 9b8425f30e bump version 2022-03-12 21:26:55 -05:00
Max Erenberg f3c542208a send cloud warning emails to root
continuous-integration/drone/push Build is passing Details
2022-03-12 16:09:19 -05:00
Max Erenberg 2487ab3668 update security section of docs 2022-03-12 15:50:42 -05:00
Max Erenberg 539de01c4d use admin GSSAPI creds for some API endpoints (#45)
continuous-integration/drone/push Build is passing Details
Office staff currently can't sign up new members because ceod uses their GSSAPI credentials to authenticate to LDAP, and those credentials are insufficient.

This PR uses the ceod/admin credentials instead for signing up new members and for renewing existing memberships.

Reviewed-on: #45
2022-03-12 15:19:14 -05:00
Max Erenberg af4e342f3c Add ':z' to Docker volume mounts
continuous-integration/drone/push Build is failing Details
On systems with SELinux enabled (e.g. Fedora), Docker/Podman cannot
access directories on the host by default.
2022-03-12 14:31:12 -05:00
Max Erenberg 00ced22950 add script to extend a term
continuous-integration/drone/push Build is passing Details
2022-01-15 23:44:23 -05:00
Max Erenberg 5200259cfa allow loginShell to be optional
continuous-integration/drone/push Build is passing Details
2022-01-10 01:32:26 -05:00
Max Erenberg 7d3e03e7fd increase retries for Postfix
continuous-integration/drone/push Build is passing Details
2022-01-07 23:06:58 -05:00
Max Erenberg 71e6b474a4 packaging for bullseye
continuous-integration/drone/push Build is passing Details
2022-01-05 01:32:58 -05:00
Max Erenberg 5351cf8aee Revert "don't subscribe club reps to csc-general"
This reverts commit fa05c4ad4a.
2022-01-05 01:28:05 -05:00
Max Erenberg 2ee9511337 set HOME environment variable in /etc/default/ceod
continuous-integration/drone/push Build is passing Details
2022-01-05 00:54:40 -05:00
Max Erenberg feb16ee625 packaging for bullseye
continuous-integration/drone/push Build is passing Details
2022-01-05 00:26:41 -05:00
Max Erenberg 0c166f93ad bump version
continuous-integration/drone/push Build is passing Details
2022-01-05 00:17:51 -05:00
Max Erenberg ef45344724 Revert "use Kubernetes runner"
This reverts commit 28b5000e89.
2022-01-05 00:17:04 -05:00
Max Erenberg 28b5000e89 use Kubernetes runner
continuous-integration/drone/push Build was killed Details
2022-01-04 23:54:51 -05:00
Max Erenberg 7908d49840 include ACME challenge location snippet in NGINX template 2022-01-04 23:53:44 -05:00
Max Erenberg 41d293ee3b add retry mechanism when sending email to new user
continuous-integration/drone/push Build is passing Details
2022-01-04 23:45:04 -05:00
Max Erenberg fa05c4ad4a don't subscribe club reps to csc-general
continuous-integration/drone/push Build is passing Details
2022-01-03 20:43:58 -05:00
Max Erenberg 02598fa3bc allow ignored Harbor projects to be configurable
continuous-integration/drone/push Build is passing Details
2022-01-02 22:43:22 -05:00
Max Erenberg 7ec17b2b4d chmod 600 the kubeconfig 2022-01-02 18:49:11 -05:00
Raymond Li 5f93b0e912 Update 'README.md'
continuous-integration/drone/push Build is passing Details
2022-01-02 16:06:37 -05:00
Raymond Li 7cb07547fa Update 'README.md'
continuous-integration/drone/push Build is passing Details
2022-01-02 16:06:03 -05:00
Raymond Li f45efefaca Autofill set positions (#41)
continuous-integration/drone/push Build is passing Details
Implements #40

Co-authored-by: Raymond Li <hi@raymond.li>
Reviewed-on: #41
Co-authored-by: Raymond Li <raymo@csclub.uwaterloo.ca>
Co-committed-by: Raymond Li <raymo@csclub.uwaterloo.ca>
2022-01-02 02:41:28 -05:00
Raymond Li d7b6ac2307 Update 'PACKAGING.md'
continuous-integration/drone/push Build is passing Details
2022-01-01 22:36:43 -05:00
Raymond Li 70d27c5817 Update 'PACKAGING.md'
continuous-integration/drone/push Build is passing Details
2022-01-01 22:34:39 -05:00
Max Erenberg 88b40b79cc Don't expire syscom members (#43)
continuous-integration/drone/push Build is passing Details
Closes #37.

Co-authored-by: Max Erenberg <>
Reviewed-on: #43
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
2022-01-01 12:15:32 -05:00
Max Erenberg 1e94132e97 Add container registry API (#42)
continuous-integration/drone/push Build is passing Details
Add an API for members to create a project on Harbor.

Co-authored-by: Max Erenberg <>
Reviewed-on: #42
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
2022-01-01 00:49:05 -05:00
Max Erenberg d200d3d6cf add packaging for bullseye and move Packaging documentation
continuous-integration/drone/push Build is passing Details
2021-12-25 12:43:05 -05:00
Max Erenberg 5e03ff932f bump version 2021-12-25 11:52:44 -05:00
Max Erenberg 0422e4487b fix flaky test for vhost rate limiting
continuous-integration/drone/push Build is passing Details
2021-12-25 11:31:54 -05:00
Max Erenberg 6e96e409be add (objectClass=member) filter for expired members 2021-12-25 11:23:06 -05:00
d278liu 250d24ae37 use binary search when finding new uid (#39)
continuous-integration/drone/push Build is passing Details
closes #36

Co-authored-by: Daniel Liu <mr.picklepinosaur@gmail.com>
Reviewed-on: #39
Co-authored-by: d278liu <d278liu@localhost>
Co-committed-by: d278liu <d278liu@localhost>
2021-12-23 17:00:27 -05:00
Max Erenberg 0640337564 Add ROOT environment variable to /etc/default/ceod
continuous-integration/drone/push Build is passing Details
kubectl was failing because it couldn't find the kubeconfig in
/root/.kube/config
2021-12-18 17:45:20 -05:00
Max Erenberg afb63f44dc add packaging for buster and bullseye 2021-12-18 16:59:13 -05:00
Max Erenberg 19c860b4ed bump version 2021-12-18 16:42:26 -05:00
Max Erenberg f08f4872cf Add Kubernetes API endpoint (#38)
continuous-integration/drone/push Build is passing Details
Add an API for members to create their own Kubernetes namespace.

Co-authored-by: Max Erenberg <>
Reviewed-on: #38
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
2021-12-18 16:35:05 -05:00
Rio Liu b4110d887d Expire member cli and api (#33)
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
Closes #23

Co-authored-by: Rio Liu <rio.liu@r26.me>
Co-authored-by: Max Erenberg <>
Reviewed-on: #33
Co-authored-by: Rio <r345liu@localhost>
Co-committed-by: Rio <r345liu@localhost>
2021-12-11 16:30:18 -05:00
Max Erenberg f1c0ce3dd6 packaging for buster and bullseye 2021-11-28 23:22:16 -05:00