The ALIYUN::CS::ClusterHelmApplication type is used to deploy an application using Helm.
Syntax
{
"Type": "ALIYUN::CS::ClusterHelmApplication",
"Properties": {
"ChartValues": Map,
"ClusterId": String,
"ChartUrl": String,
"Namespace": String,
"Name": String,
"Credential": Map,
"RolePolicy": String,
"WaitUntil": List,
"ValidationMode": String,
"NamespaceDeletion": Boolean,
"IgnoreExisting": String
}
}Properties
Property | Type | Required | Allow updates | Description | Constraint |
ChartUrl | String | Yes | Yes | The URL of the chart. | None. |
ClusterId | String | Yes | No | The cluster ID. | None. |
Name | String | Yes | No | The name of the chart. | None. |
ChartValues | Map | No | Yes | The custom values of the chart. | None. |
Credential | Map | No | No | The access credential. | None. |
Namespace | String | No | No | The namespace of Helm. | None. |
RolePolicy | String | No | Yes | The policy that is associated with the role of the current user. | Before you deploy the application, check the policies that are attached to the role of the current user. Valid values:
|
ValidationMode | String | No | No | The validation mode. | Valid values:
|
WaitUntil | List | No | Yes | After you start to create or update the application, the system waits until all specified conditions are met. | For more information, see WaitUntil properties. |
NamespaceDeletion | Boolean | No | Yes | Specifies whether to delete the namespace specified by DefaultNamespace. | If DefaultNamespace is set to `default`, `kube-node-lease`, `kube-public`, `kube-system`, or `arms-prom`, the namespace is not deleted, regardless of the value of NamespaceDeletion. |
IgnoreExisting | String | No | No | Specifies how to handle an existing Helm application. | Valid values:
|
Credential syntax
"Credential": [
{
"Password": String,
"UserName": String
}
]Credential properties
Property | Type | Required | Allow updates | Description | Constraint |
Password | String | Yes | No | The password. | None. |
UserName | String | Yes | No | The username. | None. |
WaitUntil syntax
"WaitUntil": [
{
"ApiVersion": String,
"FirstMatch": Boolean,
"Timeout": Integer,
"JsonPath": String,
"Namespace": String,
"Stage": String,
"Name": String,
"ValueType": String,
"Kind": String,
"Value": String,
"Operator": String
}
]WaitUntil properties
Property | Type | Required | Enabling updates | Description | Constraint |
Kind | String | Yes | Yes | The type of the Kubernetes resource to query. | None. |
Name | String | Yes | Yes | The name of the Kubernetes resource to query. | None. |
Operator | String | Yes | Yes | The operator to compare the value with the result of the JSONPath expression. | None. |
ApiVersion | String | No | Yes | The API version. | None. |
FirstMatch | Boolean | No | Yes | Specifies whether to return only the first matched result from the results filtered by the JSONPath expression. | Valid values:
|
JsonPath | String | No | Yes | The JSONPath expression to filter results. | None. |
Namespace | String | No | Yes | The Kubernetes namespace where the resource resides. | Default value: DefaultNamespace. |
Stage | String | No | No | The stage at which the system waits. | Valid values:
|
Timeout | Integer | No | Yes | The timeout period for the conditions to be met. | Unit: seconds. |
Value | String | No | Yes | The value to compare with the result of the JSONPath expression. | None. |
ValueType | String | No | Yes | The type of the value. | Default value: String. |
Return values
Fn::GetAtt
ClusterId: The cluster ID.
WaitUntilData: The list of values returned for the JSONPath expressions in WaitUntil.
Examples
Use the following templates to deploy Knative, the Kourier service gateway, and the KServe component with one click using Resource Orchestration Service (ROS). For more information about one-click deployment in Container Service for Kubernetes (ACK), see Deploy and manage Knative components.
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
DBClusterId:
Type: String
Label:
en: Cluster ID
AssociationProperty: ALIYUN::CS::Cluster::ClusterId
Resources:
HelmOfKnativeKourier:
Type: ALIYUN::CS::ClusterHelmApplication
Properties:
ClusterId:
Ref: DBClusterId
ChartUrl: https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-knative-kourier-1.4.0.tgz
Name: knative-kourier
Namespace: knative-serving
ChartValues:
version: v1.10.9-aliyun.1
regionID:
Ref: ALIYUN::Region
HelmOfKnativeServing:
Type: ALIYUN::CS::ClusterHelmApplication
Properties:
ClusterId:
Ref: DBClusterId
ChartUrl: https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-knative-serving-v1.10.9-aliyun.1.tgz
Name: knative-serving
Namespace: knative-serving
ChartValues:
version: v1.10.9-aliyun.1
regionID:
Ref: ALIYUN::Region
DependsOn: HelmOfKnativeKourier
HelmOfKnativeKserve:
Type: ALIYUN::CS::ClusterHelmApplication
Properties:
ClusterId:
Ref: DBClusterId
ChartUrl: https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-knative-kserve-v0.10.1.tgz
Name: knative-kserve
Namespace: kserve
ChartValues:
version: v1.10.9-aliyun.1
regionID:
Ref: ALIYUN::Region
DependsOn: HelmOfKnativeServing{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"DBClusterId": {
"Type": "String",
"Label": {
"en": "Cluster ID"
},
"AssociationProperty": "ALIYUN::CS::Cluster::ClusterId"
}
},
"Resources": {
"HelmOfKnativeKourier": {
"Type": "ALIYUN::CS::ClusterHelmApplication",
"Properties": {
"ClusterId": {
"Ref": "DBClusterId"
},
"ChartUrl": "https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-knative-kourier-1.4.0.tgz",
"Name": "knative-kourier",
"Namespace": "knative-serving",
"ChartValues": {
"version": "v1.10.9-aliyun.1",
"regionID": {
"Ref": "ALIYUN::Region"
}
}
}
},
"HelmOfKnativeServing": {
"Type": "ALIYUN::CS::ClusterHelmApplication",
"Properties": {
"ClusterId": {
"Ref": "DBClusterId"
},
"ChartUrl": "https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-knative-serving-v1.10.9-aliyun.1.tgz",
"Name": "knative-serving",
"Namespace": "knative-serving",
"ChartValues": {
"version": "v1.10.9-aliyun.1",
"regionID": {
"Ref": "ALIYUN::Region"
}
}
},
"DependsOn": "HelmOfKnativeKourier"
},
"HelmOfKnativeKserve": {
"Type": "ALIYUN::CS::ClusterHelmApplication",
"Properties": {
"ClusterId": {
"Ref": "DBClusterId"
},
"ChartUrl": "https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ack-knative-kserve-v0.10.1.tgz",
"Name": "knative-kserve",
"Namespace": "kserve",
"ChartValues": {
"version": "v1.10.9-aliyun.1",
"regionID": {
"Ref": "ALIYUN::Region"
}
}
},
"DependsOn": "HelmOfKnativeServing"
}
}
}