Skip to content

Commit

Permalink
Support HDFS Artifact (#1159)
Browse files Browse the repository at this point in the history
Support HDFS Artifact (#1159)
  • Loading branch information
dtaniwaki authored and alexmt committed Jan 12, 2019
1 parent 8db0006 commit c3cc51b
Show file tree
Hide file tree
Showing 14 changed files with 1,080 additions and 24 deletions.
102 changes: 102 additions & 0 deletions Gopkg.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions Gopkg.toml
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,10 @@ required = [
name = "github.com/Azure/go-autorest"
revision = "1ff28809256a84bb6966640ff3d0371af82ccba4"

[[constraint]]
name = "github.com/colinmarc/hdfs"
revision = "48eb8d6c34a97ffc73b406356f0f2e1c569b42a5"

[[constraint]]
name = "gopkg.in/jcmturner/gokrb5.v5"
version = "5.3.0"
132 changes: 132 additions & 0 deletions api/openapi-spec/swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@
"description": "GlobalName exports an output artifact to the global scope, making it available as '{{workflow.outputs.artifacts.XXXX}} and in workflow.status.outputs.artifacts",
"type": "string"
},
"hdfs": {
"description": "HDFS contains HDFS artifact location details",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.HDFSArtifact"
},
"http": {
"description": "HTTP contains HTTP artifact location details",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.HTTPArtifact"
Expand Down Expand Up @@ -108,6 +112,10 @@
"description": "Git contains git artifact location details",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.GitArtifact"
},
"hdfs": {
"description": "HDFS contains HDFS artifact location details",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.HDFSArtifact"
},
"http": {
"description": "HTTP contains HTTP artifact location details",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.HTTPArtifact"
Expand Down Expand Up @@ -249,6 +257,130 @@
}
}
},
"io.argoproj.workflow.v1alpha1.HDFSArtifact": {
"description": "HDFSArtifact is the location of an HDFS artifact",
"required": [
"addresses",
"path"
],
"properties": {
"addresses": {
"description": "Addresses is accessible addresses of HDFS name nodes",
"type": "array",
"items": {
"type": "string"
}
},
"force": {
"description": "Force copies a file forcibly even if it exists (default: false)",
"type": "boolean"
},
"hdfsUser": {
"description": "HDFSUser is the user to access HDFS file system. It is ignored if either ccache or keytab is used.",
"type": "string"
},
"krbCCacheSecret": {
"description": "KrbCCacheSecret is the secret selector for Kerberos ccache Either ccache or keytab can be set to use Kerberos.",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"krbConfigConfigMap": {
"description": "KrbConfig is the configmap selector for Kerberos config as string It must be set if either ccache or keytab is used.",
"$ref": "#/definitions/io.k8s.api.core.v1.ConfigMapKeySelector"
},
"krbKeytabSecret": {
"description": "KrbKeytabSecret is the secret selector for Kerberos keytab Either ccache or keytab can be set to use Kerberos.",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"krbRealm": {
"description": "KrbRealm is the Kerberos realm used with Kerberos keytab It must be set if keytab is used.",
"type": "string"
},
"krbServicePrincipalName": {
"description": "KrbServicePrincipalName is the principal name of Kerberos service It must be set if either ccache or keytab is used.",
"type": "string"
},
"krbUsername": {
"description": "KrbUsername is the Kerberos username used with Kerberos keytab It must be set if keytab is used.",
"type": "string"
},
"path": {
"description": "Path is a file path in HDFS",
"type": "string"
}
}
},
"io.argoproj.workflow.v1alpha1.HDFSConfig": {
"description": "HDFSConfig is configurations for HDFS",
"required": [
"addresses"
],
"properties": {
"addresses": {
"description": "Addresses is accessible addresses of HDFS name nodes",
"type": "array",
"items": {
"type": "string"
}
},
"hdfsUser": {
"description": "HDFSUser is the user to access HDFS file system. It is ignored if either ccache or keytab is used.",
"type": "string"
},
"krbCCacheSecret": {
"description": "KrbCCacheSecret is the secret selector for Kerberos ccache Either ccache or keytab can be set to use Kerberos.",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"krbConfigConfigMap": {
"description": "KrbConfig is the configmap selector for Kerberos config as string It must be set if either ccache or keytab is used.",
"$ref": "#/definitions/io.k8s.api.core.v1.ConfigMapKeySelector"
},
"krbKeytabSecret": {
"description": "KrbKeytabSecret is the secret selector for Kerberos keytab Either ccache or keytab can be set to use Kerberos.",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"krbRealm": {
"description": "KrbRealm is the Kerberos realm used with Kerberos keytab It must be set if keytab is used.",
"type": "string"
},
"krbServicePrincipalName": {
"description": "KrbServicePrincipalName is the principal name of Kerberos service It must be set if either ccache or keytab is used.",
"type": "string"
},
"krbUsername": {
"description": "KrbUsername is the Kerberos username used with Kerberos keytab It must be set if keytab is used.",
"type": "string"
}
}
},
"io.argoproj.workflow.v1alpha1.HDFSKrbConfig": {
"description": "HDFSKrbConfig is auth configurations for Kerberos",
"properties": {
"krbCCacheSecret": {
"description": "KrbCCacheSecret is the secret selector for Kerberos ccache Either ccache or keytab can be set to use Kerberos.",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"krbConfigConfigMap": {
"description": "KrbConfig is the configmap selector for Kerberos config as string It must be set if either ccache or keytab is used.",
"$ref": "#/definitions/io.k8s.api.core.v1.ConfigMapKeySelector"
},
"krbKeytabSecret": {
"description": "KrbKeytabSecret is the secret selector for Kerberos keytab Either ccache or keytab can be set to use Kerberos.",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
"krbRealm": {
"description": "KrbRealm is the Kerberos realm used with Kerberos keytab It must be set if keytab is used.",
"type": "string"
},
"krbServicePrincipalName": {
"description": "KrbServicePrincipalName is the principal name of Kerberos service It must be set if either ccache or keytab is used.",
"type": "string"
},
"krbUsername": {
"description": "KrbUsername is the Kerberos username used with Kerberos keytab It must be set if keytab is used.",
"type": "string"
}
}
},
"io.argoproj.workflow.v1alpha1.HTTPArtifact": {
"description": "HTTPArtifact allows an file served on HTTP to be placed as an input artifact in a container",
"required": [
Expand Down
Loading

0 comments on commit c3cc51b

Please sign in to comment.