You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please visit the contributing guide for the documentation available at [Jenkins X website](https://jenkins-x.io/docs/contributing/)
3
+
Please visit the contributing guide for the documentation available at [Jenkins X website](https://jenkins-x.io/docs/contributing/).
4
+
5
+
In order to see local changes to the navigation applied please restart your local hugo preview server since hugo does not reload all metadata on-the-fly.
Copy file name to clipboardExpand all lines: content/en/docs/resources/guides/extending-jx/introduction.md
+30-1
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Introduction
3
3
linktitle: Apps Framework
4
4
description: Extending Jenkins X using the Apps Framework
5
5
type: docs
6
-
weight: 1
6
+
weight: 12
7
7
aliases:
8
8
- /docs/contributing/addons/
9
9
- /docs/guides/extending-jx/introduction/
@@ -57,6 +57,35 @@ Planned features include:
57
57
*`jx get apps` - the ability to list all apps that can be installed
58
58
* integration for bash completion
59
59
60
+
## Structure of an App chart
61
+
62
+
In addition to the structure of a regular helm chart a Jenkins X App chart contains the following:
63
+
*`values.schema.yaml`: a JSON schema extended with conditions, field values and questions that is used to point out and prompt the user for customizable values the app should be installed with.
64
+
*`templates/app.yaml`: a Jenkins X `App` custom resource: allows to define a `values.schema.yaml` transformation which can be used to inject cluster-specific values as for instance its domain and TLS settings (which can be obtained by mounting the ConfigMap `ingress-config`).
65
+
66
+
When `jx add app` is called the corresponding helm chart is fetched, its `values.schema.yaml` transformed using the `App` resource and the user prompted for the contained questions (non-const fields).
67
+
From the user's answers a `values.yaml` is generated and used to install the chart.
68
+
69
+
## How to test local App chart changes
70
+
71
+
You can build your app chart locally, upload it in your cluster's chart repository and call `jx add app` referencing your uploaded chart.
72
+
This can be done as follows from within your chart's directory:
73
+
```
74
+
CHART_NAME=<YOUR_APP_NAME>
75
+
CHART_VERSION=<YOUR_APP_VERSION>
76
+
CHART_REPO=<YOUR_CHART_REPO_URL> # listed by `jx get urls`
77
+
CHART_REPO_USR=<YOUR_USERNAME>
78
+
CHART_REPO_PSW=<YOUR_PASSWORD>
79
+
helm init --client-only
80
+
helm repo add <DEP_REPO_NAME> <DEP_REPO_URL> # required if dependencies need to be loaded
81
+
helm dependency build
82
+
sed "s/version: .*/version: $CHART_VERSION/g" -i Chart.yaml # set the app's current version
0 commit comments