The Google GCE cloud and Juju

List of supported clouds > Google GCE

This document describes details specific to using your existing Google GCE cloud with Juju.

See more: Google GCE

When using the Google GCE cloud with Juju, it is important to keep in mind that it is a (1) machine cloud and (2) not some other cloud.

See more: Cloud differences in Juju

As the differences related to (1) are already documented generically in our Tutorial, How-to guides, and Reference docs, here we record just those that follow from (2).

Juju points of variation Notes for the Google GCE cloud
setup (chronological order):
CLOUD
supported versions:
requirements: Permissions: Service Account Key Admin, Compute Instance Admin, and Compute Security Admin.
See more: Google | Compute Engine IAM roles and permissions.
definition: :information_source: Juju automatically defines a cloud of this type.
- name: google or user-defined
- type: gce
- authentication types: [oauth2, jsonfile]
- regions: [TO BE ADDED]
- cloud-specific model configuration keys: base-image-path (string)
Sets the base path to look for machine disk images.
CREDENTIAL
definition: auth-type: jsonfile or oauth2
> See more: Google | Authenticate to Compute Engine, Google | Create and delete service account keys

If you want to use environment variables:

- CLOUDSDK_COMPUTE_REGION

- GOOGLE_APPLICATION_CREDENTIALS=<link to JSON credentials file>

CONTROLLER
notes on bootstrap:
other (alphabetical order:)
CONSTRAINT
conflicting: [instance-type] vs. [arch, cores, cpu-power, mem]
supported?
- allocate-public-ip :white_check_mark:
- arch :white_check_mark:
- container :white_check_mark:
- cores :white_check_mark:
- cpu-power :white_check_mark:
- image-id :x:
- instance-role :x:
- instance-type :white_check_mark:
- mem :white_check_mark:
- root-disk :white_check_mark:
- root-disk-source :x:
- spaces :x:
- tags :x:
- virt-type :x:
- zones :white_check_mark:
PLACEMENT DIRECTIVE
<machine> TBA
subnet=... :x:
system-id=... :x:
zone=... :white_check_mark:
MACHINE
RESOURCE (cloud)

Consistent naming, tagging, and the ability to add user-controlled tags to created instances.

:x: