Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add WebHDFS support for HTTP artifacts. Fixes #7540 #8468

Merged
96 changes: 88 additions & 8 deletions api/jsonschema/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -4822,6 +4822,20 @@
},
"type": "object"
},
"io.argoproj.workflow.v1alpha1.BasicAuth": {
"description": "BasicAuth describes the secret selectors required for basic authentication",
"properties": {
"passwordSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "PasswordSecret is the secret selector to the repository password"
},
"usernameSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "UsernameSecret is the secret selector to the repository username"
}
},
"type": "object"
},
"io.argoproj.workflow.v1alpha1.Cache": {
"description": "Cache is the configuration for the type of cache to be used",
"properties": {
Expand All @@ -4835,6 +4849,18 @@
],
"type": "object"
},
"io.argoproj.workflow.v1alpha1.ClientCertAuth": {
"description": "ClientCertAuth holds necessary information for client authentication via certificates",
"properties": {
"clientCertSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"clientKeySecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
}
},
"type": "object"
},
"io.argoproj.workflow.v1alpha1.ClusterWorkflowTemplate": {
"description": "ClusterWorkflowTemplate is the definition of a workflow template resource in cluster scope",
"properties": {
Expand Down Expand Up @@ -5767,31 +5793,41 @@
"io.argoproj.workflow.v1alpha1.HTTPArtifact": {
"description": "HTTPArtifact allows a file served on HTTP to be placed as an input artifact in a container",
"properties": {
"auth": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.HTTPAuth",
"description": "Auth contains information for client authentication"
},
"headers": {
"description": "Headers are an optional list of headers to send with HTTP requests for artifacts",
"items": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Header"
},
"type": "array"
},
"passwordSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "PasswordSecret is the secret selector to the repository password"
},
"url": {
"description": "URL of the artifact",
"type": "string"
},
"usernameSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "UsernameSecret is the secret selector to the repository username"
}
},
"required": [
"url"
],
"type": "object"
},
"io.argoproj.workflow.v1alpha1.HTTPAuth": {
"properties": {
"basicAuth": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.BasicAuth"
},
"clientCert": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.ClientCertAuth"
},
"oauth2": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.OAuth2Auth"
}
},
"type": "object"
},
"io.argoproj.workflow.v1alpha1.HTTPHeader": {
"properties": {
"name": {
Expand Down Expand Up @@ -6303,6 +6339,50 @@
"description": "NoneStrategy indicates to skip tar process and upload the files or directory tree as independent files. Note that if the artifact is a directory, the artifact driver must support the ability to save/load the directory appropriately.",
"type": "object"
},
"io.argoproj.workflow.v1alpha1.OAuth2Auth": {
"description": "OAuth2Auth holds all information for client authentication via OAuth2 tokens",
"properties": {
"clientIDSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"clientSecretSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"endpointParams": {
"items": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.OAuth2EndpointParam"
},
"type": "array"
},
"scopes": {
"items": {
"type": "string"
},
"type": "array"
},
"tokenURLSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
}
},
"type": "object"
},
"io.argoproj.workflow.v1alpha1.OAuth2EndpointParam": {
"description": "EndpointParam is for requesting optional fields that should be sent in the oauth request",
"properties": {
"key": {
"description": "Name is the header name",
"type": "string"
},
"value": {
"description": "Value is the literal value to use for the header",
"type": "string"
}
},
"required": [
"key"
],
"type": "object"
},
"io.argoproj.workflow.v1alpha1.OSSArtifact": {
"description": "OSSArtifact is the location of an Alibaba Cloud OSS artifact",
"properties": {
Expand Down
94 changes: 87 additions & 7 deletions api/openapi-spec/swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -9186,6 +9186,20 @@
}
}
},
"io.argoproj.workflow.v1alpha1.BasicAuth": {
"description": "BasicAuth describes the secret selectors required for basic authentication",
"type": "object",
"properties": {
"passwordSecret": {
"description": "PasswordSecret is the secret selector to the repository password",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"usernameSecret": {
"description": "UsernameSecret is the secret selector to the repository username",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
}
}
},
"io.argoproj.workflow.v1alpha1.Cache": {
"description": "Cache is the configuration for the type of cache to be used",
"type": "object",
Expand All @@ -9199,6 +9213,18 @@
}
}
},
"io.argoproj.workflow.v1alpha1.ClientCertAuth": {
"description": "ClientCertAuth holds necessary information for client authentication via certificates",
"type": "object",
"properties": {
"clientCertSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"clientKeySecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
}
}
},
"io.argoproj.workflow.v1alpha1.ClusterWorkflowTemplate": {
"description": "ClusterWorkflowTemplate is the definition of a workflow template resource in cluster scope",
"type": "object",
Expand Down Expand Up @@ -10117,24 +10143,34 @@
"url"
],
"properties": {
"auth": {
"description": "Auth contains information for client authentication",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.HTTPAuth"
},
"headers": {
"description": "Headers are an optional list of headers to send with HTTP requests for artifacts",
"type": "array",
"items": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Header"
}
},
"passwordSecret": {
"description": "PasswordSecret is the secret selector to the repository password",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"url": {
"description": "URL of the artifact",
"type": "string"
}
}
},
"io.argoproj.workflow.v1alpha1.HTTPAuth": {
"type": "object",
"properties": {
"basicAuth": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.BasicAuth"
},
"usernameSecret": {
"description": "UsernameSecret is the secret selector to the repository username",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
"clientCert": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.ClientCertAuth"
},
"oauth2": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.OAuth2Auth"
}
}
},
Expand Down Expand Up @@ -10649,6 +10685,50 @@
"description": "NoneStrategy indicates to skip tar process and upload the files or directory tree as independent files. Note that if the artifact is a directory, the artifact driver must support the ability to save/load the directory appropriately.",
"type": "object"
},
"io.argoproj.workflow.v1alpha1.OAuth2Auth": {
"description": "OAuth2Auth holds all information for client authentication via OAuth2 tokens",
"type": "object",
"properties": {
"clientIDSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"clientSecretSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"endpointParams": {
"type": "array",
"items": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.OAuth2EndpointParam"
}
},
"scopes": {
"type": "array",
"items": {
"type": "string"
}
},
"tokenURLSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
}
}
},
"io.argoproj.workflow.v1alpha1.OAuth2EndpointParam": {
"description": "EndpointParam is for requesting optional fields that should be sent in the oauth request",
"type": "object",
"required": [
"key"
],
"properties": {
"key": {
"description": "Name is the header name",
"type": "string"
},
"value": {
"description": "Value is the literal value to use for the header",
"type": "string"
}
}
},
"io.argoproj.workflow.v1alpha1.OSSArtifact": {
"description": "OSSArtifact is the location of an Alibaba Cloud OSS artifact",
"type": "object",
Expand Down
Loading