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.
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.
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.
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
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.
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
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
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
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.
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
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
In the case of web services workloads the exposed URI
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
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.
Akash Deploy affords visualization of active and inactive deployments with minimal effort.
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
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
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
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
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
Build with Cosmos SDK
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