API definitions for the Istio project
api
Go to file
Istio Automation dc36c0a88d
Automator: update common-files@master in istio/api@master (#3548)
2025-08-07 08:16:26 -04:00
.devcontainer Automator: update common-files@master in istio/api@master (#3548) 2025-08-07 08:16:26 -04:00
.github [CNCF graduation] Add security tab for Istio repos (#2783) 2023-05-11 07:25:18 -07:00
analysis/v1alpha1 format protobuf files (#3522) 2025-06-16 11:17:16 -04:00
annotation unhide ambient.istio.io/bypass-inbound-capture annotation (#3543) 2025-07-23 04:14:48 -04:00
common Automator: update common-files@master in istio/api@master (#3548) 2025-08-07 08:16:26 -04:00
common-protos Remove the operator proto from this repo (#3286) 2024-08-09 15:21:51 -04:00
dictionaries Change LightStep to Lightstep as it was rebranded. (#1408) 2020-04-28 11:54:39 -07:00
envoy format protobuf files (#3522) 2025-06-16 11:17:16 -04:00
extensions/v1alpha1 format protobuf files (#3522) 2025-06-16 11:17:16 -04:00
kubernetes feat: add tls.caCertCredentialName (#3544) 2025-07-31 17:27:05 -04:00
label Add a new 'workload name' label override (#3374) 2024-12-16 15:04:26 -05:00
licenses update dependencies (#3392) 2024-12-16 15:07:26 -05:00
mcp format protobuf files (#3522) 2025-06-16 11:17:16 -04:00
mesh/v1alpha1 add x-forwarded-host and x-forwarded-port in proxy headers (#3532) 2025-07-20 21:18:44 -04:00
meta/v1alpha1 format protobuf files (#3522) 2025-06-16 11:17:16 -04:00
networking feat: add tls.caCertCredentialName (#3544) 2025-07-31 17:27:05 -04:00
releasenotes feat: add tls.caCertCredentialName (#3544) 2025-07-31 17:27:05 -04:00
scripts Update mesh config to not import k8s libraries (#3154) 2024-05-20 11:56:31 -04:00
security format protobuf files (#3522) 2025-06-16 11:17:16 -04:00
stability format protobuf files (#3522) 2025-06-16 11:17:16 -04:00
telemetry format protobuf files (#3522) 2025-06-16 11:17:16 -04:00
tests update go.mod dependencies (#3541) 2025-07-17 12:38:43 -04:00
type/v1beta1 format protobuf files (#3522) 2025-06-16 11:17:16 -04:00
.gitattributes Automator: update common-files@master in istio/api@master (#3076) 2024-01-31 15:44:40 -08:00
.gitignore Automator: update common-files@master in istio/api@master (#1317) 2020-03-09 11:38:10 -07:00
BUGS-AND-FEATURE-REQUESTS.md Update common files. (#950) 2019-06-17 09:35:24 -07:00
CODEOWNERS fix CODEOWNERS (#2489) 2022-09-29 06:29:07 -07:00
CONTRIBUTING.md Import common files into this repo (#935) 2019-05-30 20:36:13 -07:00
GUIDELINES.md Validation: add documentation and use CEL pre-processor (#3333) 2024-12-31 19:32:56 -05:00
LICENSE Automator: update common-files@master in istio/api@master (#2981) 2023-10-31 10:54:28 -07:00
Makefile Automator: update common-files@master in istio/api@master (#3277) 2024-07-23 10:25:32 -04:00
Makefile.core.mk Update mesh config to not import k8s libraries (#3154) 2024-05-20 11:56:31 -04:00
Makefile.overrides.mk Revert CRDs move to v1, move back to v1beta1 (#1602) 2020-08-19 13:17:28 -07:00
README.md tooling: replace protolock with `buf breaking` (#3101) 2024-02-27 22:50:03 -08:00
SUPPORT.md Automator: update common-files@master in istio/api@master (#3084) 2024-02-12 07:58:35 -08:00
buf.gen-golang.yaml buf: migrate to v1 API (#2297) 2022-03-25 06:19:22 -07:00
buf.gen-noncrd.yaml Add JSON marshaling for non-CRD types (#3345) 2024-12-27 12:50:49 -05:00
buf.gen.yaml Generate alias for types instead of copies (#3188) 2024-05-20 11:48:31 -04:00
buf.yaml tooling: replace protolock with `buf breaking` (#3101) 2024-02-27 22:50:03 -08:00
clean.sh Drop generated python protobufs (#2280) 2022-03-17 16:55:44 -07:00
gen.sh format protobuf files (#3522) 2025-06-16 11:17:16 -04:00
go.mod update go.mod dependencies (#3541) 2025-07-17 12:38:43 -04:00
go.sum update go.mod dependencies (#3541) 2025-07-17 12:38:43 -04:00
google Move protobuf generation/configuration to buf (#1833) 2021-01-28 17:47:43 -08:00
header.go.txt Migrate from gogo/protobuf to golang/protobuf (#2293) 2022-03-23 08:11:37 -07:00
istio.io Move protobuf generation/configuration to buf (#1833) 2021-01-28 17:47:43 -08:00

README.md

Istio APIs and Common Configuration Definitions

This repository defines component-level APIs and common configuration formats for the Istio platform. These definitions are specified using the protobuf syntax.

This repository depends only on the tools repository for tools used during build. This repository will not depend on any other repositories. Except for tools, all other Istio repositories can take a dependency on the api repository.

API Guidelines

When making changes to the protos in this repository, your changes must comply with the API guidelines.

Updating

After the protobuf definitions are updated, the corresponding *pb.go, _pb2.py, *.json and Kubernetes Custom Resource Definition files must be generated by running make gen and submitted as part of the same PR as the updated definitions. Also make gen will update the proto.lock file with new changes.

Backwards Incompatible Changes

If a PR tries to make backwards incompatible changes, it will be blocked by buf breaking. If there are legitimate reasons to make these breaking changes forever, the configuration in buf.yaml can be changed. If it is a one-off case, the PR can be force approved skipping the test.