From 0bfd6e856d68c2ccd56cb5c803ec983b81c5d257 Mon Sep 17 00:00:00 2001 From: gitea_admin Date: Mon, 12 Oct 2026 02:41:04 +0000 Subject: [PATCH] Add component definition: kubernetes-cronjob --- component.json | 668 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 668 insertions(+) create mode 100644 component.json diff --git a/component.json b/component.json new file mode 100644 index 0000000..af197cf --- /dev/null +++ b/component.json @@ -0,0 +1,668 @@ +{ + "component": { + "kind": "component", + "name": "kubernetes-cronjob", + "title": "Kubernetes Cronjob", + "description": "Perform operations on Kubernetes CronJob.", + "deprecated": false, + "firstVersion": "1.0.0", + "label": "container,cloud", + "javaType": "org.apache.camel.component.kubernetes.cronjob.KubernetesCronJobComponent", + "supportLevel": "Stable", + "nativeSupported": true, + "metadata": { + "quarkusVersion": "3.36.0", + "camelArtifact": "org.apache.camel:camel-kubernetes", + "camelVersion": "4.20.0" + }, + "groupId": "org.apache.camel.quarkus", + "artifactId": "camel-quarkus-kubernetes", + "version": "4.20.0 (CEQ 3.36.0)", + "scheme": "kubernetes-cronjob", + "extendsScheme": "", + "syntax": "kubernetes-cronjob:masterUrl", + "async": false, + "api": false, + "consumerOnly": false, + "producerOnly": true, + "lenientProperties": false, + "browsable": false, + "remote": true + }, + "componentProperties": { + "kubernetesClient": { + "index": 0, + "kind": "property", + "displayName": "Kubernetes Client", + "group": "producer", + "label": "", + "required": false, + "type": "object", + "javaType": "io.fabric8.kubernetes.client.KubernetesClient", + "deprecated": false, + "autowired": true, + "secret": false, + "description": "To use an existing kubernetes client." + }, + "lazyStartProducer": { + "index": 1, + "kind": "property", + "displayName": "Lazy Start Producer", + "group": "producer", + "label": "producer", + "required": false, + "type": "boolean", + "javaType": "boolean", + "deprecated": false, + "autowired": false, + "secret": false, + "defaultValue": false, + "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." + }, + "autowiredEnabled": { + "index": 2, + "kind": "property", + "displayName": "Autowired Enabled", + "group": "advanced", + "label": "advanced", + "required": false, + "type": "boolean", + "javaType": "boolean", + "deprecated": false, + "autowired": false, + "secret": false, + "defaultValue": true, + "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." + } + }, + "headers": { + "CamelKubernetesOperation": { + "index": 0, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "producer", + "required": false, + "javaType": "String", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "The Producer operation", + "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_OPERATION" + }, + "CamelKubernetesCronJobLabels": { + "index": 1, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "producer", + "required": false, + "javaType": "Map", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "The Cronjob labels.", + "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_CRON_JOB_LABELS" + }, + "CamelKubernetesCronJobName": { + "index": 2, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "producer", + "required": false, + "javaType": "String", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "The Cronjob name.", + "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_CRON_JOB_NAME" + }, + "CamelKubernetesCronJobSpec": { + "index": 3, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "producer", + "required": false, + "javaType": "io.fabric8.kubernetes.api.model.batch.v1.CronJobSpec", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "The spec for a Job.", + "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_CRON_JOB_SPEC" + }, + "CamelKubernetesCronJobAnnotations": { + "index": 4, + "kind": "header", + "displayName": "", + "group": "producer", + "label": "producer", + "required": false, + "javaType": "Map", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "description": "The Cron Job annotations.", + "constantName": "org.apache.camel.component.kubernetes.KubernetesConstants#KUBERNETES_CRON_JOB_ANNOTATIONS" + } + }, + "properties": { + "masterUrl": { + "index": 0, + "kind": "path", + "displayName": "Master Url", + "group": "producer", + "label": "", + "required": true, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "deprecationNote": "", + "autowired": false, + "secret": false, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc." + }, + "apiVersion": { + "index": 1, + "kind": "parameter", + "displayName": "Api Version", + "group": "producer", + "label": "", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": false, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "The Kubernetes API Version to use" + }, + "dnsDomain": { + "index": 2, + "kind": "parameter", + "displayName": "Dns Domain", + "group": "producer", + "label": "", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": false, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "The dns domain, used for ServiceCall EIP" + }, + "kubernetesClient": { + "index": 3, + "kind": "parameter", + "displayName": "Kubernetes Client", + "group": "producer", + "label": "", + "required": false, + "type": "object", + "javaType": "io.fabric8.kubernetes.client.KubernetesClient", + "deprecated": false, + "autowired": false, + "secret": false, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "Default KubernetesClient to use if provided" + }, + "namespace": { + "index": 4, + "kind": "parameter", + "displayName": "Namespace", + "group": "producer", + "label": "", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": false, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "The namespace" + }, + "operation": { + "index": 5, + "kind": "parameter", + "displayName": "Operation", + "group": "producer", + "label": "producer", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": false, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "Producer operation to do on Kubernetes" + }, + "portName": { + "index": 6, + "kind": "parameter", + "displayName": "Port Name", + "group": "producer", + "label": "", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": false, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "The port name, used for ServiceCall EIP" + }, + "portProtocol": { + "index": 7, + "kind": "parameter", + "displayName": "Port Protocol", + "group": "producer", + "label": "", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": false, + "defaultValue": "tcp", + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "The port protocol, used for ServiceCall EIP" + }, + "lazyStartProducer": { + "index": 8, + "kind": "parameter", + "displayName": "Lazy Start Producer", + "group": "producer (advanced)", + "label": "producer,advanced", + "required": false, + "type": "boolean", + "javaType": "boolean", + "deprecated": false, + "autowired": false, + "secret": false, + "defaultValue": false, + "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." + }, + "connectionTimeout": { + "index": 9, + "kind": "parameter", + "displayName": "Connection Timeout", + "group": "advanced", + "label": "advanced", + "required": false, + "type": "integer", + "javaType": "java.lang.Integer", + "deprecated": false, + "autowired": false, + "secret": false, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "Connection timeout in milliseconds to use when making requests to the Kubernetes API server." + }, + "caCertData": { + "index": 10, + "kind": "parameter", + "displayName": "Ca Cert Data", + "group": "security", + "label": "security", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": true, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "The CA Cert Data" + }, + "caCertFile": { + "index": 11, + "kind": "parameter", + "displayName": "Ca Cert File", + "group": "security", + "label": "security", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": true, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "The CA Cert File" + }, + "clientCertData": { + "index": 12, + "kind": "parameter", + "displayName": "Client Cert Data", + "group": "security", + "label": "security", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": true, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "The Client Cert Data" + }, + "clientCertFile": { + "index": 13, + "kind": "parameter", + "displayName": "Client Cert File", + "group": "security", + "label": "security", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": true, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "The Client Cert File" + }, + "clientKeyAlgo": { + "index": 14, + "kind": "parameter", + "displayName": "Client Key Algo", + "group": "security", + "label": "security", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": true, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "The Key Algorithm used by the client" + }, + "clientKeyData": { + "index": 15, + "kind": "parameter", + "displayName": "Client Key Data", + "group": "security", + "label": "security", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": true, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "The Client Key data" + }, + "clientKeyFile": { + "index": 16, + "kind": "parameter", + "displayName": "Client Key File", + "group": "security", + "label": "security", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": true, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "The Client Key file" + }, + "clientKeyPassphrase": { + "index": 17, + "kind": "parameter", + "displayName": "Client Key Passphrase", + "group": "security", + "label": "security", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": true, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "The Client Key Passphrase" + }, + "oauthToken": { + "index": 18, + "kind": "parameter", + "displayName": "Oauth Token", + "group": "security", + "label": "security", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": true, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "The Auth Token" + }, + "password": { + "index": 19, + "kind": "parameter", + "displayName": "Password", + "group": "security", + "label": "security", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": true, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "Password to connect to Kubernetes" + }, + "trustCerts": { + "index": 20, + "kind": "parameter", + "displayName": "Trust Certs", + "group": "security", + "label": "security", + "required": false, + "type": "boolean", + "javaType": "java.lang.Boolean", + "deprecated": false, + "autowired": false, + "secret": true, + "defaultValue": false, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "Define if the certs we used are trusted anyway or not" + }, + "username": { + "index": 21, + "kind": "parameter", + "displayName": "Username", + "group": "security", + "label": "security", + "required": false, + "type": "string", + "javaType": "java.lang.String", + "deprecated": false, + "autowired": false, + "secret": true, + "configurationClass": "org.apache.camel.component.kubernetes.KubernetesConfiguration", + "configurationField": "configuration", + "description": "Username to connect to Kubernetes" + } + }, + "propertiesSchema": { + "properties": { + "masterUrl": { + "title": "Master Url", + "description": "URL to a remote Kubernetes API server. This should only be used when your Camel application is connecting from outside Kubernetes. If you run your Camel application inside Kubernetes, then you can use local or client as the URL to tell Camel to run in local mode. If you connect remotely to Kubernetes, then you may also need some of the many other configuration options for secured connection with certificates, etc.", + "type": "string", + "$comment": "group:producer" + }, + "apiVersion": { + "title": "Api Version", + "description": "The Kubernetes API Version to use", + "type": "string", + "$comment": "group:producer" + }, + "dnsDomain": { + "title": "Dns Domain", + "description": "The dns domain, used for ServiceCall EIP", + "type": "string", + "$comment": "group:producer" + }, + "kubernetesClient": { + "title": "Kubernetes Client", + "description": "Default KubernetesClient to use if provided", + "type": "string", + "$comment": "group:producer", + "format": "bean:io.fabric8.kubernetes.client.KubernetesClient" + }, + "namespace": { + "title": "Namespace", + "description": "The namespace", + "type": "string", + "$comment": "group:producer" + }, + "operation": { + "title": "Operation", + "description": "Producer operation to do on Kubernetes", + "type": "string", + "$comment": "group:producer" + }, + "portName": { + "title": "Port Name", + "description": "The port name, used for ServiceCall EIP", + "type": "string", + "$comment": "group:producer" + }, + "portProtocol": { + "title": "Port Protocol", + "description": "The port protocol, used for ServiceCall EIP", + "type": "string", + "$comment": "group:producer", + "default": "tcp" + }, + "lazyStartProducer": { + "title": "Lazy Start Producer", + "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.", + "type": "boolean", + "$comment": "group:producer (advanced)", + "default": false + }, + "connectionTimeout": { + "title": "Connection Timeout", + "description": "Connection timeout in milliseconds to use when making requests to the Kubernetes API server.", + "type": "integer", + "$comment": "group:advanced" + }, + "caCertData": { + "title": "Ca Cert Data", + "description": "The CA Cert Data", + "type": "string", + "$comment": "group:security", + "format": "password" + }, + "caCertFile": { + "title": "Ca Cert File", + "description": "The CA Cert File", + "type": "string", + "$comment": "group:security", + "format": "password" + }, + "clientCertData": { + "title": "Client Cert Data", + "description": "The Client Cert Data", + "type": "string", + "$comment": "group:security", + "format": "password" + }, + "clientCertFile": { + "title": "Client Cert File", + "description": "The Client Cert File", + "type": "string", + "$comment": "group:security", + "format": "password" + }, + "clientKeyAlgo": { + "title": "Client Key Algo", + "description": "The Key Algorithm used by the client", + "type": "string", + "$comment": "group:security", + "format": "password" + }, + "clientKeyData": { + "title": "Client Key Data", + "description": "The Client Key data", + "type": "string", + "$comment": "group:security", + "format": "password" + }, + "clientKeyFile": { + "title": "Client Key File", + "description": "The Client Key file", + "type": "string", + "$comment": "group:security", + "format": "password" + }, + "clientKeyPassphrase": { + "title": "Client Key Passphrase", + "description": "The Client Key Passphrase", + "type": "string", + "$comment": "group:security", + "format": "password" + }, + "oauthToken": { + "title": "Oauth Token", + "description": "The Auth Token", + "type": "string", + "$comment": "group:security", + "format": "password" + }, + "password": { + "title": "Password", + "description": "Password to connect to Kubernetes", + "type": "string", + "$comment": "group:security", + "format": "password" + }, + "trustCerts": { + "title": "Trust Certs", + "description": "Define if the certs we used are trusted anyway or not", + "type": "boolean", + "$comment": "group:security", + "format": "password", + "default": false + }, + "username": { + "title": "Username", + "description": "Username to connect to Kubernetes", + "type": "string", + "$comment": "group:security", + "format": "password" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "required": [ + "masterUrl" + ] + } +} \ No newline at end of file