Entrypoint

Overview

Entrypoint is the special resource that is used as entrypoint of the gateway. Unlike other resources, only one instance is allowed.

This yaml show the Entrypoint definition with empty spec. Because the Entrypoitn resource is special resource that is allowed only single instance, metadata: is not required and is ignored.

apiVersion: core/v1
kind: Entrypoint
spec: {}

Resource Definition

Entrypoint is defined in the proto/core/v1/entrypoint.proto

syntax = "proto3";
package core.v1;

import "kernel/resource.proto";

option go_package = "github.com/aileron-gateway/aileron-gateway/apis/core/v1";

// Entrypoint resource definition.
// apiVersion="core/v1", kind="Entrypoint".
message Entrypoint {
    string          APIVersion = 1 [json_name = "apiVersion"];
    string          Kind       = 2 [json_name = "kind"];
    kernel.Metadata Metadata   = 3 [json_name = "metadata"];
    EntrypointSpec  Spec       = 4 [json_name = "spec"];
}

// EntrypointSpec is the Entrypoint specification.
message EntrypointSpec {
    // [OPTIONAL]
    // DefaultLogger is the reference to a Logger object
    // that will be used from other resources by default.
    // Object must implement Logger interface.
    // If not set, pre-defined logger is used.
    // Default is not set.
    kernel.Reference DefaultLogger = 1 [json_name = "defaultLogger"];

    // [OPTIONAL]
    // Loggers is the list of references to logger objects.
    // Specified loggers can be referred from other resources
    // by the name "<group>/<version>/<kind>/<namespace>/<name>"
    // from their metadata field
    // for example "core/v1/SLogger/myNamespace/myLogger".
    // Objects must implement logger interface.
    // Default is not set.
    repeated kernel.Reference Loggers = 2 [json_name = "loggers"];

    // [OPTIONAL]
    // DefaultErrorHandler is the reference to a ErrorHandler object
    // that will be used from other resources by default.
    // Referred object must implement ErrorHandler interface.
    // Default ErrorHandler is used when not set.
    kernel.Reference DefaultErrorHandler = 3 [json_name = "defaultErrorHandler"];

    // [OPTIONAL]
    // Runners is the list of reference to runner resources.
    // Referred objects must implement the Runner interface.
    // HTTPServer is a typical example of the resource that can be set to this field.
    // The gateway will exit without doing anything
    // when no runner was specified.
    // The gateway will exit with failure when one of or all of the
    // runners exit with an error.
    repeated kernel.Reference Runners = 4 [json_name = "runners"];

    // [OPTIONAL]
    // Initializers is the reference to the resources
    // that should be initialized before creating runners.
    // Referred objects must implement the Initializer interface.
    // Default is not set.
    repeated kernel.Reference Initializers = 5 [json_name = "initializers"];

    // [OPTIONAL]
    // Finalizers is the reference to the resources
    // that should be finalized on exit of the gateway.
    // Referred objects must implement the Finalizer interface.
    // Default is not set.
    repeated kernel.Reference Finalizers = 6 [json_name = "finalizers"];
}

Last modified June 2, 2025: update docs (df954a4)