Commit Graph

53 Commits

Author SHA1 Message Date
Max Erenberg a4a4ef089c Query Active Directory LDAP for alumni (#120)
continuous-integration/drone/push Build is passing Details
Closes #116.

UWLDAP has program information for current students, so we should continue using it by default.
If the sn attribute (last name) is missing from the entry, then we query ADLDAP instead.

Reviewed-on: #120
2024-02-01 23:57:53 -05:00
Leon Zhang 25994af312 Update available positions in configuration files, pertaining to issue #63 (#117)
continuous-integration/drone/push Build is passing Details
Updated available positions adding new positions and removing 2 unused positions in ceo. Passed Drone CI.

Co-authored-by: Leon <lzhang219@gmail.com>
Reviewed-on: #117
Reviewed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
2024-01-22 22:00:30 -05:00
Max Erenberg f84965c8e1 reload all NGINX servers after adding a vhost (#90)
continuous-integration/drone/push Build is passing Details
Currently, only the NGINX server on biloba is reloaded after adding a new vhost or renewing an SSL certificate. The NGINX server on chamomile should also be reloaded, since chamomile is a warm standby for biloba.

This PR adds a new config option in ceod.ini to specify the shell command to reload the web servers.

Reviewed-on: #90
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
2023-01-22 17:20:55 -05:00
Raymond Li dceb5d6572
Revert "#63: Add positions to CEO (#79)"
continuous-integration/drone/push Build is passing Details
This reverts commit 3b7c89c925.
2022-10-13 18:12:36 -04:00
Nathan Chung 3b7c89c925 #63: Add positions to CEO (#79)
continuous-integration/drone/push Build is failing Details
#63

Added the following positions:
* ext affairs lead
* marketing lead
* design lead
* events lead
* reps lead
* mods lead
* photography lead
* other

Signed-off-by: n4chung <n4chung@csclub.uwaterloo.ca>

Co-authored-by: n4chung <n4chung@csclub.uwaterloo.ca>
Reviewed-on: #79
Reviewed-by: Raymond Li <raymo@csclub.uwaterloo.ca>
Co-authored-by: Nathan Chung <n4chung@csclub.uwaterloo.ca>
Co-committed-by: Nathan Chung <n4chung@csclub.uwaterloo.ca>
2022-10-13 14:58:34 -04:00
Max Erenberg cfb5f77711 Disable inactive club sites (#68)
continuous-integration/drone/push Build is passing Details
Closes #51.

An API argument called `remove_inactive_club_reps` was added so that we can dynamically control whether we want to remove inactive club reps or not. The default action is only to disable club websites without changing group membership.

Reviewed-on: #68
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
2022-07-22 23:51:59 -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
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 7d3e03e7fd increase retries for Postfix
continuous-integration/drone/push Build is passing Details
2022-01-07 23:06:58 -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 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 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 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 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
Max Erenberg 1338825c5d use NGINX with acme.sh 2021-11-28 22:35:46 -05:00
Max Erenberg bd50f4142f use Caddy instead of NGINX for vhosts 2021-11-28 15:21:48 -05:00
Max Erenberg a7c5098b67 Add cloud vhost API (#35)
continuous-integration/drone/push Build is passing Details
Add an API for members to create their own virtual hosts.

Co-authored-by: Max Erenberg <>
Reviewed-on: #35
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
2021-11-27 17:59:21 -05:00
Max Erenberg ac98aaf38d Add API to manage cloud accounts (#34)
continuous-integration/drone/push Build is passing Details
This PR adds API endpoints and a CLI to create cloud accounts and to purge accounts of expired members.

Co-authored-by: Max Erenberg <>
Reviewed-on: #34
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
2021-11-21 11:11:20 -05:00
Max Erenberg ae48bcd98a fix bug in email sender address
continuous-integration/drone/push Build is passing Details
2021-11-02 03:05:46 -04:00
Max Erenberg 02aff43e7f Add debian packaging (#32)
continuous-integration/drone/push Build is failing Details
Closes #31.

Co-authored-by: Max Erenberg <>
Reviewed-on: #32
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
2021-10-28 20:52:19 -04:00
Max Erenberg 3b78b7ffb4 add MailService and MailmanService 2021-07-24 00:08:22 +00:00
Zachary Seguin 1a3244e039 Move adduser and mail operations to phosphoric-acid due to decommissioning of aspartame
Build for buster and stretch
2021-03-21 23:19:07 -04:00
Felix Bauckholt 4b0db35899 Replace the stub of the library with a system call to "librarian" 2016-02-19 21:57:54 -05:00
Sarah Harvey 703519acbf updated configs to change ceod to run on aspartame instead of ginseng 2013-02-07 00:20:21 -05:00
Sarah Harvey d8e9225ac9 changed mailman host to mail instead of caffeine 2012-09-10 19:08:46 -04:00
Michael Spang 37a662540e Allow CM club to disable mailman subscription
This features breaks CMC ceo.
2011-09-17 16:28:49 -04:00
Elana Hashman dd98f24e17 Added progcom contact to welcome message 2011-09-03 11:18:26 -04:00
Jeremy Roman 0b3c9d835b tell ceod when it is a club rep; club reps don't need the new member email 2011-08-26 03:13:14 -04:00
Jeremy Roman e468fdcdbd welcome message 2011-08-26 01:04:21 -04:00
Jeremy Roman 9ebd8d910f adding users to csc-general 2010-09-25 01:00:27 -04:00
Michael Ellis 396140ef6b Reworded expired account email. Club rep accounts can be renewed for free (as usual). 2010-02-01 10:10:09 -05:00
Michael Spang 15bbfd0e07 Kill mathsoclist
We can't reliably filter the membership list, because we don't know who has
paid the MathSOC fee. Better to leave MathSOC to do this. In the case that they
to not verify the list then mathsoclist puts us at a disadvantage, as other
clubs likely do not filter their lists.
2009-09-10 18:59:22 -04:00
Michael Spang 2552bc2243 Add mysql database stuff 2009-09-10 07:33:32 -04:00
Michael Ellis c931a6bedb Fixed Library: Added signing to AWS requests. 2009-09-08 17:04:44 -04:00
Michael Spang 9eefe615c5 Add mail changing
This allows office staff to update people's .forward files via ceod.
2009-08-23 13:30:24 -04:00
David Bartley a7961f1b9f Set acl's for club home directories. 2009-07-30 04:44:26 -04:00
Michael Spang ad30f9c47a Insanify configuration files 2009-07-29 13:08:53 -04:00
Michael Spang 92652a3af0 Install ceo daemon
We need to split into different packages for the daemon and clients.
2009-07-29 11:35:32 -04:00
Michael Gregson 37e62fd2f4 Updating install process. 2009-01-15 22:47:47 -05:00
Michael Gregson 2d599b60e9 Debugging 2009-01-15 19:18:04 -05:00
Michael Spang 34b2aa1028 Add club representative support
The only difference between a club representative account and a member account
is how they are registered for terms.  If you are already a representative for
the current term, you need only go through the membership renewal process to
become a full fledged member.
2007-12-20 16:55:22 -05:00
Michael Spang 9a56175919 Reorganize build process
Now using Python's distutils for installing the Python modules
into the wrong place and python-support for moving them into
the right place, byte-compiling, and all that jazz.
2007-12-13 23:34:09 -05:00
Michael Spang 8c19dc63b6 Make CEO non-SUID
It now binds to the directory as the invoking user.
2007-12-12 02:38:13 -05:00
Michael Spang 5bca2288af Merge accounts and members
This really only moves two functions: create_member and
create_club. Nothing else is left in accounts. Eventually,
it might make sense to separate it out again in a more
sane way (e.g. they should share the connection somehow).
2007-12-12 01:28:11 -05:00
Michael Spang 1aa2a15d70 Update default config for SASL magic 2007-12-04 21:40:54 -05:00
Michael Spang 31c05d869f Remove remnants of SQL interface 2007-10-26 00:09:53 -04:00
Michael Spang 6e363a0ea9 Update config defaults for usergroups 2007-10-05 02:53:45 -04:00
Michael Spang b4661a2642 Adjust ID ranges in accounts.cf 2007-10-05 02:30:46 -04:00
Michael Spang e33d483f22 Include ldap.cf in members.cf by default. 2007-07-07 18:34:46 -04:00
Michael Spang 2828ed6997 Added "addhomedir", a utility to create home directories for new users. 2007-01-29 01:42:42 -05:00