# Bootstrap fails on OPENSEARCH\_INITIAL\_ADMIN\_PASSWORD from operator

**URL:** <https://forum.opensearch.org/t/bootstrap-fails-on-opensearch-initial-admin-password-from-operator/24758>\
**Category:** OpenSearch\
**Tags:** troubleshoot\
**Created:** [June 13, 2025, 1:09pm UTC](https://forum.opensearch.org/t/bootstrap-fails-on-opensearch-initial-admin-password-from-operator/24758 "2025-06-13T13:09:06Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![thoth](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/thoth/32/9209_2.png) [@thoth](https://forum.opensearch.org/u/thoth)\
**Post date:** [June 13, 2025, 1:09pm UTC](https://forum.opensearch.org/t/bootstrap-fails-on-opensearch-initial-admin-password-from-operator/24758/1 "2025-06-13T13:09:06Z")

</div>

**Versions** (relevant - OpenSearch/Dashboard/Server OS/Browser):  
opensearch/dash 3.0.0  
serverOS: arch linux  
browser: none cluster is not running so not needed

**Describe the issue** :

I have largely the same issue as:  
[https://forum.opensearch.org/t/new-cluster-bootstrap-only-failing-with-missing-opensearch-initial-admin-password/22934](https://forum.opensearch.org/t/new-cluster-bootstrap-only-failing-with-missing-opensearch-initial-admin-password/22934)

But that issue appears dead so I thought I’d document everything I can here.

**Configuration** :

cluster.yaml

```auto
apiVersion: opensearch.opster.io/v1
kind: OpenSearchCluster
metadata:
  name: opensearch-example
  namespace: example
spec:
  general:
    serviceName: opensearch-example
    version: "3"
  dashboards:
    enable: true
    tls:
      enable: true # Configure TLS
      generate: true # Have the Operator generate and sign a certificate
    version: "3"
    replicas: 1
    nodeSelector:
      opensearchrole: "worker"
    resources:
      requests:
         memory: "512Mi"
         cpu: "200m"
      limits:
         memory: "512Mi"
         cpu: "200m"
  security:
    config: # Everything related to the securityconfig
      adminCredentialsSecret:
        name: "opensearch-example-admin-cred"
      securityConfigSecret:
        name: "opensearch-example-securityconfig-secret"
  nodePools:
    - component: nodes
      replicas: 3
      diskSize: "5Gi"
      nodeSelector:
        opensearchrole: "worker"
      resources:
         requests:
            memory: "512Mi"
            cpu: "200m"
         limits:
            memory: "512Mi"
            cpu: "200m"
      roles:
        - "cluster_manager"
        - "data"
    - component: masters
      replicas: 3
      diskSize: "5Gi"
      roles:
        - "data"
        - "master"
      nodeSelector:
        opensearchrole: "worker"
      persistence:
        pvc:
          storageClass: "example-hostpath"
          accessModes: # You can change the accessMode
          - ReadWriteOnce

```

```auto
apiVersion: v1
kind: Secret
metadata:
  name: opensearch-example-securityconfig-secret
type: Opaque
stringData:
      action_groups.yml: |-
         _meta:
           type: "actiongroups"
           config_version: 2
      internal_users.yml: |-
        _meta:
          type: "internalusers"
          config_version: 2
        admin:
          hash: "deadbeef"
          reserved: true
          backend_roles:
          - "admin"
          description: "Demo admin user"
        dashboarduser:
          hash: "deadbeef"
          reserved: true
          description: "Demo OpenSearch Dashboards user"
      nodes_dn.yml: |-
        _meta:
          type: "nodesdn"
          config_version: 2
      whitelist.yml: |-
        _meta:
          type: "whitelist"
          config_version: 2
      tenants.yml: |-
        _meta:
          type: "tenants"
          config_version: 2
      roles_mapping.yml: |-
        _meta:
          type: "rolesmapping"
          config_version: 2
        all_access:
          reserved: false
          backend_roles:
          - "admin"
          description: "Maps admin to all_access"
        own_index:
          reserved: false
          users:
          - "*"
          description: "Allow full access to an index named like the username"
        readall:
          reserved: false
          backend_roles:
          - "readall"
        manage_snapshots:
          reserved: false
          backend_roles:
          - "snapshotrestore"
        dashboard_server:
          reserved: true
          users:
          - "dashboarduser"
      roles.yml: |-
        _meta:
          type: "roles"
          config_version: 2
        dashboard_read_only:
          reserved: true
        security_rest_api_access:
          reserved: true
        # Allows users to view monitors, destinations and alerts
        alerting_read_access:
          reserved: true
          cluster_permissions:
            - 'cluster:admin/opendistro/alerting/alerts/get'
            - 'cluster:admin/opendistro/alerting/destination/get'
            - 'cluster:admin/opendistro/alerting/monitor/get'
            - 'cluster:admin/opendistro/alerting/monitor/search'
        # Allows users to view and acknowledge alerts
        alerting_ack_alerts:
          reserved: true
          cluster_permissions:
            - 'cluster:admin/opendistro/alerting/alerts/*'
        # Allows users to use all alerting functionality
        alerting_full_access:
          reserved: true
          cluster_permissions:
            - 'cluster_monitor'
            - 'cluster:admin/opendistro/alerting/*'
          index_permissions:
            - index_patterns:
                - '*'
              allowed_actions:
                - 'indices_monitor'
                - 'indices:admin/aliases/get'
                - 'indices:admin/mappings/get'
        # Allow users to read Anomaly Detection detectors and results
        anomaly_read_access:
          reserved: true
          cluster_permissions:
            - 'cluster:admin/opendistro/ad/detector/info'
            - 'cluster:admin/opendistro/ad/detector/search'
            - 'cluster:admin/opendistro/ad/detectors/get'
            - 'cluster:admin/opendistro/ad/result/search'
            - 'cluster:admin/opendistro/ad/tasks/search'
            - 'cluster:admin/opendistro/ad/detector/validate'
            - 'cluster:admin/opendistro/ad/result/topAnomalies'
        # Allows users to use all Anomaly Detection functionality
        anomaly_full_access:
          reserved: true
          cluster_permissions:
            - 'cluster_monitor'
            - 'cluster:admin/opendistro/ad/*'
          index_permissions:
            - index_patterns:
                - '*'
              allowed_actions:
                - 'indices_monitor'
                - 'indices:admin/aliases/get'
                - 'indices:admin/mappings/get'
        # Allows users to read Notebooks
        notebooks_read_access:
          reserved: true
          cluster_permissions:
            - 'cluster:admin/opendistro/notebooks/list'
            - 'cluster:admin/opendistro/notebooks/get'
        # Allows users to all Notebooks functionality
        notebooks_full_access:
          reserved: true
          cluster_permissions:
            - 'cluster:admin/opendistro/notebooks/create'
            - 'cluster:admin/opendistro/notebooks/update'
            - 'cluster:admin/opendistro/notebooks/delete'
            - 'cluster:admin/opendistro/notebooks/get'
            - 'cluster:admin/opendistro/notebooks/list'
        # Allows users to read observability objects
        observability_read_access:
          reserved: true
          cluster_permissions:
            - 'cluster:admin/opensearch/observability/get'
        # Allows users to all Observability functionality
        observability_full_access:
          reserved: true
          cluster_permissions:
            - 'cluster:admin/opensearch/observability/create'
            - 'cluster:admin/opensearch/observability/update'
            - 'cluster:admin/opensearch/observability/delete'
            - 'cluster:admin/opensearch/observability/get'
        # Allows users to read and download Reports
        reports_instances_read_access:
          reserved: true
          cluster_permissions:
            - 'cluster:admin/opendistro/reports/instance/list'
            - 'cluster:admin/opendistro/reports/instance/get'
            - 'cluster:admin/opendistro/reports/menu/download'
        # Allows users to read and download Reports and Report-definitions
        reports_read_access:
          reserved: true
          cluster_permissions:
            - 'cluster:admin/opendistro/reports/definition/get'
            - 'cluster:admin/opendistro/reports/definition/list'
            - 'cluster:admin/opendistro/reports/instance/list'
            - 'cluster:admin/opendistro/reports/instance/get'
            - 'cluster:admin/opendistro/reports/menu/download'
        # Allows users to all Reports functionality
        reports_full_access:
          reserved: true
          cluster_permissions:
            - 'cluster:admin/opendistro/reports/definition/create'
            - 'cluster:admin/opendistro/reports/definition/update'
            - 'cluster:admin/opendistro/reports/definition/on_demand'
            - 'cluster:admin/opendistro/reports/definition/delete'
            - 'cluster:admin/opendistro/reports/definition/get'
            - 'cluster:admin/opendistro/reports/definition/list'
            - 'cluster:admin/opendistro/reports/instance/list'
            - 'cluster:admin/opendistro/reports/instance/get'
            - 'cluster:admin/opendistro/reports/menu/download'
        # Allows users to use all asynchronous-search functionality
        asynchronous_search_full_access:
          reserved: true
          cluster_permissions:
            - 'cluster:admin/opendistro/asynchronous_search/*'
          index_permissions:
            - index_patterns:
                - '*'
              allowed_actions:
                - 'indices:data/read/search*'
        # Allows users to read stored asynchronous-search results
        asynchronous_search_read_access:
          reserved: true
          cluster_permissions:
            - 'cluster:admin/opendistro/asynchronous_search/get'
        # Allows user to use all index_management actions - ism policies, rollups, transforms
        index_management_full_access:
          reserved: true
          cluster_permissions:
            - "cluster:admin/opendistro/ism/*"
            - "cluster:admin/opendistro/rollup/*"
            - "cluster:admin/opendistro/transform/*"
          index_permissions:
            - index_patterns:
                - '*'
              allowed_actions:
                - 'indices:admin/opensearch/ism/*'
        # Allows users to use all cross cluster replication functionality at leader cluster
        cross_cluster_replication_leader_full_access:
          reserved: true
          index_permissions:
            - index_patterns:
                - '*'
              allowed_actions:
                - "indices:admin/plugins/replication/index/setup/validate"
                - "indices:data/read/plugins/replication/changes"
                - "indices:data/read/plugins/replication/file_chunk"
        # Allows users to use all cross cluster replication functionality at follower cluster
        cross_cluster_replication_follower_full_access:
          reserved: true
          cluster_permissions:
            - "cluster:admin/plugins/replication/autofollow/update"
          index_permissions:
            - index_patterns:
                - '*'
              allowed_actions:
                - "indices:admin/plugins/replication/index/setup/validate"
                - "indices:data/write/plugins/replication/changes"
                - "indices:admin/plugins/replication/index/start"
                - "indices:admin/plugins/replication/index/pause"
                - "indices:admin/plugins/replication/index/resume"
                - "indices:admin/plugins/replication/index/stop"
                - "indices:admin/plugins/replication/index/update"
                - "indices:admin/plugins/replication/index/status_check"
      config.yml: |-
        _meta:
          type: "config"
          config_version: "2"
        config:
          dynamic:
            http:
              anonymous_auth_enabled: false
            authc:
              basic_internal_auth_domain:
                http_enabled: true
                transport_enabled: true
                order: "4"
                http_authenticator:
                  type: basic
                  challenge: true
                authentication_backend:
                  type: intern

```

opensearch-hashpass.py

```auto
#!/usr/bin/env python
import bcrypt
import sys
argumentList = sys.argv[1:]
if len(argumentList) == 1:
    plain_text_password = argumentList[0]
    print(bcrypt.hashpw(plain_text_password.encode("utf-8"), bcrypt.gensalt(12, prefix=b"2a")).decode("utf-8"))
else:
    print("useage: ", sys.argv[0], " password")
    exit(1)

```

mksecret.sh

```auto
#!/usr/bin/env bash
source .env
PASS_LENGTH=33
THIS_OPENSEARCH_ADMIN_PASSWORD=$(< /dev/random tr -dc _A-Z-a-z-0-9 | head -c${PASS_LENGTH})
export THIS_OPENSEARCH_ADMIN_PASSHASH=$(src/opensearch-hashpass.py ${THIS_OPENSEARCH_ADMIN_PASSWORD})
secret_maker () {
  local secret_name=$1
  local secret_user=$2
  local secret_pass=$3
  kubectl create secret generic \
    "${secret_name}" \
    -n "${THIS_NAMESPACE}" \
    --from-literal=username="${secret_user}" \
    --from-literal=password="${secret_pass}"
}

secret_maker "${THIS_OPENSEARCH_ADMIN_CRED_SECRET}" "${THIS_OPENSEARCH_ADMIN_USER}" "${THIS_OPENSEARCH_ADMIN_PASSWORD}"

```

**Relevant Logs or Screenshots** :

```auto
Enabling OpenSearch Security Plugin
Enabling execution of install_demo_configuration.sh for OpenSearch Security Plugin 
OpenSearch 2.12.0 onwards, the OpenSearch Security Plugin a change that requires an initial password for 'admin' user. 
Please define an environment variable 'OPENSEARCH_INITIAL_ADMIN_PASSWORD' with a strong password string. 
If a password is not provided, the setup will quit. 
 For more details, please visit: https://opensearch.org/docs/latest/install-and-configure/install-opensearch/docker/
### OpenSearch Security Demo Installer
### **Warning: Do not use on production or public reachable systems**
OpenSearch install type: rpm/deb on Linux 6.12.33-1-lts amd64
OpenSearch config dir: /usr/share/opensearch/config/
OpenSearch config file: /usr/share/opensearch/config/opensearch.yml
OpenSearch bin dir: /usr/share/opensearch/bin/
OpenSearch plugins dir: /usr/share/opensearch/plugins/
OpenSearch lib dir: /usr/share/opensearch/lib/
Detected OpenSearch Version: 3.0.0
Detected OpenSearch Security Version: 3.0.0.0
No custom admin password found. Please provide a password via the environment variable OPENSEARCH_INITIAL_ADMIN_PASSWORD.

```

these are gist links to logs.

---

<div class="post-metadata">

**Author:** ![pablo](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/pablo/32/10363_2.png) [@pablo](https://forum.opensearch.org/u/pablo)\
**Post date:** [June 13, 2025, 3:43pm UTC](https://forum.opensearch.org/t/bootstrap-fails-on-opensearch-initial-admin-password-from-operator/24758/2 "2025-06-13T15:43:55Z")

</div>

@thoth Did you follow the solution from that forum case?

> [@New Cluster - Bootstrap only failing with missing OPENSEARCH\_INITIAL\_ADMIN\_PASSWORD](https://forum.opensearch.org/t/new-cluster-bootstrap-only-failing-with-missing-opensearch-initial-admin-password/22934/2):
>
> This is fixed now, this required the below changes extraEnv: - name: OPENSEARCH\_INITIAL\_ADMIN\_PASSWORD value: password manager: extraEnv: - name: OPENSEARCH\_INITIAL\_ADMIN\_PASSWORD value: password … bootstrap: additionalConfig: OPENSEARCH\_INITIAL\_ADMIN\_PASSWORD: password … but this is now failing with Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad\_certificate

You must set OPENSEARCH\_INITIAL\_ADMIN\_PASSWORD as env variable.

This is required since version 2.12.

---

<div class="post-metadata">

**Author:** ![thoth](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/thoth/32/9209_2.png) [@thoth](https://forum.opensearch.org/u/thoth)\
**Post date:** [June 13, 2025, 4:23pm UTC](https://forum.opensearch.org/t/bootstrap-fails-on-opensearch-initial-admin-password-from-operator/24758/3 "2025-06-13T16:23:16Z")

</div>

I don’t really want it set in the yaml, I want it set as a secret as the documentation clearly shows:

> <https://github.com/opensearch-project/opensearch-k8s-operator/blob/main/docs/userguide/main.md#custom-admin-user>

why are we moving backwards?

EDIT: that is a link to the docs, not spam

---

<div class="post-metadata">

**Author:** ![thoth](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/thoth/32/9209_2.png) [@thoth](https://forum.opensearch.org/u/thoth)\
**Post date:** [June 14, 2025, 1:17am UTC](https://forum.opensearch.org/t/bootstrap-fails-on-opensearch-initial-admin-password-from-operator/24758/4 "2025-06-14T01:17:30Z")

</div>

And I did try setting that env var for the bootstrap in the yaml like so:

```auto
apiVersion: opensearch.opster.io/v1
kind: OpenSearchCluster
metadata:
  name: opensearch-example
  namespace: example
spec:
  #plugins.security.allow_default_init_securityindex: true
  general:
    serviceName: opensearch-example
    version: "3"
  dashboards:
    enable: true
    tls:
      enable: true # Configure TLS
      generate: true # Have the Operator generate and sign a certificate
    version: "3"
    replicas: 1
    nodeSelector:
      opensearchrole: "worker"
    resources:
      requests:
         memory: "512Mi"
         cpu: "200m"
      limits:
         memory: "512Mi"
         cpu: "200m"
  bootstrap:
    additionalConfig:
      OPENSEARCH_INITIAL_ADMIN_PASSWORD: "deadbeefDeluxe333!"
  #security:
  # config: # Everything related to the securityconfig
  # adminCredentialsSecret:
  # name: "opensearch-example-admin-cred"
  # securityConfigSecret:
  # name: "opensearch-example-securityconfig-secret"
  nodePools:
    - component: nodes
      replicas: 3
      diskSize: "5Gi"
      nodeSelector:
        opensearchrole: "worker"
      resources:
         requests:
            memory: "512Mi"
            cpu: "200m"
         limits:
            memory: "512Mi"
            cpu: "200m"
      roles:
        - "cluster_manager"
        - "data"
    - component: masters
      replicas: 3
      diskSize: "5Gi"
      roles:
        - "data"
        - "master"
      nodeSelector:
        opensearchrole: "worker"
      persistence:
        pvc:
          storageClass: "example-hostpath"
          accessModes: # You can change the accessMode
          - ReadWriteOnce

```

but the bootstrap pod still complains:

> <https://gist.github.com/joshuacox/3bc7e6755428142bcee5a0dfa6f60dd1>

as does the master:

```auto
Enabling OpenSearch Security Plugin
Enabling execution of install_demo_configuration.sh for OpenSearch Security Plugin 
OpenSearch 2.12.0 onwards, the OpenSearch Security Plugin a change that requires an initial password for 'admin' user. 
Please define an environment variable 'OPENSEARCH_INITIAL_ADMIN_PASSWORD' with a strong password string. 
If a password is not provided, the setup will quit. 
 For more details, please visit: https://opensearch.org/docs/latest/install-and-configure/install-opensearch/docker/
### OpenSearch Security Demo Installer
### **Warning: Do not use on production or public reachable systems**
OpenSearch install type: rpm/deb on Linux 6.12.33-1-lts amd64
OpenSearch config dir: /usr/share/opensearch/config/
OpenSearch config file: /usr/share/opensearch/config/opensearch.yml
OpenSearch bin dir: /usr/share/opensearch/bin/
OpenSearch plugins dir: /usr/share/opensearch/plugins/
OpenSearch lib dir: /usr/share/opensearch/lib/
Detected OpenSearch Version: 3.0.0
Detected OpenSearch Security Version: 3.0.0.0
No custom admin password found. Please provide a password via the environment variable OPENSEARCH_INITIAL_ADMIN_PASSWORD.

```

and the node:

```auto
Enabling OpenSearch Security Plugin
Enabling execution of install_demo_configuration.sh for OpenSearch Security Plugin 
OpenSearch 2.12.0 onwards, the OpenSearch Security Plugin a change that requires an initial password for 'admin' user. 
Please define an environment variable 'OPENSEARCH_INITIAL_ADMIN_PASSWORD' with a strong password string. 
If a password is not provided, the setup will quit. 
 For more details, please visit: https://opensearch.org/docs/latest/install-and-configure/install-opensearch/docker/
### OpenSearch Security Demo Installer
### **Warning: Do not use on production or public reachable systems**
OpenSearch install type: rpm/deb on Linux 6.12.33-1-lts amd64
OpenSearch config dir: /usr/share/opensearch/config/
OpenSearch config file: /usr/share/opensearch/config/opensearch.yml
OpenSearch bin dir: /usr/share/opensearch/bin/
OpenSearch plugins dir: /usr/share/opensearch/plugins/
OpenSearch lib dir: /usr/share/opensearch/lib/
Detected OpenSearch Version: 3.0.0
Detected OpenSearch Security Version: 3.0.0.0
No custom admin password found. Please provide a password via the environment variable OPENSEARCH_INITIAL_ADMIN_PASSWORD.

```

However, I may be doing something wrong in the above yaml. I have a full example here in this repo:

> **[GitHub - DeployCoop/vigilant-octo-waffle: This is a repo that templatizes the necessary yaml...](https://github.com/DeployCoop/vigilant-octo-waffle)**
>
> This is a repo that templatizes the necessary yaml to apply to the urban-disco

EDIT: that is a legitimate repo with code that will spin up opensearch in kind along with some other things I am testing. It is not spam.

---

<div class="post-metadata">

**Author:** ![Gsmitt](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/gsmitt/32/1718_2.png) [@Gsmitt](https://forum.opensearch.org/u/Gsmitt)\
**Post date:** [June 14, 2025, 3:17am UTC](https://forum.opensearch.org/t/bootstrap-fails-on-opensearch-initial-admin-password-from-operator/24758/5 "2025-06-14T03:17:26Z")

</div>

Hey @thoth

Have you tried setting that on the host?

```auto
vi /etc/environment

```

```auto
OPENSEARCH_INITIAL_ADMIN_PASSWORD=deadbeefDeluxe333!

```

---

<div class="post-metadata">

**Author:** ![thoth](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/thoth/32/9209_2.png) [@thoth](https://forum.opensearch.org/u/thoth)\
**Post date:** [June 14, 2025, 4:08pm UTC](https://forum.opensearch.org/t/bootstrap-fails-on-opensearch-initial-admin-password-from-operator/24758/6 "2025-06-14T16:08:54Z")

</div>

@Gsmitt I just tried anyhow, but it did not change anything. I have that value in a .env file I am sourcing beforehand so I did not think that would make a difference.

grepping around for OPENSEARCH\_INITIAL\_ADMIN\_PASSWORD comes up with nothing in the opensearch-k8s-operator repo.

Is it possible to get the `examples/securityconfig-secret.yaml` working?

---

<div class="post-metadata">

**Author:** ![thoth](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/thoth/32/9209_2.png) [@thoth](https://forum.opensearch.org/u/thoth)\
**Post date:** [June 15, 2025, 12:22am UTC](https://forum.opensearch.org/t/bootstrap-fails-on-opensearch-initial-admin-password-from-operator/24758/7 "2025-06-15T00:22:42Z")

</div>

Adding the configs:

```auto
      additionalConfig:
        OPENSEARCH_INITIAL_ADMIN_PASSWORD: "deadbeefDeluxe333!"

```

to all nodes and masters gets further, but then bootstrap, and every node and master will all be setting the initial password? That doesn’t make sense.

```auto
apiVersion: opensearch.opster.io/v1
kind: OpenSearchCluster
metadata:
  name: opensearch-example
  namespace: example
spec:
  #plugins.security.allow_default_init_securityindex: true
  general:
    serviceName: opensearch-example
    version: "2.19.2"
  dashboards:
    enable: true
    tls:
      enable: true # Configure TLS
      generate: true # Have the Operator generate and sign a certificate
    version: "2.19.2"
    replicas: 1
    nodeSelector:
      opensearchrole: "worker"
    resources:
      requests:
         memory: "512Mi"
         cpu: "200m"
      limits:
         memory: "512Mi"
         cpu: "200m"
  bootstrap:
    additionalConfig:
      OPENSEARCH_INITIAL_ADMIN_PASSWORD: "deadbeefDeluxe333!"
  #security:
  # config: # Everything related to the securityconfig
  # adminCredentialsSecret:
  # name: "opensearch-example-admin-cred"
  # securityConfigSecret:
  # name: "opensearch-example-securityconfig-secret"
  nodePools:
    - component: nodes
      additionalConfig:
        OPENSEARCH_INITIAL_ADMIN_PASSWORD: "deadbeefDeluxe333!"
      replicas: 3
      diskSize: "5Gi"
      nodeSelector:
        opensearchrole: "worker"
      resources:
         requests:
            memory: "512Mi"
            cpu: "200m"
         limits:
            memory: "512Mi"
            cpu: "200m"
      roles:
        - "cluster_manager"
        - "data"
    - component: masters
      additionalConfig:
        OPENSEARCH_INITIAL_ADMIN_PASSWORD: "deadbeefDeluxe333!"
      replicas: 3
      diskSize: "5Gi"
      roles:
        - "data"
        - "master"
      nodeSelector:
        opensearchrole: "worker"
      persistence:
        pvc:
          storageClass: "example-hostpath"
          accessModes: # You can change the accessMode
          - ReadWriteOnce

```

However, they are not healthy:

```auto
example opensearch-example-bootstrap-0 1/1 Running 0 21m
example opensearch-example-dashboards-5b4c4dd978-474mc 0/1 Running 5 (2m21s ago) 20m
example opensearch-example-masters-0 0/1 Running 0 21m
example opensearch-example-nodes-0 0/1 Running 7 (5m29s ago) 21m
example opensearch-operator-example-controller-manager-7cf598c68f-7mbqq 2/2 Running 0 21m

```

bootstrap logs:

> <https://gist.github.com/joshuacox/538df0d4ec56890a1accd618febc2281>

masters logs:

> <https://gist.github.com/joshuacox/d7bcd6ee5a062ce541d1e1ec4bfcb57a>

and the master’s description:

```auto
Name: opensearch-example-masters-0
Namespace: example
Priority: 0
Service Account: default
Node: vigilant-octo-waffle-worker2/172.18.0.2
Start Time: Sat, 14 Jun 2025 18:59:17 -0500
Labels: apps.kubernetes.io/pod-index=0
                  controller-revision-hash=opensearch-example-masters-547d998c4f
                  opensearch.role=cluster_manager
                  opster.io/opensearch-cluster=opensearch-example
                  opster.io/opensearch-nodepool=masters
                  statefulset.kubernetes.io/pod-name=opensearch-example-masters-0
Annotations: banzaicloud.com/last-applied:
                    UEsDBBQACAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAb3JpZ2luYWzMVm1v27YT/yr+H/4vVkCy5aRpGwF7YSTtlqFODDt9wFLDoMhLzIUiNZJy4gX67sNRskM3TvZmA4oAAU3dHe/u97...
                  opster.io/config: 
Status: Running
IP: 10.244.2.19
IPs:
  IP: 10.244.2.19
Controlled By: StatefulSet/opensearch-example-masters
Init Containers:
  init:
    Container ID: containerd://e927e2925ad9c3b3bb4be20ef3e3e97a555efb8169efbac5f011f67b05e46413
    Image: docker.io/busybox:latest
    Image ID: docker.io/library/busybox@sha256:f85340bf132ae937d2c2a763b8335c9bab35d6e8293f70f606b9c6178d84f42b
    Port: <none>
    Host Port: <none>
    Command:
      sh
      -c
    Args:
      chown -R 1000:1000 /usr/share/opensearch/data
    State: Terminated
      Reason: Completed
      Exit Code: 0
      Started: Sat, 14 Jun 2025 18:59:20 -0500
      Finished: Sat, 14 Jun 2025 18:59:20 -0500
    Ready: True
    Restart Count: 0
    Environment: <none>
    Mounts:
      /usr/share/opensearch/data from data (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-ln9xb (ro)
Containers:
  opensearch:
    Container ID: containerd://f036d39232e1907ddbf043461622ce6b6429bdd87ac27f299eb8b3fe5d42a349
    Image: docker.io/opensearchproject/opensearch:3
    Image ID: docker.io/opensearchproject/opensearch@sha256:00565f63fa1aa1643d5a2cf61cb5f09b4aeddee2f12703f01c534f051bff1a99
    Ports: 9200/TCP, 9300/TCP
    Host Ports: 0/TCP, 0/TCP
    Command:
      /bin/bash
      -c
      ./opensearch-docker-entrypoint.sh
    State: Running
      Started: Sat, 14 Jun 2025 19:00:40 -0500
    Ready: False
    Restart Count: 0
    Liveness: tcp-socket :9200 delay=10s timeout=5s period=20s #success=1 #failure=10
    Readiness: exec [/bin/bash -c curl -k -u "$(cat /mnt/admin-credentials/username):$(cat /mnt/admin-credentials/password)" --silent --fail https://localhost:9200] delay=60s timeout=30s period=30s #success=1 #failure=5
    Startup: tcp-socket :9200 delay=10s timeout=5s period=20s #success=1 #failure=10
    Environment:
      cluster.initial_master_nodes: opensearch-example-bootstrap-0
      discovery.seed_hosts: opensearch-example-discovery
      cluster.name: opensearch-example
      network.bind_host: 0.0.0.0
      network.publish_host: opensearch-example-masters-0 (v1:metadata.name)
      OPENSEARCH_JAVA_OPTS: -Xmx512M -Xms512M -Dopensearch.transport.cname_in_publish_address=true
      node.roles: data,cluster_manager
      http.port: 9200
      OPENSEARCH_INITIAL_ADMIN_PASSWORD: FlMdZUMl!xV9y1z6
    Mounts:
      /mnt/admin-credentials from admin-credentials (rw)
      /usr/share/opensearch/data from data (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-ln9xb (ro)
Conditions:
  Type Status
  PodReadyToStartContainers True 
  Initialized True 
  Ready False 
  ContainersReady False 
  PodScheduled True 
Volumes:
  data:
    Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName: data-opensearch-example-masters-0
    ReadOnly: false
  admin-credentials:
    Type: Secret (a volume populated by a Secret)
    SecretName: opensearch-example-admin-password
    Optional: false
  kube-api-access-ln9xb:
    Type: Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds: 3607
    ConfigMapName: kube-root-ca.crt
    Optional: false
    DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: opensearchrole=worker
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type Reason Age From Message
  ---- ------ ---- ---- -------
  Normal Scheduled 22m default-scheduler Successfully assigned example/opensearch-example-masters-0 to vigilant-octo-waffle-worker2
  Normal Pulling 22m kubelet Pulling image "docker.io/busybox:latest"
  Normal Pulled 22m kubelet Successfully pulled image "docker.io/busybox:latest" in 1.858s (2.455s including waiting). Image size: 2156518 bytes.
  Normal Created 22m kubelet Created container: init
  Normal Started 22m kubelet Started container init
  Normal Pulling 22m kubelet Pulling image "docker.io/opensearchproject/opensearch:3"
  Normal Pulled 21m kubelet Successfully pulled image "docker.io/opensearchproject/opensearch:3" in 2.1s (1m19.071s including waiting). Image size: 1040964215 bytes.
  Normal Created 21m kubelet Created container: opensearch
  Normal Started 21m kubelet Started container opensearch
  Warning Unhealthy 4m44s (x37 over 19m) kubelet Readiness probe failed:

```

these are just logs not advertisements.

---

<div class="post-metadata">

**Author:** ![thoth](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/thoth/32/9209_2.png) [@thoth](https://forum.opensearch.org/u/thoth)\
**Post date:** [June 16, 2025, 5:58am UTC](https://forum.opensearch.org/t/bootstrap-fails-on-opensearch-initial-admin-password-from-operator/24758/8 "2025-06-16T05:58:04Z")

</div>

Hmm for some reason I can’t link to this projects github, but there are a few issues that follow this as well:

`opensearch-k8s-operator/issues/759`

which leads to

`opensearch-project/opensearch-k8s-operator/issues/759#issuecomment-2283329133`

or the workaround:

> yeah, Install 2.11.0 and then upgrade to a version you want to. during upgrade, bootstrap pod is no longer used.

which is an interesting workaround.

---

<div class="post-metadata">

**Author:** ![pablo](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/pablo/32/10363_2.png) [@pablo](https://forum.opensearch.org/u/pablo)\
**Post date:** [June 17, 2025, 12:47am UTC](https://forum.opensearch.org/t/bootstrap-fails-on-opensearch-initial-admin-password-from-operator/24758/9 "2025-06-17T00:47:07Z")

</div>

@thoth Could you try this instead? I’ve added TLS certs generation for OpenSearch nodes HTTP and Transport layer.

```auto
apiVersion: opensearch.opster.io/v1
kind: OpenSearchCluster
metadata:
  name: opensearch-example
  namespace: example
spec:
  general:
    serviceName: opensearch-example
    version: "3"
  dashboards:
    enable: true
    tls:
      enable: true # Configure TLS
      generate: true # Have the Operator generate and sign a certificate
    version: "3"
    replicas: 1
    nodeSelector:
      opensearchrole: "worker"
    resources:
      requests:
         memory: "512Mi"
         cpu: "200m"
      limits:
         memory: "512Mi"
         cpu: "200m"
  security:
    config: # Everything related to the securityconfig
      adminCredentialsSecret:
        name: "opensearch-example-admin-cred"
      securityConfigSecret:
        name: "opensearch-example-securityconfig-secret"
    tls: #Add here
       http:
         generate: true
       transport:
         generate: true
         perNode: true

  nodePools:
    - component: nodes
      replicas: 3
      diskSize: "5Gi"
      nodeSelector:
        opensearchrole: "worker"
      resources:
         requests:
            memory: "512Mi"
            cpu: "200m"
         limits:
            memory: "512Mi"
            cpu: "200m"
      roles:
        - "cluster_manager"
        - "data"
    - component: masters
      replicas: 3
      diskSize: "5Gi"
      roles:
        - "data"
        - "master"
      nodeSelector:
        opensearchrole: "worker"
      persistence:
        pvc:
          storageClass: "example-hostpath"
          accessModes: # You can change the accessMode
          - ReadWriteOnce

```

---

<div class="post-metadata">

**Author:** ![thoth](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/thoth/32/9209_2.png) [@thoth](https://forum.opensearch.org/u/thoth)\
**Post date:** [June 17, 2025, 2:55pm UTC](https://forum.opensearch.org/t/bootstrap-fails-on-opensearch-initial-admin-password-from-operator/24758/10 "2025-06-17T14:55:01Z")

</div>

@Pablo let me make those changes:

```auto
git diff main|\cat
diff --git a/init/opensearch-operator/cluster.yaml b/init/opensearch-operator/cluster.yaml
index e554cc0..7108b66 100644
--- a/init/opensearch-operator/cluster.yaml
+++ b/init/opensearch-operator/cluster.yaml
@@ -34,6 +34,12 @@ spec:
         name: "${THIS_OPENSEARCH_ADMIN_CRED_SECRET}"
       securityConfigSecret:
         name: "opensearch-${THIS_NAME}-securityconfig-secret"
+ tls:
+ http:
+ generate: true
+ transport:
+ generate: true
+ perNode: true
   nodePools:
     - component: nodes
   # additionalConfig:

```

But I get this reconciler error, it looks as if it is not making the service?

```auto
{"level":"error","ts":"2025-06-17T14:00:01.203Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"01fe5a20-4e35-4afe-a213-5437ffcb932b","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}

```

more logs here for the operator:

```auto
kl -n example opensearch-operator-example-controller-manager-7cf598c68f-vpnpj -c operator-controller-manager
{"level":"info","ts":"2025-06-17T13:59:51.940Z","logger":"controller-runtime.metrics","msg":"Metrics server is starting to listen","addr":"127.0.0.1:8080"}
{"level":"info","ts":"2025-06-17T13:59:51.941Z","logger":"setup","msg":"Starting manager"}
{"level":"info","ts":"2025-06-17T13:59:51.941Z","msg":"starting server","path":"/metrics","kind":"metrics","addr":"127.0.0.1:8080"}
{"level":"info","ts":"2025-06-17T13:59:51.941Z","msg":"Starting server","kind":"health probe","addr":"[::]:8081"}
I0617 13:59:51.941390 1 leaderelection.go:245] attempting to acquire leader lease example/a867c7dc.opensearch.opster.io...
I0617 13:59:51.996211 1 leaderelection.go:255] successfully acquired lease example/a867c7dc.opensearch.opster.io
{"level":"info","ts":"2025-06-17T13:59:51.996Z","msg":"Starting EventSource","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","source":"kind source: *v1.OpenSearchCluster"}
{"level":"info","ts":"2025-06-17T13:59:51.996Z","msg":"Starting EventSource","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","source":"kind source: *v1.Pod"}
{"level":"info","ts":"2025-06-17T13:59:51.996Z","msg":"Starting EventSource","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","source":"kind source: *v1.Secret"}
{"level":"info","ts":"2025-06-17T13:59:51.996Z","msg":"Starting EventSource","controller":"opensearchrole","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchRole","source":"kind source: *v1.OpensearchRole"}
{"level":"info","ts":"2025-06-17T13:59:51.996Z","msg":"Starting EventSource","controller":"opensearchtenant","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchTenant","source":"kind source: *v1.OpensearchTenant"}
{"level":"info","ts":"2025-06-17T13:59:51.996Z","msg":"Starting EventSource","controller":"opensearchtenant","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchTenant","source":"kind source: *v1.OpenSearchCluster"}
{"level":"info","ts":"2025-06-17T13:59:51.996Z","msg":"Starting EventSource","controller":"opensearchrole","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchRole","source":"kind source: *v1.OpenSearchCluster"}
{"level":"info","ts":"2025-06-17T13:59:51.996Z","msg":"Starting Controller","controller":"opensearchrole","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchRole"}
{"level":"info","ts":"2025-06-17T13:59:51.996Z","msg":"Starting Controller","controller":"opensearchtenant","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchTenant"}
{"level":"info","ts":"2025-06-17T13:59:51.996Z","msg":"Starting EventSource","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","source":"kind source: *v1.ConfigMap"}
{"level":"info","ts":"2025-06-17T13:59:51.996Z","msg":"Starting EventSource","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","source":"kind source: *v1.Service"}
{"level":"info","ts":"2025-06-17T13:59:51.996Z","msg":"Starting EventSource","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","source":"kind source: *v1.Deployment"}
{"level":"info","ts":"2025-06-17T13:59:51.996Z","msg":"Starting EventSource","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","source":"kind source: *v1.StatefulSet"}
{"level":"info","ts":"2025-06-17T13:59:51.996Z","msg":"Starting Controller","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting EventSource","controller":"opensearchismpolicy","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchISMPolicy","source":"kind source: *v1.OpenSearchISMPolicy"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting EventSource","controller":"opensearchismpolicy","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchISMPolicy","source":"kind source: *v1.OpenSearchCluster"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting Controller","controller":"opensearchismpolicy","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchISMPolicy"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting EventSource","controller":"opensearchactiongroup","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchActionGroup","source":"kind source: *v1.OpensearchActionGroup"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting EventSource","controller":"opensearchactiongroup","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchActionGroup","source":"kind source: *v1.OpenSearchCluster"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting Controller","controller":"opensearchactiongroup","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchActionGroup"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting EventSource","controller":"opensearchcomponenttemplate","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchComponentTemplate","source":"kind source: *v1.OpensearchComponentTemplate"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting EventSource","controller":"opensearchcomponenttemplate","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchComponentTemplate","source":"kind source: *v1.OpenSearchCluster"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting Controller","controller":"opensearchcomponenttemplate","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchComponentTemplate"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting EventSource","controller":"opensearchindextemplate","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchIndexTemplate","source":"kind source: *v1.OpensearchIndexTemplate"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting EventSource","controller":"opensearchindextemplate","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchIndexTemplate","source":"kind source: *v1.OpenSearchCluster"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting Controller","controller":"opensearchindextemplate","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchIndexTemplate"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting EventSource","controller":"opensearchuserrolebinding","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUserRoleBinding","source":"kind source: *v1.OpensearchUserRoleBinding"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting EventSource","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","source":"kind source: *v1.OpensearchUser"}
{"level":"info","ts":"2025-06-17T13:59:51.998Z","msg":"Starting EventSource","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","source":"kind source: *v1.OpenSearchCluster"}
{"level":"info","ts":"2025-06-17T13:59:51.998Z","msg":"Starting EventSource","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","source":"kind source: *v1.Secret"}
{"level":"info","ts":"2025-06-17T13:59:51.998Z","msg":"Starting Controller","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser"}
{"level":"info","ts":"2025-06-17T13:59:51.997Z","msg":"Starting EventSource","controller":"opensearchuserrolebinding","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUserRoleBinding","source":"kind source: *v1.OpenSearchCluster"}
{"level":"info","ts":"2025-06-17T13:59:52.037Z","msg":"Starting Controller","controller":"opensearchuserrolebinding","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUserRoleBinding"}
{"level":"info","ts":"2025-06-17T13:59:52.337Z","msg":"Starting workers","controller":"opensearchcomponenttemplate","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchComponentTemplate","worker count":1}
{"level":"info","ts":"2025-06-17T13:59:52.337Z","msg":"Starting workers","controller":"opensearchindextemplate","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchIndexTemplate","worker count":1}
{"level":"info","ts":"2025-06-17T13:59:52.337Z","msg":"Starting workers","controller":"opensearchactiongroup","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchActionGroup","worker count":1}
{"level":"info","ts":"2025-06-17T13:59:52.337Z","msg":"Starting workers","controller":"opensearchrole","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchRole","worker count":1}
{"level":"info","ts":"2025-06-17T13:59:52.337Z","msg":"Starting workers","controller":"opensearchtenant","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchTenant","worker count":1}
{"level":"info","ts":"2025-06-17T13:59:52.337Z","msg":"Starting workers","controller":"opensearchismpolicy","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchISMPolicy","worker count":1}
{"level":"info","ts":"2025-06-17T13:59:52.338Z","msg":"Starting workers","controller":"opensearchuserrolebinding","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUserRoleBinding","worker count":1}
{"level":"info","ts":"2025-06-17T13:59:52.344Z","msg":"Starting workers","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","worker count":1}
{"level":"info","ts":"2025-06-17T13:59:52.396Z","msg":"Starting workers","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","worker count":1}
{"level":"info","ts":"2025-06-17T13:59:55.260Z","msg":"Reconciling OpenSearchCluster","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"b75d2777-1e79-484f-86cb-00ea240b8d81","cluster":{"name":"opensearch-example","namespace":"example"}}
{"level":"info","ts":"2025-06-17T13:59:55.270Z","logger":"KubeAPIWarningLogger","msg":"metadata.finalizers: \"Opster\": prefer a domain-qualified finalizer name to avoid accidental conflicts with other finalizer writers"}
{"level":"info","ts":"2025-06-17T13:59:55.270Z","msg":"Start reconcile - Phase: PENDING","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"b75d2777-1e79-484f-86cb-00ea240b8d81","cluster":{"name":"opensearch-example","namespace":"example"}}
{"level":"info","ts":"2025-06-17T13:59:55.279Z","msg":"Reconciling OpenSearchCluster","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"a9b4a020-1ec5-4fe5-bf62-b51ebab71f26","cluster":{"name":"opensearch-example","namespace":"example"}}
{"level":"info","ts":"2025-06-17T13:59:55.337Z","msg":"Generating certificates","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"a9b4a020-1ec5-4fe5-bf62-b51ebab71f26","interface":"transport"}
{"level":"error","ts":"2025-06-17T13:59:55.537Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"22bf7107-ef42-4b7e-b90e-4cff4108f270","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"error","ts":"2025-06-17T13:59:55.549Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"e51a2e9d-4ce8-483c-beaf-aa86f037c053","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"error","ts":"2025-06-17T13:59:55.704Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"92a0ca30-0d25-4f35-b7ec-67e2078872e4","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"error","ts":"2025-06-17T13:59:55.805Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"08c55c9c-3b19-4bb6-857e-87a55ee4e5e3","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"error","ts":"2025-06-17T13:59:55.996Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"048ddb74-b2fc-4b63-8c70-bcfb543268e3","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"error","ts":"2025-06-17T13:59:56.008Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"ea222bf9-bd0c-4fa1-a4e9-8a6aa39efd08","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"error","ts":"2025-06-17T13:59:56.107Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"de2fad77-853b-44bb-bfa7-f90713135934","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"error","ts":"2025-06-17T13:59:56.504Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"689661c6-a3fa-4fba-87b8-5a42619e73d5","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"error","ts":"2025-06-17T13:59:57.203Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"c2f754c9-ea56-40e3-ac69-87f80066ef7c","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"error","ts":"2025-06-17T13:59:58.601Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"7e1017f1-03b8-40be-be40-c5da1bba4983","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"error","ts":"2025-06-17T14:00:01.203Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"01fe5a20-4e35-4afe-a213-5437ffcb932b","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"info","ts":"2025-06-17T14:00:01.705Z","msg":"resource created","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"a9b4a020-1ec5-4fe5-bf62-b51ebab71f26","name":"opensearch-example-ca","namespace":"example","apiVersion":"v1","kind":"Secret"}
{"level":"error","ts":"2025-06-17T14:00:06.405Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"fb22f729-f0d4-4a39-a84c-50ced373ca35","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"error","ts":"2025-06-17T14:00:16.700Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"08564c3b-8039-48d1-825c-7a0e958bf75e","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"error","ts":"2025-06-17T14:00:37.204Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"d7800559-dc97-479c-b5cf-d42f0e1f5d23","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"info","ts":"2025-06-17T14:00:40.914Z","msg":"resource created","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"a9b4a020-1ec5-4fe5-bf62-b51ebab71f26","name":"opensearch-example-transport-cert","namespace":"example","apiVersion":"v1","kind":"Secret"}
{"level":"info","ts":"2025-06-17T14:00:40.914Z","msg":"Generating certificates","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"a9b4a020-1ec5-4fe5-bf62-b51ebab71f26","interface":"http"}
{"level":"info","ts":"2025-06-17T14:00:49.513Z","msg":"resource created","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"a9b4a020-1ec5-4fe5-bf62-b51ebab71f26","name":"opensearch-example-http-cert","namespace":"example","apiVersion":"v1","kind":"Secret"}
{"level":"info","ts":"2025-06-17T14:00:49.514Z","msg":"admin cert does not exist, creating","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"a9b4a020-1ec5-4fe5-bf62-b51ebab71f26"}
{"level":"info","ts":"2025-06-17T14:00:56.917Z","msg":"resource created","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"a9b4a020-1ec5-4fe5-bf62-b51ebab71f26","name":"opensearch-example-admin-cert","namespace":"example","apiVersion":"v1","kind":"Secret"}
{"level":"info","ts":"2025-06-17T14:00:56.917Z","msg":"Waiting for secret 'opensearch-example-securityconfig-secret' that contains the securityconfig to be created","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"a9b4a020-1ec5-4fe5-bf62-b51ebab71f26"}
{"level":"info","ts":"2025-06-17T14:00:56.917Z","msg":"Reconciling OpenSearchCluster","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"9bcc0732-59e2-4816-b334-6ba0d7ce6e48","cluster":{"name":"opensearch-example","namespace":"example"}}
{"level":"info","ts":"2025-06-17T14:00:56.995Z","msg":"Generating certificates","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"9bcc0732-59e2-4816-b334-6ba0d7ce6e48","interface":"transport"}
{"level":"info","ts":"2025-06-17T14:00:57.000Z","msg":"Generating certificates","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"9bcc0732-59e2-4816-b334-6ba0d7ce6e48","interface":"http"}
{"level":"info","ts":"2025-06-17T14:00:57.000Z","msg":"Waiting for secret 'opensearch-example-securityconfig-secret' that contains the securityconfig to be created","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"9bcc0732-59e2-4816-b334-6ba0d7ce6e48"}
{"level":"info","ts":"2025-06-17T14:01:06.917Z","msg":"Reconciling OpenSearchCluster","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"92d24b98-3085-49ad-ae6c-191f81c3888d","cluster":{"name":"opensearch-example","namespace":"example"}}
{"level":"info","ts":"2025-06-17T14:01:06.929Z","msg":"Generating certificates","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"92d24b98-3085-49ad-ae6c-191f81c3888d","interface":"transport"}
{"level":"info","ts":"2025-06-17T14:01:06.933Z","msg":"Generating certificates","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"92d24b98-3085-49ad-ae6c-191f81c3888d","interface":"http"}
{"level":"info","ts":"2025-06-17T14:01:06.933Z","msg":"Waiting for secret 'opensearch-example-securityconfig-secret' that contains the securityconfig to be created","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"92d24b98-3085-49ad-ae6c-191f81c3888d"}
{"level":"info","ts":"2025-06-17T14:01:16.934Z","msg":"Reconciling OpenSearchCluster","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"3c19a1b3-137d-42c9-9f46-f666b8abf125","cluster":{"name":"opensearch-example","namespace":"example"}}
{"level":"info","ts":"2025-06-17T14:01:16.944Z","msg":"Generating certificates","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"3c19a1b3-137d-42c9-9f46-f666b8abf125","interface":"transport"}
{"level":"info","ts":"2025-06-17T14:01:16.948Z","msg":"Generating certificates","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"3c19a1b3-137d-42c9-9f46-f666b8abf125","interface":"http"}
{"level":"info","ts":"2025-06-17T14:01:16.948Z","msg":"Waiting for secret 'opensearch-example-securityconfig-secret' that contains the securityconfig to be created","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"3c19a1b3-137d-42c9-9f46-f666b8abf125"}
{"level":"error","ts":"2025-06-17T14:01:18.176Z","msg":"Reconciler error","controller":"opensearchuser","controllerGroup":"opensearch.opster.io","controllerKind":"OpensearchUser","OpensearchUser":{"name":"opensearchdash","namespace":"example"},"namespace":"example","name":"opensearchdash","reconcileID":"0c18a0e7-10bd-439d-9851-1c8992c27a63","error":"dial tcp: lookup opensearch-example.example.svc.cluster.local on 10.96.0.10:53: no such host","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:324\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}
{"level":"info","ts":"2025-06-17T14:01:26.948Z","msg":"Reconciling OpenSearchCluster","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"a151c7ee-785d-4eeb-9e3e-36d232b69350","cluster":{"name":"opensearch-example","namespace":"example"}}
{"level":"info","ts":"2025-06-17T14:01:26.960Z","msg":"Generating certificates","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"a151c7ee-785d-4eeb-9e3e-36d232b69350","interface":"transport"}
{"level":"info","ts":"2025-06-17T14:01:26.964Z","msg":"Generating certificates","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"a151c7ee-785d-4eeb-9e3e-36d232b69350","interface":"http"}
{"level":"info","ts":"2025-06-17T14:01:26.964Z","msg":"Waiting for secret 'opensearch-example-securityconfig-secret' that contains the securityconfig to be created","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"a151c7ee-785d-4eeb-9e3e-36d232b69350"}
{"level":"info","ts":"2025-06-17T14:01:36.964Z","msg":"Reconciling OpenSearchCluster","controller":"opensearchcluster","controllerGroup":"opensearch.opster.io","controllerKind":"OpenSearchCluster","OpenSearchCluster":{"name":"opensearch-example","namespace":"example"},"namespace":"example","name":"opensearch-example","reconcileID":"6a09cbc3-dc18-4185-82d5-810c9340beff","cluster":{"name":"opensearch-example","namespace":"example"}}

```
