Skip to content
This repository has been archived by the owner on Nov 28, 2022. It is now read-only.

Ensure Appsody CLI is available if user wants to use Appsody in Codewind #271

Closed
makandre opened this issue Aug 23, 2019 · 13 comments
Closed
Assignees
Labels

Comments

@makandre
Copy link
Contributor

Codewind version:
OS:

Che version:
IDE extension version:
IDE version:
Kubernetes cluster:

Description of the enhancement:

In order to enhance the IDE experience for developers using Appsody in Codewind, we are requesting via #270 for Codewind CLI to be able to invoke appsody init command when creating Appsody projects.

This does mean appsody needs to be on the system path somehow. This issue is to track how we can ensure this.

Proposed solution:

There are a number of ways we can go:

  1. Document this as a requirement and have the user install it
  2. Have Codewind optionally install it
  3. (optionally?) Bundle Appsody CLI into Codewind CLI (both are written in GO)
  4. Or?
@makandre
Copy link
Contributor Author

As discussed with @tobespc. Please tag accordingly

@ebuckle
Copy link
Contributor

ebuckle commented Aug 29, 2019

I'll look into this

@ebuckle
Copy link
Contributor

ebuckle commented Aug 30, 2019

I believe that option 1 would be our best bet for this:

  • Appsody install on Mac would require us to also install Xcode and Homebrew as pre-reqs
  • Appsody install on Linux requires a sudo install

The other options could be implemented if desired but displaying a message to the user upon creation of an appsody project feels like the cleanest solution.

It would just be a case of deciding how and when to display this message, for project creation through the CLI as well as through the plugin.

@ebuckle
Copy link
Contributor

ebuckle commented Sep 2, 2019

Suggesting to add information about requiring appsody and it's installation to the docs.

As taken from: https://appsody.dev/docs/getting-started/installation

Installing on macOS

Follow these steps:

  1. If you don't have the Xcode command line tools installed on your system, install them by running xcode-select --install.
  2. If you don't have Homebrew installed on your system, install it by running /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)".
  3. To install Appsody, run: brew install appsody/appsody/appsody.

Installing on Ubuntu

Follow these steps:

  1. Your user account must be a member of the docker group, which you can configure by running sudo usermod -aG docker <username>.
  2. Download the latest Debian install package from the Appsody releases page. The file is named appsody_v.r.m_amd64.deb, where v.r.m indicates the release tag.
  3. To install the package run: sudo apt install -f <path>/appsody_v.r.m_amd_64.deb.

Where <path> is the fully qualified path to the package.

Installing on RHEL

Follow these steps:

  1. Your user account must be a member of the docker group, which you can configure by running sudo usermod -aG docker <username>.
  2. Download the latest RPM install package from the Appsody releases page. The file is named appsody-v.r.m-1.x86_64.rpm, where v.r.m indicates the release tag.
  3. To install the package, run: sudo yum install <path>/appsody-v.r.m-1.x86_64.rpm.

Where path is the fully qualified path to the package.

Installing on Windows

Note: Appsody runs only on Windows 10
Follow these steps:

  1. Create a directory for Appsody on your Windows 10 system.
  2. Download the Appsody binaries for Windows from the Appsody releases page into the directory. The file is named appsody-v.r.m-windows.tar.gz, where v.r.m indicates the release tag.
  3. Extract the files by running tar -xvf appsody-v.r.m-windows.tar.gz.

Note: If you choose to extract the files using a GUI tool you may have to extract the appsody-v.r.m-windows.tar.gz file and extract the extracted appsody-v.r.m-windows.tar file afterwards.

  1. To install Appsody, run the following setup command: appsody-setup.bat

@makandre
Copy link
Contributor Author

makandre commented Sep 2, 2019

There's some ongoing design around selecting the project style when Codewind starts up. That's also a possible spot to let users know to install appsody.

@deboer-tim

@deboer-tim
Copy link
Contributor

When we were initially developing the Appsody support we had a discussion around whether we a) require Appsody to be pre-installed, b) whether we install it, or c) whether we embed it in our extension, each of which has pros and cons. I was initially leaning toward b so that the cli would be available outside of the IDE as well, but after discussion we went with c - not just because of technical limitations at the time and the complexity of installing an external cli on different platforms, but because most tools work (better) this way: things work right out of the box and there's no secondary install.

Although this is a different aspect, I don't see any need to change this design or have it work differently than the rest of the Appsody support. If this is something that we should be doing as a tool then it sounds like we should be doing 3.

@makandre
Copy link
Contributor Author

makandre commented Sep 5, 2019

Just want to confirm if we are going with documenting appsody CLI as a prerequisite as suggested by @ebuckle for this release? If so, we need a doc issue for this?

@deboer-tim
Copy link
Contributor

We don't have it as a prerequisite today, so IMHO and as per my previous comment it would be a big usability issue if we changed that.

@sghung
Copy link
Contributor

sghung commented Sep 5, 2019

@deboer-tim for our 0.4.0 release, we plan to have the IDE display a message to the user letting them know if they can't find appsody to run and instructions on how to install. While the usability could be improved to auto install it, at least the user is notified and given information on how to get appsody to work. They aren't left with a strange error and have to go digging through the docs themselves. Are you okay with this approach for 0.4.0?

@deboer-tim
Copy link
Contributor

@sghung No, if this is adding a dialog and dependency to the user flow then we need to discuss.

@tobespc
Copy link
Contributor

tobespc commented Sep 9, 2019

@makandre Can you please advise of the next steps. Looks like there is nothing to do from a portal perspective now

@makandre
Copy link
Contributor Author

@tobespc We decided to bundle appsody with IDEs; we'll take it from here.

@sghung
Copy link
Contributor

sghung commented Sep 12, 2019

Closing as bundling has been implemented

@sghung sghung closed this as completed Sep 12, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

5 participants