Skip to content

feat: Allow installation from alternative/internal mirrors #728

Description

@damacus

Feature Request

Add support for installing Java packages from alternative or internal package mirrors such as Artifactory or Nexus repositories.

Motivation

Many organizations maintain internal mirrors of external repositories for security, bandwidth, and reliability reasons. Currently, users cannot redirect Java installations to use these internal mirrors, forcing them to connect directly to external repositories which may not be accessible in restricted environments.

Proposed Solution

Add new properties to the relevant resources to allow specifying alternative repository URLs:

For temurin_package_install:

  • repository_uri: Allow overriding the default Adoptium repository URL

For openjdk_pkg_install:

  • repository_uri: Allow specifying a custom APT/YUM repository URL

For source-based installations (openjdk_source_install, corretto_install):

  • Enhance the existing url property to clearly document that it can be used for internal mirrors

Expected Behavior

When a custom repository URL is provided, the cookbook should:

  1. Use the provided URL instead of the default repository URL
  2. Maintain all other functionality (alternatives setup, etc.)
  3. Validate that the repository structure matches expected patterns

Related Resources

  • All Java installation resources: temurin_package_install, openjdk_pkg_install, openjdk_install, openjdk_source_install, and corretto_install.

Additional Context

This would be particularly useful for organizations that:

  • Have strict security policies prohibiting direct internet access
  • Maintain internal mirrors for bandwidth/reliability reasons
  • Need to apply internal patches or customizations to Java packages

Metadata

Metadata

Assignees

No one assigned

    Labels

    Help WantedAssistance is required to resolve this issue

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions