buildlet

command
Version: v0.0.0-...-950e098 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 27, 2022 License: BSD-3-Clause Imports: 40 Imported by: 0

README

Local development notes:

Server:  (TLS stuff is optional)
$ go run $GOROOT/src/crypto/tls/generate_cert.go --host=example.com
$ GCEMETA_password=foo GCEMETA_tls_cert=@cert.pem GCEMETA_tls_key='@key.pem' ./buildlet

Client:
$ curl -O https://go.googlesource.com/go/+archive/3b76b017cabb.tar.gz
$ curl -k --user :foo -X PUT --data-binary "@go-3b76b017cabb.tar.gz" https://localhost:5936/writetgz
$ curl -k --user :foo -d "cmd=src/make.bash" http://127.0.0.1:5937/exec
etc

Documentation

Overview

The buildlet is an HTTP server that untars content to disk and runs commands it has untarred, streaming their output back over HTTP. It is part of Go's continuous build system.

This program intentionally allows remote code execution, and provides no security of its own. It is assumed that any user uses it with an appropriately-configured firewall between their VM instances.

Directories

Path Synopsis
The stage0 command looks up the buildlet's URL from its environment (GCE metadata service, EC2, etc), downloads it, and runs it.
The stage0 command looks up the buildlet's URL from its environment (GCE metadata service, EC2, etc), downloads it, and runs it.
The testssh binary exists to verify that a buildlet container's ssh works, without running the whole coordinator binary in the staging environment.
The testssh binary exists to verify that a buildlet container's ssh works, without running the whole coordinator binary in the staging environment.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL