Skip to content
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

[BUG][opensearch] log4j2.properties in values.yaml does not work with toYaml in configmap.yaml #110

Closed
sastorsl opened this issue Oct 28, 2021 · 1 comment · Fixed by #123
Assignees
Labels
bug Something isn't working

Comments

@sastorsl
Copy link
Contributor

sastorsl commented Oct 28, 2021

Describe the bug
In the current chart for opensearch-dashboards it is not possible to template log4j2.properties as the configmap.yaml expects input to be in yaml.
log4j2.properties is not yaml but has a key = value structure.

This makes it not possible to override the log4j configuration with the current chart.

To Reproduce
Steps to reproduce the behavior:

  1. Add helm repo
  2. Edit values.yaml and add log4j2.properties to config
  3. helm install
  4. See error, which is that the file is created without line breaks, which renders it unusable.

This happens because the log4j2.properties is not YAML, but rather key = value.
Any yaml multiline trick does not work.

Error message from pod:

2021-10-28 12:28:14,202 main ERROR Invalid status level specified: ERROR APPENDER.CONSOLE.TYPE = CONSOLE APPENDER.CONSOLE.NAME = CONSOLE APPENDER.CONSOLE.LAYOUT.TYPE. Defaulting to ERROR.

Expected behavior
log4j2.properties to be created in a proper format.

Chart Name
opensearch - configmap

https://github.com/opensearch-project/helm-charts/blob/main/charts/opensearch/templates/configmap.yaml#L11 - toYaml

Screenshots

Example config in values.yaml

config:
  log4j2.properties:
    status = error
    appender.console.type = Console
    appender.console.name = console
    appender.console.layout.type = PatternLayout
    appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] [%node_name]%marker %m%n
    rootLogger.level = info
    rootLogger.appenderRef.console.ref = console
    logger.plugins.security.name = com.amazon.dlic.auth.http.jwt
    logger.plugins.security.level = trace

Output from helm install

config:
  log4j2.properties: status = error appender.console.type = Console appender.console.name
    = console appender.console.layout.type = PatternLayout appender.console.layout.pattern
    = [%d{ISO8601}][%-5p][%-25c{1.}] [%node_name]%marker %m%n rootLogger.level = info
    rootLogger.appenderRef.console.ref = console logger.plugins.security.name = com.amazon.dlic.auth.http.jwt
    logger.plugins.security.level = trace

configmap:

data:
  log4j2.properties: |
    status = error appender.console.type = Console appender.console.name = console appender.console.layout.type
      = PatternLayout appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}]
      [%node_name]%marker %m%n rootLogger.level = info rootLogger.appenderRef.console.ref
      = console logger.plugins.security.name = com.amazon.dlic.auth.http.jwt logger.plugins.security.level
      = trace

Resulting file:

$ k exec -ti opensearch-1 -- bash -c "cat config/log4j2.properties"
status = error appender.console.type = Console appender.console.name = console appender.console.layout.type
  = PatternLayout appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}]
  [%node_name]%marker %m%n rootLogger.level = info rootLogger.appenderRef.console.ref
  = console logger.plugins.security.name = com.amazon.dlic.auth.http.jwt logger.plugins.security.level
  = trace

Host/Environment (please complete the following information):

  • Helm Version: 3.7.0
  • Kubernetes Version: 1.21.2

Additional context
Workaround would probably be to create a separate configmap and reference, but using it in values.config should also work.

@sastorsl sastorsl added bug Something isn't working untriaged Issues that have not yet been triaged labels Oct 28, 2021
@sastorsl
Copy link
Contributor Author

This diff handles log4j

diff --git a/charts/opensearch/templates/configmap.yaml b/charts/opensearch/templates/configmap.yaml
index af50771..364ee9c 100644
--- a/charts/opensearch/templates/configmap.yaml
+++ b/charts/opensearch/templates/configmap.yaml
@@ -7,7 +7,12 @@ metadata:
     {{- include "opensearch.labels" . | nindent 4 }}
 data:
 {{- range $configName, $configYaml := .Values.config }}
+  {{- if eq $configName "log4j2.properties" }}
+  {{ $configName }}: |
+    {{- $configYaml | nindent 4 }}
+  {{- else }}
   {{ $configName }}: |
     {{- toYaml $configYaml | nindent 4 }}
+  {{- end -}}
 {{- end -}}
 {{- end -}}

@peterzhuamazon peterzhuamazon linked a pull request Nov 3, 2021 that will close this issue
1 task
@peterzhuamazon peterzhuamazon removed the untriaged Issues that have not yet been triaged label Nov 3, 2021
@peterzhuamazon peterzhuamazon linked a pull request Nov 3, 2021 that will close this issue
1 task
peterzhuamazon pushed a commit that referenced this issue Nov 10, 2021
* fix: Handle log4j2 not being yaml (#110) and chart bump.

Signed-off-by: Stein Arne Storslett <sastorsl@users.noreply.github.com>

* Including tpl changes

Signed-off-by: Aaron Layfield <aaron.layfield@gmail.com>

* Adding log4j example.

Signed-off-by: Aaron Layfield <aaron.layfield@gmail.com>

* Adding some documentation AND updated per comment.s

Signed-off-by: Aaron Layfield <aaron.layfield@gmail.com>

* Use project name and clarify from/to.

Signed-off-by: Stein Arne Storslett <sastorsl@users.noreply.github.com>

* Explicitly document that config must be YAML multiline strings.

Signed-off-by: Stein Arne Storslett <sastorsl@users.noreply.github.com>

* Cast as string for use with tpl.

Signed-off-by: Stein Arne Storslett <sastorsl@users.noreply.github.com>

* Because this would be really annoying.

Signed-off-by: Stein Arne Storslett <sastorsl@users.noreply.github.com>

* fix: Handle log4j2 not being yaml (#110) and chart bump to 1.4.0.

Signed-off-by: Stein Arne Storslett <sastorsl@users.noreply.github.com>

Co-authored-by: Aaron Layfield <aaron.layfield@gmail.com>
NybbleHub pushed a commit to NybbleHub/helm-charts that referenced this issue Dec 22, 2021
…bump. (opensearch-project#123)

* fix: Handle log4j2 not being yaml (opensearch-project#110) and chart bump.


* Including tpl changes


* Adding log4j example.


* Adding some documentation AND updated per comment.s


* Use project name and clarify from/to.


* Explicitly document that config must be YAML multiline strings.


* Cast as string for use with tpl.


* Because this would be really annoying.


* fix: Handle log4j2 not being yaml (opensearch-project#110) and chart bump to 1.4.0.


Co-authored-by: Aaron Layfield <aaron.layfield@gmail.com>
peterzhuamazon added a commit that referenced this issue Jan 7, 2022
* Add new documentations to helm-charts repo (#1)

* Add new documentations to helm-charts repo


* Replace devops with helm charts keywords


* Grammar improvements


* Update README

* Add issue templates and fix readme typos (#3)

* Add issue templates and fix readme typos


* Replace component name with chart name


* Replace OS/Version to the Helm/Kube versions


* Replace OS/Version to the Helm/Kube versions

* Migrate helm charts from opensearch-devops repo (#7)

* Adding a new folder to host Helm related code


* Helm Chart for OpenSearch (#4)

* Create basic structure of OpenSearch helm chart


* Add templates and change values


* Change statefulset and configmap to resolve indentation issue


* Fix issues in templates


* Fix typos in statefulset.yaml

* Add multinode deployment feature


* Update version to reflect the OpenSearch version

* Add explicit security configuration

* Update values.yaml

* Create placeholder README.md


* Minimum masters should be 3

* Add YAML support for config. sysctl vm.mem fix.

* Fixing PSP. Adding better sysctl logic.

* Adding ref for systctl

* PSP False by default

* Disable HTTP SSL by default for Demo.

* Fix Chart version to sync with OpenSearch Version


* Change cluster name and enable SSL by default


Co-authored-by: Aaron Layfield <aaron.layfield@gmail.com>

* fix: give networkpolicy objects a unique name (#16)

This fixes the problem of installing this chart multiple times in the
same namespace and having the network policy name conflict.


* fix: use the stable chart appVersion as image tag by default (#17)

Using :latest by default is going to lead to clusters with version skew
as pods schedule onto new nodes. So use a stable tag instead.


* OpenSearch Dashboards Helm Chart (#10)

* Scaffold OpenSearch Dashboards Helm Chart


* Fix error for connection refused


* Add RBAC functionality


* Add security configurations in the chart


* Address issues and comments


* Fix templates


* Disable SSL by default

* Address comments for beautification

* Address comments


* chore: update demo config section (#24)

This snippet doesn't make sense in a kubernetes statefulset.


* added secretMounts to values.yaml w/ example config (#29)


Co-authored-by: johannes.reppin <johannes.reppin@desy.de>

* Change persistence config to make it more coherent w/ other helm charts (#33)


Co-authored-by: johannes.reppin <johannes.reppin@desy.de>

* add Volumes and change broken (!) yaml indentation (#31)


Co-authored-by: johannes.reppin <johannes.reppin@desy.de>

* support for current ingress apiVersion (#47)

* Helm Chart Fixes for Env variables and volumes (#35)

* Helm Chart Fixes for Env variables and volumes

The opensearch-dashboards chart failed to render correctly when
utilizing the extraEnvs flag, caused by incorrect indentation.

The opensearch chart failed to render when utlizing the secrets for the
security config, this was due to them being in the env section.

This pull request reqolves both issues, verified via running helm
template with the minumal values files included here:

```yaml
envFrom:
  - secretRef:
      name: kibana-secrets
extraEnvs:
  - name: TENANT_ID
    valueFrom:
      secretKeyRef:
        name: kibana-secrets
        key: tenantID
```

```yaml
securityConfig:
  enabled: true
  configSecret: "security-config"
  internalUsersSecret: "internal-users-config"
  rolesMappingSecret: "roles-mapping-config"
  rolesSecret: "roles-config"
```


* Updating paths in sts to be dynamic

Updating the paths specified in the sts for opensearch to utilize
.Values.opensearchHome to allow for dynamic paths, with a default of
`/usr/share/opensearch` which should be sufficient for most users.


* Fixing config path in opensearch-dashboards (#38)

* Fixing config path in opensearch-dashboards

The manifests rendered by the Helm chart place the user provided config
into the incorrect directory. This simply updates that location to the
correct path and updates the values.yaml file to use the correct default
config file so that the user provided setting override the defaults.


* Updating cert paths to opensearch-dashboards

Cert paths also need to utilize new filesystem location for
opensearch-dashboards config.


* Resolves issue with securityConfig path (#41)

* Resolves issue with securityConfig path

Issue #39

This updates the securityConfig path in values to use the correct value
for opensearch.


* Fixing bad auto formatting

Removing unneeded indentation/newlines.


* Fixing missed auto formatting errors


* resolve issue about .Values.opensearchHome (#52)

refer to this:
opensearch-project/opensearch-devops@fe831db#commitcomment-55395428

Error Msg: nil pointer evaluating interface {}.opensearchHome

* Fix helm chart can not be deployed without ssl (#56)

* Fixing issue exposed by changes in #38

After switching the name of the config file, and removing the shadowing
between the default (from the docker container opensearch-dashbaords.yaml) and the default from the helm chart (dashboards.yaml) there is an issue with the certs that are attempting to be used.

In order for this to work with the defaults, disabled TLS verification
will be needed, and then disabling TLS to remain in line with the
defaults.

I added a commented out section showing what could potentially be used
as TLS config if the user chooses to enable it.


* Using conventional yaml formatting for ssl config

Moving comments around to follow relevant code and utilizing nested yaml
format rather than dot format.


* Changing Folder name to Charts

* Change deafult configuration for dashboards


* Update securityconfig.yaml to remove extra spaces


Co-authored-by: Barani <bbarani@amazon.com>
Co-authored-by: Aaron Layfield <aaron.layfield@gmail.com>
Co-authored-by: Scott Leggett <scott@sl.id.au>
Co-authored-by: Johannes Reppin <johannesreppin@gmail.com>
Co-authored-by: johannes.reppin <johannes.reppin@desy.de>
Co-authored-by: paltryeffort <creyon@creyon.de>
Co-authored-by: hgoscenski-imanage <77067840+hgoscenski-imanage@users.noreply.github.com>
Co-authored-by: Nagle Zhang <nagle.zhang@qq.com>

* chore: remove redundant line from yaml (#18)

* fix: remove buggy labels template (#20)

The opensearch-dashboards.standard did not properly escape chart
version, and anyway we should be using the same set of standard labels
as all the other templates.

* fix: use absolute path to opensearch-keystore binary (#27)

It is not in $PATH.

* chore: use consistent indentation in opensearch templates (#24)

* Fix typo in comment (#10)

* fix: make secretMount parameters required (#22)

This fixes the case where a parameter on one of the items is silently
missing.

* fix: avoid line containing only spaces in rendered template (#23)

* fix!: update name of JAVA_OPTS variable (#39)

ES_JAVA_OPTS has been renamed in Opensearch to OPENSEARCH_JAVA_OPTS.

* chore: use consistent indentation in opensearch-dashboards templates (#25)

* Add TheAlgo and DandyDeveloper as the new maintainers of the repo (#47)

* Add DandyDeveloper as the new maintainer of the repo


* Add TheAlgo as part of the maintainer list

* Modify majorVersion fallback logic (#21)

* feat: modify majorVersion fallback logic

* Look in both .Values.imageTag and .Chart.AppVersion before falling
back to a default value.
* Use the built-in semver parsing function.
* Don't ignore the version for non-opensearch images.


* fix: use fallback major version 1 instead of 7

Opensearch is currently version 1.x. 7 seems to be a remnant of
Elasticsearch.

* fix securityConfigSecrets.config.data secrets mount plus permissions (#9)

Fix securityConfigSecrets.config.data secrets mount plus permissions

* Add README for OpenSearch (#48)

* Add README for OpenSearch


* Address comments

* Add support for Helm chart linting and releasing. (#46)

* - Added support for the Helm chart testing action.
- Added support for the Helm chart releaser action.
- Fixed minor lint issues in Helm chart values files.


* Added support for testing in addition to linting.


* - Relaxed event triggers on GitHub actions workflow for lint and test.
- Now using `ubuntu-latest` for GitHub runner references.
- Added `maintainers` to all charts.
- Incremented patch version for each chart.


* - Added title for Installation


* - Added missing helm update step in installation.

* fix: use consistent k8s API semver comparison logic (#19)

This is required to work around bugs in the version string returned by
kubernetes distros such as EKS and GKE, where they have invalid Semantic
Version strings. See helm/helm#3810.

* Fix README.md (#60)

* Enable Helm chart release (#61)

* - Added change logs for the opensearch and opensearch-dashboards Helm
  charts.
- Amended README files to reflect the intended installation and usage.
- Incremented the version numbers to 1.0.2 for both Helm charts in
  adherence to linting rules and Semver 2.


* - Modified OpenSearch chart description


* - Reverted to previous chart installation instructions until we can
  verify the new method succeeds.

* Helm Chart Releaser Trigger Fix (#73)

* - Incremented Helm charts to ensure the releaser workflow triggers a
  difference.


* - Added the `workflow_dispatch` option for manually pushing action
  workflows.

* Remove stale README (#57)

* Incorrect indentation for `extraVolumeMounts`, `extraEnvs`, `envFrom` in `statefulset.yaml`. (#80)

* Changes

- Fixes incorrect indentation for `extraVolumeMounts`, `extraEnvs`, and
  `envFrom`.


* Changes:

- Increment version of the opensearch dashboards chart until PR #75 is
  merged.


* - Amended CHANGELOGs

* enable setting docker registry for all images (#70)

* Added basic support for plugins on nodes (#71)

* Adding support for plugins & Prometheus support.

* Updated annotations

* Add support for plugin installation

* Bumping chart patch.

* Bumping again post merge with origin

* Linting fixes.

* Adding to CI. Updating changelog.

* Possibly fixing linting issues.

* Updating plugin

* Increment chart again

* Bumping chart patch.

* CHANGELOG Updates

* Use the correct master configuration for majorVersion 1 (#69)

* fix: use the correct master configuration for majorversion 1


* chore: bump opensearch chart version

* Amended installation instructions (#81)

* Amended installation instruction and relaxed linting and testing workflow triggers.


* Minor typographic error.


* - Reverted linting and testing trigger globbing.


* - Added path globbing.


* - Removed path globbing.


* Revert "- Amended CHANGELOGs"

This reverts commit e0ab178.

* - Bumped chart versions.
- Amended CHANGELOGs.


* Incremented opensearcn chart version to 1.0.8


* - Added specific references to the underlying charts folder from the
  root-level README.
- Addressed clarifications from @TheAlgo.


* - Modified change log for the OpenSearch Helm chart.

* Use a per-install name for securityconfig secret (#41)

* feat: per-install name for securityconfig secret

Give the securityconfig secret an autogenerated unique name to
facilitate installing the chart multiple times in the same namespace.

This helps with the common case of sharing the securityconfig between
multiple instantiations of this chart to construct an Opensearch
cluster.


* feat: update logic to handle externally defined secrets

See the comments describing how this is intended to work.


* chore: bump opensearch chart version


* chore: add securityConfig to README

* Rework labels in Opensearch chart to match standard recommendations (#37)

* feat: rework labels to match standard recommendations

https://helm.sh/docs/chart_best_practices/labels/#standard-labels
https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/


* chore: bump opensearch chart version

* Add missing helm install commands in README (#90)

* Adding a DCO Check related workflow (#101)

* add missing labels key into roles.yaml (#99)

* add missing labels key into roles.yaml


* Apply suggestions from code review

Co-authored-by: Oliver Hartl <oliver@ohartl.de>

Co-authored-by: Oliver Hartl <oliver@ohartl.de>

* fix: fix env and envFrom indentation when using keystore value. (#103)

* fix: fix env and envFrom indentation when using keystore value.


* fix: Chart version bump needed by CI

* FIX: Issue 105 - RBAC enabled (#106)

* - Added missing `labels:` stanza delimeter to role.yaml to address the
  failure when RBAC is enabled.


* - Renamed CI values file for testing RBAC enabled.


* - Indented template line to asthetically match.


* - Incremented OpenSearch chart version to 1.2.2 to accommodate another
  PR.


* - Amended CHANGELOG as per review.

* Add option to disable initContainer chown update (#102)

* Add option to disable initContainer chown update


* True default, not false.


* Remove trailing spaces


* Updating CHANGELOG and README

* Change appVersion of OpenSearch and Dashboards chart (#114)

* Updating Latest API Versions for Ingress and Pod Policies (#94)

* Updating Latest API Versions for Ingress and Pod Policies


* chart version bump


* 1.21 for Policy APIs


* Attempting to use kind + GHA matrix for testing various k8s versions


Co-authored-by: Aaron Layfield <Aaron.Layfield@gmail.com>
Co-authored-by: Dhiraj Kumar Jain <dhirajjain0@gmail.com>

* Fix deprication warnings about node.roles. Now roles described as a list (#124)

* add values for fsgroup-volume image (#127)

* add values for fsgroup-volume image


* Increment the Chart version and update the Changelog


* Add version 1.3.1 to CHANGELOG.md

* fix: Handle log4j2 not being yaml (#110) and chart bump. (#123)

* fix: Handle log4j2 not being yaml (#110) and chart bump.


* Including tpl changes


* Adding log4j example.


* Adding some documentation AND updated per comment.s


* Use project name and clarify from/to.


* Explicitly document that config must be YAML multiline strings.


* Cast as string for use with tpl.


* Because this would be really annoying.


* fix: Handle log4j2 not being yaml (#110) and chart bump to 1.4.0.


Co-authored-by: Aaron Layfield <aaron.layfield@gmail.com>

* [Dashboards] Add extraVolumes and extraVolumeMounts (#128)

* Remove whitespace in DN (#130)

* Update Chart.yaml


* Remove whitespace in dn.


* update changelog.


* update changelog and chart version.

* Updating the copyright header to reflect the apache-2.0 license (#134)

* Updating the copyright header to reflect the apache-2.0 license


* Update opensearch dashboards version and changelogs


Co-authored-by: Peter Zhu <zhujiaxi@amazon.com>

* Fix node.roles environment variable (#137)

* Fix node.roles environment variable


* forgotten version bump

* Fix url to values.yaml in README.md in opensearch chart (#139)

* Fix url to values.yaml in README.md in opensearch chart


* Make URL to values.yaml in README.md more consistent (with reference section)


* Increment the Chart version and update the Changelog


* Update version of opensearch chart after resolving merge conflict


Co-authored-by: Dmytro Gorbunov <dmytro.gorbunov@gmail.com>

* FEATURE: Add support for IngressClassName (#149)

* Added support for the `ingressClassName` field. The
`kubernetes.io/ingress.class` annotation was deprecated in Kubernetes
1.18.


* - Fixed trailing spaces as per chart lint rules.

* docs: fix typo (#152)

* docs: fix typo


* Bump version


* Add changelog


* Add changelog


Co-authored-by: Peter Zhu <zhujiaxi@amazon.com>

* Removed root-level CHANGELOG.md since each chart maintains their own (#165)

changelog.

* Change helm notes as the pod label key has changed (#148)

* Change helm notes as the pod label key has changed


* bump version


* update CHANGELOG.md


* resolve conflicts


* bump version & update changelog

* fix: deprecated api migration versions (#162)

build: add changelog & bump version

* Updated OpenSearch appVersion to 1.2.1 (#164)

* Updated OpenSearch appVersion to 1.2.0


* Fixed CHANGELOG.MD


* Updated to OpenSearch 1.2.1


* Fixed version


Co-authored-by: Derek Diaz <derek.diaz@plusonerobotics.com>

* prefer .Chart.AppVersion by default (#175)

Do not specify `imageTag` in the default `values.yaml` to use .Chart.AppVersion by default
Fixes #177

* Add notes about default install in README



Signed-off-by: Sébastien Lehuédé <sebastien.lehuede@nybble.bzh>

* Add notes about default install in README



Signed-off-by: Sébastien Lehuédé <sebastien.lehuede@nybble.bzh>

* Change version number

* Change version number

Signed-off-by: Peter Zhu <zhujiaxi@amazon.com>

* Remove additional files

Signed-off-by: Peter Zhu <zhujiaxi@amazon.com>

* Remove additional files

Signed-off-by: Peter Zhu <zhujiaxi@amazon.com>

Co-authored-by: Peter Zhu <zhujiaxi@amazon.com>
Co-authored-by: Dhiraj Kumar Jain <dhirajjain0@gmail.com>
Co-authored-by: Barani <bbarani@amazon.com>
Co-authored-by: Aaron Layfield <aaron.layfield@gmail.com>
Co-authored-by: Scott Leggett <scott@sl.id.au>
Co-authored-by: Johannes Reppin <johannesreppin@gmail.com>
Co-authored-by: johannes.reppin <johannes.reppin@desy.de>
Co-authored-by: paltryeffort <creyon@creyon.de>
Co-authored-by: hgoscenski-imanage <77067840+hgoscenski-imanage@users.noreply.github.com>
Co-authored-by: Nagle Zhang <nagle.zhang@qq.com>
Co-authored-by: Avery Khoo <1571427+averykhoo@users.noreply.github.com>
Co-authored-by: alborotogarcia <59288789+alborotogarcia@users.noreply.github.com>
Co-authored-by: Michael Primeaux <mprimeaux@users.noreply.github.com>
Co-authored-by: Kenan Erdogan <kenanerdogan@gmail.com>
Co-authored-by: Oliver Hartl <oliver@ohartl.de>
Co-authored-by: Paul LESUR <paul.lesur@free.fr>
Co-authored-by: Hayden Fuss <haydenfuss@gmail.com>
Co-authored-by: Sebor <Sebor@users.noreply.github.com>
Co-authored-by: Kersten Schlosser <46895196+erbzn@users.noreply.github.com>
Co-authored-by: sastorsl <sastorsl@users.noreply.github.com>
Co-authored-by: Rémi BUTET <butbutdu45@gmail.com>
Co-authored-by: sebas-intellegens <55788126+sebas-intellegens@users.noreply.github.com>
Co-authored-by: Barani <70038446+bbarani@users.noreply.github.com>
Co-authored-by: Tomas Odehnal <62995026+tomasodehnal@users.noreply.github.com>
Co-authored-by: Dmytro Gorbunov <dmitro.gorbunov@gmail.com>
Co-authored-by: Dmytro Gorbunov <dmytro.gorbunov@gmail.com>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Co-authored-by: davidshtian <david881223@outlook.com>
Co-authored-by: Michael Rödel <hello@mroedel.de>
Co-authored-by: Derek Diaz Correa <gigabit77@gmail.com>
Co-authored-by: Derek Diaz <derek.diaz@plusonerobotics.com>
Co-authored-by: K3A <root@k3a.me>
Co-authored-by: Peter Zhu <zhujiaxi@dev-dsk-zhujiaxi-2a-5c9b3e5e.us-west-2.amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants