kfp.json 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. {
  2. "$schema": "https://raw.githubusercontent.com/elyra-ai/elyra/main/elyra/metadata/schemas/meta-schema.json",
  3. "$id": "https://raw.githubusercontent.com/elyra-ai/elyra/main/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/latest/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. "ui: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. "ui: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. "category": "Kubeflow Pipelines"
  84. }
  85. },
  86. "auth_type": {
  87. "title": "Authentication Type",
  88. "description": "Authentication type Elyra uses to authenticate with Kubeflow",
  89. "type": "string",
  90. "enum": ["{AUTH_PROVIDER_PLACEHOLDERS}"],
  91. "default": "{DEFAULT_AUTH_PROVIDER_PLACEHOLDER}",
  92. "uihints": {
  93. "category": "Kubeflow Pipelines"
  94. }
  95. },
  96. "api_username": {
  97. "title": "Kubeflow Pipelines API Endpoint Username",
  98. "description": "The Kubeflow Pipelines API endpoint username. This property is required for all authentication types, except NO_AUTHENTICATION and KUBERNETES_SERVICE_ACCOUNT_TOKEN.",
  99. "type": "string",
  100. "uihints": {
  101. "category": "Kubeflow Pipelines"
  102. }
  103. },
  104. "api_password": {
  105. "title": "Kubeflow Pipelines API Endpoint Password",
  106. "description": "Password for the specified username. This property is required for all authentication types, except NO_AUTHENTICATION and KUBERNETES_SERVICE_ACCOUNT_TOKEN.",
  107. "type": "string",
  108. "uihints": {
  109. "ui:field": "password",
  110. "category": "Kubeflow Pipelines"
  111. }
  112. },
  113. "cos_endpoint": {
  114. "title": "Cloud Object Storage Endpoint",
  115. "description": "The Cloud Object Storage endpoint",
  116. "type": "string",
  117. "format": "uri",
  118. "uihints": {
  119. "category": "Cloud Object Storage",
  120. "ui:placeholder": "https://your-cos-service:port"
  121. }
  122. },
  123. "public_cos_endpoint": {
  124. "title": "Public Cloud Object Storage Endpoint",
  125. "description": "The public Cloud Object Storage endpoint",
  126. "type": "string",
  127. "format": "uri",
  128. "uihints": {
  129. "category": "Cloud Object Storage",
  130. "ui:placeholder": "https://your-public-cos-endpoint:port"
  131. }
  132. },
  133. "cos_bucket": {
  134. "title": "Cloud Object Storage Bucket Name",
  135. "description": "The Cloud Object Storage bucket name",
  136. "type": "string",
  137. "pattern": "^[a-z0-9][a-z0-9-.]*[a-z0-9]$",
  138. "minLength": 3,
  139. "maxLength": 222,
  140. "uihints": {
  141. "category": "Cloud Object Storage"
  142. }
  143. },
  144. "cos_auth_type": {
  145. "title": "Cloud Object Storage Authentication Type",
  146. "description": "Authentication type Elyra uses to authenticate with Cloud Object Storage",
  147. "type": "string",
  148. "enum": [
  149. "AWS_IAM_ROLES_FOR_SERVICE_ACCOUNTS",
  150. "KUBERNETES_SECRET",
  151. "USER_CREDENTIALS"
  152. ],
  153. "default": "USER_CREDENTIALS",
  154. "uihints": {
  155. "category": "Cloud Object Storage"
  156. }
  157. },
  158. "cos_secret": {
  159. "title": "Cloud Object Storage Credentials Secret",
  160. "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.",
  161. "type": "string",
  162. "uihints": {
  163. "ui:field": "password",
  164. "category": "Cloud Object Storage"
  165. }
  166. },
  167. "cos_username": {
  168. "title": "Cloud Object Storage Username",
  169. "description": "The Cloud Object Storage username. This property is required for authentication type USER_CREDENTIALS and KUBERNETES_SECRET.",
  170. "type": "string",
  171. "uihints": {
  172. "category": "Cloud Object Storage"
  173. }
  174. },
  175. "cos_password": {
  176. "title": "Cloud Object Storage Password",
  177. "description": "The Cloud Object Storage password. This property is required for authentication type USER_CREDENTIALS and KUBERNETES_SECRET.",
  178. "type": "string",
  179. "minLength": 8,
  180. "uihints": {
  181. "ui:field": "password",
  182. "category": "Cloud Object Storage"
  183. }
  184. },
  185. "tags": {
  186. "title": "Tags",
  187. "description": "Tags for categorizing Kubeflow pipelines",
  188. "uniqueItems": true,
  189. "type": "array",
  190. "items": {
  191. "minLength": 1,
  192. "pattern": "^[^ \t]+([ \t]+[^ \t]+)*$"
  193. },
  194. "uihints": {
  195. "ui:field": "tags"
  196. }
  197. }
  198. },
  199. "required": [
  200. "api_endpoint",
  201. "cos_auth_type",
  202. "cos_endpoint",
  203. "cos_bucket"
  204. ]
  205. }
  206. },
  207. "required": ["schema_name", "display_name", "metadata"]
  208. }