Install using FluxCD
You can also deploy KubeStash declaratively with FluxCD. The setup mirrors the ArgoCD flow: one OCI HelmRepository pointing at ghcr.io/appscode-charts, followed by three HelmRelease resources installed in the same order — ace-user-roles, license-proxyserver, and kubestash.
Prerequisites
- A cluster with the FluxCD
source-controllerandhelm-controllerinstalled (e.g. viaflux installorflux bootstrap). - An AppsCode platform token. Replace the placeholder
tokenvalue in thelicense-proxyserverHelmRelease with your token.
1. Register the AppsCode OCI Helm repository
Save the following manifest as appscode-charts.yaml and apply it with kubectl apply -f appscode-charts.yaml:
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: appscode-charts
namespace: flux-system
spec:
type: oci
interval: 5m
url: oci://ghcr.io/appscode-charts
2. Install ace-user-roles
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: ace-user-roles
namespace: flux-system
spec:
interval: 10m
targetNamespace: kubeops
install:
createNamespace: true
chart:
spec:
chart: ace-user-roles
version: v2026.2.16
sourceRef:
kind: HelmRepository
name: appscode-charts
namespace: flux-system
values:
enableClusterRoles:
ace: false
appcatalog: true
catalog: false
cert-manager: false
kubedb: true
kubedb-ui: false
kubestash: true # enable if used
kubevault: true # enable if used
license-proxyserver: true
metrics: true
prometheus: false
secrets-store: false
stash: true # enable if used
virtual-secrets: false
annotations:
"helm.sh/hook": null
"helm.sh/hook-delete-policy": null
3. Install license-proxyserver
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: license-proxyserver
namespace: flux-system
spec:
interval: 10m
targetNamespace: kubeops
install:
createNamespace: true
chart:
spec:
chart: license-proxyserver
version: v2026.2.16
sourceRef:
kind: HelmRepository
name: appscode-charts
namespace: flux-system
values:
platform:
baseURL: https://appscode.com
token: '****************************************'
Note: You can find the latest
license-proxyserverchart version from the chart repository and set it under thespec.chart.spec.versionfield above.
4. Install KubeStash
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: kubestash
namespace: flux-system
spec:
interval: 10m
targetNamespace: kubestash
install:
createNamespace: true
chart:
spec:
chart: kubestash
version: v2026.5.18-rc.0
sourceRef:
kind: HelmRepository
name: appscode-charts
namespace: flux-system
values:
ace-user-roles:
enabled: false
Notes:
- The
HelmRepositoryis created once influx-systemand reused by everyHelmReleaseviasourceRef. Adjust thenamespaceif you keep Flux sources elsewhere. ace-user-roles.enabled: falseis set on the KubeStash HelmRelease because theace-user-roleschart is already managed by its own HelmRelease (step 2).- FluxCD’s
helm-controllerreconciles by re-runninghelm upgrade, so unlike ArgoCD you do not need to declareignoreDifferencesfor the operator’s rotating TLS certs and webhook CA bundles.
Once all three HelmReleases report Ready, follow the Common Configuration steps to verify the installation.






