customers

Customers

Home | Configuration | Running | Client


Configuration

The following environment variables can be set to configure behavior in Customers.

Environment Variable Description Default
HTTPS_CERT_FILE Filepath containing a certificate (or intermediate chain) to be served by the HTTP server. Requires all traffic to be served over a secure HTTP connection. Empty
HTTPS_KEY_FILE Filepath of a private key matching the leaf certificate from HTTPS_CERT_FILE. Empty
DATABASE_TYPE Which database to use (Options: sqlite, mysql) sqlite
PREVENT_INSECURE_STARTUP Configures application to fail to start if security-specific configuration variables are missing. false

Fed

The Moov Fed service is used for routing number lookup and verification.

Environment Variable Description Default
FED_ENDPOINT HTTP address for Moov Fed interaction to lookup ABA routing numbers. http://fed.apps.svc.cluster.local:8080
FED_DEBUG_CALLS Print debugging information with all Fed API calls. false

PayGate

The Moov PayGate service is used to initiate micro-deposits for account validation.

Environment Variable Description Default
PAYGATE_ENDPOINT HTTP address for Moov PayGate interactions. http://paygate.apps.svc.cluster.local:8080
PAYGATE_DEBUG_CALLS Print debugging information with all PayGate API calls. false

Watchman

The Moov Watchman service is used for OFAC and other sanctions list searching and compliance.

Environment Variable Description Default
OFAC_MATCH_THRESHOLD Percent match against OFAC data that’s required for PayGate to block a transaction. 99%
WATCHMAN_ENDPOINT HTTP address for OFAC interaction, defaults to Kubernetes inside clusters and local dev otherwise. Kubernetes DNS
WATCHMAN_DEBUG_CALLS Print debugging information with all Watchman API calls. false

Account Numbers

Customers has an endpoint which encrypts an account number for transit to another service. This encryption is done using a symmetric key from the other service.

Account Validation

Following parameters should be set through the environment to configure the account validation strategy with Plaid or Atrium:

Plaid

See Plaid’s documentation for more information.

MX Atrium

See MX Atrium’s documenation for more information.

Database

Based on DATABASE_TYPE, the following environment variables will be used to configure connections for a specific database.

MySQL

Refer to the mysql driver documentation for more information on connection parameters.

SQLite

Refer to the sqlite driver documentation for more information on connection parameters.

Persistent Storage

The following environment variables control which service is initialized for persistent storage. These all follow a similar blob storage API provided by a library that Google built and maintains.

AWS S3 Storage (aws)

For more information see the Go Cloud Development Kit docs for s3blob. The following environment variables are used to configure AWS S3 storage:

Google Cloud Storage (gcp)

For more information see the Go Cloud Development Kit docs for gcsblob. Google’s auth uses the standard service account authorization when deploying services. The following environment variables are used to configure GCP storage:

Local Filesystem Storage (file)

For more information see the Go Cloud Development Kit docs for fileblob. This is the default if no provider is specified. The following environment variables are used to configure local storage:

Secrets (key management) Providers

The following environment variables control which service is utilized for secret key management. These all follow a similar key management API provided by a library that Google built and maintains.

Local Filesystem (local)

The local secrets keeper (see GoCloud Dev Kit - Secrets) uses a 32-byte, base64-encoded encryption/decryption key. This value must be in the form base64key://$VALUE where $VAlUE is encryption/decryption key.

This repository provides a script for generating properly formatted local keys (see ./cmd/genkey). New keys can be generated by running go run ./cmd/genkey

Google Cloud Storage (gcp)

This secrets provider uses the Google Cloud Key Management Service (KMS). Secret Keys are identified by a GCP Resource ID in the form projects/project-id/locations/location/keyRings/keyring/cryptoKeys/key and their documentation has more details.

HashiCorp Vault Storage (vault)

Next - Running