# DevOps Desktop

## Table of Contents

1. [Introduction](#1-introduction)
2. [System Requirements](#2-system-requirements)
3. [Roles and Permissions](#3-roles-and-permissions)
4. [Navigation Structure](#4-navigation-structure)
5. [User Guide Index](#5-user-guide-index)

***

## 1. Introduction

Axilon DevOps Desktop is a comprehensive desktop application for managing operational technology environments. It provides tools for application management, machine provisioning, backup and restore workflows, virtual machine cloning, and a full change-management system with version-controlled configuration tracking.

The application is organized into the following major areas:

| Area                  | Purpose                                                                                                                                                                    |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Applications**      | Define and manage the Axilon applications your organization uses.                                                                                                          |
| **Machines**          | Register, monitor, and manage physical and virtual machines.                                                                                                               |
| **Configurations**    | Set up backup and restore configurations for each machine and application.                                                                                                 |
| **Clones**            | Create and manage virtual machine clones from images, with full lifecycle control.                                                                                         |
| **Snapshots**         | Capture point-in-time backups of machine configurations.                                                                                                                   |
| **Restores**          | Restore a machine to a previously captured snapshot.                                                                                                                       |
| **Schedules**         | Automate snapshot and restore operations on a recurring basis.                                                                                                             |
| **Change Management** | Version-controlled workflow for tracking, reviewing, and merging configuration changes (repositories, branches, commits, change requests, and the Machine Control Center). |
| **Users & Roles**     | Manage user accounts and assign role-based permissions.                                                                                                                    |
| **Account Settings**  | Manage your own profile, password, and multi-factor authentication.                                                                                                        |

***

## 2. System Requirements

Axilon DevOps Desktop runs as an Electron-based desktop application on Windows. Key prerequisites:

* A registered Axilon Box machine.
* Network connectivity to the Axilon backend services.
* An active user account with appropriate role assignments.

***

## 3. Roles and Permissions

Three roles govern access across the entire application:

| Role              | Description                                                                                                                                                          |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Global Admin**  | Full system access. Can create users, manage applications, machines, configurations, clones, snapshots, restores, schedules, repositories, and all role assignments. |
| **Machine Admin** | Machine-scoped operations. Can manage branches, change requests (create, update, merge), and role assignments within their scope.                                    |
| **Developer**     | Limited access. Can create and update change requests and retry diff computations.                                                                                   |

### Permissions at a Glance

| Action                                    | Global Admin | Machine Admin | Developer |
| ----------------------------------------- | :----------: | :-----------: | :-------: |
| **Users**                                 |              |               |           |
| Create users                              |      Yes     |       --      |     --    |
| Reset user passwords                      |      Yes     |       --      |     --    |
| **Role Assignments**                      |              |               |           |
| Create role assignments                   |      Yes     |      Yes      |     --    |
| Update / delete role assignments          |      Yes     |      Yes      |     --    |
| Delete Global Admin assignments           |      Yes     |       --      |     --    |
| **Applications**                          |              |               |           |
| Create / update applications              |      Yes     |       --      |     --    |
| **Machines**                              |              |               |           |
| Register / update / delete machines       |      Yes     |       --      |     --    |
| **Configurations**                        |              |               |           |
| Create / update / delete configurations   |      Yes     |       --      |     --    |
| **Clones**                                |              |               |           |
| Create clones                             |      Yes     |       --      |     --    |
| Manage clones (start, stop, reboot, etc.) |      Yes     |       --      |     --    |
| Delete clones                             |      Yes     |       --      |     --    |
| **Snapshots**                             |              |               |           |
| Create / retry / cancel snapshots         |      Yes     |       --      |     --    |
| **Restores**                              |              |               |           |
| Create / retry / cancel restores          |      Yes     |       --      |     --    |
| **Schedules**                             |              |               |           |
| Create / update / delete schedules        |      Yes     |       --      |     --    |
| **Repositories**                          |              |               |           |
| Create / edit repositories                |      Yes     |       --      |     --    |
| **Branches**                              |              |               |           |
| Create / edit / delete branches           |      --      |      Yes      |     --    |
| **Change Requests**                       |              |               |           |
| Create / update change requests           |      --      |      Yes      |    Yes    |
| Merge change requests                     |      --      |      Yes      |     --    |
| Retry diff computation                    |      --      |      Yes      |    Yes    |

All three roles can **view** every page in the application.

***

## 4. Navigation Structure

The sidebar organizes the application into the following sections:

```
Axilon DevOps Desktop
├── Users (Global Admin, Machine Admin)
│   ├── List Users (Global Admin only)
│   └── Role Assignments
├── Applications
├── Machines
│   ├── List Machines
│   └── Current Machine
├── Configurations
├── Clones
├── Schedules
├── Snapshots
├── Restores
├── Change Management
│   ├── Repositories
│   ├── Change Requests
│   └── Machine Control Center
└── Scripts (development mode only)
    ├── Templates
    └── Executions
```

### Top Navigation Bar

The top bar provides quick access to:

| Element            | Description                                          |
| ------------------ | ---------------------------------------------------- |
| **User Menu**      | Your profile, account settings, and sign-out option. |
| **Notifications**  | System notifications and alerts.                     |
| **Machine Status** | Current machine online/offline indicator.            |
| **Service Status** | Background service health indicators.                |
| **Theme Toggle**   | Switch between light and dark color schemes.         |

***

## 5. User Guide Index

The Axilon DevOps Desktop documentation is organized into the following guides:

| Guide                             | File                              | What It Covers                                                                                     |
| --------------------------------- | --------------------------------- | -------------------------------------------------------------------------------------------------- |
| **Overview and Navigation**       | `devops-desktop-overview.md`      | This document. System overview, roles, navigation.                                                 |
| **Authentication and Onboarding** | `authentication-user-guide.md`    | Login, MFA, account recovery, first-time onboarding, account settings.                             |
| **Users and Role Management**     | `users-roles-user-guide.md`       | User accounts, role assignments, scoping, and password management.                                 |
| **Applications**                  | `applications-user-guide.md`      | Creating, viewing, and updating applications.                                                      |
| **Machines**                      | `machines-user-guide.md`          | Machine registration, monitoring, background services, and the Current Machine page.               |
| **Clones**                        | `clones-user-guide.md`            | Virtual machine clone creation, lifecycle management, networking, and domain controller setup.     |
| **Change Management**             | `change-management-user-flows.md` | Repositories, branches, commits, change requests, reviews, merges, and the Machine Control Center. |
