Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bin/watch
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ from time import sleep


def build_docs():
subprocess.check_call("bin/build_docs")
subprocess.run("bin/build_docs")


def refresh_assets():
Expand Down
5 changes: 3 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,14 @@

# -- Project information -----------------------------------------------------

project = "Docs"
project = "Documentation"
html_title = "Hypernode Documentation"
current_year = datetime.now().year
copyright = f"{current_year}, Hypernode"
author = "Hypernode"

# The full version, including alpha/beta/rc tags
release = "dev"
release = "latest"


# -- General configuration ---------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ aws s3 sync var/import_export s3://my_bucket_name/import_export
Both methods are significantly faster than Magento’s built-in sync, as aws s3 sync handles uploads concurrently.

```{tip}
More information about the `hypernode-object-storage` command can be found in the [Object Storage article](../../hypernode-platform/object-storage/getting-started-with-object-storage.md).
More information about the `hypernode-object-storage` commands can be found in the [Object Storage documentation](../../hypernode-platform/object-storage.md).
```

## The storage flag file in the bucket
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ aws s3 sync public/media/ s3://bucket_name/media/
```

```{tip}
More information about the `hypernode-object-storage` command can be found in the [Object Storage article](../../hypernode-platform/object-storage/getting-started-with-object-storage.md).
More information about the `hypernode-object-storage` command can be found in the [Object Storage documentation](../../hypernode-platform/object-storage.md).
```

## Serving assets from your S3 bucket
Expand Down
13 changes: 13 additions & 0 deletions docs/hypernode-platform/object-storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,24 @@ redirect_from:

# Object Storage

Hypernode Object Storage provides an option to store media files, assets, backups, documents, etc in a persistent, remote storage container.

Object storage eliminates redundancy and provides a centralized, scalable solution for storing application assets, session data, and backups.

By default, media files are stored in the same filesystem that contains the application. This is inefficient for complex, multi-server configurations, and can result in degraded performance when sharing resources.

With Object Storage you get:

- Effortless Data Sharing – Seamless access across all Hypernodes
- Full Access Control & Security – Secure and manage your data with ease
- Safe Backup & Monitoring – Ensure reliability with built-in insights

```{toctree}
---
caption: Table of Contents
maxdepth: 1
glob:
---
object-storage/getting-started
object-storage/*
```
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions docs/hypernode-platform/object-storage/cancellation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
myst:
html_meta:
description: Learn how to cancel Hypernode Object Storage
title: Hypernode Object Storage | Cancellation
---

# Cancellation

To cancel an Object Storage Workspace, you can ssh into the Hypernode that is linked to that Object Storage and run `hypernode-object-storage cancel`.

```{note}
The cancellation will be in effect from the end of the month.
Also if you change your mind or forgot to pull some data. It will still be available for 7 days after the cancellation. You can always reach out to the support team for help if that happens.
```

This file was deleted.

68 changes: 68 additions & 0 deletions docs/hypernode-platform/object-storage/getting-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
myst:
html_meta:
description: Getting started with Object Storage
title: Hypernode Object Storage | Getting Started
redirect_from:
- hypernode-platform/object-storage/getting-started-with-object-storage
---

# Getting started with Hypernode Object Storage

You can run the CLI command with the `--help` command to find out about all the options and arguments.

```bash
hypernode-object-storage --help
```

## Creating a Hypernode Object Storage Workspace

**Command-line interface (CLI)**

1. SSH into your server.
1. Run `hypernode-object-storage create`
1. Fill in the prompts with a name and desired storage.
1. Confirm your order and give it a few minutes before your storage is ready.

**Control Panel**

1. Go to the [Control Panel](https://my.hypernode.com).
1. Click the **Order a workspace** button in the top-right.
1. Select the desired options for your workspace and proceed to checkout.


```{note}
You can use one object storage across multiple Hypernodes. But you can only use one object storage space per Hypernode.
```

## Retrieve object storage information

**Command-line interface (CLI)**

1. Run `hypernode-object-storage info`
1. If you want to retrieve your credentials for the workspace pass in the flag `--with-credentials`.

The output should look like the following:

```console
app@abcdef-example-magweb-cmbl:~$ hypernode-object-storage info
UUID | d8770125-6c90-4770-b00f-1716f699990a
Name | example-storage
Plan | OS50GB
Versioning | Disabled
Hypernodes | example
Endpoint URL | **sensitive**
Access Key | **sensitive**
Secret Key | **sensitive**
```

**Control Panel**
1. Go to the [Control Panel](https://my.hypernode.com).
1. Click on the **Object Storage** tab in the left sidebar.
1. Click your workspace.
1. Click the **Show credentials** button in the top-right corner.

You can use the credentials and the URL now to configure remote storage for your application with the help of the following articles:

1. [How to configure remote storage for Magento 2.x](../../ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md)
1. [How to configure remote storage for Shopware 6.x](../../ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md)
56 changes: 56 additions & 0 deletions docs/hypernode-platform/object-storage/managing-objects.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
myst:
html_meta:
description: Learn how to manage objects in Hypernode Object Storage
title: Hypernode Object Storage | Managing Objects
---

# Managing Objects

You can manage your objects using the `hypernode-object-storage objects` subcommand.
It supports all common operations--listing, copying, moving, and deleting files--while also allowing you to sync files in the background and monitor the progress of an ongoing sync.

```console
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't restore and explore be apart of this?

app@abcdef-example-magweb-cmbl:~$ hypernode-object-storage objects --help
usage: hypernode-object-storage objects [-h] {sync,cp,ls,mv,rm,show} ...

Manage objects in object storage

positional arguments:
{sync,cp,ls,mv,rm,show}
sync Synchronize files between a local directory and an object storage location
cp Copy a file or object from one location to another
ls List objects in an S3 bucket or folder
mv Move or rename a file or object
rm Delete an object from S3
show Display the current status of an ongoing sync process

options:
-h, --help show this help message and exit
```

It is important to note that `hypernode-object-storage objects` supports all optional flags available in `aws s3`, allowing you to customize its behavior for advanced configurations.

## Syncing files and monitoring progress

Syncing files between your local directory and object storage is simple. Run the following command:

```console
app@abcdef-example-magweb-cmbl:~$ hypernode-object-storage objects sync /example/local/path/ s3://example/bucket/uri/
Syncing objects from /example/local/path/ to s3://example/bucket/uri/...
Sync process started with PID 1234 in the background.
```

The `sync` operation runs in the background, and you can monitor its progress by using the `show` command, for example:

```console
app@abcdef-example-magweb-cmbl:~$ hypernode-object-storage objects show 1234
Completed 9.7 GiB/~30.0 GiB (118.2 MiB/s) with ~5 file(s) remaining (calculating...)
```

If you run the `show` command after the sync operation has finished, you’ll see output like this:

```console
app@abcdef-example-magweb-cmbl:~$ hypernode-object-storage objects show 1234
Process 1234 does not exist anymore
```
54 changes: 54 additions & 0 deletions docs/hypernode-platform/object-storage/object-versioning.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
myst:
html_meta:
description: Learn how to enable and use Hypernode Object Storage Versioning
title: Hypernode Object Storage | Object Versioning
---

# Object Versioning

With object versioning, you can keep track of changes made to your objects in the Object Storage workspace. This allows you to restore previous versions of your objects when needed.

## Enabling Object Versioning

To enable object versioning, you can use the `update` command with the `--enable-versioning` flag. This will enable versioning for all objects in your Object Storage workspace.


```console
app@abcdef-example-magweb-cmbl:~$ hypernode-object-storage update --enable-versioning
Enabling versioning...
```

It's also possible to enable versioning in the Control Panel. To do this, go to the Object Storage workspace you want to enable versioning for, and flip the Object Versioning toggle.

```{note}
Object versioning increases the storage space used by your objects. Each version of an object is stored separately, so if you have a lot of changes to your objects, you may need a bigger storage plan at some point.
```

## Restoring object revisions

With the `restore` command, you can restore an object to the state it was in at a specific point in time. You can specify the date and time of the revision you want to restore, as well as the object path.

The date and time should be in the format `YYYY-MM-DD HH:MM:SS`. The object path can be the full path to the object you want to restore or a path to a directory. If you specify a directory, all objects in that directory will be restored to the specified revision.

```console
app@abcdef-example-magweb-cmbl:~$ hypernode-object-storage restore main "2025-04-24 06:00:00" media/catalog/product/e/x/example.jpg
```

By default, the `restore` command will only show what it would do without actually restoring the objects. To actually restore the objects, you need to add the `--apply` flag.

```{note}
The `restore` command restores objects in place. This means that the current version of the object will be replaced with the version you are restoring. If you want to keep the current version of the object (or directory), you should make a copy of it before running the `restore` command.
```

## Interactively exploring revisions

You can also explore your objects and their revisions interactively using the `explore` subcommand. This will open a terminal UI file browser where you can navigate through your objects and their versions.

```console
app@abcdef-example-magweb-cmbl:~$ hypernode-object-storage explore
```

Here's an example of how the terminal UI looks when you run the `explore` command:

![](_res/stu_screenshot.png)
Loading