Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions cspell.config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ words:
- Coverity
- credrequests
- creds
- crossplane
- csanchez
- daniilnedostup
- dbchecker
Expand Down Expand Up @@ -118,6 +119,8 @@ words:
- hostedzone
- Hostnames
- hyperthreading
- hotspots
- Hotspots
- importcert
- ingresscontroller
- initdb
Expand Down Expand Up @@ -146,6 +149,7 @@ words:
- krci
- kubeadmin
- kubeconfig
- kubeadm
- kubelet
- kubelogin
- kuberocketci
Expand All @@ -166,6 +170,7 @@ words:
- multitenant
- multivalued
- mutatingwebhook
- mutatingwebhookconfigurations
- mykolamarusenko
- mypipe
- myuser
Expand Down Expand Up @@ -270,9 +275,11 @@ words:
- userinfo
- usermodel
- vacuumdb
- validatingwebhookconfigurations
- velero
- Veracode
- verion
- webhookconfigurations
- wafv
- waynesun
- wildfly
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed docs/assets/user-guide/pipelines/pipelines-tab.png
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed docs/assets/user-guide/pipelines/tasks-tab.png
Diff not rendered.
Binary file removed docs/assets/user-guide/portal/click-username.png
Diff not rendered.
Binary file removed docs/assets/user-guide/portal/cluster-tab.png
Diff not rendered.
Binary file removed docs/assets/user-guide/portal/community-button.png
Diff not rendered.
Diff not rendered.
Binary file removed docs/assets/user-guide/portal/general-tab.png
Diff not rendered.
Binary file removed docs/assets/user-guide/portal/kubeconfig-tab.png
Diff not rendered.
Diff not rendered.
Binary file removed docs/assets/user-guide/portal/user-info-tab.png
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
67 changes: 0 additions & 67 deletions docs/user-guide/add-ai-assistant.md

This file was deleted.

123 changes: 48 additions & 75 deletions docs/user-guide/add-application.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,81 +16,66 @@ description: "Master application creation in KubeRocketCI, from cloning reposito

KubeRocketCI portal allows you to create an application, clone an existing repository with the application to your Version Control System (VCS), or using an external repository and importing an application to the environment. When an application is created or cloned, the system automatically generates a corresponding repository within the integrated Version Control System. You can create an Application [in YAML](#create-application-in-yaml) or [via the two-step menu](#create-application-via-ui) in the dialog.

To add an application, navigate to the **Components** section on the navigation bar and click **+ Create component**:
The **Create Application** dialog contains four steps:

![Create new application](../assets/user-guide/components/components-create-new-codebase.png "Create new application")
* Initial Setup
* Git & Project Info
* Build Config
* Review

Once clicked, the **Create new component** dialog will appear, then select **Application** and click **Next**:

![Application info](../assets/user-guide/components/application/application-create-new-application.png "Application info")
To add an application, navigate to the **Projects** section on the navigation bar and click **+ Create Project**.

Choose one of the strategies and click **Create**:
## Initial Setup

![Select strategy](../assets/user-guide/components/components-select-strategy.png "Select strategy")
Once clicked, the **Create new project** dialog will appear. In this dialog, you can make a choice:

* **Create from template** – creates a project on the pattern in accordance with an application language, a build tool, and a framework. This strategy is recommended for projects that start developing their applications from scratch.
* **Select Ready Template** - this option allows you to select a preconfigured, ready-to-go application (e.g., Antora documentation or Echo server).
* **Custom Configuration** - this option allows you create any of the supported Project type. In this case, you should select **Application**.

* **Import project** - allows using existing VCS repository to integrate with KubeRocketCI. While importing the existing repository, select the Git server from the drop-down list and define the relative path to the repository, such as `epmd-edp/python-python-flask`.
Choose one of the strategies and click **Continue**:

:::note
In order to use the **Import project** strategy, make sure to adjust it with the [Integrate GitLab/GitHub in Tekton](../user-guide/add-git-server.md) page.
:::
* **Create** – creates a project on the pattern in accordance with an application language, a build tool, and a framework. This strategy is recommended for projects that start developing their applications from scratch.

* **Clone project** – clones the indicated repository into KubeRocketCI. While cloning the existing repository, it is required to fill in the **Repository URL** field and specify the credentials if needed:
* **Import** - allows using existing VCS repository to integrate with KubeRocketCI. While importing the existing repository, select the Git server from the drop-down list and define the relative path to the repository, such as `epmd-edp/python-python-flask`.

![Clone application](../assets/user-guide/components/application/application-clone-application.png "Clone application")
* **Clone** – clones the indicated repository into KubeRocketCI. While cloning the existing repository, it is required to fill in the **Repository URL** field and specify the credentials if needed:

## Create Application in YAML
## Git & Project Info

Click **Edit YAML** in the upper-right corner of the **Create Application** dialog to open the YAML editor and create the Application.
In our example, we will use the **Create** strategy:

![Edit YAML](../assets/user-guide/components/application/application-yaml-edit.png "Edit YAML")
Select all the settings that define how the application will be added to Git server:

To edit YAML in the minimal editor, turn on the **Use minimal editor** toggle in the upper-right corner of the **Create Application** dialog.
* **Git server** - the pre-configured server where the component will be hosted. Select one from the drop-down list. Please refer to the [Manage Git Servers](git-server-overview.md) page to learn how to create the one.
* **Git URL Path** - the relative path to the Git repository where codebase will be created (e.g., `epmd-edp` or `my-github-username`).
* **Project name** - the name of the application. Must be at least two characters using the lower-case letters, numbers and inner dashes.
* **Default Branch** - the default branch the Project will be created with. The default branch cannot be deleted.
* **Description** - brief and concise description that explains the purpose of the application.
* **Private** - by default, all the created Projects have private visibility settings in your Git account. Uncheck this option to create a public Git repository.
* **Empty project** - check this box to create an application with an empty repository. The empty repository option is available only for the **Create** strategy.

To save the changes, select the **Save & Apply** button.

## Create Application via UI
## Build Config

The **Create Application** dialog contains two steps:
Specify the application language and versioning properties:

* The Codebase Info Menu
* The Advanced Settings Menu
* **Code Language** - defines the code language with its supported frameworks:

### Codebase Info Menu
* Java – selecting a specific Java version (17, 21, and 25 are available; Java 8 and 11 have been deprecated starting from KubeRocketCI version 3.12).
* JavaScript - selecting JavaScript allows using React, Vue, Angular, Express, Next.js and Antora frameworks.
* Python - selecting Python allows using the Python v.3.8, FastAPI, Flask frameworks.
* Go - selecting Go allows using the Beego, Gin and Operator SDK frameworks.
* C# - selecting C# allows using the .Net v.3.1 and .Net v.6.0 frameworks.
* Helm - selecting Helm allows using the Helm framework.
* Other - selecting Other allows extending the default code languages when creating a codebase with the clone/import strategy.

Follow the instructions below to fill in the fields of the **Codebase Info** menu:

In our example, we will use the **Create from template** strategy:

![Create application](../assets/user-guide/components/application/application-create-application.png "Create application")

1. Select all the settings that define how the application will be added to Git server:

* **Git server** - the pre-configured server where the component will be hosted. Select one from the drop-down list. Please refer to the [Manage Git Servers](git-server-overview.md) page to learn how to create the one.
* **Repository name** - the relative path to the Git repository where codebase will be created (e.g., `epmd-edp/python-python-flask`).
* **Component name** - the name of the application. Must be at least two characters using the lower-case letters, numbers and inner dashes.
* **Description** - brief and concise description that explains the purpose of the application.
* **Empty project** - check this box to create an application with an empty repository. The empty repository option is available only for the **Create from template** strategy.

2. Specify the application language properties:

* **Application Code Language** - defines the code language with its supported frameworks:

* Java – selecting a specific Java version (17, 21, and 25 are available; Java 8 and 11 have been deprecated starting from KubeRocketCI version 3.12).
* JavaScript - selecting JavaScript allows using React, Vue, Angular, Express, Next.js and Antora frameworks.
* Python - selecting Python allows using the Python v.3.8, FastAPI, Flask frameworks.
* Go - selecting Go allows using the Beego, Gin and Operator SDK frameworks.
* C# - selecting C# allows using the .Net v.3.1 and .Net v.6.0 frameworks.
* Helm - selecting Helm allows using the Helm framework.
* Other - selecting Other allows extending the default code languages when creating a codebase with the clone/import strategy.

:::note
The **Create from template** strategy does not allow to customize the default code language set.
:::
:::note
The **Create from template** strategy does not allow to customize the default code language set.
:::

* **Language version/framework** - defines the specific framework or language version of the application. The field depends on the selected code language.
* **Select Build Tool** - allows to choose the build tool to use. A set tools and can be changed in accordance with the selected code language.
* **Build Tool** - allows to choose the build tool to use. A set tools and can be changed in accordance with the selected code language.

* Java - selecting Java allows using the Gradle or Maven tool.
* JavaScript - selecting JavaScript allows using the NPM or PNPM tool.
Expand All @@ -107,35 +92,21 @@ Follow the instructions below to fill in the fields of the **Codebase Info** men
Tekton pipelines offer built-in support for Java Maven Multi-Module projects. These pipelines are capable of recognizing Java deployable modules based on the information in the **pom.xml** file and performing relevant deployment actions. It's important to note that although the Dockerfile is typically located in the root directory, Kaniko, the tool used for building container images, uses the targets folder within the deployable module's context. For a clear illustration of a Multi-Module project structure, please refer to this [example](https://github.com/epmd-edp/java-maven-java17-multimodule.git) on GitHub, which showcases a commonly used structure for Java Maven Multi-Module projects.
:::

### Advanced Settings Menu

In the **Advanced Settings** menu, specify the branch options and define the Jira settings:

![Advanced settings](../assets/user-guide/components/application-specify-advanced-settings.png "Advanced settings")

* **Default branch** - the name of the branch where you want the development to be performed.

:::note
The default branch cannot be deleted.
:::

* **Deployment Options** - Select the deployment option available.
* **helm-chart**: Application will be deployed as a Helm chart using the Argo CD tool.
* **rpm-package**: Application will be deployed as an rpm package using the Ansible tool. For more details, please refer to the [Deploy RPM Packages](../operator-guide/cd/deploy-rpm.md) page.

* **Codebase versioning type** - defines how will the application tag be changed once the new image version is built. There are two versioning types:
* **default**: Using the `default` versioning type, in order to specify the version of the current artifacts, images, and tags in the Version Control System, a developer should navigate to the corresponding file and change the version **manually**.
* **semver**: Using the `semver` versioning type, a developer indicates the version number from which all the artifacts will be versioned and, as a result, **automatically** registered in the corresponding file (e.g. pom.xml). When selecting the `semver` versioning type, the extra fields will appear, type the version number from which you want the artifacts to be versioned:

![Semver versioning](../assets/user-guide/components/components-edp-versioning.png "Semver versioning")

:::note
The **Start Version From** field should be filled out in compliance with the semantic versioning rules, e.g. 1.2.3 or 10.10.10. Please refer to the [Semantic Versioning](https://semver.org/) page for details.
:::

* **Specify the pattern to validate a commit message** - the regular expression used to indicate the pattern that is followed on the project to validate a commit message in the code review pipeline. An example of the pattern: `^[PROJECT_NAME-d{4}]:.*$`.
* **Deployment Options** - select the deployment option available.
* **helm-chart**: Application will be deployed as a Helm chart using the Argo CD tool.
* **rpm-package**: Application will be deployed as an rpm package using the Ansible tool. For more details, please refer to the [Deploy RPM Packages](../operator-guide/cd/deploy-rpm.md) page.

![JIRA integration](../assets/user-guide/components/components-jira-server.png "JIRA integration")
* **CI Pipelines** - select the available CI pipelines provider. Tekton is used by default.

* **Specify the pattern to validate a commit message** - the regular expression used to indicate the pattern that is followed on the project to validate a commit message in the code review pipeline. An example of the pattern: `^[PROJECT_NAME-d{4}]:.*$`.

* **Integrate with Jira server** - this check box is used in case it is required to connect Jira tickets with the commits
and have a respective label in the **Fix Version** field.
Expand All @@ -148,7 +119,6 @@ and have a respective label in the **Fix Version** field.

* **Specify the pattern to find a Jira ticket number in a commit message** - based on this pattern, the value from KubeRocketCI will be displayed in Jira.

![Mapping field name](../assets/user-guide/components/components-jira-advanced-mapping.png "Mapping fields")

* **Mapping field name** - the section where the additional Jira fields are specified the names of the Jira fields that should be filled in with attributes from KubeRocketCI:

Expand All @@ -164,7 +134,10 @@ and have a respective label in the **Fix Version** field.

* Click the bin icon to remove the Jira field name.

Click the **Create** button to add the application to the Components list.

## Review and Create

The **Review an Create** window allows to ensure the application configuration suits your needs and verify you entered specifications correctly.

:::note
After the complete adding of the application, inspect the [Manage Applications](application.md) page to learn how you can operate applications.
Expand Down
Loading
Loading