Coder Social home page Coder Social logo

helm-charts's People

Contributors

ck-netlution avatar ctffarley avatar dridge avatar igable avatar joephayes avatar johnplacek avatar mrmunki avatar pdmars avatar scardena avatar snowell avatar somanythings avatar steveplace68 avatar wenzel-felix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

helm-charts's Issues

Increase alive check timeout to 2s by default

The timeout for the alive check is 1s, which is generally fine, however when a pod is under higher load it can take longer than 1s to respond. We can better support more resource intensive workloads without causing pods to be killed prematurely by k8s by increasing the timeout.

Allow namespace to be specified in values file

Currently we deploy stardog into the helm release namespace. However, for users that have stardog as a dependency to another application and want it to run in its own namespace, they need to be able to override which namespace Stardog is deployed into so we should allow that via an option that can be set.

remove password from standard out of post-install job

On first install, the post-install job sets the admin password for Stardog. This password is echoed to the standard out because the set -x builtin is enabled when the change_pw function is called. This should be removed because of the possibility of the password being swept up in logs.

Helm chart does not support stardog v9.0.0

Errors on pod when setting cluster up

NAME                        READY   STATUS             RESTARTS       AGE
pod/dogtest-stardog-0       0/1     CrashLoopBackOff   13 (33s ago)   42m
pod/dogtest-stardog-1       0/1     Init:0/1           0              42m
pod/dogtest-stardog-2       0/1     Init:0/1           0              42m
pod/dogtest-stardog-b5ccp   0/1     Error              0              42m
pod/dogtest-stardog-d5w6k   0/1     Error              0              42m
pod/dogtest-stardog-fsp9n   0/1     Error              0              26m
pod/dogtest-stardog-gdpjh   0/1     Error              0              38m
pod/dogtest-stardog-jb8g7   0/1     Error              0              41m
pod/dogtest-stardog-qmc46   0/1     Error              0              41m
pod/dogtest-stardog-wcxh4   0/1     Error              0              32m
❯ k logs pod/dogtest-stardog-b5ccp
+ function wait_for_start {
/bin/sh: 3: function: not found

Stardog cannot write on the persistent volume

When using the default configuration, stardog does not have the permission to write ont he persistent volume. This is because the persistent volume is owned by root and stardog doesn't use run with the root user by default.

STARDOG_HOME '/var/opt/stardog/' is not writeable by the current user

A workaround is to run stardog as root:

  securityContext:
    enabled: true
    runAsUser: 0
    runAsGroup: 0
    fsGroup: 0

A better solution would be to use the busybox init container, not only when the cluster is enabled, to change the permissions before stardog starts.

Create tmpDir in the event it does not exist

We provide values file variable tmpDir provide a mechanism to set the location of the java.io.tmpdir . However if folder doesn't exist it will fail. This is problematic in the case of wanting the temp folder to reside on the same place as stardog home because we have a newly created PVC disk and no way to create the folder in advance

Failed PR

Hi, I've tried a PR but the test is failing, not sure why as this wasn't changed. Could someone take a look?

#64

Thanks,

D

Unable to set CPU count

Hello, I have deployed Stardog in Kubernetes cluster, and to reduce idle resource usage I reduced cpu request to 0.2.

Java args used javaArgs: "-Xmx2g -Xms2g -XX:MaxDirectMemorySize=1g -XX:+UseContainerSupport -XX:MaxRAMPercentage=80 -XX:ActiveProcessorCount=2"

Stardog detects 0.2 CPU and fails to start, overrides from JVM args does not work, here is example

/opt/stardog/bin/stardog-admin server start --foreground --port 5820 --home /var/opt/stardog/ -XX:+UseContainerSupport -XX:MaxRAMPercentage=80 -XX:ActiveProcessorCount=2
Improperly specified VM option 'ActiveProcessorCount=0.2'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

If I unset the cpu request, I got empty ActiveProcessorCount

/opt/stardog/bin/stardog-admin server start --foreground --port 5820 --home /var/opt/stardog/ -XX:+UseContainerSupport -XX:MaxRAMPercentage=80 -XX:ActiveProcessorCount=2
Improperly specified VM option 'ActiveProcessorCount='
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Maybe there is another workaround ?

Reference Java doc: https://www.oracle.com/java/technologies/javase/8u191-relnotes.html

Unable to add init-containers

There is no way in the helmchart to add additional init-containers.

This could be useful for:

  • Automatically executing stardog-admin commands to create an initial setup
  • add jdbc drivers

A new field in the helmchart named "init-containers" would solve this.

Enhancement Request: configure stardog.properties in values

Include a section in the helm charts where key/values would have the same stardog.properties effect. It would be nice if there was some section in the values that influenced the config map bit so only section would need to be updated.

Chart fails to deploy with empty stardog.properties

If your stardog.properties file is completely empty, the helm chart will fail to deploy, i think it expects at least 1 key=value pair. The exact error I get is

Error: YAML parse error on novacontext-chart/charts/stardog/templates/configmap.yaml: error converting YAML to JSON: yaml: line 14: did not find expected key

We discovered this as a result of a postprocessor we have that inserts a different stardog.properties file at the last minute, the one we inserted was blank, if we insert one with a random pair "key=value" it works. if blank, it fails, if we delete it at the last minute, it also fails with the same error

Make podManagementPolicy configurable for Stardog statefulset

When starting Stardog Cluster on existing volumes it's possible to encounter the following error:

Cannot start kernel since there are no other nodes in the cluster to sync up

This happens because the latest tx id is stored in ZK and the Stardog cluster node with a matching tx id needs to start first. With k8s this can be problematic because the default nature of statefulsets starts them in an ordered fashion so if the first node doesn't match the tx id then the deployment hangs and no other pods are deployed.

The setting podMangementPolicy: Parallel can be set on the Stardog statefulset to start all of the Stardog pods at the same time, which allows the pod with the matching tx id to start and the other nodes to sync.

We should make this a configurable option.

Tune chart values and settings to improve startup time

Depending on the resources and where the charts are deployed Stardog can take awhile before it is completely deployed. We should tune any of the options that we can (and remove any unneeded sleeps, etc) to make this faster.

Bitnami dropped support for charts older then six months in their chart index

Bitnami has a new policy( bitnami/charts#10539) that they will no longer be posting references to charts older then six months in their main helm repository index file. They will continue to host the helm artifacts but you will need to obtain charts older then six months from previous versions of the index file. This breaks our current stardog chart that depends on zookeeper chart version 5.5.1.

We are working on a fix.

Use G1 Java garbage collector by default

The g1 gc has shown to be better than the current default UseParallelOldGC at minimizing lengthy gc pauses, which can lead to alive checks failing if the gc pauses exceed the timeout for alive checks.

kubectl issue with the license

Hi stardog

I am trying to do the kubctl setup I am running into some issues. I am sure I am missing something trivial

% git clone https://github.com/stardog-union/helm-charts stardog-helm

% ls -lrt
total 40
-rw-r--r--  1   staff   1763 Aug 24 08:13 CHANGELOG.md
-rw-r--r--  1   staff  11356 Aug 24 08:13 LICENSE
-rw-r--r--  1   staff   1956 Aug 24 08:13 README.md
drwxr-xr-x  3   staff     96 Aug 24 08:13 charts
drwxr-xr-x  4   staff    128 Aug 24 08:13 tests


% kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.3", GitCommit:"ca643a4d1f7bfe34773c74f79527be4afd95bf39", GitTreeState:"clean", BuildDate:"2021-07-15T21:04:39Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"darwin/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?

% kubectl -n marselgraphs create secret generic stardog-license --from-file stardog-license-key.bin=.                               
error: cannot give a key name for a directory path

Not a cluster

Hi, been trying to configure this using Helm. The clustering does not work. I've re-installed several times now, but it never creates a cluster. The zookeeper instance set themselves up but running the stardog-admin cluster info command responds with "Not Found!"

This is the generated config file:

logging.audit.type=text
pack.enabled=true
pack.zookeeper.address=stardog-zookeeper-0.stardog-zookeeper-headless.stardog-kube:2181,stardog-zookeeper-1.stardog-zookeeper-headless.stardog-kube:2181,stardog-zookeeper-2.stardog-zookeeper-headless.stardog-kube:2181
pack.node.join.retry.count=15
pack.node.join.retry.delay=1m

If I check the logs one of the nodes always says sh: bad number for the zk start node and the output of the log is a single line

+ /opt/stardog/bin/stardog-admin server start --foreground --port 5820 --home /var/opt/stardog/

Is that normal?

Any help appreciated

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.