some Makefile polishing and updated admin docs on UI
This commit is contained in:
parent
a7421184b5
commit
b1fae4d171
|
|
@ -488,8 +488,12 @@ A secret can be pre-provisioned in different ways:
|
||||||
|
|
||||||
With the v1.2 release the Postgres Operator is shipped with a browser-based
|
With 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. The UI runs with Node.js and comes with it's own Docker
|
with the operator. It talks to the K8s API Server as well as the Postgres
|
||||||
image.
|
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 continuously compile `tags/js` code. Basically, it creates an
|
Run NPM to continuously compile `tags/js` code. Basically, it creates an
|
||||||
`app.js` file in: `static/build/app.js`
|
`app.js` file in: `static/build/app.js`
|
||||||
|
|
@ -498,26 +502,37 @@ Run NPM to continuously compile `tags/js` code. Basically, it creates an
|
||||||
(cd ui/app && npm start)
|
(cd ui/app && npm start)
|
||||||
```
|
```
|
||||||
|
|
||||||
To build the Docker image open a shell and change to the `ui` folder. Then run:
|
To build operator UI and Docker image open a shell, change to the `ui` folder
|
||||||
|
and run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker build -t registry.opensource.zalan.do/acid/postgres-operator-ui:v1.3.0 .
|
make docker
|
||||||
```
|
```
|
||||||
|
|
||||||
Apply all manifests for the `ui/manifests` folder to deploy the Postgres
|
Apply all manifests from the `ui/manifests` folder to deploy the Postgres
|
||||||
Operator UI on K8s. For local tests you don't need the Ingress resource.
|
Operator UI on K8s. Replace the image tag in the deployment manifest if you
|
||||||
|
want to test the image you build with `make docker`. For local tests you also
|
||||||
|
don't need the Ingress resource. Make sure the pods for the operator and the UI
|
||||||
|
are both running.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
kubectl apply -f ui/manifests
|
sed -e "s/\(image\:.*\:\).*$/\1$TAG/" manifests/deployment.yaml | kubectl apply -f manifests/
|
||||||
|
kubectl get all -l application=postgres-operator-ui
|
||||||
```
|
```
|
||||||
|
|
||||||
Make sure the pods for the operator and the UI are both running. For local
|
For local testing you need to apply proxying and port forwarding so that the UI
|
||||||
testing you need to apply proxying and port forwarding so that the UI can talk
|
can talk to the K8s and Postgres Operator REST API. You can use the provided
|
||||||
to the K8s and Postgres Operator REST API. You can use the provided
|
|
||||||
`run_local.sh` script for this. Make sure Python dependencies are installed on
|
`run_local.sh` script for this. Make sure Python dependencies are installed on
|
||||||
you machine and the correct URL to your K8s API server is used, e.g. for
|
your machine and the correct K8s API server URL is used, e.g. for minikube it
|
||||||
minikube it would usually be `https://192.168.99.100:8443`.
|
would usually be `https://192.168.99.100:8443`. When testing in minikube you
|
||||||
|
have to build the image in its docker environment as `make docker` doesn't do it
|
||||||
|
for you. From the `ui` directory execute:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# minikube
|
||||||
|
eval $(minikube docker-env)
|
||||||
|
docker build -t registry.opensource.zalan.do/acid/postgres-operator-ui:v1.3.0 .
|
||||||
|
kubectl apply -f manifests/
|
||||||
|
|
||||||
./run_local.sh
|
./run_local.sh
|
||||||
```
|
```
|
||||||
|
|
|
||||||
20
ui/Makefile
20
ui/Makefile
|
|
@ -1,17 +1,6 @@
|
||||||
.PHONY: clean test appjs docker push mock
|
.PHONY: clean test appjs docker push mock
|
||||||
|
|
||||||
BINARY ?= postgres-operator-ui
|
IMAGE ?= registry.opensource.zalan.do/acid/postgres-operator-ui
|
||||||
BUILD_FLAGS ?= -v
|
|
||||||
CGO_ENABLED ?= 0
|
|
||||||
ifeq ($(RACE),1)
|
|
||||||
BUILD_FLAGS += -race -a
|
|
||||||
CGO_ENABLED=1
|
|
||||||
endif
|
|
||||||
|
|
||||||
LOCAL_BUILD_FLAGS ?= $(BUILD_FLAGS)
|
|
||||||
LDFLAGS ?= -X=main.version=$(VERSION)
|
|
||||||
|
|
||||||
IMAGE ?= registry.opensource.zalan.do/acid/$(BINARY)
|
|
||||||
VERSION ?= $(shell git describe --tags --always --dirty)
|
VERSION ?= $(shell git describe --tags --always --dirty)
|
||||||
TAG ?= $(VERSION)
|
TAG ?= $(VERSION)
|
||||||
GITHEAD = $(shell git rev-parse --short HEAD)
|
GITHEAD = $(shell git rev-parse --short HEAD)
|
||||||
|
|
@ -32,8 +21,11 @@ appjs:
|
||||||
docker run $(TTYFLAGS) -u $$(id -u) -v $$(pwd):/workdir -w /workdir/app node:10.1.0-alpine npm run build
|
docker run $(TTYFLAGS) -u $$(id -u) -v $$(pwd):/workdir -w /workdir/app node:10.1.0-alpine npm run build
|
||||||
|
|
||||||
docker: appjs
|
docker: appjs
|
||||||
docker build --build-arg "VERSION=$(VERSION)" -t "$(IMAGE):$(TAG)" .
|
echo `(env)`
|
||||||
@echo 'Docker image $(IMAGE):$(TAG) can now be used.'
|
echo "Tag ${TAG}"
|
||||||
|
echo "Version ${VERSION}"
|
||||||
|
echo "git describe $(shell git describe --tags --always --dirty)"
|
||||||
|
docker build --rm -t "$(IMAGE):$(TAG)" -f Dockerfile .
|
||||||
|
|
||||||
push: docker
|
push: docker
|
||||||
docker push "$(IMAGE):$(TAG)"
|
docker push "$(IMAGE):$(TAG)"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue