Closed tezizzm closed 4 years ago
My idea is to create an air-gapped branch that only has pipeline.yml
and vars-min.yml
. These will be augmented resource types and variables for getting needed things.
List of needed things and where I believe they could live on the network...
concourse-curl-resource
docker image [internal image registry]Changes to be made in master branch
windows-update-server-url
pipeline variableChange to be made in air-gapped branch pipeline.yml
stembuild-release
pipeline resource type to file-urlgovc
pipeline resource type to file-urlvmware-tools
pipeline resource as file-urllgpo-url
pipeline variable for resourcewindows-update-ps
pipeline resource as file-urlubuntu-image-url
pipeline variable for resourcecurl-image-url
pipeline variable for resourceThoughts @sneal ?
@ddieruf It'd be better to support offline pipelines as first class citizens in the master branch as it's pretty common to have some limitations on internet access. We can probably add offline instructions to the readme from what you've started in this thread.
In addition to what you've mentioned we also have the apt-get installed dependencies to account for.
Ultimately replacing the cobbled together binaries, resources, and scripts with a single golang binary would make offline pipelines much easier. Most of the xml processing, string replacement, and file downloading could easily be done via golang without external dependencies.
While I haven't looked at it I'm betting there's a way to replace the LGPO.exe with a golang lib that interacts with the Win32 API that stembuild or something else could use thus removing another dependency we can't redistribute.
I am working on access to https://hub.docker.com/u/cfcommunity. Looking to create an ubuntu image with all necessary binaries. This will clean things up a bit and give us something to distribute for offline pipelines.
With the docker image now listed, I've added direction for offline scenarios. @sneal and @tezizzm if you agree this fills the need I would like to close the issue.
@ddieruf Did you try running it offline?
Govc is Apache2 licensed so I believe we can include that in the base image. LGPO and Stembuild will have to come from Microsoft and Pivotal respectively.
I think we should remove the need to use pivotalservices/concourse-curl-resource
by removing the resource and just curl
'ing the file from the task. There's no real benefit to treat that as a resource.
I like the portability of lgpo in the task. Then one can choose where it should come from. If it's curl'd within the task are you thinking of an option to provide the url or default to M$ site?
On Nov 12, 2019, 7:01 PM, at 7:01 PM, Shawn Neal notifications@github.com wrote:
Govc is Apache2 licensed so I believe we can include that in the base image. LGPO and Stembuild will have to come from Microsoft and Pivotal respectively.
I think we should remove the need to use
pivotalservices/concourse-curl-resource
by removing the resource and justcurl
'ing the file from the task. There's no real benefit to treat that as a resource.-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/cloudfoundry-community/windows-stemcell-concourse/issues/2#issuecomment-553173735
This solution will be valuable to many that are in air gapped environments.
Provide instructions and/or a list of resources that need to be moved into the environment to allow this solution to be utilized in an air gapped environments.