Class ComputeServiceGrpc

java.lang.Object
namespace.cloud.compute.v1beta.ComputeServiceGrpc

public final class ComputeServiceGrpc extends Object
 ComputeService allows the creation, and management of compute instances.
 Compute instances are micro-vm backed environments which boot very quickly
 and are optimized to run containers.
 See https://namespace.so/docs/architecture/compute for an overview.
 ## Access
 ComputeService is segregated into isolated regions for fault tolerance.
 Each of the regional API endpoints offers a view into the compute instances
 running at that location. Reach out to Namespace team at support@namespace.so
 for a list of available regions.
 ```
 https://{region}.compute.namespaceapis.com:443
 # E.g.:
 https://eu.compute.namespaceapis.com:443
 https://us.compute.namespaceapis.com:443
 ```
 See [the overview](https://buf.build/namespace/cloud) for examples accessing
 the API from the console.
 ## SDKs and Examples
 **Go SDK**: [namespacelabs.dev/integrations](https://github.com/namespacelabs/integrations) —
 provides ready-to-use gRPC clients and authentication helpers.
 **TypeScript SDK**: [@namespacelabs/sdk](https://github.com/namespacelabs/typescript-sdk) —
 provides typed clients, authentication, and token management for Node.js.
 **Examples** (Go, TypeScript, Python):
 [createinstance](https://github.com/namespacelabs/examples/tree/master/go/createinstance),
 [kubernetes-demo](https://github.com/namespacelabs/examples/tree/master/typescript/kubernetes-demo),
 [containers-demo](https://github.com/namespacelabs/examples/tree/master/typescript/containers-demo),
 [ingress](https://github.com/namespacelabs/examples/tree/master/go/ingress),
 and [more](https://github.com/namespacelabs/examples).
 ## Authentication
 Calls to the ComputeService require a *tenant token* or a *workload token*
 passed as a Bearer token as part of each call. These are always required.
 A *tenant token* identifies both the workspace that the call operates on, but
 may also constrain the set of actions that the caller may do.
 A *workload token* identifies a running instance, and the workspace it is
 running in. Each running instance has a workload token, which is
 automatically made available to services running inside the instance.
 A *tenant token* can be obtained using the
 [IAM API](https://buf.build/namespace/cloud/docs/main:namespace.cloud.iam.v1beta).
 ## Guest services
 Managed guest services such as docker that are deployed and managed by
 Namespace are reachable using the corresponding standard APIs, through the
 public internet.
 Because these services typically don't support Namespace-based encapsulation,
 a client-side proxy is used to transport the application-specific protocol
 over the Namespace's public ingress, into the instance.
 To facilitate communication, the main underlying mechanism to transport the
 application-specific protocol is WebSockets over HTTPS.
 ### Example: using the Docker API
 To call the Docker API remotely, first obtain the Docker public endpoint by
 querying the set of running Services, using the DescribeInstance call.
 Iterate over `metadata.services` until finding an entry with `name=docker`.
 Establish an HTTPS connection to the contained `endpoint`, and upgrade it to
 a WebSocket. To authenticate your request include an authentication token
 (see Authentication) in the `x-nsc-ingress-auth` header.
 If connecting using a browser, where setting headers is not possible, you can
 instead construct a URL using the base endpoint, and passing
 `x-nsc-ingress-auth` as a query string argument.
 After the WebSocket is established, any frames received or sent of type
 BinaryMessage carry application-specific payload.