Core
Package: core.skv2.solo.io
Types:
- ObjectRef
- ObjectRefList
- ClusterObjectRef
- TypedObjectRef
- TypedClusterObjectRef
- Status
- State
- ObjectSelector
- Expression
- Operator
- PolicyTargetReference
- PolicyTargetReferenceWithSectionName
Source File: github.com/solo-io/skv2/api/core/v1/core.proto
ObjectRef
Resource reference for an object
"name": string
"namespace": string
Field | Type | Description |
---|---|---|
name |
string |
name of the resource being referenced. |
namespace |
string |
namespace of the resource being referenced. |
ObjectRefList
Object providing a list of object refs. Used to store lists of refs inside a map.
"refs": []core.skv2.solo.io.ObjectRef
Field | Type | Description |
---|---|---|
refs |
[]core.skv2.solo.io.ObjectRef |
ClusterObjectRef
Resource reference for a cross-cluster-scoped object
"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. |
TypedObjectRef
Resource reference for a typed object
"apiGroup": .google.protobuf.StringValue
"kind": .google.protobuf.StringValue
"name": string
"namespace": string
Field | Type | Description |
---|---|---|
apiGroup |
.google.protobuf.StringValue | API group of the resource being referenced. |
kind |
.google.protobuf.StringValue | Kind of the resource being referenced. |
name |
string |
name of the resource being referenced. |
namespace |
string |
namespace of the resource being referenced. |
TypedClusterObjectRef
Resource reference for a typed, cross-cluster-scoped object
"apiGroup": .google.protobuf.StringValue
"kind": .google.protobuf.StringValue
"name": string
"namespace": string
"clusterName": string
Field | Type | Description |
---|---|---|
apiGroup |
.google.protobuf.StringValue | API group of the resource being referenced. |
kind |
.google.protobuf.StringValue | 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. |
Status
A generic status
"state": .core.skv2.solo.io.Status.State
"message": string
"observedGeneration": int
"processingTime": .google.protobuf.Timestamp
"owner": .google.protobuf.StringValue
Field | Type | Description |
---|---|---|
state |
.core.skv2.solo.io.Status.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 |
.google.protobuf.Timestamp | The time at which this status was recorded. |
owner |
.google.protobuf.StringValue | (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. |
State
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 processing. |
ACCEPTED |
Finished processing successfully. |
ObjectSelector
Select K8s Objects by namespace, labels, or both.
"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 |
[]core.skv2.solo.io.ObjectSelector.Expression | 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. |
Expression
"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 |
.core.skv2.solo.io.ObjectSelector.Expression.Operator | The operator can only be in, notin, =, ==, !=, exists, ! (DoesNotExist), gt (GreaterThan), lt (LessThan). |
values |
[]string |
Operator
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
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
"group": string
"kind": string
"name": string
"namespace": .google.protobuf.StringValue
Field | Type | Description |
---|---|---|
group |
string |
|
kind |
string |
|
name |
string |
|
namespace |
.google.protobuf.StringValue | Optional, if unspecified, the local namespace of the policy is inferred. |
PolicyTargetReferenceWithSectionName
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
"group": string
"kind": string
"name": string
"namespace": .google.protobuf.StringValue
"sectionName": .google.protobuf.StringValue
Field | Type | Description |
---|---|---|
group |
string |
|
kind |
string |
|
name |
string |
|
namespace |
.google.protobuf.StringValue | Optional, if unspecified, the local namespace of the policy is inferred. |
sectionName |
.google.protobuf.StringValue | 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. |