<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Installation on StormForge Documentation</title>
		<link>/docs/installation/</link>
		<description>Recent content in Installation on StormForge Documentation</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<atom:link href="/docs/installation/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Basic installation</title>
				<link>/docs/installation/install/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/installation/install/</guid>
				<description>&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#prerequisites&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A Kubernetes cluster (from any Kubernetes distribution, such as EKS, AKS, GKE, minikube, or kind)&lt;/li&gt;&#xA;&lt;li&gt;A StormForge account — sign up for free at &lt;strong&gt;&lt;a href=&#34;https://app.stormforge.io/signup&#34;&gt;app.stormforge.io/signup&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;In an enterprise environment, make sure a system administrator has addressed &lt;a href=&#34;/docs/installation/install-adv/#prerequisites&#34;&gt;additional prerequisites (such as firewall rules and proxies)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;install-stormforge&#34;&gt;Install StormForge&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#install-stormforge&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Log in to &lt;strong&gt;&lt;a href=&#34;https://app.stormforge.io/&#34;&gt;app.stormforge.io&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If you are setting up StormForge for the first time, you will be automatically taken to the &lt;strong&gt;Add Cluster&lt;/strong&gt; page — continue to step 3.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Advanced installation</title>
				<link>/docs/installation/install-adv/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/installation/install-adv/</guid>
				<description>&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#prerequisites&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A &lt;a href=&#34;https://app.stormforge.io&#34;&gt;StormForge Account&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Kubernetes version 1.24 or later&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;helm&lt;/code&gt; version 3.14.0 or later&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;kubectl&lt;/code&gt; configured with access to your cluster&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;cluster-admin&lt;/code&gt; access (for installation only)&lt;/li&gt;&#xA;&lt;li&gt;A Kubernetes cluster and a name to identify it in StormForge.&lt;br&gt;&#xA;The name cannot exceed 63 characters, cannot start or end with a dash (&lt;code&gt;-&lt;/code&gt;), and must follow the &lt;a href=&#34;https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names&#34;&gt;RFC 1123 DNS label standard&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#if-you-have-a-proxy-server&#34;&gt;Configure a proxy&lt;/a&gt;, if needed&lt;/li&gt;&#xA;&lt;li&gt;If you use a private container registry, &lt;a href=&#34;#if-you-have-a-private-container-registry&#34;&gt;import the required containers&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Configure firewall rules, including granting Kubernetes clusters access to these StormForge service endpoints on port 443:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;api.stormforge.io&lt;/li&gt;&#xA;&lt;li&gt;in.stormforge.io&lt;/li&gt;&#xA;&lt;li&gt;registry.stormforge.io*&lt;br&gt;&#xA;&lt;em&gt;(*If you configure the Agent to use an internal registry, you don&amp;rsquo;t need to grant cluster access to this endpoint)&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;set-up-the-stormforge-cli&#34;&gt;Set up the StormForge CLI&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#set-up-the-stormforge-cli&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The StormForge CLI is used to authenticate, retrieve credentials, and register StormForge on your Kubernetes cluster.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Agent configuration</title>
				<link>/docs/installation/agent-config/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/installation/agent-config/</guid>
				<description>&lt;p&gt;This topic describes the additional parameters available for configuring the StormForge Agent, as well as shared top-level parameters that apply to all StormForge components. For parameters that apply to the StormForge Applier, see the &lt;a href=&#34;/docs/installation/applier-config/&#34;&gt;Applier configuration&lt;/a&gt; topic.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Agent parameters:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#manage-auth-secret&#34;&gt;Third-party secret management&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#openshift&#34;&gt;Installing on Red Hat OpenShift&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#namespace-lists&#34;&gt;Namespace allowList and denyList&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#pods-mounts-volumes&#34;&gt;Additional volumes and volume mounts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#pod-priority&#34;&gt;Pod priority and scheduling&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#gke-autopilot&#34;&gt;GKE Autopilot&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#cluster-labels&#34;&gt;Cluster labels and provider&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#network-policies&#34;&gt;Network policies&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;manage-auth-secret&#34;&gt;Third-party secret management&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#manage-auth-secret&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Controls whether the StormForge Agent creates and manages its authorization secret.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Applier configuration</title>
				<link>/docs/installation/applier-config/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/installation/applier-config/</guid>
				<description>&lt;p&gt;This topic describes the additional parameters available for configuring the StormForge Applier. For parameters that apply to the StormForge Agent, see the &lt;a href=&#34;/docs/installation/agent-config/&#34;&gt;Agent configuration&lt;/a&gt; topic.&lt;/p&gt;&#xA;&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;&#xA;&lt;p&gt;The Applier is enabled by default. To disable it, add &lt;code&gt;--set applier.enabled=false&lt;/code&gt; to your Helm install or upgrade command.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;strong&gt;Applier settings:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#continuous-rec&#34;&gt;Continuous reconciliation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#rbac&#34;&gt;Additional RBAC permissions&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#alerts&#34;&gt;Applier alerts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#auto-deploy-exempt&#34;&gt;Auto-deploy exempt namespaces&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#suspend&#34;&gt;Suspend the Applier&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#pod-priority&#34;&gt;Pod priority and scheduling&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;continuous-rec&#34;&gt;Continuous reconciliation&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#continuous-rec&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Controls resource patching behavior based on CI/CD and cluster activity. &lt;a href=&#34;/docs/configure/settings/apply-settings/#auto-deploy&#34;&gt;Auto-deploy&lt;/a&gt; must be enabled.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Exporter configuration</title>
				<link>/docs/installation/exporter-config/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/installation/exporter-config/</guid>
				<description>&lt;p&gt;The Exporter collects workload metrics and forwards them to StormForge. This topic covers the additional configuration parameters available.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Exporter parameters:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#private-registry&#34;&gt;Private container registry&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#additional-scrape-configs&#34;&gt;Additional scrape configs&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#scrape-interval&#34;&gt;Scrape interval and timeout&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#storage-volume&#34;&gt;Storage volume size&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#pod-priority&#34;&gt;Pod priority and scheduling&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;private-registry&#34;&gt;Private container registry&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#private-registry&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Override the Exporter image repository for environments that use a private container registry.&lt;/p&gt;&#xA;&lt;table class=&#34;td-initial table&#34;&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Helm parameter&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Default value&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;exporter.image.repository&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;quay.io/prometheus/prometheus&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;exporter.image.tag&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;(pinned to a tested Prometheus version)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;private-registry-description&#34;&gt;Description&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#private-registry-description&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;The Exporter uses the Prometheus container image, separate from the StormForge Agent image. When using a private registry, you must push the Prometheus image to your registry and set &lt;code&gt;exporter.image.repository&lt;/code&gt; accordingly.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Webhook configuration</title>
				<link>/docs/installation/webhook-config/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/installation/webhook-config/</guid>
				<description>&lt;p&gt;&lt;strong&gt;Webhook parameters:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#webhook-enabled&#34;&gt;Enable or disable the webhook&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#namespace-lists&#34;&gt;Namespace allow and deny lists&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#tls&#34;&gt;TLS configuration&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#failure-policy&#34;&gt;Failure policy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;webhook-enabled&#34;&gt;Enable or disable the webhook&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#webhook-enabled&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Controls whether the Applier uses a &lt;a href=&#34;https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/&#34;&gt;mutating admission webhook&lt;/a&gt; to apply recommendations.&lt;/p&gt;&#xA;&lt;table class=&#34;td-initial table&#34;&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Parameter&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Default value&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;webhook.enabled&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;webhook-enabled-description&#34;&gt;Description&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#webhook-enabled-description&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;By default, the Applier can use a mutating admission webhook to apply recommendations. This setting also grants the additional RBAC permissions required for webhook operation to the Applier.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Cluster defaults templates</title>
				<link>/docs/installation/cluster-defaults-templates/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/installation/cluster-defaults-templates/</guid>
				<description>&lt;p&gt;The StormForge Agent reads cluster-level optimization defaults from a ConfigMap named &lt;code&gt;cluster-defaults&lt;/code&gt; in the &lt;code&gt;stormforge-system&lt;/code&gt; namespace. You can create and manage this ConfigMap using &lt;code&gt;kubectl&lt;/code&gt; or your GitOps tool. For full management details, see &lt;a href=&#34;/docs/configure/cluster-defaults/&#34;&gt;Configure optimization defaults for the cluster&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;check-current-cluster-defaults&#34;&gt;Check current cluster defaults&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#check-current-cluster-defaults&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;To check whether any defaults are already set:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;kubectl describe configmap cluster-defaults -n stormforge-system&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If you see &lt;code&gt;Error from server (NotFound): configmaps &amp;quot;cluster-defaults&amp;quot; not found&lt;/code&gt;, no cluster-level defaults are set.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Install StormForge as an EKS add-on</title>
				<link>/docs/installation/install-eks-addon/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/installation/install-eks-addon/</guid>
				<description>&lt;p&gt;If you&amp;rsquo;re running an Amazon EKS cluster, you can install StormForge as an EKS add-on in one of two ways:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#eks-ui&#34;&gt;Using the EKS UI and StormForge UI&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#eks-cli&#34;&gt;Using the EKS CLI and StormForge UI&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#prerequisites&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;An Amazon EKS cluster&lt;/li&gt;&#xA;&lt;li&gt;A StormForge account — &lt;a href=&#34;https://stormforge.io/signup&#34;&gt;sign up for a free trial&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;eks-ui&#34;&gt;Install using the EKS UI and StormForge UI&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#eks-ui&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;install-the-add-on&#34;&gt;Install the add-on&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#install-the-add-on&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Open two browser windows side by side.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Install on Red Hat OpenShift Container Platform</title>
				<link>/docs/installation/install-openshift/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/installation/install-openshift/</guid>
				<description>&lt;p&gt;Red Hat OpenShift Container Platform is a Kubernetes solution for both cloud and on-premises with providers such as AWS, Google and Microsoft Azure. StormForge is compatible with OpenShift Container Platform versions 4.x and later.&lt;/p&gt;&#xA;&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#installation&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;To install StormForge on OpenShift, do one of the following:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;In the StormForge &lt;code&gt;values.yaml&lt;/code&gt; file, set &lt;code&gt;openshift: true&lt;/code&gt; as a top-level key-value pair, and then apply the file:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;kubectl apply -f values.yaml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Include the &lt;code&gt;--set openshift=true&lt;/code&gt; argument when you run &lt;code&gt;helm install&lt;/code&gt;, as in this example:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Upgrade</title>
				<link>/docs/installation/upgrade/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/installation/upgrade/</guid>
				<description>&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;(Optional) Review the current Helm values:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;helm get values stormforge -n stormforge-system&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To change any values, save the output to a &lt;code&gt;.yaml&lt;/code&gt; file and modify it as needed. When you upgrade, pass the adjusted file to Helm using the &lt;code&gt;-f&lt;/code&gt; flag.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Upgrade and reuse all current Helm values:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;helm upgrade stormforge oci://registry.stormforge.io/library/stormforge &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  -n stormforge-system &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  --reset-then-reuse-values&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;section-index related-topics&#34;&gt;&#xA;    &#xA;    &lt;hr class=&#34;panel-line&#34;&gt;&#xA;        &lt;h4&gt;Related topics&lt;/h4&gt;&#xA;        &lt;div class=&#34;entry&#34;&gt;&#xA;                &lt;h5&gt;&#xA;                    &#xA;                    Installation&lt;span class=&#34;related-topics-divider&#34;&gt;/&lt;/span&gt;&lt;a href=&#34;/docs/installation/migration/&#34;&gt;Migrate v2 → v3&lt;/a&gt;&#xA;                &lt;/h5&gt;&#xA;                &lt;p&gt;Migrate from separate Agent and Applier Helm charts to a unified StormForge chart&lt;/p&gt;</description>
			</item>
			<item>
				<title>Uninstall</title>
				<link>/docs/installation/uninstall/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/installation/uninstall/</guid>
				<description>&lt;p&gt;Uninstall StormForge when you want to stop optimizing workloads on a cluster or before you delete a cluster from StormForge:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;helm uninstall stormforge -n stormforge-system&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Uninstalling removes the StormForge components but leaves the StormForge CRDs — and any custom resources, such as optimization configurations — in place. This is expected: it ensures your optimization configuration survives a reinstall.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Migrate from v2 to v3</title>
				<link>/docs/installation/migration/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/docs/installation/migration/</guid>
				<description>&lt;p&gt;With v3, the separate &lt;code&gt;stormforge-agent&lt;/code&gt; and &lt;code&gt;stormforge-applier&lt;/code&gt; Helm charts are combined into a single &lt;code&gt;stormforge&lt;/code&gt; chart.&lt;/p&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#prerequisites&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Before you begin, ensure you have:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;/docs/installation/install-adv/#set-up-the-stormforge-cli&#34;&gt;The StormForge CLI installed&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Access to the &lt;code&gt;values.yaml&lt;/code&gt; files for the Agent and/or the Applier&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;webhook-considerations&#34;&gt;Webhook considerations&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#webhook-considerations&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The v3 chart&amp;rsquo;s &lt;code&gt;MutatingWebhookConfiguration&lt;/code&gt; reuses the name of the v2 applier webhook. This means:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Helm-managed installs&lt;/strong&gt;: If a v2 Applier is still installed when you run &lt;code&gt;helm install stormforge&lt;/code&gt;, Helm&amp;rsquo;s release-ownership check will refuse to install.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;GitOps users (ArgoCD, Flux, kubectl apply)&lt;/strong&gt;: There is no automatic conflict detection. You &lt;strong&gt;must&lt;/strong&gt; fully remove the v2 Applier before applying the v3 manifests. Failing to do so will result in two conflicting &lt;code&gt;MutatingWebhookConfiguration&lt;/code&gt; resources.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;crd-considerations&#34;&gt;CRD considerations&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#crd-considerations&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;When you uninstall the v2 Agent, the &lt;code&gt;optimize.stormforge.io&lt;/code&gt; CustomResourceDefinitions (CRDs) — and all associated custom resources, such as optimization configurations — remain on your cluster. This is expected, as &lt;code&gt;helm uninstall&lt;/code&gt; doesn&amp;rsquo;t remove CRDs. &lt;strong&gt;Don&amp;rsquo;t delete them manually.&lt;/strong&gt; Deleting a CRD removes every associated custom resource from the cluster.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
