linkerd / linkerd/linkerd2

Service profile autogeneration

Open
#3,604 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

area/controller area/inject help wanted
Dominant language
Go
Stars
11.5k
Forks
1.4k
Avg merge
3d 22h
Merged PRs (30d)
53

Description

## Feature Request

Generate service profiles automatically based on Swagger (OpenAPI) specification.

### What problem are you trying to solve?

At the moment you should generate service profiles explicitly. But services usually serve Swagger Spec as well so there is the way to generate Service Profiles based on it.

### How should the problem be solved?

Add kinda annotation with swagger spec path that will be fetched by linkerd control-plane for service profile generation.
I believe here can be some problems in generating new Service Profile at the deployment time.

### Any alternatives you've considered?

Generate it automatically based on `tap` results.

### How would users interact with this feature?

I believe it should be just one more linkerd annotation, e.g. `linkerd.io/service-profile-openapi-spec: /swagger/doc.json`

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by clarifying the control-plane flow for fetching the OpenAPI specification and generating service profiles, then define the annotation behavior and deployment-time failure cases; done means an agreed implementation design and corresponding validation scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes, openapi
Domain
backend-api-design, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.