Releases: hyperonecom/h1-cli
v1.8.1
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
v1.8.0
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
v1.7.0
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 Networknetwork firewall add
- Add firewall to Networknetwork firewall remove
- Remove firewall from Network
vm nic firewall
- Manage Firewall of Network adaptervm nic firewall add
- Add firewall to Network adaptervm 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 Registryregistry list
- List Registryregistry show
- Show Registryregistry delete
- Delete Registryregistry history
- History of Registryregistry rename
- Rename Registryregistry service
- Manage your services of Registryregistry service list
- List Service for Registryregistry service show
- Show Service for Registry
registry start
- Start Registryregistry stop
- Stop Registryregistry transfer
- Transfer Registry to other projectregistry domain
- Manage Domain name of Registryregistry domain add
- Add Domain name to Registryregistry domain list
- List Domain name of Registryregistry domain delete
- Delete Domain name from Registry
registry repository
- Manage your repository of Registryregistry repository show
- Show repository of Registryregistry repository list
- List repository of Registryregistry repository tag
- Manage your tag in repositoryregistry repository tag show
- Show tag in repositoryregistry repository tag list
- List tag in repositoryregistry repository tag delete
- Delete tag in repository
registry credential
- Manage your credentials of Registryregistry credential list
- List credential of Registryregistry credential show
- Show credential of Registryregistry credential password
- Manage your password Registryregistry credential password list
- List password credential of Registryregistry credential password show
- Show password credential of Registryregistry credential password rename
- Rename password credential of Registryregistry credential password delete
- Delete password credential of Registryregistry credential password add
- Add password credential of Registryregistry credential password list
- List password credential of Registry
registry tag
- Manage your tagregistry tag list
- List tagregistry tag add
- Add a tag to Registryregistry 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 Websitewebsite snapshot list
- List snapshot of Websitewebsite snapshot delete
- Delete snapshot of Websitewebsite 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 changesenv
andproject token env
provide valid output for non-Linux platform & detect TTYtag
commands provides format output properly- increasing compatibility
database
with PostgreSQL by choosing the optimal password encryption method for the service
v1.6.1
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.
v1.6.0
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 PlatformHYPERONE_PROJECT
- Override current project on the requestHYPERONE_CLI_VERBOSE
- Make the operation of CLI more talkative.HYPERONE_CLI_OUTPUT
- Specify output format of commandHYPERONE_DATABASE_PASSWORD
- Password to connect database indatabase shell
commandHYPERONE_LOG_TOKEN
- Token to connect log indatabase logger
command.
The setting of environment variables has been facilitated by adding two commands:
env
- Get environment variables to manage project by User Sessionproject 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 addedvault 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 databasedatabase service
- Manage your services of databasedatabase service list
- List service for databasedatabase service show
- Show service for database
database delete
- Delete databasedatabase history
- History of databasedatabase rename
- Rename databasedatabase list
- List databasedatabase show
- Show databasedatabase start
- Start databasedatabase stop
- Stop databasedatabase shell
- Connect to database using standard clientdatabase credential
- Manage your credentials to databasedatabase credential password
- Manage your password to databasedatabase credential password show
- Show password to databasedatabase credential password list
- List password to databasedatabase credential password rename
- Rename password to databasedatabase credential password delete
- Delete password to databasedatabase credential password add
- Add password to database
database tag
- Manage your tagdatabase tag list
- List tagdatabase tag add
- Add a tag to databasedatabase tag delete
- Delete a tag of database
The following commands are available for management of Website
:
website create
- Create websitewebsite ssh
- Connect to website using SSHwebsite delete
- Delete websitewebsite history
- History of websitewebsite rename
- Rename websitewebsite list
- List websitewebsite service
- Manage your services of websitewebsite service list
- List service for websitewebsite service show
- Show service for website
website show
- Show websitewebsite sftp
- Connect to Website using SFTPwebsite start
- Start websitewebsite stop
- Stop websitewebsite log
- Live logs of websitewebsite sftp
- Connect to website using SFTPwebsite credential
- Manage your credentials to websitewebsite credential cert
- Manage your certificate to websitewebsite credential cert show
- Show certificate to websitewebsite credential cert rename
- Rename certificate to websitewebsite credential cert list
- List certificate to websitewebsite credential cert delete
- Delete certificate to websitewebsite credential cert add
- Add certificate to website
website credential password
- Manage your password to websitewebsite credential password show
- Show password to websitewebsite credential password list
- List password to websitewebsite credential password rename
- Rename password to websitewebsite credential password delete
- Delete password to websitewebsite credential password add
- Add password to website
website tag
- Manage your tagwebsite tag list
- List tagwebsite tag add
- Add a tag to websitewebsite 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
.
v1.5.1
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.
v1.5.0
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 containercontainer list
- List containercontainer delete
- Delete containercontainer history
- History of containercontainer rename
- Rename containercontainer start
- Start containercontainer service
- Manage your services of containercontainer service list
- List service for containercontainer service show
- Show service for container
container show
- Show containercontainer attach
- Attach to terminal of containercontainer process
- Manage your process in containercontainer process list
- List process in container
container log
- Logs of containercontainer stop
- Stop containercontainer restart
- Restart containercontainer tag
- Manage your tagcontainer tag list
- List tagcontainer tag add
- Add a tag to containercontainer 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 volumevolume show
- Show volumevolume delete
- Delete volumevolume history
- History of volumevolume rename
- Rename volumevolume service
- Manage your services of volumevolume service list
- List service for volumevolume service show
- Show service for volume
volume resize
- Resize volumevolume create
- Create volumevolume tag
- Manage your tagvolume tag list
- List tagvolume tag add
- Add a tag to volumevolume 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.
v1.4.0
Version 1.4.0 is out
We are releasing a new version of the CLI, which we enable the management of Organization as well as increase the management capabilities Project.
At the same we merges the CLI edition for the Early adopters program and main clients. This means simplifying the use of functionalities available in this way for participant of program.
Reservation
We provide the ability to manage Reservations directly from the CLI. Now, regardless of how you create a Resource, you can use Reservation to get the best price. and guarantees for creating a resource.
The following commands are available for management of Reservation:
reservation list
- List reservationreservation create
- Create reservationreservation assign
- Assign reservation to resourcereservation extend
- Extend reservationreservation show
- Show reservationreservation history
- History of reservationreservation service
- Manage your services of reservationreservation service list
- List service for reservationreservation service show
- Show service for reservation
reservation tag
- Manage your tagreservation tag list
- List tagreservation tag add
- Add a tag to reservationreservation tag delete
- Delete a tag of reservation
Dynamic DNS
We added commands to replaces the record-set in DNS zone with the client IP address. We believe that it will make it easier to automate DNS configurations in order to keep up-to-date current IP address of your services, even if it is changed. This technique is sometimes referred to as "Dynamic DNS". We see the specific potential of the command using it together with the Service Account.
For details, try h1 dns record-set a dynamic-dns --help
.
Logout
Despite the short period of validity of the session, we decided to add a command to log out from the user's account. To logout, just run the `logout
command.
Early adopters
Up to now, we have maintained two CLI releases - for people participating in the Early adopters program and for other clients. We decided, however, that such a release method does not provide the impressions we want to share with our clients. It also brought unnecessary management costs.
The functionalities available under the Early adopters program have been included in the main CLI release. Their use may require participation in the program, however, participants no longer have to use a separate CLI release.
Currently, single command dns record-set a dynamic-dns
and categories of commands project logging
and log
are available as part of Early adopters program. Operation and interface of that commands may be changed in a non-backward compatibility manner.
Log Archive
Participants of the Early adopters program may use Log Archive after the appropriate launch of the CLI. The following commands are available for management of Log archive:
log create
- Create log archivelog logger
- Log messages to log archivelog list
- List log archivelog rename
- Rename log archivelog delete
- Delete log archivelog transfer
- Transfer log archive to other projectlog show
- Show log archivelog stream
- Stream or read messages of log archivelog history
- History of log archivelog credential
- Manage your credentials to log archivelog credential password
- Manage your password to log archivelog credential password show
- Show password to log archivelog credential password list
- List password to log archivelog credential password rename
- Rename password to log archivelog credential password delete
- Delete password to log archivelog credential password add
- Add password to log archive
log tag
- Manage your tag of log archivelog tag list
- List tag of log archivelog tag add
- Add a tag to log archivelog tag delete
- Delete a tag of log archive
log service
- Manage your services of log archivelog service list
- List service for log archivelog service show
- Show service for log archive
For details, try h1 log --help
.
Log compliance for Project
We enable the possibility of recording all operations performed on Project as log compliance logging. Detailed registration of operations allows easily determine the actions performed on Resources of Project, their results, responsible users, the source IP address from which the calls were made and when the call took place.
Information actions is stored in Log Archive, which provides a convenient way to search data, identify events that are not in compliance with regulations, and speed up inquiries into incidents and responses to other inquiries. This allows increase the security of using the Platform and meet the needs of customers who require special audit control or debugging during automation.
For details, try h1 project logging --help
.
v1.3.0
Version 1.3.0 is out
We are releasing a new version of the CLI, which introduces new type of action transfer
on applicable resources, possibility of changing the type of vm
and other minor improvements. At the same time we have fixed some bugs.
Resource transfer
New type of action across multiple resources is available. It allows you to transfer resources between projects that you own.
The short syntax of new commands is following:
ip transfer --ip IP --new-project NEW-PROJECT
- for transfer IP address to other projectimage transfer --image IMAGE --new-project NEW-PROJECT
- for transfer image to other projectdisk transfer --disk DISK --new-project NEW-PROJECT
- for transfer disk to other projectfirewall transfer --firewall FIREWALL --new-project NEW-PROJECT
- for transfer firewall to other projectiso transfer --iso ISO --new-project NEW-PROJECT
- for firewall ISO to other project
We believe that new opportunities will facilitate the separation of resources and the use of project isolation while changing the needs and structure of your projects.
Virtual machine
The expected functionality of type change of Virtual Machine has been made available. You can use it to adjust the power of virtual machine up and down to adapt to demands and make savings when requirements are lower or easily respond if they increase.
The short syntax of command is following: vm service change --vm VM --new-type NEW-TYPE
Service information
In addition, we added commands to read information about services that are related to the resource. This will allow you to obtain information eg. about billing rules of network traffic or assigned licenses.
For each resource, there are commands similar with following short syntax:
firewall service list --firewall FIREWALL
- List service for resource eg. firewallfirewall service show --firewall FIREWALL --service SERVICE
- Show information about specific service
Security
In order to increase the security of the platform, we decided to avoid sending your passwords on setup credentials of resource at all. It introduces changes for Vault and Virtual Machine that only hash of password are send to us.
This does not introduce the need to change the existing Vault or Virtual Machine credentials, because so far password was transmit encrypted and have carried out these operations on the platform side, but we prefer to reduce password transmit, even if connection is encrypted.
Bug Fixes
The following bugs have been fixed:
- fix
vault stop
&vault start
commands accepted parameters - now it accept all parameters required to perform action - fix
project notifications credits delete
round limit value - now it operates also for non-integer values - fix race on
login
- the command should be executed correctly each time, without the need to repeat it, even in rare conditions
v1.2.0
Version 1.2.0 is out
We are releasing a new version of the CLI, which introduces new product Replica. At the same time we have fixed some bugs.
Replica
New category of commands related to the new resource provided by the platform was added: replica
. The category contains following new commands:
replica create
- create new replica and setup replication connectionreplica list
-list available replicasreplica show
- show details about replicareplica history
- show operations performed on replicareplica rename
- adjust name of replicareplica tag add
- add new tags to replicareplica tag delete
- delete tag to replicareplica tag list
- list tags of replica
The image create
command was expanded with the --replica
parameter to allow the creation of images based on replicas, along with images based on virtual machines.
We hope that new opportunities will be used to shorten the time of recovering systems and data after the disaster.
Bug Fixes
The following bugs have been fixed:
- inconsistency tag management across resources - taggable resources provide tag support in a consistent manner
- less common elements of the zone file in DNS import not recognized - most of the correct zone file should be served without any customisation