GithubHelp home page GithubHelp logo

isabella232 / compute-image-windows Goto Github PK

View Code? Open in Web Editor NEW

This project forked from googlecloudplatform/compute-image-windows

0.0 0.0 0.0 679 KB

Windows agents and scripts for Google Compute Engine images.

License: Apache License 2.0

PowerShell 66.13% Batchfile 5.10% Shell 1.11% Go 27.66%

compute-image-windows's Introduction

Windows Guest Environment for Google Compute Engine

This repository stores the collection of Windows packages installed on Google supported Compute Engine images.

The Windows agent has moved to https://github.com/GoogleCloudPlatform/guest-agent.

Table of Contents

Background

The Windows guest environment is the Google provided configuration and tooling inside of a Google Compute Engine (GCE) virtual machine. The metadata server is a communication channel for transferring information from a client into the guest. The Windows guest environment includes a set of scripts and binaries that read the content of the metadata server to make a virtual machine run properly on Google Compute Engine.

Instance Setup

instance_setup.ps1 is configured by GCE sysprep to run on VM first boot. The script performs the following tasks:

  • Set the hostname to the instance name.
  • Runs user provided 'specialize' startup script.
  • Activates Windows using a KMS server.
  • Sets up RDP and WinRM to allow remote login.

Metadata Scripts

Metadata scripts implement support for running user provided startup scripts and shutdown scripts.

Packaging and Package Distribution

The guest code is packaged in GooGet packages and published to Google Cloud repositories.

We build and install the following packages for the Windows guest environment:

  • google-compute-engine-sysprep - Utilities for running sysprep on new Windows virtual machines.
  • google-compute-engine-metadata-scripts - Windows exe and cmd files to run startup and shutdown scripts.
  • google-compute-engine-powershell - PowerShell module for common functions used by other packages.
  • google-compute-engine-auto-updater - Automatic updater for core Google packages.
  • google-compute-engine-vss - Google Compute Engine VSS agent and provider

The package build specs are published in this project.

To setup GooGet and install packages run the following commands in an elevated PowerShell prompt:

Download and install GooGet:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest https://github.com/google/googet/releases/download/v2.13.0/googet.exe -OutFile $env:temp\googet.exe
& "$env:temp\googet.exe" -root C:\ProgramData\GooGet -noconfirm install -sources https://packages.cloud.google.com/yuck/repos/google-compute-engine-stable googet
Remove-Item "$env:temp\googet.exe"

On installation GooGet adds content to the system environment, launch a new PowerShell console after installation or provide the full path to googet.exe (C:\ProgramData\GooGet\googet.exe).

Add the google-compute-engine-stable repo, this must be done in a new console if you just installed GooGet:

googet addrepo google-compute-engine-stable https://packages.cloud.google.com/yuck/repos/google-compute-engine-stable

Install the core packages google-compute-engine-windows, google-compute-engine-metadata-scripts,google-compute-engine-sysprep, and google-compute-engine-vss.

googet -noconfirm install google-compute-engine-windows google-compute-engine-sysprep google-compute-engine-metadata-scripts google-compute-engine-vss

Install optional packages, google-compute-engine-auto-updater:

googet -noconfirm install google-compute-engine-auto-updater

You can view available packages using the googet available and installed packages using the googet installed command. Running googet update will update to the latest versions available. To view additional commands run googet help.

Contributing

Have a patch that will benefit this project? Awesome! Follow these steps to have it accepted.

  1. Please sign our Contributor License Agreement.
  2. Fork this Git repository and make your changes.
  3. Create a Pull Request.
  4. Incorporate review feedback to your changes.
  5. Accepted!

License

All files in this repository are under the Apache License, Version 2.0 unless noted otherwise.

compute-image-windows's People

Contributors

adjackura avatar bkatyl avatar derekolds avatar discentem avatar ericsl avatar gaohannk avatar hopkiw avatar illfelder avatar josephlr avatar jpnickolas avatar liubonan avatar ning-yang avatar pandaxbears avatar philwo avatar phunl avatar probablyethan avatar rofuentes avatar same-id avatar wrigri avatar zmarano avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.