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

secretName is undocumented #702

Open
haf-afa opened this issue Oct 16, 2019 · 5 comments
Open

secretName is undocumented #702

haf-afa opened this issue Oct 16, 2019 · 5 comments

Comments

@haf-afa
Copy link

haf-afa commented Oct 16, 2019

How does it work? It's documented that is can be used https://www.jaegertracing.io/docs/1.14/operator/#secrets-support but not what its intent is: to provide a key-value pair for username-password, or to provide ENV vars that gets fed the container?

@jpkrohling
Copy link
Contributor

jpkrohling commented Oct 17, 2019

The secret support is generic can have many purposes. One of them could be to host the certs required to enable TLS in different components, like when acting as a client to an Elasticsearch cluster, or the certs to use as a server on gRPC ports. Then, you can combine the secret with volumes/volume mounts to have them available as local files in the container, and pass this path as a CLI parameter to the component.

This example shows how volumes can be combined with the configuration of a component (badger, in this case): https://github.com/jaegertracing/jaeger-operator/blob/master/deploy/examples/with-badger-and-volume.yaml .

But I agree with you: we need to better document how the secret should look like for concrete use cases.

Cases that we could document:

  • Certs to use in the gRPC listeners
  • Client certs to use as Elasticsearch client
  • Secret values as env var values (ES_USERNAME/ES_PASSWORD for instance)

@jpkrohling jpkrohling added Elasticsearch The issues related to Elasticsearch storage good first issue Good for newcomers hacktoberfest labels Oct 17, 2019
@jpkrohling
Copy link
Contributor

The first one (gRPC) is an easy one, so, I'm tagging this as "good first issue". The second one (Elasticsearch client) is a bit harder and involves understanding the following code:

https://github.com/jaegertracing/jaeger-operator/blob/master/scripts/cert_generation.sh
https://github.com/jaegertracing/jaeger-operator/blob/master/pkg/storage/elasticsearch_secrets.go

@haf-afa
Copy link
Author

haf-afa commented Oct 17, 2019

It's not just storage in one component that gets affected; it's the:

  • elasticsearch client in collector
  • elasticsearch index cleaner
  • elasticsearch spark_dependencies/k8s Job

@haf-afa
Copy link
Author

haf-afa commented Oct 17, 2019

And one more case:

  • ES_PASSWORD and ES_USERNAME: this is especially relevant since the elasticsearch operator by default sets the elastic user with an auto-generated password; only for demos would it make sense to have this operator deploy an ES cluster (IMO)

It would also be good to reference the ES documentation if (and only if) ES supports doing TLS client authentication (I presume so from the above comments)

@pavolloffay pavolloffay removed the Elasticsearch The issues related to Elasticsearch storage label Nov 14, 2019
@jpkrohling jpkrohling added needs-triage New issues, in need of classification and removed needs-triage New issues, in need of classification labels Dec 16, 2019
@pavolloffay
Copy link
Member

ES documentation already contains explanation that secret can be used for user password.

The secret docs could explain that values are passed as ENV variables that jaeger can consume.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants