<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
  <title type="text">Signpost — DevOps</title>
  <subtitle type="text">Runs the paved road: clusters, CI runners, deployment tooling and the guardrails that keep production safe to change.</subtitle>
  <id>https://anonycoders.github.io/signpost-sample/teams/devops/</id>
  <link rel="self" type="application/atom+xml" href="https://anonycoders.github.io/signpost-sample/teams/devops/feed.xml"/>
  <link rel="alternate" type="text/html" href="https://anonycoders.github.io/signpost-sample/teams/devops/"/>
  <updated>2026-09-14T00:00:00.000Z</updated>
  <author><name>DevOps</name></author>
  <entry>
    <title type="text">Secret scanning and push protection: Push protection is on for the 20 busiest repositories</title>
    <id>https://anonycoders.github.io/signpost-sample/streamlines/devops/secret-scanning/#update-2026-09-14-push-protection-is-on-for-the-20-busiest</id>
    <link rel="alternate" type="text/html" href="https://anonycoders.github.io/signpost-sample/streamlines/devops/secret-scanning/#update-2026-09-14-push-protection-is-on-for-the-20-busiest"/>
    <updated>2026-09-14T00:00:00.000Z</updated>
    <author><name>Priya Raman</name></author>
    <category term="DevOps"/>
    <category term="Security"/>
    <category term="Action required"/>
    <summary type="text">If a push is blocked, the message names the file and line. Rotate the credential first, then remove it from the commit — do not just force-push over it, because the secret is already in the reflog. Rolling out to the remaining repositories through October and November.</summary>
    <content type="html">&lt;p&gt;&lt;strong&gt;Action required · Secret scanning and push protection&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;If a push is blocked, the message names the file and line. Rotate the
credential first, then remove it from the commit — do not just force-push
over it, because the secret is already in the reflog.&lt;/p&gt;
&lt;p&gt;Rolling out to the remaining repositories through October and November.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title type="text">Kubernetes 1.31 upgrade: Production clusters upgrade from 1 October — Ingress v1beta1 is removed</title>
    <id>https://anonycoders.github.io/signpost-sample/streamlines/devops/kubernetes-1-31-upgrade/#update-2026-09-10-production-clusters-upgrade-from-1-october</id>
    <link rel="alternate" type="text/html" href="https://anonycoders.github.io/signpost-sample/streamlines/devops/kubernetes-1-31-upgrade/#update-2026-09-10-production-clusters-upgrade-from-1-october"/>
    <updated>2026-09-10T00:00:00.000Z</updated>
    <author><name>Jana Okafor</name></author>
    <author><name>Milan Petrovic</name></author>
    <category term="DevOps"/>
    <category term="Infrastructure"/>
    <category term="Breaking"/>
    <summary type="text">Takes effect 1 October 2026. Production upgrades run in three waves starting 1 October. Any workload still declaring networking.k8s.io/v1beta1 Ingress objects will fail to deploy once its cluster is upgraded. Run kubectl deprecations --context &lt;your-cluster&gt; to see whether you are affected. The migration guide has the before-and-after manifests. What you need to do: (1) Run kubectl deprecations --context &lt;your-cluster&gt; against every cluster your team owns. (2) Move any v1beta1 Ingress objects to networking.k8s.io/v1, using the before-and-after manifests. (3) Tell us in #devops if you cannot make 1 October, before the waves start.</summary>
    <content type="html">&lt;p&gt;&lt;strong&gt;Breaking · Kubernetes 1.31 upgrade&lt;/strong&gt; — takes effect 1 October 2026&lt;/p&gt;&lt;p&gt;Production upgrades run in three waves starting &lt;strong&gt;1 October&lt;/strong&gt;. Any workload
still declaring &lt;code&gt;networking.k8s.io/v1beta1&lt;/code&gt; Ingress objects will fail to
deploy once its cluster is upgraded.&lt;/p&gt;
&lt;p&gt;Run &lt;code&gt;kubectl deprecations --context &amp;lt;your-cluster&amp;gt;&lt;/code&gt; to see whether you are
affected. The migration guide has the before-and-after manifests.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you need to do&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Run &lt;code&gt;kubectl deprecations --context &amp;lt;your-cluster&amp;gt;&lt;/code&gt; against every cluster your team owns.&lt;/li&gt;&lt;li&gt;Move any v1beta1 Ingress objects to &lt;code&gt;networking.k8s.io/v1&lt;/code&gt;, using the &lt;a href=&quot;https://github.com/example-org/devops-runbooks/blob/main/k8s-1-31.md&quot;&gt;before-and-after manifests&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Tell us in #devops if you cannot make 1 October, before the waves start.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title type="text">Jenkins pipelines: 38 pipelines still to migrate before the March 2027 shutdown</title>
    <id>https://anonycoders.github.io/signpost-sample/streamlines/devops/jenkins-pipelines/#update-2026-09-08-38-pipelines-still-to-migrate-before-the-march</id>
    <link rel="alternate" type="text/html" href="https://anonycoders.github.io/signpost-sample/streamlines/devops/jenkins-pipelines/#update-2026-09-08-38-pipelines-still-to-migrate-before-the-march"/>
    <updated>2026-09-08T00:00:00.000Z</updated>
    <author><name>Milan Petrovic</name></author>
    <category term="DevOps"/>
    <category term="Infrastructure"/>
    <category term="Action required"/>
    <summary type="text">We will contact owning teams individually from October. If your pipeline is on the list and you think it should simply be deleted, tell us — that is often the right answer for pipelines nobody has run this year.</summary>
    <content type="html">&lt;p&gt;&lt;strong&gt;Action required · Jenkins pipelines&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;We will contact owning teams individually from October. If your pipeline is
on the list and you think it should simply be deleted, tell us — that is
often the right answer for pipelines nobody has run this year.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title type="text">Kubernetes 1.31 upgrade: All staging clusters are running 1.31</title>
    <id>https://anonycoders.github.io/signpost-sample/streamlines/devops/kubernetes-1-31-upgrade/#update-2026-09-01-all-staging-clusters-are-running-1-31</id>
    <link rel="alternate" type="text/html" href="https://anonycoders.github.io/signpost-sample/streamlines/devops/kubernetes-1-31-upgrade/#update-2026-09-01-all-staging-clusters-are-running-1-31"/>
    <updated>2026-09-01T00:00:00.000Z</updated>
    <author><name>Jana Okafor</name></author>
    <author><name>Milan Petrovic</name></author>
    <category term="DevOps"/>
    <category term="Infrastructure"/>
    <category term="Info"/>
    <summary type="text">Staging has been stable for two weeks. This is the window to catch problems before the production waves begin.</summary>
    <content type="html">&lt;p&gt;&lt;strong&gt;Info · Kubernetes 1.31 upgrade&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Staging has been stable for two weeks. This is the window to catch problems
before the production waves begin.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title type="text">Secret scanning and push protection: Scanning runs in report-only mode across every repository</title>
    <id>https://anonycoders.github.io/signpost-sample/streamlines/devops/secret-scanning/#update-2026-06-15-scanning-runs-in-report-only-mode-across-every</id>
    <link rel="alternate" type="text/html" href="https://anonycoders.github.io/signpost-sample/streamlines/devops/secret-scanning/#update-2026-06-15-scanning-runs-in-report-only-mode-across-every"/>
    <updated>2026-06-15T00:00:00.000Z</updated>
    <author><name>Priya Raman</name></author>
    <category term="DevOps"/>
    <category term="Security"/>
    <category term="Info"/>
    <summary type="text">No pushes are blocked yet. Findings go to the owning team&apos;s channel so you can start rotating without a deadline hanging over you.</summary>
    <content type="html">&lt;p&gt;&lt;strong&gt;Info · Secret scanning and push protection&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;No pushes are blocked yet. Findings go to the owning team&amp;#39;s channel so you
can start rotating without a deadline hanging over you.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title type="text">Self-hosted GitHub Actions runners: Runners are generally available and are now the default for new repositories</title>
    <id>https://anonycoders.github.io/signpost-sample/streamlines/devops/github-actions-runners/#update-2026-06-01-runners-are-generally-available-and-are-now-the</id>
    <link rel="alternate" type="text/html" href="https://anonycoders.github.io/signpost-sample/streamlines/devops/github-actions-runners/#update-2026-06-01-runners-are-generally-available-and-are-now-the"/>
    <updated>2026-06-01T00:00:00.000Z</updated>
    <author><name>Milan Petrovic</name></author>
    <category term="DevOps"/>
    <category term="Infrastructure"/>
    <category term="Info"/>
    <summary type="text">Capacity has been stable through three months of rollout. New repositories created from the golden path templates get runner access automatically.</summary>
    <content type="html">&lt;p&gt;&lt;strong&gt;Info · Self-hosted GitHub Actions runners&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Capacity has been stable through three months of rollout. New repositories
created from the golden path templates get runner access automatically.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title type="text">Kubernetes 1.31 upgrade: Upgrade plan agreed, work has started</title>
    <id>https://anonycoders.github.io/signpost-sample/streamlines/devops/kubernetes-1-31-upgrade/#update-2026-03-02-upgrade-plan-agreed-work-has-started</id>
    <link rel="alternate" type="text/html" href="https://anonycoders.github.io/signpost-sample/streamlines/devops/kubernetes-1-31-upgrade/#update-2026-03-02-upgrade-plan-agreed-work-has-started"/>
    <updated>2026-03-02T00:00:00.000Z</updated>
    <author><name>Jana Okafor</name></author>
    <author><name>Milan Petrovic</name></author>
    <category term="DevOps"/>
    <category term="Infrastructure"/>
    <category term="Info"/>
    <summary type="text">Upgrade plan agreed, work has started</summary>
    <content type="html">&lt;p&gt;&lt;strong&gt;Info · Kubernetes 1.31 upgrade&lt;/strong&gt;&lt;/p&gt;</content>
  </entry>
  <entry>
    <title type="text">Jenkins pipelines: Jenkins is deprecated — move to GitHub Actions runners</title>
    <id>https://anonycoders.github.io/signpost-sample/streamlines/devops/jenkins-pipelines/#update-2026-02-16-jenkins-is-deprecated-move-to-github-actions</id>
    <link rel="alternate" type="text/html" href="https://anonycoders.github.io/signpost-sample/streamlines/devops/jenkins-pipelines/#update-2026-02-16-jenkins-is-deprecated-move-to-github-actions"/>
    <updated>2026-02-16T00:00:00.000Z</updated>
    <author><name>Milan Petrovic</name></author>
    <category term="DevOps"/>
    <category term="Infrastructure"/>
    <category term="Action required"/>
    <summary type="text">No new pipelines will be created on Jenkins. Existing ones keep running until 31 March 2027, after which the servers are switched off.</summary>
    <content type="html">&lt;p&gt;&lt;strong&gt;Action required · Jenkins pipelines&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;No new pipelines will be created on Jenkins. Existing ones keep running
until &lt;strong&gt;31 March 2027&lt;/strong&gt;, after which the servers are switched off.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title type="text">Self-hosted GitHub Actions runners: Start migrating your pipelines — Jenkins switches off in March 2027</title>
    <id>https://anonycoders.github.io/signpost-sample/streamlines/devops/github-actions-runners/#update-2026-02-16-start-migrating-your-pipelines-jenkins-switches</id>
    <link rel="alternate" type="text/html" href="https://anonycoders.github.io/signpost-sample/streamlines/devops/github-actions-runners/#update-2026-02-16-start-migrating-your-pipelines-jenkins-switches"/>
    <updated>2026-02-16T00:00:00.000Z</updated>
    <author><name>Milan Petrovic</name></author>
    <category term="DevOps"/>
    <category term="Infrastructure"/>
    <category term="Action required"/>
    <summary type="text">Migration is self-service and most pipelines take under a day. Book time with us in #devops if yours is unusual.</summary>
    <content type="html">&lt;p&gt;&lt;strong&gt;Action required · Self-hosted GitHub Actions runners&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Migration is self-service and most pipelines take under a day. Book time
with us in &lt;code&gt;#devops&lt;/code&gt; if yours is unusual.&lt;/p&gt;
</content>
  </entry>
</feed>
