Commit Graph

65 Commits

Author SHA1 Message Date
John Howard f9846b4f41
Update mesh config to not import k8s libraries (#3154)
* Update mesh config to not import k8s libraries

* drop optional

* fix repeated

* gen
2024-05-20 11:56:31 -04:00
John Howard f465f2d18d
tooling: replace protolock with `buf breaking` (#3101) 2024-02-27 22:50:03 -08:00
John Howard a53bf82349
Adopt CRD native validation (#2951)
* Adopt CRD native validation: WasmPlugin

* fix banner

* Hide confusing errors
2023-10-16 12:49:37 -07:00
John Howard 685ef7d06b
Migrate to protoc-gen-crd (#2941) 2023-10-05 16:16:01 -07:00
Faseela K a33bf930c8
Run proto-commit as part of make gen (#2546)
Signed-off-by: Faseela K <faseela.k@est.tech>

Signed-off-by: Faseela K <faseela.k@est.tech>
2022-11-03 13:35:29 -07:00
John Howard 773205214e
Remove releaselocks/ (#2288)
We currently have two redundant ways to test for breaking changes in
proto: proto-commit and releaselocks. These do the same thing, but add
substantial noise.

Release locks have also not been updated since 1.6.

The original intent was to test for breaking changes between versions.
However, since we test for breaking changes on each commit, there is no
need for the extra check; if it would have failed as "breaking change
from 1.0 -> HEAD" then it would also fail with "breaking change from
HEAD^ -> HEAD".

Finally, there are some weird LC_ALL issues with sorting that make the
releaselocks really hard to use, especially for newcomers. I spent hours
trying to fix it without success
2022-03-17 15:29:43 -07:00
John Howard e6bb02d631
operator: use camelCase (#2286)
* operator: use camelCase

operator relies on merging using K8s libraries. K8s libraries use the
`json` tag. protobuf doesn't have a way to configure this (`json_tag` is
for `protobuf.json`, not `json`) and never will.

JSON tag comes from the protobuf name. So we can make it camelCase to
fix the above issue. This will have no impact on unmarshalling with jsonpb -- which we use in
all cases aside from the merging -- any casing is allowed.

This may be a breaking change in the protobuf sense (but NOT to Istio
users), but it doesn't really matter as until last week the operator
protobuf was not a real protobuf at all and relied on `sed` to make it
into the shape we want. Therefor, its not possible someone depended on
the operator protobuf being protobuf-compatible.

* add comment

* gen

* extra line

* comment

* gen
2022-03-17 10:47:52 -07:00
Eric Van Norman 724943e9da
Update to use local-lint-protos (#1886) 2021-02-18 17:04:45 -08:00
bufdev 20b9013774
Use buf for protobuf linting (#1863) 2021-02-01 11:13:42 -08:00
John Howard 5bd48e1445
Workaround golang bug causing make gen to fail (#1861)
Workaround https://github.com/golang/go/issues/43994

Run tidy after download
2021-01-29 08:44:43 -08:00
John Howard 2bcca53775
Move protobuf generation/configuration to buf (#1833)
https://docs.buf.build/

Buf is the successor to https://github.com/uber/prototool which we
already use for linting.

This dramatically simplifies our Makefiles, which are both extremely
complicated and have led to numerous bugs historically, such as
https://github.com/istio/api/issues/1678.

This will make changes to the generation much simpler as well. For
example, to migrate to gogo protobuf, we will just need to change `gogo`
-> `go` in one location, rather than trying to wrangle 500 lines of
Makefiles. Additionally, its quite a bit faster - the whole proto stuff
is done in <1s now.
2021-01-28 17:47:43 -08:00
John Howard edb1e1a51c
Update makefile for new docs plugin (#1821)
* Update makefile for new docs plugin

* Update common
2021-01-20 07:41:17 -08:00
Nathan Mittler 57c66a1898
Add documentation for labels (#1804)
Keeping the existing labels.go for now until the main code branch is migrated over to use the new variables.

Will also remove security.istio.io/tlsMode (which always was a label, not an annotation) from annotations once the main code branch is migrated over to the label variable.
2021-01-11 15:27:27 -08:00
Yangmin Zhu 8c3489c742
fix workload selector link in security API (#1705) 2020-11-05 12:26:40 -08:00
Nikolay Pshenichnyy 3aaa6f960a
Revert CRDs move to v1, move back to v1beta1 (#1602)
* Make CRD validation conditional.

* gen file and todo

* update tools image

* revert removal of the export statement
2020-08-19 13:17:28 -07:00
Khoa Hoàng 03c846170f
Add metadata field into Istio CertificateSigningService (#1576)
* add metadata field to certificate signing api

* make proto-commit
2020-08-10 11:51:29 -07:00
Kuat 3c2193e749
cleanup: remove mixer artifacts (#1555)
* remove mixer artifacts

Signed-off-by: Kuat Yessenov <kuat@google.com>

* releaselocks

Signed-off-by: Kuat Yessenov <kuat@google.com>

* bad script

Signed-off-by: Kuat Yessenov <kuat@google.com>
2020-07-23 10:08:24 -07:00
Jason Wang ae75c7e9ae
Add generated functions to status and analysis APIs (#1533) 2020-07-21 10:50:12 -07:00
Oliver Liu ada27df91b
Make cert signing API public in istio/api. (#1520)
* Make cert signing API public in istio/api.

* Update the API.

* Update the API.

* Small fix.
2020-07-14 16:44:59 -07:00
Mitch Connors 87ad7f45ae
Add Status types to API (#1449)
* Add proto for analysis messages

* Add analysis protos to make system

* Better comments, clearer intention with code/name

* Move analysis to beta, add meta types

* update ValidationMessages to validation_messages

* more snake casing, hopefully doesnt break kubernetes compatibility

* try to get all generated files updated

* update gen conflicts after rebase

* move analysis back to alpha

* demote meta to v1alpha1

* remove remnants of beta apis

* resolve gen problems related to demotion

Co-authored-by: Clayton Pence <ctpence@google.com>
2020-07-13 13:24:46 -07:00
Jason Wang 87380418ee
Update CRDs to v1 (#1495)
* Add script to check schema equality

* Update CRDs to v1

* Update makefile
2020-07-06 10:32:40 -07:00
John Howard bac02847c8
Move operator to gogo proto (#1483)
* Move operator to gogo proto

* switch to gogo

* fix gen
2020-06-25 13:03:14 -07:00
Martin Ostrowski 001ca68fb1
Consolidate operator API to one file to maintain field order (#1464)
* Consolidate opeator API to one file to maintain field order

* Mirror Tolerations

* Remove json gen

* Rebuild

* Restore deepcopy

* Remove unneeded sed

* Rebuild

* Lint

* Update releaselocks

* Move deepcopy from autogenerated path

* Copyright banner

* Gofmt
2020-06-09 16:01:37 -07:00
Jian Zeng e094649aa7
feat: generate deepcopy methods for all the types (#1454) 2020-06-02 12:32:24 -07:00
Yangmin Zhu d98da5d2d0
authz: remove alpha RBAC API (#1427)
* authz: remove alpha RBAC API

* update
2020-05-18 17:58:11 -07:00
Jason Wang 74b42d651c
Remove redundant v1beta1 virtual service html doc file (#1409) 2020-04-28 12:08:39 -07:00
John Howard 1cf009d46d
Fix gen (#1386) 2020-04-16 07:19:34 -07:00
Martin Ostrowski 281c9f1c58
Fix MeshConfig field tags for JSON unmarshal (#1320) 2020-03-11 12:45:01 -07:00
Jack Kleeman 6fa980ccf4
Use golang protobuf in operator json generated code (#1283) 2020-02-12 06:00:15 -08:00
Martin Ostrowski 9564cdd03c
Tag must be interface{} type for unmarshaling (#1275)
* Tag must be interface{} type for unmarshaling

* Update releaselocks
2020-02-07 18:09:12 -08:00
Jack Kleeman ffa85b11a3
Add json codegen for Operator (#1263)
We have a pretty nasty bug where fields with two names, eg
UnvalidatedValues, aren't getting unmarshaled properly in k8s clients
because we haven't set up jsonpb unmarshaling for the Operator. This
should solve it.
2020-02-03 09:54:14 -08:00
Jason Wang 082bb23391
Add networking v1beta1 example to docs (#1266) 2020-01-31 15:12:58 -08:00
Jason Wang 7e12b4ec2f Add v1beta1 for Networking APIs (#1232)
* Add v1beta1 networking APIs

* rebase and regen
2020-01-15 09:42:00 -08:00
Martin Ostrowski 0593b0ef35 Move operator API to separate dir (#1223)
* Move operator API to separate dir

* Update linter settings

* Add make gen files

* Add values field to gateways

* Make gen

* Add enablement for gateways

* Remove CoreDNS from core components list
2020-01-06 09:02:25 -08:00
Martin Ostrowski 48d712f99a Partial revert of #1211, part 2 (#1217) 2019-12-23 11:17:06 -08:00
Martin Ostrowski 2201aa34d2 Partial revert of #1211 (#1216) 2019-12-23 10:25:06 -08:00
Martin Ostrowski 5a4614ed97 Fixes for synthetic and k8s types (#1211)
* Fixes for synthetic and k8s types

* Lint, gen
2019-12-19 14:16:05 -08:00
Martin Ostrowski 2bfe3e1437 Refactor and integrate MeshConfig and IstioControlPlaneSpec (#1177)
* Refactor and integrate MeshConfig and IstioControlPlaneSpec

* Fix hub comment

* Review comments

* Update status

* Added istiod

* Review comments

* Remove stray message

* Proto gen fixes

* Mirror k8s structs that have import problems

* Remove debug

* Update comment

* Consolidate some types

* Merge gateways

* Remove proxy config type

* Add name field for gateways

* Update gateways

* Update generated files

* Update go.mod

* Licenses

* Lint

* More lint, add gw label

* Add lint debug output

* Address comments

* Removing debug character
2019-12-10 09:32:28 -08:00
Diem Vu 62bf0afefa Add RequestAuthetication API (#1151)
* Add RequestAuthetication API

* Address comments

* Make JWTHeader type to define header with prefix

* Revert go.sum

* Address more comments

* Add blank line to end of file

* Update JwtHeader field

* Rename JwtHeader to JWTHeader for consistency

* Update security/v1beta1/jwt.proto

Co-Authored-By: Sven Mawson <sven@google.com>

* Update make gen

* Regenerate file after rebase

* Update comment

* Rebase
2019-11-12 19:06:52 -08:00
Jason Wang 3fcb499e2a Regen based on new container (#1152) 2019-11-01 15:10:11 -07:00
Martin Taillefer e871b2898d
Update common files. (#1146)
- Make the gen target invoke tidy-go and mirror-licenses.
2019-10-24 13:08:52 -07:00
Jason Wang d00922a1ff Add CRD structural schema generation (#1142)
* modify cue configuration

* Add CRD structural schema generation

* remove preserveUnknowFields
2019-10-23 17:20:41 -07:00
Kuat 9582c9e793 do not generate envoy xds protos here (#1110)
Signed-off-by: Kuat Yessenov <kuat@google.com>
2019-10-17 06:32:15 -07:00
Jason Wang 1187adbd14 Use field_behavior as an option for required fields (#1125)
* use field_behavior opiton for required fields

* modify makefile to replace import path for field_behavior

* generate after image update

* changes after comments from policy and telemetry team

* regen after changes

* update networking and rebase
2019-10-14 10:42:57 -07:00
Martin Taillefer 67e00885e3
Add a gen-check target. (#1113)
- New common target to check that a repo is clean wrt generated files.
2019-10-02 09:51:41 -07:00
Martin Taillefer 03ce488f22
Fix logic to test if 'make' hasn't been run. (#1111) 2019-10-01 07:53:07 -07:00
Rob Cernich 1b594bcab9 Support using api types with k8s code generation tools (#1081) 2019-09-25 11:01:16 -07:00
Martin Taillefer 5587b037a7
Add check to make sure 'make' has been run on the repo before checkin. (#1102) 2019-09-25 08:49:06 -07:00
Martin Taillefer 9165e1dad4
Fix build process. (#1097) 2019-09-24 10:17:18 -07:00
Kuat 2387a8cbe1 Revert "fix envoy protos (#1088)" (#1089)
This reverts commit e760b40a75.
2019-09-19 14:50:34 -07:00