opensearch-project / opensearch-project/data-prepper
Provide possibility to isolate applications
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.
(In following description, whenever I mention “application”, it can also be a set of applications, ie frontend, backend, workers, etc)
I want to isolate applications from each other. Give them different credentials, put them in different indices and make sure that application X cannot use the same service names as application Y.
Describe the solution you'd like
Ideally, we’d have a management interface in the dashboards, where I can add applications, retrieve keys of applications, rotate keys for applications. Then, I’d have 1 http endpoint which would receive the data for all applications and handle it accordingly.
Describe alternatives you've considered (Optional)
I considered using a reverse proxy to add basic authentication. That way I can handle multiple set of credentials. This covers the “protect” part, but doesn’t allow me to make sure application X doesn’t report data pretending to be application Y. That could also be done, but then I’d need to create a separate pipeline in DataPrepper for each application. Then I could either have each have their own subdomain on my target, or use some reverse proxy magic to map it to the correct port and endpoint.
This means a whole lot of complex and brittle configuration, which would be hard to maintain, etc.
Additional context
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
No files, tests, or entry points are named. Start by reviewing the existing dashboard, credential, pipeline, and HTTP endpoint components, then clarify the design with maintainers; done means applications can be managed, receive separate keys, use isolated indices and service names, and report through one endpoint.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend-api-design, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100