Skip to content

feat: kgateway emitter#320

Merged
k8s-ci-robot merged 11 commits intokubernetes-sigs:mainfrom
puertomontt:kgw-emit
Feb 17, 2026
Merged

feat: kgateway emitter#320
k8s-ci-robot merged 11 commits intokubernetes-sigs:mainfrom
puertomontt:kgw-emit

Conversation

@puertomontt
Copy link
Copy Markdown
Contributor

@puertomontt puertomontt commented Jan 26, 2026

What type of PR is this?

/kind feature

depends on #305

What this PR does / why we need it:

Add kgateway emitter.

Which issue(s) this PR fixes:

Fixes #260

Does this PR introduce a user-facing change?:

Add kgateway emitter

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Jan 26, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Hi @puertomontt. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@puertomontt puertomontt changed the title kgateway emitter feat: kgateway emitter Jan 26, 2026
@k8s-ci-robot k8s-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Jan 26, 2026
@Stevenjin8
Copy link
Copy Markdown
Contributor

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Jan 28, 2026
Comment thread pkg/i2gw/emitters/kgateway/buffer.go Outdated
return filepath.Dir(goModPath)
}

func canonicalizeMultiDocYAML(t *testing.T, in []byte) []byte {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've got integration tests in work, so we can probably do those tests here.

@Stevenjin8
Copy link
Copy Markdown
Contributor

Seems good, going to wait until @kkk777-7 PR merges first and #294

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 30, 2026
@k8s-ci-robot k8s-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Feb 8, 2026
@Stevenjin8
Copy link
Copy Markdown
Contributor

@puertomontt could you add yourself to the owners file and agree to

## Governance and Maintainability
To ensure long-term stability, we list clear expectations for Gateway API implementations that wish to have custom emitters in ingress2gateway.
* All code that serves a single vendor or implementation ("third-party code") MUST have nominated contacts for security that will respond within at most 3 business days, if we find security issues.
* All third-party code MUST live in individual directories/modules, with `CODEOWNERS` indicating who is responsible for reviewing that code.
* Reviews and issues about third-party code MUST be triaged and responded to within 30 days.
Furthermore, the codeowners of third-party emitters MUST commit to the following responsibilities:
* Update the third-party emitters to keep up with upstream Gateway API changes within 60 days of a new Gateway API release.
* Ensure that the output of third-party emitters matches the scope defined below within 60 days of a new Gateway API release.
Not keeping up with these responsibilities will trigger a removal process for the affected third-party emitters which is as follows:
* In the next minor release, the emitters will be marked as deprecated, triggering a warning to users.
* The emitters will be removed in the following minor release or within 30 days, whichever comes later.
* During this time, ingress2gateway maintainers will reach out to the codeowners with two emails spaced one week apart, notifying them of the impending removal as well as a GitHub issue.
A codeowner can stop the removal process if they demonstrate commitment to the above policy as decided by the maintainers.
Existing providers will be exempted from these policies, but may not be fully integrated into the provider/emitter model.

@Stevenjin8
Copy link
Copy Markdown
Contributor

@puertomontt Also, it would be nice to add some e2e tests, but we can have that in another PR (sooner rather than later hopefully)

@k8s-ci-robot k8s-ci-robot added the do-not-merge/invalid-owners-file Indicates that a PR should not merge because it has an invalid OWNERS file in it. label Feb 9, 2026
@puertomontt
Copy link
Copy Markdown
Contributor Author

puertomontt commented Feb 9, 2026

@Stevenjin8 would it be alright to merge this first then add myself as an owner. I need one merged PR to request org membership

or if you sponsor me, can I be added to the org?

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/invalid-owners-file Indicates that a PR should not merge because it has an invalid OWNERS file in it. label Feb 10, 2026
@puertomontt
Copy link
Copy Markdown
Contributor Author

@Stevenjin8 I'll apply for org after this merges.

@Stevenjin8
Copy link
Copy Markdown
Contributor

@puertomontt happy to sponsor.

@puertomontt
Copy link
Copy Markdown
Contributor Author

@Stevenjin8 can we merge this while waiting for me to be added to k8s sigs org? we have a lot of follow up PR we want to start on. Thanks

@johananl
Copy link
Copy Markdown
Member

Fix: #349

@puertomontt
Copy link
Copy Markdown
Contributor Author

@johananl @Stevenjin8 is this good to go now?

@Stevenjin8
Copy link
Copy Markdown
Contributor

@puetromontt PRs need two reviews (and approve and an lgtm) to merge. I already approved it. (But PRs from maintainer only need one)

@johananl
Copy link
Copy Markdown
Member

@johananl @Stevenjin8 is this good to go now?

I haven't reviewed your code yet because make e2e wouldn't pass for me. Now that we merged #349 I can review the code.

Open-source projects rely very often on async communication. Please be patient 🙂

@johananl
Copy link
Copy Markdown
Member

@puertomontt could you please rebase your branch on current main instead of merging? The PR contains many unrelated commits now.

Copy link
Copy Markdown
Member

@johananl johananl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your contribution @puertomontt!

I left a few small comments/questions, the main one being about potentially unused code.

Comment thread e2e/gwapi.go Outdated
Comment thread e2e/scenarios_test.go
t.Run("basic conversion", func(t *testing.T) {
runTestCase(t, &testCase{
gatewayImplementation: kgatewayName,
providers: []string{ingressnginx.Name},
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I'm lookin into it. I assume you mean in general rather than as feedback on this specific PR @Stevenjin8.

Comment thread pkg/i2gw/emitters/kgateway/emitter.go
Comment thread go.mod Outdated
Comment thread go.mod Outdated
Signed-off-by: omar <omar.hammami@solo.io>
Signed-off-by: omar <omar.hammami@solo.io>
Signed-off-by: omar <omar.hammami@solo.io>
Signed-off-by: omar <omar.hammami@solo.io>
Signed-off-by: omar <omar.hammami@solo.io>
Signed-off-by: omar <omar.hammami@solo.io>
Signed-off-by: omar <omar.hammami@solo.io>
Signed-off-by: omar <omar.hammami@solo.io>
Signed-off-by: omar <omar.hammami@solo.io>
Signed-off-by: omar <omar.hammami@solo.io>
@puertomontt puertomontt force-pushed the kgw-emit branch 2 times, most recently from 7bb3fea to 43d3bdd Compare February 17, 2026 15:22
Signed-off-by: omar <omar.hammami@solo.io>
@johananl
Copy link
Copy Markdown
Member

Thanks for following up. I think we're good. We do have a lot of inconsistencies on doc comment style but I'm wondering if we shouldn't just use a linter to enforce this (I know many people don't care about this too much).

@johananl
Copy link
Copy Markdown
Member

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 17, 2026
@k8s-ci-robot k8s-ci-robot merged commit e47837b into kubernetes-sigs:main Feb 17, 2026
4 checks passed
@johananl
Copy link
Copy Markdown
Member

Thank you for your contribution @puertomontt.

@puertomontt
Copy link
Copy Markdown
Contributor Author

Thanks for the reivew @johananl @Stevenjin8

chakravardhan pushed a commit to chakravardhan/ingress2gateway that referenced this pull request Feb 19, 2026
* kgateway emitter

Signed-off-by: omar <omar.hammami@solo.io>

* remove test and fix year

Signed-off-by: omar <omar.hammami@solo.io>

* add puertomontt as owner

Signed-off-by: omar <omar.hammami@solo.io>

* remove from owners

Signed-off-by: omar <omar.hammami@solo.io>

* e2e test

Signed-off-by: omar <omar.hammami@solo.io>

* address feedback

Signed-off-by: omar <omar.hammami@solo.io>

* add emitter to testCase

Signed-off-by: omar <omar.hammami@solo.io>

* update test

Signed-off-by: omar <omar.hammami@solo.io>

* remove periods

Signed-off-by: omar <omar.hammami@solo.io>

* remove unused code

Signed-off-by: omar <omar.hammami@solo.io>

* go mod changes

Signed-off-by: omar <omar.hammami@solo.io>

---------

Signed-off-by: omar <omar.hammami@solo.io>
rajashish pushed a commit to rajashish/ingress2gateway1 that referenced this pull request Feb 21, 2026
* kgateway emitter

Signed-off-by: omar <omar.hammami@solo.io>

* remove test and fix year

Signed-off-by: omar <omar.hammami@solo.io>

* add puertomontt as owner

Signed-off-by: omar <omar.hammami@solo.io>

* remove from owners

Signed-off-by: omar <omar.hammami@solo.io>

* e2e test

Signed-off-by: omar <omar.hammami@solo.io>

* address feedback

Signed-off-by: omar <omar.hammami@solo.io>

* add emitter to testCase

Signed-off-by: omar <omar.hammami@solo.io>

* update test

Signed-off-by: omar <omar.hammami@solo.io>

* remove periods

Signed-off-by: omar <omar.hammami@solo.io>

* remove unused code

Signed-off-by: omar <omar.hammami@solo.io>

* go mod changes

Signed-off-by: omar <omar.hammami@solo.io>

---------

Signed-off-by: omar <omar.hammami@solo.io>
@puertomontt puertomontt deleted the kgw-emit branch March 5, 2026 16:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Kgateway as an Emitter

4 participants