kfp.json 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. {
  2. "$schema": "https://raw.githubusercontent.com/elyra-ai/elyra/master/elyra/metadata/schemas/meta-schema.json",
  3. "$id": "https://raw.githubusercontent.com/elyra-ai/elyra/master/elyra/metadata/schemas/kfp.json",
  4. "title": "Kubeflow Pipelines",
  5. "name": "kfp",
  6. "schemaspace": "runtimes",
  7. "schemaspace_id": "130b8e00-de7c-4b32-b553-b4a52824a3b5",
  8. "metadata_class_name": "elyra.pipeline.kfp.kfp_metadata.KfpMetadata",
  9. "runtime_type": "KUBEFLOW_PIPELINES",
  10. "uihints": {
  11. "title": "Kubeflow Pipelines runtimes",
  12. "icon": "elyra:runtimes",
  13. "reference_url": "https://elyra.readthedocs.io/en/v3.8.0/user_guide/runtime-conf.html"
  14. },
  15. "properties": {
  16. "schema_name": {
  17. "title": "Schema Name",
  18. "description": "The schema associated with this instance",
  19. "type": "string",
  20. "const": "kfp"
  21. },
  22. "display_name": {
  23. "title": "Display Name",
  24. "description": "Display name of this Kubeflow Pipelines configuration",
  25. "type": "string",
  26. "minLength": 1
  27. },
  28. "metadata": {
  29. "description": "Additional data specific to this metadata",
  30. "type": "object",
  31. "properties": {
  32. "runtime_type": {
  33. "title": "Runtime Type",
  34. "description": "The runtime associated with this instance",
  35. "type": "string",
  36. "const": "KUBEFLOW_PIPELINES",
  37. "uihints": {
  38. "hidden": true
  39. }
  40. },
  41. "description": {
  42. "title": "Description",
  43. "description": "Description of this Kubeflow Pipelines configuration",
  44. "type": "string"
  45. },
  46. "api_endpoint": {
  47. "title": "Kubeflow Pipelines API Endpoint",
  48. "description": "The Kubeflow Pipelines API endpoint",
  49. "type": "string",
  50. "format": "uri",
  51. "uihints": {
  52. "category": "Kubeflow Pipelines",
  53. "placeholder": "https://your-kubeflow-service:port/pipeline"
  54. }
  55. },
  56. "public_api_endpoint": {
  57. "title": "Public Kubeflow Pipelines API Endpoint",
  58. "description": "The public Kubeflow Pipelines API endpoint",
  59. "type": "string",
  60. "format": "uri",
  61. "uihints": {
  62. "category": "Kubeflow Pipelines",
  63. "placeholder": "https://your-kubeflow-service:port/pipeline"
  64. }
  65. },
  66. "user_namespace": {
  67. "title": "Kubeflow Pipelines User Namespace",
  68. "description": "The Kubeflow Pipelines user namespace used to create experiments",
  69. "type": "string",
  70. "pattern": "^[a-z0-9][-a-z0-9]*[a-z0-9]$",
  71. "maxLength": 63,
  72. "uihints": {
  73. "category": "Kubeflow Pipelines"
  74. }
  75. },
  76. "engine": {
  77. "title": "Kubeflow Pipelines engine",
  78. "description": "The Kubeflow Pipelines engine in use",
  79. "type": "string",
  80. "enum": ["Argo", "Tekton"],
  81. "default": "Argo",
  82. "uihints": {
  83. "field_type": "dropdown",
  84. "category": "Kubeflow Pipelines"
  85. }
  86. },
  87. "auth_type": {
  88. "title": "Authentication Type",
  89. "description": "Authentication type Elyra uses to authenticate with Kubeflow",
  90. "type": "string",
  91. "enum": ["{AUTH_PROVIDER_PLACEHOLDERS}"],
  92. "default": "{DEFAULT_AUTH_PROVIDER_PLACEHOLDER}",
  93. "uihints": {
  94. "field_type": "dropdown",
  95. "category": "Kubeflow Pipelines"
  96. }
  97. },
  98. "api_username": {
  99. "title": "Kubeflow Pipelines API Endpoint Username",
  100. "description": "The Kubeflow Pipelines API endpoint username. This property is required for all authentication types, except NO_AUTHENTICATION and KUBERNETES_SERVICE_ACCOUNT_TOKEN.",
  101. "type": "string",
  102. "uihints": {
  103. "category": "Kubeflow Pipelines"
  104. }
  105. },
  106. "api_password": {
  107. "title": "Kubeflow Pipelines API Endpoint Password",
  108. "description": "Password for the specified username. This property is required for all authentication types, except NO_AUTHENTICATION and KUBERNETES_SERVICE_ACCOUNT_TOKEN.",
  109. "type": "string",
  110. "uihints": {
  111. "secure": true,
  112. "category": "Kubeflow Pipelines"
  113. }
  114. },
  115. "cos_endpoint": {
  116. "title": "Cloud Object Storage Endpoint",
  117. "description": "The Cloud Object Storage endpoint",
  118. "type": "string",
  119. "format": "uri",
  120. "uihints": {
  121. "category": "Cloud Object Storage",
  122. "placeholder": "https://your-cos-service:port"
  123. }
  124. },
  125. "cos_bucket": {
  126. "title": "Cloud Object Storage Bucket Name",
  127. "description": "The Cloud Object Storage bucket name",
  128. "type": "string",
  129. "pattern": "^[a-z0-9][a-z0-9-.]*[a-z0-9]$",
  130. "minLength": 3,
  131. "maxLength": 222,
  132. "uihints": {
  133. "category": "Cloud Object Storage"
  134. }
  135. },
  136. "cos_auth_type": {
  137. "title": "Cloud Object Storage Authentication Type",
  138. "description": "Authentication type Elyra uses to authenticate with Cloud Object Storage",
  139. "type": "string",
  140. "enum": [
  141. "AWS_IAM_ROLES_FOR_SERVICE_ACCOUNTS",
  142. "KUBERNETES_SECRET",
  143. "USER_CREDENTIALS"
  144. ],
  145. "default": "USER_CREDENTIALS",
  146. "uihints": {
  147. "field_type": "dropdown",
  148. "category": "Cloud Object Storage"
  149. }
  150. },
  151. "cos_secret": {
  152. "title": "Cloud Object Storage Credentials Secret",
  153. "description": "Kubernetes secret that's defined in the specified user namespace, containing the Cloud Object Storage username and password. This property is required for authentication type KUBERNETES_SECRET.",
  154. "type": "string",
  155. "uihints": {
  156. "secure": true,
  157. "category": "Cloud Object Storage"
  158. }
  159. },
  160. "cos_username": {
  161. "title": "Cloud Object Storage Username",
  162. "description": "The Cloud Object Storage username. This property is required for authentication type USER_CREDENTIALS and KUBERNETES_SECRET.",
  163. "type": "string",
  164. "uihints": {
  165. "category": "Cloud Object Storage"
  166. }
  167. },
  168. "cos_password": {
  169. "title": "Cloud Object Storage Password",
  170. "description": "The Cloud Object Storage password. This property is required for authentication type USER_CREDENTIALS and KUBERNETES_SECRET.",
  171. "type": "string",
  172. "minLength": 8,
  173. "uihints": {
  174. "secure": true,
  175. "category": "Cloud Object Storage"
  176. }
  177. },
  178. "tags": {
  179. "title": "Tags",
  180. "description": "Tags for categorizing Kubeflow pipelines",
  181. "uniqueItems": true,
  182. "type": "array",
  183. "items": {
  184. "allOf": [
  185. { "minLength": 1 },
  186. { "pattern": "^[^ \t]+" },
  187. { "pattern": "[^ \t]+$" }
  188. ]
  189. },
  190. "uihints": {
  191. "field_type": "tags"
  192. }
  193. }
  194. },
  195. "required": [
  196. "api_endpoint",
  197. "cos_auth_type",
  198. "cos_endpoint",
  199. "cos_bucket"
  200. ]
  201. }
  202. },
  203. "required": ["schema_name", "display_name", "metadata"]
  204. }