Skip to content

Commit c5171f4

Browse files
committed
Improve usage doc, fix typos and follow style guide
1 parent 681e7f4 commit c5171f4

File tree

14 files changed

+170
-260
lines changed

14 files changed

+170
-260
lines changed

docs/baremetal/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ in a Kubernetes-native way. It leverages the power of Kubernetes Custom Resource
77
- **Provisioning**: Deploy and configure servers using Ignition.
88
- **Day-2 Operations**: Manage BIOS, firmware, and hardware inventory declaratively.
99
- **3rd Party Integrations**: Seamlessly integrate with existing tools like vendor-specific management tools.
10-
- **Kubernetes Support**: Run Kubernetes on bare metal servers with support for Cluster API and Gardener.
10+
- **Kubernetes Support**: Run Kubernetes on bare metal servers with support of Cluster API and Gardener.
1111

1212
## Core Components
1313

1414
The core components of the baremetal automation in IronCore include:
1515
- [**Metal Operator**](https://github.com/ironcore-dev/metal-operator): The central component that manages the lifecycle of bare metal servers.
1616
- [**Boot Operator**](https://github.com/ironcore-dev/boot-operator): iPXE and HTTP boot server that provides boot images and Ignition configurations.
17-
- [**FeDHCP**](https://github.com/ironcore-dev/fedhcp): A DHCP server that provides inband and out of band network configuration to bare metal servers.
17+
- [**FeDHCP**](https://github.com/ironcore-dev/fedhcp): A DHCP server that provides in-band and out-of-band network configuration to bare metal servers.
1818

1919
## Concepts and Usage Guides
2020

docs/baremetal/kubernetes/gardener.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@ Apart from the [Cluster API Provider for Bare Metal](/baremetal/kubernetes/capi)
44
[Gardener](https://gardener.cloud), a Kubernetes-native project for managing Kubernetes clusters at scale.
55

66
There are two main components in the Gardener integration with IronCore:
7-
- **Machine Controller Manager (MCM)**: This component is responsible for managing the lifecycle of machines in a
8-
Kubernetes cluster. It uses the `metal-operator` API types to provision and manage bare metal servers.
9-
- **Gardener Extension Provider**: This component provides the necessary integration points for Gardener to manage bare
10-
metal clusters.
7+
- **Machine Controller Manager (MCM)**: This component is responsible for managing the lifecycle of machines in a Kubernetes cluster. It uses the `metal-operator` API types to provision and manage bare metal servers.
8+
- **Gardener Extension Provider**: This component provides the necessary integration points for Gardener to manage bare metal clusters.
119

1210
## Machine Controller Manager (MCM)
1311

14-
The `[machine-controller-manager-provider-ironcore](https://github.com/ironcore-dev/machine-controller-manager-provider-ironcore-metal)`
12+
The [machine-controller-manager-provider-ironcore](https://github.com/ironcore-dev/machine-controller-manager-provider-ironcore-metal)
1513
is responsible for managing the lifecycle of `Nodes` in a Kubernetes cluster. Here the MCM in essence is translating
1614
Gardener `Machine` resource to `ServerClaims` and wrapping the `user-data` coming from the Gardner OS extensions into
1715
an Ignition `Secret`.
@@ -22,7 +20,7 @@ The [`gardener-extension-provider-ironcore-metal`](https://github.com/ironcore-d
2220
is responsible for providing the necessary integration points for Gardener to manage bare metal clusters.
2321

2422
Those integration points include:
25-
- Configure and the [Cloud Controller Manager](/baremetal/kubernetes/cloud-controller-manager) to handle the `Node` lifecycle
23+
- Configure the [Cloud Controller Manager](/baremetal/kubernetes/cloud-controller-manager) to handle the `Node` lifecycle
2624
and topology information.
2725
- Configure the [metal-load-balancer-controller](/baremetal/kubernetes/metal-loadbalancer-controller) to handle `Service` of type `LoadBalancer`.
2826
- Configure the [Machine Controller Manager (MCM)](#machine-controller-manager-mcm) to manage the creation of `Nodes` in the cluster.

docs/baremetal/kubernetes/metal-loadbalancer-controller.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,15 @@ The [metal-loadbalancer-controller](https://github.com/ironcore-dev/metal-load-b
44
for managing the lifecycle of `Services` of type `LoadBalancer` in a Kubernetes cluster running on bare metal servers.
55
The project consists of two main components:
66
- **Controller**: The main component that watches for changes in `Service` resources and manages the lifecycle of load balancers.
7-
- **Speaker**: Is responsible for announcing the load balancer IP address to `metalbond` which acts as a route reflector
8-
to the bare metal servers.
7+
- **Speaker**: Is responsible for announcing the load balancer IP address to `metalbond` which acts as a route reflector to the bare metal servers.
98

109
The `metal-loadbalancer-controller` is designed to work in an IPv6 only environment.
1110

1211
## Controller
1312

1413
The controller component has the following responsibilities:
15-
- Watches for changes in `Service` resources of type `LoadBalancer` and uses the `ClusterIP` of a `Service` and patches the
16-
`LoadBalancer` status using this `ClusterIP`.
17-
- Setting the `PodCIDRs` on the `Node` resources to ensure that the load balancer can route traffic to the pods. Here it
18-
takes the main `Node` IP address and the configured `node-cidr-mask-size` and patches the `Node.spec.podCIDRs` field.
14+
- Watches for changes in `Service` resources of type `LoadBalancer` and uses the `ClusterIP` of a `Service` and patches the `LoadBalancer` status using this `ClusterIP`.
15+
- Setting the `PodCIDRs` on the `Node` resources to ensure that the load balancer can route traffic to the pods. Here it takes the main `Node` IP address and the configured `node-cidr-mask-size` and patches the `Node.spec.podCIDRs` field.
1916

2017
## Metalbond-Speaker
2118

docs/contribute/contributing.md

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ We welcome contributions from the community! Follow these guidelines to help us
1212
- Feedback will be provided if any adjustments are necessary.
1313

1414
Thank you for helping improve our documentation!
15-
# Contributing to IronCore Documentation
16-
17-
We welcome contributions from the community! Follow these guidelines to help us maintain high-quality, consistent documentation.
1815
## Contributors Guide
1916

2017
The IronCore Documentation project uses Github to manage reviews of pull requests.
@@ -36,11 +33,11 @@ and us a good deal of inspiration.
3633

3734
## Steps to Contribute
3835

39-
Do you want to work on an issue? You are welcome to claim an existing one by commenting on it in GitHub.
36+
Do you want to work on an issue? You are welcome to claim an existing one by commenting on it in GitHub.
4037

4138
!!! note
4239
Perform a cursory search to see if the issue has already been taken by someone else.
43-
This will prevent misunderstanding and duplication of effort from contributors on the same issue.
40+
This will prevent misunderstanding and duplication of effort from contributors on the same issue.
4441

4542
If you have questions about one of the issues please comment on them and one of the
4643
maintainers will clarify it.
@@ -67,14 +64,14 @@ process. We use [the standard DCO text of the Linux Foundation](https://develope
6764

6865
* Fork and clone the repository to your local machine.
6966

70-
```shell
71-
git clone [email protected]:ironcore-dev/ironcore-dev.github.io.git
72-
cd docs
73-
```
67+
```shell
68+
git clone [email protected]:ironcore-dev/ironcore-dev.github.io.git
69+
cd docs
70+
```
7471

75-
* Create a branch from the `main` using 'git checkout' command.
72+
* Create a branch from the `main` using 'git checkout' command.
7673
!!! note
77-
If needed, rebase to the current `main` branch before submitting your pull request. If it doesn't merge properly
74+
If needed, rebase to the current `main` branch before submitting your pull request. If it doesn't merge properly
7875
with `main` you may be asked to rebase your changes.
7976
8077
```shell
@@ -86,13 +83,13 @@ cd docs
8683
8784
* Commits should be as small as possible, while ensuring that each commit is correct independently
8885
89-
* Commit your changes to your feature branch and push it to your fork.
86+
* Commit your changes to your feature branch and push it to your fork.
9087
91-
```shell
92-
git add .
93-
git commit -m "Something meaningful"
94-
git push origin my_feature
95-
```
88+
```shell
89+
git add .
90+
git commit -m "Something meaningful"
91+
git push origin my_feature
92+
```
9693
9794
!!! note
9895
Alternatively you can amend your commit before pushing if you forgot something by using `git commit --amend`
@@ -111,7 +108,7 @@ for a review in the pull request or a comment.
111108
112109
## Issues and Planning
113110
114-
We use GitHub issues to track bugs and enhancement requests. Please provide as much context as possible when you open an issue. The information you provide must be comprehensive enough to understand, reproduce the behavior and find related reports of that issue for the assignee.
111+
We use GitHub issues to track bugs and enhancement requests. Please provide as much context as possible when you open an issue. The information you provide must be comprehensive enough to understand, reproduce the behavior and find related reports of that issue for the assignee.
115112
Therefore, contributors may use but aren't restricted to the issue template provided by the IronCore maintainers.
116113

117114

docs/iaas/architecture/networking.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,21 @@ IronCore's virtual networking architecture is illustrated with the following fig
1414

1515
The main elements involved in IronCore's networking are:
1616
- [**ironcore**](https://github.com/ironcore-dev/ironcore): Core networking component that manages network resources and configurations. For more details, see the
17-
[Networking usage guide](/iaas/usage-guides/networking).
17+
[Networking usage guide](/iaas/usage-guides/networking).
1818
- [**ironcore-net**](https://github.com/ironcore-dev/ironcore-net): Global coordination service that manages network resource in an IronCore instance.
1919
- [**metalnet**](https://github.com/ironcore-dev/metalnet): A service that provides cluster-level networking capabilities for `Machines`.
2020
- [**dpservice**](https://github.com/ironcore-dev/dpservice): A service that manages data plane operations, including network traffic routing and policies.
2121
- [**metalbond**](https://github.com/ironcore-dev/metalbond): A component that handles route announcements in an IronCore instance, ensuring that networking routes are
22-
correctly propagated across the IronCore installation.
22+
correctly propagated across the IronCore installation.
2323

2424
## `ironcore` and `ironcore-net`
2525

2626
`ironcore-net` is a global coordination service within an IronCore installation. Therefore, it is a single instance and
2727
the place where all network related decisions like reservation of unique IP addresses, allocation of unique network IDs, etc. are made.
2828

2929
`ironcore-net` has apart from its [own API](https://github.com/ironcore-dev/ironcore-net/tree/main/api/core/v1alpha1) two main components:
30-
- **apinetlet**: This component is responsible from translating the user-facing API objects from the `networking` resource group into the
31-
internal representation used by `ironcore-net`.
32-
- **metalnetlet**: This component is interfacing with the `metalnet` API to manage cluster-level networking resources like `NetworkInterface` which
33-
are requested globally in the `ironcore-net` API but are implemented by `metalnet` on a hypervisor level.
30+
- **apinetlet**: This component is responsible from translating the user-facing API objects from the `networking` resource group into the internal representation used by `ironcore-net`.
31+
- **metalnetlet**: This component is interfacing with the `metalnet` API to manage cluster-level networking resources like `NetworkInterface` which are requested globally in the `ironcore-net` API but are implemented by `metalnet` on a hypervisor level.
3432

3533
### Example `apinetlet` flow
3634

@@ -50,10 +48,10 @@ The `apinetlet` will reconcile this `VirtualIP` by performing the following step
5048
1. Create an `IP` object in the `ironcore-net` API, which reserves a unique IP address.
5149
2. Update the `VirtualIP` status with the allocated IP address.
5250

53-
The `ironcore` API server is agnostic on how the underlying global IP address is allocated and delegates this responsibility
51+
The `IronCore` API server is agnostic on how the underlying global IP address is allocated and delegates this responsibility
5452
to `ironcore-net`.
5553

56-
A similar flow happens for `Networks`, `LoadBalancer` and `NatGateways` resources, where the `apinetlet` is responsible
54+
A similar flow happens for `Network`, `LoadBalancer` and `NatGateway` resources, where the `apinetlet` is responsible
5755
for translating and allocating the necessary resources in `ironcore-net` to ensure that the networking requirements are met.
5856

5957
### `metalnetlet` and `metalnet`

docs/iaas/architecture/runtime-interface.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# IronCore Runtime Interface (IRI)
22

3-
The IronCore Runtime Interface (IRI) is a key concept in the IronCore architecture, designed to provide a consitent
3+
The IronCore Runtime Interface (IRI) is a key concept in the IronCore architecture, designed to provide a consistent
44
and unified interface for interacting with various compute and storage providers. The IRI abstracts the underlying
55
complexities of different providers.
66

@@ -12,7 +12,7 @@ There are three main runtime interfaces in IronCore:
1212
Implementations of these interfaces are done by provider-specific components. More infomation about the provider can
1313
be found in the [provider concept documentation](/iaas/architecture/providers/).
1414

15-
The definition of the runtime interfaces can be found in IronCores [`iri` package](https://github.com/ironcore-dev/ironcore/tree/main/iri/).
15+
The definition of the runtime interfaces can be found in IronCore's [`iri` package](https://github.com/ironcore-dev/ironcore/tree/main/iri/).
1616

1717
## MachineRuntime Interface
1818

@@ -40,9 +40,7 @@ service MachineRuntime {
4040
}
4141
```
4242

43-
The general idea is that a `machinepoollet` ensures that the API level dependencies are met. For example, a `Machine`s
44-
`Volume` which is used as a root disk is in the state `Available`. If those prerequisites are met, the `poollet` will
45-
call the corresponding `CreateMachine` method of the `RuntimeInterface` to create the `Machine` resource.
43+
The general idea is that a `machinepoollet` ensures that the API level dependencies are met. For example, a `Machine`'s `Volume` which is used as a root disk is in the state `Available`. If those prerequisites are met, the `poollet` will call the corresponding `CreateMachine` method of the `RuntimeInterface` to create the `Machine` resource.
4644

4745
The `ListMachines` and `Status` methods are used to retrieve a list of all `Machine` instances managed by the provider.
4846
The result of those methods is then used to propagate `Machine` state changes. Those methods are periodically called by
@@ -53,7 +51,7 @@ methods to attach volumes or network interfaces to a `Machine` if a change in th
5351

5452
## VolumeRuntime Interface
5553

56-
Similar to the `MachineRuntime`, the `VolumeRuntime` interface is responsible for managing storage resources in IronCore.
54+
Similar to the `MachineRuntime`, the `VolumeRuntime` interface is responsible for managing block storage resources in IronCore.
5755
Here the `volumepoollet` takes a similar role as the `machinepoollet` for the `MachineRuntime` and invokes `CreateVolume`,
5856
`DeleteVolume`, `ExpandVolume`, and other methods to manage `Volume` resources.
5957

docs/iaas/kubernetes/cloud-controller-manager.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ Below is the detailed explanation on how APIs are implemented by `cloud-provider
2727

2828
InstanceMetadata returns metadata of a node instance, which includes :
2929

30-
- `ProviderID`: Provider is combination of ProviderName(Which is nothing but set to `IronCore`)
31-
- `InstanceType`: InstanceType is set to referencing MachineClass name by the instance.
30+
- `ProviderID`: Provider is combination of ProviderName(Which is nothing but set to `IronCore`)
31+
- `InstanceType`: InstanceType is set to referencing MachineClass name by the instance.
3232
- `NodeAddresses`: Node addresses are calculated from the IP information available from NetworkInterfaces of the machine.
33-
- `Zone`: Zone is set to referenced MachinePool name.
33+
- `Zone`: Zone is set to referenced MachinePool name.
3434

3535

3636
## Load balancing for Services of type LoadBalancer
@@ -47,7 +47,7 @@ explanation on how APIs are implemented in IronCore cloud-provider.
4747
### Ensure LoadBalancer
4848

4949
- `EnsureLoadBalancer` gets the LoadBalancer name based on service name.
50-
- Checks if IronCore `LoadBalancer` object already exists. If not it gets the `port` and `protocol`, `ipFamily` information from the service and creates a new LoadBalancer object in the Ironcore.
50+
- Checks if IronCore `LoadBalancer` object already exists. If not it gets the `port` and `protocol`, `ipFamily` information from the service and creates a new LoadBalancer object in the Ironcore.
5151
- Newly created LoadBalancer will be associated with Network reference provided in cloud configuration.
5252
- Then `LoadBalancerRouting` object is created with the destination IP information retrieved from the nodes (Note: `LoadBalancerRouting` is internal object to Ironcore). Later, this information is used at the Ironcore API level to describe the explicit targets in a pool traffic is routed to.
5353
- Ironcore supports two types of LoadBalancer `Public` and `Internal`. If LoadBalancer has to be of type Internal, "service.beta.kubernetes.io/ironcore-load-balancer-internal" annotation needs to be set to true, otherwise it will be considered as public type.

docs/iaas/kubernetes/csi-driver.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ management capabilities.
88

99
## IronCore CSI Driver Integration
1010

11-
The [Ironcore CSI Driver](https://github.com/ironcore-dev/ironcore-csi-driver) is implemented as a Kubernetes storage
11+
The [IronCore CSI Driver](https://github.com/ironcore-dev/ironcore-csi-driver) is implemented as a Kubernetes storage
1212
plugin that bridges the gap between Kubernetes storage management and IronCore's `storage` resource types.
1313

1414
The core components of the IronCore CSI driver include:
@@ -20,8 +20,8 @@ The core components of the IronCore CSI driver include:
2020

2121
The CSI driver supports various storage class parameters for customizing volume provisioning:
2222

23-
- **Volume Type**: Specifies the type of volume to be created (e.g., standard, high-performance)
24-
- **AllowVolumeExpansion**: This Specifies the Volume can be resized if set to `true` and the respective volume Type has `ResizePolicy` set to `ExpandOnly`
23+
- **Volume Type**: Specifies the type of volume to be created (e.g., standard, high-performance).
24+
- **AllowVolumeExpansion**: This specifies that the `Volume` can be resized if set to `true` and the respective volume Type has `ResizePolicy` set to `ExpandOnly`.
2525

2626
### Volume Management
2727

0 commit comments

Comments
 (0)