diff --git a/packs/stormforge-agent-2.0.3/README.md b/packs/stormforge-agent-2.0.3/README.md new file mode 100644 index 00000000..cb73cf3c --- /dev/null +++ b/packs/stormforge-agent-2.0.3/README.md @@ -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/) + + diff --git a/packs/stormforge-agent-2.0.3/charts/stormforge-agent-2.0.3.tgz b/packs/stormforge-agent-2.0.3/charts/stormforge-agent-2.0.3.tgz new file mode 100644 index 00000000..4494cc5a Binary files /dev/null and b/packs/stormforge-agent-2.0.3/charts/stormforge-agent-2.0.3.tgz differ diff --git a/packs/stormforge-agent-2.0.3/logo.png b/packs/stormforge-agent-2.0.3/logo.png new file mode 100644 index 00000000..191835a5 Binary files /dev/null and b/packs/stormforge-agent-2.0.3/logo.png differ diff --git a/packs/stormforge-agent-2.0.3/pack.json b/packs/stormforge-agent-2.0.3/pack.json new file mode 100644 index 00000000..b3cc92e3 --- /dev/null +++ b/packs/stormforge-agent-2.0.3/pack.json @@ -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": {} +} diff --git a/packs/stormforge-agent-2.0.3/schema.yaml b/packs/stormforge-agent-2.0.3/schema.yaml new file mode 100644 index 00000000..4fc1d0b4 --- /dev/null +++ b/packs/stormforge-agent-2.0.3/schema.yaml @@ -0,0 +1,7 @@ +charts.stormforge-agent.authorization.clientID: + schema: '{{ required }}' +charts.stormforge-agent.authorization.clientSecret: + schema: '{{ required | format "${password}" }}' + +charts.stormforge-agent.stormforge.clusterName: + schema: '{{ required }}' diff --git a/packs/stormforge-agent-2.0.3/values.yaml b/packs/stormforge-agent-2.0.3/values.yaml new file mode 100644 index 00000000..c6b5c771 --- /dev/null +++ b/packs/stormforge-agent-2.0.3/values.yaml @@ -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: {} diff --git a/packs/stormforge-applier-2.0.0/README.md b/packs/stormforge-applier-2.0.0/README.md new file mode 100644 index 00000000..cb73cf3c --- /dev/null +++ b/packs/stormforge-applier-2.0.0/README.md @@ -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/) + + diff --git a/packs/stormforge-applier-2.0.0/charts/stormforge-applier-2.0.0-beta.9.tgz b/packs/stormforge-applier-2.0.0/charts/stormforge-applier-2.0.0-beta.9.tgz new file mode 100644 index 00000000..7f4fe66c Binary files /dev/null and b/packs/stormforge-applier-2.0.0/charts/stormforge-applier-2.0.0-beta.9.tgz differ diff --git a/packs/stormforge-applier-2.0.0/logo.png b/packs/stormforge-applier-2.0.0/logo.png new file mode 100644 index 00000000..191835a5 Binary files /dev/null and b/packs/stormforge-applier-2.0.0/logo.png differ diff --git a/packs/stormforge-applier-2.0.0/pack.json b/packs/stormforge-applier-2.0.0/pack.json new file mode 100644 index 00000000..ae396ed3 --- /dev/null +++ b/packs/stormforge-applier-2.0.0/pack.json @@ -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": {} +} diff --git a/packs/stormforge-applier-2.0.0/values.yaml b/packs/stormforge-applier-2.0.0/values.yaml new file mode 100644 index 00000000..5badaa2a --- /dev/null +++ b/packs/stormforge-applier-2.0.0/values.yaml @@ -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: + # 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: {}