[{"data":1,"prerenderedAt":790},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fadmin\u002Fobservability\u002F":3,"docs-nav":334},{"id":4,"title":5,"body":6,"description":16,"extension":323,"layout":324,"meta":325,"navGroup":324,"navGroupOrder":324,"navOrder":324,"navTitle":5,"navigation":326,"originalPath":327,"path":328,"redirect":324,"seo":329,"stem":330,"updated":331,"version":332,"__hash__":333},"docs\u002Fdocs\u002Fadmin\u002Fobservability.md","Observability",{"type":7,"value":8,"toc":307},"minimark",[9,13,17,20,25,28,56,59,63,68,77,117,121,128,132,139,159,163,170,211,214,218,225,267,280,287,291],[10,11,5],"h1",{"id":12},"observability",[14,15,16],"p",{},"Observability is the ability to understand the internal state and behaviour of a system by analysing its outputs, without needing to know its internal workings. For a self-hosted FlowFuse platform running on Kubernetes, this means having a holistic view of the platform and the cluster it runs on - their health, performance, and any potential issues - so you can detect and diagnose problems before they affect your users.",[14,18,19],{},"This page describes the kinds of tools you can use and what each is for, so you can plan an observability stack that fits your environment. It does not prescribe a specific deployment; the tools named below are common open-source choices, but the concepts apply equally to managed or commercial alternatives.",[21,22,24],"h2",{"id":23},"the-three-pillars","The three pillars",[14,26,27],{},"Observability is usually described in terms of three complementary signals:",[29,30,31,39,50],"ul",{},[32,33,34,38],"li",{},[35,36,37],"strong",{},"Metrics"," - numeric measurements sampled over time (request rates, memory usage, pod counts). Good for dashboards, trends, and alerting thresholds.",[32,40,41,44,45,49],{},[35,42,43],{},"Logs"," - timestamped records of discrete events emitted by the platform and by the workloads running on the cluster. Good for understanding ",[46,47,48],"em",{},"why"," something happened.",[32,51,52,55],{},[35,53,54],{},"Dashboards & visualization"," - a unified place to explore metrics and logs together, spot correlations, and share views across a team.",[14,57,58],{},"A complete setup collects all three and ties them together, so an alert on a metric can be investigated against the corresponding logs.",[21,60,62],{"id":61},"tools","Tools",[64,65,67],"h3",{"id":66},"prometheus","Prometheus",[14,69,70,76],{},[71,72,67],"a",{"href":73,"rel":74},"https:\u002F\u002Fprometheus.io\u002F",[75],"nofollow"," collects and stores time-series metrics by scraping HTTP endpoints at regular intervals. For a self-hosted FlowFuse platform there are two useful sources of metrics:",[29,78,79,97,108],{},[32,80,81,84,85,90,91,96],{},[35,82,83],{},"Kubernetes cluster metrics"," - cluster-level metrics such as CPU and memory usage, pod status, and node health, typically gathered via ",[71,86,89],{"href":87,"rel":88},"https:\u002F\u002Fgithub.com\u002Fkubernetes\u002Fkube-state-metrics",[75],"kube-state-metrics"," and ",[71,92,95],{"href":93,"rel":94},"https:\u002F\u002Fgithub.com\u002Fprometheus\u002Fnode_exporter",[75],"node-exporter",".",[32,98,99,102,103,107],{},[35,100,101],{},"Hosted Instances metrics"," - every Hosted Instance is a pod running on the Kubernetes cluster. It produces metrics that are exposed by cAdvisor at the ",[104,105,106],"code",{},"\u002Fmetrics"," endpoint, which Prometheus can scrape. This includes CPU, memory and networking usage.",[32,109,110,113,114,116],{},[35,111,112],{},"Platform metrics"," - FlowFuse core deployment exposes a ",[104,115,106],{}," endpoint that Prometheus can scrape. This includes resources performance statistics, request rates, and error counts, etc.",[64,118,120],{"id":119},"loki","Loki",[14,122,123,127],{},[71,124,120],{"href":125,"rel":126},"https:\u002F\u002Fgrafana.com\u002Foss\u002Floki\u002F",[75]," is a log aggregation system designed to pair with Prometheus. It collects, stores, and lets you query logs from the platform and from the pods running on your cluster, so you can analyse logs alongside metrics using the same labels.",[64,129,131],{"id":130},"grafana","Grafana",[14,133,134,138],{},[71,135,131],{"href":136,"rel":137},"https:\u002F\u002Fgrafana.com\u002Foss\u002Fgrafana\u002F",[75]," is an open-source platform for building and sharing dashboards. It provides a single interface over your observability data:",[29,140,141,147,153],{},[32,142,143,146],{},[35,144,145],{},"Data source integration"," - connect Prometheus, Loki, and other sources to visualize metrics and logs in one place.",[32,148,149,152],{},[35,150,151],{},"Customizable dashboards"," - build tailored views for platform health, resource usage, and workload behaviour.",[32,154,155,158],{},[35,156,157],{},"Alerting"," - define alerting rules against your metrics and logs to be notified of problems proactively.",[21,160,162],{"id":161},"quick-start","Quick start",[14,164,165,166,169],{},"The fastest way to get started is the ",[35,167,168],{},"LGTM stack"," - Loki (logs), Grafana (dashboards), Tempo (traces), and Mimir\u002FPrometheus (metrics) - is to either use Grafana Cloud or deploy it self-hosted:",[29,171,172,190],{},[32,173,174,177,178,183,184,189],{},[35,175,176],{},"Grafana Cloud (hosted)"," - sign up for ",[71,179,182],{"href":180,"rel":181},"https:\u002F\u002Fgrafana.com\u002Fproducts\u002Fcloud\u002F",[75],"Grafana Cloud"," and install the ",[71,185,188],{"href":186,"rel":187},"https:\u002F\u002Fgrafana.com\u002Fdocs\u002Fgrafana-cloud\u002Fmonitor-infrastructure\u002Fkubernetes-monitoring\u002F",[75],"Kubernetes Monitoring"," integration. It deploys collectors (Grafana Alloy) into your cluster that ship metrics and logs to Grafana's managed backend. Point one scrape target at the FlowFuse Platform metrics endpoint and you have platform plus cluster visibility with minimal setup.",[32,191,192,195,196,203,204,210],{},[35,193,194],{},"Self-hosted LGTM"," - run the stack inside your own cluster using the ",[71,197,200],{"href":198,"rel":199},"https:\u002F\u002Fgithub.com\u002Fprometheus-community\u002Fhelm-charts\u002Ftree\u002Fmain\u002Fcharts\u002Fkube-prometheus-stack",[75],[104,201,202],{},"kube-prometheus-stack"," (Prometheus + Grafana + Alertmanager) and ",[71,205,208],{"href":206,"rel":207},"https:\u002F\u002Fgithub.com\u002Fgrafana\u002Floki\u002Ftree\u002Fmain\u002Fproduction\u002Fhelm\u002Floki",[75],[104,209,119],{}," Helm charts. You keep full control of your data and retention, at the cost of maintaining the stack yourself.",[14,212,213],{},"Start with Grafana Cloud if you want results quickly and are comfortable sending telemetry off-cluster; choose self-hosted LGTM if data residency or cost at scale matters. The concepts in the rest of this page apply to either.",[64,215,217],{"id":216},"initial-grafana-dashboards","Initial Grafana dashboards",[14,219,220,221,224],{},"Rather than building Grafana dashboards from scratch, import a few proven community dashboards to get cluster visibility on day one. In Grafana, use ",[35,222,223],{},"Dashboards → New → Import"," and enter the dashboard ID:",[29,226,227,241,254],{},[32,228,229,236,237,240],{},[35,230,231],{},[71,232,235],{"href":233,"rel":234},"https:\u002F\u002Fgrafana.com\u002Fgrafana\u002Fdashboards\u002F1860",[75],"Node Exporter Full"," (ID ",[104,238,239],{},"1860",") - per-node CPU, memory, disk, and network from node-exporter.",[32,242,243,236,250,253],{},[35,244,245],{},[71,246,249],{"href":247,"rel":248},"https:\u002F\u002Fgrafana.com\u002Fgrafana\u002Fdashboards\u002F15757",[75],"Kubernetes \u002F Views \u002F Global",[104,251,252],{},"15757",") - cluster-wide health and resource usage across nodes, namespaces, and workloads.",[32,255,256,236,263,266],{},[35,257,258],{},[71,259,262],{"href":260,"rel":261},"https:\u002F\u002Fgrafana.com\u002Fgrafana\u002Fdashboards\u002F15760",[75],"Kubernetes \u002F Views \u002F Pods",[104,264,265],{},"15760",") - per-pod CPU, memory, and network, useful for inspecting individual Hosted Instances.",[268,269,270],"blockquote",{},[14,271,272,273,275,276,279],{},"If you deployed the ",[104,274,202],{}," Helm chart, a full set of ",[104,277,278],{},"Kubernetes \u002F Compute Resources \u002F *"," dashboards is installed automatically - check the dashboard list before importing duplicates.",[14,281,282,283,286],{},"Once the cluster basics are in place, build a FlowFuse-specific dashboard from the platform metrics described under ",[71,284,67],{"href":285},"#prometheus"," above.",[21,288,290],{"id":289},"next-steps","Next steps",[29,292,293,300],{},[32,294,295,299],{},[71,296,298],{"href":297},"\u002Fdocs\u002Fadmin\u002Fmonitoring","Platform Monitoring"," - details of the FlowFuse statistics endpoint used by Prometheus.",[32,301,302,306],{},[71,303,305],{"href":304},"\u002Fdocs\u002Finstall\u002Fkubernetes\u002F","Installing FlowFuse on Kubernetes"," - deploying and configuring the platform on a cluster.",{"title":308,"searchDepth":309,"depth":309,"links":310},"",4,[311,313,319,322],{"id":23,"depth":312,"text":24},2,{"id":61,"depth":312,"text":62,"children":314},[315,317,318],{"id":66,"depth":316,"text":67},3,{"id":119,"depth":316,"text":120},{"id":130,"depth":316,"text":131},{"id":161,"depth":312,"text":162,"children":320},[321],{"id":216,"depth":316,"text":217},{"id":289,"depth":312,"text":290},"md",null,{},true,"admin\u002Fobservability.md","\u002Fdocs\u002Fadmin\u002Fobservability",{"title":5,"description":16},"docs\u002Fadmin\u002Fobservability","2026-07-14 11:15:08 +0200","2.33.2","_H-UNoaDAvxJDK2J_LyRk9MGBJ4Bn87CT1UI7rhWsrY",[335,343,362,374],{"name":336,"order":337,"children":338},"FlowFuse User Manuals",1,[339],{"title":340,"path":341,"group":336,"groupOrder":337,"order":312,"children":342},"FlowFuse API","\u002Fdocs\u002Fapi",[],{"name":344,"order":309,"children":345},"FlowFuse Self-Hosted",[346,350],{"title":347,"path":348,"group":344,"groupOrder":309,"order":337,"children":349},"Quick Start","\u002Fdocs\u002Fquick-start",[],{"title":351,"path":352,"group":344,"groupOrder":309,"order":316,"children":353},"Upgrading FlowFuse","\u002Fdocs\u002Fupgrade",[354,358],{"title":355,"path":356,"group":-1,"groupOrder":-1,"order":-4,"children":357},"Installing a license","\u002Fdocs\u002Fupgrade\u002Fopen-source-to-premium",[],{"title":359,"path":360,"group":-1,"groupOrder":-1,"order":-4,"children":361},"Upgrading the Node-RED version","\u002Fdocs\u002Fupgrade\u002Fnodered-version",[],{"name":363,"order":364,"children":365},"Support",5,[366,370],{"title":367,"path":368,"group":363,"groupOrder":364,"order":316,"children":369},"Premium Support","\u002Fdocs\u002Fpremium-support",[],{"title":371,"path":372,"group":363,"groupOrder":364,"order":-4,"children":373},"Debugging Node-RED issues","\u002Fdocs\u002Fdebugging",[],{"name":375,"order":-4,"children":376},"Other",[377,422,434,513,562,581,655,666],{"title":378,"path":379,"group":-1,"groupOrder":-1,"order":-4,"children":380},"admin","\u002Fdocs\u002Fadmin",[381,385,397,405,408,410,414,418],{"title":382,"path":383,"group":-1,"groupOrder":-1,"order":337,"children":384},"Administering FlowFuse","\u002Fdocs\u002Fadmin\u002Fintroduction",[],{"title":386,"path":387,"group":-1,"groupOrder":-1,"order":-4,"children":388},"Configuring Single Sign-On (SSO)","\u002Fdocs\u002Fadmin\u002Fsso",[389,393],{"title":390,"path":391,"group":-1,"groupOrder":-1,"order":-4,"children":392},"LDAP SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fldap",[],{"title":394,"path":395,"group":-1,"groupOrder":-1,"order":-4,"children":396},"SAML SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fsaml",[],{"title":398,"path":399,"group":-1,"groupOrder":-1,"order":-4,"children":400},"hardening","\u002Fdocs\u002Fadmin\u002Fhardening",[401],{"title":402,"path":403,"group":-1,"groupOrder":-1,"order":-4,"children":404},"Kubernetes Hardening","\u002Fdocs\u002Fadmin\u002Fhardening\u002Fkubernetes",[],{"title":406,"path":297,"group":-1,"groupOrder":-1,"order":-4,"children":407},"Monitoring",[],{"title":5,"path":328,"group":-1,"groupOrder":-1,"order":-4,"children":409},[],{"title":411,"path":412,"group":-1,"groupOrder":-1,"order":-4,"children":413},"Soft Launch Enablement","\u002Fdocs\u002Fadmin\u002Ffeature-flags",[],{"title":415,"path":416,"group":-1,"groupOrder":-1,"order":-4,"children":417},"Telemetry","\u002Fdocs\u002Fadmin\u002Ftelemetry",[],{"title":419,"path":420,"group":-1,"groupOrder":-1,"order":-4,"children":421},"User Management","\u002Fdocs\u002Fadmin\u002Fuser-management",[],{"title":423,"path":424,"group":-1,"groupOrder":-1,"order":-4,"children":425},"cloud","\u002Fdocs\u002Fcloud",[426,430],{"title":427,"path":428,"group":-1,"groupOrder":-1,"order":337,"children":429},"Introduction","\u002Fdocs\u002Fcloud\u002Fintroduction",[],{"title":431,"path":432,"group":-1,"groupOrder":-1,"order":-4,"children":433},"FlowFuse Cloud Billing","\u002Fdocs\u002Fcloud\u002Fbilling",[],{"title":435,"path":436,"group":-1,"groupOrder":-1,"order":-4,"children":437},"contribute","\u002Fdocs\u002Fcontribute",[438,441,445,449,453,457,461,469,505,509],{"title":427,"path":439,"group":-1,"groupOrder":-1,"order":337,"children":440},"\u002Fdocs\u002Fcontribute\u002Fintroduction",[],{"title":442,"path":443,"group":-1,"groupOrder":-1,"order":-4,"children":444},"Adding Template Settings","\u002Fdocs\u002Fcontribute\u002Fadding-template-settings",[],{"title":446,"path":447,"group":-1,"groupOrder":-1,"order":-4,"children":448},"API Design","\u002Fdocs\u002Fcontribute\u002Fapi-design",[],{"title":450,"path":451,"group":-1,"groupOrder":-1,"order":-4,"children":452},"Creating debug stack containers","\u002Fdocs\u002Fcontribute\u002Fcreating-debug-stack-containers",[],{"title":454,"path":455,"group":-1,"groupOrder":-1,"order":-4,"children":456},"Database migrations","\u002Fdocs\u002Fcontribute\u002Fdb-migrations",[],{"title":458,"path":459,"group":-1,"groupOrder":-1,"order":-4,"children":460},"FlowFuse Architecture","\u002Fdocs\u002Fcontribute\u002Farchitecture",[],{"title":462,"path":463,"group":-1,"groupOrder":-1,"order":-4,"children":464},"Local Install","\u002Fdocs\u002Fcontribute\u002Flocal",[465],{"title":466,"path":467,"group":-1,"groupOrder":-1,"order":-4,"children":468},"Local Stacks","\u002Fdocs\u002Fcontribute\u002Flocal\u002Fstacks",[],{"title":470,"path":471,"group":-1,"groupOrder":-1,"order":-4,"children":472},"State Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows",[473,477,481,485,489,493,497,501],{"title":474,"path":475,"group":-1,"groupOrder":-1,"order":-4,"children":476},"Device Editor","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fdevice-editor",[],{"title":478,"path":479,"group":-1,"groupOrder":-1,"order":-4,"children":480},"Instance states","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-states",[],{"title":482,"path":483,"group":-1,"groupOrder":-1,"order":-4,"children":484},"Invite External Users","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Finvite-external-user",[],{"title":486,"path":487,"group":-1,"groupOrder":-1,"order":-4,"children":488},"Project Creation","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-create",[],{"title":490,"path":491,"group":-1,"groupOrder":-1,"order":-4,"children":492},"Reset Password Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fpassword-reset",[],{"title":494,"path":495,"group":-1,"groupOrder":-1,"order":-4,"children":496},"Team creation Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fteam-create",[],{"title":498,"path":499,"group":-1,"groupOrder":-1,"order":-4,"children":500},"User Login Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Flogin",[],{"title":502,"path":503,"group":-1,"groupOrder":-1,"order":-4,"children":504},"User Sign up Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fsignup",[],{"title":506,"path":507,"group":-1,"groupOrder":-1,"order":-4,"children":508},"Team Broker","\u002Fdocs\u002Fcontribute\u002Fteam-broker",[],{"title":510,"path":511,"group":-1,"groupOrder":-1,"order":-4,"children":512},"Working with Feature Flags","\u002Fdocs\u002Fcontribute\u002Ffeature-flags",[],{"title":514,"path":515,"group":-1,"groupOrder":-1,"order":-4,"children":516},"device-agent","\u002Fdocs\u002Fdevice-agent",[517,521,524,528,532,537],{"title":518,"path":519,"group":-1,"groupOrder":-1,"order":337,"children":520},"FlowFuse Device Agent Introduction","\u002Fdocs\u002Fdevice-agent\u002Fintroduction",[],{"title":347,"path":522,"group":-1,"groupOrder":-1,"order":312,"children":523},"\u002Fdocs\u002Fdevice-agent\u002Fquickstart",[],{"title":525,"path":526,"group":-1,"groupOrder":-1,"order":309,"children":527},"Register your Remote Instance","\u002Fdocs\u002Fdevice-agent\u002Fregister",[],{"title":529,"path":530,"group":-1,"groupOrder":-1,"order":364,"children":531},"Running the Agent","\u002Fdocs\u002Fdevice-agent\u002Frunning",[],{"title":533,"path":534,"group":-1,"groupOrder":-1,"order":535,"children":536},"Deploying your Flows","\u002Fdocs\u002Fdevice-agent\u002Fdeploy",6,[],{"title":538,"path":539,"group":-1,"groupOrder":-1,"order":-4,"children":540},"install","\u002Fdocs\u002Fdevice-agent\u002Finstall",[541,546,550,554,558],{"title":542,"path":543,"group":544,"groupOrder":-1,"order":337,"children":545},"Overview","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Foverview","DeviceAgentInstallation",[],{"title":547,"path":548,"group":544,"groupOrder":-1,"order":312,"children":549},"Device Agent Installer","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdevice-agent-installer",[],{"title":551,"path":552,"group":544,"groupOrder":-1,"order":316,"children":553},"Docker Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdocker",[],{"title":555,"path":556,"group":544,"groupOrder":-1,"order":309,"children":557},"Kubernetes Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fkubernetes",[],{"title":559,"path":560,"group":544,"groupOrder":-1,"order":364,"children":561},"Manual Install with NPM","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fmanual",[],{"title":563,"path":564,"group":-1,"groupOrder":-1,"order":-4,"children":565},"hardware","\u002Fdocs\u002Fhardware",[566,569,573,577],{"title":542,"path":567,"group":-1,"groupOrder":-1,"order":337,"children":568},"\u002Fdocs\u002Fhardware\u002Fintroduction",[],{"title":570,"path":571,"group":-1,"groupOrder":-1,"order":312,"children":572},"ctrlX - Node-RED","\u002Fdocs\u002Fhardware\u002Fctrlx-node-red",[],{"title":574,"path":575,"group":-1,"groupOrder":-1,"order":316,"children":576},"ctrlX - Device Agent","\u002Fdocs\u002Fhardware\u002Fctrlx-device-agent",[],{"title":578,"path":579,"group":-1,"groupOrder":-1,"order":316,"children":580},"Raspberry Pi with Raspbian","\u002Fdocs\u002Fhardware\u002Fraspbian",[],{"title":538,"path":582,"group":-1,"groupOrder":-1,"order":-4,"children":583},"\u002Fdocs\u002Finstall",[584,587,591,595,615,619,623,627],{"title":542,"path":585,"group":-1,"groupOrder":-1,"order":337,"children":586},"\u002Fdocs\u002Finstall\u002Fintroduction",[],{"title":588,"path":589,"group":-1,"groupOrder":-1,"order":-4,"children":590},"Configuring FlowFuse","\u002Fdocs\u002Finstall\u002Fconfiguration",[],{"title":592,"path":593,"group":-1,"groupOrder":-1,"order":-4,"children":594},"DNS Setup","\u002Fdocs\u002Finstall\u002Fdns-setup",[],{"title":596,"path":597,"group":-1,"groupOrder":-1,"order":-4,"children":598},"Docker install","\u002Fdocs\u002Finstall\u002Fdocker",[599,603,607,611],{"title":600,"path":601,"group":-1,"groupOrder":-1,"order":-4,"children":602},"Add Project Stacks on Docker","\u002Fdocs\u002Finstall\u002Fdocker\u002Fstacks",[],{"title":604,"path":605,"group":-1,"groupOrder":-1,"order":-4,"children":606},"Docker Engine on Windows","\u002Fdocs\u002Finstall\u002Fdocker\u002Fwindows-docker-ce",[],{"title":608,"path":609,"group":-1,"groupOrder":-1,"order":-4,"children":610},"Docker from AWS Market Place","\u002Fdocs\u002Finstall\u002Fdocker\u002Faws-marketplace",[],{"title":612,"path":613,"group":-1,"groupOrder":-1,"order":-4,"children":614},"Docker on Digital Ocean","\u002Fdocs\u002Finstall\u002Fdocker\u002Fdigital-ocean",[],{"title":616,"path":617,"group":-1,"groupOrder":-1,"order":-4,"children":618},"Email configuration","\u002Fdocs\u002Finstall\u002Femail-providers",[],{"title":620,"path":621,"group":-1,"groupOrder":-1,"order":-4,"children":622},"First Run Setup","\u002Fdocs\u002Finstall\u002Ffirst-run",[],{"title":624,"path":625,"group":-1,"groupOrder":-1,"order":-4,"children":626},"FlowFuse File Storage","\u002Fdocs\u002Finstall\u002Ffile-storage",[],{"title":628,"path":629,"group":-1,"groupOrder":-1,"order":-4,"children":630},"Install FlowFuse on Kubernetes","\u002Fdocs\u002Finstall\u002Fkubernetes",[631,635,639,643,647,651],{"title":632,"path":633,"group":-1,"groupOrder":-1,"order":-4,"children":634},"AWS EKS Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws",[],{"title":636,"path":637,"group":-1,"groupOrder":-1,"order":-4,"children":638},"AWS EKS Installation with Terraform and Helm","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws-terraform",[],{"title":640,"path":641,"group":-1,"groupOrder":-1,"order":-4,"children":642},"Digital Ocean Kubernetes Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fdigital-ocean",[],{"title":644,"path":645,"group":-1,"groupOrder":-1,"order":-4,"children":646},"Ingress Controller Migration","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fingress-controller-migration",[],{"title":648,"path":649,"group":-1,"groupOrder":-1,"order":-4,"children":650},"Kubernetes Project Stacks","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fstacks",[],{"title":652,"path":653,"group":-1,"groupOrder":-1,"order":-4,"children":654},"OpenShift Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fopenshift",[],{"title":656,"path":657,"group":-1,"groupOrder":-1,"order":-4,"children":658},"migration","\u002Fdocs\u002Fmigration",[659,662],{"title":427,"path":660,"group":-1,"groupOrder":-1,"order":337,"children":661},"\u002Fdocs\u002Fmigration\u002Fintroduction",[],{"title":663,"path":664,"group":-1,"groupOrder":-1,"order":-4,"children":665},"Node-RED Tools plugin","\u002Fdocs\u002Fmigration\u002Fnode-red-tools",[],{"title":667,"path":668,"group":-1,"groupOrder":-1,"order":-4,"children":669},"user","\u002Fdocs\u002Fuser",[670,674,678,682,686,691,695,699,703,707,711,715,727,731,735,739,743,747,751,755,759,763,767,771,775,779,782,786],{"title":671,"path":672,"group":-1,"groupOrder":-1,"order":337,"children":673},"Getting Started","\u002Fdocs\u002Fuser\u002Fintroduction",[],{"title":675,"path":676,"group":-1,"groupOrder":-1,"order":337,"children":677},"Static asset service","\u002Fdocs\u002Fuser\u002Fstatic-asset-service",[],{"title":679,"path":680,"group":-1,"groupOrder":-1,"order":312,"children":681},"Bill of Materials","\u002Fdocs\u002Fuser\u002Fbill-of-materials",[],{"title":683,"path":684,"group":-1,"groupOrder":-1,"order":312,"children":685},"FlowFuse Concepts","\u002Fdocs\u002Fuser\u002Fconcepts",[],{"title":687,"path":688,"group":-1,"groupOrder":-1,"order":689,"children":690},"Instance States","\u002Fdocs\u002Fuser\u002Finstance-states",10,[],{"title":692,"path":693,"group":-1,"groupOrder":-1,"order":-4,"children":694},"Changing the Stack","\u002Fdocs\u002Fuser\u002Fchangestack",[],{"title":696,"path":697,"group":-1,"groupOrder":-1,"order":-4,"children":698},"Custom Hostnames","\u002Fdocs\u002Fuser\u002Fcustom-hostnames",[],{"title":700,"path":701,"group":-1,"groupOrder":-1,"order":-4,"children":702},"Custom Node Packages","\u002Fdocs\u002Fuser\u002Fcustom-npm-packages",[],{"title":704,"path":705,"group":-1,"groupOrder":-1,"order":-4,"children":706},"Dashboards","\u002Fdocs\u002Fuser\u002Fdashboards",[],{"title":708,"path":709,"group":-1,"groupOrder":-1,"order":-4,"children":710},"DevOps Pipelines","\u002Fdocs\u002Fuser\u002Fdevops-pipelines",[],{"title":712,"path":713,"group":-1,"groupOrder":-1,"order":-4,"children":714},"Environment Variables","\u002Fdocs\u002Fuser\u002Fenvvar",[],{"title":716,"path":717,"group":-1,"groupOrder":-1,"order":-4,"children":718},"FlowFuse Expert","\u002Fdocs\u002Fuser\u002Fexpert",[719,723],{"title":720,"path":721,"group":-1,"groupOrder":-1,"order":-4,"children":722},"AI in Node-RED","\u002Fdocs\u002Fuser\u002Fexpert\u002Fnode-red-embedded-ai",[],{"title":724,"path":725,"group":-1,"groupOrder":-1,"order":-4,"children":726},"Chat Interface","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat",[],{"title":728,"path":729,"group":-1,"groupOrder":-1,"order":-4,"children":730},"FlowFuse File Nodes","\u002Fdocs\u002Fuser\u002Ffilenodes",[],{"title":732,"path":733,"group":-1,"groupOrder":-1,"order":-4,"children":734},"FlowFuse MQTT Nodes","\u002Fdocs\u002Fuser\u002Fmqtt-nodes",[],{"title":736,"path":737,"group":-1,"groupOrder":-1,"order":-4,"children":738},"FlowFuse Persistent Context","\u002Fdocs\u002Fuser\u002Fpersistent-context",[],{"title":740,"path":741,"group":-1,"groupOrder":-1,"order":-4,"children":742},"FlowFuse Project Nodes","\u002Fdocs\u002Fuser\u002Fprojectnodes",[],{"title":744,"path":745,"group":-1,"groupOrder":-1,"order":-4,"children":746},"FlowFuse Tables","\u002Fdocs\u002Fuser\u002Fff-tables",[],{"title":748,"path":749,"group":-1,"groupOrder":-1,"order":-4,"children":750},"Groups","\u002Fdocs\u002Fuser\u002Fdevice-groups",[],{"title":752,"path":753,"group":-1,"groupOrder":-1,"order":-4,"children":754},"High Availability mode","\u002Fdocs\u002Fuser\u002Fhigh-availability",[],{"title":756,"path":757,"group":-1,"groupOrder":-1,"order":-4,"children":758},"HTTP Access Tokens","\u002Fdocs\u002Fuser\u002Fhttp-access-tokens",[],{"title":760,"path":761,"group":-1,"groupOrder":-1,"order":-4,"children":762},"Instance Settings","\u002Fdocs\u002Fuser\u002Finstance-settings",[],{"title":764,"path":765,"group":-1,"groupOrder":-1,"order":-4,"children":766},"Logging","\u002Fdocs\u002Fuser\u002Flogs",[],{"title":768,"path":769,"group":-1,"groupOrder":-1,"order":-4,"children":770},"Role-Based Access Control","\u002Fdocs\u002Fuser\u002Frole-based-access-control",[],{"title":772,"path":773,"group":-1,"groupOrder":-1,"order":-4,"children":774},"Shared Team Library","\u002Fdocs\u002Fuser\u002Fshared-library",[],{"title":776,"path":777,"group":-1,"groupOrder":-1,"order":-4,"children":778},"Snapshots","\u002Fdocs\u002Fuser\u002Fsnapshots",[],{"title":506,"path":780,"group":-1,"groupOrder":-1,"order":-4,"children":781},"\u002Fdocs\u002Fuser\u002Fteambroker",[],{"title":783,"path":784,"group":-1,"groupOrder":-1,"order":-4,"children":785},"Teams","\u002Fdocs\u002Fuser\u002Fteam",[],{"title":787,"path":788,"group":-1,"groupOrder":-1,"order":-4,"children":789},"User Settings","\u002Fdocs\u002Fuser\u002Fuser-settings",[],1786546036458]