Skip to content

Allow all external download URLs to be aliased #1067

@rarkins

Description

@rarkins

Some users need to build their own containerbase-derived images in their product environments which do not have direct internet access. Instead, they need to set up generic proxies on Artifactory for each distinct external host which is approved, such as github.com, nodejs.org, etc.

Here's some examples used by containerbase:

Host Tool(s)
https://nodejs.org node
https://api.adoptium.net java
https://downloads.lightbend.com scala
https://github.com sbt, python, php,
https://dot.net dotnet
https://cache.ruby-lang.org/ ruby

We can assume for now that such users can already redirect common registries like apt, npm, pip, etc - the primary concern is on arbitrary URLs like the above.

The best way to test this would be to have a build environment with external URLs blocked by default and then try to build a "full" image with all tools and find the missing URLs one by one.

The next thing we'd want is a simple way of defining alternative URLs using env.

One possibility would be to have a syntax where the full from/to is specified in separate, related variables. e.g.

URL_REPLACE_0_FROM=https://node.org
URL_REPLACE_0_TO=https://artifactory.company.com/something/nested

Such a syntax is verbose but then at least should cover every case.

A higher level approach would be like JAVA_BASE_URL=https://artifactory.company.com/something/java but has the downsides:

  • One tool might try multiple hosts, and
  • Multiple tools might use the same host (e.g. github.com)

Missing Tools

Metadata

Metadata

Assignees

Labels

priority-1-criticalA bad bug or work that is holding up a lot of other important features or fixesstatus:in-progressSomeone is working on implementationtype:featureFeature (new functionality)

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions