Proto commits in ironcore-dev/ironcore

These 64 commits are when the Protocol Buffers files have changed:

Commit:db456bb
Author:ushabelgur
Committer:GitHub

Add `hostname` support to `Machine` via `GuestConfig` (#1454) * Add guest configuration along with hostName to Machine type * update proto to pass guestCofig struct update validation * update generated file after rebase

The documentation is generated from this commit.

Commit:71c0913
Author:Rohit
Committer:GitHub

Bump `k8s.io/*` to `v0.35.3` and `controller-runtime` to `v0.23.3` (#1455) * update k8s-v1.35 * Fix linting errors and update depricated eventRecorder with Updated EventSpec API * address review comments

Commit:327f295
Author:ushabelgur

add guestConfig for machine type

Commit:3ef563a
Author:Lukas Frank
Committer:GitHub

Implemented architecture hints for `Volumes` (#1432)

Commit:f04d642
Author:Rohit
Committer:GitHub

Integrate `ConditionsAPI` to machine resource (#1414)

Commit:c6a8ace
Author:Lukas Frank
Committer:GitHub

Added `LocalDisk` (#1402)

Commit:311a254
Author:ushabelgur
Committer:GitHub

Enhance `VolumeRuntimeInterface` to support `Snapshot` (#1348)

Commit:0d738b9
Author:Rohit
Committer:GitHub

Add `downwardAPILabel` support for `Network` resource (#1349)

Commit:d987162
Author:Rohit
Committer:GitHub

Add `downwardAPILabels` support for `Networkinterface` resource (#1333) * add `DownwardAPILabels` support for `NetworkInterface` * fix typos and other minor errors

Commit:a19bb81
Author:Maximilian Moehl
Committer:GitHub

Update `MachineRuntime` to reflect `Machine` stopped (#1328)

Commit:9036bfe
Author:ushabelgur
Committer:GitHub

Change `MachineClass` capabilities to support arbitrary resources (#1311)

Commit:9223614
Author:Sujeet
Committer:GitHub

Extend `MachineRuntime` interface with `UpdateVolume` method (#1312)

Commit:768826b
Author:ushabelgur
Committer:GitHub

Enhance `Volume` with effective `Resources` allocated in status (#1296)

Commit:f3b34ca
Author:Lukas Frank
Committer:GitHub

Extended `VolumeStatus` (#1294)

Commit:783eafe
Author:Rohit
Committer:GitHub

Extend `BucketStatus` with new field `bucketID` (#1291)

Commit:8f87339
Author:Rohit
Committer:GitHub

Extend `VolumeStatus` to persist lower layer `VolumeID` (#1289) * extend `VolumeStatus` to persist `VolumeID` * address review comment

Commit:d40059d
Author:Andreas Fritzler
Committer:GitHub

Migrate proto generation to `buf` (#1139) * Migrate proto generation to `buf` - Migrate proto generation to `buf` - Update linter configuration - Fix linting issues * Fix linting issues by excluding tests and fake server * Update `buf` and regenerate proto * Fix linting issues * Switch to local proto-gen-go and grpc * Cleanup tests * Disable go vet copylocks and fix type generation warnings * Fix linting issues and tests

Commit:1d4f02b
Author:Andreas Fritzler
Committer:Benjamin Alpert

Do not update NIC IPs in status via poollet (#1202) Rollback https://github.com/ironcore-dev/ironcore/pull/961 as it causes a race between ironcore and ironcore-net controllers constantly updating the NIC IP status.

Commit:947447f
Author:Andreas Fritzler
Committer:GitHub

Do not update NIC IPs in status via poollet (#1202) Rollback https://github.com/ironcore-dev/ironcore/pull/961 as it causes a race between ironcore and ironcore-net controllers constantly updating the NIC IP status.

Commit:8ed128a
Author:Sujeet
Committer:GitHub

Extend Bucket Runtime Interface for Cross-Cluster Events (#1091)

Commit:c2f923e
Author:Rohit
Committer:GitHub

Extend Volume Runtime Interface for cross-cluster Events (#1092)

Commit:e9e9584
Author:ushabelgur
Committer:GitHub

Add `get events` command to `irictl-machine` (#1089)

Commit:dec711a
Author:ushabelgur
Committer:GitHub

Extend Machine Runtime Interface to Support Cross-Cluster Events (#1081)

Commit:e0f8fdd
Author:Lukas Frank
Committer:GitHub

Added `Terminating` `MachineState` (#984)

Commit:a13a4dc
Author:Andreas Fritzler
Committer:GitHub

Populate `NetworkInterface` status via `machinepoollet` (#961) In the current implementation the NIC status {State,IPs} is not updated by the `machinepoollet`. This leads to the problem that a NIC which is `Available` is not being represented correctly in it's status. This PR changes the `machinepoollet` logic in a way, that it populates effective IPs to the NIC status and transitions the NIC state to `Available` if the NIC could be provisioned successfully.

Commit:212c5a6
Author:Lukas Frank
Committer:GitHub

Added `Volume` encryption support to `broker` and `poollet` (#934)

Commit:b87a17f
Author:Andreas Fritzler
Committer:GitHub

Refactor project name to `ironcore` and runtime interface to `IRI` (#922) * Rename project to ironcore * Rename ori -> iri

Commit:f92903a
Author:Lukas Frank
Committer:GitHub

Minor fixes (#873) Signed-off-by: Lukas Frank <lukas.frank@sap.com>

Commit:5c892ce
Author:Axel Christ
Committer:GitHub

Support network interface attributes (#824)

Commit:702b9aa
Author:Lukas Frank
Committer:GitHub

VolumePool: Rename Available/Used fields to Capacity/Allocatable (#816) Updated `ORI`, `broker`, `poollet`, `orictl-volume` and tests --------- Signed-off-by: Lukas Frank <lukas.frank@sap.com>

Commit:a7c5854
Author:Axel Christ
Committer:GitHub

Machine pool scheduler hints (#703) * Machine pool scheduler hints * Scheduler --------- Co-authored-by: Lukas Frank <lukas.frank@sap.com>

Commit:025504b
Author:Florin Peter
Committer:Florin Peter

added internet gateway in Network spec and improved network update handling

Commit:c576520
Author:Florin Peter
Committer:Florin Peter

improved peering handling

Commit:c939c76
Author:Florin Peter

added handling for network peerings

Commit:edc4a8d
Author:Axel Christ
Committer:GitHub

Enhance API Field naming (#761) Change `Network.Spec.Handle` to `Network.Spec.ProviderID`, adjust referencing types. Remove `NetworkInterface.Spec.MachinePool` Remove other unnecessary fields Update docs + openapi

Commit:2f5cc48
Author:Lukas Frank
Committer:GitHub

`Volume` expansion (#742)

Commit:4057baf
Author:Axel Christ
Committer:GitHub

Simplify ori-machine interface (#756) * Remove all network related methods (LB / NatGW / VIP management) from ori-machine. * Introduce `NetworkInterface.Status.Handle` to allow network plugins to reconcile network interfaces accordingly. * Update `machinepoollet` and `machinebroker` with the new definitions. * Regenerate all relevant code.

Commit:eb09574
Author:Axel Christ
Committer:GitHub

Implement internal load balancer (#698) Add `Internal` as a new `type` for `networking.LoadBalancer`s. Update & extend all relevant code (`machinepoollet`, `machinebroker`, `ori-machine`). Update test cases.

Commit:1a5ebcb
Author:Lukas Frank
Committer:GitHub

Encryption support for `VolumePoollet` & `VolumeBroker` (#692)

Commit:e70f232
Author:Axel Christ
Committer:GitHub

Implement `Exec` for `ori-machine` (#678)

Commit:ff3a658
Author:Lukas Frank
Committer:GitHub

Implement `ORI`, `broker` and `poollet` for `Bucket`s (#623)

Commit:d7722f1
Author:Axel Christ
Committer:GitHub

ori-machine: version rpc & usage in onmetal-api (#604) This adds a `Version` rpc to `ori-machine` and a `MachineID` field to `onmetal-api`'s `Machine`, populated from the response of the `Version` call and the actual machine ID. Part of the debuggability initiative.

Commit:2205f72
Author:Axel Christ
Committer:GitHub

Broker / manage machine power state (#600) Machinepoollet: Implement machine power state updating / initial setting. Machinebroker: Implement actual setting of power state.

Commit:9867c02
Author:Axel Christ
Committer:GitHub

Machine state Terminated & power specification (#597) This introduces a new state for a `Machine`, `Terminated`, that allows a `MachinePool` implementor to signal if a `Machine` has been permanently wiped so e.g. another controller on the top can act upon it. Additionally, now a `Machine` can be requested to start / stop via `Machine.Spec.Power`, supporting `On` and `Off` for now.

Commit:2a35fe4
Author:Axel Christ
Committer:GitHub

Implement NAT propagation (#596)

Commit:6298da7
Author:Axel Christ
Committer:GitHub

Reconcile load balancers in machinepoollet (#594)

Commit:6c2284c
Author:Axel Christ
Committer:GitHub

Implement ori load balancers (#591) Extend ori machine spec to additionally provide `LoadBalancerTargetSpec`s. For `machinebroker`, this will be proxied down as `LoadBalancer`s with multiple `Destinations`.

Commit:c3540c0
Author:Axel Christ
Committer:GitHub

Properly broker alias prefixes (#590) * Implement lock-based broker mechanism for `Network`s, resulting in only a single network being proxied down now. * Implement broker mechanisms for `Prefix`es, extend `ori-machine` * Update `machinepoollet` to calculate and push down prefixes * Create & extend testing of `machinepoollet` * Create testing utility for controller managers

Commit:fd48b8d
Author:Axel Christ
Committer:GitHub

Rewrite volume-ori as level-based, not edge-based (#564)

Commit:a9a2538
Author:Axel Christ
Committer:GitHub

Rewrite machine-ori as level-based, not edge-based (#563)

Commit:dcda9ce
Author:Axel Christ

Make ori-machine 'more' asynchronous * Add `create_at` and `deleted_at` to `Machine` and `MachineStatus` * Update table printers to include the new information

Commit:4a0a392
Author:Axel Christ

Update machinebroker to include more status info

Commit:ad203fe
Author:Axel Christ

Fix protobuf package

Commit:5683940
Author:Axel Christ
Committer:Axel Christ

Implement `orictl-volume`

Commit:ad2c8dd
Author:Axel Christ

Rename `ori/compute`->`ori/machine`, update orictl

Commit:2bcd1d9
Author:Axel Christ
Committer:GitHub

Implement volumebroker, machinebroker fixes (#552)

Commit:43e1ba7
Author:Axel Christ

Enhance vleg by comparing volume state

Commit:7632f3b
Author:Axel Christ

Implement `volumepoollet` + `machinepoollet` fixes

Commit:ad334ef
Author:Axel Christ

Make `ori` machine classes explicit

Commit:3fd35c8
Author:Axel Christ

Move `ori/apis/runtime` to `ori/apis/compute` This will allow to define the upcoming types for storage and networking without conflicting with the main types.

Commit:0c3e100
Author:Axel Christ

Implement ori `SupportsMachineResources`

Commit:ee84722
Author:Axel Christ
Committer:GitHub

Implement `machinebroker` / API updates / `ori` updates (#532)

Commit:05a0833
Author:Axel Christ

Remove annotations / label from ori machine meta

Commit:b359256
Author:Axel Christ
Committer:GitHub

Implement rudimentary version of ORI & controllers (#524) ORI is the `onmetal-runtime-interface`, a protobuf-based interface for creating any `MachinePool` provider implementation. The `ori` api defines the types and operations expected, the `machinepoollet/controllers` tries to create a basic controller that, using the `ori` interface, can reconcile `Machine`s for an `ori` implementation.