airflow.json 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  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/airflow.json",
  4. "title": "Apache Airflow",
  5. "name": "airflow",
  6. "schemaspace": "runtimes",
  7. "schemaspace_id": "130b8e00-de7c-4b32-b553-b4a52824a3b5",
  8. "metadata_class_name": "elyra.pipeline.airflow.airflow_metadata.AirflowMetadata",
  9. "runtime_type": "APACHE_AIRFLOW",
  10. "uihints": {
  11. "title": "Apache Airflow 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": "airflow"
  21. },
  22. "display_name": {
  23. "title": "Display Name",
  24. "description": "Display name of this Apache Airflow 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": "APACHE_AIRFLOW",
  37. "uihints": {
  38. "hidden": true
  39. }
  40. },
  41. "description": {
  42. "title": "Description",
  43. "description": "Description of this Apache Airflow configuration",
  44. "type": "string"
  45. },
  46. "api_endpoint": {
  47. "title": "Apache Airflow UI Endpoint",
  48. "description": "The Apache Airflow UI endpoint",
  49. "type": "string",
  50. "format": "uri",
  51. "uihints": {
  52. "category": "Apache Airflow",
  53. "placeholder": "https://your-airflow-webserver:port"
  54. }
  55. },
  56. "user_namespace": {
  57. "title": "Apache Airflow User Namespace",
  58. "description": "The Apache Airflow user namespace used to run DAG workflows",
  59. "type": "string",
  60. "pattern": "^[a-z0-9][-a-z0-9]*[a-z0-9]$",
  61. "maxLength": 63,
  62. "default": "default",
  63. "uihints": {
  64. "category": "Apache Airflow"
  65. }
  66. },
  67. "git_type": {
  68. "title": "Git type",
  69. "description": "Git provider",
  70. "type": "string",
  71. "enum": ["{GIT_TYPES_PLACEHOLDER}"],
  72. "default": "{GIT_DEFAULT_TYPE_PLACEHOLDER}",
  73. "uihints": {
  74. "field_type": "dropdown",
  75. "category": "Apache Airflow"
  76. }
  77. },
  78. "github_api_endpoint": {
  79. "title": "GitHub or GitLab server API Endpoint",
  80. "description": "The GitHub or GitLab server URL / API endpoint - Public or Enterprise",
  81. "type": "string",
  82. "format": "uri",
  83. "default": "https://api.github.com",
  84. "uihints": {
  85. "category": "Apache Airflow",
  86. "placeholder": "https://your-github-or-gitlab-endpoint"
  87. }
  88. },
  89. "github_repo": {
  90. "title": "GitHub or GitLab DAG Repository",
  91. "description": "Existing repository where DAGs are stored",
  92. "type": "string",
  93. "uihints": {
  94. "category": "Apache Airflow",
  95. "placeholder": "user-or-org/dag-repo-name"
  96. }
  97. },
  98. "github_branch": {
  99. "title": "GitHub or GitLab DAG Repository Branch",
  100. "description": "Existing branch in the repository where DAGs are stored",
  101. "type": "string",
  102. "uihints": {
  103. "category": "Apache Airflow"
  104. }
  105. },
  106. "github_repo_token": {
  107. "title": "Personal Access Token",
  108. "description": "Token that has permission to push to the DAG repository",
  109. "type": "string",
  110. "uihints": {
  111. "secure": true,
  112. "category": "Apache Airflow"
  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 Apache Airflow",
  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_endpoint",
  198. "cos_auth_type",
  199. "cos_bucket",
  200. "github_api_endpoint",
  201. "github_branch",
  202. "github_repo_token",
  203. "github_repo"
  204. ]
  205. }
  206. },
  207. "required": ["schema_name", "display_name", "metadata"]
  208. }