Categorygithub.com/hashicorp/scada-client
modulepackage
0.0.0-20230125174617-8334ec876e3d
Repository: https://github.com/hashicorp/scada-client.git
Documentation: pkg.go.dev

# README

SCADA Client

This library provides a Golang client for the HashiCorp SCADA service. SCADA stands for Supervisory Control And Data Acquisition, and as the name implies it allows Atlas to provide control functions and request data from the tools that integrate.

The technical details about how SCADA works are fairly simple. Clients first open a connection to the SCADA service at scada.hashicorp.com on port 7223. This connection is secured by TLS, allowing clients to verify the identity of the servers and to encrypt all communications. Once connected, a handshake is performed where a client provides it's Atlas API credentials so that Atlas can verify the client identity. Once complete, clients keep the connection open in an idle state waiting for commands to be received. Commands map to APIs exposed by the product, and are subject to any ACLs, authentication or authorization mechanisms of the client.

This library is used in various HashiCorp products to integrate with the SCADA system.

Environmental Variables

This library respects the following environment variables:

  • ATLAS_TOKEN: The Atlas token to use for authentication
  • SCADA_ENDPOINT: Overrides the default SCADA endpoint

# Packages

No description provided by the author

# Functions

Dial is used to establish a new connection over TCP.
DialOpts is a parameterized Dial.
DialTLS is used to establish a new connection using TLS/TCP.
NewProvider is used to create a new provider.

# Constants

DefaultBackoff is the amount of time we back off if we encounter and error, and no specific backoff is available.
DefaultEndpoint is the endpoint used if none is provided.
DisconnectDelay is how long we delay the disconnect to allow the RPC to complete.

# Structs

Client is a SCADA compatible client.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
HandshakeRequest is used to authenticate the session.
No description provided by the author
Opts is used to parameterize a Dial.
Provider is a high-level interface to SCADA by which clients declare themselves as a service providing capabilities.
ProviderConfig is used to parameterize a provider.
ProviderService is the service being exposed.

# Type aliases

CapabilityProvider is used to provide a given capability when requested remotely.
No description provided by the author