Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Epic: Multi-document machine configuration and fully reactive Talos core #7223

Open
3 of 5 tasks
Tracked by #7322 ...
smira opened this issue May 16, 2023 · 0 comments
Open
3 of 5 tasks
Tracked by #7322 ...

Comments

@smira
Copy link
Member

smira commented May 16, 2023

These two issues seem to be intertwined, so we track them in a single Epic. At the same time there is no hard dependency between them.

High-Level Objectives

  1. Machine configuration:
    1. Support additional configuration documents in the Talos machine configuration in addition to v1alpha1 document.
    2. Support different lifecycle of the documents - i.e. some documents might be removed, while other documents stay.
    3. Long-term: transition from v1alpha1 format to multi-doc format.
  2. Reactive Talos core:
    1. Transform existing Talos sequencer and tasks into fully reactive controller-based implementation.
    2. Talos boot process should be fully async, acting on machine configuration changes.
    3. Any machine configuration change (with possibly some exceptions related to v1alpha1 format) should be applied without a reboot. The only exception is upgrade process which requires changing Linux kernel.

Task Breakdown

Tasks

  1. 6 of 6
  2. 5 of 5
  3. 5 of 6
  4. 1 of 8
  5. 0 of 3
budimanjojo added a commit to budimanjojo/talhelper that referenced this issue Jan 18, 2024
This allows you to have something like this in your `talconfig.yaml`:

```yaml
nodes:
  - extraManifests:
      - etcd-firewall.yaml
      - kubelet-firewall.yaml
      - ../anotherfile.yaml
```

And the content of those files will be appended in the generated
manifest for the node that you can apply using `talosctl` like so:

```yaml
<generated machineconfig>
---
<etcd-firewall.yaml content>
---
<kubelet-firewall.yaml content>
---
<../anotherfile.yaml content>
```

This is made to prepare for
siderolabs/talos#7223
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant