2020-07-01 11:03:49 +00:00
|
|
|
---
|
|
|
|
layout: docs
|
|
|
|
page_title: Plugins
|
|
|
|
sidebar_title: Plugins
|
|
|
|
description: Plugins are used to architect the Nomad Autoscaler into distinct areas.
|
|
|
|
---
|
|
|
|
|
|
|
|
# Nomad Autoscaler Plugins
|
|
|
|
|
|
|
|
Plugins are an essential part of the Nomad Autoscaler architecture. The Autoscaler
|
|
|
|
uses the [go-plugin][go_plugin_github] library to implement an ecosystem of
|
|
|
|
different types of plugins. Each plugin type is responsible for a specific task;
|
|
|
|
APM plugins retrieve metrics about the workloads being monitored and Strategy
|
|
|
|
plugins decide which actions Nomad should execute to keep the policy valid. The
|
|
|
|
flexibility of plugins allows the Nomad Autoscaler to be extended to meet specific
|
|
|
|
business requirements or technology use cases.
|
|
|
|
|
|
|
|
The Nomad Autoscaler currently ships with a number of built-in plugins to ease
|
2020-07-08 22:42:41 +00:00
|
|
|
the learning curve. Details of these can be found in the side menu, under the
|
|
|
|
specific plugin type sections.
|
2020-07-01 11:03:49 +00:00
|
|
|
|
|
|
|
# General Options
|
|
|
|
|
|
|
|
All plugins which require Nomad API connectivity support the parameters detailed
|
|
|
|
below. These plugins include Nomad APM, Nomad Target and all cluster scaling
|
|
|
|
targets.
|
|
|
|
|
|
|
|
- `nomad_config_inherit` `(bool: true)` - A boolean flag which indicates whether
|
|
|
|
the plugin should inherit the agents Nomad configuration parameters. Plugins
|
|
|
|
can override individual parameters and have their Nomad configuration merged
|
|
|
|
with that of the agent.
|
|
|
|
|
|
|
|
- `nomad_address` `(string: "")` - The address of the Nomad server in the form
|
2020-07-08 22:42:41 +00:00
|
|
|
of `protocol://addr:port`.
|
2020-07-01 11:03:49 +00:00
|
|
|
|
|
|
|
- `nomad_region` `(string: "")` - The region of the Nomad servers to connect with.
|
|
|
|
|
|
|
|
- `nomad_namespace` `(string: "")` - The target namespace for queries and actions
|
|
|
|
bound to a namespace.
|
|
|
|
|
|
|
|
- `nomad_token` `(string: "")` - The SecretID of an ACL token to use to authenticate
|
|
|
|
API requests with.
|
|
|
|
|
|
|
|
- `nomad_http-auth` `(string: "")` - The authentication information to use when
|
|
|
|
connecting to a Nomad API which is using HTTP authentication.
|
|
|
|
|
|
|
|
- `nomad_ca-cert` `(string: "")` - Path to a PEM encoded CA cert file to use to
|
|
|
|
verify the Nomad server SSL certificate.
|
|
|
|
|
|
|
|
- `nomad_ca-path` `(string: "")` - Path to a directory of PEM encoded CA cert
|
|
|
|
files to verify the Nomad server SSL certificate.
|
|
|
|
|
|
|
|
- `nomad_client-cert` `(string: "")` - Path to a PEM encoded client certificate
|
|
|
|
for TLS authentication to the Nomad server.
|
|
|
|
|
|
|
|
- `nomad-client-key` `(string: "")` - Path to an unencrypted PEM encoded private
|
|
|
|
key matching the client certificate.
|
|
|
|
|
|
|
|
- `nomad_tls-server-name` `(string: "")` - The server name to use as the SNI
|
|
|
|
host when connecting via TLS.
|
|
|
|
|
|
|
|
- `nomad_skip-verify` `(string: "")` - Do not verify TLS certificates. This is
|
|
|
|
strongly discouraged.
|
|
|
|
|
|
|
|
[go_plugin_github]: https://github.com/hashicorp/go-plugin
|