diff --git a/docs/images/0-integrated-help.png b/docs/images/0-integrated-help.png new file mode 100644 index 0000000..96af292 Binary files /dev/null and b/docs/images/0-integrated-help.png differ diff --git a/docs/images/1-connection-management.png b/docs/images/1-connection-management.png new file mode 100644 index 0000000..e1a164f Binary files /dev/null and b/docs/images/1-connection-management.png differ diff --git a/docs/images/10-provisioner.png b/docs/images/10-provisioner.png new file mode 100644 index 0000000..a425332 Binary files /dev/null and b/docs/images/10-provisioner.png differ diff --git a/docs/images/2-cluster-details-and-output-formats.png b/docs/images/2-cluster-details-and-output-formats.png new file mode 100644 index 0000000..5c4ad9f Binary files /dev/null and b/docs/images/2-cluster-details-and-output-formats.png differ diff --git a/docs/images/3-node-information.png b/docs/images/3-node-information.png new file mode 100644 index 0000000..b7690d4 Binary files /dev/null and b/docs/images/3-node-information.png differ diff --git a/docs/images/4-vm-information.png b/docs/images/4-vm-information.png new file mode 100644 index 0000000..266c61f Binary files /dev/null and b/docs/images/4-vm-information.png differ diff --git a/docs/images/5-vm-details.png b/docs/images/5-vm-details.png new file mode 100644 index 0000000..344088b Binary files /dev/null and b/docs/images/5-vm-details.png differ diff --git a/docs/images/6-network-information.png b/docs/images/6-network-information.png new file mode 100644 index 0000000..f2b4d9f Binary files /dev/null and b/docs/images/6-network-information.png differ diff --git a/docs/images/7-storage-information.png b/docs/images/7-storage-information.png new file mode 100644 index 0000000..2560e25 Binary files /dev/null and b/docs/images/7-storage-information.png differ diff --git a/docs/images/8-vm-and-node-logs.png b/docs/images/8-vm-and-node-logs.png new file mode 100644 index 0000000..d0d1ab6 Binary files /dev/null and b/docs/images/8-vm-and-node-logs.png differ diff --git a/docs/images/9-vm-and-worker-tasks.png b/docs/images/9-vm-and-worker-tasks.png new file mode 100644 index 0000000..a29d59f Binary files /dev/null and b/docs/images/9-vm-and-worker-tasks.png differ diff --git a/docs/images/pvc-migration.png b/docs/images/pvc-migration.png deleted file mode 100644 index e9daf31..0000000 Binary files a/docs/images/pvc-migration.png and /dev/null differ diff --git a/docs/images/pvc-networks.png b/docs/images/pvc-networks.png deleted file mode 100644 index afa7732..0000000 Binary files a/docs/images/pvc-networks.png and /dev/null differ diff --git a/docs/images/pvc-nodelog.png b/docs/images/pvc-nodelog.png deleted file mode 100644 index a0eda9c..0000000 Binary files a/docs/images/pvc-nodelog.png and /dev/null differ diff --git a/docs/images/pvc-nodes.png b/docs/images/pvc-nodes.png deleted file mode 100644 index 1a6bf8e..0000000 Binary files a/docs/images/pvc-nodes.png and /dev/null differ diff --git a/docs/index.md b/docs/index.md index bd33504..e6aec51 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,8 +2,9 @@ Logo banner

License +Code style: Black Release -Documentation Status +Documentation Status

## What is PVC? @@ -22,38 +23,58 @@ Installation of PVC is accomplished by two main components: a [Node installer IS Just give it physical servers, and it will run your VMs without you having to think about it, all in just an hour or two of setup time. -For more details on the project motivation, please see the [About PVC](about-pvc.md) page. - -## What is it based on? - -The core node and API daemons, as well as the CLI API client, are written in Python 3 and are fully Free Software (GNU GPL v3). In addition to these, PVC makes use of the following software tools to provide a holistic hyperconverged infrastructure solution: - - * Debian GNU/Linux as the base OS. - * Linux KVM, QEMU, and Libvirt for VM management. - * Linux `ip`, FRRouting, NFTables, DNSMasq, and PowerDNS for network management. - * Ceph for storage management. - * Apache Zookeeper for the primary cluster state database. - * Patroni PostgreSQL manager for the secondary relation databases (DNS aggregation, Provisioner configuration). - - ## Getting Started -To get started with PVC, read over the [Cluster Architecture](architecture/cluster-architecture.md) pages then see the [Getting Started](deployment/getting-started.md) guide for details on configuring your first cluster. - +To get started with PVC, please see the [About](https://docs.parallelvirtualcluster.org/en/latest/about-pvc/) page for general information about the project, and the [Getting Started](https://docs.parallelvirtualcluster.org/en/latest/deployment/getting-started/) page for details on configuring your first cluster. ## Changelog -View the changelog in [CHANGELOG.md](https://github.com/parallelvirtualcluster/pvc/blob/master/CHANGELOG.md). - +View the changelog in [CHANGELOG.md](CHANGELOG.md). **Please note that any breaking changes are announced here; ensure you read the changelog before upgrading!** ## Screenshots -While PVC's API and internals aren't very screenshot-worthy, here is some example output of the CLI tool. +These screenshots show some of the available functionality of the PVC system and CLI as of PVC v0.9.85. -

Node listing
Listing the nodes in a cluster

+

0. Integrated help
+The CLI features an integrated, fully-featured help system to show details about every possible command. +

-

Network listing
Listing the networks in a cluster, showing 3 bridged and 1 IPv4-only managed networks

+

1. Connection management
+A single CLI instance can manage multiple clusters, including a quick detail view, and will default to a "local" connection if an "/etc/pvc/pvc.conf" file is found; sensitive API keys are hidden by default. +

-

VM listing and migration
Listing a limited set of VMs and migrating one with status updates

+

2. Cluster details and output formats
+PVC can show the key details of your cluster at a glance, including health, persistent fault events, and key resources; the CLI can output both in pretty human format and JSON for easier machine parsing in scripts. +

-

Node logs
Viewing the logs of a node (keepalives and VM [un]migration)

+

3. Node information
+PVC can show details about the nodes in the cluster, including their live health and resource utilization. +

+ +

4. VM information
+PVC can show details about the VMs in the cluster, including their state, resource allocations +

+ +

5. VM details
+In addition to the above basic details, PVC can also show extensive information about a running VM's devices and other resource utilization. +

+ +

6. Network information
+PVC has two major client network types, and ensures a consistent configuration of client networks across the entire cluster; managed networks can feature DHCP, DNS, firewall, and other functionality including DHCP reservations. +

+ +

7. Storage information
+PVC provides a convenient abstracted view of the underlying Ceph system and can manage all core aspects of it. +

+ +

8. VM and node logs
+PVC can display logs from VM serial consoles (if properly configured) and nodes in-client to facilitate quick troubleshooting. +

+ +

9. VM and worker tasks
+PVC provides full VM lifecycle management, as well as long-running worker-based commands (in this example, clearing a VM's storage locks). +

+ +

10. Provisioner
+PVC features an extensively customizable and configurable VM provisioner system, including EC2-compatible CloudInit support, allowing you to define flexible VM profiles and provision new VMs with a single command. +