Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion data/authors/tamal-saha.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "Tamal Saha",
"designation": "Founder & CEO",
"company": "AppsCode Inc.",
"biography": "Tamal Saha is the founder of AppsCode. He has been involved with Kubernetes project since 2015. He has founded a number of popular open source projects like Voyager, KubeDB, Stash, Guard, KubeVault, etc.",
"biography": "Tamal Saha is the Founder and CEO of AppsCode and a pioneering contributor to the Kubernetes ecosystem, best known for creating KubeDB, a leading Kubernetes-native Database-as-a-Service (DBaaS) platform. An early adopter of Kubernetes during his time at Google in 2015, Tamal has since driven the development of several influential cloud-native projects — including KubeStash, KubeVault, and Voyager, all designed to simplify and automate stateful workloads on Kubernetes. Through his leadership at AppsCode, he has helped organizations reliably run, scale, and operate databases in production, positioning KubeDB as one of the most comprehensive DBaaS solutions in the cloud-native landscape.",
"profile": "/assets/images/authors/tamal-saha.jpg",
"email": "tamal@appscode.com",
"twitter": "https://x.com/tsaha",
Expand Down
18 changes: 17 additions & 1 deletion data/products/kubedb.json
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,22 @@
"hostDocs": false,
"show": true
},
{
"version": "v2026.1.19",
"hostDocs": true,
"show": true,
"info": {
"autoscaler": "v0.45.0",
"cli": "v0.60.0",
"dashboard": "v0.36.0",
"installer": "v2026.1.19",
"ops-manager": "v0.47.0",
"provisioner": "v0.60.0",
"schema-manager": "v0.36.0",
"ui-server": "v0.36.0",
"webhook-server": "v0.36.0"
}
},
{
"version": "v2025.12.31-rc.1",
"hostDocs": true,
Expand Down Expand Up @@ -1407,7 +1423,7 @@
"hostDocs": false
}
],
"latestVersion": "v2025.10.17",
"latestVersion": "v2026.1.19",
"socialLinks": {
"facebook": "https://facebook.com/appscode",
"github": "https://github.com/kubedb",
Expand Down
20 changes: 19 additions & 1 deletion data/products/kubestash.json
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,24 @@
"hostDocs": false,
"show": true
},
{
"version": "v2026.1.19",
"hostDocs": true,
"show": true,
"info": {
"cli": "v0.22.0",
"installer": "v2026.1.19"
}
},
{
"version": "v2026.1.8-rc.0",
"hostDocs": true,
"show": true,
"info": {
"cli": "v0.22.0-rc.0",
"installer": "v2026.1.8-rc.0"
}
},
{
"version": "v2025.12.15",
"hostDocs": true,
Expand Down Expand Up @@ -345,7 +363,7 @@
}
}
],
"latestVersion": "v2025.12.15",
"latestVersion": "v2026.1.19",
"socialLinks": {
"facebook": "https://facebook.com/appscode",
"github": "https://github.com/kubestash",
Expand Down
13 changes: 12 additions & 1 deletion data/products/kubevault.json
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,17 @@
"hostDocs": false,
"show": true
},
{
"version": "v2026.1.8-rc.0",
"hostDocs": true,
"show": true,
"info": {
"cli": "v0.24.0-rc.0",
"installer": "v2026.1.8-rc.0",
"operator": "v0.24.0-rc.0",
"unsealer": "v0.24.0-rc.0"
}
},
{
"version": "v2025.11.21",
"hostDocs": true,
Expand Down Expand Up @@ -496,7 +507,7 @@
}
}
],
"latestVersion": "v2025.11.21",
"latestVersion": "v2026.1.8-rc.0",
"socialLinks": {
"facebook": "https://facebook.com/appscode",
"github": "https://github.com/kubevault",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
name: "${CLUSTER_NAME}"
namespace: "${NAMESPACE}"
spec:
clusterNetwork:
pods:
cidrBlocks:
- 10.243.0.0/16
services:
cidrBlocks:
- 10.95.0.0/16
controlPlaneRef:
apiVersion: controlplane.cluster.x-k8s.io/v1alpha1
kind: KamajiControlPlane
name: '${CLUSTER_NAME}-control-plane'
namespace: "${NAMESPACE}"
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
kind: KubevirtCluster
name: '${CLUSTER_NAME}'
namespace: "${NAMESPACE}"
---
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
kind: KubevirtCluster
metadata:
annotations:
cluster.x-k8s.io/managed-by: kamaji
name: "${CLUSTER_NAME}"
namespace: "${NAMESPACE}"
spec: {}
---
apiVersion: controlplane.cluster.x-k8s.io/v1alpha1
kind: KamajiControlPlane
metadata:
name: '${CLUSTER_NAME}-control-plane'
namespace: "${NAMESPACE}"
spec:
dataStoreName: default
addons:
coreDNS:
dnsServiceIPs:
- 10.95.0.10
kubeProxy: {}
konnectivity: {}
kubelet:
cgroupfs: systemd
preferredAddressTypes:
- InternalIP
- ExternalIP
network:
serviceType: LoadBalancer
serviceAnnotations:
kube-vip.io/loadbalancerIPs: 0.0.0.0
deployment:
replicas: ${CONTROL_PLANE_MACHINE_COUNT}
version: "${KUBERNETES_VERSION}"
---
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
kind: KubevirtMachineTemplate
metadata:
name: "${CLUSTER_NAME}-md-0"
namespace: "${NAMESPACE}"
spec:
template:
spec:
virtualMachineBootstrapCheck:
checkStrategy: none
virtualMachineTemplate:
spec:
dataVolumeTemplates:
- metadata:
name: "${CLUSTER_NAME}-boot-volume"
spec:
pvc:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
storageClassName: hvl
source:
registry:
url: "docker://${NODE_VM_IMAGE_TEMPLATE}"
runStrategy: Always
template:
spec:
domain:
cpu:
cores: ${WORKER_MACHINE_CPU}
sockets: ${SOCKETS}
threads: ${THREADS}
devices:
interfaces:
- bridge: {}
model: virtio
name: default
- bridge: {}
model: virtio
name: secondary
disks:
- disk:
bus: virtio
name: dv-volume
resources:
limits:
cpu: ${WORKER_MACHINE_CPU}
memory: "${WORKER_MACHINE_MEMORY}Gi"
requests:
cpu: ${WORKER_MACHINE_CPU}
memory: "${WORKER_MACHINE_MEMORY}Gi"
evictionStrategy: External
networks:
- name: default
pod: {}
- multus:
networkName: default/vmnet
name: secondary
volumes:
- dataVolume:
name: "${CLUSTER_NAME}-boot-volume"
name: dv-volume
---
apiVersion: bootstrap.cluster.x-k8s.io/v1beta1
kind: KubeadmConfigTemplate
metadata:
name: "${CLUSTER_NAME}-md-0"
namespace: "${NAMESPACE}"
spec:
template:
spec:
joinConfiguration:
nodeRegistration:
kubeletExtraArgs: {}
---
apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineDeployment
metadata:
name: "${CLUSTER_NAME}-md-0"
namespace: "${NAMESPACE}"
spec:
clusterName: "${CLUSTER_NAME}"
replicas: ${WORKER_MACHINE_COUNT}
selector:
matchLabels: null
template:
spec:
clusterName: "${CLUSTER_NAME}"
version: "${KUBERNETES_VERSION}"
bootstrap:
configRef:
apiVersion: bootstrap.cluster.x-k8s.io/v1beta1
kind: KubeadmConfigTemplate
name: "${CLUSTER_NAME}-md-0"
namespace: "${NAMESPACE}"
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
kind: KubevirtMachineTemplate
name: "${CLUSTER_NAME}-md-0"
namespace: "${NAMESPACE}"
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
name: "${CLUSTER_NAME}"
namespace: "${NAMESPACE}"
spec:
clusterNetwork:
pods:
cidrBlocks:
- 10.243.0.0/16
services:
cidrBlocks:
- 10.95.0.0/16
controlPlaneRef:
apiVersion: controlplane.cluster.x-k8s.io/v1alpha1
kind: KamajiControlPlane
name: '${CLUSTER_NAME}-control-plane'
namespace: "${NAMESPACE}"
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
kind: KubevirtCluster
name: '${CLUSTER_NAME}'
namespace: "${NAMESPACE}"
---
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
kind: KubevirtCluster
metadata:
annotations:
cluster.x-k8s.io/managed-by: kamaji
name: "${CLUSTER_NAME}"
namespace: "${NAMESPACE}"
spec: {}
---
apiVersion: controlplane.cluster.x-k8s.io/v1alpha1
kind: KamajiControlPlane
metadata:
name: '${CLUSTER_NAME}-control-plane'
namespace: "${NAMESPACE}"
spec:
dataStoreName: default
addons:
coreDNS:
dnsServiceIPs:
- 10.95.0.10
kubeProxy: {}
konnectivity: {}
kubelet:
cgroupfs: systemd
preferredAddressTypes:
- InternalIP
- ExternalIP
network:
serviceType: LoadBalancer
serviceAnnotations:
kube-vip.io/loadbalancerIPs: 0.0.0.0
deployment:
replicas: ${CONTROL_PLANE_MACHINE_COUNT}
version: "${KUBERNETES_VERSION}"
Loading
Loading