Entrypoint
概要
Entrypoint はゲートウェイのエントリーポイントとして使われる特別なリソースです。
他のリソースとは異なり、インスタンスは一つだけ許可されています。
以下の YAML は、空の spec を持つ Entrypoint 定義の例です。
Entrypoint リソースは一つだけ許可される特別なリソースであるため、metadata:
は不要であり、指定されたとしても無視されます。
apiVersion: core/v1
kind: Entrypoint
spec: {}
リソース定義
Entrypoint は proto/core/v1/entrypoint.proto に定義されています。
1syntax = "proto3";
2package core.v1;
3
4import "kernel/resource.proto";
5
6option go_package = "github.com/aileron-gateway/aileron-gateway/apis/core/v1";
7
8// Entrypoint resource definition.
9// apiVersion="core/v1", kind="Entrypoint".
10message Entrypoint {
11 string APIVersion = 1 [json_name = "apiVersion"];
12 string Kind = 2 [json_name = "kind"];
13 kernel.Metadata Metadata = 3 [json_name = "metadata"];
14 EntrypointSpec Spec = 4 [json_name = "spec"];
15}
16
17// EntrypointSpec is the Entrypoint specification.
18message EntrypointSpec {
19 // [OPTIONAL]
20 // DefaultLogger is the reference to a Logger object
21 // that will be used from other resources by default.
22 // Object must implement Logger interface.
23 // If not set, pre-defined logger is used.
24 // Default is not set.
25 kernel.Reference DefaultLogger = 1 [json_name = "defaultLogger"];
26
27 // [OPTIONAL]
28 // Loggers is the list of references to logger objects.
29 // Specified loggers can be referred from other resources
30 // by the name "<group>/<version>/<kind>/<namespace>/<name>"
31 // from their metadata field
32 // for example "core/v1/SLogger/myNamespace/myLogger".
33 // Objects must implement logger interface.
34 // Default is not set.
35 repeated kernel.Reference Loggers = 2 [json_name = "loggers"];
36
37 // [OPTIONAL]
38 // DefaultErrorHandler is the reference to a ErrorHandler object
39 // that will be used from other resources by default.
40 // Referred object must implement ErrorHandler interface.
41 // Default ErrorHandler is used when not set.
42 kernel.Reference DefaultErrorHandler = 3 [json_name = "defaultErrorHandler"];
43
44 // [OPTIONAL]
45 // Runners is the list of reference to runner resources.
46 // Referred objects must implement the Runner interface.
47 // HTTPServer is a typical example of the resource that can be set to this field.
48 // The gateway will exit without doing anything
49 // when no runner was specified.
50 // The gateway will exit with failure when one of or all of the
51 // runners exit with an error.
52 repeated kernel.Reference Runners = 4 [json_name = "runners"];
53
54 // [OPTIONAL]
55 // Initializers is the reference to the resources
56 // that should be initialized before creating runners.
57 // Referred objects must implement the Initializer interface.
58 // Default is not set.
59 repeated kernel.Reference Initializers = 5 [json_name = "initializers"];
60
61 // [OPTIONAL]
62 // Finalizers is the reference to the resources
63 // that should be finalized on exit of the gateway.
64 // Referred objects must implement the Finalizer interface.
65 // Default is not set.
66 repeated kernel.Reference Finalizers = 6 [json_name = "finalizers"];
67}
YAML構造
core/v1/Entrypoint:
1apiVersion: <string>
2kind: <string>
3metadata: <object>
4 name: <string>
5 namespace: <string>
6spec: <object>
7 defaultLogger: <object>
8 apiVersion: <string>
9 kind: <string>
10 name: <string>
11 namespace: <string>
12 loggers: <[]object>
13 - apiVersion: <string>
14 kind: <string>
15 name: <string>
16 namespace: <string>
17 defaultErrorHandler: <object>
18 apiVersion: <string>
19 kind: <string>
20 name: <string>
21 namespace: <string>
22 runners: <[]object>
23 - apiVersion: <string>
24 kind: <string>
25 name: <string>
26 namespace: <string>
27 initializers: <[]object>
28 - apiVersion: <string>
29 kind: <string>
30 name: <string>
31 namespace: <string>
32 finalizers: <[]object>
33 - apiVersion: <string>
34 kind: <string>
35 name: <string>
36 namespace: <string>
例
フィードバック
このページは役に立ちましたか?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.