Readonlyrest installation error

I’m running a cluster with elastic, kibana and readonly nodes. The error present in the image is presented when running Docker Compose, my kibana.yml and elasticsearch.yml files use the .zip 8.17.0 version of readonlyrest (I have already tested smaller versions), however this error continues to persist.

Thank you to anyone who responds

looks like you did not run the patch phase, did you follow the link in the error message? It contains all the instructions

yes, it didn’t solve

You need to be more specific:

  • did the patching go well without errors?
  • What command did you use?
  • Did you try to do the patch verify?

You can also try ROR 1.62.0. There was one patching fix in this release.

I have the same problem, I’ll send my configuration:

dockerfile elasticsearch:

ARG ELK_VERSION ROR_VERSION
FROM docker.elastic.co/elasticsearch/elasticsearch:${ELK_VERSION}
USER root
COPY ./config/readonlyrest-1.62.0_es8.17.1.zip /usr/share/elasticsearch/config/readonlyrest.zip
RUN elasticsearch-plugin install --batch file:///usr/share/elasticsearch/config/readonlyrest.zip
RUN jdk/bin/java -jar plugins/readonlyrest/ror-tools.jar patch
RUN jdk/bin/java -jar plugins/readonlyrest/ror-tools.jar verify
USER elasticsearch

dockerfile kibana:

ARG ELK_VERSION

FROM docker.elastic.co/kibana/kibana:${ELK_VERSION}

COPY ./config/readonlyrest_kbn_universal-1.62.0_es8.17.1.zip /usr/share/kibana/readonlyrest_kbn.zip

RUN bin/kibana-plugin install file:///usr/share/kibana/readonlyrest_kbn.zip

RUN node/glibc-217/bin/node plugins/readonlyrestkbn/ror-tools.js patch

Docker compose:

version: '3.8'

services:
  elasticsearch1:
    build:
      context: elasticsearch/
      args:
        ELK_VERSION: ${ELK_VERSION}
        ROR_VERSION: ${ROR_VERSION}
        KIBANA_USER_PASS: ${KIBANA_USER_PASS}
        ADMIN_USER_PASS: ${ADMIN_USER_PASS}
    volumes:
      - elasticsearch1:/usr/share/elasticsearch/data
      - ./elasticsearch/config/readonlyrest.yml:/usr/share/elasticsearch/config/readonlyrest.yml
      - ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      - cluster.name=elk-cluster
      - node.name=elasticsearch1
      - KIBANA_USER_PASS=${KIBANA_USER_PASS}
      - ADMIN_USER_PASS=${ADMIN_USER_PASS}
      - ES_JAVA_OPTS=-Xmx512m -Xms512m

    networks:
      - elk

  elasticsearch2:
    build:
      context: elasticsearch/
      args:
        ELK_VERSION: ${ELK_VERSION}
        ROR_VERSION: ${ROR_VERSION}
        KIBANA_USER_PASS: ${KIBANA_USER_PASS}
        ADMIN_USER_PASS: ${ADMIN_USER_PASS}
    volumes:
      - elasticsearch2:/usr/share/elasticsearch/data
      - ./elasticsearch/config/readonlyrest.yml:/usr/share/elasticsearch/config/readonlyrest.yml
      - ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    environment:
      - node.name=elasticsearch2
      - cluster.name=elk-cluster
      - KIBANA_USER_PASS=${KIBANA_USER_PASS}
      - ADMIN_USER_PASS=${ADMIN_USER_PASS}
      - ES_JAVA_OPTS=-Xmx512m -Xms512m

    networks:
      - elk

  elasticsearch3:
    build:
      context: elasticsearch/
      args:
        ELK_VERSION: ${ELK_VERSION}
        ROR_VERSION: ${ROR_VERSION}
        KIBANA_USER_PASS: ${KIBANA_USER_PASS}
        ADMIN_USER_PASS: ${ADMIN_USER_PASS}
    volumes:
      - elasticsearch3:/usr/share/elasticsearch/data
      - ./elasticsearch/config/readonlyrest.yml:/usr/share/elasticsearch/config/readonlyrest.yml
      - ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    environment:
      - cluster.name=elk-cluster
      - node.name=elasticsearch3
      - KIBANA_USER_PASS=${KIBANA_USER_PASS}
      - ADMIN_USER_PASS=${ADMIN_USER_PASS}
      - ES_JAVA_OPTS=-Xmx512m -Xms512m

    networks:
      - elk

  kibana:
    build:
      context: kibana/
      args:
        ELK_VERSION: ${ELK_VERSION}
        ROR_VERSION: ${ROR_VERSION}
        KIBANA_USER_PASS: ${KIBANA_USER_PASS}
        ADMIN_USER_PASS: ${ADMIN_USER_PASS}
    ports:
      - "5601:5601"
    environment:
      - ELASTICSEARCH_HOSTS=["http://elasticsearch1:9200","http://elasticsearch2:9200","http://elasticsearch3:9200"]
      - I_UNDERSTAND_AND_ACCEPT_KBN_PATCHING=yes
      - ELASTICSEARCH_USERNAME=kibana
      - ELASTICSEARCH_PASSWORD=${KIBANA_USER_PASS}
      - ELASTICSEARCH_SSL_VERIFICATIONMODE=none
    networks:
      - elk
    depends_on:
      - elasticsearch1
      - elasticsearch2
      - elasticsearch3
    volumes:
      - ./kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml

volumes:
  elasticsearch1:
  elasticsearch2:
  elasticsearch3:

networks:
  elk:
    driver: bridge

readonlyrest:

readonlyrest:
  access_control_rules:

    - name: "::KIBANA-SRV::"
      type: allow
      verbosity: error
      auth_key: kibana:${env:KIBANA_USER_PASS}

    - name: "ADMIN"
      type: allow
      auth_key: admin:${env:ADMIN_USER_PASS}

ERROR:

kibana-1  | [2025-01-27T15:03:37.192+00:00][INFO ][plugins.taskManager] Task manager isCloud=false isServerless=false claimStrategy=mget isBackgroundTaskNodeOnly=false heapSizeLimit=2197815296 defaultCapacity=10 autoCalculateDefaultEchCapacity=false                                                                                                     
kibana-1  | [2025-01-27T15:03:37.195+00:00][INFO ][plugins.taskManager] using task claiming strategy: mget
kibana-1  | [2025-01-27T15:03:37.196+00:00][INFO ][plugins.taskManager] Starting the task poller                                                                               
kibana-1  | [ROR COMPAT] Verifying the presence of ROR hooks on Kibana files..                                                                                                 
kibana-1  | [ROR COMPAT] Found patch file /usr/share/kibana/plugins/readonlyrestkbn/kibana/patchers/patches_for_kbn_distribution/authorization_mode.patch
kibana-1  | [ROR COMPAT] Verifying patched state...                                                                                                                            
kibana-1  | [ROR COMPAT] ReadonlyREST encountered problems during patching verification: Unable to retrieve the ReadonlyREST plugin version for which the file was patched. Please ensure all steps in the upgrade guide have been followed: https://docs.readonlyrest.com/kibana#upgrading.                                                                  
kibana-1  | ######################################################
kibana-1  | #######    READONLYREST INSTALLATION ERROR    ########                                                                                                             
kibana-1  | ######################################################                                                                                                             
kibana-1  | [2025-01-27T15:03:37.540+00:00][ERROR][plugins.readonlyrestkbn] ReadonlyREST plugin installation is not finished yet, an additional patching kibana step is required. Check documentation https://docs.readonlyrest.com/kibana#patching-kibana for more references      

elasticsearch.yml:

network.host: 0.0.0.0
xpack.security.enabled: false
discovery.seed_hosts: elasticsearch1,elasticsearch2,elasticsearch3
cluster.initial_master_nodes: elasticsearch1,elasticsearch2,elasticsearch3
bootstrap.memory_lock: true
readonlyrest:
  force_load_from_file: true
cluster.name: elk-cluster
xpack.watcher.enabled: false 

kibana.yml:

readonlyrest_kbn.cookiePass: '12345678901234567890123456789012'
server.host: 0.0.0.0
readonlyrest_kbn.logLevel: 'debug'
xpack.monitoring.enabled: true

Hello @rebertty

Is there any error during the patching process? It looks like there is a missing Patching Kibana acknowledgment. Could you modify your script to

RUN node/glibc-217/bin/node plugins/readonlyrestkbn/ror-tools.js patch --I_UNDERSTAND_AND_ACCEPT_KBN_PATCHING=yes?

2 Likes

Hi, thanks for the help, this worked to me.