Skip to content
Get started

List ingresses

client.Ingresses.List(ctx) (*[]Ingress, error)
get/ingresses

List ingresses

ReturnsExpand Collapse
type IngressListResponse []Ingress
ID string

Auto-generated unique identifier

CreatedAt Time

Creation timestamp (RFC3339)

formatdate-time
Name string

Human-readable name

Rules []IngressRule

Routing rules for this ingress

Hostname string

Hostname to match. Can be:

  • Literal: "api.example.com" (exact match on Host header)
  • Pattern: "{instance}.example.com" (dynamic routing based on subdomain)

Pattern hostnames use named captures in curly braces (e.g., {instance}, {app}) that extract parts of the hostname for routing. The extracted values can be referenced in the target.instance field.

Port int64optional

Host port to listen on for this rule (default 80)

Instance string

Target instance name, ID, or capture reference.

  • For literal hostnames: Use the instance name or ID directly (e.g., "my-api")
  • For pattern hostnames: Reference a capture from the hostname (e.g., "{instance}")

When using pattern hostnames, the instance is resolved dynamically at request time.

Port int64

Target port on the instance

RedirectHTTP booloptional

Auto-create HTTP to HTTPS redirect for this hostname (only applies when tls is enabled)

Tls booloptional

Enable TLS termination (certificate auto-issued via ACME).

List ingresses
package main

import (
  "context"
  "fmt"

  "github.com/onkernel/hypeman-go"
  "github.com/onkernel/hypeman-go/option"
)

func main() {
  client := hypeman.NewClient(
    option.WithAPIKey("My API Key"),
  )
  ingresses, err := client.Ingresses.List(context.TODO())
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", ingresses)
}
[
  {
    "id": "2OgJqXsP7j1qLVVYvGJDNiYVlPO",
    "created_at": "2025-01-15T10:00:00Z",
    "name": "my-api-ingress",
    "rules": [
      {
        "match": {
          "hostname": "{instance}.example.com",
          "port": 8080
        },
        "target": {
          "instance": "{instance}",
          "port": 8080
        },
        "redirect_http": true,
        "tls": true
      }
    ]
  }
]
Returns Examples
[
  {
    "id": "2OgJqXsP7j1qLVVYvGJDNiYVlPO",
    "created_at": "2025-01-15T10:00:00Z",
    "name": "my-api-ingress",
    "rules": [
      {
        "match": {
          "hostname": "{instance}.example.com",
          "port": 8080
        },
        "target": {
          "instance": "{instance}",
          "port": 8080
        },
        "redirect_http": true,
        "tls": true
      }
    ]
  }
]