Skip Navigation
Show nav
Heroku Dev Center
  • Get Started
  • Documentation
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
  • Documentation
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku Architecture
    • Dynos (app containers)
    • Stacks (operating system images)
    • Networking & DNS
    • Platform Policies
    • Platform Principles
  • Command Line
  • Deployment
    • Deploying with Git
    • Deploying with Docker
    • Deployment Integrations
  • Continuous Delivery
    • Continuous Integration
  • Language Support
    • Node.js
    • Ruby
      • Working with Bundler
      • Rails Support
    • Python
      • Background Jobs in Python
      • Working with Django
    • Java
      • Working with Maven
      • Java Database Operations
      • Java Advanced Topics
      • Working with Spring Boot
    • PHP
    • Go
      • Go Dependency Management
    • Scala
    • Clojure
  • Databases & Data Management
    • Heroku Postgres
      • Postgres Basics
      • Postgres Getting Started
      • Postgres Performance
      • Postgres Data Transfer & Preservation
      • Postgres Availability
      • Postgres Special Topics
    • Heroku Data For Redis
    • Apache Kafka on Heroku
    • Other Data Stores
  • Monitoring & Metrics
    • Logging
  • App Performance
  • Add-ons
    • All Add-ons
  • Collaboration
  • Security
    • App Security
    • Identities & Authentication
    • Compliance
  • Heroku Enterprise
    • Private Spaces
      • Infrastructure Networking
    • Enterprise Accounts
    • Enterprise Teams
    • Heroku Connect (Salesforce sync)
      • Heroku Connect Administration
      • Heroku Connect Reference
      • Heroku Connect Troubleshooting
    • Single Sign-on (SSO)
  • Patterns & Best Practices
  • Extending Heroku
    • Platform API
    • App Webhooks
    • Heroku Labs
    • Building Add-ons
      • Add-on Development Tasks
      • Add-on APIs
      • Add-on Guidelines & Requirements
    • Building CLI Plugins
    • Developing Buildpacks
    • Dev Center
  • Accounts & Billing
  • Troubleshooting & Support
  • Integrating with Salesforce
  • Add-ons
  • All Add-ons
  • Kloude
Kloude

This add-on is operated by JAWS DB, LLC

Code directly from your browser! Provides a Cloud9 IDE and development server.

Kloude

Last updated November 01, 2022

Table of Contents

  • Provisioning the Add-on
  • Dashboard
  • Environment Setup
  • Changing Plans
  • Deprovisioning the Add-on
  • Troubleshooting
  • Support

Kloude is an add-on that provides a full-featured IDE for developing, deploying, and editing Heroku applications in the browser.

The Kloude add-on comes with an Ubuntu Linux server supporting many programming languages out of the box. These languages include Node.js, Java, Python, Ruby, PHP, and Go. You can add more through Ubuntu’s apt-get package manager.

The included IDE, AWS Cloud9, supports syntax highlighting, Git source control, terminal windows, code completion, debugging, outline view, and more.

Provisioning the Add-on

You can add a Kloude Development Environment to your app via the Heroku CLI, the Heroku Elements Page, or by searching for the add-on kloude on your app’s Resources page.

Provisioning via the Heroku CLI

Use the -a flag to specify which application to attach the add-on to.

$ heroku addons:create kloude:plan_name -a example-app
Creating kloude on example-app... free
Your add-on has been provisioned successfully

Dashboard

The dashboard is the IDE itself. Its main components are a code editor, a directory tree, and a terminal for accessing the underlying Linux development server.

Access the dashboard by selecting the Kloude add-on from your application’s Resources page, or by executing this Heroku CLI command.

$ heroku addons:open kloude -a example-app
Opening kloude for example-app

Environment Setup

After provisioning the Kloude add-on, users can open the Dashboard to begin creating an application for hosting on Heroku, or to modify an existing one.

Git comes pre-installed in your environment and you can either pull an existing repository down or create a new one to begin version-controlled development in Kloude.

Deploying to Heroku

Deployment to Heroku is enabled via Heroku’s GitHub integration (aka Heroku GitHub deploys).

The Heroku Github Integration article provides detailed information for enabling Github Integration on your app. Users can specify the main branch of their GitHub repositories, or another branch of their choosing, which automatically deploys to their Heroku app with git push. You can also configure manual deploys to control when changes are deployed to Heroku

Other Version Control Providers

GitHub is the only version control provider with first-party support from Heroku for deploys. It’s still possible to deploy from other providers such as GitLab or Bitbucket. Use continuous integration (CI) tools compatible with the dpl command, or via GitHooks using the dpl command, or the Heroku Platform API to deploy.

More information can be found in this Dev Center article.

Terraform

Hashicorp Terraform is a tool that enables you to configure and deploy a wide range of integrated cloud resources, including Heroku’s, with a simple declarative language called HCL. See the Using Terraform with Heroku Article for more information about deployments with Terraform.

Kloude environments are based on Ubuntu, so users would follow instructions for Ubuntu/Debian when downloading.

The Heroku CLI

In certain circumstances, you can also use the Heroku CLI for direct deployments. This method is only available to users who don’t have two-factor/multi-factor authentication enabled in their account.

The Heroku CLI article contains instructions for installing it.

Kloude’s development environment is Linux-based so follow the instructions for installing the CLI for Linux. We recommend the Tarball Installation

To log in to Heroku from the CLI, use the following command:

$ heroku login -i

You can’t use the -i option if you have multi-factor authentication enabled due to a technical dependency on web browsers for verification.

Set Up the Heroku Git Remote

After establishing a Git repository for your application in the Kloude environment, users can connect it to Heroku by adding their app as a Git remote.

The following example assumes a Heroku application name of example-app and a Heroku git URL of https://git.heroku.com/example-app.git

$ git remote add heroku https://git.heroku.com/example-app.git

Deploy to Heroku

After setting up the heroku remote, deploy the application to Heroku with the following command.

$ git push heroku main

Some repositories have master set as the name of their main branch. In that case, substitute main for master in the CLI command.

Changing Plans

The difference between plans is primarily in the performance capability of the development environment’s underlying virtual machine. Smaller plans work great for smaller coding projects, for projects being accessed infrequently, or for quick changes. As access becomes more frequent, or code grows in complexity, or other needs increase, users can provision higher-level plans.

From your application’s Resources page, click the button next to Kloude’s plan name and cost. Select Modify Plan and select the desired plan.

Change Plans via the Heroku CLI

Use the -a flag to specify which application’s instance of Kloude to modify.

$ heroku addons:upgrade kloude:new_plan_name -a example_app
-----> Upgrading kloude:new_plan_name to example_app.. done, v18 ($49/mo)
       Your plan has been updated to: kloude:new_plan_name

Deprovisioning the Add-on

From your application’s Resources page, select the button next to Kloude‘s plan name and cost. Select Delete Add-on and follow the prompts.

This action destroys your IDE and Cloud9 environment. Remember to back up your application code to version control before deprovisioning.

Deprovisioning via the Heroku CLI

Use the -a flag to specify which application to remove the add-on from.

$ heroku addons:destroy kloude:plan_name -a example-app
-----> Removing kloude from example-app... done, v20 (free)

Troubleshooting

400 Error “User is not authorized to open this environment”

A session-specific Amazon Web Services account facilitates the IDE and is set in the browser when the IDE is opened. Any access of another AWS account in the same browser, even from another Kloude environment, overwrites those first credentials set in the browser session. When this overwrite happens, this error occurs but your Kloude environment is kept intact. Logging back into the environment resets your browser’s AWS credentials for access to the IDE.

Using a private browser window, a guest browser window (browser-specific), or a separate browser provides an environment with separate sessions and cookies. This method allows you to use multiple different Kloude environments or AWS accounts at once.

Support

Submit all Kloude support and runtime issues via one of the Heroku Support channels. Any non-support-related issues or product feedback is welcome at Kloude’s Twitter Account.

For questions relating to AWS Cloud9 environments, see the Cloud9 documentation. For security’s sake, many integrations from Cloud9 to other AWS services are disabled.

Keep reading

  • All Add-ons

Feedback

Log in to submit feedback.

Ziggeo Knapsack Pro

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Podcasts
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing

Subscribe to our monthly newsletter

Your email address:

  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Heroku Podcasts
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Facebook
  • Instagram
  • Github
  • LinkedIn
  • YouTube
Heroku is acompany

 © Salesforce.com

  • heroku.com
  • Terms of Service
  • Privacy
  • Cookies
  • Cookie Preferences