Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENDOC-492 ent CLI troubleshooting and versioning from Notions #504

Merged
merged 4 commits into from
May 2, 2022
Merged

Conversation

Lyd1aCla1r3
Copy link
Contributor

extensive page rework to improve flow and formatting

@Lyd1aCla1r3 Lyd1aCla1r3 requested review from nshaw and jyunmitch April 27, 2022 19:23
Copy link
Collaborator

@jyunmitch jyunmitch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not to make more work, but it might be nice to have a separate page with all the cli commands and their various forms, like a cheatsheet as a quick reference that links back to this page. Just a thought

```sh
ent prj get-bundle-id --auto
```

A unique identifier will also be calculated for each microservice plugin in your project. You can determine this identifier with the command
Determine the microservice plugin identifier:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nothing wrong but it can be called plugin ID too. in other tutorials, it's been called plugin ID often. I'm used to it being called that.


To switch between different Entando Applications, even if they are in different clusters, `ent profile` uses Kubernetes contexts, kubeconfig files, and/or custom commands (refer to `ent profile first-use-readme`).
### Custom Resource Wrapper
Entando supports a series of `ent ecr` commands to facilitate custom resource operations.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

support >> provides seems more accurate

This sets the minimal profile data and explains next steps.
#### Determine Custom Resource Identifiers

The helpers `get-bundle-id` and `get-plugin-id` have been added to `ent ecr` to calculate and display unique identifiers related to custom resources. This provides additional security controls around bundle-specific and microservice plugin resources.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this the same or different from the get-bundle-id or get-plugin-id from above in projects? It sounds different but looks the same so confusing

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

they are different commands relating to different things. i modified the text right above the commands to emphasize that.

@@ -93,10 +93,23 @@ Use `ent help` to review the list of available commands
```
Check a command's help text (`--help`) to view specific options and subcommands, e.g. `ent check-env --help`. For general configuration options related to ent itself, see `ent --help`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question, should we use "ent" when it's not part of a command. I feel like we should capitalize a reference to "Ent", the cli when just talking about it, but it's not a strong opinion. thoughts?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think we should keep it lowercase. it's either referred to as "ent" or ent elsewhere in the documentation. i prefer "ent" because it doesn't represent a command or entity; "ent" is the abbreviation for the Entando CLI, and a capital E looks off, as does all caps.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, usually if you reference a command you use the exact name. Linux is case-sensitive so it definitely matters here.


This sets the minimal profile data and explains next steps.
#### Determine Custom Resource Identifiers
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this confused me, Custom resource IDs?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes. per the text right beneath the header.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's discuss this language a bit. Custom resource is a very general term and the ecr commands here are specifically and only for bundles. When you use ent ecr deploy, ent ecr deploy, etc. you are only dealing with a bundle which is single kind of custom resource, the EntandoDeBundle.

ent ecr get-plugin-id --auto YOUR-BUNDLE-REPOSITORY-URL
```
### Profile Management
To manage and switch between different ent configurations, use `ent profile`. To switch between different Entando Applications, even if they are in different clusters, `ent profile` uses Kubernetes contexts, kubeconfig files, and/or custom commands (refer to `ent profile first-use-readme`).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ent configuration >> ent profile configuration?? not sure but ent configuration can refer to how and what version your ent is configured?And here we are talking more about profiles?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think it's implied we're talking about profiles here ?? pretty sure an ent configuration is a profile.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ent configuration is confusing. What we're doing here is switching between different profiles which help us connect to different Entando Applications. Maybe just change it to "Entando configurations" to avoid confusion with the ent command.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The clause "To switch between different Entando Applications, even if they are in different clusters," can be removed since the first sentence explains it.

The CLI is a useful debug tool to identify and correct issues with an Entando instance.

#### Error Location
Zero in on error messages in the EntandoApp pods:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

zero in >> find or retrieve? a little confusing what zero in means

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"find" is a bit too passive and loose, and idk if you're actually retrieving anything - that would imply something is excerpted or returned. i like zero in on but maybe that would confuse a non-native speaker... i guess "locate" is the best choice, even though it's also kind of passive and boring...

#### Extraction Error
To resolve the error "Unable to extract the application client secret":

1. Verify that the current profile namespace and application name are correct match the output of the following command
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and application name are correct match the output >> and application name match the output with the following command??

what is it correcting? a little unclear

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo! correct and match

@nshaw
Copy link
Member

nshaw commented Apr 28, 2022

Please remove the NVM dependency from the prerequisites. It's no longer used on Windows.

Copy link
Member

@nshaw nshaw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall the structure looks good. Biggest issue to sort out is the "Custom Resource" section which we can discuss,

@@ -93,10 +93,23 @@ Use `ent help` to review the list of available commands
```
Check a command's help text (`--help`) to view specific options and subcommands, e.g. `ent check-env --help`. For general configuration options related to ent itself, see `ent --help`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, usually if you reference a command you use the exact name. Linux is case-sensitive so it definitely matters here.

### Project Setup
For example, to reuse an existing VM:
``` sh
ent quickstart --vm-reuse[=YOUR-EXISTING-VM]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no brackets here.


To switch between different Entando Applications, even if they are in different clusters, `ent profile` uses Kubernetes contexts, kubeconfig files, and/or custom commands (refer to `ent profile first-use-readme`).
### Custom Resource Wrapper
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ECR actually references Entando Component Repository - although some of the new options do have more to do with custom resources. Maybe change line 233 "to facilitate custom resource operations" -> "for interaction with the Entando Component Repository". The section title should probably change too.

Side note, the ECR is likely to change to Local Hub in 7.1 but this API likely won't change so we'll need to watch for that.

ent ecr get-plugin-id --auto YOUR-BUNDLE-REPOSITORY-URL
```
### Profile Management
To manage and switch between different ent configurations, use `ent profile`. To switch between different Entando Applications, even if they are in different clusters, `ent profile` uses Kubernetes contexts, kubeconfig files, and/or custom commands (refer to `ent profile first-use-readme`).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ent configuration is confusing. What we're doing here is switching between different profiles which help us connect to different Entando Applications. Maybe just change it to "Entando configurations" to avoid confusion with the ent command.

ent ecr get-plugin-id --auto YOUR-BUNDLE-REPOSITORY-URL
```
### Profile Management
To manage and switch between different ent configurations, use `ent profile`. To switch between different Entando Applications, even if they are in different clusters, `ent profile` uses Kubernetes contexts, kubeconfig files, and/or custom commands (refer to `ent profile first-use-readme`).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The clause "To switch between different Entando Applications, even if they are in different clusters," can be removed since the first sentence explains it.

### Profile Management
To manage and switch between different ent configurations, use `ent profile`. To switch between different Entando Applications, even if they are in different clusters, `ent profile` uses Kubernetes contexts, kubeconfig files, and/or custom commands (refer to `ent profile first-use-readme`).

It is common practice for the vendor tool that connects to a cloud Kubernetes to create a Kubernetes context that must be linked to the profile. An overview of the current connection and profile information is provided via `ent status`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Passive voice is weird on the first sentence. Change to "Cloud Kubernetes tools typically create a Kubernetes context which can be linked to an Entando profile."


This sets the minimal profile data and explains next steps.
#### Determine Custom Resource Identifiers
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's discuss this language a bit. Custom resource is a very general term and the ecr commands here are specifically and only for bundles. When you use ent ecr deploy, ent ecr deploy, etc. you are only dealing with a bundle which is single kind of custom resource, the EntandoDeBundle.

```
ent pro link [contextName]
```
This instructs ent how to connect to the Kubernetes containing the Entando Application.
This instructs ent to connect to the Kubernetes containing the Entando Application.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs better wording, but it only tells ent how. It doesn't actually make a connection until you issue the actual commands. Ent profile just sets up the configuration so you can do it.


To switch between different Entando Applications, even if they are in different clusters, `ent profile` uses Kubernetes contexts, kubeconfig files, and/or custom commands (refer to `ent profile first-use-readme`).
#### ECR Wrapper
Entando provides a series of `ent ecr` commands for interaction with [the Entando Component Repository](../../docs/compose/ecr-overview.md) (ECR). The following commands apply specifically and only to bundles.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

above in line 72(could not leave comment there), 'ECR' appears without the full name which may confuse beginners. It would be good to have the full name there too since this document is not necessarily used in a linear fashion.


```
> Collected diagdata available under "~/.entando/reports/entando-diagdata-2020-11-19T02:58:47+0000" for consultation
> Collected diagdata available in archive "~/.entando/reports/entando-diagdata-2020-11-19T02:58:47+0000.tgz"
```
### Troubleshooting
The CLI is a useful debug tool to identify and correct issues with an Entando instance.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

debug >> debugging

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a fine point... "debugging tool" is understood to refer to programs developed exclusively for that purpose. i think it depends on your frame of reference, but "debug" is a widely used term.

@nshaw nshaw merged commit 33140ac into main May 2, 2022
@nshaw nshaw deleted the ENDOC-492 branch May 2, 2022 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants