CentOS 8 is EOL: Now What? Updates, Options, Migration + More

CentOS 8, the popular Red Hat Enterprise Linux (RHEL) alternative, announced that it would be discontinued on December 31, 2021. No updates would be offered in the future, and the latest updates would no longer be available for mirroring.

With vulnerabilities on the rise, the announcement left CentOS 8 users searching for answers, alternatives, and options for migrating from CentOS 8 after End of Life (EOL). That’s exactly what we break down in this blog.

Table of Contents:

What is CentOS 8?

  • What’s going on with CentOS 8 EOL?
  • CentOS 8 EOL

  • means no more updates
  • CentOS 8 EOL migration options

  • Automate your migration
  • with Puppet Despite

  • EOL,
  • CentOS 8 still works

  • Use the “centos8migrate” module beyond CentOS
  • 8

  • with PuppetWhat
  • is CentOS 8?

  • CentOS

8 is a popular free Linux platform alternative to Red Hat Enterprise Linux (RHEL), originally built as a later version of RHEL. CentOS 8 was discontinued on December 31, 2021.

What’s going on with CentOS 8 EOL?

CentOS became the de facto standard for many organizations that didn’t want to use RHEL for production workload, as it’s basically the same, just renamed.

While CentOS was originally a community project, over time Red Hat began to contribute substantially and eventually took over the maintenance of the Linux variant. This allowed them to change the direction of the CentOS project, much to the dismay of their users, especially those who depend on it for their production workloads.

With the move to “Stream”, Red Hat has moved CentOS 8 from being a downstream version (built after RHEL) to an upstream version (built before RHEL). This means that instead of a stabilized version, CentOS Stream is now something of a development/QA version, which is unacceptable for use of the production system in most organizations.

With all the vulnerabilities in nature (and with numbers growing rapidly day by day), it’s simply not an option to leave these systems as they are. Several options are available, including reinstalling on a new operating system, upgrading to CentOS Stream 8, or migrating to another downstream RHEL variant (of which many are currently available).

Hey – Puppet integrates with Red Hat to make things much easier. Really.


CentOS 8

EOL means no more


Not only did CentOS 8 reach the end of its lifespan, but the latest updates have been archived in the CentOS vault, removing packages from mirrors. This caused a radical change in the update manager for any system that uses Internet-based mirrors. If you are using an internal proxy system to organize updates, you may not even realize that you are no longer receiving updates for CentOS 8.

This means that many CentOS 8 hosts can’t even upgrade to the latest packages that are available, at least not without modifications.

CentOS 8 Update First

This brings us to the first task… The first task in the sample module addresses this problem at scale. Systems must be updated to the latest version of CentOS 8 that is available in the CentOS 8 vault, prior to migration to any other Linux variant.

In the attached sample module, task to_centos_vault will update the yum repositories to point to the CentOS 8 vault so that you can get the latest updates available. While there will be no future updates, this will at least get you to the latest thing that was available to the EOL point.

Note: If you are using any desired state (i.e. Puppet code) to manage the current yum repositories on your systems, you may (probably need) to disable it before migrations and make modifications so that the new target operating system is applied after migration.

CentOS 8 EOL Migration Options

While this isn’t an exhaustive list, I’ll cover some of the most common options. The sample module has tasks to convert to each of the following, which can be used at scale.

CentOS 8 Stream

If you are fine using an upstream version for RHEL, then CentOS Stream 8 is the path of least resistance. It’s still EL8. It’s close to RHEL, but it’s a few steps ahead, so it may not be the best choice for production workloads.

EL8 Downstream Alternatives (AlmaLinux

8 and Rocky Linux 8)

Both Rocky and Alma are almost identical alternatives to CentOS8. Both are downstream RHEL variants, renamed and supported by the community.

Automate your migration with


Why use Puppet? Scale, consistency, speed and reduced risk.

Simply put, if you’re doing these migrations manually for many systems, you may accidentally skip steps or end up with other inconsistencies, which could lead to your systems being left in an unstable state or, worse, irreparable.


Puppet tasks enables an efficient and consistent way to perform these migration tasks at scale. It will also save the output of tasks centrally for report tracking and auditing purposes. If you run these migrations individually from a shell, the result is typically lost as soon as you close the terminal, which can be disastrous for large migration projects that need to be tracked or migrations performed by a team of many people.

CentOS 8 Long-term support from experts

Learn more about custom patches, package updates, training + more from enterprise architects with Perforce OpenLogic.




You have hundreds or even hundreds of thousands of systems to migrate, manual migration or scripting on each host is almost impossible. At the very least, it will take a significant amount of time and you may be exposed to multiple vulnerabilities before you can complete the project. Tasks can help significantly reduce the time it takes to migrate at scale.

Despite EOL

, CentOS 8 still works

While this example module is fully functional and should run smoothly, there are some caveats and you are completely

on your own to get support.

That said, if you’re using CentOS 8 today, chances are you’re used to rolling on your own and fine without official support anyway.

Use at your own risk

There is no support for this workflow or Puppet module, nor for myself. You are alone.

Applications may not be compatible with the target operating system

Check your applications. This will convert the underlying operating system. While technically it’s still EL8, you might have issues with applications that don’t support the target operating system.

Have a backup plan

Use snapshots and backups before migration if possible. This is a potentially destructive operation, so act accordingly.

Using the “centos8migrate”

moduleThe sample Puppet module can be found on GitHub.

With Puppet Enterprise, you can simply add this module to your Puppetfile in your current control repository to make tasks available in the task interface PE:Puppetfile

:## centos8migrate mod ‘psreed-centos8migrate’, :git => ‘https://github.com/psreed/centos8migrate.git’,


branch => ‘

main’This module has been tested from a default installation of CentOS 8.3 “Server with GUI”.

These puppet tasks are simple, but functional. They should probably expand to Puppet Plans for use in production, which could include better error handling or adding workflows for your snapshot/backup processes. At the very least, these can be used as building blocks for a more robust solution.

Tasks include the following


centos8migrate::to_centos_vault This task will update the YUM repositories to point to the CentOS 8 vault so that you can update to the latest available updates. After running this task, followed by a yum update, you should have a system running CentOS 8.5 v2111.

centos8migrate::to_centos_stream This task will convert your system to CentOS Stream 8. It’s the least impactful of the options, but if Stream isn’t a production option for you, consider one of the following tasks to convert to a different variant of Linux.

centos8migrate::to_rocky This task will convert CentOS 8 systems to Rocky Linux 8.

centos8migrate::to_alma_linux This task will convert CentOS 8 systems to AlmaLinux 8.

Note: As a precaution, you may want to temporarily disable periodic running of Puppet while these migration tasks are in progress. Yum will normally crash; However, you could enter a career condition. Simply stop the Puppet agent service before running these tasks, but don’t stop the pxp agent! You will still be able to run the tasks using the pxp agent, and the Puppet agent must be restarted after the migration restart (as part of the default process).


CentOS 8 with Puppet Now that you know how to

migrate CentOS 8, you have an idea of how much work it can be to keep your infrastructure running in the best way


If your project is too big to handle on your own, or you want to know how to manage your infrastructure more consistently, business automation is the only solution to manage it all at scale.

Puppet Enterprise can help dramatically reduce your technical debt and overhead through automated workflows. Try Puppet Enterprise for free and see how it can help you maintain a stable, compliant, and automated infrastructure wherever you deploy.

Try Puppet Enterprise

Learn more

Learn how to deploy Puppet Enterprise on

  • RHEL systems
  • Check out this podcast episode on CentOS 8 EOL
  • Puppet

  • Migration Services: How to Migrate to Puppet Enterprise with Ease

Contact US