cmd/hostserver-gcp: new service to provision sub-domains

Command hostserver-gcp is a combined DirServer and StoreServer that serves a
synthetic Upspin tree used to configure sub-domains under the domain
upspin.services. Each Upspin user can set the IP address of one sub-domain,
the name of which is a hash of their user name.

Assuming the server is running as host@upspin.io, here's how the user
user@example.com would configure their sub-domain:

  $ upspin mkdir host@upspin.io/user@example.com/127.0.0.1

If that command succeeds, then their host name was created or updated.
(This can be any command that performs a DirServer.Put to that path; the put
command would work, but mkdir is the simpliest choice in this case.)

To find the host name, the user uses a get request, which returns both the
host name and configured IP address:

  $ upspin get host@example.com/user@example.com
  127.0.0.1
  b4c9a289323b21a01c3e940f150eb9b8.upspin.services

This is part of addressing upspin/upspin#411. If a user wants to deploy
their own upspinserver then they must give it a host name in order to
serve TLS. By providing each Upspin user with their own dedicated host
name under upspin.services, we side-step the issue of domain
registration and DNS record configuration (although we can let them use
their own domain if they wish).

The service is already running at host@upspin.io.

Change-Id: Ib861155e7e24449522db7f28126a3ba6f765a66d
Reviewed-on: https://upspin-review.googlesource.com/12120
Reviewed-by: Rob Pike <r@golang.org>
8 files changed
tree: bf9aef747384d9c6c994939515bc3ef3958ae76c
  1. cloud/
  2. cmd/
  3. .gitignore
  4. .travis.yml
  5. AUTHORS
  6. codereview.cfg
  7. CONDUCT.md
  8. CONTRIBUTING.md
  9. CONTRIBUTORS
  10. LICENSE
  11. PATENTS
  12. README.md
README.md

Upspin gcp repository

This repository contains support for running Upspin against Google Cloud Storage and/or Google Container Engine.

See the Setting up upspinserver document for information about running an Upspin service that stores its data in Google Cloud Storage.

See the Deploying Upspin servers to Google Cloud Platform document for information about running an Upspin cluster on Google Container Engine.

See the master repository for more information about the Upspin project.