From d72d37626e3754398690f449fb28a5ff9ecd3d66 Mon Sep 17 00:00:00 2001 From: Artem Bortnikov <82099337+aobort@users.noreply.github.com> Date: Mon, 4 Mar 2024 15:18:56 +0200 Subject: [PATCH] Chore/bump dependencies (#457) * bump go version Signed-off-by: Artem Bortnikov * bump dependencies Signed-off-by: Artem Bortnikov * fix tests Signed-off-by: Artem Bortnikov * fix linting Signed-off-by: Artem Bortnikov * get rid of onmetal Signed-off-by: Artem Bortnikov * fixed ipam and ironcore versions Signed-off-by: Artem Bortnikov * go mod tidy Signed-off-by: Artem Bortnikov * fix helpers test Signed-off-by: Artem Bortnikov * Fix irictl-machine build --------- Signed-off-by: Artem Bortnikov Co-authored-by: Georgi Chulkov --- Dockerfile | 3 +- Makefile | 6 +- client/openapi/zz_generated.openapi.go | 2 +- .../crd/additional/ipam.onmetal.de_ips.yaml | 125 --------- .../additional/ipam.onmetal.de_subnets.yaml | 221 ---------------- config/crd/additional/onmetal.de_oobs.yaml | 149 ----------- .../additional/oob.onmetal.de_machines.yaml | 107 -------- .../bases/metal.ironcore.dev_aggregates.yaml | 25 +- .../bases/metal.ironcore.dev_benchmarks.yaml | 19 +- .../bases/metal.ironcore.dev_inventories.yaml | 19 +- .../bases/metal.ironcore.dev_machines.yaml | 40 +-- .../metal.ironcore.dev_networkswitches.yaml | 222 ++++++++-------- .../crd/bases/metal.ironcore.dev_sizes.yaml | 25 +- .../metal.ironcore.dev_switchconfigs.yaml | 237 +++++++++--------- config/rbac/role.yaml | 60 ++--- config/samples/ipam_v1alpha1_subnet.yaml | 4 +- .../samples/machine_v1alpha1_inventory.yaml | 2 +- config/samples/machine_v1alpha1_size.yaml | 2 +- config/samples/oob_v1_machine.yaml | 4 +- config/samples/switch_v1beta1_switch.yaml | 14 +- .../testdata/standalone-switches-v4.yaml | 4 +- config/samples/testdata/switch-ranges-v4.yaml | 4 +- config/samples/testdata/switch-ranges-v6.yaml | 4 +- config/samples/testdata/switches-v4.yaml | 4 +- config/samples/testdata/switches-v6.yaml | 4 +- config/samples/testdata/underlay-network.yaml | 4 +- .../machine/machine_pool_controller.go | 6 +- .../machine/machine_power_controller.go | 8 +- .../machine_power_controller_test.go | 2 +- .../machine/metal_api_test/suite_test.go | 24 +- controllers/onboarding/indexName.go | 4 +- controllers/onboarding/inventory.go | 10 +- controllers/onboarding/machine.go | 2 +- controllers/switch/controllers_test.go | 2 +- controllers/switch/ipam_controller.go | 10 +- controllers/switch/suite_test.go | 9 +- controllers/switch/switch_controller.go | 2 +- docs/concepts/switch.md | 2 +- docs/development/installation.md | 4 +- docs/usage/loopbacks.md | 4 +- docs/usage/switch.md | 4 +- go.mod | 62 ++--- go.sum | 124 ++++----- hack/tools.go | 1 - main.go | 4 +- metal-provider/main.go | 5 +- metal-provider/servers/grpc_server.go | 6 +- metal-provider/tools.go | 11 + pkg/switches/environment.go | 2 +- pkg/switches/helpers.go | 10 +- pkg/switches/helpers_test.go | 10 +- pkg/switches/state_funcs_test.go | 2 +- .../onboarding/fake/client.go | 4 +- .../onboarding/loopbackAddressRepository.go | 2 +- .../onboarding/loopbackSubnetRepository.go | 2 +- .../onboarding/serverRepository.go | 2 +- .../switch/networks/overlay-network.yaml | 2 +- test_samples/switch/subnets/carrier-v4.yaml | 2 +- test_samples/switch/subnets/carrier-v6.yaml | 2 +- test_samples/switch/subnets/loopbacks-v4.yaml | 2 +- test_samples/switch/subnets/loopbacks-v6.yaml | 2 +- .../loopbacks/leaf-1.loopback-v4.yaml | 2 +- .../loopbacks/leaf-1.loopback-v6.yaml | 2 +- .../loopbacks/leaf-2.loopback-v4.yaml | 2 +- .../loopbacks/leaf-2.loopback-v6.yaml | 2 +- .../loopbacks/spine-1.loopback-v4.yaml | 2 +- .../loopbacks/spine-1.loopback-v6.yaml | 2 +- .../loopbacks/spine-2.loopback-v4.yaml | 2 +- .../loopbacks/spine-2.loopback-v6.yaml | 2 +- .../subnets/00-spine-1.subnet-v4.yaml | 2 +- .../subnets/00-spine-1.subnet-v6.yaml | 2 +- .../subnets/01-spine-2.subnet-v4.yaml | 2 +- .../subnets/01-spine-2.subnet-v6.yaml | 2 +- .../subnets/02-leaf-1.subnet-v4.yaml | 2 +- .../subnets/02-leaf-1.subnet-v6.yaml | 2 +- .../subnets/03-leaf-2.subnet-v4.yaml | 2 +- .../subnets/03-leaf-2.subnet-v6.yaml | 2 +- 77 files changed, 570 insertions(+), 1122 deletions(-) delete mode 100644 config/crd/additional/ipam.onmetal.de_ips.yaml delete mode 100644 config/crd/additional/ipam.onmetal.de_subnets.yaml delete mode 100644 config/crd/additional/onmetal.de_oobs.yaml delete mode 100644 config/crd/additional/oob.onmetal.de_machines.yaml create mode 100644 metal-provider/tools.go diff --git a/Dockerfile b/Dockerfile index 350f3572..de77fcbc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,8 +11,7 @@ COPY go.sum go.sum COPY hack/ hack/ # cache deps before building and copying source so that we don't need to re-download as much # and so that source changes don't invalidate our downloaded layer -RUN --mount=type=ssh --mount=type=secret,id=github_pat GITHUB_PAT_PATH=/run/secrets/github_pat ./hack/setup-git-redirect.sh \ - && mkdir -p -m 0600 ~/.ssh \ +RUN mkdir -p -m 0600 ~/.ssh \ && ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts \ && go mod download diff --git a/Makefile b/Makefile index 382565e1..678e6009 100644 --- a/Makefile +++ b/Makefile @@ -6,8 +6,6 @@ CRD_OPTIONS ?= "crd" # Docker image name for the mkdocs based local development setup IMAGE=metal-api/documentation -GOPRIVATE ?= "github.com/onmetal/*" - # Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) ifeq (,$(shell go env GOBIN)) GOBIN=$(shell go env GOPATH)/bin @@ -173,8 +171,8 @@ KUSTOMIZE ?= $(LOCAL_BIN)/kustomize ## Tools versions ADDLICENSE_VERSION ?= v1.1.1 -CONTROLLER_GEN_VERSION ?= v0.13.0 -GOLANGCI_LINT_VERSION ?= v1.55.2 +CONTROLLER_GEN_VERSION ?= v0.14.0 +GOLANGCI_LINT_VERSION ?= v1.56.2 GOIMPORTS_VERSION ?= v0.16.1 ENVTEST_K8S_VERSION ?= 1.28.3 CODE_GENERATOR_VERSION ?= v0.28.3 diff --git a/client/openapi/zz_generated.openapi.go b/client/openapi/zz_generated.openapi.go index 4be7e60f..ef083168 100644 --- a/client/openapi/zz_generated.openapi.go +++ b/client/openapi/zz_generated.openapi.go @@ -10803,7 +10803,7 @@ func schema_k8sio_api_core_v1_PersistentVolumeStatus(ref common.ReferenceCallbac }, "lastPhaseTransitionTime": { SchemaProps: spec.SchemaProps{ - Description: "lastPhaseTransitionTime is the time the phase transitioned from one to another and automatically resets to current time everytime a volume phase transitions. This is an alpha field and requires enabling PersistentVolumeLastPhaseTransitionTime feature.", + Description: "lastPhaseTransitionTime is the time the phase transitioned from one to another and automatically resets to current time everytime a volume phase transitions. This is a beta field and requires the PersistentVolumeLastPhaseTransitionTime feature to be enabled (enabled by default).", Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), }, }, diff --git a/config/crd/additional/ipam.onmetal.de_ips.yaml b/config/crd/additional/ipam.onmetal.de_ips.yaml deleted file mode 100644 index 1960f3e7..00000000 --- a/config/crd/additional/ipam.onmetal.de_ips.yaml +++ /dev/null @@ -1,125 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.11.1 - creationTimestamp: null - name: ips.ipam.onmetal.de -spec: - group: ipam.onmetal.de - names: - kind: IP - listKind: IPList - plural: ips - singular: ip - scope: Namespaced - versions: - - additionalPrinterColumns: - - description: IP Address - jsonPath: .status.reserved - name: IP - type: string - - description: Subnet - jsonPath: .spec.subnet.name - name: Subnet - type: string - - description: Consumer Group - jsonPath: .spec.consumer.apiVersion - name: Consumer Group - type: string - - description: Consumer Kind - jsonPath: .spec.consumer.kind - name: Consumer Kind - type: string - - description: Consumer Name - jsonPath: .spec.consumer.name - name: Consumer Name - type: string - - description: Processing state - jsonPath: .status.state - name: State - type: string - - description: Message - jsonPath: .status.message - name: Message - type: string - name: v1alpha1 - schema: - openAPIV3Schema: - description: IP is the Schema for the ips 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: IPSpec defines the desired state of IP - properties: - consumer: - description: Consumer refers to resource IP has been booked for - properties: - apiVersion: - description: APIVersion is resource's API group - maxLength: 253 - minLength: 1 - pattern: ^[a-z0-9]([-./a-z0-9]*[a-z0-9])?$ - type: string - kind: - description: Kind is CRD Kind for lookup - maxLength: 63 - minLength: 1 - pattern: ^[A-Z]([-A-Za-z0-9]*[A-Za-z0-9])?$ - type: string - name: - description: Name is CRD Name for lookup - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - required: - - kind - - name - type: object - ip: - description: IP allows to set desired IP address explicitly - type: string - subnet: - description: SubnetName is referring to parent subnet that holds requested - IP - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - required: - - subnet - type: object - status: - description: IPStatus defines the observed state of IP - properties: - message: - description: Message contains error details if the one has occurred - type: string - reserved: - description: Reserved is a reserved IP - type: string - state: - description: State is a network creation request processing state - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/config/crd/additional/ipam.onmetal.de_subnets.yaml b/config/crd/additional/ipam.onmetal.de_subnets.yaml deleted file mode 100644 index 1d3d2f59..00000000 --- a/config/crd/additional/ipam.onmetal.de_subnets.yaml +++ /dev/null @@ -1,221 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.11.1 - creationTimestamp: null - name: subnets.ipam.onmetal.de -spec: - group: ipam.onmetal.de - names: - kind: Subnet - listKind: SubnetList - plural: subnets - singular: subnet - scope: Namespaced - versions: - - additionalPrinterColumns: - - description: Parent Subnet - jsonPath: .spec.parentSubnet.name - name: Parent Subnet - type: string - - description: Parent Network - jsonPath: .spec.network.name - name: Parent Network - type: string - - description: Reserved CIDR - jsonPath: .status.reserved - name: Reserved - type: string - - description: Address Type - jsonPath: .status.type - name: Address Type - type: string - - description: Locality - jsonPath: .status.locality - name: Locality - type: string - - description: Amount of ones in netmask - jsonPath: .status.prefixBits - name: Prefix Bits - type: string - - description: Capacity - jsonPath: .status.capacity - name: Capacity - type: string - - description: Capacity Left - jsonPath: .status.capacityLeft - name: Capacity Left - type: string - - description: Consumer Group - jsonPath: .spec.consumer.apiVersion - name: Consumer Group - type: string - - description: Consumer Kind - jsonPath: .spec.consumer.kind - name: Consumer Kind - type: string - - description: Consumer Name - jsonPath: .spec.consumer.name - name: Consumer Name - type: string - - description: State - jsonPath: .status.state - name: State - type: string - - description: Message - jsonPath: .status.message - name: Message - type: string - name: v1alpha1 - schema: - openAPIV3Schema: - description: Subnet is the Schema for the subnets 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: SubnetSpec defines the desired state of Subnet - properties: - capacity: - anyOf: - - type: integer - - type: string - description: Capacity is a desired amount of addresses; will be ceiled - to the closest power of 2. - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - cidr: - description: CIDR represents the IP Address Range - type: string - consumer: - description: Consumer refers to resource Subnet has been booked for - properties: - apiVersion: - description: APIVersion is resource's API group - maxLength: 253 - minLength: 1 - pattern: ^[a-z0-9]([-./a-z0-9]*[a-z0-9])?$ - type: string - kind: - description: Kind is CRD Kind for lookup - maxLength: 63 - minLength: 1 - pattern: ^[A-Z]([-A-Za-z0-9]*[A-Za-z0-9])?$ - type: string - name: - description: Name is CRD Name for lookup - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - required: - - kind - - name - type: object - network: - description: NetworkName contains a reference (name) to the network - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - parentSubnet: - description: ParentSubnetName contains a reference (name) to the parent - subent - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - prefixBits: - description: PrefixBits is an amount of ones zero bits at the beginning - of the netmask - maximum: 128 - minimum: 0 - type: integer - regions: - description: Regions represents the network service location - items: - properties: - availabilityZones: - items: - type: string - minItems: 1 - type: array - name: - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-./a-z0-9]*[a-z0-9])?$ - type: string - required: - - availabilityZones - - name - type: object - type: array - required: - - network - type: object - status: - description: SubnetStatus defines the observed state of Subnet - properties: - capacity: - anyOf: - - type: integer - - type: string - description: Capacity shows total capacity of CIDR - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - capacityLeft: - anyOf: - - type: integer - - type: string - description: CapacityLeft shows remaining capacity (excluding capacity - of child subnets) - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - locality: - description: Locality represents subnet regional coverated - type: string - message: - description: Message contains an error string for the failed State - type: string - prefixBits: - description: PrefixBits is an amount of ones zero bits at the beginning - of the netmask - type: integer - reserved: - description: Reserved is a CIDR that was reserved - type: string - state: - description: State represents the cunnet processing state - type: string - type: - description: Type represents whether CIDR is an IPv4 or IPv6 - type: string - vacant: - description: Vacant shows CIDR ranges available for booking - items: - type: string - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/config/crd/additional/onmetal.de_oobs.yaml b/config/crd/additional/onmetal.de_oobs.yaml deleted file mode 100644 index 02575dbb..00000000 --- a/config/crd/additional/onmetal.de_oobs.yaml +++ /dev/null @@ -1,149 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.10.0 - creationTimestamp: null - name: oobs.onmetal.de -spec: - group: onmetal.de - names: - kind: OOB - listKind: OOBList - plural: oobs - singular: oob - scope: Namespaced - versions: - - additionalPrinterColumns: - - description: UUID - jsonPath: .status.uuid - name: UUID - priority: 10 - type: string - - description: IP - jsonPath: .spec.ip - name: IP - type: string - - description: Manufacturer - jsonPath: .status.manufacturer - name: MANUFACTURER - type: string - - description: Type - jsonPath: .status.type - name: TYPE - type: string - - description: Power State - jsonPath: .status.power - name: POWER - type: string - - description: LocatorLED - jsonPath: .status.locatorLED - name: LED - type: string - name: v1alpha1 - schema: - openAPIV3Schema: - description: OOB is the Schema for the oobs 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: OOBSpec defines the desired state of OOB - properties: - ip: - pattern: ((^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$)) - type: string - locatorLED: - pattern: ^(?:None|On|Off|Blinking)$ - type: string - mac: - pattern: ^[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}$ - type: string - passwordExpiration: - format: date-time - type: string - port: - maximum: 65536 - minimum: 0 - type: integer - power: - pattern: ^(?:None|On|Off|OffImmediate)$ - type: string - protocol: - minLength: 1 - type: string - reset: - pattern: ^(?:None|Reset|ResetImmediate)$ - type: string - tags: - items: - properties: - key: - minLength: 1 - type: string - value: - minLength: 1 - type: string - type: object - type: array - uuid: - pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ - type: string - type: object - status: - description: OOBStatus defines the observed state of OOB - properties: - capabilities: - items: - type: string - type: array - locatorLED: - pattern: ^(?:On|Off|Blinking)$ - type: string - manufacturer: - minLength: 1 - type: string - os: - pattern: ^(?:Ok|Waiting|TimedOut)$ - type: string - osReadDeadline: - format: date-time - type: string - osReason: - minLength: 1 - type: string - power: - pattern: ^(?:On|Off)$ - type: string - serialNumber: - minLength: 1 - type: string - shutdownDeadline: - format: date-time - type: string - sku: - minLength: 1 - type: string - type: - minLength: 1 - type: string - uuid: - pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} \ No newline at end of file diff --git a/config/crd/additional/oob.onmetal.de_machines.yaml b/config/crd/additional/oob.onmetal.de_machines.yaml deleted file mode 100644 index 029a7bd3..00000000 --- a/config/crd/additional/oob.onmetal.de_machines.yaml +++ /dev/null @@ -1,107 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - name: machines.oob.onmetal.de -spec: - group: oob.onmetal.de - names: - kind: Machine - listKind: MachineList - plural: machines - singular: machine - scope: Namespaced - versions: - - additionalPrinterColumns: - - description: UUID - jsonPath: .status.uuid - name: UUID - priority: 10 - type: string - - description: Manufacturer - jsonPath: .status.manufacturer - name: MANUFACTURER - type: string - - description: Power State - jsonPath: .status.powerState - name: POWER - type: string - name: v1 - schema: - openAPIV3Schema: - description: Machine is the Schema for the machines 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: MachineSpec defines the desired state of Machine - properties: - locatorLED: - pattern: ^(?:On|Off|Blinking|Unknown)$ - type: string - osReadDeadline: - format: date-time - type: string - powerState: - pattern: ^(?:On|Reset|ResetImmediate|Off|OffImmediate)$ - type: string - shutdownDeadline: - format: date-time - type: string - type: object - status: - description: MachineStatus defines the observed state of Machine - properties: - locatorLED: - pattern: ^(?:On|Off|Blinking|Unknown)$ - type: string - manufacturer: - minLength: 1 - type: string - mid: - minLength: 1 - type: string - powerState: - pattern: ^(?:On|Off)$ - type: string - serialNumber: - minLength: 1 - type: string - sku: - minLength: 1 - type: string - systemState: - pattern: ^(?:Ok|Unknown)$ - type: string - systemStateMessage: - minLength: 1 - type: string - systemStateReadTimeout: - type: boolean - uuid: - pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] \ No newline at end of file diff --git a/config/crd/bases/metal.ironcore.dev_aggregates.yaml b/config/crd/bases/metal.ironcore.dev_aggregates.yaml index 7d78d2a0..c19853e1 100644 --- a/config/crd/bases/metal.ironcore.dev_aggregates.yaml +++ b/config/crd/bases/metal.ironcore.dev_aggregates.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: aggregates.metal.ironcore.dev spec: group: metal.ironcore.dev @@ -20,14 +20,19 @@ spec: description: Aggregate is the Schema for the aggregates 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' + 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' + 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 @@ -39,9 +44,9 @@ spec: items: properties: aggregate: - description: Aggregate defines whether collection values should - be aggregated for constraint checks, in case if path defines - selector for collection + description: |- + Aggregate defines whether collection values should be aggregated + for constraint checks, in case if path defines selector for collection enum: - avg - sum diff --git a/config/crd/bases/metal.ironcore.dev_benchmarks.yaml b/config/crd/bases/metal.ironcore.dev_benchmarks.yaml index c1eebf08..317f5e8a 100644 --- a/config/crd/bases/metal.ironcore.dev_benchmarks.yaml +++ b/config/crd/bases/metal.ironcore.dev_benchmarks.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: benchmarks.metal.ironcore.dev spec: group: metal.ironcore.dev @@ -20,14 +20,19 @@ spec: description: Benchmark is the Schema for the machines 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' + 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' + 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 diff --git a/config/crd/bases/metal.ironcore.dev_inventories.yaml b/config/crd/bases/metal.ironcore.dev_inventories.yaml index 9f0f1df7..a58c1092 100644 --- a/config/crd/bases/metal.ironcore.dev_inventories.yaml +++ b/config/crd/bases/metal.ironcore.dev_inventories.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: inventories.metal.ironcore.dev spec: group: metal.ironcore.dev @@ -45,14 +45,19 @@ spec: description: Inventory is the Schema for the inventories 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' + 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' + 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 diff --git a/config/crd/bases/metal.ironcore.dev_machines.yaml b/config/crd/bases/metal.ironcore.dev_machines.yaml index 2c316927..95c2d7c1 100644 --- a/config/crd/bases/metal.ironcore.dev_machines.yaml +++ b/config/crd/bases/metal.ironcore.dev_machines.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: machines.metal.ironcore.dev spec: group: metal.ironcore.dev @@ -33,18 +33,24 @@ spec: name: v1alpha4 schema: openAPIV3Schema: - description: Machine - is the data structure for a Machine resource. It contains - an aggregated information from Inventory and OOB resources. + description: |- + Machine - is the data structure for a Machine resource. + It contains an aggregated information from Inventory and OOB resources. 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' + 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' + 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 @@ -89,8 +95,9 @@ spec: description: MachineStatus - defines machine aggregated info. properties: health: - description: Health - defines machine condition. "healthy" if both - OOB and Inventory are presented and "unhealthy" if one of them isn't + description: |- + Health - defines machine condition. + "healthy" if both OOB and Inventory are presented and "unhealthy" if one of them isn't type: string network: description: Network - defines machine network status @@ -147,9 +154,9 @@ spec: from Link Layer Discovery Protocol type: string lldp_system_name: - description: LLDPSystemName - defines switch name obtained - from Link Layer Discovery Protocol layer 2 neighbor - discovery protocol + description: |- + LLDPSystemName - defines switch name obtained from Link Layer Discovery Protocol + layer 2 neighbor discovery protocol type: string resource_reference: description: ResourceReference refers to the related @@ -206,8 +213,9 @@ spec: description: Ports - defines number of machine ports type: integer redundancy: - description: 'Redundancy - defines machine redundancy status. - Available values: "Single", "HighAvailability" or "None"' + description: |- + Redundancy - defines machine redundancy status. + Available values: "Single", "HighAvailability" or "None" pattern: ^(?:Single|HighAvailability|None)$ type: string unknown_ports: diff --git a/config/crd/bases/metal.ironcore.dev_networkswitches.yaml b/config/crd/bases/metal.ironcore.dev_networkswitches.yaml index ef60c415..783f63a4 100644 --- a/config/crd/bases/metal.ironcore.dev_networkswitches.yaml +++ b/config/crd/bases/metal.ironcore.dev_networkswitches.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: networkswitches.metal.ironcore.dev spec: group: metal.ironcore.dev @@ -48,14 +48,19 @@ spec: description: NetworkSwitch is the Schema for switches 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' + 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' + 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 @@ -64,33 +69,34 @@ spec: configuration. properties: configSelector: - description: ConfigSelector contains selector to filter out corresponding - SwitchConfig. If the selector is not defined, it will be populated - by defaulting webhook with MatchLabels item, containing 'metal.ironcore.dev/layer' - key with value equals to object's .status.layer. + description: |- + ConfigSelector contains selector to filter out corresponding SwitchConfig. + If the selector is not defined, it will be populated by defaulting webhook + with MatchLabels item, containing 'metal.ironcore.dev/layer' key with value + equals to object's .status.layer. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -103,11 +109,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -200,26 +205,25 @@ spec: selector requirements. The requirements are ANDed. items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If - the operator is Exists or DoesNotExist, - the values array must be empty. This array - is replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -231,12 +235,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". - The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -283,13 +285,15 @@ spec: type: array type: object inventoryRef: - description: InventoryRef contains reference to corresponding inventory - object Empty InventoryRef means that there is no corresponding Inventory - object + description: |- + InventoryRef contains reference to corresponding inventory object + Empty InventoryRef means that there is no corresponding Inventory object properties: name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? type: string type: object x-kubernetes-map-type: atomic @@ -302,13 +306,11 @@ spec: which will be assigned to switch's loopback interface properties: fieldSelector: - description: FieldSelector contains label key and field path - where to get label value for search. If FieldSelector is - used as part of IPAM configuration in SwitchConfig object - it will reference to the field path in related NetworkSwitch - object. If FieldSelector is used as part of IPAM configuration - in NetworkSwitch object, it will reference to the field - path in the same object + description: |- + FieldSelector contains label key and field path where to get label value for search. + If FieldSelector is used as part of IPAM configuration in SwitchConfig object it will + reference to the field path in related NetworkSwitch object. If FieldSelector is used as part of IPAM + configuration in NetworkSwitch object, it will reference to the field path in the same object properties: fieldRef: description: FieldRef contains reference to the field @@ -338,8 +340,8 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -347,17 +349,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists or - DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -369,11 +370,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -383,13 +383,11 @@ spec: will be assigned to switch properties: fieldSelector: - description: FieldSelector contains label key and field path - where to get label value for search. If FieldSelector is - used as part of IPAM configuration in SwitchConfig object - it will reference to the field path in related NetworkSwitch - object. If FieldSelector is used as part of IPAM configuration - in NetworkSwitch object, it will reference to the field - path in the same object + description: |- + FieldSelector contains label key and field path where to get label value for search. + If FieldSelector is used as part of IPAM configuration in SwitchConfig object it will + reference to the field path in related NetworkSwitch object. If FieldSelector is used as part of IPAM + configuration in NetworkSwitch object, it will reference to the field path in the same object properties: fieldRef: description: FieldRef contains reference to the field @@ -419,8 +417,8 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -428,17 +426,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists or - DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -450,11 +447,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -529,13 +525,15 @@ spec: type: object type: array configRef: - description: ConfigRef contains reference to corresponding SwitchConfig - object Empty ConfigRef means that there is no corresponding SwitchConfig - object + description: |- + ConfigRef contains reference to corresponding SwitchConfig object + Empty ConfigRef means that there is no corresponding SwitchConfig object properties: name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? type: string type: object x-kubernetes-map-type: atomic @@ -609,7 +607,8 @@ spec: minimum: 1 type: integer macAddress: - description: MACAddress refers to the interface's hardware address + description: |- + MACAddress refers to the interface's hardware address validation pattern type: string mtu: @@ -624,8 +623,9 @@ spec: to current switch port properties: chassisId: - description: ChassisID refers to the chassis identificator - - either MAC-address or system uuid validation pattern + description: |- + ChassisID refers to the chassis identificator - either MAC-address or system uuid + validation pattern type: string name: description: Name contains name of the referenced object @@ -716,13 +716,15 @@ spec: - edge-leaf type: string routingConfigTemplate: - description: RoutingConfigTemplate contains the reference to the ConfigMap - object which contains go-template for FRR config. This field reflects - the corresponding field of the related SwitchConfig object. + description: |- + RoutingConfigTemplate contains the reference to the ConfigMap object which contains go-template for FRR config. + This field reflects the corresponding field of the related SwitchConfig object. properties: name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? type: string type: object x-kubernetes-map-type: atomic @@ -748,7 +750,9 @@ spec: - IPv6 type: string cidr: - description: CIDR refers to subnet CIDR validation pattern + description: |- + CIDR refers to subnet CIDR + validation pattern type: string network: description: Contains information to locate the referenced object diff --git a/config/crd/bases/metal.ironcore.dev_sizes.yaml b/config/crd/bases/metal.ironcore.dev_sizes.yaml index 8cbe6786..9309d11e 100644 --- a/config/crd/bases/metal.ironcore.dev_sizes.yaml +++ b/config/crd/bases/metal.ironcore.dev_sizes.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: sizes.metal.ironcore.dev spec: group: metal.ironcore.dev @@ -20,14 +20,19 @@ spec: description: Size is the Schema for the sizes 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' + 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' + 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 @@ -41,9 +46,9 @@ spec: should be applied on resource. properties: agg: - description: Aggregate defines whether collection values should - be aggregated for constraint checks, in case if path defines - selector for collection + description: |- + Aggregate defines whether collection values should be aggregated + for constraint checks, in case if path defines selector for collection enum: - avg - sum diff --git a/config/crd/bases/metal.ironcore.dev_switchconfigs.yaml b/config/crd/bases/metal.ironcore.dev_switchconfigs.yaml index 1a112180..93ae012d 100644 --- a/config/crd/bases/metal.ironcore.dev_switchconfigs.yaml +++ b/config/crd/bases/metal.ironcore.dev_switchconfigs.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.13.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: switchconfigs.metal.ironcore.dev spec: group: metal.ironcore.dev @@ -22,14 +22,19 @@ spec: description: SwitchConfig is the Schema for switch config 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' + 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' + 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 @@ -57,17 +62,16 @@ spec: type: boolean type: object carrierSubnets: - description: CarrierSubnets contains label selector for Subnet - object where switch's south subnet should be reserved + description: |- + CarrierSubnets contains label selector for Subnet object where switch's south subnet + should be reserved properties: fieldSelector: - description: FieldSelector contains label key and field path - where to get label value for search. If FieldSelector is - used as part of IPAM configuration in SwitchConfig object - it will reference to the field path in related NetworkSwitch - object. If FieldSelector is used as part of IPAM configuration - in NetworkSwitch object, it will reference to the field - path in the same object + description: |- + FieldSelector contains label key and field path where to get label value for search. + If FieldSelector is used as part of IPAM configuration in SwitchConfig object it will + reference to the field path in related NetworkSwitch object. If FieldSelector is used as part of IPAM + configuration in NetworkSwitch object, it will reference to the field path in the same object properties: fieldRef: description: FieldRef contains reference to the field @@ -97,8 +101,8 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -106,17 +110,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists or - DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -128,11 +131,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -142,13 +144,11 @@ spec: which should be referenced as switch's loopback addresses properties: fieldSelector: - description: FieldSelector contains label key and field path - where to get label value for search. If FieldSelector is - used as part of IPAM configuration in SwitchConfig object - it will reference to the field path in related NetworkSwitch - object. If FieldSelector is used as part of IPAM configuration - in NetworkSwitch object, it will reference to the field - path in the same object + description: |- + FieldSelector contains label key and field path where to get label value for search. + If FieldSelector is used as part of IPAM configuration in SwitchConfig object it will + reference to the field path in related NetworkSwitch object. If FieldSelector is used as part of IPAM + configuration in NetworkSwitch object, it will reference to the field path in the same object properties: fieldRef: description: FieldRef contains reference to the field @@ -178,8 +178,8 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -187,17 +187,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists or - DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -209,27 +208,25 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic type: object loopbackSubnets: - description: LoopbackSubnets contains label selector for Subnet - object where switch's loopback IP addresses should be reserved + description: |- + LoopbackSubnets contains label selector for Subnet object where switch's loopback + IP addresses should be reserved properties: fieldSelector: - description: FieldSelector contains label key and field path - where to get label value for search. If FieldSelector is - used as part of IPAM configuration in SwitchConfig object - it will reference to the field path in related NetworkSwitch - object. If FieldSelector is used as part of IPAM configuration - in NetworkSwitch object, it will reference to the field - path in the same object + description: |- + FieldSelector contains label key and field path where to get label value for search. + If FieldSelector is used as part of IPAM configuration in SwitchConfig object it will + reference to the field path in related NetworkSwitch object. If FieldSelector is used as part of IPAM + configuration in NetworkSwitch object, it will reference to the field path in the same object properties: fieldRef: description: FieldRef contains reference to the field @@ -259,8 +256,8 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -268,17 +265,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists or - DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -290,11 +286,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -304,13 +299,11 @@ spec: which will be assigned to switch properties: fieldSelector: - description: FieldSelector contains label key and field path - where to get label value for search. If FieldSelector is - used as part of IPAM configuration in SwitchConfig object - it will reference to the field path in related NetworkSwitch - object. If FieldSelector is used as part of IPAM configuration - in NetworkSwitch object, it will reference to the field - path in the same object + description: |- + FieldSelector contains label key and field path where to get label value for search. + If FieldSelector is used as part of IPAM configuration in SwitchConfig object it will + reference to the field path in related NetworkSwitch object. If FieldSelector is used as part of IPAM + configuration in NetworkSwitch object, it will reference to the field path in the same object properties: fieldRef: description: FieldRef contains reference to the field @@ -340,8 +333,8 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -349,17 +342,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists or - DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -371,11 +363,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -386,8 +377,9 @@ spec: - loopbackSubnets type: object portsDefaults: - description: PortsDefaults contains switch port parameters which will - be applied to all ports of the switches which fit selector conditions + description: |- + PortsDefaults contains switch port parameters which will be applied to all ports of the switches + which fit selector conditions properties: fec: description: FEC refers to forward error correction method which @@ -436,8 +428,10 @@ spec: object which contains go-template for FRR config properties: name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? type: string type: object x-kubernetes-map-type: atomic @@ -449,24 +443,24 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -479,11 +473,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index 98e3c5d9..db186606 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -142,7 +142,7 @@ rules: - patch - update - apiGroups: - - ipam.onmetal.de + - ipam.ironcore.dev resources: - ips verbs: @@ -155,13 +155,13 @@ rules: - update - watch - apiGroups: - - ipam.onmetal.de + - ipam.ironcore.dev resources: - ips/status verbs: - get - apiGroups: - - ipam.onmetal.de + - ipam.ironcore.dev resources: - subnets verbs: @@ -174,11 +174,37 @@ rules: - update - watch - apiGroups: - - ipam.onmetal.de + - ipam.ironcore.dev resources: - subnets/status verbs: - get +- apiGroups: + - ironcore.dev + resources: + - oobs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - ironcore.dev + resources: + - oobs/finalizers + verbs: + - update +- apiGroups: + - ironcore.dev + resources: + - oobs/status + verbs: + - get + - patch + - update - apiGroups: - metal.ironcore.dev resources: @@ -371,32 +397,6 @@ rules: - get - list - watch -- apiGroups: - - onmetal.de - resources: - - oobs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - onmetal.de - resources: - - oobs/finalizers - verbs: - - update -- apiGroups: - - onmetal.de - resources: - - oobs/status - verbs: - - get - - patch - - update - apiGroups: - rbac.authorization.k8s.io resources: diff --git a/config/samples/ipam_v1alpha1_subnet.yaml b/config/samples/ipam_v1alpha1_subnet.yaml index ae66d172..6ee88be2 100644 --- a/config/samples/ipam_v1alpha1_subnet.yaml +++ b/config/samples/ipam_v1alpha1_subnet.yaml @@ -1,8 +1,8 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: ipv4-cidr-subnet-sample - namespace: onmetal + namespace: metal labels: "loopback": "loopback-v4" spec: diff --git a/config/samples/machine_v1alpha1_inventory.yaml b/config/samples/machine_v1alpha1_inventory.yaml index 2b8addb3..cf673975 100644 --- a/config/samples/machine_v1alpha1_inventory.yaml +++ b/config/samples/machine_v1alpha1_inventory.yaml @@ -2,7 +2,7 @@ apiVersion: metal.ironcore.dev/v1alpha4 kind: Inventory metadata: name: a967954c-3475-11b2-a85c-84d8b4f8cd2d - namespace: onmetal + namespace: metal labels: metal.ironcore.dev/size-m5.metal: "true" metal.ironcore.dev/size-machine: "true" diff --git a/config/samples/machine_v1alpha1_size.yaml b/config/samples/machine_v1alpha1_size.yaml index 2b27464d..e1e2274e 100644 --- a/config/samples/machine_v1alpha1_size.yaml +++ b/config/samples/machine_v1alpha1_size.yaml @@ -2,7 +2,7 @@ apiVersion: metal.ironcore.dev/v1alpha4 kind: Size metadata: name: m5.metal - namespace: onmetal + namespace: metal spec: constraints: - path: "spec.system.manufacturer" diff --git a/config/samples/oob_v1_machine.yaml b/config/samples/oob_v1_machine.yaml index b18c09f4..54f53078 100644 --- a/config/samples/oob_v1_machine.yaml +++ b/config/samples/oob_v1_machine.yaml @@ -1,8 +1,8 @@ -apiVersion: onmetal.de/v1alpha1 +apiVersion: ironcore.dev/v1alpha1 kind: OOB metadata: name: a967954c-3475-11b2-a85c-84d8b4f8cd2d - namespace: onmetal + namespace: metal spec: power: "Off" status: diff --git a/config/samples/switch_v1beta1_switch.yaml b/config/samples/switch_v1beta1_switch.yaml index a67a1b90..b8872e81 100644 --- a/config/samples/switch_v1beta1_switch.yaml +++ b/config/samples/switch_v1beta1_switch.yaml @@ -74,14 +74,14 @@ status: conditions: [] subnets: - name: "some-subnet" - namespace: "onmetal" + namespace: "metal" cidr: "100.64.2.0/23" region: availabilityZone: "A" name: "eu-west" loopbackAddresses: - name: "loopback-ip" - namespace: "onmetal" + namespace: "metal" address: "100.64.11.1/32" interfaces: Ethernet0: @@ -94,11 +94,11 @@ status: direction: "south" ip: - address: "192.168.100.1/24" - namespace: "onmetal" + namespace: "metal" name: "some-additional-ip" - address: "100.64.2.1/30" name: "ethernet0-computed-ip" - namespace: "onmetal" + namespace: "metal" Ethernet1: macAddress: "68215f47176e" fec: "rs" @@ -110,7 +110,7 @@ status: ip: - address: "100.64.2.5/30" name: "ethernet1-computed-ip" - namespace: "onmetal" + namespace: "metal" Ethernet2: macAddress: "68215f47176e" fec: "rs" @@ -122,7 +122,7 @@ status: ip: - address: "100.64.2.9/30" name: "ethernet2-computed-ip" - namespace: "onmetal" + namespace: "metal" Ethernet3: macAddress: "68215f47176e" fec: "rs" @@ -134,6 +134,6 @@ status: ip: - address: "100.64.2.13/30" name: "ethernet3-computed-ip" - namespace: "onmetal" + namespace: "metal" totalPorts: 4 switchPorts: 4 \ No newline at end of file diff --git a/config/samples/testdata/standalone-switches-v4.yaml b/config/samples/testdata/standalone-switches-v4.yaml index 9d5f05c4..6921f120 100644 --- a/config/samples/testdata/standalone-switches-v4.yaml +++ b/config/samples/testdata/standalone-switches-v4.yaml @@ -1,8 +1,8 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: switches-v4 - namespace: onmetal + namespace: metal spec: cidr: "100.64.11.0/24" network: diff --git a/config/samples/testdata/switch-ranges-v4.yaml b/config/samples/testdata/switch-ranges-v4.yaml index 5dbc1e7f..85e6db74 100644 --- a/config/samples/testdata/switch-ranges-v4.yaml +++ b/config/samples/testdata/switch-ranges-v4.yaml @@ -1,8 +1,8 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: switch-ranges-v4 - namespace: onmetal + namespace: metal spec: cidr: "100.64.0.0/16" network: diff --git a/config/samples/testdata/switch-ranges-v6.yaml b/config/samples/testdata/switch-ranges-v6.yaml index 332fa128..9cded8db 100644 --- a/config/samples/testdata/switch-ranges-v6.yaml +++ b/config/samples/testdata/switch-ranges-v6.yaml @@ -1,8 +1,8 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: switch-ranges-v6 - namespace: onmetal + namespace: metal spec: cidr: "64:ff9b:1::/112" network: diff --git a/config/samples/testdata/switches-v4.yaml b/config/samples/testdata/switches-v4.yaml index 23269897..5150c0d7 100644 --- a/config/samples/testdata/switches-v4.yaml +++ b/config/samples/testdata/switches-v4.yaml @@ -1,8 +1,8 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: switches-v4 - namespace: onmetal + namespace: metal spec: capacity: 255 parentSubnet: diff --git a/config/samples/testdata/switches-v6.yaml b/config/samples/testdata/switches-v6.yaml index 63087898..e322baed 100644 --- a/config/samples/testdata/switches-v6.yaml +++ b/config/samples/testdata/switches-v6.yaml @@ -1,8 +1,8 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: switches-v6 - namespace: onmetal + namespace: metal spec: capacity: 255 parentSubnet: diff --git a/config/samples/testdata/underlay-network.yaml b/config/samples/testdata/underlay-network.yaml index 96a25b43..ee7738cc 100644 --- a/config/samples/testdata/underlay-network.yaml +++ b/config/samples/testdata/underlay-network.yaml @@ -1,7 +1,7 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Network metadata: name: underlay - namespace: onmetal + namespace: metal spec: description: sample \ No newline at end of file diff --git a/controllers/machine/machine_pool_controller.go b/controllers/machine/machine_pool_controller.go index 30060b60..2b74b7bc 100644 --- a/controllers/machine/machine_pool_controller.go +++ b/controllers/machine/machine_pool_controller.go @@ -24,9 +24,9 @@ import ( ) const ( - MachineFinalizer = "metal-api.onmetal.de/machine-finalizer" - MachinePoolOOBNameAnnotation = "metal-api.onmetal.de/oob-name" - MachinePoolOOBNamespaceAnnotation = "metal-api.onmetal.de/oob-namespace" + MachineFinalizer = "metal.ironcore.dev/machine-finalizer" + MachinePoolOOBNameAnnotation = "metal.ironcore.dev/oob-name" + MachinePoolOOBNamespaceAnnotation = "metal.ironcore.dev/oob-namespace" ) var OOBServiceAddr = poolv1alpha1.MachinePoolAddress{ diff --git a/controllers/machine/machine_power_controller.go b/controllers/machine/machine_power_controller.go index 0970b02c..8f8753ef 100644 --- a/controllers/machine/machine_power_controller.go +++ b/controllers/machine/machine_power_controller.go @@ -9,7 +9,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/event" "sigs.k8s.io/controller-runtime/pkg/predicate" - oobv1 "github.com/onmetal/oob-operator/api/v1alpha1" + oobv1 "github.com/ironcore-dev/oob/api/v1alpha1" "github.com/go-logr/logr" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -31,9 +31,9 @@ type MachinePowerReconciler struct { // +kubebuilder:rbac:groups=metal.ironcore.dev,resources=machines,verbs=get;list;watch;create;update;patch;delete // +kubebuilder:rbac:groups=metal.ironcore.dev,resources=machines/status,verbs=get;update;patch // +kubebuilder:rbac:groups=metal.ironcore.dev,resources=machines/finalizers,verbs=update -// +kubebuilder:rbac:groups=onmetal.de,resources=oobs,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=onmetal.de,resources=oobs/status,verbs=get;update;patch -// +kubebuilder:rbac:groups=onmetal.de,resources=oobs/finalizers,verbs=update +// +kubebuilder:rbac:groups=ironcore.dev,resources=oobs,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=ironcore.dev,resources=oobs/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=ironcore.dev,resources=oobs/finalizers,verbs=update func (r *MachinePowerReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { log := r.Log.WithValues("namespace", req.NamespacedName) diff --git a/controllers/machine/metal_api_test/machine_power_controller_test.go b/controllers/machine/metal_api_test/machine_power_controller_test.go index b67a2395..e2321b44 100644 --- a/controllers/machine/metal_api_test/machine_power_controller_test.go +++ b/controllers/machine/metal_api_test/machine_power_controller_test.go @@ -10,7 +10,7 @@ import ( domain "github.com/ironcore-dev/metal/domain/reservation" - oobv1 "github.com/onmetal/oob-operator/api/v1alpha1" + oobv1 "github.com/ironcore-dev/oob/api/v1alpha1" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/controllers/machine/metal_api_test/suite_test.go b/controllers/machine/metal_api_test/suite_test.go index 9d972c04..c69104b5 100644 --- a/controllers/machine/metal_api_test/suite_test.go +++ b/controllers/machine/metal_api_test/suite_test.go @@ -8,12 +8,14 @@ import ( "path/filepath" "testing" + ipamv1alpha1 "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" + switchespkg "github.com/ironcore-dev/metal/pkg/switches" metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server" metalv1alpha4 "github.com/ironcore-dev/metal/apis/metal/v1alpha4" controllers "github.com/ironcore-dev/metal/controllers/machine" - oobonmetal "github.com/onmetal/oob-operator/api/v1alpha1" + oobv1alpha1 "github.com/ironcore-dev/oob/api/v1alpha1" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" @@ -48,26 +50,36 @@ func TestMachineController(t *testing.T) { } var _ = BeforeSuite(func() { + var ( + metalCRDPath, oobCRDPath, ipamCRDPath string + err error + ) + logf.SetLogger(zap.New(zap.WriteTo(GinkgoWriter), zap.UseDevMode(true))) By("bootstrapping test environment") + metalCRDPath = filepath.Join("..", "..", "..", "config", "crd", "bases") + ipamCRDPath, err = switchespkg.GetCrdPath(ipamv1alpha1.Subnet{}, filepath.Join("..", "..", "..", "go.mod")) + Expect(err).ToNot(HaveOccurred()) + oobCRDPath, err = switchespkg.GetCrdPath(oobv1alpha1.OOB{}, filepath.Join("..", "..", "..", "go.mod")) + Expect(err).ToNot(HaveOccurred()) testEnv = &envtest.Environment{ CRDDirectoryPaths: []string{ - filepath.Join("..", "..", "..", "config", "crd", "additional"), - filepath.Join("..", "..", "..", "config", "crd", "bases"), + metalCRDPath, + oobCRDPath, + ipamCRDPath, }, ErrorIfCRDPathMissing: true, } ctx, cancel = context.WithCancel(context.TODO()) - oobonmetal.SchemeBuilder.Register(&oobonmetal.OOB{}) + oobv1alpha1.SchemeBuilder.Register(&oobv1alpha1.OOB{}) - var err error cfg, err = testEnv.Start() Expect(err).ToNot(HaveOccurred()) Expect(cfg).ToNot(BeNil()) - Expect(oobonmetal.AddToScheme(scheme)).NotTo(HaveOccurred()) + Expect(oobv1alpha1.AddToScheme(scheme)).NotTo(HaveOccurred()) Expect(corev1.AddToScheme(scheme)).NotTo(HaveOccurred()) Expect(metalv1alpha4.AddToScheme(scheme)).NotTo(HaveOccurred()) diff --git a/controllers/onboarding/indexName.go b/controllers/onboarding/indexName.go index a7efcef6..0b531371 100644 --- a/controllers/onboarding/indexName.go +++ b/controllers/onboarding/indexName.go @@ -4,8 +4,8 @@ package controllers import ( - ipam "github.com/onmetal/ipam/api/v1alpha1" - oob "github.com/onmetal/oob-operator/api/v1alpha1" + ipam "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" + oob "github.com/ironcore-dev/oob/api/v1alpha1" "sigs.k8s.io/controller-runtime/pkg/client" metalv1alpha4 "github.com/ironcore-dev/metal/apis/metal/v1alpha4" diff --git a/controllers/onboarding/inventory.go b/controllers/onboarding/inventory.go index f3bd7971..bc3b3b71 100644 --- a/controllers/onboarding/inventory.go +++ b/controllers/onboarding/inventory.go @@ -9,7 +9,7 @@ import ( "github.com/go-logr/logr" usecase "github.com/ironcore-dev/metal/usecase/onboarding" "github.com/ironcore-dev/metal/usecase/onboarding/dto" - oob "github.com/onmetal/oob-operator/api/v1alpha1" + oob "github.com/ironcore-dev/oob/api/v1alpha1" ctrl "sigs.k8s.io/controller-runtime" ) @@ -31,10 +31,10 @@ func NewInventoryOnboardingReconciler( } } -// +kubebuilder:rbac:groups=ipam.onmetal.de,resources=ips,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=ipam.onmetal.de,resources=ips/status,verbs=get -// +kubebuilder:rbac:groups=ipam.onmetal.de,resources=subnets,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=ipam.onmetal.de,resources=subnets/status,verbs=get +// +kubebuilder:rbac:groups=ipam.ironcore.dev,resources=ips,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=ipam.ironcore.dev,resources=ips/status,verbs=get +// +kubebuilder:rbac:groups=ipam.ironcore.dev,resources=subnets,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=ipam.ironcore.dev,resources=subnets/status,verbs=get // SetupWithManager sets up the controller with the Manager. func (r *InventoryOnboardingReconciler) SetupWithManager( diff --git a/controllers/onboarding/machine.go b/controllers/onboarding/machine.go index b022417e..bc464000 100644 --- a/controllers/onboarding/machine.go +++ b/controllers/onboarding/machine.go @@ -7,7 +7,7 @@ import ( "context" "github.com/go-logr/logr" - ipamv1alpha1 "github.com/onmetal/ipam/api/v1alpha1" + ipamv1alpha1 "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" diff --git a/controllers/switch/controllers_test.go b/controllers/switch/controllers_test.go index f9286820..f1f4c2e7 100644 --- a/controllers/switch/controllers_test.go +++ b/controllers/switch/controllers_test.go @@ -9,7 +9,7 @@ import ( "os" "path/filepath" - ipamv1alpha1 "github.com/onmetal/ipam/api/v1alpha1" + ipamv1alpha1 "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/utils/ptr" diff --git a/controllers/switch/ipam_controller.go b/controllers/switch/ipam_controller.go index 2eae6064..095a69bd 100644 --- a/controllers/switch/ipam_controller.go +++ b/controllers/switch/ipam_controller.go @@ -11,7 +11,7 @@ import ( "strings" "github.com/go-logr/logr" - ipamv1alpha1 "github.com/onmetal/ipam/api/v1alpha1" + ipamv1alpha1 "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" v1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/resource" @@ -50,10 +50,10 @@ type IPAMReconciler struct { // +kubebuilder:rbac:groups=metal.ironcore.dev,resources=networkswitches,verbs=get;list;watch;create;update;patch;delete // +kubebuilder:rbac:groups=metal.ironcore.dev,resources=networkswitches/status,verbs=get;update;patch -// +kubebuilder:rbac:groups=ipam.onmetal.de,resources=subnets,verbs=get;list;watch;create;update;patch;delete;deletecollection -// +kubebuilder:rbac:groups=ipam.onmetal.de,resources=subnets/status,verbs=get -// +kubebuilder:rbac:groups=ipam.onmetal.de,resources=ips,verbs=get;list;watch;create;update;patch;delete;deletecollection -// +kubebuilder:rbac:groups=ipam.onmetal.de,resources=ips/status,verbs=get +// +kubebuilder:rbac:groups=ipam.ironcore.dev,resources=subnets,verbs=get;list;watch;create;update;patch;delete;deletecollection +// +kubebuilder:rbac:groups=ipam.ironcore.dev,resources=subnets/status,verbs=get +// +kubebuilder:rbac:groups=ipam.ironcore.dev,resources=ips,verbs=get;list;watch;create;update;patch;delete;deletecollection +// +kubebuilder:rbac:groups=ipam.ironcore.dev,resources=ips/status,verbs=get func (r *IPAMReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { obj := &metalv1alpha4.NetworkSwitch{} diff --git a/controllers/switch/suite_test.go b/controllers/switch/suite_test.go index 404820a7..4bf10bad 100644 --- a/controllers/switch/suite_test.go +++ b/controllers/switch/suite_test.go @@ -22,8 +22,8 @@ import ( "sigs.k8s.io/controller-runtime/pkg/log/zap" "sigs.k8s.io/controller-runtime/pkg/webhook" - ipamv1alpha1 "github.com/onmetal/ipam/api/v1alpha1" - ipamctrl "github.com/onmetal/ipam/controllers" + ipamv1alpha1 "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" + ipamctrl "github.com/ironcore-dev/ipam/controllers" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" admissionv1beta1 "k8s.io/api/admission/v1beta1" @@ -66,9 +66,10 @@ var _ = BeforeSuite(func() { By("bootstrapping test environment") metalapiCRDPath := filepath.Join("..", "..", "config", "crd", "bases") - ipamCRDPath, err := switchespkg.GetCrdPath(ipamv1alpha1.Subnet{}) + ipamCRDPath, err := switchespkg.GetCrdPath(ipamv1alpha1.Subnet{}, filepath.Join("..", "..", "go.mod")) Expect(err).ToNot(HaveOccurred()) - ipamWebhookPath, err := switchespkg.GetWebhookPath(ipamv1alpha1.Subnet{}) + ipamWebhookPath, err := switchespkg.GetWebhookPath( + ipamv1alpha1.Subnet{}, filepath.Join("..", "..", "go.mod")) Expect(err).ToNot(HaveOccurred()) testEnv = &envtest.Environment{ CRDDirectoryPaths: []string{ diff --git a/controllers/switch/switch_controller.go b/controllers/switch/switch_controller.go index daf3b1c8..db9c0aed 100644 --- a/controllers/switch/switch_controller.go +++ b/controllers/switch/switch_controller.go @@ -8,7 +8,7 @@ import ( "reflect" "github.com/go-logr/logr" - ipamv1alpha1 "github.com/onmetal/ipam/api/v1alpha1" + ipamv1alpha1 "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" diff --git a/docs/concepts/switch.md b/docs/concepts/switch.md index d2030a11..0588c7af 100644 --- a/docs/concepts/switch.md +++ b/docs/concepts/switch.md @@ -2,7 +2,7 @@ ## Resources -Switch operator manages two custom resources: [`SwitchConfig`](#switchconfig) and [`Switch`](#switch). Apart from that `Switch` objects reconciliation depends on other resources: `Inventory`, `Size` (both are parts of [metal-api](https://github.com/ironcore-dev/metal)) and `Subnet`, `IP` (both are parts of [IPAM](https://github.com/onmetal/ipam)). Switches also affect `Machines` (also part of [metal-api](https://github.com/ironcore-dev/metal)) in terms of obtaining IP addresses by machines. +Switch operator manages two custom resources: [`SwitchConfig`](#switchconfig) and [`Switch`](#switch). Apart from that `Switch` objects reconciliation depends on other resources: `Inventory`, `Size` (both are parts of [metal-api](https://github.com/ironcore-dev/metal)) and `Subnet`, `IP` (both are parts of [IPAM](https://github.com/ironcore-dev/ipam)). Switches also affect `Machines` (also part of [metal-api](https://github.com/ironcore-dev/metal)) in terms of obtaining IP addresses by machines. ## SwitchConfig diff --git a/docs/development/installation.md b/docs/development/installation.md index 6bf73903..b67bd5f2 100644 --- a/docs/development/installation.md +++ b/docs/development/installation.md @@ -15,8 +15,8 @@ you also need to have [Docker](https://www.docker.com/) or its alternative insta ## Required operators Current operator depends on the following operators: -- [onmetal/ipam](https://github.com/onmetal/ipam) -- [onmetal/oob-controller](https://github.com/onmetal/oob-controller) +- [ipam](https://github.com/ironcore-dev/ipam) +- [oob](https://github.com/ironcore-dev/oob) ## Prepare environment diff --git a/docs/usage/loopbacks.md b/docs/usage/loopbacks.md index e73b15f7..c0af985f 100644 --- a/docs/usage/loopbacks.md +++ b/docs/usage/loopbacks.md @@ -12,7 +12,7 @@ apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: ipv4-cidr-subnet-sample - namespace: onmetal + namespace: metal labels: "loopback": "loopback" spec: @@ -34,7 +34,7 @@ apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: ipv6-cidr-subnet-sample - namespace: onmetal + namespace: metal labels: "loopback": "loopback" spec: diff --git a/docs/usage/switch.md b/docs/usage/switch.md index f6899c13..ac985bd3 100644 --- a/docs/usage/switch.md +++ b/docs/usage/switch.md @@ -59,7 +59,7 @@ Here is an example of `Size` object: kind: SwitchConfig metadata: name: spines-config - namespace: onmetal + namespace: metal labels: metal.ironcore.dev/layer: "0" spec: @@ -109,7 +109,7 @@ Here is an example of `Size` object: - `Subnet`: these objects are required to be assigned to switches as their subnets. Switch ports' IP addresses are reserved in these subnets; - `IP`: these objects require to be assigned to switches as they're loopback addresses. It is also required for switch to have IPv4 loopback address, since it is used to compute switch's ASN for BGP routing; -To learn more about IPAM objects, please refer to the [documentation](https://github.com/onmetal/ipam/blob/main/docs/usage.md) +To learn more about IPAM objects, please refer to the [documentation](https://github.com/ironcore-dev/ipam/blob/main/docs/usage.md) > :heavy_exclamation_mark: To be consumed by the switch-controller, `Subnet` and `IP` objects have to have labels which match to the selectors defined in corresponding `.spec.ipam` section of `Switch` and `SwitchConfig` objects. diff --git a/go.mod b/go.mod index c05fef38..e05b411a 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,8 @@ module github.com/ironcore-dev/metal -go 1.21 +go 1.22 + +toolchain go1.22.0 require ( github.com/ahmetb/gen-crd-api-reference-docs v0.3.0 @@ -11,35 +13,35 @@ require ( github.com/go-logr/zerologr v1.2.3 github.com/google/addlicense v1.1.1 github.com/google/uuid v1.6.0 - github.com/ironcore-dev/controller-utils v0.9.1 - github.com/ironcore-dev/ironcore v0.1.2-0.20240118102113-2a0a981dc3b5 + github.com/ironcore-dev/controller-utils v0.9.2 + github.com/ironcore-dev/ipam v0.1.0 + github.com/ironcore-dev/ironcore v0.1.2-0.20240227221311-63910df3d5cc github.com/ironcore-dev/ironcore-image v0.2.0 - github.com/onmetal/ipam v0.0.26 - github.com/onmetal/oob-operator v0.4.0 - github.com/onsi/ginkgo/v2 v2.14.0 - github.com/onsi/gomega v1.30.0 + github.com/ironcore-dev/oob v0.5.0 + github.com/onsi/ginkgo/v2 v2.15.0 + github.com/onsi/gomega v1.31.1 github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.32.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.18.2 github.com/stretchr/testify v1.8.4 go4.org/netipx v0.0.0-20231129151722-fdeea329fbba - golang.org/x/mod v0.14.0 + golang.org/x/mod v0.15.0 golang.org/x/sync v0.6.0 - golang.org/x/sys v0.16.0 + golang.org/x/sys v0.17.0 golang.org/x/text v0.14.0 - google.golang.org/grpc v1.61.0 + google.golang.org/grpc v1.62.0 gopkg.in/inf.v0 v0.9.1 inet.af/netaddr v0.0.0-20230525184311-b8eac61e914a - k8s.io/api v0.29.1 - k8s.io/apiextensions-apiserver v0.29.1 - k8s.io/apimachinery v0.29.1 - k8s.io/client-go v0.29.1 + k8s.io/api v0.29.2 + k8s.io/apiextensions-apiserver v0.29.2 + k8s.io/apimachinery v0.29.2 + k8s.io/client-go v0.29.2 k8s.io/klog/v2 v2.120.1 - k8s.io/kube-aggregator v0.29.0 - k8s.io/kube-openapi v0.0.0-20240126223410-2919ad4fcfec + k8s.io/kube-aggregator v0.29.2 + k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 k8s.io/utils v0.0.0-20240102154912-e7106e64919e - sigs.k8s.io/controller-runtime v0.17.0 + sigs.k8s.io/controller-runtime v0.17.2 sigs.k8s.io/kustomize/api v0.16.0 sigs.k8s.io/kustomize/kyaml v0.16.0 sigs.k8s.io/structured-merge-diff/v4 v4.4.1 @@ -62,7 +64,7 @@ require ( github.com/docker/docker-credential-helpers v0.8.1 // indirect github.com/docker/go-connections v0.5.0 // indirect github.com/docker/go-metrics v0.0.1 // indirect - github.com/emicklei/go-restful/v3 v3.11.2 // indirect + github.com/emicklei/go-restful/v3 v3.11.3 // indirect github.com/evanphx/json-patch v5.9.0+incompatible // indirect github.com/evanphx/json-patch/v5 v5.9.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect @@ -108,9 +110,9 @@ require ( github.com/opencontainers/image-spec v1.1.0-rc6 // indirect github.com/pelletier/go-toml/v2 v2.1.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.18.0 // indirect - github.com/prometheus/client_model v0.5.0 // indirect - github.com/prometheus/common v0.46.0 // indirect + github.com/prometheus/client_golang v1.19.0 // indirect + github.com/prometheus/client_model v0.6.0 // indirect + github.com/prometheus/common v0.49.0 // indirect github.com/prometheus/procfs v0.12.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect @@ -129,15 +131,15 @@ require ( go.opentelemetry.io/otel/trace v1.22.0 // indirect go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect go.uber.org/multierr v1.11.0 // indirect - go.uber.org/zap v1.26.0 // indirect + go.uber.org/zap v1.27.0 // indirect go4.org/intern v0.0.0-20230525184215-6c62f75575cb // indirect go4.org/unsafe/assume-no-moving-gc v0.0.0-20231121144256-b99613f794b6 // indirect - golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3 // indirect - golang.org/x/net v0.20.0 // indirect - golang.org/x/oauth2 v0.16.0 // indirect - golang.org/x/term v0.16.0 // indirect + golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect + golang.org/x/net v0.21.0 // indirect + golang.org/x/oauth2 v0.17.0 // indirect + golang.org/x/term v0.17.0 // indirect golang.org/x/time v0.5.0 // indirect - golang.org/x/tools v0.17.0 // indirect + golang.org/x/tools v0.18.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240205150955-31a09d347014 // indirect @@ -146,11 +148,11 @@ require ( gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/cli-runtime v0.29.0 // indirect - k8s.io/component-base v0.29.1 // indirect + k8s.io/cli-runtime v0.29.2 // indirect + k8s.io/component-base v0.29.2 // indirect k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 // indirect k8s.io/klog v0.2.0 // indirect - k8s.io/kubectl v0.29.0 // indirect + k8s.io/kubectl v0.29.2 // indirect oras.land/oras-go v1.2.5 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/yaml v1.4.0 // indirect diff --git a/go.sum b/go.sum index a1e24b6d..825c7b61 100644 --- a/go.sum +++ b/go.sum @@ -16,6 +16,8 @@ github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuy github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU= github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -47,6 +49,8 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.21 h1:1/QdRyBaHHJP61QkWMXlOIBfsgdDeeKfK8SYVUWJKf0= +github.com/creack/pty v1.1.21/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/d4l3k/messagediff v1.2.1 h1:ZcAIMYsUg0EAp9X+tt8/enBE/Q8Yd5kzPynLyKptt9U= github.com/d4l3k/messagediff v1.2.1/go.mod h1:Oozbb1TVXFac9FtSIxHBMnBCq2qeH/2KkEQxENCrlLo= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -74,8 +78,8 @@ github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHz github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1 h1:ZClxb8laGDf5arXfYcAtECDFgAgHklGI8CxgjHnXKJ4= github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= github.com/dvyukov/go-fuzz v0.0.0-20210103155950-6a8e9d1f2415/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw= -github.com/emicklei/go-restful/v3 v3.11.2 h1:1onLa9DcsMYO9P+CXaL0dStDqQ2EHHXLiz+BtnqkLAU= -github.com/emicklei/go-restful/v3 v3.11.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/go-restful/v3 v3.11.3 h1:yagOQz/38xJmcNeZJtrUcKjkHRltIaIFXKWeG1SkWGE= +github.com/emicklei/go-restful/v3 v3.11.3/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch v5.9.0+incompatible h1:fBXyNpNMuTTDdquAq/uisOr2lShz4oaXpDTX2bLe7ls= @@ -175,12 +179,16 @@ github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/ironcore-dev/controller-utils v0.9.1 h1:QFL52JaIuSdZ7S1rQfwTM3PffEeu/gdHHQ5AlQ1iFxo= -github.com/ironcore-dev/controller-utils v0.9.1/go.mod h1:c2dRoQ04+b2sNKrqBObrw2QQO2Wzctm5ZSp5UTmTWSU= -github.com/ironcore-dev/ironcore v0.1.2-0.20240118102113-2a0a981dc3b5 h1:oZmynfKcxUvfWc9fynRcUo18PbpaBdJNmiNXMuoCWyw= -github.com/ironcore-dev/ironcore v0.1.2-0.20240118102113-2a0a981dc3b5/go.mod h1:jy4UwjUHV/2PJ2wUxHN1PJh5+QN6P3HfsKJsVBvLXYQ= +github.com/ironcore-dev/controller-utils v0.9.2 h1:LSqRJ+M2LVNREbir3ueSYeXdljk0atmgvpBLl7kAjhA= +github.com/ironcore-dev/controller-utils v0.9.2/go.mod h1:M6vCdxkbJNVfeaYG97SIzoWrEkHwe9amB4IsdeMTWOs= +github.com/ironcore-dev/ipam v0.1.0 h1:u50Z7pFdP/vGc4EgHdXb6UhRlvxbJ/2XDOfTPJw11Dc= +github.com/ironcore-dev/ipam v0.1.0/go.mod h1:DmO+sv6+cYmIqN8lnSWUbLmvj0V4iSF3KwNimdghhD4= +github.com/ironcore-dev/ironcore v0.1.2-0.20240227221311-63910df3d5cc h1:1nWPYemQo3rH6D4Hr0vtjMXjzJgmVC7NLFJx+6J9Oyc= +github.com/ironcore-dev/ironcore v0.1.2-0.20240227221311-63910df3d5cc/go.mod h1:SftQmDcsMKACWYvRJwlW5R4WgGW5EKzXuq+1zh0YKOA= github.com/ironcore-dev/ironcore-image v0.2.0 h1:GMI5qoS3lFsMmXvjNjAOToSP4xd7aadknQayTD+LLIk= github.com/ironcore-dev/ironcore-image v0.2.0/go.mod h1:AcyWttrYKPuJeSMPbcnrtcAqfdnT4o0pOEb+4+toXdw= +github.com/ironcore-dev/oob v0.5.0 h1:zVp0bXHma1cQfVkDsJDRdk9VR/kk6OxSrNWVBwF+eCc= +github.com/ironcore-dev/oob v0.5.0/go.mod h1:DyNVoOZ2nzmkRZCJ9whrfz7028XwjDyCb5aBA1ymFS8= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= @@ -240,14 +248,10 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8m github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/onmetal/ipam v0.0.26 h1:1MExfeV8W24btRAxwQD41nxRxXCF3utqq9YDq4UHmS4= -github.com/onmetal/ipam v0.0.26/go.mod h1:5RWWO4gwdk1vKggVV8aVJNszNiJn6HMVr/lxMj8ON6A= -github.com/onmetal/oob-operator v0.4.0 h1:PBssckQjKPAsgh5pjNzS9Un1cKH3KhMmmKhwb00UjFs= -github.com/onmetal/oob-operator v0.4.0/go.mod h1:izNEozbvt8MYyC8VMZN0fvj+6SZEpIPiU1qz8sJ12OE= -github.com/onsi/ginkgo/v2 v2.14.0 h1:vSmGj2Z5YPb9JwCWT6z6ihcUvDhuXLc3sJiqd3jMKAY= -github.com/onsi/ginkgo/v2 v2.14.0/go.mod h1:JkUdW7JkN0V6rFvsHcJ478egV3XH9NxpD27Hal/PhZw= -github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8= -github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= +github.com/onsi/ginkgo/v2 v2.15.0 h1:79HwNRBAZHOEwrczrgSOPy+eFTTlIGELKy5as+ClttY= +github.com/onsi/ginkgo/v2 v2.15.0/go.mod h1:HlxMHtYF57y6Dpf+mc5529KKmSq9h2FpCF+/ZkwUxKM= +github.com/onsi/gomega v1.31.1 h1:KYppCUK+bUgAZwHOu7EXVBKyQA6ILvOESHkn/tgoqvo= +github.com/onsi/gomega v1.31.1/go.mod h1:y40C95dwAD1Nz36SsEnxvfFe8FFfNxzI5eJ0EYGyAy0= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0-rc6 h1:XDqvyKsJEbRtATzkgItUqBA7QHk58yxX1Ov9HERHNqU= @@ -266,17 +270,17 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= -github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= -github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= +github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= +github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= -github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= +github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= -github.com/prometheus/common v0.46.0 h1:doXzt5ybi1HBKpsZOL0sSkaNHJJqkyfEWZGGqqScV0Y= -github.com/prometheus/common v0.46.0/go.mod h1:Tp0qkxpb9Jsg54QMe+EAmqXkSV7Evdy1BTn+g2pa/hQ= +github.com/prometheus/common v0.49.0 h1:ToNTdK4zSnPVJmh698mGFkDor9wBI/iGaJy5dbH1EgI= +github.com/prometheus/common v0.49.0/go.mod h1:Kxm+EULxRbUkjGU6WFsQqo3ORzB4tyKvlWFOE9mB2sE= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= @@ -356,8 +360,8 @@ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= -go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= +go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= +go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= go4.org/intern v0.0.0-20211027215823-ae77deb06f29/go.mod h1:cS2ma+47FKrLPdXFpr7CuxiTW3eyJbWew4qx0qtQWDA= go4.org/intern v0.0.0-20230525184215-6c62f75575cb h1:ae7kzL5Cfdmcecbh22ll7lYP3iuUdnfnhiPcSaDgH/8= go4.org/intern v0.0.0-20230525184215-6c62f75575cb/go.mod h1:Ycrt6raEcnF5FTsLiLKkhBTO6DPX3RCUCUVnks3gFJU= @@ -372,19 +376,19 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3 h1:/RIbNt/Zr7rVhIkQhooTxCxFcdWLGIKnZA4IXNFSrvo= -golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= -golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= +golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -397,11 +401,11 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= -golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= +golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ= +golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -429,13 +433,13 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= @@ -455,8 +459,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= -golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= +golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ= +golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -475,8 +479,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20240205150955-31a09d347014/go. google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= -google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -513,18 +517,18 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= inet.af/netaddr v0.0.0-20230525184311-b8eac61e914a h1:1XCVEdxrvL6c0TGOhecLuB7U9zYNdxZEjvOqJreKZiM= inet.af/netaddr v0.0.0-20230525184311-b8eac61e914a/go.mod h1:e83i32mAQOW1LAqEIweALsuK2Uw4mhQadA5r7b0Wobo= -k8s.io/api v0.29.1 h1:DAjwWX/9YT7NQD4INu49ROJuZAAAP/Ijki48GUPzxqw= -k8s.io/api v0.29.1/go.mod h1:7Kl10vBRUXhnQQI8YR/R327zXC8eJ7887/+Ybta+RoQ= -k8s.io/apiextensions-apiserver v0.29.1 h1:S9xOtyk9M3Sk1tIpQMu9wXHm5O2MX6Y1kIpPMimZBZw= -k8s.io/apiextensions-apiserver v0.29.1/go.mod h1:zZECpujY5yTW58co8V2EQR4BD6A9pktVgHhvc0uLfeU= -k8s.io/apimachinery v0.29.1 h1:KY4/E6km/wLBguvCZv8cKTeOwwOBqFNjwJIdMkMbbRc= -k8s.io/apimachinery v0.29.1/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU= -k8s.io/cli-runtime v0.29.0 h1:q2kC3cex4rOBLfPOnMSzV2BIrrQlx97gxHJs21KxKS4= -k8s.io/cli-runtime v0.29.0/go.mod h1:VKudXp3X7wR45L+nER85YUzOQIru28HQpXr0mTdeCrk= -k8s.io/client-go v0.29.1 h1:19B/+2NGEwnFLzt0uB5kNJnfTsbV8w6TgQRz9l7ti7A= -k8s.io/client-go v0.29.1/go.mod h1:TDG/psL9hdet0TI9mGyHJSgRkW3H9JZk2dNEUS7bRks= -k8s.io/component-base v0.29.1 h1:MUimqJPCRnnHsskTTjKD+IC1EHBbRCVyi37IoFBrkYw= -k8s.io/component-base v0.29.1/go.mod h1:fP9GFjxYrLERq1GcWWZAE3bqbNcDKDytn2srWuHTtKc= +k8s.io/api v0.29.2 h1:hBC7B9+MU+ptchxEqTNW2DkUosJpp1P+Wn6YncZ474A= +k8s.io/api v0.29.2/go.mod h1:sdIaaKuU7P44aoyyLlikSLayT6Vb7bvJNCX105xZXY0= +k8s.io/apiextensions-apiserver v0.29.2 h1:UK3xB5lOWSnhaCk0RFZ0LUacPZz9RY4wi/yt2Iu+btg= +k8s.io/apiextensions-apiserver v0.29.2/go.mod h1:aLfYjpA5p3OwtqNXQFkhJ56TB+spV8Gc4wfMhUA3/b8= +k8s.io/apimachinery v0.29.2 h1:EWGpfJ856oj11C52NRCHuU7rFDwxev48z+6DSlGNsV8= +k8s.io/apimachinery v0.29.2/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU= +k8s.io/cli-runtime v0.29.2 h1:smfsOcT4QujeghsNjECKN3lwyX9AwcFU0nvJ7sFN3ro= +k8s.io/cli-runtime v0.29.2/go.mod h1:KLisYYfoqeNfO+MkTWvpqIyb1wpJmmFJhioA0xd4MW8= +k8s.io/client-go v0.29.2 h1:FEg85el1TeZp+/vYJM7hkDlSTFZ+c5nnK44DJ4FyoRg= +k8s.io/client-go v0.29.2/go.mod h1:knlvFZE58VpqbQpJNbCbctTVXcd35mMyAAwBdpt4jrA= +k8s.io/component-base v0.29.2 h1:lpiLyuvPA9yV1aQwGLENYyK7n/8t6l3nn3zAtFTJYe8= +k8s.io/component-base v0.29.2/go.mod h1:BfB3SLrefbZXiBfbM+2H1dlat21Uewg/5qtKOl8degM= k8s.io/gengo v0.0.0-20201203183100-97869a43a9d9/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 h1:pWEwq4Asjm4vjW7vcsmijwBhOr1/shsbSYiWXmNGlks= k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= @@ -533,18 +537,18 @@ k8s.io/klog v0.2.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-aggregator v0.29.0 h1:N4fmtePxOZ+bwiK1RhVEztOU+gkoVkvterHgpwAuiTw= -k8s.io/kube-aggregator v0.29.0/go.mod h1:bjatII63ORkFg5yUFP2qm2OC49R0wwxZhRVIyJ4Z4X0= -k8s.io/kube-openapi v0.0.0-20240126223410-2919ad4fcfec h1:iGTel2aR8vCZdxJDgmbeY0zrlXy9Qcvyw4R2sB4HLrA= -k8s.io/kube-openapi v0.0.0-20240126223410-2919ad4fcfec/go.mod h1:Pa1PvrP7ACSkuX6I7KYomY6cmMA0Tx86waBhDUgoKPw= -k8s.io/kubectl v0.29.0 h1:Oqi48gXjikDhrBF67AYuZRTcJV4lg2l42GmvsP7FmYI= -k8s.io/kubectl v0.29.0/go.mod h1:0jMjGWIcMIQzmUaMgAzhSELv5WtHo2a8pq67DtviAJs= +k8s.io/kube-aggregator v0.29.2 h1:z9qJn5wlGmGaX6EfM7OEhr6fq6SBjDKR6tPRZ/qgxeY= +k8s.io/kube-aggregator v0.29.2/go.mod h1:QEuwzmMJJsg0eg1Gv+u4cWcYeJG2+8vN8/nTXBzopUo= +k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= +k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98= +k8s.io/kubectl v0.29.2 h1:uaDYaBhumvkwz0S2XHt36fK0v5IdNgL7HyUniwb2IUo= +k8s.io/kubectl v0.29.2/go.mod h1:BhizuYBGcKaHWyq+G7txGw2fXg576QbPrrnQdQDZgqI= k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCfRziVtos3ofG/sQ= k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= oras.land/oras-go v1.2.5 h1:XpYuAwAb0DfQsunIyMfeET92emK8km3W4yEzZvUbsTo= oras.land/oras-go v1.2.5/go.mod h1:PuAwRShRZCsZb7g8Ar3jKKQR/2A/qN+pkYxIOd/FAoo= -sigs.k8s.io/controller-runtime v0.17.0 h1:fjJQf8Ukya+VjogLO6/bNX9HE6Y2xpsO5+fyS26ur/s= -sigs.k8s.io/controller-runtime v0.17.0/go.mod h1:+MngTvIQQQhfXtwfdGw/UOQ/aIaqsYywfCINOtwMO/s= +sigs.k8s.io/controller-runtime v0.17.2 h1:FwHwD1CTUemg0pW2otk7/U5/i5m2ymzvOXdbeGOUvw0= +sigs.k8s.io/controller-runtime v0.17.2/go.mod h1:+MngTvIQQQhfXtwfdGw/UOQ/aIaqsYywfCINOtwMO/s= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/kustomize/api v0.16.0 h1:/zAR4FOQDCkgSDmVzV2uiFbuy9bhu3jEzthrHCuvm1g= diff --git a/hack/tools.go b/hack/tools.go index e19b59e8..2c3211a9 100644 --- a/hack/tools.go +++ b/hack/tools.go @@ -3,7 +3,6 @@ //go:build tools - package hack import ( diff --git a/main.go b/main.go index 391fe128..ef75eb67 100644 --- a/main.go +++ b/main.go @@ -10,10 +10,10 @@ import ( "os" "strconv" + ipamv1alpha1 "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" "github.com/ironcore-dev/ironcore-image/oci/remote" poolv1alpha1 "github.com/ironcore-dev/ironcore/api/compute/v1alpha1" - ipamv1alpha1 "github.com/onmetal/ipam/api/v1alpha1" - oobv1 "github.com/onmetal/oob-operator/api/v1alpha1" + oobv1 "github.com/ironcore-dev/oob/api/v1alpha1" "k8s.io/apimachinery/pkg/runtime" utilruntime "k8s.io/apimachinery/pkg/util/runtime" clientgoscheme "k8s.io/client-go/kubernetes/scheme" diff --git a/metal-provider/main.go b/metal-provider/main.go index 7d64c310..25be5714 100644 --- a/metal-provider/main.go +++ b/metal-provider/main.go @@ -23,8 +23,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/manager" "sigs.k8s.io/controller-runtime/pkg/metrics/server" - onmetalcomputev1alpha1 "github.com/ironcore-dev/ironcore/api/compute/v1alpha1" - + computev1alpha1 "github.com/ironcore-dev/ironcore/api/compute/v1alpha1" metalv1alpha4 "github.com/ironcore-dev/metal/apis/metal/v1alpha4" "github.com/ironcore-dev/metal/metal-provider/internal/log" "github.com/ironcore-dev/metal/metal-provider/servers" @@ -142,7 +141,7 @@ func main() { exitCode = 1 return } - err = onmetalcomputev1alpha1.AddToScheme(scheme) + err = computev1alpha1.AddToScheme(scheme) if err != nil { log.Error(ctx, fmt.Errorf("cannot create type scheme: %w", err)) exitCode = 1 diff --git a/metal-provider/servers/grpc_server.go b/metal-provider/servers/grpc_server.go index 4c8944e5..b5fd2744 100644 --- a/metal-provider/servers/grpc_server.go +++ b/metal-provider/servers/grpc_server.go @@ -20,7 +20,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - onmetalcomputev1alpha1 "github.com/ironcore-dev/ironcore/api/compute/v1alpha1" + computev1alpha1 "github.com/ironcore-dev/ironcore/api/compute/v1alpha1" irimachinev1alpha1 "github.com/ironcore-dev/ironcore/iri/apis/machine/v1alpha1" irimetav1alpha1 "github.com/ironcore-dev/ironcore/iri/apis/meta/v1alpha1" @@ -228,7 +228,7 @@ func (s *GRPCServer) CreateMachine(ctx context.Context, req *irimachinev1alpha1. image := reqSpec.GetImage().GetImage() ctx = log.WithValues(ctx, "class", class, "image", image) log.Debug(ctx, "Getting machine class") - var machineClass onmetalcomputev1alpha1.MachineClass + var machineClass computev1alpha1.MachineClass err := s.Get(ctx, client.ObjectKey{Name: class}, &machineClass) if err != nil { if kerrors.IsNotFound(err) { @@ -539,7 +539,7 @@ func (s *GRPCServer) Status(ctx context.Context, _ *irimachinev1alpha1.StatusReq } log.Debug(ctxx, "Getting machine class") - var machineClass onmetalcomputev1alpha1.MachineClass + var machineClass computev1alpha1.MachineClass err = s.Get(ctx, client.ObjectKey{Name: sz}, &machineClass) if err != nil { if kerrors.IsNotFound(err) { diff --git a/metal-provider/tools.go b/metal-provider/tools.go new file mode 100644 index 00000000..2a0e281f --- /dev/null +++ b/metal-provider/tools.go @@ -0,0 +1,11 @@ +// SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +//go:build tools +// +build tools + +package main + +import ( + _ "github.com/ironcore-dev/ironcore/irictl-machine/cmd/irictl-machine" +) diff --git a/pkg/switches/environment.go b/pkg/switches/environment.go index 5943932b..6612f02f 100644 --- a/pkg/switches/environment.go +++ b/pkg/switches/environment.go @@ -7,7 +7,7 @@ import ( "context" "github.com/go-logr/logr" - ipamv1alpha1 "github.com/onmetal/ipam/api/v1alpha1" + ipamv1alpha1 "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/selection" diff --git a/pkg/switches/helpers.go b/pkg/switches/helpers.go index 046e81e7..2ade9a05 100644 --- a/pkg/switches/helpers.go +++ b/pkg/switches/helpers.go @@ -22,7 +22,7 @@ import ( "strings" gocidr "github.com/apparentlymart/go-cidr/cidr" - ipamv1alpha1 "github.com/onmetal/ipam/api/v1alpha1" + ipamv1alpha1 "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" "github.com/pkg/errors" "go4.org/netipx" "golang.org/x/mod/modfile" @@ -937,9 +937,9 @@ func ParseInterfaceNameFromSubnet(name string) string { // functions used in tests. -func GetCrdPath(crdPackageScheme interface{}) (string, error) { +func GetCrdPath(crdPackageScheme interface{}, goModPath string) (string, error) { globalPackagePath := reflect.TypeOf(crdPackageScheme).PkgPath() - goModData, err := os.ReadFile(filepath.Join("..", "..", "go.mod")) + goModData, err := os.ReadFile(goModPath) if err != nil { return "", err } @@ -957,9 +957,9 @@ func GetCrdPath(crdPackageScheme interface{}) (string, error) { return filepath.Join(build.Default.GOPATH, "pkg", "mod", globalModulePath, "config", "crd", "bases"), nil } -func GetWebhookPath(crdPackageScheme interface{}) (string, error) { +func GetWebhookPath(crdPackageScheme interface{}, goModPath string) (string, error) { globalPackagePath := reflect.TypeOf(crdPackageScheme).PkgPath() - goModData, err := os.ReadFile(filepath.Join("..", "..", "go.mod")) + goModData, err := os.ReadFile(goModPath) if err != nil { return "", err } diff --git a/pkg/switches/helpers_test.go b/pkg/switches/helpers_test.go index 08bd16b2..c2049aea 100644 --- a/pkg/switches/helpers_test.go +++ b/pkg/switches/helpers_test.go @@ -11,7 +11,7 @@ import ( "testing" "time" - ipamv1alpha1 "github.com/onmetal/ipam/api/v1alpha1" + ipamv1alpha1 "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/utils/ptr" @@ -206,16 +206,16 @@ func TestRequestIPs(t *testing.T) { func TestGetCrdPath(t *testing.T) { t.Parallel() - expected := filepath.Join(build.Default.GOPATH, "pkg/mod/github.com/onmetal/ipam@v0.0.26/config/crd/bases") - computed, err := GetCrdPath(ipamv1alpha1.Subnet{}) + expected := filepath.Join(build.Default.GOPATH, "pkg/mod/github.com/ironcore-dev/ipam@v0.1.0/config/crd/bases") + computed, err := GetCrdPath(ipamv1alpha1.Subnet{}, filepath.Join("..", "..", "go.mod")) assert.Nil(t, err) assert.Equal(t, expected, computed) } func TestGetWebhookPath(t *testing.T) { t.Parallel() - expected := filepath.Join(build.Default.GOPATH, "pkg/mod/github.com/onmetal/ipam@v0.0.26/config/webhook") - computed, err := GetWebhookPath(ipamv1alpha1.Subnet{}) + expected := filepath.Join(build.Default.GOPATH, "pkg/mod/github.com/ironcore-dev/ipam@v0.1.0/config/webhook") + computed, err := GetWebhookPath(ipamv1alpha1.Subnet{}, filepath.Join("..", "..", "go.mod")) assert.Nil(t, err) assert.Equal(t, expected, computed) } diff --git a/pkg/switches/state_funcs_test.go b/pkg/switches/state_funcs_test.go index 58305e13..c1dd22a9 100644 --- a/pkg/switches/state_funcs_test.go +++ b/pkg/switches/state_funcs_test.go @@ -10,7 +10,7 @@ import ( "path/filepath" "testing" - ipamv1alpha1 "github.com/onmetal/ipam/api/v1alpha1" + ipamv1alpha1 "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" "github.com/stretchr/testify/assert" "k8s.io/apimachinery/pkg/util/yaml" diff --git a/providers-kubernetes/onboarding/fake/client.go b/providers-kubernetes/onboarding/fake/client.go index c7eb65ac..d1a3599a 100644 --- a/providers-kubernetes/onboarding/fake/client.go +++ b/providers-kubernetes/onboarding/fake/client.go @@ -7,8 +7,8 @@ package fake import ( "net/netip" - ipam "github.com/onmetal/ipam/api/v1alpha1" - oob "github.com/onmetal/oob-operator/api/v1alpha1" + ipam "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" + oob "github.com/ironcore-dev/oob/api/v1alpha1" core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sRuntime "k8s.io/apimachinery/pkg/runtime" diff --git a/providers-kubernetes/onboarding/loopbackAddressRepository.go b/providers-kubernetes/onboarding/loopbackAddressRepository.go index 54fd9bb3..957daa76 100644 --- a/providers-kubernetes/onboarding/loopbackAddressRepository.go +++ b/providers-kubernetes/onboarding/loopbackAddressRepository.go @@ -9,9 +9,9 @@ import ( "net/netip" "time" + ipam "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" domain "github.com/ironcore-dev/metal/domain/address" "github.com/ironcore-dev/metal/usecase/onboarding/providers" - ipam "github.com/onmetal/ipam/api/v1alpha1" core "k8s.io/api/core/v1" meta "k8s.io/apimachinery/pkg/apis/meta/v1" ctrlclient "sigs.k8s.io/controller-runtime/pkg/client" diff --git a/providers-kubernetes/onboarding/loopbackSubnetRepository.go b/providers-kubernetes/onboarding/loopbackSubnetRepository.go index 66c0c91f..a1ce7093 100644 --- a/providers-kubernetes/onboarding/loopbackSubnetRepository.go +++ b/providers-kubernetes/onboarding/loopbackSubnetRepository.go @@ -7,9 +7,9 @@ import ( "context" "fmt" + ipam "github.com/ironcore-dev/ipam/api/ipam/v1alpha1" "github.com/ironcore-dev/metal/usecase/onboarding/dto" "github.com/ironcore-dev/metal/usecase/onboarding/providers" - ipam "github.com/onmetal/ipam/api/v1alpha1" core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" diff --git a/providers-kubernetes/onboarding/serverRepository.go b/providers-kubernetes/onboarding/serverRepository.go index 62dd401b..b984b0f1 100644 --- a/providers-kubernetes/onboarding/serverRepository.go +++ b/providers-kubernetes/onboarding/serverRepository.go @@ -8,7 +8,7 @@ import ( domain "github.com/ironcore-dev/metal/domain/infrastructure" "github.com/ironcore-dev/metal/usecase/onboarding/dto" - oob "github.com/onmetal/oob-operator/api/v1alpha1" + oob "github.com/ironcore-dev/oob/api/v1alpha1" "k8s.io/apimachinery/pkg/types" ctrlclient "sigs.k8s.io/controller-runtime/pkg/client" ) diff --git a/test_samples/switch/networks/overlay-network.yaml b/test_samples/switch/networks/overlay-network.yaml index 2b01c88f..33f6a86a 100644 --- a/test_samples/switch/networks/overlay-network.yaml +++ b/test_samples/switch/networks/overlay-network.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Network metadata: name: underlay diff --git a/test_samples/switch/subnets/carrier-v4.yaml b/test_samples/switch/subnets/carrier-v4.yaml index e2c3d50c..12e9be64 100644 --- a/test_samples/switch/subnets/carrier-v4.yaml +++ b/test_samples/switch/subnets/carrier-v4.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: switch-ranges-v4 diff --git a/test_samples/switch/subnets/carrier-v6.yaml b/test_samples/switch/subnets/carrier-v6.yaml index 9a8fce6c..35853263 100644 --- a/test_samples/switch/subnets/carrier-v6.yaml +++ b/test_samples/switch/subnets/carrier-v6.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: switch-ranges-v6 diff --git a/test_samples/switch/subnets/loopbacks-v4.yaml b/test_samples/switch/subnets/loopbacks-v4.yaml index ba24ab59..cbceed79 100644 --- a/test_samples/switch/subnets/loopbacks-v4.yaml +++ b/test_samples/switch/subnets/loopbacks-v4.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: loopbacks-v4 diff --git a/test_samples/switch/subnets/loopbacks-v6.yaml b/test_samples/switch/subnets/loopbacks-v6.yaml index 62e12d34..2ed29e72 100644 --- a/test_samples/switch/subnets/loopbacks-v6.yaml +++ b/test_samples/switch/subnets/loopbacks-v6.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: loopbacks-v6 diff --git a/test_samples/switch/switch_ipam_objects/loopbacks/leaf-1.loopback-v4.yaml b/test_samples/switch/switch_ipam_objects/loopbacks/leaf-1.loopback-v4.yaml index 886fb767..24995841 100644 --- a/test_samples/switch/switch_ipam_objects/loopbacks/leaf-1.loopback-v4.yaml +++ b/test_samples/switch/switch_ipam_objects/loopbacks/leaf-1.loopback-v4.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: IP metadata: name: leaf-1-loopback-v4 diff --git a/test_samples/switch/switch_ipam_objects/loopbacks/leaf-1.loopback-v6.yaml b/test_samples/switch/switch_ipam_objects/loopbacks/leaf-1.loopback-v6.yaml index 5db17f18..4852f29a 100644 --- a/test_samples/switch/switch_ipam_objects/loopbacks/leaf-1.loopback-v6.yaml +++ b/test_samples/switch/switch_ipam_objects/loopbacks/leaf-1.loopback-v6.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: IP metadata: name: leaf-1-loopback-v6 diff --git a/test_samples/switch/switch_ipam_objects/loopbacks/leaf-2.loopback-v4.yaml b/test_samples/switch/switch_ipam_objects/loopbacks/leaf-2.loopback-v4.yaml index ca8c29d1..ea7000eb 100644 --- a/test_samples/switch/switch_ipam_objects/loopbacks/leaf-2.loopback-v4.yaml +++ b/test_samples/switch/switch_ipam_objects/loopbacks/leaf-2.loopback-v4.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: IP metadata: name: leaf-2-loopback-v4 diff --git a/test_samples/switch/switch_ipam_objects/loopbacks/leaf-2.loopback-v6.yaml b/test_samples/switch/switch_ipam_objects/loopbacks/leaf-2.loopback-v6.yaml index 77c0d62b..39cec457 100644 --- a/test_samples/switch/switch_ipam_objects/loopbacks/leaf-2.loopback-v6.yaml +++ b/test_samples/switch/switch_ipam_objects/loopbacks/leaf-2.loopback-v6.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: IP metadata: name: leaf-2-loopback-v6 diff --git a/test_samples/switch/switch_ipam_objects/loopbacks/spine-1.loopback-v4.yaml b/test_samples/switch/switch_ipam_objects/loopbacks/spine-1.loopback-v4.yaml index 5c9546a8..4a4b7b05 100644 --- a/test_samples/switch/switch_ipam_objects/loopbacks/spine-1.loopback-v4.yaml +++ b/test_samples/switch/switch_ipam_objects/loopbacks/spine-1.loopback-v4.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: IP metadata: name: spine-1-loopback-v4 diff --git a/test_samples/switch/switch_ipam_objects/loopbacks/spine-1.loopback-v6.yaml b/test_samples/switch/switch_ipam_objects/loopbacks/spine-1.loopback-v6.yaml index 6aef78d0..5d421314 100644 --- a/test_samples/switch/switch_ipam_objects/loopbacks/spine-1.loopback-v6.yaml +++ b/test_samples/switch/switch_ipam_objects/loopbacks/spine-1.loopback-v6.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: IP metadata: name: spine-1-loopback-v6 diff --git a/test_samples/switch/switch_ipam_objects/loopbacks/spine-2.loopback-v4.yaml b/test_samples/switch/switch_ipam_objects/loopbacks/spine-2.loopback-v4.yaml index 9a88981e..7680771b 100644 --- a/test_samples/switch/switch_ipam_objects/loopbacks/spine-2.loopback-v4.yaml +++ b/test_samples/switch/switch_ipam_objects/loopbacks/spine-2.loopback-v4.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: IP metadata: name: spine-2-loopback-v4 diff --git a/test_samples/switch/switch_ipam_objects/loopbacks/spine-2.loopback-v6.yaml b/test_samples/switch/switch_ipam_objects/loopbacks/spine-2.loopback-v6.yaml index 0921358e..e72b7627 100644 --- a/test_samples/switch/switch_ipam_objects/loopbacks/spine-2.loopback-v6.yaml +++ b/test_samples/switch/switch_ipam_objects/loopbacks/spine-2.loopback-v6.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: IP metadata: name: spine-2-loopback-v6 diff --git a/test_samples/switch/switch_ipam_objects/subnets/00-spine-1.subnet-v4.yaml b/test_samples/switch/switch_ipam_objects/subnets/00-spine-1.subnet-v4.yaml index a97ea99a..1bee7fc0 100644 --- a/test_samples/switch/switch_ipam_objects/subnets/00-spine-1.subnet-v4.yaml +++ b/test_samples/switch/switch_ipam_objects/subnets/00-spine-1.subnet-v4.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: spine-1-subnet-v4 diff --git a/test_samples/switch/switch_ipam_objects/subnets/00-spine-1.subnet-v6.yaml b/test_samples/switch/switch_ipam_objects/subnets/00-spine-1.subnet-v6.yaml index e9425a2b..8c8982bd 100644 --- a/test_samples/switch/switch_ipam_objects/subnets/00-spine-1.subnet-v6.yaml +++ b/test_samples/switch/switch_ipam_objects/subnets/00-spine-1.subnet-v6.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: spine-1-subnet-v6 diff --git a/test_samples/switch/switch_ipam_objects/subnets/01-spine-2.subnet-v4.yaml b/test_samples/switch/switch_ipam_objects/subnets/01-spine-2.subnet-v4.yaml index c2d3766a..7eea7c8c 100644 --- a/test_samples/switch/switch_ipam_objects/subnets/01-spine-2.subnet-v4.yaml +++ b/test_samples/switch/switch_ipam_objects/subnets/01-spine-2.subnet-v4.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: spine-2-subnet-v4 diff --git a/test_samples/switch/switch_ipam_objects/subnets/01-spine-2.subnet-v6.yaml b/test_samples/switch/switch_ipam_objects/subnets/01-spine-2.subnet-v6.yaml index 1444e2ac..4f8de56b 100644 --- a/test_samples/switch/switch_ipam_objects/subnets/01-spine-2.subnet-v6.yaml +++ b/test_samples/switch/switch_ipam_objects/subnets/01-spine-2.subnet-v6.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: spine-2-subnet-v6 diff --git a/test_samples/switch/switch_ipam_objects/subnets/02-leaf-1.subnet-v4.yaml b/test_samples/switch/switch_ipam_objects/subnets/02-leaf-1.subnet-v4.yaml index cfd44478..5050cab1 100644 --- a/test_samples/switch/switch_ipam_objects/subnets/02-leaf-1.subnet-v4.yaml +++ b/test_samples/switch/switch_ipam_objects/subnets/02-leaf-1.subnet-v4.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: leaf-1-subnet-v4 diff --git a/test_samples/switch/switch_ipam_objects/subnets/02-leaf-1.subnet-v6.yaml b/test_samples/switch/switch_ipam_objects/subnets/02-leaf-1.subnet-v6.yaml index 0978eb61..2d098975 100644 --- a/test_samples/switch/switch_ipam_objects/subnets/02-leaf-1.subnet-v6.yaml +++ b/test_samples/switch/switch_ipam_objects/subnets/02-leaf-1.subnet-v6.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: leaf-1-subnet-v6 diff --git a/test_samples/switch/switch_ipam_objects/subnets/03-leaf-2.subnet-v4.yaml b/test_samples/switch/switch_ipam_objects/subnets/03-leaf-2.subnet-v4.yaml index c47542d4..a3a4a3be 100644 --- a/test_samples/switch/switch_ipam_objects/subnets/03-leaf-2.subnet-v4.yaml +++ b/test_samples/switch/switch_ipam_objects/subnets/03-leaf-2.subnet-v4.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: leaf-2-subnet-v4 diff --git a/test_samples/switch/switch_ipam_objects/subnets/03-leaf-2.subnet-v6.yaml b/test_samples/switch/switch_ipam_objects/subnets/03-leaf-2.subnet-v6.yaml index 27de9b0b..bddfb1c6 100644 --- a/test_samples/switch/switch_ipam_objects/subnets/03-leaf-2.subnet-v6.yaml +++ b/test_samples/switch/switch_ipam_objects/subnets/03-leaf-2.subnet-v6.yaml @@ -1,4 +1,4 @@ -apiVersion: ipam.onmetal.de/v1alpha1 +apiVersion: ipam.ironcore.dev/v1alpha1 kind: Subnet metadata: name: leaf-2-subnet-v6