Skip to content

Read a Connection

GET
/apis/nodus.dev/v1/namespaces/{namespace}/connections/{name}
curl --request GET \
--url https://example.com/apis/nodus.dev/v1/namespaces/example/connections/example
namespace
required
string

The project.

name
required
string

The object’s name.

OK

Media type application/json

Connection is an external system Nodus talks to for the customer: a database for sinks and query imports, W&B, the GitHub App or an S3 bucket. It is verified through the SSRF-safe dialer and its hosts are pinned.

object
apiVersion
string
kind
string
metadata
object
annotations
object
key
additional properties
string
creationTimestamp
string
deletionGracePeriodSeconds
integer format: int64
deletionTimestamp
string
finalizers
Array<string>
nullable
generateName
string
generation
integer format: int64
labels
object
key
additional properties
string
managedFields
Array<object>
nullable
object
apiVersion
string
fieldsType
string
fieldsV1
object
key
additional properties
manager
string
operation
string
subresource
string
time
string
name
string
namespace
string
ownerReferences
Array<object>
nullable
object
apiVersion
required
string
blockOwnerDeletion
boolean
controller
boolean
kind
required
string
name
required
string
uid
required
string
resourceVersion
string
selfLink
string
uid
string
spec
required

ConnectionSpec is a Connection’s settings.

object
neon

NeonConnection selects a Neon branch.

object
branch

Branch is the Neon branch; empty is the project’s default branch.

string
region

Region is a data residency hint mapped to a region class.

string
s3

S3Connection is a bucket.

object
bucket
required

Bucket is the S3 bucket name.

string
endpoint

Endpoint is an S3-compatible endpoint (https).

string
prefix

Prefix limits the Connection to keys under it; empty is the whole bucket.

string
region
required

Region is the bucket’s region.

string
scope

Scope is Read, Write or ReadWrite for database types.

string
secret

Secret names the credential Secret; not for GitHub.

string
type
required

Type is Postgres, Neon, Supabase, WandB, GitHub or S3; immutable.

string
wandb

WandBConnection is a W&B entity and project.

object
entity
required

Entity is the W&B user or team.

string
live

Live adds run links and WANDB_* env to attached Jobs.

boolean
project
required

Project is the W&B project runs are logged to.

string
status

ConnectionStatus is the last verification.

object
conditions

Conditions carry Verified.

Array<object>
nullable
object
lastTransitionTime
required
string
message
required
string
observedGeneration
integer format: int64
reason
required
string
status
required
string
type
required
string
egressHosts

EgressHosts are pinned hosts added to the egress allowlist of objects that attach it.

Array<string>
nullable
externalId

ExternalID is the AWS external id an S3 Connection’s role trust policy must require; Nodus derives it from the Connection and sends it on every AssumeRole.

string
github

GitHubInstallation is a GitHub App installation.

object
account
required

Account is the GitHub user or organization that installed the App.

string
installationId
required

InstallationID is GitHub’s id of the installation.

integer format: int64
repositories

Repositories are the first repositories the installation can see, as owner/name.

Array<string>
nullable
installURL

InstallURL opens the GitHub App install while a GitHub Connection is Pending.

string
lastVerifiedTime

LastVerifiedTime is the last verification.

string
message

Message is a scrubbed explanation.

string
observedGeneration

ObservedGeneration is the spec generation the status reflects.

integer format: int64
phase

Phase is Pending, Ready (the last verification passed) or Failed.

string
reason

Reason is VerificationFailed or InstallationRemoved.

string
Example generated
{
"apiVersion": "example",
"kind": "example",
"metadata": {
"annotations": {
"additionalProperty": "example"
},
"creationTimestamp": "example",
"deletionGracePeriodSeconds": 1,
"deletionTimestamp": "example",
"finalizers": [
"example"
],
"generateName": "example",
"generation": 1,
"labels": {
"additionalProperty": "example"
},
"managedFields": [
{
"apiVersion": "example",
"fieldsType": "example",
"fieldsV1": {
"additionalProperty": "example"
},
"manager": "example",
"operation": "example",
"subresource": "example",
"time": "example"
}
],
"name": "example",
"namespace": "example",
"ownerReferences": [
{
"apiVersion": "example",
"blockOwnerDeletion": true,
"controller": true,
"kind": "example",
"name": "example",
"uid": "example"
}
],
"resourceVersion": "example",
"selfLink": "example",
"uid": "example"
},
"spec": {
"neon": {
"branch": "example"
},
"region": "example",
"s3": {
"bucket": "example",
"endpoint": "example",
"prefix": "example",
"region": "example"
},
"scope": "example",
"secret": "example",
"type": "example",
"wandb": {
"entity": "example",
"live": true,
"project": "example"
}
},
"status": {
"conditions": [
{
"lastTransitionTime": "example",
"message": "example",
"observedGeneration": 1,
"reason": "example",
"status": "example",
"type": "example"
}
],
"egressHosts": [
"example"
],
"externalId": "example",
"github": {
"account": "example",
"installationId": 1,
"repositories": [
"example"
]
},
"installURL": "example",
"lastVerifiedTime": "example",
"message": "example",
"observedGeneration": 1,
"phase": "example",
"reason": "example"
}
}

An error: a metav1.Status whose reason is a registered code.

Media type application/json

Status is the error body of every API response: a Kubernetes metav1.Status (so kubectl and client-go understand it) plus three top-level extensions that those clients ignore (ADR-028).

object
apiVersion
string
code
integer format: int32
details
object
causes
Array<object>
nullable
object
field
string
message
string
reason
string
group
string
kind
string
name
string
retryAfterSeconds
integer format: int32
uid
string
docs

Docs is the URL of the code’s docs page.

string
fix

Fix says what to do next, for example a CLI command or the field to change.

string
kind
string
message
string
metadata
object
continue
string
remainingItemCount
integer format: int64
resourceVersion
string
selfLink
string
shardInfo
object
selector
required
string
reason
string
requestId

RequestID identifies the request in logs and support tickets.

string
status
string
Example generated
{
"apiVersion": "example",
"code": 1,
"details": {
"causes": [
{
"field": "example",
"message": "example",
"reason": "example"
}
],
"group": "example",
"kind": "example",
"name": "example",
"retryAfterSeconds": 1,
"uid": "example"
},
"docs": "example",
"fix": "example",
"kind": "example",
"message": "example",
"metadata": {
"continue": "example",
"remainingItemCount": 1,
"resourceVersion": "example",
"selfLink": "example",
"shardInfo": {
"selector": "example"
}
},
"reason": "example",
"requestId": "example",
"status": "example"
}