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.

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
    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 :
      Databases and Administration
      Continuous Integration
      Project Management
      Build with Cosmos SDK
      Data Visualization
    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:
    The code from the GitHub repository explored prior could be copied into the Akash Deploy SDL code editor with subsequent “DEPLOY” button provoke
    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
Last modified 26d ago