Skip to content

Support using separate Pulsar cluster as package service#829

Merged
jiangpengcheng merged 6 commits intomasterfrom
support_separate_package_service
Feb 28, 2026
Merged

Support using separate Pulsar cluster as package service#829
jiangpengcheng merged 6 commits intomasterfrom
support_separate_package_service

Conversation

@jiangpengcheng
Copy link
Member

(If this PR fixes a github issue, please add Fixes #<xyz>.)

Fixes #

(or if this PR is one task of a github issue, please add Master Issue: #<xyz> to link to the master issue.)

Master Issue: #

Motivation

Explain here the context, and why you're making that change. What is the problem you're trying to solve.

Modifications

Describe the modifications you've done.

Verifying this change

  • Make sure that the change passes the CI checks.

(Please pick either of the following options)

This change is a trivial rework / code cleanup without any test coverage.

(or)

This change is already covered by existing tests, such as (please describe tests).

(or)

This change added tests and can be verified as follows:

(example:)

  • Added integration tests for end-to-end deployment with large payloads (10MB)
  • Extended integration test for recovery after broker failure

Documentation

Check the box below.

Need to update docs?

  • doc-required

    (If you need help on updating docs, create a doc issue)

  • no-need-doc

    (Please explain why)

  • doc

    (If this PR contains doc changes)

@jiangpengcheng jiangpengcheng requested review from a team, freeznet and nlu90 as code owners February 26, 2026 04:29
@github-actions github-actions bot added the no-need-doc This pr does not need any document label Feb 26, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request adds support for using a separate Pulsar cluster as a package service for downloading function/source/sink packages, decoupling package management from runtime messaging. However, it contains a critical issue with invalid Go version references.

Changes:

  • Adds optional packageService field to Function, Source, and Sink CRDs for dedicated package download configuration
  • Implements environment variable prefixing (PACKAGE_) and dedicated volume mount paths to avoid conflicts
  • Adds Java runtime fields (entryClass, instancePath) for customizing Java instance configuration
  • Updates Go version references from 1.24.11 to 1.24.13 (⚠️ CRITICAL: version does not exist)

Reviewed changes

Copilot reviewed 41 out of 41 changed files in this pull request and generated no comments.

Show a summary per file
File Description
api/compute/v1alpha1/*_types.go Adds PackageService field to Function, Source, and Sink specs
api/compute/v1alpha1/zz_generated.deepcopy.go Auto-generated deep copy methods for new fields
pkg/webhook/*.go Adds validation for packageService field
controllers/spec/common.go Core implementation: downloadServiceConfig, env prefixing, volume deduplication
controllers/spec/function.go, sink.go, source.go Updates to use new downloadServiceConfig abstraction
controllers/spec/*_test.go Unit tests for package service feature
config/crd/bases/*.yaml CRD schema updates for packageService and Java runtime fields
manifests/crd.yaml Consolidated CRD definitions
charts/* Helm chart CRD templates
.ci/tests/integration-oauth2/* New integration test for package service feature
docs/design/package-service-download-design.md Design documentation
go.mod, api/go.mod, Dockerfile, etc. Go version updates (⚠️ CRITICAL ISSUE)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

freeznet
freeznet previously approved these changes Feb 26, 2026
@jiangpengcheng jiangpengcheng merged commit 8185ea2 into master Feb 28, 2026
13 checks passed
@jiangpengcheng jiangpengcheng deleted the support_separate_package_service branch February 28, 2026 08:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-need-doc This pr does not need any document

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants