> For the complete documentation index, see [llms.txt](https://docs.pentaho.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pentaho.com/install/10.2-install/pentaho-installation-overview-cp/hyperscalers-landing-page/installing-pentaho-on-aws/installing-the-platform-or-pdi-server-on-aws/dynamically-update-server-configuration-content-from-s3.md).

# Dynamically update server configuration content from S3

If the content of the S3 bucket changed and you must reflect these changes in the Platform or PDI Server, follow these instructions:

Before deploying the Platform or PDI Server, set the value of the **allow\_live\_config** property in the file `pentaho-server-aws-rds.yaml` to **true**.

1. Navigate to the relevant directory, where the configuration needs to be updated.
2. Prepare the configuration update script in a later step by setting the `<config_command>` part of the script to one of the command options in the following table.

   | Command option | Description                                                                                                                  |
   | -------------- | ---------------------------------------------------------------------------------------------------------------------------- |
   | load\_from\_s3 | Copies the content of the bucket to the server’s `/home/pentaho/.kettle` directory.                                          |
   | restart        | Restarts the Platform or PDI Server without restarting the pod.                                                              |
   | update\_config | Executes `load_from_s3`, executes all the configuration and initialization scripts, and then executes the `restart` command. |

   **Note:** When using the `restart` or `update_config` command, a disruption occurs in the Platform or PDI Server's use of sticky sessions. Using the `restart` or `update_config` command causes a server restart that impacts the user sessions.
3. Run the configuration update script.

   **Note:** If you have multiple Platform or PDI Server replicas, remove the comment hashtag in front of `sleep 60`.

   ```
   for pod in $( kubectl get pods -o name -n pentaho-server )
   do
     	echo "Forwarding port on pod: $pod"
    	 pid=$( kubectl port-forward -n pentaho-server $pod 8090:8090 1>/dev/null & echo $! )
    	 while ! nc -z localhost 8090; do 
      		 sleep 0.1
     	done
    	 echo "Executing command ..."
    	 result=$( curl http://localhost:8090/<config_command> )
    	 echo "Command result: $result"
     echo "Killing port forward pid: $pid"
     	while $(kill -9 $pid 2>/dev/null); do 
     	  	sleep 1
    	done
     	# sleep 60
   done;
   ```
4. Verify that the servers restart properly.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.pentaho.com/install/10.2-install/pentaho-installation-overview-cp/hyperscalers-landing-page/installing-pentaho-on-aws/installing-the-platform-or-pdi-server-on-aws/dynamically-update-server-configuration-content-from-s3.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
