This moves `pkg/config`, `pkg/client` and `pkg/constants`
under `pkg/machinery` umbrella.
And `pkg/machinery` is published as Go module inside Talos repository.
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
This makes `pkg/config` directly importable from other projects.
There should be no functional changes.
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
This linter makes sure tests are excercising only public package API.
I fixed all the tests which touch only public API of the packages. For
other test packages I added proper `//nolint` directive.
Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
This is a rewrite of machined. It addresses some of the limitations and
complexity in the implementation. This introduces the idea of a
controller. A controller is responsible for managing the runtime, the
sequencer, and a new state type introduced in this PR.
A few highlights are:
- no more event bus
- functional approach to tasks (no more types defined for each task)
- the task function definition now offers a lot more context, like
access to raw API requests, the current sequence, a logger, the new
state interface, and the runtime interface.
- no more panics to handle reboots
- additional initialize and reboot sequences
- graceful gRPC server shutdown on critical errors
- config is now stored at install time to avoid having to download it at
install time and at boot time
- upgrades now use the local config instead of downloading it
- the upgrade API's preserve option takes precedence over the config's
install force option
Additionally, this pulls various packes in under machined to make the
code easier to navigate.
Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
Adding VLAN as option to machine config under devices.
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
feat: Add addressing support for VLAN devices.
- Refactors static addressing to not be dependent on machine.Device
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
feat: Add addressing support for VLAN devices.
- Support of VLAN being the default network to use by removing need of addressing on master device.
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
fix: Fix the fmt of go files
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
fix: refactor based on review comment.
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
fix: remove unused function
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
feat: initial work for supporting vlans
Adding VLAN as option to machine config under devices.
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
feat: Add addressing support for VLAN devices.
- Refactors static addressing to not be dependent on machine.Device
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
feat: Add addressing support for VLAN devices.
- Support of VLAN being the default network to use by removing need of addressing on master device.
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
fix: Fix the fmt of go files
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
fix: refactor based on review comment.
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
fix: fix test case function arguments
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
fix: Add log for debugging address configuration failures
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
fix: fix lint issues.
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
fix: fix the lint error.
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
fix: Fix when addressing set with kernel options
Signed-off-by: Niklas Wik <niklas.wik@nokia.com>
This includes a healthy refactor of the networkd code as well.
- Move netlink functionality to nic package
- Networkd facilitates the orchestration of the underlying interface configuration
- Networkd now stores the state of each interface configuration. This
should allow us to expose this information via api in the future.
Signed-off-by: Brad Beam <brad.beam@talos-systems.com>