# Kibana pod won't start with fleet enabled in hyphenated namespace

**URL:** <https://discuss.elastic.co/t/kibana-pod-wont-start-with-fleet-enabled-in-hyphenated-namespace/382863>\
**Category:** Kibana\
**Created:** [October 21, 2025, 7:24pm UTC](https://discuss.elastic.co/t/kibana-pod-wont-start-with-fleet-enabled-in-hyphenated-namespace/382863 "2025-10-21T19:24:39Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![smashley](https://avatars.discourse-cdn.com/v4/letter/s/6a8cbe/32.png) [@smashley](https://discuss.elastic.co/u/smashley)\
**Post date:** [October 21, 2025, 7:24pm UTC](https://discuss.elastic.co/t/kibana-pod-wont-start-with-fleet-enabled-in-hyphenated-namespace/382863/1 "2025-10-21T19:24:39Z")

</div>

I have an existing ES cluster for logging/SIEM and wish to enable fleet/agent. The cluster is deployed via ECK on kubernetes in namespace ‘elasticsearch-enterprise’ to differentiate it from our basic licensed clusters. The problem I’m running into when trying to enable Fleet/Agent is Kibana won’t start, complaining with the below error. Up to now the cluster has been running for around a year with no problems in this namespace.

FATAL][root] Reason: [config validation of [xpack.fleet].agentPolicies.0.namespace]: Namespace contains invalid characters

I see some older issues similarly throwing errors for invalid chars in namespaces but that was in UI and not on starting the Kibana service itself, and included specific references to the invalid characters and hyphen was not one of them: [Error "Namespace contains invalid characters" is displayed while provide name in "Default namespace" with special characters #(hash) or \*(asterisk) under policies page. · Issue #79818 · elastic/kibana · GitHub](https://github.com/elastic/kibana/issues/79818)

---

<div class="post-metadata">

**Author:** ![Tortoise](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tortoise/32/147587_2.png) [@Tortoise](https://discuss.elastic.co/u/Tortoise)\
**Post date:** [October 24, 2025, 4:46am UTC](https://discuss.elastic.co/t/kibana-pod-wont-start-with-fleet-enabled-in-hyphenated-namespace/382863/2 "2025-10-24T04:46:20Z")

</div>

Hello @smashley

As per my understanding the namespace “elasticsearch-enterprise” is at kuberentes level no where related to ELK. The error you have shared “_FATAL][root] Reason: [config validation of [xpack.fleet].agentPolicies.0.namespace]: Namespace contains invalid characters”_ seems to be related to the namespace defined at Agentpolicy level.

Could you please check the kibana.yml if it has default preconfigured policy like below which can be causing the issue :

```auto
xpack.fleet.agentPolicies:

name: My Policy
id: my-policy
namespace: default-policy

```

> **[Fleet settings in Kibana | Kibana Guide \[8.18\] | Elastic](https://www.elastic.co/guide/en/kibana/8.18/fleet-settings-kb.html)**

Thanks!!

---

<div class="post-metadata">

**Author:** ![smashley](https://avatars.discourse-cdn.com/v4/letter/s/6a8cbe/32.png) [@smashley](https://discuss.elastic.co/u/smashley)\
**Post date:** [October 24, 2025, 5:28pm UTC](https://discuss.elastic.co/t/kibana-pod-wont-start-with-fleet-enabled-in-hyphenated-namespace/382863/3 "2025-10-24T17:28:32Z")

</div>

Yes, I had populated that value with the k8s namespace my cluster runs in. Is this not necessary? The documentation doesn’t elaborate much on what this value is used for, but if it ultimately doesn’t have anything to do with the k8s namespace, that is fine. I was able to work-around the issue by setting the xpack.fleet.agentpolicies.namespace to ‘elasticsearch’.

---

<div class="post-metadata">

**Author:** ![Tortoise](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tortoise/32/147587_2.png) [@Tortoise](https://discuss.elastic.co/u/Tortoise)\
**Post date:** [October 25, 2025, 2:02am UTC](https://discuss.elastic.co/t/kibana-pod-wont-start-with-fleet-enabled-in-hyphenated-namespace/382863/4 "2025-10-25T02:02:12Z")

</div>

Hello @smashley

The Fleet namespace is a logical grouping mechanism for data. It affects how data is indexed and organized in Elasticsearch.  
`<namespace> : The namespace defined in the agent policy helps to differentiate data streams across environments or use cases.`

```auto
production namespace indices
     logs-system.syslog-production
     metrics-system.cpu-production

dev namespace indices
      logs-system.syslog-dev
      metrics-system.cpu-dev

Index naming pattern :
      <data_stream_type>-<integration_name>.<dataset>-<namespace>

```

So when we create different spaces in Kibana the access to various indices can be controlled using this naming convention :

```auto
indices:
  - names: ["*-*-production"]
    privileges: ["read"]

```

Instead of Dev/Production think of various different teams A/B/C in Production who should only see their information.

Thanks!!
