[Feature] Enable FastDeploy to support adding the “--api-key” authentication parameter. #4806
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
vllm supports adding one or more api-key parameters during service startup or reading them from environment variables. Subsequent requests must include the correct api-key in the request header to be authorized. FastDeploy needs to add this functionality to support API key authentication.
Modifications
Added an authentication middleware in api_server.py, added support for “--api-key” in arg_parser, and introduced the new environment variable “FD_API_KEY”.
Usage or Command
To enable API key authentication in the service startup command, you can add multiple entries:
--api-key key1
--api-key key2
Alternatively, set the environment variable “FD_API_KEY” with multiple API keys separated by commas.
Accuracy Tests
Checklist
[FDConfig],[APIServer],[Engine],[Scheduler],[PD Disaggregation],[Executor],[Graph Optimization],[Speculative Decoding],[RL],[Models],[Quantization],[Loader],[OP],[KVCache],[DataProcessor],[BugFix],[Docs],[CI],[Optimization],[Feature],[Benchmark],[Others],[XPU],[HPU],[GCU],[DCU],[Iluvatar],[Metax]]pre-commitbefore commit.releasebranch, make sure the PR has been submitted to thedevelopbranch, then cherry-pick it to thereleasebranch with the[Cherry-Pick]PR tag.