opensearch-project / opensearch-project/data-prepper
Read http basic auth username and password from secret manager
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 374
- Forks
- 354
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 8
Description
Is your feature request related to a problem? Please describe.
The current Data Prepper Authentication implementation of http basic auth requires the username and password to be provided as clear text in the Data Prepper pipeline configuration file. Data Prepper doesn't support use of certificate or docker secrets to set the login/password. It would be nice to read the username/password from some secret manager or other medium instead of having it as plain text in the configuration file.
Describe the solution you'd like
Create implementation of ArmeriaHttpAuthenticationProvider to read the http basic username and password from a given type of secret manager such as docker secret.
Describe alternatives you've considered (Optional)
- Support reading the credentials from certificate.
- Support reading the credentials from secret manager such as AWS Secret Manager.
Additional context
Related data prepper opensearch forum post.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with data-prepper-plugins/armeria-common/src/main/java/org/opensearch/dataprepper/armeria/authentication/ArmeriaHttpAuthenticationProvider.java, which is the requested implementation point. Clarify which secret manager or medium to support, then define how the HTTP basic username and password are read without clear text in the pipeline configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, docker, java
- Domain
- authentication, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100