Files
netbird-kubernetes-operator/charts/netbird-operator/crds/netbird.io_networkresources.yaml
T

207 lines
9.0 KiB
YAML
Raw Normal View History

2026-04-23 08:55:49 +02:00
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.20.1
name: networkresources.netbird.io
spec:
group: netbird.io
names:
kind: NetworkResource
listKind: NetworkResourceList
plural: networkresources
singular: networkresource
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.conditions[?(@.type=="Ready")].status
name: Ready
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: NetworkResource is the Schema for the networkresources API.
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: NetworkResourceSpec defines the desired state of NetworkResource.
properties:
groups:
description: Groups are references to groups that the resource will
be a part of.
items:
properties:
id:
2026-04-23 13:12:09 +02:00
description: ID is the id of the group.
2026-04-23 08:55:49 +02:00
type: string
localRef:
2026-04-23 13:12:09 +02:00
description: LocalReference is a reference to a group in the
2026-04-23 08:55:49 +02:00
same namespace.
properties:
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
type: object
x-kubernetes-map-type: atomic
2026-04-23 13:12:09 +02:00
name:
description: Name is the name of the group.
type: string
2026-04-23 08:55:49 +02:00
type: object
x-kubernetes-validations:
2026-04-23 13:12:09 +02:00
- message: Exactly one of id, name, or localRef must be set
rule: (has(self.id)?1:0)+(has(self.name)?1:0)+(has(self.localRef)?1:0)==1
2026-04-23 08:55:49 +02:00
type: array
networkRouterRef:
description: NetworkRouterRef is a reference to the network and router
where the resource will be created.
properties:
name:
description: Name of the referent.
type: string
namespace:
description: Namespace of the referent.
type: string
required:
- name
- namespace
type: object
x-kubernetes-validations:
- message: Value is immutable
rule: self == oldSelf
serviceRef:
description: ServiceRef is a reference to the service to expose in
the Network.
properties:
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
type: string
type: object
x-kubernetes-map-type: atomic
required:
- networkRouterRef
- serviceRef
type: object
status:
default:
observedGeneration: -1
description: NetworkResourceStatus defines the observed state of NetworkResource.
properties:
conditions:
description: Conditions holds the conditions for the NetworkResource.
items:
description: Condition contains details for one aspect of the current
state of this API Resource.
properties:
lastTransitionTime:
description: |-
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format: date-time
type: string
message:
description: |-
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength: 32768
type: string
observedGeneration:
description: |-
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format: int64
minimum: 0
type: integer
reason:
description: |-
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
maxLength: 1024
minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
type: string
status:
description: status of the condition, one of True, False, Unknown.
enum:
- "True"
- "False"
- Unknown
type: string
type:
description: type of condition in CamelCase or in foo.example.com/CamelCase.
maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
required:
- lastTransitionTime
- message
- reason
- status
- type
type: object
type: array
x-kubernetes-list-map-keys:
- type
x-kubernetes-list-type: map
dnsRecordID:
description: DNSRecordID is the id of the created DNS record.
type: string
dnsZoneID:
description: DNSZoneID is the id of the zone the DNS record is created
in.
type: string
networkID:
description: NetworkID is the id of the network the resource is created
in.
type: string
observedGeneration:
description: ObservedGeneration is the last reconciled generation.
format: int64
type: integer
resourceID:
description: ResourceID is the id of the created resource.
type: string
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}