@gpugrid/endpoints
v1.0.1
Published
gpugrid endpoints module
Readme
@gpugrid/endpoints
gpugrid endpoints module for handling container port exposure and service discovery.
Installation
npm install @gpugrid/endpointsUsage
import {
getJobExposedServices,
getExposePorts,
createHash,
isOperator,
isSpreadMarker
} from '@gpugrid/endpoints';
// Get exposed services for a job
const services = getJobExposedServices(job, 'flow-id-123');
// Get exposed ports for an operation
const ports = getExposePorts(operation);
// Create a hash
const hash = createHash('input-string');
// Check if value is an operator
const isOp = isOperator('%%ops.port%%');API
Types
ExposedService
{
hash: string;
opIndex: number;
opId: string;
port: number | string;
hasHealthCheck: boolean;
}Functions
createHash(inputString: string, idLength?: number): string
Creates a base58-encoded hash from the input string.
getExposePorts(op: Operation<"container/run">): ExposedPort[]
Extracts exposed ports from a container operation.
isOpExposed(op: Operation<"container/run">): boolean
Checks if an operation has exposed ports.
getExposeIdHash(flowId: string, op: number | string, port: number | string): string
Generates a unique hash for an exposed service.
getJobExposeIdHash(job: JobDefinition, flowId: string): string[]
Gets all expose ID hashes for a job.
getJobExposedServices(job: JobDefinition, flowId: string): ExposedService[]
Gets detailed information about all exposed services in a job.
isOperator(v: string | number | object): v is string
Checks if a value is an operator reference (e.g., %%ops.port%%).
isSpreadMarker(v: string | number | object): boolean
Checks if a value is a spread marker object.
Development
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage
npm run test:coverage
# Lint code
npm run eslint
# Fix linting issues
npm run eslint:fixLicense
MIT
