Table of contents

Location Kinds API

This document describes all the supported location kinds. Your GrayMeta Platform instance may include some or all of these. For an authoritative list, see the Supported location kinds API.

Supported Location Kinds API

Each instance of the GrayMeta Platform may be configured with different locations. The following API call gets a list of supported kinds in your system:

GET /api/data/location-kinds

Example response:

{
	"location_kinds": [
		{
			"id": "remote",
			"name": "Remote",
			"description": "Remote file-system (nfs, cifs) to mount on a local path",
			"configuration": [
				{
					"field": "name",
					"name": "Name",
					"type": "text",
					"placeholder": "Remote Storage 1",
					"required": true
				},
				{
					"field": "source",
					"name": "Server Connection (NFS, CIFS)",
					"type": "text",
					"placeholder": "192.168.50.101:/data",
					"required": true
				},
				{
					"field": "type",
					"name": "Type (nfs/cifs/auto)",
					"type": "text",
					"placeholder": "NFS",
					"required": true
				},
				{
					"field": "options",
					"name": "Options (for mount command)",
					"type": "text",
					"placeholder": "",
					"required": false
				}
			]
		},
		{
			"id": "azure",
			"name": "Azure",
			"description": "Microsoft Azure Blobstore",
			"configuration": [
				{
					"field": "name",
					"name": "Name",
					"type": "text",
					"placeholder": "My Storage 1",
					"required": true
				},
				{
					"field": "account",
					"name": "Storage account name",
					"type": "text",
					"placeholder": "Paste account name here",
					"required": true
				},
				{
					"field": "key",
					"name": "Access key",
					"type": "text",
					"placeholder": "Paste access key here",
					"required": true
				}
			]
		}
	]
}

Supported kinds configuration

Each location kind has its own configuration requirements. All configuration objects are objects with string values.

Microsoft Azure Blob Store

Name: "azure"

Configuration

  • account - The Azure account name
  • key - API access key from Azure

Amazon S3

Name: "s3"

Configuration

  • "access_key_id" - Access Key ID from Amazon S3
  • "secret_key" - Secret key used to access the buckets
  • "region" - Name of the region of the S3 storage

OpenStack Swift

Name: "swift"

Configuration

  • "username" - Username to access the storage
  • "key" - Access key
  • "tenant_name" - Name of the tenant in Swift
  • "tenant_auth_url" - URL of the authentication URL

Google Cloud Storage

Name: "google"

Configuration

  • "json" - Google Cloud Storage account JSON blob
  • "project_id" - Project ID

Oracle

Oracle use their own flavour of the OpenStack Swift API.

Name: "oracle"

Configuration

  • "username" - Username to access the storage
  • "password" - Password to access the storage
  • "authorization_endpoint" - URL of the authentication endpoint to use when connecting to the storage

Dell EMC ECS

Name: "dell"

Configuration

  • "access_key_id" - Access Key ID or User ID
  • "secret_key" - Secret key used to access the buckets
  • "endpoint" - The endpoint for the service

Local (advanced)

Local storage refers to pre-mounted file-systems, such as local hard drives.

Name: "local"

Configuration

  • "path" - Absolute path to a directory

Remote (advanced)

Remote storage refers to network-attached file systems, such as NFS or CIFS.

Name: "remote"

Configuration

  • "source" - Path to the network attached storage
  • "type" - The type of file-system that should be mounted
  • "options" - Comma separated list of type-specific mount options
Types and options

Under the hood, the GrayMeta Platform uses the mount command to connect to remote mounts. Types are operating-system and kernel dependant, but the most common options are ext2, ext3, ext4, xfs, btrfs, vfat, sysfs, proc, nfs and cifs.

  • For more information see online documentation for mount linux command

This documentation is generated from the latest version of GrayMeta Platform. For documentation relevant to your own deployed version, please use the documentation inside the application.