extend admin docs on UI
This commit is contained in:
		
							parent
							
								
									bc04e92a3d
								
							
						
					
					
						commit
						7da6bd86a4
					
				|  | @ -486,29 +486,36 @@ A secret can be pre-provisioned in different ways: | ||||||
| 
 | 
 | ||||||
| ## Setting up the Postgres Operator UI | ## Setting up the Postgres Operator UI | ||||||
| 
 | 
 | ||||||
| With the v1.2 release the Postgres Operator is shipped with a browser-based | Since the v1.2 release the Postgres Operator is shipped with a browser-based | ||||||
| configuration user interface (UI) that simplifies managing Postgres clusters | configuration user interface (UI) that simplifies managing Postgres clusters | ||||||
| with the operator. It talks to the K8s API Server as well as the Postgres | with the operator. | ||||||
| Operator [REST API](developer.md#debugging-the-operator). URLs as well as parts |  | ||||||
| of the UI layout can be configured via environment variables in the |  | ||||||
| [deployment manifest](../ui/manifests/deployment.yaml#L40). |  | ||||||
| 
 | 
 | ||||||
| The UI runs with Node.js and comes with it's own Docker image. Run NPM to | ### Building the UI image | ||||||
| continuously compile `tags/js` code. Basically, it creates an `app.js` file in: |  | ||||||
| `static/build/app.js` |  | ||||||
| 
 | 
 | ||||||
| ```bash | The UI runs with Node.js and comes with it's own Docker | ||||||
| (cd ui/app && npm start) | image. However, installing Node.js to build the operator UI is not required. It | ||||||
| ``` | is handled via Docker containers when running: | ||||||
| 
 |  | ||||||
| To build operator UI and Docker image open a shell, change to the `ui` folder |  | ||||||
| and run: |  | ||||||
| 
 | 
 | ||||||
| ```bash | ```bash | ||||||
| make docker | make docker | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| Apply all manifests from the `ui/manifests` folder to deploy the Postgres | ### Configure endpoints and options | ||||||
|  | 
 | ||||||
|  | The UI talks to the K8s API server as well as the Postgres Operator [REST API](developer.md#debugging-the-operator). | ||||||
|  | K8s API server URLs are loaded from the machine's kubeconfig environment by | ||||||
|  | default. Alternatively, a list can also be passed when starting the Python | ||||||
|  | application with the `--cluster` option. | ||||||
|  | 
 | ||||||
|  | The Operator API endpoint can be configured via the `OPERATOR_API_URL` | ||||||
|  | environment variables in the [deployment manifest](../ui/manifests/deployment.yaml#L40). | ||||||
|  | You can also expose the operator API through a [service](../manifests/api-service.yaml). | ||||||
|  | Some displayed options can be disabled from UI using simple flags under the | ||||||
|  | `OPERATOR_UI_CONFIG` field in the deployment. | ||||||
|  | 
 | ||||||
|  | ### Deploy the UI on K8s | ||||||
|  | 
 | ||||||
|  | Now, apply all manifests from the `ui/manifests` folder to deploy the Postgres | ||||||
| Operator UI on K8s. Replace the image tag in the deployment manifest if you | Operator UI on K8s. Replace the image tag in the deployment manifest if you | ||||||
| want to test the image you've built with `make docker`. Make sure the pods for | want to test the image you've built with `make docker`. Make sure the pods for | ||||||
| the operator and the UI are both running. | the operator and the UI are both running. | ||||||
|  | @ -518,11 +525,17 @@ sed -e "s/\(image\:.*\:\).*$/\1$TAG/" manifests/deployment.yaml | kubectl apply | ||||||
| kubectl get all -l application=postgres-operator-ui | kubectl get all -l application=postgres-operator-ui | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| For local testing you need to apply proxying and port forwarding so that the UI | ### Local testing | ||||||
| can talk to the K8s and Postgres Operator REST API. The Ingress resource is not | 
 | ||||||
| needed. You can use the provided `run_local.sh` script for this. Make sure | For local testing you need to apply K8s proxying and operator pod port | ||||||
| Python dependencies are installed on your machine and the correct K8s API server | forwarding so that the UI can talk to the K8s and Postgres Operator REST API. | ||||||
| URL is used, e.g. for minikube it would usually be `https://192.168.99.100:8443`. | The Ingress resource is not needed. You can use the provided `run_local.sh` | ||||||
|  | script for this. Make sure that: | ||||||
|  | 
 | ||||||
|  | * Python dependencies are installed on your machine | ||||||
|  | * the K8s API server URL is set for kubectl commands, e.g. for minikube it would usually be `https://192.168.99.100:8443`. | ||||||
|  | * the pod label selectors for port forwarding are correct | ||||||
|  | 
 | ||||||
| When testing with minikube you have to build the image in its docker environment | When testing with minikube you have to build the image in its docker environment | ||||||
| (running `make docker` doesn't do it for you). From the `ui` directory execute: | (running `make docker` doesn't do it for you). From the `ui` directory execute: | ||||||
| 
 | 
 | ||||||
|  | @ -537,7 +550,7 @@ docker build -t registry.opensource.zalan.do/acid/postgres-operator-ui:v1.3.0 . | ||||||
| # apply UI manifests next to a running Postgres Operator | # apply UI manifests next to a running Postgres Operator | ||||||
| kubectl apply -f manifests/ | kubectl apply -f manifests/ | ||||||
| 
 | 
 | ||||||
| # install python dependencies and run UI locally | # install python dependencies to run UI locally | ||||||
| pip3 install -r requirements | pip3 install -r requirements | ||||||
| ./run_local.sh | ./run_local.sh | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue