Skip to content

Merge main back to develop #34

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Sep 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ endif
OPERATOR_SDK_VERSION ?= v1.34.2

# Image URL to use all building/pushing image targets
IMG ?= ml-marklogic-operator-dev.bed-artifactory.bedford.progress.com/marklogic-kubernetes-operator:0.0.2
IMG ?= ml-marklogic-operator-dev.bed-artifactory.bedford.progress.com/marklogic-kubernetes-operator:1.0.0-ea2
# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
ENVTEST_K8S_VERSION = 1.28.3

Expand Down Expand Up @@ -152,7 +152,7 @@ run: manifests generate fmt vet ## Run a controller from your host.
# More info: https://docs.docker.com/develop/develop-images/build_enhancements/
.PHONY: docker-build
docker-build: ## Build docker image with the manager.
$(CONTAINER_TOOL) build -t ${IMG} .
$(CONTAINER_TOOL) build --platform="linux/amd64" -t ${IMG} .

.PHONY: docker-push
docker-push: ## Push docker image with the manager.
Expand Down
26 changes: 21 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ helm repo update
```
3. Install the Helm Chart for MarkLogic Operator:
```sh
helm upgrade marklogic-operator marklogic-private/marklogic-operator --version=1.0.0-ea1 --install --namespace marklogic-operator-system --create-namespace
helm upgrade marklogic-operator marklogic-private/marklogic-operator --version=1.0.0-ea2 --install --namespace marklogic-operator-system --create-namespace
```
4. Check the Operator Pod and make sure it is in Running state:
```sh
Expand Down Expand Up @@ -81,11 +81,22 @@ haproxy:
enabled: true
```
#### Configuration
HAProxy can be configured for cluster and group. By default, ports 8000, 8001, and 8002 are configured to handle HTTP traffic.
Ports can be configured for additional app servers. For example, to add port 8010 for HTTP load balancing, add this configuration to the marklogicgroup.yaml file:
HAProxy can be configured for cluster. To setup the access for default App Servers for 8000, 8001 and 8002, uncomment the appServer seciton in marklogicgroup.yaml.
```
appServers:
- name: "app-service"
port: 8000
path: "/console"
- name: "admin"
port: 8001
path: "/adminUI"
- name: "manage"
port: 8002
path: "/manage"
```
Ports can be configured for additional app servers. For example, to add port 8010 for HTTP load balancing, add this configuration to the marklogicgroup.yaml file appServer section:
```
- name: my-app-1
type: HTTP
port: 8010
targetPort: 8010
```
Expand All @@ -101,4 +112,9 @@ haproxy:
```

> [!WARNING]
> Please note, by setting the haproxy service type to LoadBalancer, the MarkLogic endpoint is exposed to the public internet. Because of this, networkPolicy should be set to limit the sources that can visit MarkLogic.
> Please note, by setting the haproxy service type to LoadBalancer, the MarkLogic endpoint is exposed to the public internet. Because of this, networkPolicy should be set to limit the sources that can visit MarkLogic.

## Known Issues and Limitations

1. The latest released version of fluent/fluent-bit:3.1.1 has known high and critical security vulnerabilities. If you decide to enable the log collection feature, choose and deploy the fluent-bit or an alternate image with no vulnerabilities as per your requirements.
2. Known Issues and Limitations for the MarkLogic Server Docker image can be viewed using the link: https://github.com/marklogic/marklogic-docker?tab=readme-ov-file#Known-Issues-and-Limitations.
2 changes: 1 addition & 1 deletion charts/marklogic-operator/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ controllerManager:
- ALL
image:
repository: ml-marklogic-operator-dev.bed-artifactory.bedford.progress.com/marklogic-kubernetes-operator
tag: 0.0.2
tag: 1.0.0-ea2
resources:
limits:
cpu: 500m
Expand Down
63 changes: 30 additions & 33 deletions config/samples/marklogiccluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,39 +22,36 @@ spec:
## It also support multi-statement transaction and ODBC connections.
## Uncomment the following lines to enable HAProxy configuration
haproxy:
enabled: true
pathBasedRouting: true
frontendPort: 8080
tcpPorts:
enabled: true
ports:
- name: odbc
type: TCP
port: 5432
appServers:
- name: "app-service"
port: 8000
path: "/console"
- name: "admin"
port: 8001
path: "/adminUI"
- name: "manage"
port: 8002
path: "/manage"
stats:
enabled: true
port: 1024
auth:
enabled: true
username: admin
password: admin
resources:
requests:
memory: "4Gi"
cpu: "1"
limits:
memory: "4Gi"
cpu: "1"
enabled: false
# pathBasedRouting: true
# frontendPort: 8080
# tcpPorts:
# enabled: true
# ports:
# - name: odbc
# type: TCP
# port: 5432
# appServers:
# - name: "app-service"
# port: 8000
# path: "/console"
# - name: "admin"
# port: 8001
# path: "/adminUI"
# - name: "manage"
# port: 8002
# path: "/manage"
# stats:
# enabled: true
# port: 1024
# resources:
# requests:
# memory: "4Gi"
# cpu: "1"
# limits:
# memory: "4Gi"
# cpu: "1"

# logCollection:
# enabled: true
# image: fluent/fluent-bit:3.1.1
Expand Down
Loading