Skip to content

Commit

Permalink
feat: implement the page that shows list of extensions per node
Browse files Browse the repository at this point in the history
Also show the current status of each extension: `installed`, `removing`
or `installing`.
`UpdateExtensions` modal now can be used to update the machine
extensions.

Additional changes:
- bump Vue to 3.3 and make `Watch.vue` typed.
- fix an issue with `MachineExtensions` controller that wasn't
  triggering reconcile after removing extensions config for a machine.
- drop `ResourceTyped<T>` and replace it with `Resource<T, S>` everywhere.

Signed-off-by: Artem Chernyshev <[email protected]>
  • Loading branch information
Unix4ever committed May 7, 2024
1 parent 89fa1ad commit f6cd840
Show file tree
Hide file tree
Showing 69 changed files with 2,889 additions and 1,143 deletions.
783 changes: 500 additions & 283 deletions client/api/omni/specs/omni.pb.go

Large diffs are not rendered by default.

18 changes: 18 additions & 0 deletions client/api/omni/specs/omni.proto
Original file line number Diff line number Diff line change
Expand Up @@ -985,6 +985,24 @@ message MachineExtensionsSpec {
repeated string extensions = 1;
}

// MachineExtensionsStatusSpec defines status of each extension on the machine.
message MachineExtensionsStatusSpec {
message Item {
enum Phase {
Installed = 0;
Installing = 1;
Removing = 2;
}

string name = 1;
bool immutable = 2;
Phase phase = 3;
}

repeated Item extensions = 1;
string talos_version = 2;
}

// MachineStatusMetricsSpec provides aggregated state of the number of registered and connected machines for the Omni instance.
message MachineStatusMetricsSpec {
uint32 registered_machines_count = 1;
Expand Down
Loading

0 comments on commit f6cd840

Please sign in to comment.