Akash Deploy UI (Web App)

Akash Deploy UI Overview

Akash Deploy UI delivers a web application allowing workload deployment onto the Akash network with ease. The platform lessens the learning curve and reduces friction in comparison to traditional methodologies of deployment provisioning through the Akash CLI.

The exploration that follows offers detailed guidance in the usage of Akash Deploy with explicit instruction, examples, and sample depictions.

Akash Deploy UI is an open-source project written in ReactJS. The repository for the application is listed below. However a demo site of the app is available, may serve as launch point for initial/continued experimentation with Akash Deploy, and will serve as the platform utilized for the demonstrations that exist in this guide.

https://github.com/spacepotahto/akash-deploy-ui

Prepare the Environment

The Akash Deploy app integrates with available Keplr wallet instances. Keplr is a simple, open-source browser extension wallet for the Cosmos interchain ecosystem and supports the Akash blockchain. In this section - serving as a prerequisite for Akash Deploy usage - assurances are conducted to ensure the Keplr wallet is available and funded sufficiently.

Keplr Wallet Browser Extension Guidance

The Keplr wallet extension for Chrome may be found on the Chrome Web Store.

Post installation and extension activation the Keplr wallet should appear as a browser extension as depicted below in a Chrome use case. The wallet may be opened for subsequent validations in this guide and future needs by clicking the browser’s extension icon highlighted.

Ensure Adequately Funded Keplr Wallet

  • Open the ​Keplr wallet browser extension and ensure sufficient AKT funds are available to allow application deployment to the Akash network

  • A minimum 5 AKT would be necessary to allow a deployment and fund the deployment’s escrow account

  • The depiction that follows demonstrates a launched Keplr wallet instance with the Akash network selected and adequate AKT funds available

Initial Akash Deploy Access and Configuration

As discussed previously - a demo Akash Deploy site will be used within this guide. The demo site may be utilized to follow along and reproduce all referenced examples using your own wallet/certificates/deployments. The demo site is multi tenant enabled and only the user’s own workloads and funding will be visible and accessible.

Akash Deploy Demo Site Access

Access instructions and expected landing page of the Akash Deploy demo site are provided in this section.

  • Akash Deploy demo site URL

https://akashdeploy.hns.siasky.net/

  • The page depicted below serves as the landing site of the application

Assure Akash Deploy Access to Keplr Wallet and Associated Funds

In the “Prepare the Environment” section of this guide assurances of an available Keplr wallet instance were conducted. Within this section validations of Akash Deploy access to the Keplr wallet and associated AKT funds are completed.

  • Validate Akash Deploy visibility of Keplr wallet AKT funds as per the depiction below

  • In the example depiction Akash Deploy correctly discovers and renders 52.786 AKT

  • The funds displayed should be identical to the funds represented and available in the Keplr wallet and the associated account

Create Certificate for Transactions

The Akash Deploy instance must have access to a certificate to sign transactions placed onto the blockchain. On initial access of the demo site no such certificate will be in place. The steps that follow complete the simple process of certificate creation within the application.

  • Utilize the “CERTIFICATE” to provoke the certificate creation process

  • In the dialog box that appears select the “CREATE” button

  • Upon certificate create invoke Keplr will prompt to accept gas fees for transaction

  • Accept the medium/default gas fees to ensure timely transaction completion

  • Note - the transaction process may take a few seconds as the associated block is constructed and placed onto the chain

  • Resultant confirmation of successful transaction and certificate creation

Deployment of Sample Workload

Upon initial launch the Akash Deploy application displays an editing pane populated with Stack Definition Language (SDL) pertaining to a Lunie Light application. The sample application (Lunie Light) is a non-custodial, web wallet for Akash. But for the purpose of demonstration the intent of the application is not of importance. To explore workload deployments to the Akash network the sample application is utilized for ease. In subsequent sections - exploration of greater sets of available applications/SDLs within the Akash Deploy Gallery and custom SDL deployment will be detailed.

Steps in Application Deployment

SDL Edit/Deploy

  • If not currently on the Akash Deploy default landing page - navigate to “DEPLOY” from the top toolbar and as depicted below

  • As mentioned prior - Akash Deploy renders the Lunie Light Application SDL in the embedded code editor initially

  • Without need of editing the SDL - click the “DEPLOY” button as depicted

  • Upon invoke of the deployment a Keplr wallet prompt will display - as depicted below - requesting acceptance of the deployment’s transaction gas fees

  • Additionally Akash Deploy displays a pane detailing the running progress of the deployment

  • Accept the default gas fee selection to allow deployment to proceed

  • Post acceptance of gas fees the Akash Deploy deployment tracking will update to “waiting for bids” as provider bids are obtained

Provider Selection

  • Select a provider from the list of submitted bids

  • Press “SUBMIT” once the preferred provider has been selected

  • Transaction gas fee prompt following provider selection

  • Following gas fee acceptance - Akash Deploy messaging will proceed thru statuses of “Confirming the lease” > “Querying the provider” > “Sending the manifest” > “Querying lease status”

  • Upon completion of the deployment to the selected provider the following confirmation is received

  • Amongst a wealth of interesting and important information revealed note:

    • Number of workload replicas

    • Available replicas

    • In the case of web services workloads the exposed URI

Validation of Workload Deployment and Usage

The Lunie Light application is a web service and thus the SDL deployment generated an externally reachable URI. Using the exposed intel from the prior step - access to the web service will be validated.

  • Capture/copy the URI from the information exposed following deployment completion and as depicted below

  • Note - if the deployment information detail panel was closed - the URI may be obtained by navigating to “MY DEPLOYMENTS” from the toolbar and then clicking the info “I” icon next to the relevant deployment. Further detailing of the “MY DEPLOYMENTS” pane will be conducted in a subsequent section of this guide.

  • Attempt to visit the exposed URI in a web browser

  • Note - if a 502 Bad Gateway HTTP response is returned - continue refreshing the page for a few seconds as the workload may not yet be fully deployed on the provider

  • Receipt of the page displayed below confirms the web service (Lunie Light) was fully deployed successfully

Manage Deployments

Akash Deploy serves as an intriguing platform not only to deploy new workloads but also to manage, monitor, and close active workloads as needed. In the subsections that follow such deployment management techniques within the platform are explored in detail.

Monitoring and managing deployments from Akash Deploy often proves to be considerably less cumbersome than performing the same operations - particularly across many deployments - within the Akash CLI.

View Active and Inactive Deployment Details

Akash Deploy affords visualization of active and inactive deployments with minimal effort.

Display Deployments

  • Navigate to “MY DEPLOYMENTS” as depicted below

  • Toggle the “Show Inactive” button

  • Active deployments are distinguished by a red filled circle containing a cloud icon

  • Inactive deployments are distinguished by a grey filled circle container a cloud icon slashed

Deployment Details Revealed

  • Reveal additional information on an active deployment’s lease information by selecting the information (“i”) icon as depicted

  • Intelligence pertaining to the deployment revealed post selection

  • Note that the information revealed is identical to the intel first displayed in a provoke pane when the deployment process completed and includes details such as replica count/available replicas/URI if applicable

  • Reveal detailed intelligence regarding the deployment via click on the Deployment identifier (DSEQ) or anywhere in the white space to the right of the DSEQ as depicted

  • Revealed intelligence is spawned in a rather lengthy JSON string and includes:

    • Hardware utilized by the deployment (CPU/mem/disk)

    • Escrow Account information including current balance

    • Deployment details (DSEQ, OwnerID, etc)

  • Below is a depiction of the Escrow Account information reveal in the returned data

Close a Deployment

Akash Deploy may also facilitate closure of active deployments. Follow the steps provided below to render a deployment as inactive.

  • Navigate to “MY DEPLOYMENTS” as depicted below

  • Close a deployment of interest by selecting the trash can iron within the deployment’s associated row and as depicted below

  • Approve related transaction gas fees within Keplr

  • Deployment now displays as closed and remaining funds in the deployment’s escrow have been returned to the Keplr wallet

SDL Gallery

Akash Deploy offers a rich ecosystem of available pre-defined SDL definition files for rapid deployment of popular workloads. Exploration in this section includes accessing the SDL Gallery, review of gallery categories, and using a specific SDL definition for deeper inspection/usage.

The Akash Deploy SDL Gallery may be accessed via the following navigation:

  • Navigate to the gallery via the selection of “SDL GALLERY” from the toolbar and as depicted below

Exploring SDL Categories and Available Software Deployments

Scroll thru SDL Gallery available categories and relational definition files to reveal a wealth of pre-developed SDLs/applications

  • SDL categories include :

    • Official

    • DeFi

    • Blogging

    • Games

    • Databases and Administration

    • Hosting

    • Continuous Integration

    • Project Management

    • Tools

    • Wallet

    • Build with Cosmos SDK

    • Media

    • Data Visualization

    • Chat

  • Locate the “supermario” SDL via the search bar at the top of the Gallery page and then click on the Tetris “SOURCE” link as depicted below

  • Upon invoke of the “SOURCE” link from the prior step - a redirect to the corresponding Awesome Akash Github repository for the SDL will occur as depicted

  • Select the deploy.yaml file in the GitHub repo to view the SDL YAML file for the deployment

In the prior sub-section the Tetris SDL from the SDL Gallery was isolated. The isolated definition will now be utilized in the creation of an Akash deployment.

Two paths exist to deploy the SDL Gallery definition of interest:

  1. The code from the GitHub repository explored prior could be copied into the Akash Deploy SDL code editor with subsequent “DEPLOY” button provoke

  2. The SDL Gallery instance “DEPLOY!” option may be used to provoke deployment

The latter of these possible options - provoking deployment from within the SDL Gallery - will be utilized for this demonstration.

  • Return to the Akash Deploy application and select the SuperMario SDL’s “DEPLOY!” option as depicted

  • The user is redirected to the “DEPLOY” pane with the SuperMario SDL now present within the code editor

  • Proceed with deployment via the “DEPLOY” button as depicted

  • Approve the gas fees within Keplr allowing the deployment to proceed

  • Select a provider and press “SUBMIT”

  • Accept the transaction gas fees to allow the deployment to proceed

  • Capture the URI from the deployed workload informational screen

  • Allow a couple of minutes for the deployment to complete build and then visit the URI in a web browser

  • Confirmation of deployment provoked within the Akash Deploy SDL Gallery