Skip to content

Running Offline

David Dieruf edited this page Feb 5, 2020 · 5 revisions

There is a sepreate branch named "air-gapped", that holds example pipeline and vars for creating stemcells in an environment where the Concourse workers have no direct internet access.

To test running the pipeline offline, the following tools & systems where used:

  • GitLab: to hold a clone of this branch
  • Minio: as an S3 compatible blob store
  • Harbor: as a container image repository

Windows Updates

In a typical Enterprise it is common to have a windows update server within the domain, and restrict all users to not use the public update.microsoft.com location. To achieve such an environment you need to have Windows Server Update Services (WSUS) running on an Active Directory managed domain. Currently this is beyond the scope of this project but we want to give you as much help as possible. The goal would be to modify the base stemcell operating system to not use microsoft URL's, but instead use some other URL. Everything else should stay totally in-tact and follow standard operating. So assuming you are on a domain that has WSUS running and you know the FQDN:PortNumber to the server, you coud then...

  • Log in to the base stemcell VM using vSphere remote console
  • Bring this powershell module onto the VM
  • Move the module to the correct location PS c:\> cp ./Set-ClientWSUSSetting.ps1 C:/Windows/System32/WindowsPowerShell/v1.0/Modules/Set-ClientWSUSSetting.ps1
  • Run the module to set client WSUS settings Set-ClientWSUSSetting -UpdateServer "http://<YOUR_WSUS_SERVER>" -UseWSUSServer Enable -AllowAutomaticUpdates Enable -DetectionFrequency 4 -Options DownloadAndInstall

Get Started

  1. In Minio, created a bucket "windows-stemcell-assets"
  2. In Minio, created a bucket "windows-stemcell"
  3. Download latest versions of assets:
  1. Copy all assets to the windows-stemcell-assets bucket
  2. Mark the assets bucket public mc policy set public stupidapplications/windows-stemcell-assets
  3. Build the sharing address as http://minio.stupidapplications.local:9000/windows-stemcell-assets/VMware-tools-11.0.5-15389592-x86_64.exe
  4. In Gitlab import this project by its clone URL, read to lean more about importing *If your Gitlab has access to GitHub, you can keep a fork of this repo up to date with origin. Otherwise you'll need to manually update the Gitlab project to get the latest from upsteam master.
  5. Create a folder on the vCenter datastore named "Win-Stemcell-ISO"
  6. Upload the Windows Server ISO to that datastore folder
  7. Get the Docker images of:
  1. Add the images to your container repository (like Harbor or Artifactory)
  2. Update all values in vars-min.yml to reflect the addresses of all the coping you just did
  3. Using the pipeline.yml and vars-min.yml from the air-gapped branch of this project, create the pipeline in Concourse
  fly -t con set-pipeline --non-interactive `
--pipeline windows-stemcell-concourse `
--config ./pipeline.yml `
--load-vars-from ./vars-min.yml
  1. Unpause the pipeline and start the task create-base
  2. Grab some popcorn and watch the magic happen
Clone this wiki locally