Skip to content
Open
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions packs/stormforge-agent-2.0.3/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Optimize Live

StormForge Optimize Live applies machine learning to your existing observability metrics to make real-time, actionable recommendations to resource settings for any deployment active in Kubernetes


# Prerequisites

- Kubernetes version 1.16 or later

- Supported Metrics source (Prometheus or Datadog) along with Kube State Metrics. Check out the [Deploy Monitoring](https://docs.spectrocloud.com/clusters/cluster-management/monitoring/deploy-monitor-stack) guide to learn how to enable Prometheus with Palette.

- StormForge Command Line Interface Tool (v3.0.0+). Refer to the [StormForge CLI Install Guide](https://docs.stormforge.io/stormforge-cli/) for install steps.


- A [StormForge Account](https://app.stormforge.io/)




# Usage

StormForge Optimize Live applies machine learning to your existing observability metrics to make real-time, actionable recommendations to resource settings for any deployment running in Kubernetes. Save cloud resources and money, reduce the business risk of poorly performing applications, and get your developers focused on innovating, not tuning your Kubernetes environment.

You can use Stormforge with all the Palette-supported infrastructure providers.

To get started with Stormforge, check out the [Configuration](https://docs.stormforge.io/optimize-live/getting-started/configuration/) guide from Stormforge.


# References

- [Stormforge Documentation](https://docs.stormforge.io)


- [Stormforge FAQ](https://docs.stormforge.io/perftest/faq/)


- [Configuration using a CRD](https://docs.stormforge.io/optimize-live/guides/create-app-crd/)


- [Environment variables](https://docs.stormforge.io/optimize-live/reference/envvar/)


Binary file not shown.
Binary file added packs/stormforge-agent-2.0.3/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 14 additions & 0 deletions packs/stormforge-agent-2.0.3/pack.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"name": "stormforge-optimize-live-agent",
"displayName": "Stormforge Optimize Live Agent",
"layer": "addon",
"version": "2.0.3",
"cloudTypes": [
"all"
],
"charts": [
"charts/stormforge-agent-2.0.3.tgz"
],
"addonType": "monitoring",
"annotations": {}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These packs should have additional annotations to differentiate community vs spectrocloud managed.

}
7 changes: 7 additions & 0 deletions packs/stormforge-agent-2.0.3/schema.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
charts.stormforge-agent.authorization.clientID:
schema: '{{ required }}'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A hint will be useful in all these schema for novice users. Check doc on hints usage. Will give a tooltip in the UI for users to understand what these fields are.

charts.stormforge-agent.authorization.clientSecret:
schema: '{{ required | format "${password}" }}'

charts.stormforge-agent.stormforge.clusterName:
schema: '{{ required }}'
124 changes: 124 additions & 0 deletions packs/stormforge-agent-2.0.3/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
pack:
namespace: "stormforge-system"
content:
images:
- image: registry.stormforge.io/optimize/workload-agent:2.0.3
charts:
- repo: https://registry.stormforge.io/chartrepo/library/
name: stormforge-agent
version: 2.0.3
#- repo: https://registry.stormforge.io/chartrepo/library/
# name: stormforge-applier
# version: 2.0.3

# Default values for optimize-live.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

charts:
stormforge-agent:
##
# StormForge Agent Settings
##

### Required Configuration ###

# The following required values will be supplied by `stormforge create auth`.
#
# ---
stormforge:
address: "https://api.stormforge.io/"
clusterName:
authorization:
clientID:
clientSecret:
issuer: "https://api.stormforge.io/"

### End Required Configuration ###

# proxyUrl: "https://proxy.example.com"
# noProxy: "10.76.0.0/16"
#
# imagePullSecrets:
# - name: secret-name
resetSecret: false
workload:
autoDiscovery: true
denyNamespaces:
- kube-system
# `allowNamespaces` can be used as an alternative to `denyNamespaces`. Note
# that `allowNamespaces` and `denyNamespaces` are mututally exclusive; only
# one of them may be specified.
# `allowNamespaces` takes precedence over `denyNamespaces` in case both are
# specified.
allowNamespaces: []
# - app-1
# - app-2
# - monitoring

debug: false
image:
repository: registry.stormforge.io/optimize/workload-agent
pullPolicy: IfNotPresent
tag: "2.0.3"
resources:
requests:
cpu: 250m
memory: 100M
limits:
cpu: 500m
memory: 1000M
prom:
image:
repository: prom/prometheus
pullPolicy: IfNotPresent
tag: v2.44.0
resources:
requests:
cpu: 200m
memory: 100M
limits:
cpu: 1
memory: 1000M
remoteWriteUrl: "https://in.stormforge.io/prometheus/write"
tokenUrl: "https://api.stormforge.io/oauth/token"
scrapeTimeout: 8s
serviceAccount:
create: true
name: ""
annotations: {}
rbac:
# If set to false, user needs to handle all rbac needed for agent + workload manager
# there is a minimum of rules for metrics required, see template
create: true
# Leverage k8s "view" role for resources, minimizing RBAC rules needed
# and creating an additional clusterrolebinding for the service account
useViewRole: true
additional: |-
# In this section, we add resources that are not usually part of the view role
- apiGroups:
- monitoring.coreos.com
resources:
- prometheuses
- alertmanagers
verbs:
- get
- list
- watch
- apiGroups:
- optimize.stormforge.io
resources:
- lives
verbs:
- get
- list
- watch
# Volume for WAL - https://grafana.com/blog/2021/04/12/how-to-troubleshoot-remote-write-issues-in-prometheus/
# Assumption on needed_disk_space = (retention_time_in_seconds / scrapeInterval) * number_of_collected_metrics * bytes_per_sample )) * workloads_per_cluster
# Assuming each metric takes 512 bytes and 2000 workloads with 2 containers
# needed_disk_space = ((30 * 60 / 10) * 11 * 512) * 2000 ~= 200Mi
storageVolumeSize: 250Mi
agentRetentionMaxTime: 30m
nodeSelector: {}
tolerations: []
affinity: {}
42 changes: 42 additions & 0 deletions packs/stormforge-applier-2.0.0/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Optimize Live

StormForge Optimize Live applies machine learning to your existing observability metrics to make real-time, actionable recommendations to resource settings for any deployment active in Kubernetes


# Prerequisites

- Kubernetes version 1.16 or later

- Supported Metrics source (Prometheus or Datadog) along with Kube State Metrics. Check out the [Deploy Monitoring](https://docs.spectrocloud.com/clusters/cluster-management/monitoring/deploy-monitor-stack) guide to learn how to enable Prometheus with Palette.

- StormForge Command Line Interface Tool (v3.0.0+). Refer to the [StormForge CLI Install Guide](https://docs.stormforge.io/stormforge-cli/) for install steps.


- A [StormForge Account](https://app.stormforge.io/)




# Usage

StormForge Optimize Live applies machine learning to your existing observability metrics to make real-time, actionable recommendations to resource settings for any deployment running in Kubernetes. Save cloud resources and money, reduce the business risk of poorly performing applications, and get your developers focused on innovating, not tuning your Kubernetes environment.

You can use Stormforge with all the Palette-supported infrastructure providers.

To get started with Stormforge, check out the [Configuration](https://docs.stormforge.io/optimize-live/getting-started/configuration/) guide from Stormforge.


# References

- [Stormforge Documentation](https://docs.stormforge.io)


- [Stormforge FAQ](https://docs.stormforge.io/perftest/faq/)


- [Configuration using a CRD](https://docs.stormforge.io/optimize-live/guides/create-app-crd/)


- [Environment variables](https://docs.stormforge.io/optimize-live/reference/envvar/)


Binary file not shown.
Binary file added packs/stormforge-applier-2.0.0/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 14 additions & 0 deletions packs/stormforge-applier-2.0.0/pack.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"name": "stormforge-applier",
"displayName": "Stormforge Optimize Live Applier",
"layer": "addon",
"version": "2.0.0-beta.9",
"cloudTypes": [
"all"
],
"charts": [
"charts/stormforge-applier-2.0.0-beta.9.tgz"
],
"addonType": "monitoring",
"annotations": {}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These packs should have additional annotations to differentiate community vs spectrocloud managed.

}
63 changes: 63 additions & 0 deletions packs/stormforge-applier-2.0.0/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
pack:
namespace: "stormforge-system"
content:
images:
- image: registry.stormforge.io/optimize/applier:2.0.0-beta.9
charts:
- repo: https://registry.stormforge.io/chartrepo/library/
name: stormforge-applier
version: 2.0.0-beta.9

# Default values for optimize-live-applier Spectro Cloud Pack.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

charts:
applier:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Chart name should be stormforge-applier

# Default settings for Stormforge Applier
image:
repository: registry.stormforge.io/optimize/applier
pullPolicy: IfNotPresent
tag: "2.0.0-beta.9"
serviceAccount:
create: true
name: ""
annotations: {}
# Fill these in as needed
# extraEnvVars:
# # Value here should be a parseable duration
# # cf. https://pkg.go.dev/time#ParseDuration
# - name: STORMFORGE_API_POLL_INTERVAL
# value: 5s
# - name: LOG_LEVEL
# value: debug
rbac:
# This setting will aggregate the applier's custom ClusterRole to your cluster's edit role
useEditRole: true
create: true
additional: |-
# In this section, add any resources that you want the applier to patch
- apiGroups:
- monitoring.coreos.com
resources:
- prometheuses
- alertmanagers
verbs:
- get
- list
- watch
- create
- patch
- apiGroups:
- optimize.stormforge.io
resources:
- lives
verbs:
- get
- list
- watch
- create
- patch
podSecurityContext: {}
securityContext: {}
resources: {}