zabbly-incus

repository·daily·Indexed 19 days ago

https://github.com/zabbly/incus

Managed Incus package builds from Zabbly for Ubuntu and Debian distributions. Provides multiple release channels including LTS (6.0, 7.0), Stable, and Daily. Includes documentation for installing the incus, incus-client, and incus-ui-canonical packages, as well as utilities for migration and distribution building such as incus-migrate, lxc-to-incus, and distrobuilder.

Tokens
1.1K
Snippets
6
Records
8
Agent score
68%

What's inside zabbly-incus

  1. Add the Incus repository to APT

    daily

    Zabbly provides four different Incus repositories. Choose the one that matches your requirements and run the corresponding command as root to create the .sources file in /etc/apt/sources.list.d/.

    Available repositories:

    • lts-6.0: Incus 6.0.x LTS
    • lts-7.0: Incus 7.0.x LTS
    • stable: Latest release of Incus
    • daily: Untested daily builds
    # Example: Adding the Stable repository
    sh -c 'cat <<EOF > /etc/apt/sources.list.d/zabbly-incus-stable.sources
    Enabled: yes
    Types: deb
    URIs: https://pkgs.zabbly.com/incus/stable
    Suites: $(. /etc/os-release && echo ${VERSION_CODENAME})
    Components: main
    Architectures: $(dpkg --print-architecture)
    Signed-By: /etc/apt/keyrings/zabbly.asc
    
    EOF'
  2. Set up the Incus Web UI

    daily

    To use incus-ui-canonical, Incus must be configured to listen on a network address. You can enable this during incus admin init or manually via incus config set.

    1. Set a listener: Use incus config set core.https_address to specify an address (e.g., :8443 for all interfaces).
    2. Access the UI: Navigate to https://localhost:8443 in your browser, accept the self-signed certificate, and follow the login instructions.
    # Set Incus to listen on port 8443
    incus config set core.https_address :8443
  3. Verify and import the Zabbly repository key

    daily

    Before installing Incus, you must import the Zabbly public key to verify package integrity.

    1. Verify the fingerprint: Ensure the fingerprint of key.asc matches 4EFC 5906 96CB 15B8 7C73 A3AD 82CC 8797 C838 DCFD using curl or wget.
    2. Prepare keyrings directory: Ensure /etc/apt/keyrings/ exists.
    3. Save the key: Download the key to /etc/apt/keyrings/zabbly.asc.
    # 1. Verify fingerprint
    curl -fsSL https://pkgs.zabbly.com/key.asc | gpg --show-keys --fingerprint
    
    # 2. Create directory
    mkdir -p /etc/apt/keyrings/
    
    # 3. Save key
    curl -fsSL https://pkgs.zabbly.com/key.asc -o /etc/apt/keyrings/zabbly.asc
  4. Reference of available Incus packages

    daily

    In addition to the main incus package, the Zabbly repository provides:

    • incus-client: Contains only the CLI tool; ideal for managing remote servers from a local machine.
    • incus-ui-canonical: A rebranded version of the LXD web interface for use with Incus.
  5. Use the lxc-to-incus CLI tool for migration

    daily

    The lxc-to-incus tool is a CLI utility used to migrate LXC containers to Incus. It is designed to be executed as a wrapper that ensures the correct Incus binary paths and library paths are set.

    When running this tool, it automatically configures the following environment variables to ensure compatibility with the Incus environment:

    • PATH: Prepends /opt/incus/bin/ to your existing PATH.
    • LD_LIBRARY_PATH: Sets the library path to /opt/incus/lib/.

    Note: The specific command-line arguments and flags accepted by lxc-to-incus are passed directly to the underlying migration logic via the $@ shell expansion.

    # To run the migration tool, execute it directly from your shell:
    ```bash
    lxc-to-incus [arguments]
  6. Use the incus-migrate CLI tool

    daily

    The incus-migrate tool is a CLI utility used to migrate workloads to Incus. It is typically located in /opt/incus/bin/. When running the tool, it relies on libraries located in /opt/incus/lib/ being present in the LD_LIBRARY_PATH.

    incus-migrate [args]
  7. Use the distrobuilder CLI command

    daily
    The distrobuilder command is used to build custom distributions for Incus. When invoked via the /bin/distrobuilder wrapper, it ensures that the necessary Incus binaries and libraries are available in the environment by setting PATH to include /opt/incus/bin/ and setting LD_LIBRARY_PATH to /opt/incus/lib/.