Project: Gloo (Orchestration & Management / API Gateway)
File: core.proto.sk.md

title: "core.proto" weight: 5 <!-- Code generated by solo-kit. DO NOT EDIT. --> Resource reference for an object ```yaml "name": string "namespace": string ``` | Field | Type | Description | | -- | - | -- | | `name` | `string` | name of the resource being referenced. | | `namespace` | `string` | namespace of the resource being referenced. | Object providing a list of object refs. Used to store lists of refs inside a map. ```yaml "refs": []core.skv2.solo.io.ObjectRef ``` | Field | Type | Description | | -- | - | -- | | `refs` | | | Resource reference for a cross-cluster-scoped object ```yaml "name": string "namespace": string "clusterName": string ``` | Field | Type | Description | | -- | - | -- | | `name` | `string` | name of the resource being referenced. | | `namespace` | `string` | namespace of the resource being referenced. | | `clusterName` | `string` | name of the cluster in which the resource exists. | Resource reference for a typed object ```yaml "apiGroup": .google.protobuf.StringValue "kind": .google.protobuf.StringValue "name": string "namespace": string ``` | Field | Type | Description | | -- | - | -- | | `apiGroup` | | API group of the resource being referenced. | | `kind` | | Kind of the resource being referenced. | | `name` | `string` | name of the resource being referenced. | | `namespace` | `string` | namespace of the resource being referenced. | Resource reference for a typed, cross-cluster-scoped object ```yaml "apiGroup": .google.protobuf.StringValue "kind": .google.protobuf.StringValue "name": string "namespace": string "clusterName": string ``` | Field | Type | Description | | -- | - | -- | | `apiGroup` | | API group of the resource being referenced. | | `kind` | | Kind of the resource being referenced. | | `name` | `string` | name of the resource being referenced. | | `namespace` | `string` | namespace of the resource being referenced. | | `clusterName` | `string` | name of the cluster in which the resource exists. | A generic status ```yaml "state": .core.skv2.solo.io.Status.State "message": string "observedGeneration": int "processingTime": .google.protobuf.Timestamp "owner": .google.protobuf.StringValue ``` | Field | Type | Description | | -- | - | -- | | `state` | | The current state of the resource. | | `message` | `string` | A human readable message about the current state of the object. | | `observedGeneration` | `int` | The most recently observed generation of the resource. This value corresponds to the `metadata.generation` of a kubernetes resource. | | `processingTime` | | The time at which this status was recorded. | | `owner` | | (optional) The owner of the status, this value can be used to identify the entity which wrote this status. This is useful in situations where a given resource may have multiple owners. | The State of a reconciled object | Name | Description | | -- | -- | | `PENDING` | Waiting to be processed. | | `PROCESSING` | Currently processing. | | `INVALID` | Invalid parameters supplied, will not continue. | | `FAILED` | Failed during

| | `ACCEPTED` | Finished processing successfully. | Select K8s Objects by namespace, labels, or both. ```yaml "namespaces": []string "labels": map<string, string> "expressions": []core.skv2.solo.io.ObjectSelector.Expression ``` | Field | Type | Description | | -- | - | -- | | `namespaces` | `[]string` | Select Objects in these namespaces. If omitted, Gloo Mesh will only select Objects in the same namespace as the parent resource (e.g. VirtualGateway) that owns this selector. The reserved value "*" can be used to select objects in all namespaces watched by Gloo Mesh. | | `labels` | `map<string, string>` | Select objects whose labels match the ones specified here. | | `expressions` | | Expressions allow for more flexible object label matching, such as equality-based requirements, set-based requirements, or a combination of both. https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#equality-based-requirement. | ```yaml "key": string "operator": .core.skv2.solo.io.ObjectSelector.Expression.Operator "values": []string ``` | Field | Type | Description | | -- | - | -- | | `key` | `string` | Kubernetes label key, must conform to Kubernetes syntax requirements https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set. | | `operator` | | The operator can only be in, notin, =, ==, !=, exists, ! (DoesNotExist), gt (GreaterThan), lt (LessThan). | | `values` | `[]string` | | Object Selector expression operator, while the set-based syntax differs from Kubernetes (kubernetes: `key: !mylabel`, gloo: `key: mylabel, operator: "!"` | kubernetes: `key: mylabel`, gloo: `key: mylabel, operator: exists`), the functionality remains the same. | Name | Description | | -- | -- | | `Equals` | = | | `DoubleEquals` | == | | `NotEquals` | != | | `In` | in | | `NotIn` | notin | | `Exists` | exists | | `DoesNotExist` | ! | | `GreaterThan` | gt | | `LessThan` | lt | PolicyTargetReference identifies Gateway API objects to directly apply policy to. This is a copy of the upstream K8s Gateway API `targetRef` API. See the following for more information: https://gateway-api.sigs.k8s.io/geps/gep-713/ https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io%2fv1alpha2.PolicyTargetReference https://github.com/kubernetes-sigs/gateway-api/blob/b4f0307cc9269e73187300e72979e7e111ab74ab/apis/v1alpha2/policy_types.go#L34-L56 ```yaml "group": string "kind": string "name": string "namespace": .google.protobuf.StringValue ``` | Field | Type | Description | | -- | - | -- | | `group` | `string` | | | `kind` | `string` | | | `name` | `string` | | | `namespace` | | Optional, if unspecified, the local namespace of the policy is inferred. | PolicyTargetReferenceWithSectionName identifies Gateway API objects, and optionally a specific section of those objects, to directly apply policy to. This is a copy of the upstream K8s Gateway API `targetRef` API. See the following for more information: https://gateway-api.sigs.k8s.io/geps/gep-713/ https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io%2fv1alpha2.PolicyTargetReferenceWithSectionName https://github.com/kubernetes-sigs/gateway-api/blob/b4f0307cc9269e73187300e72979e7e111ab74ab/apis/v1alpha2/policy_types.go#L58-L83 ```yaml "group": string "kind": string "name": string "namespace": .google.protobuf.StringValue "sectionName": .google.protobuf.StringValue ``` | Field | Type | Description | | -- | - | -- | | `group` | `string` | | | `kind` | `string` | | | `name` | `string` | | | `namespace` | | Optional, if unspecified, the local namespace of the policy is inferred. | | `sectionName` | | Name of the section within the targeted resource to attach to. For `Gateway` resources, this refers to a `Listener` name. Optional, if unspecified, the entire object referenced is selected. | <!-- Start of HubSpot Embed Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/5130874.js"></script> <!-- End of HubSpot Embed Code -->