nodejs / admin

Administrative space for policies of the TSC
158 stars 135 forks source link

Conversion to Enterprise account #905

Closed mcollina closed 3 months ago

mcollina commented 3 months ago
Screenshot 2024-07-26 at 09 06 07

Currently we are on the Enterprise Cloud system, and we are going to be migrated to "Enterprise Account" on September 3rd. I recommend we do it earlier, between now and then, and deal with all the possible hiccups on our terms.

Alternatively, we let the deadline expire and deal with anything in September. I feel this might be a bit disruptive for the collaborators because of the upcoming cutoff for v23, so I'd recommend we do this asap.

targos commented 3 months ago

I was told in private that we should let the foundation create an enterprise account and move this org (and probably nodejs-private too) under it.

mcollina commented 3 months ago

I have been told that said migration is not as straightforward as we think, so an independent org it's better. (we have quite a lot of custom stuff here).

targos commented 3 months ago

Then let's do it!

mcollina commented 3 months ago

@nodejs/tsc are there any objections?

anonrig commented 3 months ago

+1 let's do it

ovflowd commented 3 months ago

I have been told that said migration is not as straightforward as we think, so an independent org it's better. (we have quite a lot of custom stuff here).

I don't think that was the outcome of the CPC meeting. If I recall, what Ben from the Foundation meant is that billing settings could be tricky, but to be honest, nothing that GitHub staff couldn't help us out.

IMO, if we already need to move to the GitHub Enterprise system, I don't see why it shouldn't be under the OpenJS Foundation "Enterprise." Does it make any difference? 🤔

mcollina commented 3 months ago

I don't think that was the outcome of the CPC meeting. If I recall, what Ben from the Foundation meant is that billing settings could be tricky, but to be honest, nothing that GitHub staff couldn't help us out.

Given we have a wild amount of custom discount & quotas from GitHub, a problematic scenario is that the project is "broken" for some time before we try to fix this. I'm absolutely certain that GitHub staff can fix this, but why breaking things?

IMO, if we already need to move to the GitHub Enterprise system, I don't see why it shouldn't be under the OpenJS Foundation "Enterprise." Does it make any difference?

See above.

ovflowd commented 3 months ago

Moving to an Enterprise regardless of a Node.js one or OpenJS one could affect billing.

We have a scheduled call with GitHub staff to clear out questions. Isn't it worth to first clarify things rather than move by fear?

mcollina commented 3 months ago

We have a scheduled call with GitHub staff to clear out questions. Isn't it worth to first clarify things rather than move by fear?

I would prefer not to change anything at all. They are the ones forcing a change.


we should also apply this to nodejs-private.

ovflowd commented 3 months ago

Well they, as, GitHub. So if they are forcing a change, shouldn't we ask counselling to them regardless? To check if anything would break at all, regardless of OpenJS Enterprise?

targos commented 3 months ago

we should also apply this to nodejs-private.

I would like to try and put nodejs-private under the same enterprise account. It could have the nice side-effect to remove the current limitation we have on runner minutes.

mcollina commented 3 months ago

shouldn't we ask counselling to them regardless? To check if anything would break at all, regardless of OpenJS Enterprise?

I have no time for another meeting, unfortunately.

It could have the nice side-effect to remove the current limitation we have on runner minutes.

We have the maximum amount of free credits we could get in nodejs-private already. The chances of losing that and having to re-negotiate it are high enough (free credits are indeed related to billing).


It seems apparent that we do not have consensus on this move, and I do not have the time to "push it through" and have meetings about it. Therefore, I will not take care of this.

(Hopefully somebody else will, or we do have the forced migration in September).

ovflowd commented 3 months ago

I'm no TSC, but I'd be more than happy to help on the OpenJS side of things as a CPC member.

mhdawson commented 3 months ago

I also prefer to keep the organization separate, maybe once there is more experience by other projects having moved we might consider again. I see keeping it separate and transitioning to our own enterprise account as the least risk which is why I would prefer that.

ovflowd commented 3 months ago

I also prefer to keep the organization separate, maybe once there is more experience by other projects having moved we might consider again. I see keeping it separate and transitioning to our own enterprise account as the least risk which is why I would prefer that.

Fair enough.

ruyadorno commented 3 months ago

+1 to move forward with the migration and keep the orgs separate

mhdawson commented 3 months ago

@targos I wonder if we could flips the two orgs (nodejs and nodejs-private) separtely to their own Enterprise orgs to reduce risk.

We could then try adding a new private org under the Enterprise Node.js org. We could then experiment to see if that new org has unlimited minutes and if so move the repos from the nodejs-private org over to the Node.js enterprise org.

That might be more work, but let us transition as/when we have time to test out/transition.

targos commented 3 months ago

We could then try adding a new private org under the Enterprise Node.js org. We could then experiment to see if that new org has unlimited minutes and if so move the repos from the nodejs-private org over to the Node.js enterprise org.

I had a look and we have the same number of included minutes in both orgs (50k/month). We use 0 on the nodejs org because no private repo uses GitHub actions.

The main difference is that the private org has billing enabled with a spending limit so we can use more minutes if necessary. This would have to be moved to the new enterprise account.

It would be much easier to administrate everything if both orgs used only one enterprise account but I won't object to creating two if you're really afraid that we might lose credits or privileges.

mcollina commented 3 months ago

Done for the nodejs one. Does anybody know how to merge the private one with the main one?

richardlau commented 3 months ago

Done for the nodejs one. Does anybody know how to merge the private one with the main one?

Possibly via "Invite organization" on https://github.com/enterprises/nodejs/organizations?

mcollina commented 3 months ago
Screenshot 2024-08-14 at 17 16 56

unfortunately that does not seem to be possible.

targos commented 3 months ago

@mcollina We have unlimited seats. I just added one, can you try again?

mcollina commented 3 months ago

Done. However before inviting I would like to remove all non-tsc members as enterprise owners, as this access is not needed by moderation.

Alternatively, we could keep limit it to the TSC chair, vice-chair, and openjs representative.

We should do this before adding the nodejs-private org.

ovflowd commented 3 months ago

Alternatively, we could keep limit it to the TSC chair, vice-chair, and openjs representative.

We should do this before adding the nodejs-private org.

This makes sense IMO

richardlau commented 3 months ago

Our GitHub actions are now backlogged. I'm getting lots of notifications for canceled Auto Start CI runs which started appearing time-wise shortly after the conversion 😞.

ovflowd commented 3 months ago

That's bad, any updates on that?

mcollina commented 3 months ago

I've removed from Enterprise owners:

Enterprise owners are now all TSC members + @bensternthal.

bensternthal commented 3 months ago

@mcollina @ovflowd thanks for the heads up.

Note one thing I noticed when I did this upgrade on other projects is that some of our CI broke (looks like there is a similar issue here). At least for me, this was caused by some stricter rules in GH enterprise (and apologies if you know this already)

Screenshot 2024-08-15 at 8 03 20 AM

I solved this by adding more granular permissions into the workflow .yml file example

Hope this helps!

richardlau commented 3 months ago

That's bad, any updates on that?

Looks a lot better today.

https://github.com/enterprises/nodejs/settings/actions/hosted-runners yesterday was reporting a concurrency limit of 18 which has slowly been creeping upwards (in a private Slack thread it was noted later showing 23 and then 29) -- currently the concurrency limit is 131. We're hoping this will self-resolve.

marco-ippolito commented 3 months ago

related failure https://github.com/nodejs/admin/issues/911

mcollina commented 3 months ago

I've ticked to allow gh actions to create and approve PRs.

mcollina commented 3 months ago

Closing as completed, feel free to reopen in case more problems arises.