Skip to content

@fredericosilva fredericosilva released this Mar 18, 2020

A new CLI release has been introduced. It enables more efficient management of the Platform. New actions have been made available as part of the Website service. Updates have been made easier on the Linux platform.

Command auto-complete

Command autocomplete mechanisms have been introduced to allow more efficient use of less popular commands, parameters and values ​​when managing platform from an interactive console. It allows to type in the command of the Linux text console (bash, zsh, fish) or WSL under Windows to get a hint what the CLI capabilities are. At the user's request, the mechanism will give hint - complete the command if it is able to unambiguously propose to complete the command or present possible variants.

In order to use the mechanism, the console mechanisms must be activated once using the command:

config autocomplete init

After restarting the console, just tap tab twice when entering the command to get autocomplete. Several complement situations are outlined below:

$ h1 dns zone list -<TAB>
--dry-run --no-wait --output --project-select --query --verbose
$ h1 vm create --type a1.n <TAB> # completes the variant name
$ h1 vm create --type a <TAB> # completes the common part of variant names, e.g. "a1."
$ h1 vm create --type a1. <TAB> # indicates the available variants
a1.large a1.medium a1.micro a1.nano a1.small

We are waiting for comments on the effectiveness of those hints.

Management of Website

As part of the Website service development, two mechanisms have recently been made available:

  • the ability to manage environment variables
  • the ability to update runtime image

The following commands have been added to take advantage of the new possibilities:

  • website env - Manage environment variables of Website
    • website env create - Create environment variables of Website
    • website env show - Show environment variables of Website
    • website env list - List environment variables of Website
    • website env delete - Delete environment variables of Website
  • website image - Update image of Website

For details, try website env --help or website image --help.

Managing environment variables through CLI can be part of a continuous integration process. It is much easier to modify the environment variable using the platform CLI than to edit the configuration files of the application running in the service.

The solution will also be used during simple, daily administration by users who are familiar with console and prefer to manage services that way. This applies in particular to the situation when it is necessary to update the number of Website and efficiently verify the correctness of their work.

Facilitating installation on the Linux

For CLI, it's supported to run on a number of operating systems - Linux, macOS, Microsoft Windows and Alpine. It is also available as part of the SSH console for the Website service and in Virtual Machines created using Recommended Images with Linux.

However, we recognise the expectations of Linux administrators who prefer installations using a package repository. That is why we have provided repositories for popular Linux distributions:

  • Debian & Ubuntu - via the Apt repository
  • Fedora & CentOS & RedHat - through the Yum repository
  • Alpine - through the Apk repository

The updated installation procedure is available at HyperOne.com.

The new form of installation does not mean the loss of earlier mechanisms. The basic possibility of independent installation on the operating system chosen by the user is still preserved. In many cases, using repositories makes updates easy.

Assets 10

@fredericosilva fredericosilva released this Jan 16, 2020 · 27 commits to master since this release

We are releasing a new version of the CLI. This is a patch release that introduce backwards compatible changes. The release introduce following changes:

  • Parameter --no-image was introduced for command vm create to allow the creation of a Virtual Machine without any Image. Previously, the Virtual Machine used at least use default Image.
  • Parameter --os-disk of command vm create simply accepts the disk ID too. Previously, such format of value for the parameter a request was rejected. Following format of value is accepted now: name, type, [size] | id.
  • If the network connection is interrupted during the request, operation is safely retried by CLI, thanks to idempotency. Previously, such an operation could have caused a error for manual verification & retry by user.
Assets 10
  • v1.9.0
  • 9d5d9ec
  • Compare
    Choose a tag to compare
    Search for a tag
  • v1.9.0
  • 9d5d9ec
  • Compare
    Choose a tag to compare
    Search for a tag

@ad-m ad-m released this Dec 19, 2019 · 46 commits to master since this release

Accelerated DNS zone management

Management of a DNS zone has been made faster in two ways.

The ability to guess the DNS zone when creating a new DNS zone has been introduced. This solution tries to guess and restore DNS records if the created DNS zone exists on a public DNS server. This applies to the process of migrating the DNS zone, which is currently in use by another provider to us.

Import of DNS zone (BIND) files has been accelerated by transferring only the difference between the current DNS zone configuration and the desired one to the Platform. This allows to limit the import time, which can be particularly important during cyclic process of generating the DNS zone file and upload, or when the configuration of the DNS zone is managed in a version control system.

Managing invitations

People who want to add to Project no longer need to be current user of the Platform. If User try to add to the Platform a person who does not use the Platform - he will receive an invitation, and after registering on the Platform will be able to accept them to use the Platform.

For this reason, the option of inviting User to a Project / Organisation has been made available in CLI to accept / reject an invitation and information about their status has been added to the list of users in the Project / Organisation.

Website and Organisation management extend

When launching applications written e.g. in Python or NodeJS in Website, User need to restart their applications to load their new versions. To this end, we have provided the "restart" operation, which combines the two "start" and "stop" operations to make the simple process even easier.

Taking into account the comments of users who carry out various experiments, the CLI has been given the option to remove the Organisation. We remind that the operation can be used, especially if Organisation has no invoices.

Improved User experience

For User who create Disk based on the local .vhdx file, there is no need to specify the size of the disk being created. The value is automatically detected.

To limit the dispersion of the CLI versions that are used, a notification mechanism has been introduced that the user is using outdated CLI versions. The corresponding message will be displayed during normal CLI operation. This will allow User to notice more efficiently that they should update to avoid disruption to the tool and gain access to the latest functionalities.

Assets 10

@fredericosilva fredericosilva released this Nov 19, 2019 · 78 commits to master since this release

Release version 1.8.1

We are releasing a new version of the CLI interface that eliminates small bugs, but which may affect the user's work. The release should be fully backward compatible.

Patching 🐛

Fixed following bugs:

  • fields displayed in the resource list have been unified, taking into account the specificity of a given resource,
  • opening the Virtual Machine graphics console uses the new authentication method
  • SSH authentication works correctly again on all scopes
Assets 10

@fredericosilva fredericosilva released this Sep 23, 2019 · 108 commits to master since this release

Release version 1.8.0

We are releasing a new version of the CLI interface that focuses on simplifying the most used user flows. We are also expanding the capabilities of the DNS and Journal services.

Speedup CLI execution

CLI operation has been significantly accelerated. Execution time has been reduced in the average case by about 50%.

We believe that the change will particularly satisfy users who regularly use CLI. Now their work can be more efficient, especially in the case of scripts and bulk operations.

Rename & Extend Journal

In order to meet users' expectations regarding the use of the Journal service, it has been significantly changed.

Starting from the name - now "logArchive" service available in CLI as log is called "Journal" and is available in CLI as journal.

For data uploads, the ability to stream log entries has been introduced. This allows you to reduce the time from the event to its registration

When storing data, the sent data can be marked with tags. These tags can then be used to filter and quickly read the data that is expected.

In the case of reading, the option has been introduced:

  • reading entries from any period - with precision up to a minute,
  • reading entries with specific tags,
  • an effective mechanism for reading the first and last entries for a given period.

Considering the average usage patterns of users, it was possible to execute the archive data read command in one execution, e.g. the last few entries and new ones coming in almost real time.

In order to use, read the details in journal --help.

Increased security via Zone

Support for CAA DNS records has been introduced to improve security of Organisation. A CAA record is a certification authority authorisation record that is used to determine which certification authorities can issue SSL certificates for a domain.

In order to use, read the details in dns record-set caa --help.

The new release may not show previously created DNS zones immediately after launch. The change results from a change in the way of communication with the platform. Changes in this DNS zone are possible to make with earlier versions of CLI or will be available after waiting a few days in current releases.

In order to improve the security of zone management, the upsert command was introduced for each supported record type. New command create - or in case of collisions replace - a set of records. At the same time, the command create in the event of a collision will return an error now. Thanks to this, the effect of the command is easier to predict, and user data is secure against accidental overwriting.

Simplify VM create

Based on user behaviour analysis, we noticed the potential to optimise the vm create command by expanding the default parameter. We introduced automatic disk creation in the recommended size for the image (if no disk specified) and the use of all user SSH keys.

Help for continuous deployment of container

To simplify the common user process, we've introduced the container recreate command. It allows you to create a container with new properties in place of the old one, e.g. a container with a new image. The solution effectively interacts with service-discovery and can be the basis for the implementation of the continuous-deployment process.

In order to use, read the details in container recreate --help.

Patching 🐛

Fixed following bugs:

  • empty output for some resource delete / tag list – not it output correct in all cases
  • fix format JSON / JS
  • omitted reservation rename command was added
Assets 10

@fredericosilva fredericosilva released this Aug 30, 2019 · 164 commits to master since this release

Version 1.7.0

We are releasing a new version of the CLI, which add new functionalities eg. adding firewall to network adapter. Registry has been added as part of the Early adopters program. The Website has been expanded to manage snapshots.

Direct cooperation between Firewall and Network Adapter

We improve Firewall to increase the security of, among others: Virtual machines. Now the firewall can be assigned to Network adapter of Virtual machine. This allows to increase the security of IT systems in Organisation.

Firewall allows to quickly manage complex environments in which you want to precisely control network communication. The use of the Firewall provided by the Platform may be a solution to the problem of rule consistency, especially in the case of environments using different operating systems. It also prevents situations when, during a routine update, a internal application becomes publicly accessible from the Internet.

The following commands have been added to take advantage of the new possibilities:

  • network firewall - Manage Firewall of Network
    • network firewall add - Add firewall to Network
    • network firewall remove - Remove firewall from Network
  • vm nic firewall - Manage Firewall of Network adapter
    • vm nic firewall add - Add firewall to Network adapter
    • vm nic firewall remove - Remove firewall from Network adapter

For details, try vm nic firewall add --help.

Added Registry management

The Registry is a new solution for storing container images to easily manage their life cycle. It has full compatibility with the Docker CLI interface. An essential element of the modern IT environment.

The solution can significantly facilitate container creation due to easy storage and management of container images. Both in the case of containers based on the Container service as well as operating in the case of their own environments. It can be used for version management (versioning and archiving), as part of the CI / CD process or for software publication.

  • registry create - Create Registry
  • registry list - List Registry
  • registry show - Show Registry
  • registry delete - Delete Registry
  • registry history - History of Registry
  • registry rename - Rename Registry
  • registry service - Manage your services of Registry
    • registry service list - List Service for Registry
    • registry service show - Show Service for Registry
  • registry start - Start Registry
  • registry stop - Stop Registry
  • registry transfer - Transfer Registry to other project
  • registry domain - Manage Domain name of Registry
    • registry domain add - Add Domain name to Registry
    • registry domain list - List Domain name of Registry
    • registry domain delete - Delete Domain name from Registry
  • registry repository - Manage your repository of Registry
    • registry repository show - Show repository of Registry
    • registry repository list - List repository of Registry
    • registry repository tag - Manage your tag in repository
      • registry repository tag show - Show tag in repository
      • registry repository tag list - List tag in repository
      • registry repository tag delete - Delete tag in repository
  • registry credential - Manage your credentials of Registry
    • registry credential list - List credential of Registry
    • registry credential show - Show credential of Registry
    • registry credential password - Manage your password Registry
      • registry credential password list - List password credential of Registry
      • registry credential password show - Show password credential of Registry
      • registry credential password rename - Rename password credential of Registry
      • registry credential password delete - Delete password credential of Registry
      • registry credential password add - Add password credential of Registry
      • registry credential password list - List password credential of Registry
  • registry tag - Manage your tag
    • registry tag list - List tag
    • registry tag add - Add a tag to Registry
    • registry tag delete - Delete a tag of Registry

For details, try registry --help.

Added snapshots management to Website

Following commands were added to manage snapshots:

  • website snapshot create - Create snapshot of Website
  • website snapshot list - List snapshot of Website
  • website snapshot delete - Delete snapshot of Website
  • website snapshot download - Download snapshot of Website as ZFS file

Command website create was extended to optional parameters to choose source snapshot for new Website:

Parameter Description
--source-snapshot SOURCE-SNAPSHOT Snapshots to use as base of new Website
--source-snapshot SOURCE-SNAPSHOT Snapshots to use as base of new Website

By default, Website is empty. Using Snapshot allows you to recreate an existing one based on Snapshot of other Website.

CLI is available in new way

To facilitate the use of CLI in diverse environments, we distribute them in a new way - using Registry and through official Alpine Linux repository.

In order to run CLI from Registry, do the following:

docker run -it -v ~/.h1-cli:/root/.h1-cli h1cr.io/cli:latest h1 vm list

The solution is particularly convenient when used together with a Service Account.

To install CLI from the Alpine Linux repository, do the following:

apk add --repository "http://dl-cdn.alpinelinux.org/alpine/edge/testing" h1-cli
apk add --repository "http://dl-cdn.alpinelinux.org/alpine/edge/testing" rbx-cli

Recommended for use in a containerised environment where latest version CLI version is required.

We are waiting for information on other, expected forms of software distribution, to focus our work on users needs.

Patching 🐛

Fix minor bugs:

  • Alpine releases binaries build & execute correctly on Alpine
  • --project-select no longer involve persistent changes
  • env and project token env provide valid output for non-Linux platform & detect TTY
  • tag commands provides format output properly
  • increasing compatibility database with PostgreSQL by choosing the optimal password encryption method for the service
Assets 10

@fredericosilva fredericosilva released this Jun 10, 2019 · 239 commits to master since this release

Version 1.6.1 is out

We are releasing a new version of the CLI, which added expected feature of updating domains of Website without recreating it. Please note that Website remains available - as part of the Early adopters program - to limited group of projects.

Update domains of Website

We provide an operation to update domains of already created Website. This allows users to change the domain address of the application as if the new address was used from the very beginning of Website.

Please note that changing the address of the application may not be supported by running applications. For details, please contact software vendor.

The functionality is particularly useful when promoting test environments to the functions of production environments. Now this can be done efficiently & safely. In case of difficulties, the process can be easily reversed.

For more details and examples how to use new feature, try website update domain --help.

Bug fixes

Removing bug of consistency of handling HYPERONE_ACCESS_TOKEN_SECRET environment variable versus other supported environment variables.

Assets 10

@fredericosilva fredericosilva released this May 28, 2019 · 244 commits to master since this release

Version 1.6.0

Version 1.6.0 is out

We are releasing a new version of the CLI, which simplifies use it together with tools like Docker-Machine, Packer and simplifies several use cases. Website and Database management has been added as part of Early adopters program.

Increase efficiency through environment variables

In order to increase the efficiency and facilitate the cooperation of the CLI with external tools, changes have been introduced in the area of environment variables, which will be standardized in all popular tools compatible with the Platform.

The names of environment variables have been changed. Currently supported:

  • HYPERONE_ACCESS_TOKEN_SECRET - Specify user session or service account to access Platform
  • HYPERONE_PROJECT - Override current project on the request
  • HYPERONE_CLI_VERBOSE - Make the operation of CLI more talkative.
  • HYPERONE_CLI_OUTPUT - Specify output format of command
  • HYPERONE_DATABASE_PASSWORD - Password to connect database in database shell command
  • HYPERONE_LOG_TOKEN - Token to connect log in database logger command.

The setting of environment variables has been facilitated by adding two commands:

  • env - Get environment variables to manage project by User Session
  • project token env - Get environment variables to manage project by Service account

That commands help manage project using User Session or Service Account. Particularly useful when working with tools, such as Packer, Docker-Machine, which do not use user password authentication or SSH keys to gain access to the Platform.

For more details and examples, try env --help and project token env --help.

Unified credentials on resource create

Access to some of resources requires providing credentials. Now is possible to provide them at create command. If applicable, the --ssh, --ssh-file and --password parameters are available across all resources.

If affect following commands:

  • log create - --password parameter added
  • vault create - --ssh, --ssh-file and --password parameter added

Added Database and Website management

We have introduced Website and Database management for Early adopters program participants.

Website allows to run web application in popular network technologies, i.e. PHP. Automated server management by Platform allows the developer to focus only on building the application without hassle of maintaining the infrastructure.

Database allows to use database servers without having to maintain and manage the entire server with the operating system and many services, which allows to significantly reduce the cost of long-term maintenance of the application and ensure a high level of security.

Both services integrated allows to run full websites, online stores, internet portals, for example based on Wordpress, Magento, Drupal.

The use of CLI allows easily extend the existing continuous integrations process to continuous deployment mechanisms and accelerate the release of new software versions in Organisation. Management via CLI can be useful when automatically preparing test environments too.

The following commands are available for management of Database:

  • database create - Create database
  • database service - Manage your services of database
    • database service list - List service for database
    • database service show - Show service for database
  • database delete - Delete database
  • database history - History of database
  • database rename - Rename database
  • database list - List database
  • database show - Show database
  • database start - Start database
  • database stop - Stop database
  • database shell - Connect to database using standard client
  • database credential - Manage your credentials to database
    • database credential password - Manage your password to database
    • database credential password show - Show password to database
    • database credential password list - List password to database
    • database credential password rename - Rename password to database
    • database credential password delete - Delete password to database
    • database credential password add - Add password to database
  • database tag - Manage your tag
    • database tag list - List tag
    • database tag add - Add a tag to database
    • database tag delete - Delete a tag of database

The following commands are available for management of Website:

  • website create - Create website
  • website ssh - Connect to website using SSH
  • website delete - Delete website
  • website history - History of website
  • website rename - Rename website
  • website list - List website
  • website service - Manage your services of website
    • website service list - List service for website
    • website service show - Show service for website
  • website show - Show website
  • website sftp - Connect to Website using SFTP
  • website start - Start website
  • website stop - Stop website
  • website log - Live logs of website
  • website sftp - Connect to website using SFTP
  • website credential - Manage your credentials to website
    • website credential cert - Manage your certificate to website
      • website credential cert show - Show certificate to website
      • website credential cert rename - Rename certificate to website
      • website credential cert list - List certificate to website
      • website credential cert delete - Delete certificate to website
      • website credential cert add - Add certificate to website
    • website credential password - Manage your password to website
      • website credential password show - Show password to website
      • website credential password list - List password to website
      • website credential password rename - Rename password to website
      • website credential password delete - Delete password to website
      • website credential password add - Add password to website
  • website tag - Manage your tag
    • website tag list - List tag
    • website tag add - Add a tag to website
    • website tag delete - Delete a tag of website

Added creating Disk from another Disk

We provide an operation creating Disk from another Disk, which consists in creating a new Disk using data collected on an existing Disk. It runs in the same way regardless of the nature of the data stored in Disk - it is not important whether it will be a database, or multimedia data or archive of documents. The availability of CLI operations makes it easier to use this mechanism as the basis for a backup system.

For more details and examples, try disk create --help.

Assets 10

@fredericosilva fredericosilva released this May 7, 2019 · 315 commits to master since this release

Version 1.5.1 is out

We are releasing a new version of the CLI. This is a patch release that does not introduce new features. The release removes the annoying bug introduced in 1.5.0 of displaying an unnecessary warning each time the CLI is executed.

Assets 10

@fredericosilva fredericosilva released this Apr 18, 2019 · 323 commits to master since this release

Version 1.5.0 is out

We are releasing a new version of the CLI, which unifies the operation on resources and simplifies several use cases. Resource management has been added as part of special program: Service provider and Early adopters.

Improve SSH keys management in Virtual Machine

In response to the expectations of users, who independently, effectively manage the set of keys of their users, we have enabled the creation of a Virtual machine with the public SSH key from local file.

Creation of a Virtual Machine with public SSH key from local file, can be performed in following way:

h1 vm create --name test-vm --os-disk ssd,10 --type a1.nano --image debian --ssh-file ./users/job/ssh.pub

For more details and examples, try vm create --help.

Improve user experience for serial port of Virtual machine

For the vm serialport log command, the "--follow" parameter has been added to get information about new messages as soon as they arrive without interactive access.

For the vm serialport console command, the detection of attempt of console exit has been improved. This should make it easier to use.

Deleting of expired Reservation

We have introduced the command to remove Reservation that have reach the status Expired. This allows to delete those reservations that can not be used, and there is no intention to extend them.

To delete reservation, do the following:

reservation delete --reservation my-reservation

For details, try reservation delete --help.

Unify commands outputs

The way of exposing the results of the command operation has been unified. Progress messages and messages facilitating the use of the tool are available via stderr now. The result of the command is available via stdout.

We believe that it will allow to write scripts more efficiently, especially if use Service account.

Initial PTR record for the IP address

So far, the PTR record definition for an IP address was only possible for an existing IP address. Now it can be determined at the moment of creating a new one IP Address.

For details, try ip create --help.

Early adopters Program

Container

We have introduced Container management for Early adopters program participants. It allows to run applications without having to maintain and manage the entire server with the operating system and many unnecessary services, which allows to significantly reduce the cost of long-term maintenance of the application and ensure a high level of security.

The use of CLI allows to easily extend the existing continous integratitons process to continous deployment mechanisms and accelerate the deployment processes of new software versions in Organization.

The following commands are available for management of Container:

  • container create - Create container
  • container list - List container
  • container delete - Delete container
  • container history - History of container
  • container rename - Rename container
  • container start - Start container
  • container service - Manage your services of container
    • container service list - List service for container
    • container service show - Show service for container
  • container show - Show container
  • container attach - Attach to terminal of container
  • container process - Manage your process in container
    • container process list - List process in container
  • container log - Logs of container
  • container stop - Stop container
  • container restart - Restart container
  • container tag - Manage your tag
    • container tag list - List tag
    • container tag add - Add a tag to container
    • container tag delete - Delete a tag of container

Volume

We have introduced Volume management for Early adopters program participants. It allows to obtain the possibility of maintaining data persistence for Container on a dedicated, high-performance data storage.

The following commands are available for management of Volume:

  • volume list - List volume
  • volume show - Show volume
  • volume delete - Delete volume
  • volume history - History of volume
  • volume rename - Rename volume
  • volume service - Manage your services of volume
    • volume service list - List service for volume
    • volume service show - Show service for volume
  • volume resize - Resize volume
  • volume create - Create volume
  • volume tag - Manage your tag
    • volume tag list - List tag
    • volume tag add - Add a tag to volume
    • volume tag delete - Delete a tag of volume

Service provider program

Agent

We have introduced Agent management for Service provider program participants. Detailed information will be provided directly to the interested parties.

Summary

We hope that the released version will meet the expectations of users, but we remain constantly open to feedback & comments, to help meet the special use cases.

Assets 10
You can’t perform that action at this time.