provd

package module
v0.0.0-...-bb20419 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 26, 2024 License: GPL-3.0 Imports: 0 Imported by: 0

README

Provisioning daemon local testing

Replicating the initial setup session for testing changes made to provd can be tricky and tedious. The Makefile included here attempts to make testing and feature iteration easier.

Provided lxd is installed, you should be able to quickly spin up a vm with the environment setup configured for walking through and testing changes to provd.

Build itteration

This setup is designed such that you can easily itterate over new provd builds. This aims to enable the workflow of:

  • Setup the vm with make prepare-vm
  • Make changes to provd
  • Build provd
  • Install provd on the vm via make install-deb
  • Boot into the vm to test via make attach-vm

This will be expanded apon below:

Environment setup

Installing required tools

You can install lxd and virt-viewer by running:

sudo make install-local-tooling
Setting up the vm

You can get the vm prepared by running:

make prepare-vm

This will bootstrap the vm with the required components, install the ubuntu-desktop-init frontend from the candidate branch and remove the default ubuntu user (a prerequisite for the Gnome Initial Setup to trigger).

Installing provd

Assuming you have a local .deb build and packaged for testing, you can run:

make install-deb

This will check the debian/changelog file for the latest version of the deb, search for it in the parent directory. If found, it will be copied over to the vm and installed.

Starting the GIS session

lastly, you can run

make attach-vm

This will restart the vm and open a virt-viewer window. GDM should detect no user is present and boot into the GIS session and allow you to set up a first user using the ubuntu-desktop-init + provd workflow.

Documentation

Overview

Package provd contains the autogenerated gRPC API used by the Ubuntu Desktop Init frontend.

Directories

Path Synopsis
cmd
provd
Package main is the Ubuntu Desktop Provisioning daemon entry point.
Package main is the Ubuntu Desktop Provisioning daemon entry point.
provd/daemon
Package daemon provides the main orchestration for the provisioning daemon.
Package daemon provides the main orchestration for the provisioning daemon.
internal
consts
Package consts defines the constants used by the project.
Package consts defines the constants used by the project.
daemon
Package daemon handles the GRPC daemon with systemd support.
Package daemon handles the GRPC daemon with systemd support.
services
Package services mediates all the business logic of the application via a manager.
Package services mediates all the business logic of the application via a manager.
services/accessibility
Package accessibility implements the Accessibility service.
Package accessibility implements the Accessibility service.
services/gdm
Package gdm implements the GDM gRPC service.
Package gdm implements the GDM gRPC service.
services/keyboard
Package keyboard implements the Keyboard gRPC service.
Package keyboard implements the Keyboard gRPC service.
services/locale
Package locale implements the Locale gRPC service.
Package locale implements the Locale gRPC service.
services/privacy
Package privacy implements the Privacy gRPC service.
Package privacy implements the Privacy gRPC service.
services/telemetry
Package telemetry implements the Telemetry gRPC service.
Package telemetry implements the Telemetry gRPC service.
services/timezone
Package timezone implements the Timezone gRPC service.
Package timezone implements the Timezone gRPC service.
services/user
Package user implements the User gRPC service.
Package user implements the User gRPC service.
testutils
Package testutils provides utility functions and behaviors for testing.
Package testutils provides utility functions and behaviors for testing.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL