News for hackers. Stuff that matters.
Re:Incident with GitHub Actions and Codespaces by dx034 on Thursday April 14, 2022 @02:50AM (#31024059)
And here we are with our on prem Gitlab with CI/CD that hasn't been down for 2+ years (except for very short, planned maintenance) and has 100% predictable cost at much lower rates than cloud services. We can still scale within minutes if needed (thanks to Terraform).

Dedicated servers are just so cheap, esp with sth like CI/CD that's perfect to host at cheaper providers.

Seeing constant issues with Gitlab and Github products just reinforces that decision.

Re:Incident with GitHub Actions and Codespaces by FooBarWidget on Thursday April 14, 2022 @03:43AM (#31024325)
That isn't everyone's experience. Our onprem Gitlab CI/CD sometimes breaks, usually because the Docker daemon went down for unclear reasons. The fix is easy, just restart the daemon, but still. Even managing a server may not be a trivial task depending on the available competency in the organization.

Upgrades and backups are way more problematic. A while ago I discovered that backups broke and I had to fix it. I setup automatic APT upgrades for Gitlab, but every few major versions or so a manual upgrade process is required. In an organization where people are less vigilant, and/or haven't setup monitoring of backups, this can easily lead to a disaster down the road.

None of this is particularly hard — for me. But for some others this may as well be black magic. Furthermore all this work is a nuisance, a distraction from what I usually do.

Re:Incident with GitHub Actions and Codespaces by jhugo on Thursday April 14, 2022 @04:27AM (#31024521)
Your mention of APT suggests to me that you're trying to maintain a stable deployment on a pet server, whereas GP's mention of Terraform suggests they've built some sort of pipeline for repeatable deployment.

GP's approach does have a bigger learning curve for those that have never worked that way, but after that the ongoing maintenance is simpler, less time consuming and much lower risk. That probably explains most of the difference in your experiences.

Re:Incident with GitHub Actions and Codespaces by dx034 on Thursday April 14, 2022 @04:39AM (#31024586)
We don't have an overly complex setup, just some automations along the way to make things easier the long way. Sure, it's a bit more complicated than manually installing a server, but learning how to use terraform and automating patching/backups etc isn't rocket science.

Anyone with some knowledge of Linux/Programming shouldn't struggle setting this up within a few days. And it adds knowledge to the company that's very valuable.

With Gitlab, as with most software, restarting it regularly outside of office hours is the best way to ensure a stable service. Also something SaaS can't do, as they never know when their customers need the software.

Re:Incident with GitHub Actions and Codespaces by thih9 on Thursday April 14, 2022 @04:51AM (#31024633)
Many companies with on prem setup also don’t know when their devs need the software. Some have people in multiple timezones, some do async work, etc.
Re:Incident with GitHub Actions and Codespaces by vorpalhex on Thursday April 14, 2022 @09:49AM (#31026956)
Yeah but how bad is a 5 min restart for that one dude in Australia at odd hours?
Re:Incident with GitHub Actions and Codespaces by thih9 on Thursday April 21, 2022 @04:56PM (#31115076)
How bad is a github downtime? I guess it all depends.
Re:Incident with GitHub Actions and Codespaces by FooBarWidget on Thursday April 14, 2022 @05:06AM (#31024703)
Our deployment is repeatable. Pet server but managed with Ansible. If it's on fire, provision new server, rerun Ansible, restore backup. Server manually provisioned instead of Terraform, but provisioning the server isn't the hard part anyway.
Re:Incident with GitHub Actions and Codespaces by dx034 on Thursday April 14, 2022 @05:26AM (#31024783)
If that's your setup, we also just have Pet servers. Sounds pretty professional to me.
Re:Incident with GitHub Actions and Codespaces by Nextgrid on Thursday April 14, 2022 @05:56AM (#31024925)
I bet the GitHub/Lab/Atlassian/etc customers affected by the recent outages would be delighted to be able to SSH in and fix it or at least manually extract any required data until the outage is properly resolved.
Re:Incident with GitHub Actions and Codespaces by jacquesm on Thursday April 14, 2022 @04:22AM (#31024485)
It sounds as though you could probably learn a thing or two from how the GP has set things up if their experience is so much different from yours.
Re:Incident with GitHub Actions and Codespaces by dx034 on Thursday April 14, 2022 @04:30AM (#31024535)
I actually never encountered the problem with the crashing daemon, but we also have periodic restarts (they don't take too long and can be scheduled to happen at night).

Upgrades aren't automated but as the server is only exposed to the internal network (and also not fully exposed there), the attack surface is much lower. Keeping servers up to date isn't hard, and we don't always insist on running the newest Gitlab version. We make sure to upgrade if there's a very critical bug or if we lag too far behind.

It's true, upgrades for Gitlab could be smoother, but we've never had significant down time from it. And while others might say it destracts from day to day work, I (and some others) find it a welcome break from coding.

Re:Incident with GitHub Actions and Codespaces by hutzlibu on Thursday April 14, 2022 @05:40AM (#31024855)
"And while others might say it destracts from day to day work, I (and some others) find it a welcome break from coding"

Taking a actual break works too, I think. I mean, it is a virtue to see good in everything ..

Re:Incident with GitHub Actions and Codespaces by cyberpunk on Thursday April 14, 2022 @04:05AM (#31024415)
> automatic APT upgrades

Please, please don't ever do this. Or if you do, make sure you're taking a snapshot of the box every hour or something..

Re:Incident with GitHub Actions and Codespaces by FooBarWidget on Thursday April 14, 2022 @06:54AM (#31025224)
If you don't have a dedicated sysadmin who's always on top of new Gitlab versions, then the alternative to automatic upgrades is letting insecure versions run for an arbitrary time until someone takes the time to upgrade. Gitlab is merely 1 of the 200 things we have to keep track of.

Besides, we already make weekly automatic backups, stored remotely and encrypted. And Gitlab automatically makes a locally-stored backup before each upgrade, which is good enough unless the disk fails right after we discover that the upgrade is broken.

Re:Incident with GitHub Actions and Codespaces by vorpalhex on Thursday April 14, 2022 @09:50AM (#31026978)
You can configure just security patches and not full upgrades.
Re:Incident with GitHub Actions and Codespaces by heurisko on Thursday April 14, 2022 @04:28AM (#31024527)
What about automatic security APT updates?
Re:Incident with GitHub Actions and Codespaces by dgb23 on Thursday April 14, 2022 @04:08AM (#31024429)
Or just before the upgrade?
Re:Incident with GitHub Actions and Codespaces by mikepurvis on Thursday April 14, 2022 @06:50AM (#31025197)
That's how we do it— snapshot the box, apt dist-upgrade, snapshot again, gitlab upgrade, snapshot again.

A few days later, drop the snapshots.

Re:Incident with GitHub Actions and Codespaces by qeternity on Thursday April 14, 2022 @03:52AM (#31024358)
> Furthermore all this work is a nuisance, a distraction from what I usually do.

We said the same. Now we lose twice as much time due to Gitlab.com outages

Re:Incident with GitHub Actions and Codespaces by tapoxi on Thursday April 14, 2022 @07:40AM (#31025542)
This seems like a Docker issue more than a GitLab issue. We run ours in GKE, so the infrastructure is managed and auto scales.
Re:Incident with GitHub Actions and Codespaces by qeternity on Thursday April 14, 2022 @02:54AM (#31024079)
We switched from self-hosted Gitlab to Gitlab.com in the name of reducing infra burden...my oh my do I regret that choice. Same experience to you - no downtime that wasn't planned when we self-hosted. Load was very predictable, and ran on k8s anyway. Much, much faster than the hosted version.
Re:Incident with GitHub Actions and Codespaces by dx034 on Thursday April 14, 2022 @03:03AM (#31024122)
And I don't get what infra burden there is. We run Gitlab, Mattermost, Databases etc and running/maintaining those is still just a very minor part in the work of some developers (who like and are good at infra). Put everything behind Tailscale/Cloudflare Tunnel and your attack surface is very low to start with. Most deployment and patching can be automated anyway, so there's not much left. In the end we save a lot of cost, avoid lock-in and keep much more knowledge in-house.
Re:Incident with GitHub Actions and Codespaces by qeternity on Thursday April 14, 2022 @03:54AM (#31024371)
It’s just one more thing to backup, test, monitor, etc.

Upgrade migrations didn’t always succeed so then you need to go back and remember what you did last time to fix it.

It’s a cognitive burden and distraction. In theory it’s cheaper to pay Gitlab to handle for us. Except that now we lose more time due to Gitlab.com outages than we spent maintaining on prem.

Re:Incident with GitHub Actions and Codespaces by Cthulhu_ on Thursday April 14, 2022 @04:07AM (#31024427)
That's exactly it, it adds a list of nodes to the "required knowledge" graph of your company, adding job positions, expenses, people, and (operational?) risk to your company that I'm sure already has its own list of things to worry about.

There's so many companies out there whose infrastructure is run by this One Guy. Any company needs to assess whether they can risk losing their One Guy (see also: Bus Factor), or if they'll just have to swallow the cost and (some) risk of (some) downtime by using a service provider.

Re:Incident with GitHub Actions and Codespaces by Nextgrid on Thursday April 14, 2022 @05:46AM (#31024886)
But is it much different than the usual CI or infrastructure house of cards/YAML files?

Every company has their own way of doing cloud-based infra, CI build pipelines (in their favorite CI provider's dialect, since those aren't portable either), etc.

Every time I start at a new place I have to reverse-engineer what the previous guys did; there is no standard. By that benchmark, one extra thing to document/keep in mind isn't that big of a deal, especially considering GitLab (installed using their standard "omnibus" install on one of their supported distros) is likely to be more standard than all those custom Terraform/CI pipelines/etc.

Re:Incident with GitHub Actions and Codespaces by dx034 on Thursday April 14, 2022 @04:32AM (#31024542)
Any decent developer should be able to install and maintain on-prem Gitlab. It's not harder than running most managed services on AWS (I'd say it's simpler). So you already have the people, you just need a few minutes (literaly minutes, not hours) of their time per week/month.

There's operational risk, but that doesn't go away if you shift to Gitlab.com infra. Just in this case, you can control all of it.

Re:Incident with GitHub Actions and Codespaces by qeternity on Thursday April 14, 2022 @05:23AM (#31024770)
It's really not this simple. Even if it were just minutes (it isn't, but agree it's not huge overhead) you still have the operational risk when things inevitably go wrong. Now you're impacting your orgs ability to be productive (super expensive) and you incur the direct cost of fixing. Who do you think is going to be better at triaging Gitlab: someone looking after on-prem once a month, or Gitlab's team that do this full time every day. That's why people pay for SaaS.

The problem with Github and Gitlab is that it's actually turning out that those companies aren't that good at running their own product, which is tilting the economics of the above.

Re:Incident with GitHub Actions and Codespaces by Nextgrid on Thursday April 14, 2022 @05:42AM (#31024868)
> someone looking after on-prem once a month, or Gitlab's team that do this full time every day

Keep in mind that Gitlab.com sees much more load & activity than your on-prem equivalent, and their maintenance schedules don't line up with yours. Ideally, you don't want someone messing with your VCS/CI "every day".

Your on-prem is not only very unlikely to need any of the moving parts that a world-scalable system needs, but any maintenance can also be planned out-of-hours to make sure eventual operator errors don't cause downtime during business hours.

Re:Incident with GitHub Actions and Codespaces by Aicy on Thursday April 14, 2022 @04:52AM (#31024637)
In theory, yes, but in practice most of the difficulty in maintaining an on-prem Gitlab will be that individual company's bespoke installation of it.
Re:Incident with GitHub Actions and Codespaces by Aeolun on Thursday April 14, 2022 @05:34AM (#31024825)
> Any decent developer should be able to install and maintain on-prem Gitlab

By this measure, a lot of companies have zero decent developers.

Re:Incident with GitHub Actions and Codespaces by orwin on Thursday April 14, 2022 @06:49AM (#31025187)
I might be skewed because I do a lot of DevOps, but this is clearly one of the easiest thing to do for any half decent dev. You juste have to follow one half hour tutorial (and have a very basic knowledge of VLANs, DNS and routing, maybe? Depending on your internal network). The hard part is making sure your downtimes are low or inexistants, and if you this, hire a devops.
Re:Incident with GitHub Actions and Codespaces by dx034 on Thursday April 14, 2022 @04:26AM (#31024511)
Backups tend to take the most work, especially if you verify them periodically. But at least that means you have backups. I'm not sure I would want Gitlab to have all my data without a local copy for such important information.
Re:Incident with GitHub Actions and Codespaces by Nextgrid on Thursday April 14, 2022 @06:05AM (#31024966)
An issue everyone seems to overlook is that an SaaS typically needs to be scalable to the entire world while your on-prem service pretty much never does.

The SaaS will have more moving parts & operator activity which in turn makes outages more likely, and that "operator activity" can't be planned for unlike on-prem where you can schedule maintenance out-of-hours to make sure any accidents don't affect the business.

Re:Incident with GitHub Actions and Codespaces by Cthulhu_ on Thursday April 14, 2022 @04:03AM (#31024411)
Congratulations, you got lucky; your comment is an example of survivorship bias. You happen to have the technical know-how and people to run your own infrastructure, but this isn't the default.
Re:Incident with GitHub Actions and Codespaces by dx034 on Thursday April 14, 2022 @04:25AM (#31024505)
I'm not sure if it's a good thing if no software developer in a company has the skill to install and maintain an application on a linux server. To me that's no additional knowledge for a developer, but one of the basics they should know anyway.
Re:Incident with GitHub Actions and Codespaces by Aicy on Thursday April 14, 2022 @04:46AM (#31024614)
Except it's more complex than that.

Ideally you want to have multiple runners, and for them to scale so that developers aren't endlessly waiting in job queues. On top of that you might want proper network segregation, and for it to be on a separate virtual network to your workloads to reduce your blast radius. You might have problems with connecting your server to third party SaaS outside your network, etc etc etc

Re:Incident with GitHub Actions and Codespaces by dx034 on Thursday April 14, 2022 @05:28AM (#31024790)
A runner is super simple to set up and you once write a script and just deploy it a few times.

Virtual network is also very easy to set up with most providers (even with dedicated servers), there's pretty much zero config.

So far we didn't have any issues connecting to outside SaaS, but we host most stuff ourselves anyway, so that's not a common use case.

Re:Incident with GitHub Actions and Codespaces by vorpalhex on Thursday April 14, 2022 @09:55AM (#31027046)
I run Gitlab runners for my social group.. It took about 20 minutes to setup and I don't think there has ever been a maintenance period for it other than a nightly upgrade/restart that is automated. I use docker for network isolation.
Re:Incident with GitHub Actions and Codespaces by Milner08 on Thursday April 14, 2022 @05:06AM (#31024704)
There is 'running a basic linux server' then there is running a secure, scalable and reliable server for the whole org to use. The latter is the job of a sys admin, not an developer. Sure I could probably figure it out, but I am no expert and it would be a waste of my time.
Re:Incident with GitHub Actions and Codespaces by Nextgrid on Thursday April 14, 2022 @05:39AM (#31024849)
It worries me that running a monolithic web application + DB on a Linux server is now seen as arcane, specialized knowledge. If you think this is complex, I'd be worried about how you do the actually complex stuff like data security, etc.
Re:Incident with GitHub Actions and Codespaces by Msw242 on Thursday April 14, 2022 @09:41AM (#31026846)
Engineers have to understand the business, talk with other stakeholders, design systems, write code, write tests, support the production environment, etc, etc, etc.

Why would decisionmakers want to add outsource-able ops overhead to that very full plate?

Re:Incident with GitHub Actions and Codespaces by jhugo on Thursday April 14, 2022 @04:28AM (#31024528)
It probably depends what sort of software your company builds. A frontend web design shop might well have developers who have little or no relevant experience for self-hosting something like Gitlab.
Re:Incident with GitHub Actions and Codespaces by jacquesm on Thursday April 14, 2022 @04:23AM (#31024492)
If you have the technical knowhow to develop complex applications and do application and systems level administration for your own application then you can run a gitlab on prem installation. You already have most or all of the required knowledge.
Re:Incident with GitHub Actions and Codespaces by rvz on Thursday April 14, 2022 @03:06AM (#31024145)
This.

That's how you do it (and also how many open-source organizations have done it) as I have said and predicted years ago here going against 'centralizing everything to GitHub' [0]

Fast forward precisely 2 years ago since that prediction was made in (April 14th, 2020), GitHub has become (unsurprisingly) unreliable, especially for those that went 'all in'. Self-hosting for your own organization seems to have been more reliable in the long run.

> Seeing constant issues with Gitlab and Github products just reinforces that decision.

This also. Especially the SaSS ones.

[0] https://news.ycombinator.com/item?id=22867803

Re:Incident with GitHub Actions and Codespaces by oars on Thursday April 14, 2022 @03:13AM (#31024178)
At my start-up we are all in on SaaS because we don't have enough engineers to self-host our things.

The previous F500 company I worked at had enough engineers to self-host their things but thought SaaS was also the future and migrated a lot of their key tools and services onto these cloud platforms.

I wonder if both my start-up and the F500 company will suffer in the long run because of these decisions...

Re:Incident with GitHub Actions and Codespaces by mindwok on Thursday April 14, 2022 @03:40AM (#31024318)
Gitlab in particular is unbelievably easy to self host. At my last gig I ran it on a t4g Debian instance with unattended upgrades and then just rebooted once a week at like 3am, literally never touched it again and it costs nothing to run.
Re:Incident with GitHub Actions and Codespaces by dbrgn on Thursday April 14, 2022 @04:16AM (#31024464)
Don't enable unattended updates for GitLab. The migrations don't always work and sometimes need manual work. (This is rarely the case, but can happen.)

(Also, when upgrading GitLab, make sure to upgrade version-by-version and always wait for background migrations to finish before upgrading to the next version. You can check background migrations at /admin/background_migrations.)

Re:Incident with GitHub Actions and Codespaces by mindwok on Thursday April 14, 2022 @06:07AM (#31024975)
Interesting, thanks for the heads up - We didn't have any issues while I was there and probably would just restore if we needed to, but nice to know the footguns.
Re:Incident with GitHub Actions and Codespaces by dijit on Thursday April 14, 2022 @04:39AM (#31024584)
interesting, this isn't my experience. I've been running a gitlab instance for about 300 people for about 7 years now. :\

To be fair though I'm using docker and watchtowerr to keep it updated, there was 1 time where I had to use an older docker image because the latest wasn't working.

Re:Incident with GitHub Actions and Codespaces by sciurus on Thursday April 14, 2022 @08:30AM (#31026008)
For those like me who went familiar with it: https://containrrr.dev/watchtower/
Re:Incident with GitHub Actions and Codespaces by Kelteseth on Thursday April 14, 2022 @08:32AM (#31026027)
This happened to me exactly _once_ in the last three years of successful monthly update on our self-hosted GitLab instance. I got an error because the backup script expected a folder where no folder was. Updating GitLab is a breeze!
Re:Incident with GitHub Actions and Codespaces by Aeolun on Thursday April 14, 2022 @05:38AM (#31024844)
It’s incredibly dumb that it allows you to start the next upgrade before the background migrations finish.

Not unrecoverable though, so saying you need to worry about it may be a bit too alarmist.

Re:Incident with GitHub Actions and Codespaces by Cthulhu_ on Thursday April 14, 2022 @04:08AM (#31024430)
But how many people would know what to do if something did happen?
Re:Incident with GitHub Actions and Codespaces by dx034 on Thursday April 14, 2022 @04:41AM (#31024592)
Worst case you just spin up a new instance, install and restore the backup. Won't take more than 1-2 hours (less if you have part of it automated).
Re:Incident with GitHub Actions and Codespaces by mindwok on Thursday April 14, 2022 @06:08AM (#31024982)
There was a fair bit of ops expertise on the team, so I don't think it'd be an issue. If there was none, I'd probably think twice.
Re:Incident with GitHub Actions and Codespaces by dx034 on Thursday April 14, 2022 @03:24AM (#31024230)
If you have enough engineers to develop a product, you have enough to host your own Gitlab. Most engineers are expected to understand some ops anyway for CI/CD, setting up Gitlab really isn't harder than that (from experience). Especially with low usage, these instances basically never go down.

Most of the overhead is managing users, permissions etc, that won't go away with SaaS.

Re:Incident with GitHub Actions and Codespaces by jhugo on Thursday April 14, 2022 @04:32AM (#31024543)
Yup, after the first series of outages (which were much worse for us in Asia than for companies in the US, because it seemed that nobody at GitHub noticed everything was down until the US woke up) we moved all our code hosting from GitHub to self-hosted Gitea (our CI/CD was already self-hosted with Tekton), and set up mirror repos from GitHub for all our dependencies too.

Before we were losing productivity for an entire day due to GitHub outages, now we only notice because there's a post on HN :)

As for the cost of self-hosting, we already host our own services, Gitea is no more complex than any of those. I wouldn't recommend self-hosting to a company with no backend/ops capability in-house, but for any other company it's fairly obviously a better choice IMO.

Re:Incident with GitHub Actions and Codespaces by danielvaughn on Thursday April 14, 2022 @07:46AM (#31025589)
I thought gitlab onprem was an enterprise feature? You’re saying it’s cheaper than cloud?
Re:Incident with GitHub Actions and Codespaces by Karunamon on Thursday April 14, 2022 @09:02AM (#31026402)
Gitlab has enterprise and community versions that are self hostable. You may be thinking of GitHub.
Re:Incident with GitHub Actions and Codespaces by dncornholio on Thursday April 14, 2022 @09:30AM (#31026700)
Gitlab is great, the downside is managing updates and frequent vulnerabilities found