diff --git a/src/main/_data/sidebars/che_7_docs.yml b/src/main/_data/sidebars/che_7_docs.yml index 189cb410f9..6ce7811473 100644 --- a/src/main/_data/sidebars/che_7_docs.yml +++ b/src/main/_data/sidebars/che_7_docs.yml @@ -27,9 +27,9 @@ entries: - title: End-user Guide output: web folderitems: - #- title: Che-Theia IDE basics - #url: che-theia-ide-basics.html - #output: web + - title: Che-Theia IDE basics + url: che-theia-ide-basics.html + output: web - title: Using developer workspaces url: using-developer-environments-workspaces.html output: web diff --git a/src/main/images/ide/che-theia-basics-1.png b/src/main/images/ide/che-theia-basics-1.png new file mode 100644 index 0000000000..699360c65f Binary files /dev/null and b/src/main/images/ide/che-theia-basics-1.png differ diff --git a/src/main/images/ide/che-theia-basics-2.png b/src/main/images/ide/che-theia-basics-2.png new file mode 100644 index 0000000000..0061257992 Binary files /dev/null and b/src/main/images/ide/che-theia-basics-2.png differ diff --git a/src/main/images/ide/che-theia-basics-3-b.png b/src/main/images/ide/che-theia-basics-3-b.png new file mode 100644 index 0000000000..484850facc Binary files /dev/null and b/src/main/images/ide/che-theia-basics-3-b.png differ diff --git a/src/main/images/ide/che-theia-basics-3-c.png b/src/main/images/ide/che-theia-basics-3-c.png new file mode 100644 index 0000000000..6b6b57c334 Binary files /dev/null and b/src/main/images/ide/che-theia-basics-3-c.png differ diff --git a/src/main/images/ide/che-theia-basics-3.png b/src/main/images/ide/che-theia-basics-3.png new file mode 100644 index 0000000000..c16db139d7 Binary files /dev/null and b/src/main/images/ide/che-theia-basics-3.png differ diff --git a/src/main/images/ide/che-theia-basics-4.png b/src/main/images/ide/che-theia-basics-4.png new file mode 100644 index 0000000000..c669e4d492 Binary files /dev/null and b/src/main/images/ide/che-theia-basics-4.png differ diff --git a/src/main/images/ide/che-theia-basics-5.png b/src/main/images/ide/che-theia-basics-5.png new file mode 100644 index 0000000000..44e7fe6320 Binary files /dev/null and b/src/main/images/ide/che-theia-basics-5.png differ diff --git a/src/main/images/ide/che-theia-basics-ssh-keys.png b/src/main/images/ide/che-theia-basics-ssh-keys.png new file mode 100644 index 0000000000..ab6622b9fc Binary files /dev/null and b/src/main/images/ide/che-theia-basics-ssh-keys.png differ diff --git a/src/main/images/ide/che-theia-basics-ssh.png b/src/main/images/ide/che-theia-basics-ssh.png new file mode 100644 index 0000000000..0722b769fc Binary files /dev/null and b/src/main/images/ide/che-theia-basics-ssh.png differ diff --git a/src/main/images/installation/authorize-access-for-eclipse-che-openshift.png b/src/main/images/installation/authorize-access-for-eclipse-che-openshift.png new file mode 100644 index 0000000000..122f0a21c3 Binary files /dev/null and b/src/main/images/installation/authorize-access-for-eclipse-che-openshift.png differ diff --git a/src/main/images/installation/aws-create-policy.png b/src/main/images/installation/aws-create-policy.png new file mode 100644 index 0000000000..89abca14da Binary files /dev/null and b/src/main/images/installation/aws-create-policy.png differ diff --git a/src/main/images/installation/aws-hosted-zones-dns.png b/src/main/images/installation/aws-hosted-zones-dns.png new file mode 100644 index 0000000000..2d30c512a3 Binary files /dev/null and b/src/main/images/installation/aws-hosted-zones-dns.png differ diff --git a/src/main/images/installation/aws-summary-iam-role.png b/src/main/images/installation/aws-summary-iam-role.png new file mode 100644 index 0000000000..37d7d9f665 Binary files /dev/null and b/src/main/images/installation/aws-summary-iam-role.png differ diff --git a/src/main/images/installation/catalog-operatorhub.png b/src/main/images/installation/catalog-operatorhub.png new file mode 100644 index 0000000000..4abdfacf67 Binary files /dev/null and b/src/main/images/installation/catalog-operatorhub.png differ diff --git a/src/main/images/installation/cc-eclipse-che-cluster.png b/src/main/images/installation/cc-eclipse-che-cluster.png new file mode 100644 index 0000000000..b9d873ed6c Binary files /dev/null and b/src/main/images/installation/cc-eclipse-che-cluster.png differ diff --git a/src/main/images/installation/certificate-generate-lets-encrypt.png b/src/main/images/installation/certificate-generate-lets-encrypt.png new file mode 100644 index 0000000000..4a61e21948 Binary files /dev/null and b/src/main/images/installation/certificate-generate-lets-encrypt.png differ diff --git a/src/main/images/installation/che-running-on-openshift-v4.png b/src/main/images/installation/che-running-on-openshift-v4.png new file mode 100644 index 0000000000..1f65f59adc Binary files /dev/null and b/src/main/images/installation/che-running-on-openshift-v4.png differ diff --git a/src/main/images/installation/create-che-cluster-intalled-operators.png b/src/main/images/installation/create-che-cluster-intalled-operators.png new file mode 100644 index 0000000000..3059ac1705 Binary files /dev/null and b/src/main/images/installation/create-che-cluster-intalled-operators.png differ diff --git a/src/main/images/installation/create-policy-review-policy.png b/src/main/images/installation/create-policy-review-policy.png new file mode 100644 index 0000000000..da03f60881 Binary files /dev/null and b/src/main/images/installation/create-policy-review-policy.png differ diff --git a/src/main/images/installation/create-policy-review.png b/src/main/images/installation/create-policy-review.png new file mode 100644 index 0000000000..e82be0675d Binary files /dev/null and b/src/main/images/installation/create-policy-review.png differ diff --git a/src/main/images/installation/create-project-button.png b/src/main/images/installation/create-project-button.png new file mode 100644 index 0000000000..992e1c4dc5 Binary files /dev/null and b/src/main/images/installation/create-project-button.png differ diff --git a/src/main/images/installation/create-record-set-all-values.png b/src/main/images/installation/create-record-set-all-values.png new file mode 100644 index 0000000000..49146e53ec Binary files /dev/null and b/src/main/images/installation/create-record-set-all-values.png differ diff --git a/src/main/images/installation/create-record-set.png b/src/main/images/installation/create-record-set.png new file mode 100644 index 0000000000..d679f6745d Binary files /dev/null and b/src/main/images/installation/create-record-set.png differ diff --git a/src/main/images/installation/describtion-tab-iam-role.png b/src/main/images/installation/describtion-tab-iam-role.png new file mode 100644 index 0000000000..f496e933ad Binary files /dev/null and b/src/main/images/installation/describtion-tab-iam-role.png differ diff --git a/src/main/images/installation/dns-nameservers.png b/src/main/images/installation/dns-nameservers.png new file mode 100644 index 0000000000..9123ead314 Binary files /dev/null and b/src/main/images/installation/dns-nameservers.png differ diff --git a/src/main/images/installation/eclipse-che-cluster-create-che-cluster.png b/src/main/images/installation/eclipse-che-cluster-create-che-cluster.png new file mode 100644 index 0000000000..cb611d6a65 Binary files /dev/null and b/src/main/images/installation/eclipse-che-cluster-create-che-cluster.png differ diff --git a/src/main/images/installation/eclipse-che-cluster-overview.png b/src/main/images/installation/eclipse-che-cluster-overview.png new file mode 100644 index 0000000000..b9dea5b302 Binary files /dev/null and b/src/main/images/installation/eclipse-che-cluster-overview.png differ diff --git a/src/main/images/installation/eclipse-che-create-operator-subscription.png b/src/main/images/installation/eclipse-che-create-operator-subscription.png new file mode 100644 index 0000000000..261e0740dd Binary files /dev/null and b/src/main/images/installation/eclipse-che-create-operator-subscription.png differ diff --git a/src/main/images/installation/eclipse-che-in-openshift-creation.png b/src/main/images/installation/eclipse-che-in-openshift-creation.png new file mode 100644 index 0000000000..30c36cd173 Binary files /dev/null and b/src/main/images/installation/eclipse-che-in-openshift-creation.png differ diff --git a/src/main/images/installation/eclipse-che-installed-operators.png b/src/main/images/installation/eclipse-che-installed-operators.png new file mode 100644 index 0000000000..6dbdd22240 Binary files /dev/null and b/src/main/images/installation/eclipse-che-installed-operators.png differ diff --git a/src/main/images/installation/eclipse-che-loading.png b/src/main/images/installation/eclipse-che-loading.png new file mode 100644 index 0000000000..29cb6c9371 Binary files /dev/null and b/src/main/images/installation/eclipse-che-loading.png differ diff --git a/src/main/images/installation/eclipse-che-login-page.png b/src/main/images/installation/eclipse-che-login-page.png new file mode 100644 index 0000000000..1c4a2daf3e Binary files /dev/null and b/src/main/images/installation/eclipse-che-login-page.png differ diff --git a/src/main/images/installation/eclipse-che-overview-provided-apis.png b/src/main/images/installation/eclipse-che-overview-provided-apis.png new file mode 100644 index 0000000000..079da36508 Binary files /dev/null and b/src/main/images/installation/eclipse-che-overview-provided-apis.png differ diff --git a/src/main/images/installation/eclipse-che-overview.png b/src/main/images/installation/eclipse-che-overview.png new file mode 100644 index 0000000000..140ab78476 Binary files /dev/null and b/src/main/images/installation/eclipse-che-overview.png differ diff --git a/src/main/images/installation/eclipse-che-resources-tab.png b/src/main/images/installation/eclipse-che-resources-tab.png new file mode 100644 index 0000000000..9abe7d2fff Binary files /dev/null and b/src/main/images/installation/eclipse-che-resources-tab.png differ diff --git a/src/main/images/installation/eclipse-che-url-filef-overview.png b/src/main/images/installation/eclipse-che-url-filef-overview.png new file mode 100644 index 0000000000..61e52e73bc Binary files /dev/null and b/src/main/images/installation/eclipse-che-url-filef-overview.png differ diff --git a/src/main/images/installation/eclipse-che-url-link.png b/src/main/images/installation/eclipse-che-url-link.png new file mode 100644 index 0000000000..5ce5f92d63 Binary files /dev/null and b/src/main/images/installation/eclipse-che-url-link.png differ diff --git a/src/main/images/installation/eclipse-che-welcome-to-your-workspace.png b/src/main/images/installation/eclipse-che-welcome-to-your-workspace.png new file mode 100644 index 0000000000..1861709a82 Binary files /dev/null and b/src/main/images/installation/eclipse-che-welcome-to-your-workspace.png differ diff --git a/src/main/images/installation/install-eclipse-che-in-openshift.png b/src/main/images/installation/install-eclipse-che-in-openshift.png new file mode 100644 index 0000000000..d4989c1d36 Binary files /dev/null and b/src/main/images/installation/install-eclipse-che-in-openshift.png differ diff --git a/src/main/images/installation/json-review-policy.png b/src/main/images/installation/json-review-policy.png new file mode 100644 index 0000000000..2163ad5ddb Binary files /dev/null and b/src/main/images/installation/json-review-policy.png differ diff --git a/src/main/images/installation/link-is-redirected-to-https.png b/src/main/images/installation/link-is-redirected-to-https.png new file mode 100644 index 0000000000..91187f9306 Binary files /dev/null and b/src/main/images/installation/link-is-redirected-to-https.png differ diff --git a/src/main/images/installation/log-into-openshift.gif b/src/main/images/installation/log-into-openshift.gif new file mode 100644 index 0000000000..10f581bd92 Binary files /dev/null and b/src/main/images/installation/log-into-openshift.gif differ diff --git a/src/main/images/installation/open-shift-create-project.png b/src/main/images/installation/open-shift-create-project.png new file mode 100644 index 0000000000..a8ad57a0cc Binary files /dev/null and b/src/main/images/installation/open-shift-create-project.png differ diff --git a/src/main/images/installation/resource-section-pods-are-restarted.png b/src/main/images/installation/resource-section-pods-are-restarted.png new file mode 100644 index 0000000000..3ea07604ff Binary files /dev/null and b/src/main/images/installation/resource-section-pods-are-restarted.png differ diff --git a/src/main/images/installation/select-eclipse-che-in-openshift.png b/src/main/images/installation/select-eclipse-che-in-openshift.png new file mode 100644 index 0000000000..a96d572331 Binary files /dev/null and b/src/main/images/installation/select-eclipse-che-in-openshift.png differ diff --git a/src/main/images/installation/set-that-value-to-true-enabeling-tls-mode.png b/src/main/images/installation/set-that-value-to-true-enabeling-tls-mode.png new file mode 100644 index 0000000000..c3e002782d Binary files /dev/null and b/src/main/images/installation/set-that-value-to-true-enabeling-tls-mode.png differ diff --git a/src/main/images/installation/tls-mode-true.png b/src/main/images/installation/tls-mode-true.png new file mode 100644 index 0000000000..6f4bbb90d6 Binary files /dev/null and b/src/main/images/installation/tls-mode-true.png differ diff --git a/src/main/images/installation/update-account-information-eclipse-che.png b/src/main/images/installation/update-account-information-eclipse-che.png new file mode 100644 index 0000000000..ca9ae46c1d Binary files /dev/null and b/src/main/images/installation/update-account-information-eclipse-che.png differ diff --git a/src/main/pages/che-7/end-user-guide/assembly_che-theia-ide-basics.adoc b/src/main/pages/che-7/end-user-guide/assembly_che-theia-ide-basics.adoc index fb49a97596..e5f86d0165 100644 --- a/src/main/pages/che-7/end-user-guide/assembly_che-theia-ide-basics.adoc +++ b/src/main/pages/che-7/end-user-guide/assembly_che-theia-ide-basics.adoc @@ -1,81 +1,30 @@ --- title: Che-Theia IDE basics -keywords: +keywords: tags: [] sidebar: che_7_docs permalink: che-7/che-theia-ide-basics.html folder: che-7/end-user-guide -summary: +summary: --- :parent-context-of-che-theia-ide-basics: {context} [id='che-theia-ide-basics_{context}'] = Che-Theia IDE basics -:context: che-theia-ide-basics - -This paragraph is the assembly introduction. It explains what the user will accomplish by working through the modules in the assembly and sets the context for the user story the assembly is based on. Can include more than one paragraph. Consider using the information from the user story. - -.Prerequisites - -* A bulleted list of conditions that must be satisfied before the user starts following this assembly. -* You can also link to other modules or assemblies the user must follow before starting this assembly. -* Delete the section title and bullets if the assembly has no prerequisites. - -// include::modules/subsystem/proc_doing_one_procedure.adoc[leveloffset=+1] - -== Navigating the Che-Theia user interface - - - -== Files and projects - - - -== Editing code and code assistance - - - -== Key bindings - - - -== Searching - - -== Commands - - - -== Debugging - - - -== Testing - - - -== Version control - - - -== Integrated terminal - - - -== Languages - - - -== SSH +:context: che-theia-ide-basics +include::assembly_defining-custom-commands-for-che-theia.adoc[leveloffset=+1] +include::assembly_version-control.adoc[leveloffset=+1] +//// .Related information * A bulleted list of links to other material closely related to the contents of the concept module. * For more details on writing assemblies, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. * Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +//// :context: {parent-context-of-che-theia-ide-basics} diff --git a/src/main/pages/che-7/end-user-guide/assembly_defining-custom-commands-for-che-theia.adoc b/src/main/pages/che-7/end-user-guide/assembly_defining-custom-commands-for-che-theia.adoc new file mode 100644 index 0000000000..0ee9641deb --- /dev/null +++ b/src/main/pages/che-7/end-user-guide/assembly_defining-custom-commands-for-che-theia.adoc @@ -0,0 +1,93 @@ +:parent-context-of-defining-custom-commands-for-che-theia: {context} + +// che-theia-ide-basics + +[id='defining-custom-commands-for-che-theia_{context}'] += Defining custom commands for Che-Theia + +:context: defining-custom-commands-for-che-theia + +The Che-Theia IDE allows users to define custom commands in a devfile that are then available when working in a workspace. + +The following is an example of the `commands` section of a devfile. + +[source,yaml] +---- +commands: +- name: theia:build + actions: + - type: exec + component: che-dev + command: > + yarn + workdir: /projects/theia +- name: run + actions: + - type: vscode-task + referenceContent: | + { + "version": "2.0.0", + "tasks": + [ + { + "label": "theia:watch", + "type": "shell", + "options": {"cwd": "/projects/theia"}, + "command": "yarn", + "args": ["watch"] + } + ] + } +- name: debug + actions: + - type: vscode-launch + referenceContent: | + { + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "attach", + "name": "Attach by Process ID", + "processId": "${command:PickProcess}" + } + ] + } +---- + +Che commands:: `theia:build` ++ +* The `exec` type implies that the Che runner is used for command execution. The user can specify the component in whose container the command is executed. +* The `command` field contains the command line for execution. +* The `workdir` is the working directory in which the command is executed. + +Visual Studio Code (VS Code) tasks:: `run` ++ +* The type is `vscode-task`. +* For this type of command, the `referenceContent` field must contain content with task configurations in the VS Code format. +* For more information about VS Code tasks, see the link:https://code.visualstudio.com/docs/editor/tasks[Task section at Visual Studio User Guide page]. + +VS Code launch configurations:: `debug` ++ +* The type is `vscode-launch`. +* It contains the launch configurations in the VS Code format. +* For more information about VS Code launch configurations, see the link:https://code.visualstudio.com/docs/editor/debugging#_launch-configurations[Debugging section at the Visual Studio documentation page]. + +For a list of available tasks and launch configurations, see the `tasks.json` and the `launch.json` configuration files in the `/workspace/.theia` directory where the configuration from the devfile is exported to. + +include::con_che-theia-task-types.adoc[leveloffset=+1] + +include::proc_running-and-debugging.adoc[leveloffset=+1] + +include::proc_editing-a-task-and-a-launch-configuration.adoc[leveloffset=+1] + +//// +[id='related-information-{context}'] +== Related information + +* A bulleted list of links to other material closely related to the contents of the concept module. +* For more details on writing assemblies, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +* Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +//// + +:context: {parent-context-of-defining-custom-commands-for-che-theia} diff --git a/src/main/pages/che-7/end-user-guide/assembly_version-control.adoc b/src/main/pages/che-7/end-user-guide/assembly_version-control.adoc new file mode 100644 index 0000000000..7db8d98585 --- /dev/null +++ b/src/main/pages/che-7/end-user-guide/assembly_version-control.adoc @@ -0,0 +1,27 @@ +:parent-context-of-version-control: {context} + +// che-theia-ide-basics + +[id='version-control_{context}'] += Version Control + +:context: version-control + +Eclipse Che natively supports the link:https://code.visualstudio.com/docs/editor/versioncontrol#_scm-providers[VS Code SCM model]. By default, Eclipse Che includes the native link:https://code.visualstudio.com/docs/editor/versioncontrol#_git-support[VS Code Git extension] as an Source Code Management (SCM) provider. + +include::proc_accessing-a-git-repository-via-https.adoc[leveloffset=+1] + +include::proc_accessing-a-git-repository-via-ssh.adoc[leveloffset=+1] + +include::proc_managing-pull-requests-using-the-github-pr-plug-in.adoc[leveloffset=+1] + +//// +[id='related-information-{context}'] +== Related information + +* A bulleted list of links to other material closely related to the contents of the concept module. +* For more details on writing assemblies, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +* Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +//// + +:context: {parent-context-of-version-control} diff --git a/src/main/pages/che-7/end-user-guide/con_che-theia-task-types.adoc b/src/main/pages/che-7/end-user-guide/con_che-theia-task-types.adoc new file mode 100644 index 0000000000..5060bc1b76 --- /dev/null +++ b/src/main/pages/che-7/end-user-guide/con_che-theia-task-types.adoc @@ -0,0 +1,21 @@ +// defining-custom-commands-for-che-theia + +[id="che-theia-task-types_{context}"] += Che-Theia task types + +There are two types of tasks in a devfile: tasks in the VS Code format and Che commands. Tasks from the devfile are copied to the configuration file when the workspace is started. Depending on the type of the task, the task is then available for running: + +* Che commands: From the *Terminal -> Run Task* menu in the *configured tasks* section, or from the *My Workspace* panel + +* Tasks in the VS Code format: From the *Run Tasks* menu + +To run the task definitions provided by plug-ins, select the *Terminal -> Run Task* menu option. The tasks are placed in the *detected tasks* section. + +//// +[discrete] +== Additional resources + +* A bulleted list of links to other material closely related to the contents of the concept module. +* For more details on writing concept modules, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +* Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +//// diff --git a/src/main/pages/che-7/end-user-guide/proc_accessing-a-git-repository-via-https.adoc b/src/main/pages/che-7/end-user-guide/proc_accessing-a-git-repository-via-https.adoc new file mode 100644 index 0000000000..0207849d92 --- /dev/null +++ b/src/main/pages/che-7/end-user-guide/proc_accessing-a-git-repository-via-https.adoc @@ -0,0 +1,20 @@ +// version-control + +[id="accessing-a-git-repository-via-https_{context}"] += Accessing a Git repository via HTTPS + +.Procedure + +To clone a repository using HTTPS: + +. Use the link:https://code.visualstudio.com/docs/editor/versioncontrol#_cloning-a-repository[clone] command provided by the `vscode` Git extension. + +NOTE: Alternatively, use the native *Git* commands in the terminal to clone a project. + +//// +.Additional resources + +* A bulleted list of links to other material closely related to the contents of the procedure module. +* For more details on writing procedure modules, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +* Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +//// diff --git a/src/main/pages/che-7/end-user-guide/proc_accessing-a-git-repository-via-ssh.adoc b/src/main/pages/che-7/end-user-guide/proc_accessing-a-git-repository-via-ssh.adoc new file mode 100644 index 0000000000..db8424fcec --- /dev/null +++ b/src/main/pages/che-7/end-user-guide/proc_accessing-a-git-repository-via-ssh.adoc @@ -0,0 +1,44 @@ +// version-control + +[id="accessing-a-git-repository-via-ssh_{context}"] += Accessing a Git repository via SSH + + +.Prerequisites + +* SSH key pair generated + + +== Generating an SSH key + +To generate an SSH key pair: + +. Run the *SSH: generate key pair* command, or, to generate a key that will work only with a particular Git provider, run *SSH: generate key pair for particular host*. +. After the key is generated, click the btn:[View] button and copy the public key from the editor. +. Add the public key to the Git provider. + + +== Adding the associated public key to a repository or account on GitHub + +To add the associated public key to a repository or account on GitHub: + +. Navigate to link:https://github.com[github.com]. +. Click the drop-down arrow next to the user icon in the top-right corner. +. Click *Settings -> SSH and GPG keys* and then click the btn:[New SSH key] button. +. In the *Title* field, type a title for the key, and in the *Key* field, paste the public key copied from Che. +. Click the btn:[Add SSH key button]. ++ +image::ide/che-theia-basics-ssh.png[] + + +== Adding the associated public key to a Git repository or account on GitLab + +To add the associated public key to a Git repository or account on GitLab: + +. Navigate to link:https://gitlab.com[gitlab.com]. +. Click the user icon in the top-right corner of the window. +. Click *Settings -> SSH Keys*. +. In the *Title* field, type a title for the key and in the *Key* field, paste the public key copied from Che. +. Click the btn:[Add key] button. ++ +image::ide/che-theia-basics-ssh-keys.png[link="{imagesdir}/ide/che-theia-basics-ssh-keys.png"] diff --git a/src/main/pages/che-7/end-user-guide/proc_editing-a-task-and-a-launch-configuration.adoc b/src/main/pages/che-7/end-user-guide/proc_editing-a-task-and-a-launch-configuration.adoc new file mode 100644 index 0000000000..0018c38391 --- /dev/null +++ b/src/main/pages/che-7/end-user-guide/proc_editing-a-task-and-a-launch-configuration.adoc @@ -0,0 +1,24 @@ +// defining-custom-commands-for-che-theia + +[id="editing-task-and-launch-configuration_{context}"] += Editing task and launch configuration + +.Procedure + +To customize the configuration file: + +. Edit the `tasks.json` or `launch.json` configuration files. +. Add new definitions to the configuration file or modify the existing ones. ++ +NOTE: The changes are stored in the configuration file. + +. To customize the task configuration provided by plug-ins, select the *Terminal -> Configure Tasks...* menu option, and choose the task to configure. +. The configuration is then copied to the `tasks.json` file and is available for editing. + +//// +.Additional resources + +* A bulleted list of links to other material closely related to the contents of the concept module. +* For more details on writing concept modules, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +* Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +//// diff --git a/src/main/pages/che-7/end-user-guide/proc_managing-pull-requests-using-the-github-pr-plug-in.adoc b/src/main/pages/che-7/end-user-guide/proc_managing-pull-requests-using-the-github-pr-plug-in.adoc new file mode 100644 index 0000000000..cc23b1faff --- /dev/null +++ b/src/main/pages/che-7/end-user-guide/proc_managing-pull-requests-using-the-github-pr-plug-in.adoc @@ -0,0 +1,28 @@ +// version-control + +[id="managing-pull-requests-using-the-github-pr-plug-in_{context}"] += Managing pull requests using the GitHub PR plug-in + +To manage GitHub pull requests, the VS Code GitHub Pull Request plug-in is available in the list of plug-ins of the workspace. + + +== Using the GitHub Pull Requests plug-in + +. Authenticate by running the *GitHub Pull Requests: Manually Provide Authentication Response* command and paste the GitHub token. +. Select the repository permissions when generating the token. + + +== Creating a new pull request + +. Open the GitHub repository. To be able to execute remote operations, the repository must have a _remote_ with an SSH URL. +. Checkout a new branch and make changes that you want to publish. +. Run the *GitHub Pull Requests: Create Pull Request* command. + +//// +[discrete] +== Additional resources + +* A bulleted list of links to other material closely related to the contents of the procedure module. +* For more details on writing procedure modules, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +* Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +//// diff --git a/src/main/pages/che-7/end-user-guide/proc_running-and-debugging.adoc b/src/main/pages/che-7/end-user-guide/proc_running-and-debugging.adoc new file mode 100644 index 0000000000..ea88b409d7 --- /dev/null +++ b/src/main/pages/che-7/end-user-guide/proc_running-and-debugging.adoc @@ -0,0 +1,46 @@ +// defining-custom-commands-for-che-theia + +[id="running-and-debugging_{context}"] += Running and debugging + +Che-Theia supports the link:https://microsoft.github.io/debug-adapter-protocol/[Debug Adapter Protocol]. This protocol defines a generic way for how a development tool can communicate with a debugger. It means Che-Theia works with all link:https://microsoft.github.io/debug-adapter-protocol/implementors/adapters/[implementations]. + +.Procedure + +To debug an application: + +. Click *Debug -> Add Configuration* to add debugging or launch configuration to the project. ++ +image::ide/che-theia-basics-1.png[] + +. From the pop-up menu, select the appropriate configuration for the application that you want to debug. ++ +image::ide/che-theia-basics-2.png[] + +. Update the configuration by modifying or adding attributes. ++ +image::ide/che-theia-basics-3.png[] + +. Breakpoints can be toggled by clicking the editor margin. ++ +image::ide/che-theia-basics-3-b.png[] + +. Open the context menu of the breakpoint to add conditions. ++ +image::ide/che-theia-basics-3-c.png[] + +. To start debugging, click *View -> Debug*. ++ +image::ide/che-theia-basics-4.png[] + +. In the *Debug* view, select the configuration and press *F5* to debug the application. Or, start the application without debugging by pressing *Ctrl+F5*. ++ +image::ide/che-theia-basics-5.png[] + +//// +.Additional resources + +* A bulleted list of links to other material closely related to the contents of the procedure module. +* For more details on writing procedure modules, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +* Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +//// diff --git a/src/main/pages/che-7/overview/assembly_che-quick-starts.adoc b/src/main/pages/che-7/overview/assembly_che-quick-starts.adoc index b618725e97..d6fd9d1401 100644 --- a/src/main/pages/che-7/overview/assembly_che-quick-starts.adoc +++ b/src/main/pages/che-7/overview/assembly_che-quick-starts.adoc @@ -20,26 +20,19 @@ This section contains instructions for gettiong quickly started with Eclipse Che * xref:running-che-locally_che-quick-starts[Start Che on your local workstation] using Minikube, Minishift, or Docker Desktop -//* Use the *Dashboard* to navigate the application and select predefined stacks -//* Start using the integrated development environment (IDE) provided by Che -// [id='prerequisites-{context}'] -// == Prerequisites -// -// * A bulleted list of conditions that must be satisfied before the user starts following this assembly. -// * You can also link to other modules or assemblies the user must follow before starting this assembly. -// * Delete the section title and bullets if the assembly has no prerequisites. +include::proc_running-che-locally.adoc[leveloffset=+1] +include::assembly_deploying-che-on-kubernetes-on-aws.adoc[leveloffset=+1] +include::assembly_installing-che-on-openshift-3-using-the-operator.adoc[leveloffset=+1] -include::proc_running-che-locally.adoc[leveloffset=+1] +include::assembly_installing-che-on-openshift-4-from-operatorhub.adoc[leveloffset=+1] //include::proc_navigating-che-using-the-dashboard.adoc[leveloffset=+1] //include::proc_using-the-ide.adoc[leveloffset=+1] - - // [id='related-information-{context}'] // == Related information // diff --git a/src/main/pages/che-7/overview/assembly_deploying-che-on-kubernetes-on-aws.adoc b/src/main/pages/che-7/overview/assembly_deploying-che-on-kubernetes-on-aws.adoc new file mode 100644 index 0000000000..7da2510845 --- /dev/null +++ b/src/main/pages/che-7/overview/assembly_deploying-che-on-kubernetes-on-aws.adoc @@ -0,0 +1,24 @@ +// che-quick-starts + +:parent-context-of-deploying-che-on-kubernetes-on-aws: {context} + +[id='deploying-che-on-kubernetes-on-aws_{context}'] += Deploying Che on Kubernetes on AWS + +:context: deploying-che-on-kubernetes-on-aws + + + +include::proc_preparing-the-aws-system-for-installing-che.adoc[leveloffset=+1] + +include::proc_installing-che-on-kubernetes-using-the-chectl-command.adoc[leveloffset=+1] + +//// +[id='related-information-{context}'] +== Related information + +* A bulleted list of links to other material closely related to the contents of the concept module. +* For more details on writing assemblies, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +* Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +//// +:context: {parent-context-of-deploying-che-on-kubernetes-on-aws} diff --git a/src/main/pages/che-7/overview/assembly_installing-che-on-openshift-3-using-the-operator.adoc b/src/main/pages/che-7/overview/assembly_installing-che-on-openshift-3-using-the-operator.adoc new file mode 100644 index 0000000000..9231cf004b --- /dev/null +++ b/src/main/pages/che-7/overview/assembly_installing-che-on-openshift-3-using-the-operator.adoc @@ -0,0 +1,82 @@ +// che-quick-starts + +:parent-context-of-installing-che-on-openshift-3-using-the-operator: {context} + +[id='installing-che-on-openshift-3-using-the-operator_{context}'] += Installing Che on OpenShift 3 using the operator + +:context: installing-che-on-openshift-3-using-the-operator + +[discrete] +== Prerequisites + +* A running instance of Openshift 3.11 +* The `oc` tool installed +* The `chectl` tool installed +* Administrator rights to the OpenShift installation (if not, che-role will not have enough permissions) + +[discrete] +== Procedure + +To Install the Che on OpenShift 3 using the operator: + +. Log in to OpenShift (you can, for example, copy the login command from the OpenShift console). ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ oc login https://master.rhpds311.openshift.opentlc.com:443 --token= +-- ++ +image::install/log-into-openshift.gif[link="{imagesdir}/install/log-into-openshift.gif"] + +. Check if the latest oc binary tool is installed on the system. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ oc version +oc v3.11.0+0cbc58b +kubernetes v1.11.0+d4cacc0 +features: Basic-Auth + +Server https://master.rhpds311.openshift.opentlc.com:443 +openshift v3.11.43 +kubernetes v1.11.0+d4cacc0 +-- + +. Give a domain to `chectl`. This is the remote hostname that will be accessible. If it is unknown, grab it with a new project using the following command: ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ oc new-project hello-world +$ oc new-app centos/httpd-24-centos7~https://github.com/openshift/httpd-ex +$ oc expose svc/httpd-ex +$ oc get route httpd-ex +NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD +httpd-ex httpd-ex-hello-world.apps.rhpds311.openshift.opentlc.com httpd-ex 8080-tcp None +-- + +. Extract the domain from link:httpd-ex-hello-world.apps.rhpds311.openshift.opentlc.com["Hello World" Openshift page]. It is the part after the first name: `apps.rhpds311.openshift.opentlc.com`. + +. Remove the project. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ oc delete project hello-world +-- + + + + +include::proc_installing-che-on-openshift-using-the-operator.adoc[leveloffset=+1] + +include::proc_installing-che-on-openshift-using-the-operator-and-ssl.adoc[leveloffset=+1] + +//// +[id='related-information-{context}'] +== Related information + +* A bulleted list of links to other material closely related to the contents of the concept module. +* For more details on writing assemblies, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +* Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +//// +:context: {parent-context-of-installing-che-on-openshift-3-using-the-operator} diff --git a/src/main/pages/che-7/overview/assembly_installing-che-on-openshift-4-from-operatorhub.adoc b/src/main/pages/che-7/overview/assembly_installing-che-on-openshift-4-from-operatorhub.adoc new file mode 100644 index 0000000000..e4d523b614 --- /dev/null +++ b/src/main/pages/che-7/overview/assembly_installing-che-on-openshift-4-from-operatorhub.adoc @@ -0,0 +1,28 @@ +// che-quick-starts + +:parent-context-of-installing-che-on-openshift-4-from-operatorhub: {context} + +[id='installing-che-on-openshift-4-from-operatorhub_{context}'] += Installing Che on OpenShift 4 from OperatorHub + +:context: installing-che-on-openshift-4-from-operatorhub + +Eclipse Che can be installed from OpenShift OperatorHub. + + + + + +include::proc_installing-che-on-openshift-4.adoc[leveloffset=+1] + +include::proc_enabling-ssl-on-openshift-4.adoc[leveloffset=+1] + +//// +[id='related-information-{context}'] +== Related information + +* A bulleted list of links to other material closely related to the contents of the concept module. +* For more details on writing assemblies, see the link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +* Use a consistent system for file names, IDs, and titles. For tips, see _Anchor Names and File Names_ in link:https://github.com/redhat-documentation/modular-docs#modular-documentation-reference-guide[Modular Documentation Reference Guide]. +//// +:context: {parent-context-of-installing-che-on-openshift-4-from-operatorhub} diff --git a/src/main/pages/che-7/overview/proc_enabling-ssl-on-openshift-4.adoc b/src/main/pages/che-7/overview/proc_enabling-ssl-on-openshift-4.adoc new file mode 100644 index 0000000000..f705f6fa8a --- /dev/null +++ b/src/main/pages/che-7/overview/proc_enabling-ssl-on-openshift-4.adoc @@ -0,0 +1,30 @@ +// installing-che-on-openshift-4-from-operatorhub + +[id="enabling-ssl-on-openshift-4_{context}"] += Enabling SSL on OpenShift 4 + +[discrete] +== Procedure + +To enable SSL on Openshift 4: + +. Toggle the *TLS MODE* switch to *True*. ++ +image::install/set-that-value-to-true-enabeling-tls-mode.png[link="{imagesdir}/install/set-that-value-to-true-enabeling-tls-mode.png"] ++ +image::install/tls-mode-true.png[link="{imagesdir}/install/tls-mode-true.png"] + +. Click *Confirm change*. +. In *Resources* section, the pods are restarted ++ +image::install/resource-section-pods-are-restarted.png[link="{imagesdir}/install/resource-section-pods-are-restarted.png"] + +. Click the *ECLIPSE CHE URL* link. ++ +image::install/eclipse-che-url-link.png[link="{imagesdir}/install/eclipse-che-url-link.png"] ++ +Notice that the link is redirected to HTTPS. ++ +image::install/link-is-redirected-to-https.png[link="{imagesdir}/install/link-is-redirected-to-https.png"] ++ +A valid Let’s encrypt certificate is available and Che is available on HTTPS. diff --git a/src/main/pages/che-7/overview/proc_installing-che-on-kubernetes-using-the-chectl-command.adoc b/src/main/pages/che-7/overview/proc_installing-che-on-kubernetes-using-the-chectl-command.adoc new file mode 100644 index 0000000000..5a9666e2fe --- /dev/null +++ b/src/main/pages/che-7/overview/proc_installing-che-on-kubernetes-using-the-chectl-command.adoc @@ -0,0 +1,61 @@ +// deploying-che-on-kubernetes-on-aws + +[id="installing-che-on-kubernetes-using-the-chectl-command_{context}"] += Installing Che on Kubernetes using the chectl command + +[discrete] +== Procedure + +To install Che: + +. Run the following command: ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ chectl server:start --platform=k8s --installer=helm --domain=aws.my-ide.cloud --multiuser --tls + ✔ ✈️ Kubernetes preflight checklist + ✔ Verify if kubectl is installed + ✔ Verify remote kubernetes status...done. + ✔ Verify domain is set...set to aws.my-ide.cloud. + ✔ 🏃‍ Running Helm to install Che + ✔ Verify if helm is installed + ✔ Check for TLS secret prerequisites...che-tls secret found. + ✔ Create Tiller Role Binding...it already exist. + ✔ Create Tiller Service Account...it already exist. + ✔ Create Tiller RBAC + ✔ Create Tiller Service...it already exist. + ✔ Preparing Che Helm Chart...done. + ✔ Updating Helm Chart dependencies...done. + ✔ Deploying Che Helm Chart...done. + ✔ ✅ Post installation checklist + ✔ PostgreSQL pod bootstrap + ✔ scheduling...done. + ✔ downloading images...done. + ✔ starting...done. + ✔ Keycloak pod bootstrap + ✔ scheduling...done. + ✔ downloading images...done. + ✔ starting...done. + ✔ Che pod bootstrap + ✔ scheduling...done. + ✔ downloading images...done. + ✔ starting...done. + ✔ Retrieving Che Server URL...https://che-che.aws.my-ide.cloud + ✔ Che status check +Command server:start has completed successfully. +-- + +. The certificate generated by Let’s Encrypt is a valid certificate. ++ +image::install/certificate-generate-lets-encrypt.png[link="{imagesdir}/install/certificate-generate-lets-encrypt.png"] ++ +image::install/eclipse-che-welcome-to-your-workspace.png[link="{imagesdir}/install/eclipse-che-welcome-to-your-workspace.png"] + +[discrete] +== Additional Resources + +* For installation of Che on the Google Cloud platform, see link:https://docs.google.com/document/d/1T5N7oB3XDgABAA9mebJWeTeDflKxq5NXDM1QI9mmQfE/edit#[Installing multi-user Che with TLS on Google Cloud Platform] guide. + +// TODO Fix those XREFS +* For installation of Che on Azure, see +link:https://docs.google.com/document/d/1WSB5VTS0sBask5lE0pyhH5Gp-8qC4xXr8NgckF0b0Z8/edit[Running Eclipse Che on Microsoft Azure]. diff --git a/src/main/pages/che-7/overview/proc_installing-che-on-openshift-4.adoc b/src/main/pages/che-7/overview/proc_installing-che-on-openshift-4.adoc new file mode 100644 index 0000000000..6a643a4b6a --- /dev/null +++ b/src/main/pages/che-7/overview/proc_installing-che-on-openshift-4.adoc @@ -0,0 +1,134 @@ +// installing-che-on-openshift-4-from-operatorhub + +[id="installing-che-on-openshift-4_{context}"] += Installing Che on OpenShift 4 + + +[discrete] +== Procedure + To install Che on OpenShift 4: + + . Create a project named *che* using the *Projects tab*. + . Click the *Create Project* button. + ++ +image::install/open-shift-create-project.png[link="{imagesdir}/install/open-shift-create-project.png"] + +. In the *Name* field, type che and click the btn:[Create] button. ++ +image::install/create-project-button.png[link="{imagesdir}/install/create-project-button.png"] + +. After the Che project is created, install the operator. In the left panel, expand *Catalog* and click *OperatorHub*. ++ +image::install/catalog-operatorhub.png[link="{imagesdir}/install/catalog-operatorhub.png"] + +. In the *Search by keyword* field, type _eclipse che_. ++ +image::install/eclipse-che-in-openshift-creation.png[link="{imagesdir}/install/eclipse-che-in-openshift-creation.png"] + +. Click *Eclipse Che*. ++ +image::install/select-eclipse-che-in-openshift.png[link="{imagesdir}/install/select-eclipse-che-in-openshift.png"] + +. Click the btn:[Install] button in the *Eclipse Che* pop-up window. ++ +image::install/install-eclipse-che-in-openshift.png[link="{imagesdir}/install/install-eclipse-che-in-openshift.png"] + +. In the *A specific namespace* in the cluster drop-down list, select *che*. Click the btn:[Subscribe] button. ++ +image::install/eclipse-che-create-operator-subscription.png[link="{imagesdir}/install/eclipse-che-create-operator-subscription.png"] ++ +The operator is successfully installed and is available in the *Installed Operators* section. ++ +image::install/eclipse-che-overview.png[link="{imagesdir}/install/eclipse-che-overview.png"] + +. Navigate to the *Catalog -> Installed Operators* section. ++ +image::install/eclipse-che-installed-operators.png[link="{imagesdir}/install/eclipse-che-installed-operators.png"] ++ +Eclipse Che is displayed as an installed operator having the InstallSucceeded status. + + . To deploy Che, click *Eclipse Che* in the list of installed operators. ++ +image::install/eclipse-che-overview-provided-apis.png[link="{imagesdir}/install/eclipse-che-overview-provided-apis.png"] + +. Click the *Create New* link in *Provided APIs* section. ++ +image::install/cc-eclipse-che-cluster.png[link="{imagesdir}/install/cc-eclipse-che-cluster.png"] + +. Leave the default values as they are and click the btn:[Create] button in the bottom-left corner of the window. ++ +image::install/create-che-cluster-intalled-operators.png[link="{imagesdir}/install/create-che-cluster-intalled-operators.png"] ++ +As a result, the Eclipse Che cluster is created. ++ +image::install/eclipse-che-cluster-create-che-cluster.png[link="{imagesdir}/install/eclipse-che-cluster-create-che-cluster.png"] + +. To track the deployment, click the *eclipse-che* cluster. ++ +image::install/eclipse-che-cluster-overview.png[link="{imagesdir}/install/eclipse-che-cluster-overview.png"] + +. Click the Resources tab. ++ +image::install/eclipse-che-resources-tab.png[link="{imagesdir}/install/eclipse-che-resources-tab.png"] ++ +The user can also track the deployment using the command line and these two commands. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ oc project che +$ oc get pods +NAME READY STATUS RESTARTS AGE +che-8495f4946b-jrzdc 0/1 Running 0 86s +che-operator-578765d954-99szg 1/1 Running 0 42m +keycloak-74fbfb9654-g9vp5 1/1 Running 0 4m32s +postgres-5d579c6847-w6wx5 1/1 Running 0 5m14s +-- + +. To view the che-operator logs, run the following command: ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ oc logs --tail=10 -f che-operator-578765d954-99szg +time="2019-07-12T09:48:29Z" level=info msg="Exec successfully completed" +time="2019-07-12T09:48:29Z" level=info msg="Updating eclipse-che CR with status: provisioned with OpenShift identity provider: true" +time="2019-07-12T09:48:29Z" level=info msg="Custom resource eclipse-che updated" +time="2019-07-12T09:48:29Z" level=info msg="Creating a new object: ConfigMap, name: che" +time="2019-07-12T09:48:29Z" level=info msg="Creating a new object: ConfigMap, name: custom" +time="2019-07-12T09:48:29Z" level=info msg="Creating a new object: Deployment, name: che" +time="2019-07-12T09:48:30Z" level=info msg="Updating eclipse-che CR with status: Che API: Unavailable" +time="2019-07-12T09:48:30Z" level=info msg="Custom resource eclipse-che updated" +time="2019-07-12T09:48:30Z" level=info msg="Waiting for deployment che. Default timeout: 420 seconds" +-- + +. To obtain the Eclipse Che URL, wait for the logs to show the following information. ++ +[literal,subs="+quotes",options="nowrap"] +-- +time="2019-07-12T09:50:13Z" level=info msg="Updating eclipse-che CR with Eclipse Che server URL: http://che-che.apps.cluster-fre-f0a2.fre-f0a2.openshiftworkshop.com" +time="2019-07-12T09:50:13Z" level=info msg="Custom resource eclipse-che updated" +time="2019-07-12T09:50:13Z" level=info msg="Eclipse Che is now available at: http://che-che.apps.cluster-fre-f0a2.fre-f0a2.openshiftworkshop.com" +time="2019-07-12T09:50:13Z" level=info msg="Updating eclipse-che CR with version: 7.0.0-RC-2.0" +-- ++ +The URL is also displayed in the Eclipse Che cluster on the *Installed Operators* window in the `ECLIPSE CHE URL` field. ++ +image::install/eclipse-che-url-filef-overview.png[link="{imagesdir}/install/eclipse-che-url-filef-overview.png"] + +. Click on the *Eclipse Che URL* link to display the Eclipse Che login page. ++ +image::install/eclipse-che-login-page.png[link="{imagesdir}/install/eclipse-che-login-page.png"] + +. To log in, use OpenShift OAuth or register as a new user. The user must grant permissions if using OAuth to log in to Eclipse Che. ++ +image::install/authorize-access-for-eclipse-che-openshift.png[link="{imagesdir}/install/authorize-access-for-eclipse-che-openshift.png"] + +. Update Account information ++ +image::install/update-account-information-eclipse-che.png[link="{imagesdir}/install/update-account-information-eclipse-che.png"] ++ +After the user is logged in, the Eclipse Che *Dashboard* displays where the user can create a workspace. ++ +image::install/eclipse-che-loading.png[link="{imagesdir}/install/eclipse-che-loading.png"] ++ +image::install/eclipse-che-loading.png[link="{imagesdir}/install/eclipse-che-loading.png"] diff --git a/src/main/pages/che-7/overview/proc_installing-che-on-openshift-using-the-operator-and-ssl.adoc b/src/main/pages/che-7/overview/proc_installing-che-on-openshift-using-the-operator-and-ssl.adoc new file mode 100644 index 0000000000..cc8432f3ff --- /dev/null +++ b/src/main/pages/che-7/overview/proc_installing-che-on-openshift-using-the-operator-and-ssl.adoc @@ -0,0 +1,57 @@ +// installing-che-on-openshift-3-using-the-operator + +[id="installing-che-on-openshift-using-the-operator-and-ssl_{context}"] += Installing Che on OpenShift using the Operator and SSL + + +[discrete] +== Prerequisites + +The installation of Che on OpenShift using the Operator and SSL requires the `--tls` option. + +[discrete] +== Procedure + +To install Che on OpenShift using the Operator and SSL: + +. Run this command. + +[literal,subs="+quotes",options="nowrap"] +-- + $ ./bin/run server:start --platform=openshift --installer=operator --domain=apps.rhpds311.openshift.opentlc.com --tls + ✔ ✈️ Openshift preflight checklist + ✔ Verify if oc is installed...done. + ✔ Verify if openshift is running...done. + ✔ Verify domain is set...set to apps.rhpds311.openshift.opentlc.com. + ✔ 🏃‍ Running the Che Operator + ✔ Copying operator resources...done. + ✔ Create Namespace (che)...done. + ✔ Create ServiceAccount che-operator in namespace che...done. + ✔ Create Role che-operator in namespace che...done. + ✔ Create RoleBinding che-operator in namespace che...done. + ✔ Create CRD checlusters.org.eclipse.che...It already exist. + ✔ Waiting 5 seconds for the new Kubernetes resources to get flushed...done. + ✔ Create deployment che-operator in namespace che...done. + ✔ Create Che Cluster eclipse-che in namespace che...done. + ✔ ✅ Post installation checklist + ✔ PostgreSQL pod bootstrap + ✔ scheduling...done. + ✔ downloading images...done. + ✔ starting...done. + ✔ Keycloak pod bootstrap + ✔ scheduling...done. + ✔ downloading images...done. + ✔ starting...done. + ✔ Che pod bootstrap + ✔ scheduling...done. + ✔ downloading images...done. + ✔ starting...done. + ✔ Retrieving Che Server URL...https://che-che.apps.rhpds311.openshift.opentlc.com + ✔ Che status check +Command server:start has completed successfully. +-- + +Here the link https://che-che.apps.rhpds311.openshift.opentlc.com is now prefixed with HTTPS and `Let’s encrypt` has created the certificates. + +.An example of Eclipse Che running on OpenShift v4.1 + SSL. +image::install/che-running-on-openshift-v4.png[link="{imagesdir}/install/che-running-on-openshift-v4.png"] diff --git a/src/main/pages/che-7/overview/proc_installing-che-on-openshift-using-the-operator.adoc b/src/main/pages/che-7/overview/proc_installing-che-on-openshift-using-the-operator.adoc new file mode 100644 index 0000000000..0347a61f8c --- /dev/null +++ b/src/main/pages/che-7/overview/proc_installing-che-on-openshift-using-the-operator.adoc @@ -0,0 +1,53 @@ +// installing-che-on-openshift-3-using-the-operator + +[id="installing-che-on-openshift-using-the-operator_{context}"] += Installing Che on OpenShift using the Operator + +[Discrete] +== Procedure + +To install Che on OpenShift using the Operator: + +. Create a new project called *che*. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ oc new-project che +-- + +. Invoke the *CLI*. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ chectl server:start --platform=openshift --installer=operator --domain=apps.rhpds311.openshift.opentlc.com + ✔ ✈️ Openshift preflight checklist + ✔ Verify if oc is installed...done. + ✔ Verify if openshift is running...done. + ✔ Verify domain is set...set to apps.rhpds311.openshift.opentlc.com. + ✔ 🏃‍ Running the Che Operator + ✔ Copying operator resources...done. + ✔ Create Namespace (che)...It already exist. + ✔ Create ServiceAccount che-operator in namespace che...done. + ✔ Create Role che-operator in namespace che...done. + ✔ Create RoleBinding che-operator in namespace che...done. + ✔ Create CRD checlusters.org.eclipse.che...done. + ✔ Waiting 5 seconds for the new Kubernetes resources to get flushed...done. + ✔ Create deployment che-operator in namespace che...done. + ✔ Create Che Cluster eclipse-che in namespace che...done. + ✔ ✅ Post installation checklist + ✔ PostgreSQL pod bootstrap + ✔ scheduling...done. + ✔ downloading images...done. + ✔ starting...done. + ✔ Keycloak pod bootstrap + ✔ scheduling...done. + ✔ downloading images...done. + ✔ starting...done. + ✔ Che pod bootstrap + ✔ scheduling...done. + ✔ downloading images...done. + ✔ starting...done. + ✔ Retrieving Che Server URL...http://che-che.apps.rhpds311.openshift.opentlc.com + ✔ Che status check +Command server:start has completed successfully. +-- diff --git a/src/main/pages/che-7/overview/proc_preparing-the-aws-system-for-installing-che.adoc b/src/main/pages/che-7/overview/proc_preparing-the-aws-system-for-installing-che.adoc new file mode 100644 index 0000000000..bd84417d38 --- /dev/null +++ b/src/main/pages/che-7/overview/proc_preparing-the-aws-system-for-installing-che.adoc @@ -0,0 +1,534 @@ +// deploying-che-on-kubernetes-on-aws + +[id="preparing-the-aws-system-for-installing-che_{context}"] += Preparing the AWS system for installing Che + +The following sections describe how to set up Kubernetes for Eclipse Che +on Amazon Elastic Compute Cloud (Amazon EC2). + +[discrete] +== Prerequisites + +* A running instance of Kubernetes and Ingress +* The `kubectl` tool installed +* The `chectl` tool installed + +[discrete] +== Installing Kubernetes on Amazon EC2 + +. Set up the AWS Command Line Interface (AWS CLI). For detailed +installation instructions, see +link:https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html[Installing the AWS CLI]. + +. Check the PATH environment variable if the aws command-line is not available. + +. Install Kubernetes on EC2. There are several ways to have a running +Kubernetes instance on EC2. Here, the *kops* tool is used to install +Kubernetes. For details, see +link:https://kubernetes.io/docs/setup/production-environment/tools/kops/[Installing Kubernetes with kops]. + +This document assumes that Eclipse Che must be configured to run at +link:http://che.aws.my-ide.cloud[Che AWS Cloud]. + +[discrete] +== Setting up DNS + +One way to set up Domain Name System (DNS) is to create the Amazon +Route53 to manage the `aws.my-ide.cloud` domain. + +To set up DNS: + +. Create the zone on AWS. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ aws route53 create-hosted-zone --name aws.my-ide.cloud +--caller-reference 1 + +\{ + + "Location": +"https://route53.amazonaws.com/2013-04-01/hostedzone/", + + "HostedZone": \{ + + "Id": "/hostedzone/", + + "Name": "aws.my-ide.cloud.", + + "CallerReference": "1", + + "Config": \{ + + "PrivateZone": false + + }, + + "ResourceRecordSetCount": 2 + + }, + + "ChangeInfo": \{ + + "Id": "/change/C1ZNLBU45DJUJL", + + "Status": "PENDING", + + "SubmittedAt": "2019-07-08T08:14:39.772Z" + + }, + + "DelegationSet": \{ + + "NameServers": [ + + "ns-1693.awsdns-19.co.uk", + + "ns-1133.awsdns-13.org", + + "ns-150.awsdns-18.com", + + "ns-965.awsdns-56.net" + + ] + + } + +} +-- + +. Configure the four DNS nameservers on the `my-ide.cloud` DNS. ++ +image::installation/dns-nameservers.png[] +. Create the Simple Storage Service (s3) storage to store the kops configuration. ++ +`$ aws s3 mb s3://clusters.aws.my-ide.cloud` ++ +`make_bucket: clusters.aws.my-ide.cloud` + +. Inform kops of this new service. ++ +export KOPS_STATE_STORE=s3://clusters.aws.my-ide.cloud + +. Create the kops cluster by providing the cluster zone. For example, +for Europe, the zone is `eu-west-1c`. ++ +`$ kops create cluster --zones=eu-west-1c eu.aws.my-ide.cloud` ++ +. Create the cluster. ++ +`$ kops update cluster eu.aws.my-ide.cloud --yes` ++ +. After the cluster is ready, validate it. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ kops validate cluster + +Using cluster from kubectl context: eu.aws.my-ide.cloud + +Validating cluster eu.aws.my-ide.cloud + +INSTANCE GROUPS +NAME ROLE MACHINETYPE MIN MAX SUBNETS +master-eu-west-1c Master m3.medium 1 1 eu-west-1c +nodes Node t2.medium 2 2 eu-west-1c + +NODE STATUS +NAME ROLE READY +ip-172-20-38-26.eu-west-1.compute.internal node True +ip-172-20-43-198.eu-west-1.compute.internal node True +ip-172-20-60-129.eu-west-1.compute.internal master True + +Your cluster eu.aws.my-ide.cloud is ready +-- + +. Check the cluster using the `kubectl` command. The kubectl context is also configured automatically by the kops tool. + +[literal,subs="+quotes",options="nowrap"] +-- +$ kubectl config current-context +eu.aws.my-ide.cloud + +$ kubectl get pods --all-namespaces + +All the pods in the running state are displayed. +-- + +[discrete] +== Installing Ingress-nginx + +To install Ingress-nginx: + +. Install the default configuration. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml +-- +. Install the configuration for AWS. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/aws/service-l4.yaml +$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/aws/patch-configmap-l4.yaml +-- ++ +The following output confirms that the Ingress controller is running. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ kubectl get pods --namespace ingress-nginx +NAME READY STATUS RESTARTS AGE +nginx-ingress-controller-76c86d76c4-gswmg 1/1 Running 0 9m3s +-- + +. Find the external IP of ingress-nginx. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ kubectl get services --namespace ingress-nginx -o jsonpath='{.items[].status.loadBalancer.ingress[0].hostname}' +Ade9c9f48b2cd11e9a28c0611bc28f24-1591254057.eu-west-1.elb.amazonaws.com +-- ++ +*Troubleshooting*: If the output is empty, it implies that the cluster has configuration issues. Use the following command to find the cause of the issue: ++ +`$ kubectl describe service -n ingress-nginx ingress-nginx` ++ +Output similar to the following means a needed role must be created manually: ++ +[literal,subs="+quotes",options="nowrap"] +-- +arn:aws:sts::269287474311:assumed-role...4bff is not authorized to perform: iam:CreateServiceLinkedRole on resource: arn:aws:iam::269287474311:role/aws-service-role/elasticloadbalancing.amazonaws.com/AWSServiceRoleForElasticLoadBalancing +-- ++ +Run the following command to create the role: ++ +[literal,subs="+quotes",options="nowrap"] +-- +aws iam create-service-linked-role --aws-service-name "elasticloadbalancing.amazonaws.com" +-- + +. Add hosts on route 53 with this given hostname +https://console.aws.amazon.com/route53/home?region=eu-west-1#hosted-zones: +. Create the wildcard DNS * (for *.aws-my-ide.cloud) with the previous hostname and ensure to add the dot(.) at the end of the hostname. In the `Type` drop-down list, select `CNAME`. ++ +image::install/create-record-set.png[link="{imagesdir}/install/create-record-set.png"] ++ +The following is an example resultant window after adding all the values. ++ +image::install/create-record-set-all-values.png[link="{imagesdir}/install/create-record-set-all-values.png"] ++ +The `che.aws.my-ide.cloud` must resolve to an IP address. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ host che.aws.my-ide.cloud +che.aws.my-ide.cloud is an alias for ade9c9f48b2cd11e9a28c0611bc28f24-1591254057.eu-west-1.elb.amazonaws.com. +ade9c9f48b2cd11e9a28c0611bc28f24-1591254057.eu-west-1.elb.amazonaws.com has address 54.77.155.195 +The user can install Eclipse Che on this existing Kubernetes instance. +-- + +[discrete] +== Enabling the TLS/DNS challenge + +To use the Cloud DNS and TLS, some service accounts must be enabled to have cert-manager managing the DNS challenge for Let’s Encrypt. + +. Create a new `permission` file. +. Use the following command to grab the zone ID. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ aws route53 list-hosted-zones +{ + "HostedZones": [ + { + "Id": "/hostedzone/ABCDEFGH", + "Name": "aws.my-ide.cloud.", + "CallerReference": "1", + "Config": { + "PrivateZone": false + }, + "ResourceRecordSetCount": 5 + } + ] +} +-- + +. Copy the following content and replace `INSERT_ZONE_ID` with the route 53 zone ID. ++ +[literal,subs="+quotes",options="nowrap"] +-- +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "route53:GetChange", + "route53:ListHostedZonesByName" + ], + "Resource": [ + "*" + ] + }, + { + "Effect": "Allow", +"Action": [ + "route53:ChangeResourceRecordSets" +], +"Resource": [ + "arn:aws:route53:::hostedzone/" +] +} +] +} +-- + +. In the *EC2 Dashboard*, identify the *IAM role* used by the master node. ++ +image::install/aws-lauch-Instance.png[link="{imagesdir}/install/aws-lauch-Instance.png"] ++ +It is located under the Description tab, in the IAM role field. ++ +image::install/describtion-tab-iam-role.png[link="{imagesdir}/install/describtion-tab-iam-role.png"] + +. Click on the *IAM role* link (`masters.eu.aws.my-ide.cloud`, in this case). ++ +image::install/aws-summary-iam-role.png[link="{imagesdir}/install/aws-summary-iam-role.png"] + +. Click the *Add inline policy* link at the bottom of the window. +. In the *Create policy* window, in the *JSON* tab, paste the content of the JSON file created earlier and click the *Review policy* button. ++ +image::install/aws-create-policy.png[link="{imagesdir}/install/aws-create-policy.png"] + +. In the *Name* field, type eclipse-che-route53 and click *Create Policy*. ++ +image::install/create-policy-review-policy.png[link="{imagesdir}/install/create-policy-review-policy.png"] + +[discrete] +== Installing cert-manager + +. To install cert-manager, run the following command (for details, see link:https://docs.cert-manager.io/en/latest/getting-started/install/kubernetes.html[Installing Cert on Kubernetes]): ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ kubectl create namespace cert-manager namespace/cert-manager created + +$ kubectl label namespace cert-manager certmanager.k8s.io/disable-validation=true +-- + +. Set `validate=false`. If set to `true`, it will only work with latest Kubernetes. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v0.8.1/cert-manager.yaml --validate=false +-- + +. Create the Che namespace if it does not already exist. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ kubectl create namespace che +namespace/che created +-- + +. Create the cert-manager user. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ aws iam create-user --user-name cert-manager +{ + "User": { + "Path": "/", + "UserName": "cert-manager", + "UserId": "ABCDEF", + "Arn": "arn:aws:iam::1234:user/cert-manager", + "CreateDate": "2019-07-30T13:50:48Z" + } +} +-- + +. Create the access key. ++ +[literal,subs="+quotes",options="nowrap"] +-- +{ + "AccessKey": { + "UserName": "cert-manager", + "AccessKeyId": "ABCDEF", + "Status": "Active", + "SecretAccessKey": "mySecret", + "CreateDate": "2019-07-30T13:52:59Z" + } +} +-- ++ +IMPORTANT: Remember the access key for later use. + +. Create a secret from the SecretAccessKey content. ++ +[literal,subs="+quotes",options="nowrap"] +-- +$ kubectl create secret generic aws-cert-manager-access-key --from-literal=CLIENT_SECRET= -n cert-manager +-- + +. Use the Add inline policy link to add the inline policy at link:https://console.aws.amazon.com/iam/home#/users/cert-manager[AWS Cert-Manager]. ++ +image::install/aws-summary-iam-role.png[link="{imagesdir}/install/aws-summary-iam-role.png"] + +. Paste the following inline policy in the *JSON* tab. ++ +[literal,subs="+quotes",options="nowrap"] +-- +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": "route53:GetChange", + "Resource": "arn:aws:route53:::change/*" + }, + { + "Effect": "Allow", + "Action": "route53:ChangeResourceRecordSets", + "Resource": "arn:aws:route53:::hostedzone/*" + }, + { + "Effect": "Allow", + "Action": "route53:ListHostedZonesByName", + "Resource": "*" + } + ] +} +-- + ++ +image::install/json-review-policy.png[link="{imagesdir}/install/json-review-policy.png"] + +. Click Review policy. ++ +image::install/create-policy-review.png[link="{imagesdir}/install/create-policy-review.png"] + +. In the *Name* field, type _route53_ and click *Create policy*. +. To create the certificate issuer, change the email address and specify the `accessKeyID`. ++ +[literal,subs="+quotes",options="nowrap"] +-- +cat < + secretAccessKeySecretRef: + name: aws-cert-manager-access-key + key: CLIENT_SECRET + name: route53 + email: florent@example.com + privateKeySecretRef: + name: letsencrypt + server: https://acme-v02.api.letsencrypt.org/directory +EOF +-- + +. And the certificate by editing the domain name value (`aws.my-ide.cloud`, in this case) and the `dnsName` value. ++ +[literal,subs="+quotes",options="nowrap"] +-- +cat < "True"; setting lastTransitionTime to 2019-07-29 13:56:26.140866531 +0000 UTC m=+4557.134131468 +-- + +. Ensure that the status is up-to-date using the following command: ++ +[literal,subs="+quotes",options="nowrap"] +-- +`$ kubectl describe certificate/che-tls -n che` + +Status: + Conditions: + Last Transition Time: 2019-07-30T14:48:07Z + Message: Certificate is up to date and has not expired + Reason: Ready + Status: True + Type: Ready + Not After: 2019-10-28T13:48:05Z +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal OrderCreated 5m29s cert-manager Created Order resource "che-tls-3365293372" + Normal OrderComplete 3m46s cert-manager Order "che-tls-3365293372" completed successfully + Normal CertIssued 3m45s cert-manager Certificate issued successfully +--