Giter VIP home page Giter VIP logo

marklogic-kubernetes's People

Contributors

barkhachoithani avatar ilanrosenbaum avatar jkerr5 avatar kkanthet avatar pengzhouml avatar rwinieski avatar sumanthravipati avatar twosdai avatar vitalykorolev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

marklogic-kubernetes's Issues

terraform helm_release

I tried to use this helm repository in terraform build but it failed with the below error. Can you check?

helm_release.marklogic-kubernetes: Creating...

│ Error: could not download chart: file '/Users/Library/Caches/helm/repository/marklogic-kubernetes' does not appear to be a gzipped archive; got 'text/html; charset=utf-8'

│ with helm_release.marklogic-kubernetes,
│ on helm.tf line 7, in resource "helm_release" "marklogic-kubernetes":
│ 7: resource "helm_release" "marklogic-kubernetes" {

Issues With Deploying on OpenShift

Greetings-

Issue 1:

I am attempting to deploy MarkLogic using Helm onto an OpenShift 4.10 instance and running into a couple problems. Firstly, due to the default SCC in OCP you cannot run a pod as root.

MarkLogic's own documentation seem to point that running as root is strongly recommended so that it can restart itself as necessary. But this seems very unnecessary in K8s and OCP deployments since those container orchestrators can handle any rebooting of pods that are needed.

My current work around is to temporarily turn off this SCC by running oc adm policy add-scc-to-user anyuid -z ml-test-marklogic -n <my_namespace>, which allows MarkLogic to boot up. I am unsure if I will be allowed to do this in production though.

Is there anyway to use this repo's deployment mechanism in a non-root way?


Issue 2:

My second issue is I am having trouble accessing the admin console (port 8001) through my OpenShift route. I believe this is actually an issue with our F5 load balancer and MarkLogic's Digest Auth. So I am looking into a fix from F5 if possible, but I am wondering if there is a way to configure MarkLogic to use Basic Auth for the Admin Console without going through the Admin Console itself after deploying it (i.e. configure at the time of deployment through the Helm Chart).

Thanks!

helm add repo marklogic fails

I just tried the procedure for installing a single ML node on minikube but ran into an issue when I tried to add the helm repo.

~/Development/MarkLogic/marklogic-kubernetes [develop] $ helm repo add marklogic https://github.com/marklogic/marklogic-kubernetes
Error: looks like "https://github.com/marklogic/marklogic-kubernetes" is not a valid chart repository or cannot be reached: failed to fetch https://github.com/marklogic/marklogic-kubernetes/index.yaml : 404 Not Found

What is causing this? I can see the presence of index.yaml in the root of the repo. Also develop branch is setup as the default branch. Or does the helm command use the main branch?

Balancing multiple TCP Ports via HAProxy ConfigMap bug

Hi,

we ran into an issue when balancing multiple TCP-ports via HAProxy. For example by providing the following parameters via values.yaml

haproxy:
  ports:
    - name: first-port
      type: TCP
      port: 9301
      targetPort: 9301
    - name: second-port
      type: TCP
      port: 9302
      targetPort: 9302

Above example will lead to an invalid HAProxy configuration as the ConfigMap generator in https://github.com/marklogic/marklogic-kubernetes/blob/master/charts/templates/configmap-haproxy.yaml hardcodes the HAProxy server name to odbc is not respecting the loop.

    {{- if eq $portType "TCP"  -}}
      listen odbc --> HARDCODED
        bind :{{ $portNumber }}
        mode tcp
        balance leastconn
        {{- range $i := until $replicas }}
        server {{ printf "ml-%s-%s-%v" $releaseName $portNumber $i }} {{ $releaseName }}-{{ $i }}.{{ $releaseName }}.{{ $namespace }}.svc.{{ $clusterDomain }}:{{ $portNumber }} check resolvers dns init-addr none
        {{- end }}
    {{- else if eq $portType "HTTP" }}

Would recommend to change it to something like:

    {{- if eq $portType "TCP"  -}}
      listen marklogic-{{$portNumber}}
        bind :{{ $portNumber }}
        mode tcp
        balance leastconn
        {{- range $i := until $replicas }}
        server {{ printf "ml-%s-%s-%v" $releaseName $portNumber $i }} {{ $releaseName }}-{{ $i }}.{{ $releaseName }}.{{ $namespace }}.svc.{{ $clusterDomain }}:{{ $portNumber }} check resolvers dns init-addr none
        {{- end }}
    {{- else if eq $portType "HTTP" }}

Would be happy to provide a clean Pull Request if you acknowlege the issue.

Best regards,
Moritz Siller

Trouble accessing admin console behind a proxy

Hello-

I have successfully deployed a single node instance onto my OpenShift cluster. But when I attempt to access to the admin console through a route that points to the admin port the web application doesn't load properly (see below screenshot).

When I ssh directly into the node and have my laptop mount a local port to the port on the node, it does work. So this confirms that it is only when I access the admin console through a proxy that it breaks. I happen to be using F5 as my proxy but I have replicated this behavior with Traefik 2 / MarkLogic on a Docker Swarm cluster.

What is a bit strange is that if I manually go to one of the gif images that it is trying to load, that image loads correctly. Then when I refresh the admin web app it uses the cache and that image correctly loads.

If I click on any of the links I get an infinite loop as well.

Are there some headers that I need to set or something else I need to do to get MarkLogic admin console accessible behind a proxy?

Thanks.

Screen Shot 2022-09-27 at 3 50 33 PM

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.