Skip to content

Auto inactivating users without blocking their ability to log in (a la Slack)

Description

Our organization is being asked to create automated scripts to go through and block user accounts if they have been inactive for a period of time (say three months). This is purely for the billing side of things so that we don't need to pay for users (usually contractors who have rolled off) whom no one bothers to alert us is no longer working here.

Right now, if we run the script, we catch up a lot of users that don't access GitLab often, but do need to regularly (for example, the UI/UX team doesn't visit very often, but will work here for a long time and need access ongoing). If they fall within the window of our script, we block their account, and they have to email an admin every time they need to use it again. In essence, it is no longer a self-service portal (which we would like it to be).

Proposal

Billing a la Slack's Fair Billing Policy

Auto-deactivate (not block) users based on their activity and bill only for those that are actively using GitLab.

https://get.slack.help/hc/en-us/articles/218915077-Fair-Billing-policy

From this page:

  • You’ll only be charged for members that are active on the day that you upgrade to a paid plan.
  • If all members become inactive, you will be charged for a minimum of one member, unless you decide to downgrade to the Free plan.
  • Any changes to the number of active members will be reflected in your monthly statement.

Links / references

  • gitlab-org/gitlab-ee#1085
  • gitlab-org/gitlab-ce#24914
  • gitlab-org/gitlab-ee#1007