Context
The NOFire AI Edge reads several settings that the chart's ConfigMap template never renders. If you set them through Helm values, nothing happens and nothing says so.
config.kube.namespaceFilter.mode and config.kube.namespaceFilter.namespaces (Edge kube.namespaceFilter, internal/edge/config/config.go). The docs advertise namespace allow/deny scoping as a feature (edge/introduction.mdx, edge/configuration.mdx#namespace-scope).
config.netobs.excludeNamespaces and config.netobs.edgeExistenceTtl (Edge netobs.excludeNamespaces and netobs.edgeExistenceTtl). edge/network-observability.mdx documents both, and says excludeNamespaces is seeded from the namespaceFilter deny-list.
To check this, render chart 0.5.2 with --set config.kube.namespaceFilter.mode=allow --set 'config.kube.namespaceFilter.namespaces={a,b}'. The nofire-edge-config ConfigMap has no namespaceFilter key. templates/configmap.yaml writes only configPath, resyncInterval, clusterName and resources under kube, and five fixed keys under netobs.
Chart 0.6.0 (#13) does not add these either.
We found this while writing the BYOC and GitOps install docs (NOFireAI/docs#42, NOFireAI/docs#43). Until a chart that renders these keys ships, edge/configuration.mdx carries a "Not passed through by chart 0.5.2" note on namespace scoping.
Related, same template: setting only config.services.address makes helm template fail with a nil pointer, because templates/configmap.yaml reads .Values.config.services.tls.enabled and the other services.* sub-keys without defaults.
Success criteria
Proposal
In templates/configmap.yaml, add guarded blocks, for example {{- with .Values.config.kube.namespaceFilter }} emitting "namespaceFilter": {"mode": ..., "namespaces": [...]}. Do the same for the two netobs keys, so an unset value keeps the Edge's own default. Give the services.* sub-keys default fallbacks matching the Edge defaults.
Release it as a 0.5.3 patch, independent of #13 (0.6.0).
Context
The NOFire AI Edge reads several settings that the chart's ConfigMap template never renders. If you set them through Helm values, nothing happens and nothing says so.
config.kube.namespaceFilter.modeandconfig.kube.namespaceFilter.namespaces(Edgekube.namespaceFilter,internal/edge/config/config.go). The docs advertise namespace allow/deny scoping as a feature (edge/introduction.mdx,edge/configuration.mdx#namespace-scope).config.netobs.excludeNamespacesandconfig.netobs.edgeExistenceTtl(Edgenetobs.excludeNamespacesandnetobs.edgeExistenceTtl).edge/network-observability.mdxdocuments both, and saysexcludeNamespacesis seeded from thenamespaceFilterdeny-list.To check this, render chart 0.5.2 with
--set config.kube.namespaceFilter.mode=allow --set 'config.kube.namespaceFilter.namespaces={a,b}'. Thenofire-edge-configConfigMap has nonamespaceFilterkey.templates/configmap.yamlwrites onlyconfigPath,resyncInterval,clusterNameandresourcesunderkube, and five fixed keys undernetobs.Chart 0.6.0 (#13) does not add these either.
We found this while writing the BYOC and GitOps install docs (NOFireAI/docs#42, NOFireAI/docs#43). Until a chart that renders these keys ships,
edge/configuration.mdxcarries a "Not passed through by chart0.5.2" note on namespace scoping.Related, same template: setting only
config.services.addressmakeshelm templatefail with a nil pointer, becausetemplates/configmap.yamlreads.Values.config.services.tls.enabledand the otherservices.*sub-keys without defaults.Success criteria
config.kube.namespaceFilter.modeand.namespacesrender into the Edge ConfigMap when set, and are left out when unset, so the Edge default (no filtering) applies.config.netobs.excludeNamespacesandconfig.netobs.edgeExistenceTtlrender when set and are left out when unset.config.services.addressalone renders, with the chart defaulting the otherservices.*keys.values.yamldocuments the new keys, with commented examples.helm lintandhelm templatepass with and without the new keys, and an Edge pod with anallowfilter graphs only the listed namespaces.EDGE_CHART_VERSIONand the docs' version pin are bumped to 0.5.3.0.5.2" notes inedge/configuration.mdxare removed.Proposal
In
templates/configmap.yaml, add guarded blocks, for example{{- with .Values.config.kube.namespaceFilter }}emitting"namespaceFilter": {"mode": ..., "namespaces": [...]}. Do the same for the twonetobskeys, so an unset value keeps the Edge's own default. Give theservices.*sub-keysdefaultfallbacks matching the Edge defaults.Release it as a 0.5.3 patch, independent of #13 (0.6.0).