<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Guides on StormForge Documentation</title>
		<link>/v2/docs/guides/</link>
		<description>Recent content in Guides on StormForge Documentation</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<atom:link href="/v2/docs/guides/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Try a sample application on your own cluster</title>
				<link>/v2/docs/guides/showcase-app/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/v2/docs/guides/showcase-app/</guid>
				<description>&lt;p&gt;The Showcase application is a sample application we developed to create load, enabling you to experiment with StormForge on your own cluster: generate, view, and apply recommendations, observe how our machine learning rightsizes workloads, and set values to generate recommendations based on your organizational needs.&lt;/p&gt;&#xA;&lt;p&gt;This application creates a single Kubernetes Deployment (workload) that generates variable load using one CPU core for 24 hours. StormForge collects metrics on this workload and generates recommendations to rightsize it.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Try the StormForge sandbox</title>
				<link>/v2/docs/guides/sandbox/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/v2/docs/guides/sandbox/</guid>
				<description>&lt;p&gt;If you don&amp;rsquo;t have a cluster of your own, you can check out StormForge running in a view-only sandbox.&lt;/p&gt;&#xA;&lt;p&gt;The sandbox contains two clusters, &lt;!-- each with the StormForge Agent installed, and--&gt; each running the same simulated e-commerce application.&lt;/p&gt;&#xA;&lt;p&gt;This guide walks you through a comparison of optimized and non-optimized workloads, showing you how StormForge machine learning rightsizes your workloads based on the metrics it collects.&lt;/p&gt;&#xA;&lt;h2 id=&#34;log-in-to-the-sandbox&#34;&gt;Log in to the sandbox&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#log-in-to-the-sandbox&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;To preview StormForge (with view-only privileges) without having to install anything, go to the &lt;a href=&#34;https://stormforge.io/sandbox/&#34;&gt;&lt;strong&gt;sandbox landing page&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Manage workloads</title>
				<link>/v2/docs/guides/workload-management/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/v2/docs/guides/workload-management/</guid>
				<description>&lt;p&gt;&lt;strong&gt;Topics:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#add-workloads&#34;&gt;Adding workloads&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#delete-workloads&#34;&gt;Deleting workloads&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#restore-workloads&#34;&gt;Restoring workloads&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;#stop-optimization&#34;&gt;Excluding a workload from optimization&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;add-workloads&#34;&gt;Adding workloads&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#add-workloads&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;StormForge automatically detects when the following types are added to a cluster:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Any Kubernetes Workload object (CronJob, DaemonSet, Deployment, ReplicaSet, StatefulSet) and HPA&lt;/li&gt;&#xA;&lt;li&gt;Workloads scaled by a KEDA-owned HPA (ScaledObjects in &lt;code&gt;keda.sh&lt;/code&gt; apiGroup)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;When StormForge detects a new workload:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Within about 2 minutes, StormForge starts generating preliminary recommendations for the workload and updating the UI with workload and recommendation details. Preliminary recommendations cannot be applied automatically, but can be applied on demand.&#xA;StormForge generates these preliminary recommendations for the duration of the workload&amp;rsquo;s learning period.&lt;/li&gt;&#xA;&lt;li&gt;When a workload&amp;rsquo;s learning period is complete, StormForge generates recommendations that can be deployed either automatically or on demand.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Related information:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Monitoring the health of StormForge</title>
				<link>/v2/docs/guides/monitoring-health-optlive/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/v2/docs/guides/monitoring-health-optlive/</guid>
				<description>&lt;h2 id=&#34;status-metrics&#34;&gt;Status metrics&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#status-metrics&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;StormForge Agent components expose health and status metrics that are valuable for monitoring the health of StormForge. Health and status metrics are different from the workload metrics StormForge needs to create request and limit recommendations. (See the &lt;a href=&#34;/v2/docs/reference/faq-security/#metrics&#34;&gt;Security FAQ&lt;/a&gt; for the list and descriptions of the workload metrics.)&lt;/p&gt;&#xA;&lt;p&gt;Health and status metrics for each StormForge component are listed in the table below, under the component that produces them.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Configure applier alerts</title>
				<link>/v2/docs/guides/applier-alerts/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/v2/docs/guides/applier-alerts/</guid>
				<description>&lt;p&gt;The StormForge Applier can send an HTTP webhook notification each time it successfully applies a recommendation to a workload. You can configure one or more endpoints to receive these alerts, with optional custom payload formatting and bearer token authentication. Use this to connect StormForge to your existing observability or incident management workflows.&lt;/p&gt;&#xA;&lt;h2 id=&#34;how-alerts-work&#34;&gt;How alerts work&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#how-alerts-work&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;When the Applier applies a patch, it sends an HTTP POST to each configured endpoint. The request includes the header &lt;code&gt;X-Event-Type: recommendation applied&lt;/code&gt;. The body contains either the full JSON recommendation object (default) or a custom payload that you can define using a Go template.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to use StormForge and Argo CD together</title>
				<link>/v2/docs/guides/argo-cd/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/v2/docs/guides/argo-cd/</guid>
				<description>&lt;p&gt;StormForge and Argo CD are fully compatible — Argo CD just needs to be configured to understand that StormForge is operating in the environment.&lt;/p&gt;&#xA;&lt;p&gt;After you &lt;a href=&#34;/v2/docs/installation/install-v2/&#34;&gt;install StormForge&lt;/a&gt;, add the following system-level reconcile configuration option to the &lt;code&gt;argocd-cm&lt;/code&gt; ConfigMap:&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-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;data&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;resource.customizations.ignoreDifferences.all&lt;/span&gt;: |&lt;span style=&#34;color:#e6db74&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    managedFieldsManagers:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;    - stormforge&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For more information on the underlying Kubernetes feature that enables managers like ArgoCD and StormForge to co-function, see:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://kubernetes.io/docs/reference/using-api/server-side-apply/&#34;&gt;Server-Side Apply details&lt;/a&gt;  in the Kubernetes docs&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/&#34;&gt;Diffing Customization&lt;/a&gt; in the Argo CD docs&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
			</item>
			<item>
				<title>StormForge Kustomize export</title>
				<link>/v2/docs/guides/kustomize-export/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/v2/docs/guides/kustomize-export/</guid>
				<description>&lt;p&gt;For infrastructure workflows fully automated by a CI pipeline and Kustomize, an alternative option for deployment of recommended resource settings may be to incorporate StormForge’s recommendations into the CI pipeline.&lt;/p&gt;&#xA;&lt;p&gt;Because Kustomizations (&lt;code&gt;kustomization.yaml&lt;/code&gt; files) often serve as the entrypoint for application definitions in tools like Flux CD, tying into Kustomize is frequently the easiest way to automate resource settings if an organization wants or needs to do that during the CI/CD process, rather than managing these settings with a controller.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Import recommendation data into APM tools</title>
				<link>/v2/docs/guides/apm_export/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/v2/docs/guides/apm_export/</guid>
				<description>&lt;p&gt;By creating a Prometheus scrape job, StormForge exports recommendation data as Prometheus metrics, which you can import into other application performance management (APM) tools.&lt;/p&gt;&#xA;&lt;p&gt;To define a scrape job to get recommendation data:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Edit the &lt;code&gt;prometheus-server&lt;/code&gt; ConfigMap in the &lt;code&gt;prometheus&lt;/code&gt; namespace:&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;kubectl edit configmap -n prometheus prometheus-server&#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;Add the following scrape job to the &lt;code&gt;scrape_configs:&lt;/code&gt; section of the ConfigMap.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Replace SF_CLIENT_ID with the clientID value in your cluster credential file.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Transparent proxy configuration</title>
				<link>/v2/docs/guides/proxy-config/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/v2/docs/guides/proxy-config/</guid>
				<description>&lt;p&gt;If you use a transparent proxy, you need to configure StormForge to trust the proxy&amp;rsquo;s root certificate authority (CA). To do this, mount the proxy&amp;rsquo;s root CA certificate using a volume, then use &lt;code&gt;additionalEnvVars&lt;/code&gt; to configure StormForge to use the mounted bundle.&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;ul&gt;&#xA;&lt;li&gt;Helm version 3.14.0 or later (required for the &lt;code&gt;--reset-then-reuse&lt;/code&gt; parameter)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#steps&#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;Copy the YAML below into a new file named, for example, &lt;code&gt;transparent-proxy-values.yaml&lt;/code&gt;. This example assumes the required root CA is available in a ConfigMap, but any &lt;code&gt;core/v1 Volumes&lt;/code&gt; type can be used (see the related link below).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Manage secrets with a third-party credential manager</title>
				<link>/v2/docs/guides/manage-secrets/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/v2/docs/guides/manage-secrets/</guid>
				<description>&lt;p&gt;By default, StormForge uses Helm to create and update its credentials Secret. However, if you would like to use a third-party credential manager (for example, to rotate secrets), you can choose to disable Helm management of the credentials secret.&lt;/p&gt;&#xA;&lt;p&gt;When Helm management of the credentials secret is disabled, you must:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Create the &lt;code&gt;stormforge-system&lt;/code&gt; namespace before you install the agent.&lt;/li&gt;&#xA;&lt;li&gt;Create the &lt;code&gt;stormforge-agent-auth&lt;/code&gt; secret, and populate it with the required credentials, before you install the agent.&lt;/li&gt;&#xA;&lt;li&gt;Maintain the &lt;code&gt;stormforge-agent-auth&lt;/code&gt; secret yourself, manually or with a third-party credential manager.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;&lt;div class=&#34;h4 alert-heading&#34; role=&#34;heading&#34;&gt;Note&lt;/div&gt;&#xA;&lt;p&gt;If you are &lt;strong&gt;not&lt;/strong&gt; using a third-party credential management tool, you do &lt;strong&gt;not&lt;/strong&gt; need to follow the steps in this guide. Instead, follow the steps in the &lt;a href=&#34;/v2/docs/installation/install-v2/&#34;&gt;Install&lt;/a&gt; topic. You still have to create an access credential (as described in the Install topic), but StormForge will create and manage the secret for you.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Optimize custom workloads using CRDs</title>
				<link>/v2/docs/guides/custom-resource-workloads/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/v2/docs/guides/custom-resource-workloads/</guid>
				<description>&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;&lt;div class=&#34;h4 alert-heading&#34; role=&#34;heading&#34;&gt;When to use this guide&lt;/div&gt;&#xA;&lt;p&gt;Use this guide if your organization defines workloads with CRDs, for example:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Custom workloads&lt;/strong&gt; unique to your organization&amp;rsquo;s platform.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Third-party operators&lt;/strong&gt; such as GitHub&amp;rsquo;s &lt;a href=&#34;https://github.com/actions/actions-runner-controller&#34;&gt;Actions Runner Controller (ARC)&lt;/a&gt; or Apache Spark applications.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;By default, StormForge supports standard Kubernetes workload types such as &lt;code&gt;Deployments&lt;/code&gt;, &lt;code&gt;StatefulSets&lt;/code&gt;, and &lt;code&gt;DaemonSets&lt;/code&gt;, as well as common third-party workload types, such as &lt;code&gt;Argo Rollouts&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;StormForge also supports custom workload types defined by Custom Resource Definitions (CRDs). If your CRD represents the workload itself, you can configure StormForge to recognize and optimize it using the &lt;code&gt;workloadResourceTypes&lt;/code&gt; Helm parameter.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Optimize workloads owned by custom operators using CRDs</title>
				<link>/v2/docs/guides/operator-owned-workloads/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/v2/docs/guides/operator-owned-workloads/</guid>
				<description>&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;&lt;div class=&#34;h4 alert-heading&#34; role=&#34;heading&#34;&gt;When to use this guide&lt;/div&gt;&#xA;&lt;p&gt;Use this guide if your organization manages workloads with custom operators and you want greater control over owner identification and patch application.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;In Kubernetes, operators—or custom controllers—can manage workloads. For example, a custom resource might own and manage a &lt;code&gt;Deployment&lt;/code&gt; workload. StormForge automatically detects these ownership relationships.&lt;/p&gt;&#xA;&lt;p&gt;When another resource (an operator) owns a workload, StormForge typically targets this &lt;strong&gt;owner&lt;/strong&gt; for patching rather than the workload. This way, changes persist and aren&amp;rsquo;t overwritten by the operator&amp;rsquo;s reconciliation loop.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Subscribe through AWS Marketplace</title>
				<link>/v2/docs/guides/aws_marketplace/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>/v2/docs/guides/aws_marketplace/</guid>
				<description>&lt;p&gt;With pay-as-you-go billing, you can subscribe to StormForge and get billed through your &lt;a href=&#34;https://aws.amazon.com/&#34;&gt;AWS account&lt;/a&gt;.&#xA;Billing is based on an hourly rate, per the number of requested CPU cores for each cluster connected to your StormForge account. There is no upfront or minimum cost.&lt;/p&gt;&#xA;&lt;p&gt;See the &lt;a href=&#34;https://docs.aws.amazon.com/marketplace/latest/buyerguide/saas-subscriptions.html&#34;&gt;AWS Marketplace - Buyers Guide&lt;/a&gt;&#xA;for details on the AWS Marketplace and the &lt;a href=&#34;https://aws.amazon.com/marketplace/pp/prodview-pcp2mkraouwbk?trk=8d276e92-b310-40ce-908f-23a198ca7ffc&amp;amp;sc_channel=el&amp;amp;source=stormforge&#34;&gt;StormForge product page&lt;/a&gt; for StormForge pricing.&lt;/p&gt;&#xA;&lt;h2 id=&#34;subscribing-to-stormforge&#34;&gt;Subscribing to StormForge&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#subscribing-to-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;Navigate to the &lt;a href=&#34;https://aws.amazon.com/marketplace/pp/prodview-pcp2mkraouwbk?trk=8d276e92-b310-40ce-908f-23a198ca7ffc&amp;amp;sc_channel=el&amp;amp;source=stormforge&#34;&gt;StormForge product page&lt;/a&gt; in the AWS Marketplace.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
