[Enhancement] Support building Pulsar in restricted corporate environments without internet access
Search before asking
- [X] I searched in the issues and found nothing similar.
Motivation
In restricted corporate environments, such as so called "air gapped" environments without internet access, builds must be able to use a given corporate maven repository which contains whitelisted dependencies and a corporate docker repository which contains whitelisted images. It should be possible to build Apache Pulsar and docker images in such environments where the importance of software supply chain and source of origin is validated.
Solution
- Make changes to the Pulsar build so that it doesn't require internet access for building Pulsar
- Make changes to the Pulsar build so that it doesn't require internet access for building a Pulsar docker image
Alternatives
No response
Anything else?
Apache Pulsar build should also be made reproducible, #23477
Are you willing to submit a PR?
- [ ] I'm willing to submit a PR!
Based on LLM response, it should be possible to override Pulsar's repository settings with corporate maven repository using maven settings.xml.
After #24981, there's 2 repository ids referenced in Pulsar's maven build, central and confluent. By setting a mirror for these in settings.xml, it should be possible to override the location.
<settings>
<mirrors>
<mirror>
<id>central-mirror</id>
<url>https://repo.example.com/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>confluent-schema-registry-mirror</id>
<url>https://repo.example.com/maven2</url>
<mirrorOf>confluent</mirrorOf>
</mirror>
</mirrors>
</settings>
I haven't tested this myself.