-
Notifications
You must be signed in to change notification settings - Fork 297
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support windows images for create-builder #571
Conversation
3ed77a5
to
795d338
Compare
815b6f3
to
4a07a05
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ameyer-pivotal @micahyoung this is so exciting! Consolidating the Windows logic in the layer writer is super clean. I left a few comments, mostly questions to further my own understanding.
internal/layer/windows_writer.go
Outdated
return w.tarWriter.Close() | ||
} | ||
|
||
func (w *WindowsWriter) writeParentPaths(childPath string) error { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC Windows requires parent paths to be created first whereas Linux does not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe you're correct. Are you noticing a code defect or simply clarifying for other readers?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, the latter!
50aff79
to
980d14b
Compare
@ameyer-pivotal @micahyoung do you have a preferred stack and/or dummy buildpack to use for user acceptance testing? I started playing around with this today - I figured I'd use the nanoserver-1809 stack in the samples repo and it appears that is not supported by pack - getting this error:
From what I understand, the user id in the stack image is an arbitrary value for now - could we change it to be an integer? Or should pack be more flexible to accept something that Windows would consider valid? |
Hi @natalieparellano, thanks for taking a look at this :) You should be able to build the build/run images inside the Side note: For now, we set the |
@natalieparellano Also note that the version of |
42ceb21
to
a572b15
Compare
7ae8889
to
db9a7ad
Compare
Codecov Report
@@ Coverage Diff @@
## master #571 +/- ##
==========================================
+ Coverage 70.44% 70.59% +0.14%
==========================================
Files 64 66 +2
Lines 3695 3710 +15
==========================================
+ Hits 2603 2619 +16
+ Misses 762 757 -5
- Partials 330 334 +4
Continue to review full report at Codecov.
|
58bbed6
to
a317bcf
Compare
@jromero Note that with the CI changes coming in this PR, you'll want to mark |
ceeee34
to
fb437c3
Compare
@ameyer-pivotal and I ran through user acceptance on a macOS communicating to a WCOW docker daemon and on a Windows VM using a local docker daemon. There were no issue which should block this PR but there were a few things to note.
|
Replace dependency on `htpasswd` binary, instead generate file in Golang Signed-off-by: Micah Young <[email protected]>
- Better readability and consistent templating and optionals Signed-off-by: Micah Young <[email protected]>
- Bump imgutil to feature/23-windows-linux-images branch - Make separate stacks for linux/windows Signed-off-by: Micah Young <[email protected]>
Signed-off-by: Micah Young <[email protected]> Signed-off-by: Andrew Meyer <[email protected]>
Signed-off-by: Micah Young <[email protected]> Signed-off-by: Andrew Meyer <[email protected]>
Signed-off-by: Andrew Meyer <[email protected]>
Signed-off-by: Andrew Meyer <[email protected]>
Signed-off-by: Andrew Meyer <[email protected]>
Signed-off-by: Andrew Meyer <[email protected]>
- Implement tar writer factory, as it was moved out of imgutil Signed-off-by: Andrew Meyer <[email protected]>
Signed-off-by: Andrew Meyer <[email protected]> Signed-off-by: Micah Young <[email protected]> Signed-off-by: Anthony Emengo <[email protected]>
f1d3cfc
to
470787a
Compare
Adds support for creating Windows-based builder images. There's no guarantee at the moment that
pack build
works with a Windows builder yet, as that work is underway. However, this PR adds the ability to create a true OCI image (that contains buildpacks and lifecycle binaries, etc) that can be stored in a registry or on a Windows daemon. We will hold off on documenting any Windows support untilpack build
is fully supported.Relies on a new feature of
imgutil
, an OS-specific layer writer for Windows. This PR generalizes some of the tar/layer-related code to make use of a factory that can decide which type of writer is appropriate for a given image OS.Resolves #469