diff --git a/data/products/configsyncer.json b/data/products/configsyncer.json
index 7cdf83ee..b6a701be 100644
--- a/data/products/configsyncer.json
+++ b/data/products/configsyncer.json
@@ -44,8 +44,8 @@
{
"title": "Configuration Syncer",
"image": {
- "src": "https://cdn.appscode.com/images/products/configsyncer/features/configuration-syncer.jpg",
- "alt": "configuration-syncer"
+ "src": "https://cdn.appscode.com/images/products/configsyncer/features/configuration-syncer.svg",
+ "alt": "Configuration Syncer"
},
"icon": {
"src": "https://cdn.appscode.com/images/products/configsyncer/features/configuration.svg",
diff --git a/data/products/configsyncer/homepage.json b/data/products/configsyncer/homepage.json
new file mode 100644
index 00000000..aae05f4d
--- /dev/null
+++ b/data/products/configsyncer/homepage.json
@@ -0,0 +1,125 @@
+{
+ "hero": {
+ "headline": "Kubernetes Configuration Syncer",
+ "cta_primary": "Try Now Free",
+ "cta_secondary": "Get in Touch",
+ "trust_items": [
+ {
+ "icon": "heroicons:shield-check",
+ "label": "Enterprise Ready"
+ },
+ {
+ "icon": "heroicons:calendar-days",
+ "label": "30-Day Free License"
+ },
+ {
+ "icon": "heroicons:arrow-path-rounded-square",
+ "label": "Cross-Cluster Sync"
+ }
+ ]
+ },
+ "steps": {
+ "title": "Config sync in 4 steps",
+ "subtitle": "Annotate a ConfigMap or Secret and let Config Syncer keep every copy in sync \u2014 across namespaces or entire clusters.",
+ "steps": [
+ {
+ "title": "Install the Operator",
+ "description": "Deploy Config Syncer via Helm into any Kubernetes cluster \u2014 EKS, GKE, AKS, or on-prem. One command, a few minutes.",
+ "code": "helm install config-syncer \u2026"
+ },
+ {
+ "title": "Annotate Your Config",
+ "description": "Add the kubed.appscode.com/sync annotation to any ConfigMap or Secret to opt it into syncing \u2014 to all namespaces, or a label-selected subset.",
+ "code": "kubed.appscode.com/sync"
+ },
+ {
+ "title": "Sync Across Clusters",
+ "description": "Point at remote cluster contexts in a kubeconfig with the sync-contexts annotation to replicate the same ConfigMap or Secret into other clusters.",
+ "code": "sync-contexts: ctx1,ctx2"
+ },
+ {
+ "title": "Stay in Sync Automatically",
+ "description": "Updates to the source propagate to every copy instantly. Remove the annotation or delete the source, and the copies clean themselves up.",
+ "code": "\u2713 Config synced"
+ }
+ ]
+ },
+ "capabilities": {
+ "title": "Built for seamless config sync",
+ "subtitle": "Keep ConfigMaps and Secrets synchronized across namespaces or clusters \u2014 automatically, the Kubernetes-native way.",
+ "tags": [
+ "Core"
+ ]
+ },
+ "stats": {
+ "items": [
+ {
+ "number": "1K+",
+ "label": "GitHub Stars"
+ },
+ {
+ "number": "2",
+ "label": "Resource Kinds Synced"
+ },
+ {
+ "number": "2",
+ "label": "Sync Modes"
+ },
+ {
+ "number": "30-Day",
+ "label": "Free Trial License"
+ }
+ ]
+ },
+ "cta": {
+ "headline": "Keep configs in sync \u2014 free!",
+ "description": "Config Syncer is free to use on any supported Kubernetes cluster, with a 30-day complimentary license available for trial.",
+ "cta_primary": "Try Now Free",
+ "cta_secondary": "Contact Us",
+ "trust_points": [
+ "No credit card required",
+ "Works across namespaces and clusters",
+ "Open source core",
+ "Enterprise support available"
+ ]
+ },
+ "final-cta": {
+ "badge": "Start Syncing Today",
+ "title_plain": "Ready to Keep Configs",
+ "title_gradient": "In Sync?",
+ "description": "Join platform teams at Asurion, Emerson, Nokia, and Orange keeping ConfigMaps and Secrets synchronized across namespaces and clusters with Config Syncer.",
+ "checklist": [
+ "Automatic sync across namespaces or clusters",
+ "Label-selector targeting for fine-grained control",
+ "30-day free license, no credit card required"
+ ],
+ "cta_primary": "Try Now Free",
+ "cta_secondary": "Get in Touch",
+ "stats": [
+ {
+ "icon": "lucide:folder-sync",
+ "value": "ConfigMaps",
+ "label": "& Secrets Synced",
+ "gradient": "linear-gradient(135deg, #60a5fa, #06b6d4)"
+ },
+ {
+ "icon": "lucide:git-branch",
+ "value": "Multi-Cluster",
+ "label": "Sync Support",
+ "gradient": "linear-gradient(135deg, #4ade80, #10b981)"
+ },
+ {
+ "icon": "lucide:filter",
+ "value": "Label",
+ "label": "Selector Targeting",
+ "gradient": "linear-gradient(135deg, #c084fc, #ec4899)"
+ },
+ {
+ "icon": "lucide:life-buoy",
+ "value": "24/7",
+ "label": "Expert Support",
+ "gradient": "linear-gradient(135deg, #fb923c, #ef4444)"
+ }
+ ]
+ }
+}
diff --git a/data/products/guard.json b/data/products/guard.json
index 4acd3803..90472005 100644
--- a/data/products/guard.json
+++ b/data/products/guard.json
@@ -49,8 +49,8 @@
{
"title": "Identity Providers",
"image": {
- "src": "https://cdn.appscode.com/images/products/guard/features/identify-providers.jpg",
- "alt": "identify-providers"
+ "src": "https://cdn.appscode.com/images/features/illustrations/guard-identity-providers.svg",
+ "alt": "Four identity provider badges converging through a verification gate into one authenticated Kubernetes identity"
},
"icon": {
"src": "https://cdn.appscode.com/images/products/guard/features/identity-providers.svg",
@@ -62,8 +62,8 @@
{
"title": "CLI",
"image": {
- "src": "https://cdn.appscode.com/images/products/guard/features/cli.jpg",
- "alt": "cli"
+ "src": "https://cdn.appscode.com/images/features/illustrations/guard-cli.svg",
+ "alt": "A terminal generating signed certificates and a webhook install manifest that deploys onto a Kubernetes cluster"
},
"icon": {
"src": "https://cdn.appscode.com/images/products/guard/features/cli.svg",
@@ -75,15 +75,15 @@
{
"title": "RBAC",
"image": {
- "src": "https://cdn.appscode.com/images/products/guard/features/rbac.jpg",
- "alt": "rbac"
+ "src": "https://cdn.appscode.com/images/features/illustrations/guard-rbac.svg",
+ "alt": "An authenticated user mapped to group roles, unlocking specific cells in a permissions grid while the rest stay locked"
},
"icon": {
"src": "https://cdn.appscode.com/images/products/guard/features/rbac.svg",
"alt": "rbac"
},
"summary": "",
- "description": "This tutorial will show you how to use KubeDB in a RBAC enabled cluster."
+ "description": "Guard maps authenticated users and their groups so cluster admins can enforce fine-grained RBAC policies out of the box."
}
],
"versions": [
diff --git a/data/products/guard/homepage.json b/data/products/guard/homepage.json
new file mode 100644
index 00000000..210a3d3e
--- /dev/null
+++ b/data/products/guard/homepage.json
@@ -0,0 +1,130 @@
+{
+ "hero": {
+ "headline": "Kubernetes-Native Authentication Webhook",
+ "cta_primary": "Get Started Free",
+ "cta_secondary": "Talk to Sales",
+ "trust_items": [
+ {
+ "icon": "heroicons:finger-print",
+ "label": "7+ Identity Providers"
+ },
+ {
+ "icon": "heroicons:shield-check",
+ "label": "RBAC Group Mapping"
+ },
+ {
+ "icon": "heroicons:server-stack",
+ "label": "Any Kubernetes Distribution"
+ }
+ ]
+ },
+ "steps": {
+ "title": "Secure cluster access in 4 steps",
+ "subtitle": "From zero to a production-ready Kubernetes authentication webhook \u2014 backed by the identity provider you already trust.",
+ "steps": [
+ {
+ "title": "Install Guard",
+ "description": "Deploy the Guard webhook server into any Kubernetes cluster \u2014 EKS, GKE, AKS, or on-prem \u2014 via the CLI installer or Helm.",
+ "code": "helm install guard \u2026"
+ },
+ {
+ "title": "Initialize PKI & Provider",
+ "description": "Generate a self-signed CA and TLS client certificates bound to your identity provider \u2014 GitHub, GitLab, Google, Azure, LDAP, or static tokens.",
+ "code": "guard init client -o github"
+ },
+ {
+ "title": "Wire Up the API Server",
+ "description": "Point your Kubernetes API server's authentication-token-webhook-config-file at the generated kubeconfig so every token review routes through Guard.",
+ "code": "guard get webhook-config \u2026"
+ },
+ {
+ "title": "Authenticate & Enforce RBAC",
+ "description": "Users log in with their existing provider credentials. Guard maps their identity and groups so your existing Kubernetes RBAC rules just work.",
+ "code": "kubectl auth can-i get pods"
+ }
+ ]
+ },
+ "capabilities": {
+ "title": "Built for secure cluster access",
+ "subtitle": "A lightweight, Kubernetes-native webhook server that authenticates and authorizes every request against the identity provider you already run.",
+ "tags": [
+ "Authentication",
+ "Tooling",
+ "Authorization",
+ "Security",
+ "Identity",
+ "Deployment"
+ ]
+ },
+ "stats": {
+ "items": [
+ {
+ "number": "7+",
+ "label": "Identity Providers Supported"
+ },
+ {
+ "number": "v1.9+",
+ "label": "Kubernetes Compatibility"
+ },
+ {
+ "number": "RBAC",
+ "label": "Native Group Mapping"
+ },
+ {
+ "number": "Apache 2.0",
+ "label": "Open Source License"
+ }
+ ]
+ },
+ "cta": {
+ "headline": "Ready to secure access to your Kubernetes clusters?",
+ "description": "Guard is free and open source. Deploy the webhook server in minutes and authenticate with the identity provider you already trust.",
+ "cta_primary": "Get Started Free",
+ "cta_secondary": "Contact Us",
+ "trust_points": [
+ "No credit card required",
+ "Works on any Kubernetes distribution",
+ "Open source core",
+ "Enterprise support available"
+ ]
+ },
+ "final-cta": {
+ "badge": "Start Securing Today",
+ "title_plain": "Ready to Lock Down Access to Your",
+ "title_gradient": "Kubernetes Clusters?",
+ "description": "Join platform teams authenticating Kubernetes API access through the identity provider they already run \u2014 GitHub, GitLab, Google, Azure, or LDAP \u2014 with Guard.",
+ "checklist": [
+ "TLS-secured webhook authentication",
+ "Native RBAC group mapping",
+ "Works with your existing identity provider"
+ ],
+ "cta_primary": "Get Started Free",
+ "cta_secondary": "Talk to Sales",
+ "stats": [
+ {
+ "icon": "lucide:fingerprint",
+ "value": "7+",
+ "label": "Identity Providers",
+ "gradient": "linear-gradient(135deg, #60a5fa, #06b6d4)"
+ },
+ {
+ "icon": "lucide:shield-check",
+ "value": "TLS",
+ "label": "Mutual Client Auth",
+ "gradient": "linear-gradient(135deg, #4ade80, #10b981)"
+ },
+ {
+ "icon": "lucide:users",
+ "value": "RBAC",
+ "label": "Group-Based Access",
+ "gradient": "linear-gradient(135deg, #c084fc, #ec4899)"
+ },
+ {
+ "icon": "lucide:life-buoy",
+ "value": "24/7",
+ "label": "Expert Support",
+ "gradient": "linear-gradient(135deg, #fb923c, #ef4444)"
+ }
+ ]
+ }
+}
diff --git a/data/products/kubedb/databases/cassandra.json b/data/products/kubedb/databases/cassandra.json
index a027353f..f5951367 100644
--- a/data/products/kubedb/databases/cassandra.json
+++ b/data/products/kubedb/databases/cassandra.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Cassandra database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/clickhouse.json b/data/products/kubedb/databases/clickhouse.json
index 8f827fac..0721c2ef 100644
--- a/data/products/kubedb/databases/clickhouse.json
+++ b/data/products/kubedb/databases/clickhouse.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your ClickHouse database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/db2.json b/data/products/kubedb/databases/db2.json
index caeae8a5..8054c3c3 100644
--- a/data/products/kubedb/databases/db2.json
+++ b/data/products/kubedb/databases/db2.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your DB2 database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/documentdb.json b/data/products/kubedb/databases/documentdb.json
index b714bd67..af0e2520 100644
--- a/data/products/kubedb/databases/documentdb.json
+++ b/data/products/kubedb/databases/documentdb.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your DocumentDB database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/druid.json b/data/products/kubedb/databases/druid.json
index 7b3d10f5..0a8c6c79 100644
--- a/data/products/kubedb/databases/druid.json
+++ b/data/products/kubedb/databases/druid.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Druid database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/elasticsearch.json b/data/products/kubedb/databases/elasticsearch.json
index 95037e2b..dbff314c 100644
--- a/data/products/kubedb/databases/elasticsearch.json
+++ b/data/products/kubedb/databases/elasticsearch.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Elasticsearch database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/hanadb.json b/data/products/kubedb/databases/hanadb.json
index 5959fbce..393d1750 100644
--- a/data/products/kubedb/databases/hanadb.json
+++ b/data/products/kubedb/databases/hanadb.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your HanaDB database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/hazelcast.json b/data/products/kubedb/databases/hazelcast.json
index f6962abe..f2466fd1 100644
--- a/data/products/kubedb/databases/hazelcast.json
+++ b/data/products/kubedb/databases/hazelcast.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Hazelcast database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/ignite.json b/data/products/kubedb/databases/ignite.json
index d2a07baf..35596850 100644
--- a/data/products/kubedb/databases/ignite.json
+++ b/data/products/kubedb/databases/ignite.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Ignite database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/kafka.json b/data/products/kubedb/databases/kafka.json
index a4867d9a..428b9717 100644
--- a/data/products/kubedb/databases/kafka.json
+++ b/data/products/kubedb/databases/kafka.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Kafka database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/mariadb.json b/data/products/kubedb/databases/mariadb.json
index ce3fde44..70b0da07 100644
--- a/data/products/kubedb/databases/mariadb.json
+++ b/data/products/kubedb/databases/mariadb.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your MariaDB database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/memcached.json b/data/products/kubedb/databases/memcached.json
index 54deca8c..0c850e3b 100644
--- a/data/products/kubedb/databases/memcached.json
+++ b/data/products/kubedb/databases/memcached.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Memcached database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/milvus.json b/data/products/kubedb/databases/milvus.json
index b21d9065..c6c82bd7 100644
--- a/data/products/kubedb/databases/milvus.json
+++ b/data/products/kubedb/databases/milvus.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Milvus database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/mongodb.json b/data/products/kubedb/databases/mongodb.json
index dd7ca77e..08e93cce 100644
--- a/data/products/kubedb/databases/mongodb.json
+++ b/data/products/kubedb/databases/mongodb.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your MongoDB database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/mssqlserver.json b/data/products/kubedb/databases/mssqlserver.json
index 877dedc0..f41a1d6d 100644
--- a/data/products/kubedb/databases/mssqlserver.json
+++ b/data/products/kubedb/databases/mssqlserver.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Microsoft SQL Server database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/mysql.json b/data/products/kubedb/databases/mysql.json
index 700e78ef..9adb74c2 100644
--- a/data/products/kubedb/databases/mysql.json
+++ b/data/products/kubedb/databases/mysql.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your MySQL database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/neo4j.json b/data/products/kubedb/databases/neo4j.json
index 736f97f5..22ef2c00 100644
--- a/data/products/kubedb/databases/neo4j.json
+++ b/data/products/kubedb/databases/neo4j.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Neo4j database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/opensearch.json b/data/products/kubedb/databases/opensearch.json
index 5cb20294..62a36d16 100644
--- a/data/products/kubedb/databases/opensearch.json
+++ b/data/products/kubedb/databases/opensearch.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your OpenSearch database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/oracle.json b/data/products/kubedb/databases/oracle.json
index 85b0cf36..ed7795ac 100644
--- a/data/products/kubedb/databases/oracle.json
+++ b/data/products/kubedb/databases/oracle.json
@@ -40,7 +40,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "Monitor Oracle Database workloads using Prometheus-compatible metrics and visualize them with Grafana dashboards."
},
{
diff --git a/data/products/kubedb/databases/perconaxtradb.json b/data/products/kubedb/databases/perconaxtradb.json
index 22922b05..981ad431 100644
--- a/data/products/kubedb/databases/perconaxtradb.json
+++ b/data/products/kubedb/databases/perconaxtradb.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Percona XtraDB database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/pgbouncer.json b/data/products/kubedb/databases/pgbouncer.json
index 06282ed7..e1faacd9 100644
--- a/data/products/kubedb/databases/pgbouncer.json
+++ b/data/products/kubedb/databases/pgbouncer.json
@@ -33,7 +33,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your PgBouncer in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/pgpool.json b/data/products/kubedb/databases/pgpool.json
index 9feed0e8..cea155be 100644
--- a/data/products/kubedb/databases/pgpool.json
+++ b/data/products/kubedb/databases/pgpool.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Pgpool database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/postgresql.json b/data/products/kubedb/databases/postgresql.json
index dfdd654b..ae2fe12f 100644
--- a/data/products/kubedb/databases/postgresql.json
+++ b/data/products/kubedb/databases/postgresql.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your PostgreSQL database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/proxysql.json b/data/products/kubedb/databases/proxysql.json
index d9a520c6..5dbc5012 100644
--- a/data/products/kubedb/databases/proxysql.json
+++ b/data/products/kubedb/databases/proxysql.json
@@ -31,7 +31,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your ProxySQL in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/qdrant.json b/data/products/kubedb/databases/qdrant.json
index b7524377..28ba2501 100644
--- a/data/products/kubedb/databases/qdrant.json
+++ b/data/products/kubedb/databases/qdrant.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Qdrant database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/rabbitmq.json b/data/products/kubedb/databases/rabbitmq.json
index 4c1ae3cd..b93e7ed8 100644
--- a/data/products/kubedb/databases/rabbitmq.json
+++ b/data/products/kubedb/databases/rabbitmq.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your RabbitMQ database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/redis.json b/data/products/kubedb/databases/redis.json
index b6b000fc..a416dc0d 100644
--- a/data/products/kubedb/databases/redis.json
+++ b/data/products/kubedb/databases/redis.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Redis database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/singlestore.json b/data/products/kubedb/databases/singlestore.json
index 5ce27330..677a49e4 100644
--- a/data/products/kubedb/databases/singlestore.json
+++ b/data/products/kubedb/databases/singlestore.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your SingleStore database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/solr.json b/data/products/kubedb/databases/solr.json
index 964941ce..c838faa2 100644
--- a/data/products/kubedb/databases/solr.json
+++ b/data/products/kubedb/databases/solr.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Solr database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/valkey.json b/data/products/kubedb/databases/valkey.json
index ccb9ea6b..320b020c 100644
--- a/data/products/kubedb/databases/valkey.json
+++ b/data/products/kubedb/databases/valkey.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Valkey database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/weaviate.json b/data/products/kubedb/databases/weaviate.json
index 892bb1c7..70611727 100644
--- a/data/products/kubedb/databases/weaviate.json
+++ b/data/products/kubedb/databases/weaviate.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your Weaviate database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubedb/databases/zookeeper.json b/data/products/kubedb/databases/zookeeper.json
index a92b71a3..c7bc3531 100644
--- a/data/products/kubedb/databases/zookeeper.json
+++ b/data/products/kubedb/databases/zookeeper.json
@@ -43,7 +43,7 @@
},
{
"title": "Monitoring",
- "image": "/assets/images/databases/illustrations/monitoring.png",
+ "image": "/assets/images/databases/illustrations/monitoring.svg",
"description": "KubeDB comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your ZooKeeper database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
diff --git a/data/products/kubeobj.json b/data/products/kubeobj.json
index 7cd19d30..63bb7a93 100644
--- a/data/products/kubeobj.json
+++ b/data/products/kubeobj.json
@@ -55,7 +55,7 @@
{
"title": "Unified Data Access",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/declarative-api.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/declarative-api.svg",
"alt": "Unified Data Access"
},
"icon": {
@@ -68,7 +68,7 @@
{
"title": "Multi-Cloud Federation",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/backup-kubernetes-volumes.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/backup-kubernetes-volumes.svg",
"alt": "Multi-Cloud Federation"
},
"icon": {
@@ -81,7 +81,7 @@
{
"title": "Scalability",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/backup-restore-databases.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/backup-restore-databases.svg",
"alt": "Scalability"
},
"icon": {
@@ -94,7 +94,7 @@
{
"title": "Data Replication Policy",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/multiple-storage-support.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/multiple-storage-support.svg",
"alt": "Data Replication Policy"
},
"icon": {
@@ -107,7 +107,7 @@
{
"title": "High Availability",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/deduplication.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/deduplication.svg",
"alt": "High Availability"
},
"icon": {
@@ -120,7 +120,7 @@
{
"title": "Data Migration",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/data-encryption.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/data-encryption.svg",
"alt": "Data Migration"
},
"icon": {
@@ -133,7 +133,7 @@
{
"title": "Policy-Based Data Management",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/volume-snapshot.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/volume-snapshot.svg",
"alt": "Policy-Based Data Management"
},
"icon": {
@@ -146,7 +146,7 @@
{
"title": "Monitoring and Analytics",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/policy-based-backup.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/policy-based-backup.svg",
"alt": "Monitoring and Analytics"
},
"icon": {
@@ -159,7 +159,7 @@
{
"title": "Kubernetes Native",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/monitoring.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/monitoring.svg",
"alt": "Kubernetes Native"
},
"icon": {
diff --git a/data/products/kubestash.json b/data/products/kubestash.json
index 3de136ed..89f719b4 100644
--- a/data/products/kubestash.json
+++ b/data/products/kubestash.json
@@ -14,31 +14,31 @@
"keywords": "kubernetes appscode backup disaster recovery volume",
"heroSlider": [
{
- "src": "https://cdn.appscode.com/images/products/stash/slider/applications.jpg",
+ "src": "/assets/images/products/stash/slider/applications.jpg",
"alt": "Supported Applications"
},
{
- "src": "https://cdn.appscode.com/images/products/stash/slider/platforms.jpg",
+ "src": "/assets/images/products/stash/slider/platforms.jpg",
"alt": "Supported Platforms"
},
{
- "src": "https://cdn.appscode.com/images/products/stash/slider/storage.jpg",
+ "src": "/assets/images/products/stash/slider/storage.jpg",
"alt": "Supported Storage"
}
],
"logo": {
- "src": "https://cdn.appscode.com/images/products/kubestash/kubestash.png",
+ "src": "/assets/images/products/kubestash/kubestash.png",
"alt": "kubestash"
},
"logoWhite": {
- "src": "https://cdn.appscode.com/images/products/kubestash/kubestash-white.png",
+ "src": "/assets/images/products/kubestash/kubestash-white.png",
"alt": "kubestash"
},
"icon": {
- "src": "https://cdn.appscode.com/images/products/stash/stash-icon.svg",
+ "src": "/assets/images/products/stash/stash-icon.svg",
"alt": "Stash",
"sizes": {
- "192x192": "https://cdn.appscode.com/images/products/stash/icons/android-icon-192x192.png"
+ "192x192": "/assets/images/products/stash/icons/android-icon-192x192.png"
}
},
"repoURL": "https://github.com/kubestash/docs",
@@ -54,12 +54,13 @@
"features": [
{
"title": "Declarative API",
+ "tag": "Core",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/declarative-api.png",
- "alt": "http"
+ "src": "/assets/images/features/illustrations/declarative-api.svg",
+ "alt": "A declarative YAML configuration card being applied and reconciled"
},
"icon": {
- "src": "https://cdn.appscode.com/images/products/stash/features/declarative-api.svg",
+ "src": "/assets/images/products/stash/features/declarative-api.svg",
"alt": "http"
},
"summary": "",
@@ -67,12 +68,13 @@
},
{
"title": "Backup Kubernetes Volumes",
+ "tag": "Recovery",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/backup-kubernetes-volumes.png",
- "alt": "http"
+ "src": "/assets/images/features/illustrations/backup-kubernetes-volumes.svg",
+ "alt": "Multiple Kubernetes workloads mounting a shared volume that is continuously backed up"
},
"icon": {
- "src": "https://cdn.appscode.com/images/products/stash/features/vol.svg",
+ "src": "/assets/images/products/stash/features/vol.svg",
"alt": "http"
},
"summary": "",
@@ -80,25 +82,41 @@
},
{
"title": "Backup Database",
+ "tag": "Recovery",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/backup-restore-databases.png",
- "alt": "http"
+ "src": "/assets/images/features/illustrations/backup-database.svg",
+ "alt": "A database being copied into a point-in-time backup, marked by a clock"
},
"icon": {
- "src": "https://cdn.appscode.com/images/products/stash/features/backup-icon.png",
+ "src": "/assets/images/products/stash/features/backup-icon.png",
"alt": "http"
},
"summary": "",
"description": "Backup your databases deployed in Kubernetes. Stash supports backup of MariaDB, Redis, PostgreSQL, MySQL, MongoDB, Elasticsearch and Percona XtraDB, Etcd databases. It seemingly integrates with KubeDB. It is now a recommended method to backup KubeDB supported databases."
},
{
- "title": "Multiple Storage Support",
+ "title": "Backup Virtual Machines",
+ "tag": "Recovery",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/multiple-storage-support.png",
+ "src": "/assets/images/features/illustrations/backup-virtual-machines.svg",
+ "alt": "Several virtual machines running on a host being captured into a scheduled, restorable backup"
+ },
+ "icon": {
+ "src": "/assets/images/products/kubestash/features/kub-workload.svg",
"alt": "http"
},
+ "summary": "",
+ "description": "Protect virtual machines running on Kubernetes with the same policy-driven workflow used for your databases and volumes. Schedule backups, verify snapshots, and restore VMs on demand — no separate tooling required."
+ },
+ {
+ "title": "Multiple Storage Support",
+ "tag": "Storage",
+ "image": {
+ "src": "/assets/images/features/illustrations/multiple-storage-support.svg",
+ "alt": "A single backup fanning out to a cloud storage service, a REST server, and a Kubernetes persistent volume"
+ },
"icon": {
- "src": "https://cdn.appscode.com/images/products/stash/features/storage-icon.png",
+ "src": "/assets/images/products/stash/features/storage-icon.png",
"alt": "http"
},
"summary": "",
@@ -106,12 +124,13 @@
},
{
"title": "Deduplication",
+ "tag": "Performance",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/deduplication.png",
- "alt": "http"
+ "src": "/assets/images/features/illustrations/deduplication.svg",
+ "alt": "A file split into chunks where only the changed blobs, marked with a delta, are uploaded"
},
"icon": {
- "src": "https://cdn.appscode.com/images/products/stash/features/compare-icon.png",
+ "src": "/assets/images/products/stash/features/compare-icon.png",
"alt": "http"
},
"summary": "",
@@ -119,12 +138,13 @@
},
{
"title": "Data Encryption",
+ "tag": "Security",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/data-encryption.png",
- "alt": "http"
+ "src": "/assets/images/features/illustrations/data-encryption.svg",
+ "alt": "Plain data passing through an AES-256 lock and becoming unreadable ciphertext in storage"
},
"icon": {
- "src": "https://cdn.appscode.com/images/products/stash/features/encryption-icon.png",
+ "src": "/assets/images/products/stash/features/encryption-icon.png",
"alt": "http"
},
"summary": "",
@@ -132,12 +152,13 @@
},
{
"title": "Volume Snapshot",
+ "tag": "Recovery",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/volume-snapshot.png",
- "alt": "http"
+ "src": "/assets/images/features/illustrations/volume-snapshot.svg",
+ "alt": "A single BackupConfiguration automatically creating a VolumeSnapshot for every volume of a workload"
},
"icon": {
- "src": "https://cdn.appscode.com/images/products/stash/features/volume-snapshot.png",
+ "src": "/assets/images/products/stash/features/volume-snapshot.png",
"alt": "http"
},
"summary": "",
@@ -145,12 +166,13 @@
},
{
"title": "Policy Based Backup",
+ "tag": "Automation",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/policy-based-backup.png",
- "alt": "http"
+ "src": "/assets/images/features/illustrations/policy-based-backup.svg",
+ "alt": "One backup template governing many differently annotated workloads across the cluster"
},
"icon": {
- "src": "https://cdn.appscode.com/images/products/stash/features/policy-based-icon.png",
+ "src": "/assets/images/products/stash/features/policy-based-icon.png",
"alt": "http"
},
"summary": "",
@@ -158,12 +180,13 @@
},
{
"title": "Monitoring",
+ "tag": "Observability",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/monitoring.png",
- "alt": "http"
+ "src": "/assets/images/features/illustrations/monitoring.svg",
+ "alt": "A database's live metrics pulsing into a Grafana-style dashboard of charts and gauges"
},
"icon": {
- "src": "https://cdn.appscode.com/images/products/stash/features/prometheus.svg",
+ "src": "/assets/images/products/stash/features/prometheus.svg",
"alt": "http"
},
"summary": "",
diff --git a/data/products/kubestash/addons/elasticsearch.json b/data/products/kubestash/addons/elasticsearch.json
index 1804acd3..b7103262 100644
--- a/data/products/kubestash/addons/elasticsearch.json
+++ b/data/products/kubestash/addons/elasticsearch.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. KubeStash offers Logical Backup for Elasticsearch databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. KubeStash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Kubetash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Backup & Restore Elasticsearch Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your Elasticsearch databases deployed in Kubernetes. You can also restore your Elasticsearch databases using Kubetash. Kubetash simplifies the whole process of Backup & Restore your Elasticsearch databases on Kubernetes."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Kubetash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Kubetash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Kubetash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/kubestash/addons/etcd.json b/data/products/kubestash/addons/etcd.json
index 6df573a4..77ea8e88 100644
--- a/data/products/kubestash/addons/etcd.json
+++ b/data/products/kubestash/addons/etcd.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Stash offers Logical Backup for Etcd databases on Kubernetes."
},
{
"title": "Backup & Restore Etcd Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your Etcd databases deployed in Kubernetes. You can also restore your Etcd databases using Stash. Stash simplifies the whole process of Backup & Restore your Etcd databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/kubestash/addons/kubedump.json b/data/products/kubestash/addons/kubedump.json
index fa0127aa..6d2029cd 100644
--- a/data/products/kubestash/addons/kubedump.json
+++ b/data/products/kubestash/addons/kubedump.json
@@ -29,32 +29,32 @@
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/kubestash/addons/mariadb.json b/data/products/kubestash/addons/mariadb.json
index 2fbed16d..11a4ce05 100644
--- a/data/products/kubestash/addons/mariadb.json
+++ b/data/products/kubestash/addons/mariadb.json
@@ -18,42 +18,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Kubestash offers Logical Backup for MariaDB databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Kubestash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Kubestash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Backup & Restore MariaDB Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your MariaDB databases deployed in Kubernetes. You can also restore your MariaDB databases using Kubestash. Kubestash simplifies the whole process of Backup & Restore your MariaDB databases on Kubernetes."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Kubestash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Kubestash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Kubestash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
}
],
diff --git a/data/products/kubestash/addons/mongodb.json b/data/products/kubestash/addons/mongodb.json
index dde68ea0..6e6df99b 100644
--- a/data/products/kubestash/addons/mongodb.json
+++ b/data/products/kubestash/addons/mongodb.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Stash offers Logical Backup for MongoDB databases on Kubernetes."
},
{
"title": "Backup & Restore MongoDB Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your MongoDB databases deployed in Kubernetes. You can also restore your MongoDB databases using Stash. Stash simplifies the whole process of Backup & Restore your MongoDB databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/kubestash/addons/mysql.json b/data/products/kubestash/addons/mysql.json
index 941061a3..76ad32e4 100644
--- a/data/products/kubestash/addons/mysql.json
+++ b/data/products/kubestash/addons/mysql.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. KubeStash offers Logical Backup for MySQL databases on Kubernetes."
},
{
"title": "Backup & Restore MySQL Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your MySQL databases deployed in Kubernetes. You can also restore your MySQL databases using KubeStash. KubeStash simplifies the whole process of Backup & Restore your MySQL databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. KubeStash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "KubeStash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. KubeStash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "KubeStash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. KubeStash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/kubestash/addons/nats.json b/data/products/kubestash/addons/nats.json
index fd405748..22f7064f 100644
--- a/data/products/kubestash/addons/nats.json
+++ b/data/products/kubestash/addons/nats.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Stash offers Logical Backup for NATS server on Kubernetes."
},
{
"title": "Backup & Restore NATS Server",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your NATS server deployed in Kubernetes. You can also restore your NATS server using Stash. Stash simplifies the whole process of Backup & Restore your NATS server on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/kubestash/addons/perconaxtradb.json b/data/products/kubestash/addons/perconaxtradb.json
index 8498fd80..7c0053f8 100644
--- a/data/products/kubestash/addons/perconaxtradb.json
+++ b/data/products/kubestash/addons/perconaxtradb.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Stash offers Logical Backup for Percona XtraDB databases on Kubernetes."
},
{
"title": "Backup & Restore Percona XtraDB Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your Percona XtraDB databases deployed in Kubernetes. You can also restore your Percona XtraDB databases using Stash. Stash simplifies the whole process of Backup & Restore your Percona XtraDB databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/kubestash/addons/postgresql.json b/data/products/kubestash/addons/postgresql.json
index 15d0f761..d85a9105 100644
--- a/data/products/kubestash/addons/postgresql.json
+++ b/data/products/kubestash/addons/postgresql.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. KubeStash offers Logical Backup for PostgreSQL databases on Kubernetes."
},
{
"title": "Backup & Restore PostgreSQL Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your PostgreSQL databases deployed in Kubernetes. You can also restore your PostgreSQL databases using KubeStash. KubeStash simplifies the whole process of Backup & Restore your PostgreSQL databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. KubeStash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "KubeStash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. KubeStash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "KubeStash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. KubeStash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/kubestash/addons/redis.json b/data/products/kubestash/addons/redis.json
index 65c7e828..4bf95431 100644
--- a/data/products/kubestash/addons/redis.json
+++ b/data/products/kubestash/addons/redis.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Stash offers Logical Backup for Redis databases on Kubernetes."
},
{
"title": "Backup & Restore Redis Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your Redis databases deployed in Kubernetes. You can also restore your Redis databases using Stash. Stash simplifies the whole process of Backup & Restore your Redis databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/kubestash/homepage.json b/data/products/kubestash/homepage.json
new file mode 100644
index 00000000..5a6ef0e2
--- /dev/null
+++ b/data/products/kubestash/homepage.json
@@ -0,0 +1,130 @@
+{
+ "hero": {
+ "headline": "Kubernetes-Native Backup & Recovery",
+ "cta_primary": "Get Started Free",
+ "cta_secondary": "Talk to Sales",
+ "trust_items": [
+ {
+ "icon": "heroicons:shield-check",
+ "label": "Enterprise Ready"
+ },
+ {
+ "icon": "heroicons:calendar-days",
+ "label": "30-Day Free License"
+ },
+ {
+ "icon": "heroicons:server-stack",
+ "label": "Any Kubernetes Distribution"
+ }
+ ]
+ },
+ "steps": {
+ "title": "Backup in 4 steps",
+ "subtitle": "From zero to automated, encrypted, verified Kubernetes backups \u2014 without rewriting your operational runbooks.",
+ "steps": [
+ {
+ "title": "Install the Operator",
+ "description": "Deploy KubeStash via Helm into any Kubernetes cluster \u2014 EKS, GKE, AKS, or on-prem. One command, three minutes.",
+ "code": "helm install kubestash \u2026"
+ },
+ {
+ "title": "Define BackupConfiguration",
+ "description": "A single Kubernetes-native CRD declares what to back up, the schedule, retention policy, and which storage backend to use.",
+ "code": "kind: BackupConfiguration"
+ },
+ {
+ "title": "Monitor Sessions",
+ "description": "BackupSession objects give you real-time status, per-component snapshots, and structured events \u2014 query with kubectl or your existing observability stack.",
+ "code": "\u2713 Snapshot verified"
+ },
+ {
+ "title": "Restore Anytime",
+ "description": "Create a RestoreSession for full, granular, or point-in-time recovery. Works across namespaces and clusters.",
+ "code": "kubectl restore --pitr \u2026"
+ }
+ ]
+ },
+ "capabilities": {
+ "title": "Built for production reliability",
+ "subtitle": "Enterprise-grade features for encrypted, policy-driven, and verified Kubernetes backup at scale.",
+ "tags": [
+ "Core",
+ "Recovery",
+ "Security",
+ "Storage",
+ "Performance",
+ "Deployment"
+ ]
+ },
+ "stats": {
+ "items": [
+ {
+ "number": "25+",
+ "label": "Database Engines"
+ },
+ {
+ "number": "10K+",
+ "label": "Active Databases Protected"
+ },
+ {
+ "number": "30-Day",
+ "label": "Free Trial License"
+ },
+ {
+ "number": "99.9%",
+ "label": "Uptime SLA"
+ }
+ ]
+ },
+ "cta": {
+ "headline": "Ready to protect your Kubernetes workloads?",
+ "description": "KubeStash is free to use on any supported Kubernetes cluster. Deploy in minutes with a 30-day free license.",
+ "cta_primary": "Start Free Trial",
+ "cta_secondary": "Contact Us",
+ "trust_points": [
+ "No credit card required",
+ "Works on any Kubernetes distribution",
+ "Open source core",
+ "Enterprise support available"
+ ]
+ },
+ "final-cta": {
+ "badge": "Start Protecting Today",
+ "title_plain": "Ready to Safeguard Your",
+ "title_gradient": "Kubernetes Workloads?",
+ "description": "Join platform teams running encrypted, verified, disaster-recovery-ready backups for databases and volumes on Kubernetes with KubeStash.",
+ "checklist": [
+ "Encrypted, deduplicated backups by default",
+ "Multi-cloud & on-prem storage portability",
+ "Point-in-time recovery for databases & volumes"
+ ],
+ "cta_primary": "Start Free Trial",
+ "cta_secondary": "Talk to Sales",
+ "stats": [
+ {
+ "icon": "lucide:hard-drive-download",
+ "value": "12+",
+ "label": "Storage Backends",
+ "gradient": "linear-gradient(135deg, #60a5fa, #06b6d4)"
+ },
+ {
+ "icon": "lucide:shield-check",
+ "value": "AES-256",
+ "label": "Backup Encryption",
+ "gradient": "linear-gradient(135deg, #4ade80, #10b981)"
+ },
+ {
+ "icon": "lucide:history",
+ "value": "PITR",
+ "label": "Point-in-Time Recovery",
+ "gradient": "linear-gradient(135deg, #c084fc, #ec4899)"
+ },
+ {
+ "icon": "lucide:life-buoy",
+ "value": "24/7",
+ "label": "Expert Support",
+ "gradient": "linear-gradient(135deg, #fb923c, #ef4444)"
+ }
+ ]
+ }
+}
diff --git a/data/products/kubevault.json b/data/products/kubevault.json
index ba16fbf9..a4f5aaff 100644
--- a/data/products/kubevault.json
+++ b/data/products/kubevault.json
@@ -13,22 +13,22 @@
},
"keywords": "kubernetes, hashicorp vault, vault kubernetes, appscode, vault secret, certificates, security, access tokens, tls, secret engines, user management",
"heroImage": {
- "src": "https://cdn.appscode.com/images/products/kubevault/kubevault-hero.png",
+ "src": "/assets/images/products/kubevault/kubevault-hero.png",
"alt": "KubeVault"
},
"logo": {
- "src": "https://cdn.appscode.com/images/products/kubevault/kubevault.png",
+ "src": "/assets/images/products/kubevault/kubevault.png",
"alt": "KubeVault"
},
"logoWhite": {
- "src": "https://cdn.appscode.com/images/products/kubevault/kubevault-white.png",
+ "src": "/assets/images/products/kubevault/kubevault-white.png",
"alt": "KubeVault"
},
"icon": {
- "src": "https://cdn.appscode.com/images/products/kubevault/kubevault-icon.svg",
+ "src": "/assets/images/products/kubevault/kubevault-icon.svg",
"alt": "KubeVault",
"sizes": {
- "192x192": "https://cdn.appscode.com/images/products/kubevault/icons/android-icon-192x192.png"
+ "192x192": "/assets/images/products/kubevault/icons/android-icon-192x192.png"
}
},
"repoURL": "https://github.com/kubevault/kubevault",
@@ -51,13 +51,14 @@
"title": "Vault Kubernetes Deployment",
"url": "vault-kubernetes-deployment",
"image": {
- "src": "/assets/images/products/kubevault/features/feature-1.png",
- "alt": "http"
+ "src": "/assets/images/products/kubevault/features/vault-kubernetes-deployment.svg",
+ "alt": "Vault Kubernetes Deployment"
},
"icon": {
"src": "/assets/images/products/kubevault/features/vaultserverversions.svg",
"alt": "vaultserverversions"
},
+ "tag": "Deployment",
"summary": "",
"description": "You can deploy TLS secured Vault Servers on Kubernetes using KubeVault. You can manage TLS with self-signed or cert-manager managed TLS. Running & managing Vault & it’s resources has never been easier."
},
@@ -65,13 +66,14 @@
"title": "Auto Initialization & Unsealing",
"url": "auto-initialization-and-unsealing",
"image": {
- "src": "/assets/images/products/kubevault/features/feature-1.png",
- "alt": "http"
+ "src": "/assets/images/products/kubevault/features/auto-initialization-and-unsealing.svg",
+ "alt": "Auto Initialization and Unsealing"
},
"icon": {
"src": "/assets/images/products/kubevault/features/automated-unsealing.svg",
"alt": "http"
},
+ "tag": "Security",
"summary": "",
"description": "KubeVault provides various ways to automatically initialize & unseal your Vault Servers. You can use your choice of cloud providers among GCP, AWS, Azure, etc. or even K8s secret to store unseal keys & vault token."
},
@@ -79,13 +81,14 @@
"title": "Vault Backup & Restore",
"url": "vault-backup-restore",
"image": {
- "src": "/assets/images/products/kubevault/features/feature-6.png",
- "alt": "http"
+ "src": "/assets/images/products/kubevault/features/vault-backup-restore.svg",
+ "alt": "Vault Backup and Restore"
},
"icon": {
"src": "/assets/images/products/kubevault/features/vault-backup-restore.svg",
"alt": "vault-backup-restore"
},
+ "tag": "Recovery",
"summary": "",
"description": "You can Backup & Restore your Vault cluster managed by KubeVault or deployed with Helm-charts using Stash. Stash simplifies & generalizes the process for Vault regardless of the Storage Backend used by the Vault. It protects your Vault cluster against data corruption or sabotage."
},
@@ -93,13 +96,14 @@
"title": "Consume KubeVault Secrets with CSI",
"url": "consume-kubevault-secrets-with-csi",
"image": {
- "src": "/assets/images/products/kubevault/features/feature-5.png",
- "alt": "http"
+ "src": "/assets/images/products/kubevault/features/consume-kubevault-secrets-with-csi.svg",
+ "alt": "Consume KubeVault Secrets with CSI"
},
"icon": {
"src": "/assets/images/products/kubevault/features/secrets.svg",
"alt": "secrets"
},
+ "tag": "Secrets",
"summary": "",
"description": "KubeVault works seamlessly with the Secrets Store CSI Driver. Consuming Vault secrets in K8s resources is way more simpler with the automation provided by KubeVault. "
},
@@ -107,13 +111,14 @@
"title": "Manage DB Users Privileges",
"url": "manage-db-users-privileges",
"image": {
- "src": "/assets/images/products/kubevault/features/feature-4.png",
- "alt": "http"
+ "src": "/assets/images/products/kubevault/features/manage-db-users-privileges.svg",
+ "alt": "Manage DB Users Privileges"
},
"icon": {
"src": "/assets/images/products/kubevault/features/database-users.svg",
"alt": "http"
},
+ "tag": "Access Control",
"summary": "",
"description": "Managing DB user privileges is a complicated task which is made simple with KubeVault. KubeVault works seamlessly with KubeDB managed DBs. CRDs like SecretAccessRequest, SecretRoleBinding, etc. make grant, revoke, audit user privileges extremely convenient. "
},
@@ -121,13 +126,14 @@
"title": "Storage Backend",
"url": "storage-backend",
"image": {
- "src": "/assets/images/products/kubevault/features/feature-2.png",
- "alt": "http"
+ "src": "/assets/images/products/kubevault/features/storage-backend.svg",
+ "alt": "Storage Backend"
},
"icon": {
"src": "/assets/images/products/kubevault/features/storageclasses.svg",
"alt": "storageclasses"
},
+ "tag": "Storage",
"summary": "",
"description": "KubeVault lets you choose your preferred way to store & persist Vault data. Each Storage Backend has its own pros and cons. GCS, AWS S3, Azure, Consul, Raft, Etcd, MySQL, Postgres, DynanoDB, etc. to name a few."
},
@@ -135,13 +141,14 @@
"title": "Authentication Method",
"url": "authentication-method",
"image": {
- "src": "/assets/images/products/kubevault/features/feature-3.png",
- "alt": "http"
+ "src": "/assets/images/products/kubevault/features/authentication-method.svg",
+ "alt": "Authentication Method"
},
"icon": {
"src": "/assets/images/products/kubevault/features/auth.svg",
"alt": "http"
},
+ "tag": "Security",
"summary": "",
"description": "You can authenticate to Vault using numerous ways using KubeVault. Each of them has their own use-cases. Kubernetes Service Account token, AWS IAM, Azure, Userpass, JWT/OIDC, etc. to name a few."
},
@@ -149,13 +156,14 @@
"title": "Database Secret Engine",
"url": "database-secret-engine",
"image": {
- "src": "/assets/images/products/kubevault/features/feature-4.png",
- "alt": "http"
+ "src": "/assets/images/products/kubevault/features/database-secret-engine.svg",
+ "alt": "Database Secret Engine"
},
"icon": {
"src": "/assets/images/products/kubevault/features/database-view.png",
"alt": "http"
},
+ "tag": "Secrets",
"summary": "",
"description": "PostgreSQL, MySQL, Elasticsearch & MongoDB database secret engine in Vault generates database credentials dynamically based on configured roles. Using Vault, you can configure Secret Engine, Create Role and issue dynamic credentials. "
},
@@ -163,13 +171,14 @@
"title": "Azure Secret Engine",
"url": "azure-secret-engine",
"image": {
- "src": "/assets/images/products/kubevault/features/feature-4.png",
- "alt": "http"
+ "src": "/assets/images/products/kubevault/features/azure-secret-engine.svg",
+ "alt": "Azure Secret Engine"
},
"icon": {
"src": "/assets/images/products/kubevault/features/azure.png",
"alt": "http"
},
+ "tag": "Cloud",
"summary": "",
"description": "Azure Secrets Engine dynamically generates Azure service principals and role assignments. Vault roles can be mapped to one or more Azure roles, providing a simple way to manage the permissions granted to generated service principals."
},
@@ -177,13 +186,14 @@
"title": "AWS Secret Engine",
"url": "aws-secret-engine",
"image": {
- "src": "/assets/images/products/kubevault/features/feature-4.png",
- "alt": "http"
+ "src": "/assets/images/products/kubevault/features/aws-secret-engine.svg",
+ "alt": "AWS Secret Engine"
},
"icon": {
"src": "/assets/images/products/kubevault/features/aws.png",
"alt": "http"
},
+ "tag": "Cloud",
"summary": "",
"description": "AWS Secret Engine in Vault generates AWS access credentials dynamically based on IAM policies. Using Vault operator, you can configure AWS secret engine and issue AWS access credentials."
},
@@ -191,13 +201,14 @@
"title": "GCP Secret Engine",
"url": "gcp-secret-engine",
"image": {
- "src": "/assets/images/products/kubevault/features/feature-4.png",
- "alt": "http"
+ "src": "/assets/images/products/kubevault/features/gcp-secret-engine.svg",
+ "alt": "GCP Secret Engine"
},
"icon": {
"src": "/assets/images/products/kubevault/features/google-cloud.png",
"alt": "http"
},
+ "tag": "Cloud",
"summary": "",
"description": "Google Cloud Vault secrets engine dynamically generates Google Cloud service account keys and OAuth tokens based on IAM policies. By using Vault user can easily configure vault GCP Secret Engine and make request to generate Google Cloud account keys and OAuth tokens based on IAM policies."
},
@@ -205,13 +216,14 @@
"title": "Kubectl Plugin",
"url": "kubectl-plugin",
"image": {
- "src": "/assets/images/products/kubevault/features/feature-6.png",
- "alt": "http"
+ "src": "/assets/images/products/kubevault/features/kubectl-plugin.svg",
+ "alt": "Kubectl Plugin"
},
"icon": {
"src": "/assets/images/products/kubevault/features/plugin.svg",
"alt": "http"
},
+ "tag": "Tooling",
"summary": "",
"description": "KubeVault CLI is a kubectl plugin that supports various handy features while using KubeVault. It automates numerous tedious tasks & provides simpler ways to interact with Vault. It’s possible to do CRUD operations on Vault unseal keys, root token stored in different clouds, generate SecretProviderClass, etc. with KubeVault CLI. "
}
diff --git a/data/products/kubevault/homepage.json b/data/products/kubevault/homepage.json
new file mode 100644
index 00000000..c1b58c63
--- /dev/null
+++ b/data/products/kubevault/homepage.json
@@ -0,0 +1,130 @@
+{
+ "hero": {
+ "headline": "Run Production-Grade Vault on Kubernetes",
+ "cta_primary": "Try Now Free",
+ "cta_secondary": "Get in Touch",
+ "trust_items": [
+ {
+ "icon": "heroicons:shield-check",
+ "label": "Production-Grade Security"
+ },
+ {
+ "icon": "heroicons:calendar-days",
+ "label": "30-Day Free License"
+ },
+ {
+ "icon": "heroicons:server-stack",
+ "label": "Any Kubernetes Distribution"
+ }
+ ]
+ },
+ "steps": {
+ "title": "Vault on Kubernetes in 4 steps",
+ "subtitle": "A Git-Ops-ready workflow for deploying, unsealing, and operating HashiCorp Vault \u2014 declared entirely with Kubernetes-native CRDs.",
+ "steps": [
+ {
+ "title": "Install the Operator",
+ "description": "Deploy KubeVault via Helm into any Kubernetes cluster \u2014 EKS, GKE, AKS, or on-prem. One command, a few minutes.",
+ "code": "helm install kubevault \u2026"
+ },
+ {
+ "title": "Deploy a VaultServer",
+ "description": "A single VaultServer CRD provisions a TLS-secured HashiCorp Vault that is automatically initialized and unsealed using your cloud KMS or a Kubernetes secret.",
+ "code": "kind: VaultServer"
+ },
+ {
+ "title": "Enable Secret Engines",
+ "description": "Declare SecretEngine and role CRDs to issue short-lived, dynamic credentials for AWS, Azure, GCP, and databases \u2014 no static secrets to rotate.",
+ "code": "kind: SecretEngine"
+ },
+ {
+ "title": "Request Secrets Securely",
+ "description": "Workloads get scoped, audited access through SecretAccessRequest and the Secrets Store CSI Driver \u2014 secrets are delivered straight into pods.",
+ "code": "kind: SecretAccessRequest"
+ }
+ ]
+ },
+ "capabilities": {
+ "title": "Built for production-grade Vault",
+ "subtitle": "A Git-Ops-ready solution for deploying and configuring HashiCorp Vault on Kubernetes \u2014 with automated unsealing, dynamic secrets, and fine-grained access control.",
+ "tags": [
+ "Deploy",
+ "Automation",
+ "Backup",
+ "Secrets",
+ "Access",
+ "Storage"
+ ]
+ },
+ "stats": {
+ "items": [
+ {
+ "number": "300K+",
+ "label": "Docker Pulls"
+ },
+ {
+ "number": "9+",
+ "label": "Storage Backends"
+ },
+ {
+ "number": "5+",
+ "label": "Authentication Methods"
+ },
+ {
+ "number": "30-Day",
+ "label": "Free Trial License"
+ }
+ ]
+ },
+ "cta": {
+ "headline": "Run and manage Vault on Kubernetes \u2014 free!",
+ "description": "KubeVault is free to use on any supported Kubernetes engine, with a 30-day complimentary license available for trial.",
+ "cta_primary": "Try Now Free",
+ "cta_secondary": "Contact Us",
+ "trust_points": [
+ "No credit card required",
+ "Works on any Kubernetes distribution",
+ "Built on HashiCorp Vault",
+ "Enterprise support available"
+ ]
+ },
+ "final-cta": {
+ "badge": "Start Securing Today",
+ "title_plain": "Ready to Run Vault on",
+ "title_gradient": "Kubernetes?",
+ "description": "Join platform teams at Asurion, Emerson, Nokia, and Orange running TLS-secured, auto-unsealed HashiCorp Vault with dynamic secrets on Kubernetes using KubeVault.",
+ "checklist": [
+ "TLS-secured, automatically unsealed Vault by default",
+ "Dynamic secrets for AWS, Azure, GCP & databases",
+ "30-day free license, no credit card required"
+ ],
+ "cta_primary": "Try Now Free",
+ "cta_secondary": "Get in Touch",
+ "stats": [
+ {
+ "icon": "lucide:database",
+ "value": "4+",
+ "label": "Secret Engines",
+ "gradient": "linear-gradient(135deg, #60a5fa, #06b6d4)"
+ },
+ {
+ "icon": "lucide:key-round",
+ "value": "5+",
+ "label": "Auth Methods",
+ "gradient": "linear-gradient(135deg, #4ade80, #10b981)"
+ },
+ {
+ "icon": "lucide:hard-drive",
+ "value": "9+",
+ "label": "Storage Backends",
+ "gradient": "linear-gradient(135deg, #c084fc, #ec4899)"
+ },
+ {
+ "icon": "lucide:life-buoy",
+ "value": "24/7",
+ "label": "Expert Support",
+ "gradient": "linear-gradient(135deg, #fb923c, #ef4444)"
+ }
+ ]
+ }
+}
diff --git a/data/products/kubevault/single-features-data/authentication-method.json b/data/products/kubevault/single-features-data/authentication-method.json
index 1e28100c..02a30349 100644
--- a/data/products/kubevault/single-features-data/authentication-method.json
+++ b/data/products/kubevault/single-features-data/authentication-method.json
@@ -7,7 +7,7 @@
"id": 1,
"title": "Authentication Method",
"description": "Auth methods are the components in Vault that perform authentication and are responsible for assigning identity and a set of policies to a user. In all cases, Vault will enforce authentication as part of the request processing. In most cases, Vault will delegate the authentication administration and decision to the relevant configured external auth method. Having multiple auth methods enables you to use an auth method that makes the most sense for your use case of Vault and your organization. KubeVault Supports multiple authentication methods like AWS IAM, Azure, GCP IAM, JWT/OIDC, Kubernetes Auth, TLS Certificates, Token, Userpass etc.",
- "img": "/assets/images/features/illustrations/authentication-method.jpg"
+ "img": "/assets/images/features/illustrations/authentication-method.svg"
}
]
}
diff --git a/data/products/kubevault/single-features-data/auto-initialization-and-unsealing.json b/data/products/kubevault/single-features-data/auto-initialization-and-unsealing.json
index a0f47ffe..44c13501 100644
--- a/data/products/kubevault/single-features-data/auto-initialization-and-unsealing.json
+++ b/data/products/kubevault/single-features-data/auto-initialization-and-unsealing.json
@@ -7,31 +7,31 @@
"id": 1,
"title": "Auto Initialization",
"description": "When a Vault server is started, it starts in a sealed state. In a sealed state, almost no operation is possible with a Vault server. So, you will need to unseal Vault. KubeVault operator provides automatic initialization and unsealing facility.",
- "img": "/assets/images/features/illustrations/auto-initialization.jpg"
+ "img": "/assets/images/features/illustrations/auto-initialization.svg"
},
{
"id": 2,
"title": "Store and Unseal your Secret with AWS",
"description": "When you deploy or scale up a Vault server, you don’t have to worry about unsealing new Vault pods. The KubeVault operator will do it for you. You can simply use Amazon Web Services (AWS) Key Management Service (KSM) Systems Manager (SSM) to store, unseal keys & vault root token.",
- "img": "/assets/images/features/illustrations/store-and-unseal-your-secret-with-aws.jpg"
+ "img": "/assets/images/features/illustrations/store-and-unseal-your-secret-with-aws.svg"
},
{
"id": 3,
"title": "Store and Unseal your Secret with AZURE",
"description": "When you deploy or scale up a Vault server, you don’t have to worry about unsealing new Vault pods. The KubeVault operator will do it for you. You can simply use Azure Key Vault to store, unseal keys & vault root token.",
- "img": "/assets/images/features/illustrations/store-and-unseal-your-secret-with-azure.jpg"
+ "img": "/assets/images/features/illustrations/store-and-unseal-your-secret-with-azure.svg"
},
{
"id": 4,
"title": "Store and Unseal your Secret with GCP",
"description": "When you deploy or scale up a Vault server, you don’t have to worry about unsealing new Vault pods. The KubeVault operator will do it for you. You can simply use Google Cloud Platform (GCP) Key Management Service (KSM) in Google Cloud Store (GCS) to store, unseal keys & vault root token.",
- "img": "/assets/images/features/illustrations/store-and-unseal-your-secret-with-gcp.jpg"
+ "img": "/assets/images/features/illustrations/store-and-unseal-your-secret-with-gcp.svg"
},
{
"id": 5,
"title": "Store and Unseal your Secret with K8S",
"description": "When you deploy or scale up a Vault server, you don’t have to worry about unsealing new Vault pods. The KubeVault operator will do it for you. You can simply use Kubernetes Secret to store, unseal keys & vault root token.",
- "img": "/assets/images/features/illustrations/store-and-unseal-your-secret-with-k8s.jpg"
+ "img": "/assets/images/features/illustrations/store-and-unseal-your-secret-with-k8s.svg"
}
]
}
diff --git a/data/products/kubevault/single-features-data/aws-secret-engine.json b/data/products/kubevault/single-features-data/aws-secret-engine.json
index 8bb62816..4a9aedee 100644
--- a/data/products/kubevault/single-features-data/aws-secret-engine.json
+++ b/data/products/kubevault/single-features-data/aws-secret-engine.json
@@ -7,25 +7,25 @@
"id": 1,
"title": "Enable and Configure Secret Engine",
"description": "Secrets Engines are components which store, generate, or encrypt data. Secrets Engines are incredibly flexible, so it is easiest to think about them in terms of their function. Secrets Engines are provided with some set of data, they take some action on that data, and they return a result. KubeVault lets you enable & configure AWS Secret Engine in a Kubernetes native way.",
- "img": "/assets/images/features/illustrations/enable-and-configure-secret-engine.jpg"
+ "img": "/assets/images/features/illustrations/enable-and-configure-secret-engine.svg"
},
{
"id": 2,
"title": "Role",
"description": "In a Secret Engine, a role describes an identity with a set of permissions, groups, or policies you want to attach to a user of the Secret Engine. KubeVault operator lets you create AWSRole in a Secret Engine.",
- "img": "/assets/images/features/illustrations/role.jpg"
+ "img": "/assets/images/features/illustrations/role.svg"
},
{
"id": 3,
"title": "Secret Access Request",
"description": "A SecretAccessRequest is a Kubernetes CustomResourceDefinition (CRD) which allows a user to request a Vault server for credentials in a Kubernetes native way. A SecretAccessRequest can be created under AWSRole that can be enabled in a SecretEngine. KubeVault operator lets you manage your DB user privileges with dynamic secrets rather than hard-coded credentials using SecretAccessRequest. This means that services that need to access a database no longer need to hardcode credentials.",
- "img": "/assets/images/features/illustrations/secret-access-request.jpg"
+ "img": "/assets/images/features/illustrations/secret-access-request.svg"
},
{
"id": 4,
"title": "Secret Role Binding",
"description": "A SecretRoleBinding is a Kubernetes CustomResourceDefinition (CRD) which allows a user to bind a set of roles to a set of users. Using the SecretRoleBinding it’s possible to bind AWSRole to Kubernetes ServiceAccounts. This way is more machine friendly and convenient for running your application with specific permissions.",
- "img": "/assets/images/features/illustrations/secret-role-binding.jpg"
+ "img": "/assets/images/features/illustrations/secret-role-binding.svg"
}
]
}
diff --git a/data/products/kubevault/single-features-data/azure-secret-engine.json b/data/products/kubevault/single-features-data/azure-secret-engine.json
index 08f69cb8..b2e07251 100644
--- a/data/products/kubevault/single-features-data/azure-secret-engine.json
+++ b/data/products/kubevault/single-features-data/azure-secret-engine.json
@@ -7,25 +7,25 @@
"id": 1,
"title": "Enable and Configure Secret Engine",
"description": "Secrets Engines are components which store, generate, or encrypt data. Secrets Engines are incredibly flexible, so it is easiest to think about them in terms of their function. Secrets Engines are provided with some set of data, they take some action on that data, and they return a result. KubeVault lets you enable & configure Azure Secret Engine in a Kubernetes native way.",
- "img": "/assets/images/features/illustrations/enable-and-configure-secret-engine.jpg"
+ "img": "/assets/images/features/illustrations/enable-and-configure-secret-engine.svg"
},
{
"id": 2,
"title": "Role",
"description": "In a Secret Engine, a role describes an identity with a set of permissions, groups, or policies you want to attach to a user of the Secret Engine. KubeVault operator lets you create AzureRole in a Secret Engine.",
- "img": "/assets/images/features/illustrations/role.jpg"
+ "img": "/assets/images/features/illustrations/role.svg"
},
{
"id": 3,
"title": "Secret Access Request",
"description": "A SecretAccessRequest is a Kubernetes CustomResourceDefinition (CRD) which allows a user to request a Vault server for credentials in a Kubernetes native way. A SecretAccessRequest can be created under AzureRole that can be enabled in a SecretEngine. KubeVault operator lets you manage your DB user privileges with dynamic secrets rather than hard-coded credentials using SecretAccessRequest. This means that services that need to access a database no longer need to hardcode credentials.",
- "img": "/assets/images/features/illustrations/secret-access-request.jpg"
+ "img": "/assets/images/features/illustrations/secret-access-request.svg"
},
{
"id": 4,
"title": "Secret Role Binding",
"description": "A SecretRoleBinding is a Kubernetes CustomResourceDefinition (CRD) which allows a user to bind a set of roles to a set of users. Using the SecretRoleBinding it’s possible to bind AzureRole to Kubernetes ServiceAccounts. This way is more machine friendly and convenient for running your application with specific permissions.",
- "img": "/assets/images/features/illustrations/secret-role-binding.jpg"
+ "img": "/assets/images/features/illustrations/secret-role-binding.svg"
}
]
}
diff --git a/data/products/kubevault/single-features-data/consume-kubevault-secrets-with-csi.json b/data/products/kubevault/single-features-data/consume-kubevault-secrets-with-csi.json
index 18480c55..0f6ef8eb 100644
--- a/data/products/kubevault/single-features-data/consume-kubevault-secrets-with-csi.json
+++ b/data/products/kubevault/single-features-data/consume-kubevault-secrets-with-csi.json
@@ -7,7 +7,7 @@
"id": 1,
"title": "Consume KubeVault Secrets with CSI",
"description": "Secrets Store CSI Driver for Kubernetes secrets, Integrates secrets stores with Kubernetes via a Container Storage Interface (CSI) volume. It allows Kubernetes to mount multiple secrets, keys, and certs stored in enterprise-grade external secrets stores into their pods as a volume. Once the Volume is attached, the data in it is mounted into the container’s file system. KubeVault operator works seamlessly with Secrets Store CSI Driver. This is one of the recommended ways to mount Vault Secrets into Kubernetes resources along with Vault Agent Sidecar Injector. Secrets Store CSI Driver requires a SecretProviderClass which is a namespaced resource that is used to provide driver configurations and provider-specific parameters to the CSI driver. Writing these SecretProviderClass can be a tedious job, but KubeVault CLI lets you generate SecretProviderClass using simple CLI commands.",
- "img": "/assets/images/features/illustrations/consume-vault-secrets-using-secrets-store-csi-driver.jpg"
+ "img": "/assets/images/features/illustrations/consume-vault-secrets-using-secrets-store-csi-driver.svg"
}
]
}
diff --git a/data/products/kubevault/single-features-data/database-secret-engine.json b/data/products/kubevault/single-features-data/database-secret-engine.json
index 0bc06f4f..80a1bddc 100644
--- a/data/products/kubevault/single-features-data/database-secret-engine.json
+++ b/data/products/kubevault/single-features-data/database-secret-engine.json
@@ -7,25 +7,25 @@
"id": 1,
"title": "Enable and Configure Secret Engine",
"description": "Secrets Engines are components which store, generate, or encrypt data. Secrets Engines are incredibly flexible, so it is easiest to think about them in terms of their function. Secrets Engines are provided with some set of data, they take some action on that data, and they return a result. KubeVault lets you enable & configure Database Secret Engine in a Kubernetes native way. You can use MySQL, PostgreSQL, Elasticsearch & MongoDB Secret Engines with KubeVault.",
- "img": "/assets/images/features/illustrations/enable-and-configure-secret-engine.jpg"
+ "img": "/assets/images/features/illustrations/enable-and-configure-secret-engine.svg"
},
{
"id": 2,
"title": "Role",
"description": "In a Secret Engine, a role describes an identity with a set of permissions, groups, or policies you want to attach to a user of the Secret Engine. KubeVault operator lets you create Database Role in a Secret Engine.",
- "img": "/assets/images/features/illustrations/role.jpg"
+ "img": "/assets/images/features/illustrations/role.svg"
},
{
"id": 3,
"title": "Secret Access Request",
"description": "A SecretAccessRequest is a Kubernetes CustomResourceDefinition (CRD) which allows a user to request a Vault server for credentials in a Kubernetes native way. A SecretAccessRequest can be created under Database Role that can be enabled in a SecretEngine. KubeVault operator lets you manage your DB user privileges with dynamic secrets rather than hard-coded credentials using SecretAccessRequest. This means that services that need to access a database no longer need to hardcode credentials.",
- "img": "/assets/images/features/illustrations/secret-access-request.jpg"
+ "img": "/assets/images/features/illustrations/secret-access-request.svg"
},
{
"id": 4,
"title": "Secret Role Binding",
"description": "A SecretRoleBinding is a Kubernetes CustomResourceDefinition (CRD) which allows a user to bind a set of roles to a set of users. Using the SecretRoleBinding it’s possible to bind Database Role to Kubernetes ServiceAccounts. This way is more machine friendly and convenient for running your application with specific permissions.",
- "img": "/assets/images/features/illustrations/secret-role-binding.jpg"
+ "img": "/assets/images/features/illustrations/secret-role-binding.svg"
}
]
}
diff --git a/data/products/kubevault/single-features-data/gcp-secret-engine.json b/data/products/kubevault/single-features-data/gcp-secret-engine.json
index 4f7cbc9e..fa704d6a 100644
--- a/data/products/kubevault/single-features-data/gcp-secret-engine.json
+++ b/data/products/kubevault/single-features-data/gcp-secret-engine.json
@@ -7,25 +7,25 @@
"id": 1,
"title": "Enable and Configure Secret Engine",
"description": "Secrets Engines are components which store, generate, or encrypt data. Secrets Engines are incredibly flexible, so it is easiest to think about them in terms of their function. Secrets Engines are provided with some set of data, they take some action on that data, and they return a result. KubeVault lets you enable & configure GCP Secret Engine in a Kubernetes native way.",
- "img": "/assets/images/features/illustrations/enable-and-configure-secret-engine.jpg"
+ "img": "/assets/images/features/illustrations/enable-and-configure-secret-engine.svg"
},
{
"id": 2,
"title": "Role",
"description": "In a Secret Engine, a role describes an identity with a set of permissions, groups, or policies you want to attach to a user of the Secret Engine. KubeVault operator lets you create GCPRole in a Secret Engine.",
- "img": "/assets/images/features/illustrations/role.jpg"
+ "img": "/assets/images/features/illustrations/role.svg"
},
{
"id": 3,
"title": "Secret Access Request",
"description": "A SecretAccessRequest is a Kubernetes CustomResourceDefinition (CRD) which allows a user to request a Vault server for credentials in a Kubernetes native way. A SecretAccessRequest can be created under GCPRole that can be enabled in a SecretEngine. KubeVault operator lets you manage your DB user privileges with dynamic secrets rather than hard-coded credentials using SecretAccessRequest. This means that services that need to access a database no longer need to hardcode credentials.",
- "img": "/assets/images/features/illustrations/secret-access-request.jpg"
+ "img": "/assets/images/features/illustrations/secret-access-request.svg"
},
{
"id": 4,
"title": "Secret Role Binding",
"description": "A SecretRoleBinding is a Kubernetes CustomResourceDefinition (CRD) which allows a user to bind a set of roles to a set of users. Using the SecretRoleBinding it’s possible to bind GCPRole to Kubernetes ServiceAccounts. This way is more machine friendly and convenient for running your application with specific permissions.",
- "img": "/assets/images/features/illustrations/secret-role-binding.jpg"
+ "img": "/assets/images/features/illustrations/secret-role-binding.svg"
}
]
}
diff --git a/data/products/kubevault/single-features-data/kubectl-plugin.json b/data/products/kubevault/single-features-data/kubectl-plugin.json
index a747c9d6..32e2b7d3 100644
--- a/data/products/kubevault/single-features-data/kubectl-plugin.json
+++ b/data/products/kubevault/single-features-data/kubectl-plugin.json
@@ -7,7 +7,7 @@
"id": 1,
"title": "KubeVault CLI",
"description": "KubeVault CLI is an integral part of the KubeVault operator. KubeVault CLI is a kubectl plugin that supports various handy features while using KubeVault. It automates numerous tedious tasks & provides simpler ways to interact with Vault. It’s possible to do CRUD operations on Vault unseal keys, root token stored in different clouds, generate SecretProviderClass, etc. with KubeVault CLI.",
- "img": "/assets/images/features/illustrations/kubevault-cli.jpg"
+ "img": "/assets/images/features/illustrations/kubevault-cli.svg"
}
]
}
diff --git a/data/products/kubevault/single-features-data/manage-db-users-privileges.json b/data/products/kubevault/single-features-data/manage-db-users-privileges.json
index bc986b7a..f88c4584 100644
--- a/data/products/kubevault/single-features-data/manage-db-users-privileges.json
+++ b/data/products/kubevault/single-features-data/manage-db-users-privileges.json
@@ -7,13 +7,13 @@
"id": 1,
"title": "Manage DB Users Privileges using SecretAccessRequest",
"description": "A SecretAccessRequest is a Kubernetes CustomResourceDefinition (CRD) which allows a user to request a Vault server for credentials in a Kubernetes native way. A SecretAccessRequest can be created under various roles that can be enabled in a SecretEngine like AWSRole, GCPRole, ElasticsearchRole, MongoDBRole, etc. This is a more human friendly way to manage DB privileges. KubeVault operator lets you manage your DB user privileges with dynamic secrets rather than hard-coded credentials using SecretAccessRequest. This means that services that need to access a database no longer need to hardcode credentials. They can simply request them from Vault. Thus granting, revoking and monitoring user privileges is extremely easy with KubeVault.",
- "img": "/assets/images/features/illustrations/manage-db-users-privileges-using-secretaccessrequest.jpg"
+ "img": "/assets/images/features/illustrations/manage-db-users-privileges-using-secretaccessrequest.svg"
},
{
"id": 2,
"title": "Manage DB Users Privileges using SecretRoleBinding",
"description": "A SecretRoleBinding is a Kubernetes CustomResourceDefinition (CRD) which allows a user to bind a set of roles to a set of users. Using the SecretRoleBinding it’s possible to bind various roles like AWSRole, GCPRole, ElasticsearchRole, MongoDBRole, etc. to Kubernetes ServiceAccounts. This way is more machine friendly and convenient for running your application with specific permissions. Injecting Vault Secrets into Kubernetes resources requires specific permissions & using SecretRoleBinding it’s very easy to bind a set of policies to a set of Kubernetes Service Accounts.",
- "img": "/assets/images/features/illustrations/manage-db-users-privileges-using-secretrolebinding.jpg"
+ "img": "/assets/images/features/illustrations/manage-db-users-privileges-using-secretrolebinding.svg"
}
]
}
diff --git a/data/products/kubevault/single-features-data/storage-backend.json b/data/products/kubevault/single-features-data/storage-backend.json
index 3adb6d4a..ec83749a 100644
--- a/data/products/kubevault/single-features-data/storage-backend.json
+++ b/data/products/kubevault/single-features-data/storage-backend.json
@@ -7,25 +7,25 @@
"id": 1,
"title": "Storage Backend",
"description": "Storage Backend represents the location for the durable storage of Vault's information. KubeVault lets you choose multiple way to store & persist Vault data. KubeVault supports multiple Storage Backend like GCS, AWS S3, Azure, MySQL, PostgreSQL, Consul, Raft, DynamoDB, Etcd, Filesystem, OpenStack Swift, In Memory etc.",
- "img": "/assets/images/features/illustrations/storage-backend.jpg"
+ "img": "/assets/images/features/illustrations/storage-backend.svg"
},
{
"id": 2,
"title": "Cloud Storage Backend",
"description": "Cloud Storage backend is used to persist Vault's data in Cloud Storage. KubeVault Provides support for multiple Storage Backend from Cloud Providers like Amazon Web Services (AWS) S3, Microsoft Azure Storage Container, Google Cloud Storage etc.",
- "img": "/assets/images/features/illustrations/cloud-storage-backend.jpg"
+ "img": "/assets/images/features/illustrations/cloud-storage-backend.svg"
},
{
"id": 3,
"title": "Database Storage Backend",
"description": "Database Storage backend is used to persist Vault's data in Database Storage. KubeVault Provides support for multiple Database Storage Backend like MySQL, PostgreSQL, etc.",
- "img": "/assets/images/features/illustrations/database-storage-backend.jpg"
+ "img": "/assets/images/features/illustrations/database-storage-backend.svg"
},
{
"id": 4,
"title": "Integrated Storage Backend",
"description": "Integrated Storage backend is used to persist Vault's data. Unlike other storage backends, Integrated Storage does not operate from a single source of data. Instead all the nodes in a Vault cluster will have a replicated copy of Vault's data. Data will be replicated across all the nodes. KubeVault Provides support for Integrated Storage Backend via Raft.",
- "img": "/assets/images/features/illustrations/integrated-storage-backend.jpg"
+ "img": "/assets/images/features/illustrations/integrated-storage-backend.svg"
}
]
}
diff --git a/data/products/kubevault/single-features-data/vault-backup-restore.json b/data/products/kubevault/single-features-data/vault-backup-restore.json
index 6a7a6c6d..be28e579 100644
--- a/data/products/kubevault/single-features-data/vault-backup-restore.json
+++ b/data/products/kubevault/single-features-data/vault-backup-restore.json
@@ -7,7 +7,7 @@
"id": 1,
"title": "Backup & Restore",
"description": "Vault provides a set of standard operating procedures (SOP) for backing up a Vault cluster. It protects your Vault cluster against data corruption or sabotage of which Disaster Recovery Replication might not be able to protect against. Stash by AppsCode lets you Backup & Restore your Vault cluster managed by KubeVault or deployed with Vault Helm-charts.",
- "img": "/assets/images/features/illustrations/backup-restore.jpg"
+ "img": "/assets/images/features/illustrations/backup-restore.svg"
}
]
}
diff --git a/data/products/kubevault/single-features-data/vault-kubernetes-deployment.json b/data/products/kubevault/single-features-data/vault-kubernetes-deployment.json
index 4ceff618..6fe03a00 100644
--- a/data/products/kubevault/single-features-data/vault-kubernetes-deployment.json
+++ b/data/products/kubevault/single-features-data/vault-kubernetes-deployment.json
@@ -7,13 +7,13 @@
"id": 1,
"title": "Provisioning",
"description": "Kubevault provides various ways to deploy & configure Vault in production. Numerous Storage Backend, Auth methods, Auto Unseler Mode, TLS, Secret Engines, Dynamic Secrets, Identity-bases Access, DB user privilege management, etc. makes KubeVault Git-ops ready. You can simply provision Vault Server on Kubernetes using KubeVault. Don’t need to worry about all the knowledge of Kubernetes Concepts & setups.",
- "img": "/assets/images/features/illustrations/provisioning.jpg"
+ "img": "/assets/images/features/illustrations/provisioning.svg"
},
{
"id": 2,
"title": "TLS Management",
"description": "Secure your Vault Server using TLS. Deploy TLS secured Vault Servers on Kubernetes using KubeVault. You can use cert-manager to manage Vault Server TLS. Also, you can use TLS with self-signed. Running & Managing Vault & its resources has never been easier.",
- "img": "/assets/images/features/illustrations/tls-management.jpg"
+ "img": "/assets/images/features/illustrations/tls-management.svg"
}
]
}
diff --git a/data/products/stash.json b/data/products/stash.json
index ccbc0157..8dbc94d0 100644
--- a/data/products/stash.json
+++ b/data/products/stash.json
@@ -60,7 +60,7 @@
{
"title": "Declarative API",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/declarative-api.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/declarative-api.svg",
"alt": "http"
},
"icon": {
@@ -73,7 +73,7 @@
{
"title": "Backup Kubernetes Volumes",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/backup-kubernetes-volumes.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/backup-kubernetes-volumes.svg",
"alt": "http"
},
"icon": {
@@ -86,7 +86,7 @@
{
"title": "Backup Database",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/backup-restore-databases.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/backup-restore-databases.svg",
"alt": "http"
},
"icon": {
@@ -96,10 +96,23 @@
"summary": "",
"description": "Backup your databases deployed in Kubernetes. Stash supports backup of MariaDB, Redis, PostgreSQL, MySQL, MongoDB, Elasticsearch and Percona XtraDB, Etcd databases. It seemingly integrates with KubeDB. It is now a recommended method to backup KubeDB supported databases."
},
+ {
+ "title": "Backup Virtual Machines",
+ "image": {
+ "src": "https://cdn.appscode.com/images/features/illustrations/backup-virtual-machines.svg",
+ "alt": "Several virtual machines running on a host being captured into a scheduled, restorable backup"
+ },
+ "icon": {
+ "src": "https://cdn.appscode.com/images/products/stash/features/kub-workload.svg",
+ "alt": "http"
+ },
+ "summary": "",
+ "description": "Protect virtual machines running on Kubernetes with the same policy-driven workflow used for your databases and volumes. Stash schedules backups, verifies snapshots, and restores VMs on demand — no separate tooling required."
+ },
{
"title": "Multiple Storage Support",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/multiple-storage-support.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/multiple-storage-support.svg",
"alt": "http"
},
"icon": {
@@ -112,7 +125,7 @@
{
"title": "Deduplication",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/deduplication.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/deduplication.svg",
"alt": "http"
},
"icon": {
@@ -125,7 +138,7 @@
{
"title": "Data Encryption",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/data-encryption.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/data-encryption.svg",
"alt": "http"
},
"icon": {
@@ -138,7 +151,7 @@
{
"title": "Volume Snapshot",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/volume-snapshot.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/volume-snapshot.svg",
"alt": "http"
},
"icon": {
@@ -151,7 +164,7 @@
{
"title": "Policy Based Backup",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/policy-based-backup.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/policy-based-backup.svg",
"alt": "http"
},
"icon": {
@@ -164,7 +177,7 @@
{
"title": "Monitoring",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/monitoring.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/monitoring.svg",
"alt": "http"
},
"icon": {
diff --git a/data/products/stashed/addons/elasticsearch.json b/data/products/stash/addons/elasticsearch.json
similarity index 97%
rename from data/products/stashed/addons/elasticsearch.json
rename to data/products/stash/addons/elasticsearch.json
index 69873b65..d5be7e94 100644
--- a/data/products/stashed/addons/elasticsearch.json
+++ b/data/products/stash/addons/elasticsearch.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Stash offers Logical Backup for Elasticsearch databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Backup & Restore Elasticsearch Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your Elasticsearch databases deployed in Kubernetes. You can also restore your Elasticsearch databases using Stash. Stash simplifies the whole process of Backup & Restore your Elasticsearch databases on Kubernetes."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/stashed/addons/etcd.json b/data/products/stash/addons/etcd.json
similarity index 97%
rename from data/products/stashed/addons/etcd.json
rename to data/products/stash/addons/etcd.json
index 6df573a4..77ea8e88 100644
--- a/data/products/stashed/addons/etcd.json
+++ b/data/products/stash/addons/etcd.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Stash offers Logical Backup for Etcd databases on Kubernetes."
},
{
"title": "Backup & Restore Etcd Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your Etcd databases deployed in Kubernetes. You can also restore your Etcd databases using Stash. Stash simplifies the whole process of Backup & Restore your Etcd databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/stashed/addons/kubedump.json b/data/products/stash/addons/kubedump.json
similarity index 97%
rename from data/products/stashed/addons/kubedump.json
rename to data/products/stash/addons/kubedump.json
index fa0127aa..6d2029cd 100644
--- a/data/products/stashed/addons/kubedump.json
+++ b/data/products/stash/addons/kubedump.json
@@ -29,32 +29,32 @@
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/stashed/addons/mariadb.json b/data/products/stash/addons/mariadb.json
similarity index 97%
rename from data/products/stashed/addons/mariadb.json
rename to data/products/stash/addons/mariadb.json
index 1ff1fd2f..259138f4 100644
--- a/data/products/stashed/addons/mariadb.json
+++ b/data/products/stash/addons/mariadb.json
@@ -18,42 +18,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Stash offers Logical Backup for MariaDB databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Backup & Restore MariaDB Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your MariaDB databases deployed in Kubernetes. You can also restore your MariaDB databases using Stash. Stash simplifies the whole process of Backup & Restore your MariaDB databases on Kubernetes."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
}
],
diff --git a/data/products/stashed/addons/mongodb.json b/data/products/stash/addons/mongodb.json
similarity index 97%
rename from data/products/stashed/addons/mongodb.json
rename to data/products/stash/addons/mongodb.json
index dde68ea0..6e6df99b 100644
--- a/data/products/stashed/addons/mongodb.json
+++ b/data/products/stash/addons/mongodb.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Stash offers Logical Backup for MongoDB databases on Kubernetes."
},
{
"title": "Backup & Restore MongoDB Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your MongoDB databases deployed in Kubernetes. You can also restore your MongoDB databases using Stash. Stash simplifies the whole process of Backup & Restore your MongoDB databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/stashed/addons/mysql.json b/data/products/stash/addons/mysql.json
similarity index 97%
rename from data/products/stashed/addons/mysql.json
rename to data/products/stash/addons/mysql.json
index 0f55858f..46977b1b 100644
--- a/data/products/stashed/addons/mysql.json
+++ b/data/products/stash/addons/mysql.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Stash offers Logical Backup for MySQL databases on Kubernetes."
},
{
"title": "Backup & Restore MySQL Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your MySQL databases deployed in Kubernetes. You can also restore your MySQL databases using Stash. Stash simplifies the whole process of Backup & Restore your MySQL databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/stashed/addons/nats.json b/data/products/stash/addons/nats.json
similarity index 97%
rename from data/products/stashed/addons/nats.json
rename to data/products/stash/addons/nats.json
index fd405748..22f7064f 100644
--- a/data/products/stashed/addons/nats.json
+++ b/data/products/stash/addons/nats.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Stash offers Logical Backup for NATS server on Kubernetes."
},
{
"title": "Backup & Restore NATS Server",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your NATS server deployed in Kubernetes. You can also restore your NATS server using Stash. Stash simplifies the whole process of Backup & Restore your NATS server on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/stashed/addons/perconaxtradb.json b/data/products/stash/addons/perconaxtradb.json
similarity index 97%
rename from data/products/stashed/addons/perconaxtradb.json
rename to data/products/stash/addons/perconaxtradb.json
index 8498fd80..7c0053f8 100644
--- a/data/products/stashed/addons/perconaxtradb.json
+++ b/data/products/stash/addons/perconaxtradb.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Stash offers Logical Backup for Percona XtraDB databases on Kubernetes."
},
{
"title": "Backup & Restore Percona XtraDB Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your Percona XtraDB databases deployed in Kubernetes. You can also restore your Percona XtraDB databases using Stash. Stash simplifies the whole process of Backup & Restore your Percona XtraDB databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/stashed/addons/postgresql.json b/data/products/stash/addons/postgresql.json
similarity index 97%
rename from data/products/stashed/addons/postgresql.json
rename to data/products/stash/addons/postgresql.json
index ebb156a8..2e942482 100644
--- a/data/products/stashed/addons/postgresql.json
+++ b/data/products/stash/addons/postgresql.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Stash offers Logical Backup for PostgreSQL databases on Kubernetes."
},
{
"title": "Backup & Restore PostgreSQL Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your PostgreSQL databases deployed in Kubernetes. You can also restore your PostgreSQL databases using Stash. Stash simplifies the whole process of Backup & Restore your PostgreSQL databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/stashed/addons/redis.json b/data/products/stash/addons/redis.json
similarity index 97%
rename from data/products/stashed/addons/redis.json
rename to data/products/stash/addons/redis.json
index 65c7e828..4bf95431 100644
--- a/data/products/stashed/addons/redis.json
+++ b/data/products/stash/addons/redis.json
@@ -19,42 +19,42 @@
"features": [
{
"title": "Logical Backup",
- "image": "/assets/images/addons/illustrations/logical-backup.png",
+ "image": "/assets/images/addons/illustrations/logical-backup.svg",
"description": "A logical backup contains copies of database information (such as tables, schemas, and procedures) and is often exported as a binary file utilizing EXPORT/IMPORT tools. Logical backups are useful if you need to restore or relocate a copy of the database to another environment. Stash offers Logical Backup for Redis databases on Kubernetes."
},
{
"title": "Backup & Restore Redis Databases",
- "image": "/assets/images/addons/illustrations/backup-restore-databases.png",
+ "image": "/assets/images/addons/illustrations/backup-restore-databases.svg",
"description": "Backup your Redis databases deployed in Kubernetes. You can also restore your Redis databases using Stash. Stash simplifies the whole process of Backup & Restore your Redis databases on Kubernetes."
},
{
"title": "Declarative API",
- "image": "/assets/images/addons/illustrations/declarative-api.png",
+ "image": "/assets/images/addons/illustrations/declarative-api.svg",
"description": "Backup your data in Kubernetes native way. Stash uses Custom Resource Definition (CRD) to specify targets and behaviors of the backup and restore process. Schedule a backup for your workloads in the same way you deployed them into Kubernetes."
},
{
"title": "Deduplication",
- "image": "/assets/images/addons/illustrations/deduplication.png",
+ "image": "/assets/images/addons/illustrations/deduplication.svg",
"description": "Stash will upload only the diff since the last backup. It splits the targeted files into smaller blobs using Content Defined Chunking (CDC) and uploads only the modified blobs."
},
{
"title": "Data Encryption",
- "image": "/assets/images/addons/illustrations/data-encryption.png",
+ "image": "/assets/images/addons/illustrations/data-encryption.svg",
"description": "To provide data security, your data needs to be encrypted during the whole process. Stash keeps all the backed up data encrypted using AES-256. So, your data is protected even if it leaks from the backend. And it will not make any sense until they are decrypted."
},
{
"title": "Monitoring",
- "image": "/assets/images/addons/illustrations/monitoring.png",
+ "image": "/assets/images/addons/illustrations/monitoring.svg",
"description": "Stash comes with native support for monitoring via Prometheus. You can use builtin Prometheus scrapper or CoreOS Prometheus Operator to monitor your database in Kubernetes. You can use the Grafana to view key operational metrics, including compute/memory/storage capacity utilization, I/O activity, and instance connections."
},
{
"title": "Policy Based Backup",
- "image": "/assets/images/addons/illustrations/policy-based-backup.png",
+ "image": "/assets/images/addons/illustrations/policy-based-backup.svg",
"description": "Define a common template to backup all similar types of workloads. Then, just add some annotations to your targeted workload to enable backup for it. You can use a single template to backup all the Deployments, StatefulSets, DaemonSets, ReplicationControllers and ReplicaSets of your entire cluster"
},
{
"title": "Multiple Storage Support",
- "image": "/assets/images/addons/illustrations/multiple-storage-support.png",
+ "image": "/assets/images/addons/illustrations/multiple-storage-support.svg",
"description": "You can store your backed up data into various storage services. Stash supports AWS S3, Minio, Rook, Google Cloud Storage, Azure Blob Storage, OpenStack Swift, DigitalOcean Spaces, Blackbaze B2 and REST server as backend. You can also use Kubernetes persistent volumes as backend."
}
],
diff --git a/data/products/stash/homepage.json b/data/products/stash/homepage.json
new file mode 100644
index 00000000..4c131d75
--- /dev/null
+++ b/data/products/stash/homepage.json
@@ -0,0 +1,130 @@
+{
+ "hero": {
+ "headline": "Backup and Recovery Solution for Kubernetes",
+ "cta_primary": "Try Now Free",
+ "cta_secondary": "Get in Touch",
+ "trust_items": [
+ {
+ "icon": "heroicons:shield-check",
+ "label": "Enterprise Ready"
+ },
+ {
+ "icon": "heroicons:calendar-days",
+ "label": "30-Day Free License"
+ },
+ {
+ "icon": "heroicons:server-stack",
+ "label": "Any Public or Private Cloud"
+ }
+ ]
+ },
+ "steps": {
+ "title": "Backup in 4 steps",
+ "subtitle": "A complete Kubernetes-native disaster recovery workflow for your volumes and databases, on any public or private cloud.",
+ "steps": [
+ {
+ "title": "Install the Operator",
+ "description": "Deploy Stash via Helm into any Kubernetes cluster \u2014 EKS, GKE, AKS, or on-prem. One command, a few minutes.",
+ "code": "helm install stash \u2026"
+ },
+ {
+ "title": "Define BackupConfiguration",
+ "description": "A single Kubernetes-native CRD declares the target workload or database, the backup schedule, retention policy, and which storage Repository to use.",
+ "code": "kind: BackupConfiguration"
+ },
+ {
+ "title": "Monitor Sessions",
+ "description": "BackupSession objects give you real-time status, per-host snapshots, and structured events \u2014 query with kubectl or your existing Prometheus/Grafana stack.",
+ "code": "\u2713 Backup completed"
+ },
+ {
+ "title": "Restore Anytime",
+ "description": "Create a RestoreSession for full or selective recovery of databases and volumes. Works across namespaces and clusters.",
+ "code": "kind: RestoreSession"
+ }
+ ]
+ },
+ "capabilities": {
+ "title": "Built for Kubernetes-native disaster recovery",
+ "subtitle": "A complete disaster recovery solution for backing up and restoring volumes and databases in Kubernetes, on any public or private cloud.",
+ "tags": [
+ "Core",
+ "Volumes",
+ "Databases",
+ "Storage",
+ "Performance",
+ "Security"
+ ]
+ },
+ "stats": {
+ "items": [
+ {
+ "number": "10+",
+ "label": "Database Engines"
+ },
+ {
+ "number": "10+",
+ "label": "Storage Backends"
+ },
+ {
+ "number": "1.4K+",
+ "label": "GitHub Stars"
+ },
+ {
+ "number": "11M+",
+ "label": "Docker Pulls"
+ }
+ ]
+ },
+ "cta": {
+ "headline": "Run and manage backups on Kubernetes \u2014 free!",
+ "description": "Stash is free to use on any supported Kubernetes cluster, with a 30-day complimentary license available for trial.",
+ "cta_primary": "Try Now Free",
+ "cta_secondary": "Contact Us",
+ "trust_points": [
+ "No credit card required",
+ "Works on any public or private cloud",
+ "Open source core",
+ "Enterprise support available"
+ ]
+ },
+ "final-cta": {
+ "badge": "Start Protecting Today",
+ "title_plain": "Ready to Safeguard Your",
+ "title_gradient": "Databases & Volumes?",
+ "description": "Join platform teams at Asurion, Emerson, Nokia, and Orange running encrypted, deduplicated, disaster-recovery-ready backups for databases and volumes on Kubernetes with Stash.",
+ "checklist": [
+ "Encrypted (AES-256), deduplicated backups by default",
+ "Multi-cloud & on-prem storage portability",
+ "30-day free license, no credit card required"
+ ],
+ "cta_primary": "Try Now Free",
+ "cta_secondary": "Get in Touch",
+ "stats": [
+ {
+ "icon": "lucide:hard-drive-download",
+ "value": "10+",
+ "label": "Storage Backends",
+ "gradient": "linear-gradient(135deg, #60a5fa, #06b6d4)"
+ },
+ {
+ "icon": "lucide:shield-check",
+ "value": "AES-256",
+ "label": "Backup Encryption",
+ "gradient": "linear-gradient(135deg, #4ade80, #10b981)"
+ },
+ {
+ "icon": "lucide:git-compare",
+ "value": "CDC",
+ "label": "Deduplication",
+ "gradient": "linear-gradient(135deg, #c084fc, #ec4899)"
+ },
+ {
+ "icon": "lucide:life-buoy",
+ "value": "24/7",
+ "label": "Expert Support",
+ "gradient": "linear-gradient(135deg, #fb923c, #ef4444)"
+ }
+ ]
+ }
+}
diff --git a/data/products/virtualsecrets.json b/data/products/virtualsecrets.json
index d5adc816..0df56b29 100644
--- a/data/products/virtualsecrets.json
+++ b/data/products/virtualsecrets.json
@@ -55,7 +55,7 @@
{
"title": "Extended API Resource",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/declarative-api.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/declarative-api.svg",
"alt": "Extended API Resource"
},
"icon": {
@@ -68,7 +68,7 @@
{
"title": "Read/Write/Mount Operations",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/backup-kubernetes-volumes.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/backup-kubernetes-volumes.svg",
"alt": "Read/Write/Mount Operations"
},
"icon": {
@@ -81,7 +81,7 @@
{
"title": "SecretSource Integration",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/backup-restore-databases.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/backup-restore-databases.svg",
"alt": "SecretSource Integration"
},
"icon": {
@@ -94,7 +94,7 @@
{
"title": "External Secret Storage",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/multiple-storage-support.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/multiple-storage-support.svg",
"alt": "External Secret Storage"
},
"icon": {
@@ -107,7 +107,7 @@
{
"title": "CSI Driver Integration",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/deduplication.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/deduplication.svg",
"alt": "CSI Driver Integration"
},
"icon": {
@@ -120,7 +120,7 @@
{
"title": "Kubernetes Secret Generation",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/data-encryption.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/data-encryption.svg",
"alt": "Kubernetes Secret Generation"
},
"icon": {
@@ -133,7 +133,7 @@
{
"title": "In-Memory Watch",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/volume-snapshot.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/volume-snapshot.svg",
"alt": "In-Memory Watch"
},
"icon": {
@@ -146,7 +146,7 @@
{
"title": "KubeDB Integration",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/policy-based-backup.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/policy-based-backup.svg",
"alt": "KubeDB Integration"
},
"icon": {
@@ -159,7 +159,7 @@
{
"title": "Multi-Provider Support",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/monitoring.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/monitoring.svg",
"alt": "Multi-Provider Support"
},
"icon": {
@@ -172,7 +172,7 @@
{
"title": "Multi-Replica Support",
"image": {
- "src": "https://cdn.appscode.com/images/addons/illustrations/monitoring.png",
+ "src": "https://cdn.appscode.com/images/addons/illustrations/monitoring.svg",
"alt": "Multi-Replica Support"
},
"icon": {
diff --git a/data/products/voyager/homepage.json b/data/products/voyager/homepage.json
new file mode 100644
index 00000000..bf1642e4
--- /dev/null
+++ b/data/products/voyager/homepage.json
@@ -0,0 +1,130 @@
+{
+ "hero": {
+ "headline": "Secure Ingress Controller for Kubernetes",
+ "cta_primary": "Try Now Free",
+ "cta_secondary": "Get in Touch",
+ "trust_items": [
+ {
+ "icon": "heroicons:shield-check",
+ "label": "Enterprise Ready"
+ },
+ {
+ "icon": "heroicons:calendar-days",
+ "label": "30-Day Free License"
+ },
+ {
+ "icon": "heroicons:server-stack",
+ "label": "Cloud or Bare Metal"
+ }
+ ]
+ },
+ "steps": {
+ "title": "Ingress in 4 steps",
+ "subtitle": "A Kubernetes-native ingress workflow built on HAProxy \u2014 with automatic TLS and load balancing out of the box.",
+ "steps": [
+ {
+ "title": "Install the Operator",
+ "description": "Deploy Voyager via Helm into any Kubernetes cluster \u2014 EKS, GKE, AKS, or bare metal. One command, a few minutes.",
+ "code": "helm install voyager \u2026"
+ },
+ {
+ "title": "Define an Ingress",
+ "description": "A single Ingress CRD declares your HTTP and TCP routing rules, backend services, and load balancer type \u2014 provisioned automatically as HAProxy.",
+ "code": "kind: Ingress"
+ },
+ {
+ "title": "Issue TLS Certificates",
+ "description": "Create a Certificate resource to get free SSL certificates from Let's Encrypt via HTTP or DNS challenge, or bring your own SANS/ACM certificates.",
+ "code": "kind: Certificate"
+ },
+ {
+ "title": "Monitor & Scale",
+ "description": "Built-in Prometheus metrics expose HAProxy stats out of the box \u2014 query with kubectl or your existing observability stack.",
+ "code": "\u2713 Ingress healthy"
+ }
+ ]
+ },
+ "capabilities": {
+ "title": "Built for production-grade ingress",
+ "subtitle": "A secure, Kubernetes-native ingress controller built on HAProxy \u2014 with automatic TLS, load balancing, and observability out of the box.",
+ "tags": [
+ "Core",
+ "Security",
+ "Deployment",
+ "Performance",
+ "Observability",
+ "Certificates"
+ ]
+ },
+ "stats": {
+ "items": [
+ {
+ "number": "1.3K+",
+ "label": "GitHub Stars"
+ },
+ {
+ "number": "3.6M+",
+ "label": "Docker Pulls"
+ },
+ {
+ "number": "6+",
+ "label": "Core Features"
+ },
+ {
+ "number": "30-Day",
+ "label": "Free Trial License"
+ }
+ ]
+ },
+ "cta": {
+ "headline": "Run a secure ingress on Kubernetes \u2014 free!",
+ "description": "Voyager is free to use on any supported Kubernetes cluster, with a 30-day complimentary license available for trial.",
+ "cta_primary": "Try Now Free",
+ "cta_secondary": "Contact Us",
+ "trust_points": [
+ "No credit card required",
+ "Works in cloud or bare metal clusters",
+ "Built on battle-tested HAProxy",
+ "Enterprise support available"
+ ]
+ },
+ "final-cta": {
+ "badge": "Start Routing Securely",
+ "title_plain": "Ready to Secure Your",
+ "title_gradient": "Kubernetes Ingress?",
+ "description": "Join platform teams at Asurion, Emerson, Nokia, and Orange running HAProxy-backed, TLS-secured ingress on Kubernetes with Voyager.",
+ "checklist": [
+ "Free SSL via Let's Encrypt, HTTP or DNS challenge",
+ "Works in any cloud or bare-metal cluster",
+ "30-day free license, no credit card required"
+ ],
+ "cta_primary": "Try Now Free",
+ "cta_secondary": "Get in Touch",
+ "stats": [
+ {
+ "icon": "lucide:route",
+ "value": "HTTP/TCP",
+ "label": "Load Balancing",
+ "gradient": "linear-gradient(135deg, #60a5fa, #06b6d4)"
+ },
+ {
+ "icon": "lucide:shield-check",
+ "value": "Let's Encrypt",
+ "label": "Free SSL Certificates",
+ "gradient": "linear-gradient(135deg, #4ade80, #10b981)"
+ },
+ {
+ "icon": "lucide:activity",
+ "value": "Prometheus",
+ "label": "Built-in Metrics",
+ "gradient": "linear-gradient(135deg, #c084fc, #ec4899)"
+ },
+ {
+ "icon": "lucide:life-buoy",
+ "value": "24/7",
+ "label": "Expert Support",
+ "gradient": "linear-gradient(135deg, #fb923c, #ef4444)"
+ }
+ ]
+ }
+}
diff --git a/data/services/observability-devsecops/observability_consulting.json b/data/services/observability-devsecops/observability_consulting.json
index 9d4bd6a7..cfc9daed 100644
--- a/data/services/observability-devsecops/observability_consulting.json
+++ b/data/services/observability-devsecops/observability_consulting.json
@@ -61,7 +61,7 @@
"Create Prometheus alerts to detect failures early",
"Enable predictive monitoring for smarter capacity planning"
],
- "image": "/assets/images/services/observability-infrastructure-monitoring.png"
+ "image": "/assets/images/services/observability-infrastructure-monitoring.svg"
},
{
"title": "Centralized Logging with Loki, Fluentd & Elastic",
diff --git a/images/addons/illustrations/backup-kubernetes-volumes.png b/images/addons/illustrations/backup-kubernetes-volumes.png
deleted file mode 100644
index 201e4fc2..00000000
Binary files a/images/addons/illustrations/backup-kubernetes-volumes.png and /dev/null differ
diff --git a/images/addons/illustrations/backup-kubernetes-volumes.svg b/images/addons/illustrations/backup-kubernetes-volumes.svg
new file mode 100644
index 00000000..5b39a751
--- /dev/null
+++ b/images/addons/illustrations/backup-kubernetes-volumes.svg
@@ -0,0 +1,64 @@
+
diff --git a/images/addons/illustrations/backup-restore-databases.svg b/images/addons/illustrations/backup-restore-databases.svg
new file mode 100644
index 00000000..93f4f415
--- /dev/null
+++ b/images/addons/illustrations/backup-restore-databases.svg
@@ -0,0 +1,62 @@
+
diff --git a/images/addons/illustrations/data-encryption.svg b/images/addons/illustrations/data-encryption.svg
new file mode 100644
index 00000000..ee2462c8
--- /dev/null
+++ b/images/addons/illustrations/data-encryption.svg
@@ -0,0 +1,72 @@
+
diff --git a/images/addons/illustrations/declarative-api.svg b/images/addons/illustrations/declarative-api.svg
new file mode 100644
index 00000000..93a9836b
--- /dev/null
+++ b/images/addons/illustrations/declarative-api.svg
@@ -0,0 +1,110 @@
+
diff --git a/images/addons/illustrations/deduplication.svg b/images/addons/illustrations/deduplication.svg
new file mode 100644
index 00000000..c08848d4
--- /dev/null
+++ b/images/addons/illustrations/deduplication.svg
@@ -0,0 +1,106 @@
+
diff --git a/images/addons/illustrations/logical-backup.svg b/images/addons/illustrations/logical-backup.svg
new file mode 100644
index 00000000..1148b1b7
--- /dev/null
+++ b/images/addons/illustrations/logical-backup.svg
@@ -0,0 +1,75 @@
+
diff --git a/images/addons/illustrations/monitoring.svg b/images/addons/illustrations/monitoring.svg
new file mode 100644
index 00000000..eb988ad9
--- /dev/null
+++ b/images/addons/illustrations/monitoring.svg
@@ -0,0 +1,62 @@
+
diff --git a/images/addons/illustrations/multiple-storage-support.svg b/images/addons/illustrations/multiple-storage-support.svg
new file mode 100644
index 00000000..e3c4180c
--- /dev/null
+++ b/images/addons/illustrations/multiple-storage-support.svg
@@ -0,0 +1,73 @@
+
diff --git a/images/addons/illustrations/policy-based-backup.svg b/images/addons/illustrations/policy-based-backup.svg
new file mode 100644
index 00000000..30352fa9
--- /dev/null
+++ b/images/addons/illustrations/policy-based-backup.svg
@@ -0,0 +1,70 @@
+
diff --git a/images/addons/illustrations/volume-snapshot.png b/images/addons/illustrations/volume-snapshot.png
deleted file mode 100644
index a8bcff0a..00000000
Binary files a/images/addons/illustrations/volume-snapshot.png and /dev/null differ
diff --git a/images/addons/illustrations/volume-snapshot.svg b/images/addons/illustrations/volume-snapshot.svg
new file mode 100644
index 00000000..e9d67d8a
--- /dev/null
+++ b/images/addons/illustrations/volume-snapshot.svg
@@ -0,0 +1,77 @@
+
diff --git a/images/customers/logos/orange.png b/images/customers/logos/orange.png
index facc4c29..feaeea51 100644
Binary files a/images/customers/logos/orange.png and b/images/customers/logos/orange.png differ
diff --git a/images/features/illustrations/authentication-method.svg b/images/features/illustrations/authentication-method.svg
new file mode 100644
index 00000000..b246c2ed
--- /dev/null
+++ b/images/features/illustrations/authentication-method.svg
@@ -0,0 +1,69 @@
+
diff --git a/images/features/illustrations/auto-initialization.svg b/images/features/illustrations/auto-initialization.svg
new file mode 100644
index 00000000..d0277039
--- /dev/null
+++ b/images/features/illustrations/auto-initialization.svg
@@ -0,0 +1,53 @@
+
diff --git a/images/features/illustrations/backup-restore.svg b/images/features/illustrations/backup-restore.svg
new file mode 100644
index 00000000..69b4d17d
--- /dev/null
+++ b/images/features/illustrations/backup-restore.svg
@@ -0,0 +1,75 @@
+
diff --git a/images/features/illustrations/backup-virtual-machines.svg b/images/features/illustrations/backup-virtual-machines.svg
new file mode 100644
index 00000000..ceb1de56
--- /dev/null
+++ b/images/features/illustrations/backup-virtual-machines.svg
@@ -0,0 +1,78 @@
+
diff --git a/images/features/illustrations/cloud-storage-backend.svg b/images/features/illustrations/cloud-storage-backend.svg
new file mode 100644
index 00000000..bfe3b6f8
--- /dev/null
+++ b/images/features/illustrations/cloud-storage-backend.svg
@@ -0,0 +1,58 @@
+
diff --git a/images/features/illustrations/consume-vault-secrets-using-secrets-store-csi-driver.svg b/images/features/illustrations/consume-vault-secrets-using-secrets-store-csi-driver.svg
new file mode 100644
index 00000000..f6222ec8
--- /dev/null
+++ b/images/features/illustrations/consume-vault-secrets-using-secrets-store-csi-driver.svg
@@ -0,0 +1,80 @@
+
diff --git a/images/features/illustrations/database-storage-backend.svg b/images/features/illustrations/database-storage-backend.svg
new file mode 100644
index 00000000..a2e88b85
--- /dev/null
+++ b/images/features/illustrations/database-storage-backend.svg
@@ -0,0 +1,52 @@
+
diff --git a/images/features/illustrations/enable-and-configure-secret-engine.svg b/images/features/illustrations/enable-and-configure-secret-engine.svg
new file mode 100644
index 00000000..257d3381
--- /dev/null
+++ b/images/features/illustrations/enable-and-configure-secret-engine.svg
@@ -0,0 +1,60 @@
+
diff --git a/images/features/illustrations/guard-cli.svg b/images/features/illustrations/guard-cli.svg
new file mode 100644
index 00000000..d4b82393
--- /dev/null
+++ b/images/features/illustrations/guard-cli.svg
@@ -0,0 +1,92 @@
+
diff --git a/images/features/illustrations/guard-identity-providers.svg b/images/features/illustrations/guard-identity-providers.svg
new file mode 100644
index 00000000..bdaa2c8c
--- /dev/null
+++ b/images/features/illustrations/guard-identity-providers.svg
@@ -0,0 +1,84 @@
+
diff --git a/images/features/illustrations/guard-rbac.svg b/images/features/illustrations/guard-rbac.svg
new file mode 100644
index 00000000..8dbfea90
--- /dev/null
+++ b/images/features/illustrations/guard-rbac.svg
@@ -0,0 +1,98 @@
+
diff --git a/images/features/illustrations/integrated-storage-backend.svg b/images/features/illustrations/integrated-storage-backend.svg
new file mode 100644
index 00000000..8238c24f
--- /dev/null
+++ b/images/features/illustrations/integrated-storage-backend.svg
@@ -0,0 +1,52 @@
+
diff --git a/images/features/illustrations/kubevault-cli.svg b/images/features/illustrations/kubevault-cli.svg
new file mode 100644
index 00000000..3224ec73
--- /dev/null
+++ b/images/features/illustrations/kubevault-cli.svg
@@ -0,0 +1,48 @@
+
diff --git a/images/features/illustrations/manage-db-users-privileges-using-secretaccessrequest.svg b/images/features/illustrations/manage-db-users-privileges-using-secretaccessrequest.svg
new file mode 100644
index 00000000..1aa02684
--- /dev/null
+++ b/images/features/illustrations/manage-db-users-privileges-using-secretaccessrequest.svg
@@ -0,0 +1,73 @@
+
diff --git a/images/features/illustrations/manage-db-users-privileges-using-secretrolebinding.svg b/images/features/illustrations/manage-db-users-privileges-using-secretrolebinding.svg
new file mode 100644
index 00000000..d8fbddb8
--- /dev/null
+++ b/images/features/illustrations/manage-db-users-privileges-using-secretrolebinding.svg
@@ -0,0 +1,85 @@
+
diff --git a/images/features/illustrations/provisioning.svg b/images/features/illustrations/provisioning.svg
new file mode 100644
index 00000000..e0032ab7
--- /dev/null
+++ b/images/features/illustrations/provisioning.svg
@@ -0,0 +1,81 @@
+
diff --git a/images/features/illustrations/role.svg b/images/features/illustrations/role.svg
new file mode 100644
index 00000000..205124c5
--- /dev/null
+++ b/images/features/illustrations/role.svg
@@ -0,0 +1,43 @@
+
diff --git a/images/features/illustrations/secret-access-request.svg b/images/features/illustrations/secret-access-request.svg
new file mode 100644
index 00000000..a52ba65b
--- /dev/null
+++ b/images/features/illustrations/secret-access-request.svg
@@ -0,0 +1,56 @@
+
diff --git a/images/features/illustrations/secret-role-binding.svg b/images/features/illustrations/secret-role-binding.svg
new file mode 100644
index 00000000..91578789
--- /dev/null
+++ b/images/features/illustrations/secret-role-binding.svg
@@ -0,0 +1,59 @@
+
diff --git a/images/features/illustrations/storage-backend.svg b/images/features/illustrations/storage-backend.svg
new file mode 100644
index 00000000..dcc12db2
--- /dev/null
+++ b/images/features/illustrations/storage-backend.svg
@@ -0,0 +1,57 @@
+
diff --git a/images/features/illustrations/store-and-unseal-your-secret-with-aws.svg b/images/features/illustrations/store-and-unseal-your-secret-with-aws.svg
new file mode 100644
index 00000000..e71331b8
--- /dev/null
+++ b/images/features/illustrations/store-and-unseal-your-secret-with-aws.svg
@@ -0,0 +1,59 @@
+
diff --git a/images/features/illustrations/store-and-unseal-your-secret-with-azure.svg b/images/features/illustrations/store-and-unseal-your-secret-with-azure.svg
new file mode 100644
index 00000000..c1aba743
--- /dev/null
+++ b/images/features/illustrations/store-and-unseal-your-secret-with-azure.svg
@@ -0,0 +1,54 @@
+
diff --git a/images/features/illustrations/store-and-unseal-your-secret-with-gcp.svg b/images/features/illustrations/store-and-unseal-your-secret-with-gcp.svg
new file mode 100644
index 00000000..3630e2a0
--- /dev/null
+++ b/images/features/illustrations/store-and-unseal-your-secret-with-gcp.svg
@@ -0,0 +1,57 @@
+
diff --git a/images/features/illustrations/store-and-unseal-your-secret-with-k8s.svg b/images/features/illustrations/store-and-unseal-your-secret-with-k8s.svg
new file mode 100644
index 00000000..eb260d61
--- /dev/null
+++ b/images/features/illustrations/store-and-unseal-your-secret-with-k8s.svg
@@ -0,0 +1,58 @@
+
diff --git a/images/features/illustrations/tls-management.svg b/images/features/illustrations/tls-management.svg
new file mode 100644
index 00000000..5ba33a9c
--- /dev/null
+++ b/images/features/illustrations/tls-management.svg
@@ -0,0 +1,68 @@
+
diff --git a/images/illustrations/backup-database.svg b/images/illustrations/backup-database.svg
new file mode 100644
index 00000000..fb2e111d
--- /dev/null
+++ b/images/illustrations/backup-database.svg
@@ -0,0 +1,65 @@
+
diff --git a/images/illustrations/backup-kubernetes-volumes.svg b/images/illustrations/backup-kubernetes-volumes.svg
new file mode 100644
index 00000000..5b39a751
--- /dev/null
+++ b/images/illustrations/backup-kubernetes-volumes.svg
@@ -0,0 +1,64 @@
+
diff --git a/images/illustrations/data-encryption.svg b/images/illustrations/data-encryption.svg
new file mode 100644
index 00000000..ee2462c8
--- /dev/null
+++ b/images/illustrations/data-encryption.svg
@@ -0,0 +1,72 @@
+
diff --git a/images/illustrations/declarative-api.svg b/images/illustrations/declarative-api.svg
new file mode 100644
index 00000000..93a9836b
--- /dev/null
+++ b/images/illustrations/declarative-api.svg
@@ -0,0 +1,110 @@
+
diff --git a/images/illustrations/deduplication.svg b/images/illustrations/deduplication.svg
new file mode 100644
index 00000000..c08848d4
--- /dev/null
+++ b/images/illustrations/deduplication.svg
@@ -0,0 +1,106 @@
+
diff --git a/images/illustrations/monitoring.svg b/images/illustrations/monitoring.svg
new file mode 100644
index 00000000..eb988ad9
--- /dev/null
+++ b/images/illustrations/monitoring.svg
@@ -0,0 +1,62 @@
+
diff --git a/images/illustrations/multiple-storage-support.svg b/images/illustrations/multiple-storage-support.svg
new file mode 100644
index 00000000..e3c4180c
--- /dev/null
+++ b/images/illustrations/multiple-storage-support.svg
@@ -0,0 +1,73 @@
+
diff --git a/images/illustrations/policy-based-backup.svg b/images/illustrations/policy-based-backup.svg
new file mode 100644
index 00000000..30352fa9
--- /dev/null
+++ b/images/illustrations/policy-based-backup.svg
@@ -0,0 +1,70 @@
+
diff --git a/images/illustrations/volume-snapshot.svg b/images/illustrations/volume-snapshot.svg
new file mode 100644
index 00000000..e9d67d8a
--- /dev/null
+++ b/images/illustrations/volume-snapshot.svg
@@ -0,0 +1,77 @@
+
diff --git a/images/products/configsyncer/features/configuration-syncer.svg b/images/products/configsyncer/features/configuration-syncer.svg
new file mode 100644
index 00000000..71d054aa
--- /dev/null
+++ b/images/products/configsyncer/features/configuration-syncer.svg
@@ -0,0 +1,84 @@
+
diff --git a/images/products/guard/features/cli.jpg b/images/products/guard/features/cli.jpg
deleted file mode 100644
index edc2040e..00000000
Binary files a/images/products/guard/features/cli.jpg and /dev/null differ
diff --git a/images/products/guard/features/identify-providers.jpg b/images/products/guard/features/identify-providers.jpg
deleted file mode 100644
index 73a4c289..00000000
Binary files a/images/products/guard/features/identify-providers.jpg and /dev/null differ
diff --git a/images/products/guard/features/rbac.jpg b/images/products/guard/features/rbac.jpg
deleted file mode 100644
index f9c8795c..00000000
Binary files a/images/products/guard/features/rbac.jpg and /dev/null differ
diff --git a/images/products/kubevault/features/AWS Secret Engine.png b/images/products/kubevault/features/AWS Secret Engine.png
deleted file mode 100644
index 99c1b237..00000000
Binary files a/images/products/kubevault/features/AWS Secret Engine.png and /dev/null differ
diff --git a/images/products/kubevault/features/Automatic Initialization & Unsealing.png b/images/products/kubevault/features/Automatic Initialization & Unsealing.png
deleted file mode 100644
index b237b0b1..00000000
Binary files a/images/products/kubevault/features/Automatic Initialization & Unsealing.png and /dev/null differ
diff --git a/images/products/kubevault/features/Azure Secret Engine.png b/images/products/kubevault/features/Azure Secret Engine.png
deleted file mode 100644
index 793eb38d..00000000
Binary files a/images/products/kubevault/features/Azure Secret Engine.png and /dev/null differ
diff --git a/images/products/kubevault/features/Database Secret Engine.png b/images/products/kubevault/features/Database Secret Engine.png
deleted file mode 100644
index 5d66c5d2..00000000
Binary files a/images/products/kubevault/features/Database Secret Engine.png and /dev/null differ
diff --git a/images/products/kubevault/features/GCP Secret Engine.png b/images/products/kubevault/features/GCP Secret Engine.png
deleted file mode 100644
index 3847e8d6..00000000
Binary files a/images/products/kubevault/features/GCP Secret Engine.png and /dev/null differ
diff --git a/images/products/kubevault/features/Manage Vault Policy.png b/images/products/kubevault/features/Manage Vault Policy.png
deleted file mode 100644
index 40297d89..00000000
Binary files a/images/products/kubevault/features/Manage Vault Policy.png and /dev/null differ
diff --git a/images/products/kubevault/features/auth.svg b/images/products/kubevault/features/auth.svg
new file mode 100644
index 00000000..0391d771
--- /dev/null
+++ b/images/products/kubevault/features/auth.svg
@@ -0,0 +1,14 @@
+
diff --git a/images/products/kubevault/features/authentication-method.svg b/images/products/kubevault/features/authentication-method.svg
new file mode 100644
index 00000000..b246c2ed
--- /dev/null
+++ b/images/products/kubevault/features/authentication-method.svg
@@ -0,0 +1,69 @@
+
diff --git a/images/products/kubevault/features/auto-initialization-and-unsealing.svg b/images/products/kubevault/features/auto-initialization-and-unsealing.svg
new file mode 100644
index 00000000..0b920506
--- /dev/null
+++ b/images/products/kubevault/features/auto-initialization-and-unsealing.svg
@@ -0,0 +1,93 @@
+
diff --git a/images/products/kubevault/features/automated-unsealing.svg b/images/products/kubevault/features/automated-unsealing.svg
new file mode 100644
index 00000000..b7a5526f
--- /dev/null
+++ b/images/products/kubevault/features/automated-unsealing.svg
@@ -0,0 +1,14 @@
+
diff --git a/images/products/kubevault/features/aws-secret-engine.svg b/images/products/kubevault/features/aws-secret-engine.svg
new file mode 100644
index 00000000..b105c00a
--- /dev/null
+++ b/images/products/kubevault/features/aws-secret-engine.svg
@@ -0,0 +1,54 @@
+
diff --git a/images/products/kubevault/features/azure-secret-engine.svg b/images/products/kubevault/features/azure-secret-engine.svg
new file mode 100644
index 00000000..7af65384
--- /dev/null
+++ b/images/products/kubevault/features/azure-secret-engine.svg
@@ -0,0 +1,52 @@
+
diff --git a/images/products/kubevault/features/consume-kubevault-secrets-with-csi.svg b/images/products/kubevault/features/consume-kubevault-secrets-with-csi.svg
new file mode 100644
index 00000000..f6222ec8
--- /dev/null
+++ b/images/products/kubevault/features/consume-kubevault-secrets-with-csi.svg
@@ -0,0 +1,80 @@
+
diff --git a/images/products/kubevault/features/courthouse.png b/images/products/kubevault/features/courthouse.png
deleted file mode 100644
index 49171465..00000000
Binary files a/images/products/kubevault/features/courthouse.png and /dev/null differ
diff --git a/images/products/kubevault/features/database-secret-engine.svg b/images/products/kubevault/features/database-secret-engine.svg
new file mode 100644
index 00000000..ed12f3d6
--- /dev/null
+++ b/images/products/kubevault/features/database-secret-engine.svg
@@ -0,0 +1,64 @@
+
diff --git a/images/products/kubevault/features/gcp-secret-engine.svg b/images/products/kubevault/features/gcp-secret-engine.svg
new file mode 100644
index 00000000..77dd4803
--- /dev/null
+++ b/images/products/kubevault/features/gcp-secret-engine.svg
@@ -0,0 +1,56 @@
+
diff --git a/images/products/kubevault/features/kubectl-plugin.svg b/images/products/kubevault/features/kubectl-plugin.svg
new file mode 100644
index 00000000..3224ec73
--- /dev/null
+++ b/images/products/kubevault/features/kubectl-plugin.svg
@@ -0,0 +1,48 @@
+
diff --git a/images/products/kubevault/features/manage-db-users-privileges.svg b/images/products/kubevault/features/manage-db-users-privileges.svg
new file mode 100644
index 00000000..4b9888af
--- /dev/null
+++ b/images/products/kubevault/features/manage-db-users-privileges.svg
@@ -0,0 +1,75 @@
+
diff --git a/images/products/kubevault/features/secretengines.svg b/images/products/kubevault/features/secretengines.svg
deleted file mode 100644
index e1f5bad9..00000000
--- a/images/products/kubevault/features/secretengines.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/images/products/kubevault/features/security.svg b/images/products/kubevault/features/security.svg
deleted file mode 100644
index 05af60b7..00000000
--- a/images/products/kubevault/features/security.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/images/products/kubevault/features/storage-backend.svg b/images/products/kubevault/features/storage-backend.svg
new file mode 100644
index 00000000..1152cea7
--- /dev/null
+++ b/images/products/kubevault/features/storage-backend.svg
@@ -0,0 +1,70 @@
+
diff --git a/images/products/kubevault/features/twitter-banner.png b/images/products/kubevault/features/twitter-banner.png
deleted file mode 100644
index ffb14779..00000000
Binary files a/images/products/kubevault/features/twitter-banner.png and /dev/null differ
diff --git a/images/products/kubevault/features/unlock.png b/images/products/kubevault/features/unlock.png
deleted file mode 100644
index 2e15e4d7..00000000
Binary files a/images/products/kubevault/features/unlock.png and /dev/null differ
diff --git a/images/products/kubevault/features/vault-backup-restore.svg b/images/products/kubevault/features/vault-backup-restore.svg
new file mode 100644
index 00000000..69b4d17d
--- /dev/null
+++ b/images/products/kubevault/features/vault-backup-restore.svg
@@ -0,0 +1,75 @@
+
diff --git a/images/products/kubevault/features/vault-kubernetes-deployment.svg b/images/products/kubevault/features/vault-kubernetes-deployment.svg
new file mode 100644
index 00000000..c954673e
--- /dev/null
+++ b/images/products/kubevault/features/vault-kubernetes-deployment.svg
@@ -0,0 +1,141 @@
+