Equinix Metal

In Juju, Equinix Metal is a machine cloud and works as described below.

Note

This reference assumes basic familiarity with Juju. If you are new to Juju, start with the Tutorial, then use this page together with the generic materials it links to.

Limitations

  • No firewall support: Equinix Metal does not implement firewall support. Workloads deployed to machines under the same project ID can reach each other even across Juju models. Deployed machines are always assigned both a public and a private IP address. Any deployed charms are implicitly exposed. Access control must be implemented at the application level.

Concepts

The following table shows how Equinix Metal abstractions map to Juju concepts:

Equinix Metal

Juju

Provisioned server

machine

Process on a server

unit

Group of units for one workload

application

Attached block storage (if used)

storage

Facility/metro zone

Placement target (zones)

Project ID and API token

Cloud access boundary and credential

The cloud

See also: Cloud, Juju | Manage clouds, Terraform Provider for Juju | Manage clouds

As for all machine clouds, the cloud is registered in Juju via a cloud definition, stored in clouds.yaml on the client (on Linux: ~/.local/share/juju/clouds.yaml) and following this schema:

clouds:
  <cloud-name>:  # Predefined name
    type: equinix
    auth-types:
      - <auth-type>                # See Authentication types below
    config:                        # Optional: model config defaults
      <config-key>: <value>        # See Configuration keys below

Credentials

See also: Credential, Juju | Manage credentials, Terraform Provider for Juju | Manage credentials

As for all machine clouds, credentials are stored in credentials.yaml on the client and follow this schema:

credentials:
  equinix                        # Predefined cloud name for Equinix Metal
    <credential-name>:             # User-defined credential name
      auth-type: <auth-type>       # access-key (the only type)
      <attribute>: <value>         # Auth-type-specific attributes (see below)

Authentication types

Equinix Metal supports the following authentication type:

access-key

Attributes:

  • project-id: Equinix Metal project ID (required).

  • api-token: Equinix Metal API token (required).

Machines

See also: Machine, Juju | Manage machines, Terraform Provider for Juju | Manage machines

Constraints

Equinix Metal supports the following constraints:

Compute

Networking

Constraints not listed above are either not supported or automatically determined by the cloud provider.

Placement directives

Equinix Metal supports the following placement directives:

Storage

Equinix Metal has no cloud-specific storage providers.