Creating a Profile¶
A Profile is the core entity in ntkDeploy — a named, versioned definition of the ntkDrive configuration that you want to deploy to a class of devices. This tutorial walks you through the complete profile lifecycle: creating, editing, cloning, managing version history, reordering, and deleting profiles.
Prerequisites¶
- ntkDeploy installed and launched — see Installation and First Launch.
- Conceptual familiarity with Profile, Profile Version, and Environment.
1. Navigate to the Profiles Screen¶
Click Profiles in the left navigation sidebar. The screen splits into two panels:
- Left panel — The Profile Configurations data table lists every profile across all environments, with columns for Name, Environment, Status, Version, Last Modified, and Actions.
- Right panel — Shows a live JSON Preview for the selected profile, or the edit form when you are creating or editing a profile.
Filter by environment¶
Use the Environment Sidebar (above the profile table) to filter the list by a specific environment label. Click All Environments to clear the filter.
Filter by name¶
When profiles are present, a Filter by name text field appears above the table. Type any partial name to reduce the visible rows; click the ✕ inside the field to clear the filter.
Sort the table¶
Click the Name or Last Modified column headers to toggle ascending/descending sort order.
2. Create a New Profile¶
-
In the Profile Configurations toolbar, click the Create Profile icon (⊕, top-right of the left panel).
The right panel switches to the Create New Profile form. -
Fill in Profile Name * with a unique, descriptive name (for example,
Engineering-Standard).Required. Leaving this field empty keeps the Save Profile button disabled.
-
Open the Environment * dropdown and select an existing environment label, or click the + icon next to the dropdown to enter a new one (for example,
Production,Staging, orCorporate-IT).Required. If no environment is selected the profile cannot be saved.
-
Optionally fill in Department and Description for organizational context.
3. Configure Settings — Sources & Overrides¶
The form body has two tabs: Sources & Overrides and Policy. Start on the Sources & Overrides tab.
Sources¶
The Sources section defines the local folders that ntkDrive will sync to cloud storage on each managed device. Each entry maps one local folder to a provider instance. Click + Add Source to append an entry and expand it to fill in the following fields:
Core fields per source entry:
| Field | Description | Required |
|---|---|---|
| Folder Path | Local path to sync (for example, C:\Users\Public\Documents). |
Yes |
| Associated Provider | Which cloud provider type handles this folder. Must match a configured Cloud Providers entry. | Yes |
Per-source overrides: Each source entry also exposes optional override sections that shadow the global settings for that folder only.
File Processing Override — mirrors all fields in the global File Processing section (encryption, compression, FIPS mode, zero-trust storage, dehydrate hold, and the full Redundant Shred/IDA sub-section). Leave collapsed to inherit the global values.
Sync Settings Override — mirrors the global Sync Settings fields (sync deletions, concurrency, and timeouts) for this source only.
ABAC Attributes — Attribute-based access control tags in CNF (AND-of-OR) format. These tags are embedded in the deployed artifact and evaluated by ntkDrive policy enforcement.
Provider Assignments — One or more assignment entries that bind provider instances to this source:
| Sub-field | Description |
|---|---|
| Provider Instance ID | Instance ID of a configured Cloud Providers entry. |
| Provider ID | Provider type identifier (for example, MinIO, AmazonS3). |
| Assigned Bucket | Bucket to use for this assignment (overrides the provider default). |
Main Provider¶
Select the primary cloud-storage backend from the Main Provider dropdown:
| Option | Provider |
|---|---|
MinIO |
MinIO object storage (default) |
Amazon S3 |
AWS S3-compatible storage |
Network Share |
SMB/UNC network share |
Wasabi |
Wasabi hot cloud storage |
iDrive E2 |
iDrive E2 S3-compatible storage |
OneDrive |
Microsoft OneDrive |
Dropbox |
Dropbox |
Google Drive |
Google Drive |
Device Settings¶
| Field | Description | Default |
|---|---|---|
| Device ID | Unique identifier embedded in the artifact for target-device identification. | device-agent-001 |
| Conductor Address | Address of the ntkDrive conductor server. | xdrive.dev:9010 |
File Processing¶
Expand the File Processing section to configure encryption, compression, and storage behaviour:
| Setting | Description | Default |
|---|---|---|
| Enable File Encryption | Encrypts files before uploading to cloud storage. | Enabled |
| Enable Compression | Compresses files before uploading. | Enabled |
| FIPS Mode | Enables FIPS-compliant cryptographic operations. | Disabled |
| Zero Trust Storage | Enables zero-trust storage mode. | Disabled |
| Dehydrate Hold (seconds) | Seconds to wait before dehydrating files (0–3600). | 30 |
| Redundant Storage | Stores files redundantly across providers. | Disabled |
Redundant Shred (IDA)¶
If you enable Redundant Shred, configure the Information Dispersal Algorithm:
| Sub-field | Description | Default |
|---|---|---|
| Threshold | Minimum shards required for recovery (1–10). | 2 |
| Shred Count | Total shards to create (2–20). | 4 |
| Round Robin | Distribute shards using round-robin strategy. | Enabled |
| Redundant | Store all shards redundantly. | Disabled |
| Random | Distribute shards randomly. | Disabled |
| Use Encrypted File | Use encrypted data as IDA input. | Enabled |
| IDA Only | Use IDA without layered encryption. | Disabled |
Metadata Backup¶
Expand the Metadata Backup section to configure how ntkDrive backs up its local database and operational metadata:
| Field | Description | Default |
|---|---|---|
| Upload Encrypted DB Backup | Uploads an encrypted copy of the local database to cloud storage on each sync cycle. | Disabled |
| Enable USB Backup | Copies the database backup to a removable drive at the specified path. | Disabled |
| Backup Location | Local path to the USB/removable drive target (for example, E:\ntkDriveBackup). Required when Enable USB Backup is on. |
— |
Sync Settings¶
Expand the Sync Settings section to tune network and replication behaviour globally. These values can be overridden per source entry — see Per-source overrides above.
| Field | Description | Default |
|---|---|---|
| Sync File Deletions | Propagates local file deletions to cloud storage. Disable to retain cloud copies of deleted files. | Disabled |
| External Check Concurrency | Maximum concurrent external checks. Set to 0 for unlimited. Range: 0–100. |
— |
| Connect Timeout (ms) | Network connection timeout in milliseconds. Range: 1000–60000. | 10000 |
| Request Timeout (ms) | Network request timeout in milliseconds. Range: 1000–120000. | 15000 |
Cloud Providers¶
The Cloud Providers section is where you register the named provider instances that Sources entries reference. Add one entry per provider instance your deployment requires. Each provider type exposes a different set of configuration fields:
S3-compatible providers (Amazon S3, MinIO, Wasabi, iDrive E2):
| Field | Description | Required |
|---|---|---|
| Display Name | Human-readable label for this instance. | Yes |
| Access Key | Provider access key or key ID. | Yes |
| Secret Key | Provider secret key. | Yes |
| Bucket Name | Default bucket to use. | Yes |
| Additional Buckets | Semicolon-separated list of extra accessible buckets. | No |
| Endpoint Override | Custom endpoint URL (required for MinIO; optional for Wasabi/iDrive E2; leave empty for Amazon S3 default). | Varies |
| Region | Storage region. | No (default: us-east-1) |
| Instance ID | Unique identifier referenced by Sources Provider Assignments. | Yes |
Network Share:
| Field | Description | Required |
|---|---|---|
| Display Name | Human-readable label. | Yes |
| UNC Path | Network path in the form \\server\share\path. |
Yes |
| Instance ID | Unique identifier referenced by Sources Provider Assignments. | Yes |
OAuth providers (OneDrive, Dropbox, Google Drive): Only a Display Name is configured here. Authentication is completed on-device by the managed user after deployment.
Tip: Every provider instance registered here should be assigned to at least one Source entry via Provider Assignments for ntkDrive to use it.
4. Live JSON Preview¶
The right half of the Sources & Overrides tab always shows a live JSON preview of the Artifact that ntkDeploy will build from your current settings. The preview updates automatically as you change any field — no save is required to see the effect.
If validation errors exist, they appear in red above the JSON output so you can identify and fix problems before saving.
5. Configure Policy Settings (Optional)¶
Click the Policy tab to configure ABAC policy references embedded in the profile. This ensures all deployed Artifacts carry the correct Policy snapshot so that ntkDrive enforces the right access rules. A live JSON preview on the right side of this tab reflects policy changes in real time.
Leave this tab at its defaults if you do not yet have a policy configuration — it can be added later by editing the profile.
6. Validate and Save¶
Validate without saving¶
Click Validate in the action bar (or press Ctrl+Enter) to run schema validation without saving. Results appear immediately:
- No error count shown → validation passed.
N validation error(s)in red → errors must be fixed before saving.
Common validation errors and fixes¶
| Error | Cause | Fix |
|---|---|---|
| Profile Name * field empty | No name entered | Enter a descriptive profile name. |
| Environment * dropdown not set | No environment selected | Select an existing environment label or create a new one with +. |
Required field missing on a source entry |
A required source sub-field is blank | Expand the relevant source entry and fill in all required fields. |
Unknown schema version: … |
Schema registry not initialised | Restart ntkDeploy. If the error persists, see the FAQ. |
Save the profile¶
When validation passes and all required fields are complete, the Save Profile button (shown as Save Changes when editing) becomes active. Click it to persist the profile. A snackbar confirms:
- "Profile created successfully." — for new profiles.
- "Profile updated successfully." — for edits.
If errors remain, the button stays disabled. Attempting to save before errors are resolved displays: "Fix validation errors before saving."
Status column meanings¶
After saving, the Status column in the profile table updates:
| Icon | Status | Meaning |
|---|---|---|
| ✅ (green circle) | valid |
Settings passed all schema checks — eligible for Assignment. |
| ⚠️ (amber warning) | draft |
Profile saved but validation has not yet run or has not passed. |
| ❌ (red error) | invalid |
Settings failed validation — cannot be deployed until fixed. |
Only a valid Profile Version can be selected for assignment and deployment.
7. Edit an Existing Profile¶
- In the Profile Configurations table, locate the profile row.
- Click the Edit icon (✏️) in the Actions column.
The right panel reloads pre-filled with the current values. - Make your changes, then click Save Changes.
Tip: You can also click any row to select it and view the JSON preview in the right panel, then click Edit in the preview header.
Every save that changes the settings creates a new immutable Profile Version. Prior versions are preserved in the version history.
8. Clone a Profile¶
Cloning creates a new independent profile pre-populated with the settings of an existing one — useful for creating environment-specific variants or safe test copies.
- In the Actions column, click the Clone icon.
- The create form opens with Profile Name pre-set to
<original name> (Copy). - Rename the profile, adjust the Environment if needed, modify any settings, then click Save Profile.
You can also click Clone in the preview panel header when a profile is selected.
9. Version History¶
Every profile maintains a full, append-only history of its Profile Versions.
View history¶
- Click the View History icon (⏱, clock) in the Actions column,
or select the profile and click the History tab in the right preview panel.
The history view lists each version entry with its timestamp and validation status.
Restore a prior version¶
The History tab lets you browse all prior Profile Versions and roll back when needed:
- Find the version you want to restore.
- Click Restore next to that entry.
- Confirm the action when prompted.
A snackbar confirms: "Version restored successfully." The restored settings are saved as a new version — intermediate versions are not deleted; the full history is preserved.
Note: If a restore fails (for example, due to malformed stored JSON), the snackbar reads: "Failed to restore version:
<detail>."
10. Reorder Profiles¶
The Profile Configurations table supports click-to-sort ordering:
- Click the Name column header to sort alphabetically.
- Click the Last Modified column header to sort by recency.
Clicking a header a second time reverses the direction. The sort state persists for the current session. There is no drag-to-reorder capability in the Profiles screen; display order is determined entirely by the active column sort.
11. Import and Export Profiles¶
The toolbar exposes two additional file-based actions:
| Icon | Action |
|---|---|
| Import Profiles (↑) | Pick a .json export file. Choose a conflict strategy: ⏭️ Skip Conflicts, 🔁 Overwrite, or 🔄 Auto-Rename (Recommended). A snackbar reports the count of successfully imported profiles. |
| Export Profiles (↓) | Saves all loaded profiles to a .json file. A safety notice reminds you that export files are redacted by default — full provider secrets only appear in deployment artifacts, not in exported files. |
See Importing & Exporting Profiles for the full conflict-resolution workflow.
12. Delete a Profile¶
⚠️ Deletion is permanent. There is no recycle bin or undo.
- In the Actions column, click the Delete icon (🗑️).
- A confirmation dialog reads:
Delete Profile
"Are you sure you want to delete<name>?" - Click Delete to confirm or Cancel to abort.
If the profile currently being edited or previewed is deleted, the right panel resets to the empty state.
Next Steps¶
- Managing Device Groups — create the targets your profiles will be deployed to.
- Deploying Configurations — assign a profile to a device group and run a rollout.
- Importing & Exporting Profiles — move profiles between environments or ntkDeploy instances.
- Profile Schemas Reference — full field-by-field reference for every configuration setting.