Skip to content
This repository has been archived by the owner on Oct 22, 2023. It is now read-only.

HTTP Includes #1230

Open
ineffyble opened this issue Apr 13, 2022 · 2 comments
Open

HTTP Includes #1230

ineffyble opened this issue Apr 13, 2022 · 2 comments
Labels
frozen Issue should not be marked as stale is:suggestion

Comments

@ineffyble
Copy link
Contributor

Describe the problem you'd like to solve

File includes are mostly only useful to help split up a batect file within a repo/context.

Git includes are useful but can introduce complexity around versioning and auth.

We would like to be able to publish and version our batect bundle alongside the images it relies on, and ideally publish them to the same artifact repository.

Describe the solution you'd like

The ability to provide a HTTP URL to a batect include, and have batect pull that include file via HTTP at run.

Describe alternatives you've considered

Right now the main option is to build a wrapper script (or CI pre-step) that handles downloading a file via HTTP and putting it locally, and then telling batect to use a file include.

Additional context

No response

@charleskorn
Copy link
Collaborator

This is something I've been thinking about for a while now, so it's good to see I'm not imagining this being useful 😃

The HTTP downloading side of this would be very straightforward to support, with a little more complexity around tooling to make it work well.

There are a couple of details I'm interested in getting your thoughts on:

  • Do you want / need authentication when pulling the bundle down over HTTP?
  • Do you have strong opinions about what file format the bundle should be? I'm imagining a compressed archive like .zip or .tar.gz.
  • I'm thinking there's value in requiring all downloads to be done over HTTPS and validating the downloaded file with a checksum (eg. SHA256) - do you see any issues with that?
  • Do you already have some tooling in place to build the images your bundle uses? I've been thinking about something that takes a bundle, builds all the images it references, optionally pushes those images up to a registry, and then generates an archive with the bundle contents updated to point to those built images.

Beyond a MVP of this, there are a couple of other things that I think would be useful, and I'm interested in your thoughts on how important they are to you:

  • being able to reduce the archive size by including / excluding files that aren't relevant to the final bundle
  • being able to test a bundle locally by pointing a test project at the built bundle, either by specifying it in the project's configuration, or by overriding an existing reference to the bundle on the command line

@stale
Copy link

stale bot commented Jun 12, 2022

This issue has been automatically marked as stale because it has not had any activity in the last 60 days. It will automatically be closed if no further activity occurs in the next seven days to enable maintainers to focus on the most important issues.
If this issue is still affecting you, please comment below within the next seven days.
Thank you for your contributions.

@stale stale bot added the stale label Jun 12, 2022
@charleskorn charleskorn added the frozen Issue should not be marked as stale label Jun 12, 2022
@stale stale bot removed the stale label Jun 12, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
frozen Issue should not be marked as stale is:suggestion
Development

No branches or pull requests

2 participants