Skip to content

Commit

Permalink
feat(controller): Store artifact repository in workflow status. Fixes a…
Browse files Browse the repository at this point in the history
…rgoproj#6255 (argoproj#6299)

Signed-off-by: Alex Collins <alex_collins@intuit.com>
Signed-off-by: uturunku1 <luces.huayhuaca@gmail.com>
  • Loading branch information
alexec authored and uturunku1 committed Jul 22, 2021
1 parent 7993f36 commit 7c51b27
Show file tree
Hide file tree
Showing 22 changed files with 4,013 additions and 1,059 deletions.
207 changes: 207 additions & 0 deletions api/jsonschema/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -2846,6 +2846,36 @@
],
"type": "object"
},
"io.argoproj.workflow.v1alpha1.ArtifactRepository": {
"description": "ArtifactRepository represents an artifact repository in which a controller will store its artifacts",
"properties": {
"archiveLogs": {
"description": "ArchiveLogs enables log archiving",
"type": "boolean"
},
"artifactory": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.ArtifactoryArtifactRepository",
"description": "Artifactory stores artifacts to JFrog Artifactory"
},
"gcs": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.GCSArtifactRepository",
"description": "GCS stores artifact in a GCS object store"
},
"hdfs": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.HDFSArtifactRepository",
"description": "HDFS stores artifacts in HDFS"
},
"oss": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.OSSArtifactRepository",
"description": "OSS stores artifact in a OSS-compliant object store"
},
"s3": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.S3ArtifactRepository",
"description": "S3 stores artifact in a S3-compliant object store"
}
},
"type": "object"
},
"io.argoproj.workflow.v1alpha1.ArtifactRepositoryRef": {
"properties": {
"configMap": {
Expand All @@ -2861,6 +2891,10 @@
},
"io.argoproj.workflow.v1alpha1.ArtifactRepositoryRefStatus": {
"properties": {
"artifactRepository": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.ArtifactRepository",
"description": "The repository the workflow will use. This maybe empty before v3.1."
},
"configMap": {
"description": "The name of the config map. Defaults to \"artifact-repositories\".",
"type": "string"
Expand Down Expand Up @@ -2901,6 +2935,24 @@
],
"type": "object"
},
"io.argoproj.workflow.v1alpha1.ArtifactoryArtifactRepository": {
"description": "ArtifactoryArtifactRepository defines the controller configuration for an artifactory artifact repository",
"properties": {
"passwordSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "PasswordSecret is the secret selector to the repository password"
},
"repoURL": {
"description": "RepoURL is the url for artifactory repo.",
"type": "string"
},
"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.Backoff": {
"description": "Backoff is a backoff strategy to use within retryStrategy",
"properties": {
Expand Down Expand Up @@ -3573,6 +3625,24 @@
],
"type": "object"
},
"io.argoproj.workflow.v1alpha1.GCSArtifactRepository": {
"description": "GCSArtifactRepository defines the controller configuration for a GCS artifact repository",
"properties": {
"bucket": {
"description": "Bucket is the name of the bucket",
"type": "string"
},
"keyFormat": {
"description": "KeyFormat is defines the format of how to store keys. Can reference workflow variables",
"type": "string"
},
"serviceAccountKeySecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "ServiceAccountKeySecret is the secret selector to the bucket's service account key"
}
},
"type": "object"
},
"io.argoproj.workflow.v1alpha1.Gauge": {
"description": "Gauge is a Gauge prometheus metric",
"properties": {
Expand Down Expand Up @@ -3717,6 +3787,55 @@
],
"type": "object"
},
"io.argoproj.workflow.v1alpha1.HDFSArtifactRepository": {
"description": "HDFSArtifactRepository defines the controller configuration for an HDFS artifact repository",
"properties": {
"addresses": {
"description": "Addresses is accessible addresses of HDFS name nodes",
"items": {
"type": "string"
},
"type": "array"
},
"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": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "KrbCCacheSecret is the secret selector for Kerberos ccache Either ccache or keytab can be set to use Kerberos."
},
"krbConfigConfigMap": {
"$ref": "#/definitions/io.k8s.api.core.v1.ConfigMapKeySelector",
"description": "KrbConfig is the configmap selector for Kerberos config as string It must be set if either ccache or keytab is used."
},
"krbKeytabSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "KrbKeytabSecret is the secret selector for Kerberos keytab Either ccache or keytab can be set to use Kerberos."
},
"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"
},
"pathFormat": {
"description": "PathFormat is defines the format of path to store a file. Can reference workflow variables",
"type": "string"
}
},
"type": "object"
},
"io.argoproj.workflow.v1alpha1.HTTP": {
"properties": {
"body": {
Expand Down Expand Up @@ -4263,6 +4382,44 @@
],
"type": "object"
},
"io.argoproj.workflow.v1alpha1.OSSArtifactRepository": {
"description": "OSSArtifactRepository defines the controller configuration for an OSS artifact repository",
"properties": {
"accessKeySecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "AccessKeySecret is the secret selector to the bucket's access key"
},
"bucket": {
"description": "Bucket is the name of the bucket",
"type": "string"
},
"createBucketIfNotPresent": {
"description": "CreateBucketIfNotPresent tells the driver to attempt to create the OSS bucket for output artifacts, if it doesn't exist",
"type": "boolean"
},
"endpoint": {
"description": "Endpoint is the hostname of the bucket endpoint",
"type": "string"
},
"keyFormat": {
"description": "KeyFormat is defines the format of how to store keys. Can reference workflow variables",
"type": "string"
},
"lifecycleRule": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.OSSLifecycleRule",
"description": "LifecycleRule specifies how to manage bucket's lifecycle"
},
"secretKeySecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "SecretKeySecret is the secret selector to the bucket's secret key"
},
"securityToken": {
"description": "SecurityToken is the user's temporary security token. For more details, check out: https://www.alibabacloud.com/help/doc-detail/100624.htm",
"type": "string"
}
},
"type": "object"
},
"io.argoproj.workflow.v1alpha1.OSSLifecycleRule": {
"description": "OSSLifecycleRule specifies how to manage bucket's lifecycle",
"properties": {
Expand Down Expand Up @@ -4544,6 +4701,56 @@
},
"type": "object"
},
"io.argoproj.workflow.v1alpha1.S3ArtifactRepository": {
"description": "S3ArtifactRepository defines the controller configuration for an S3 artifact repository",
"properties": {
"accessKeySecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "AccessKeySecret is the secret selector to the bucket's access key"
},
"bucket": {
"description": "Bucket is the name of the bucket",
"type": "string"
},
"createBucketIfNotPresent": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.CreateS3BucketOptions",
"description": "CreateBucketIfNotPresent tells the driver to attempt to create the S3 bucket for output artifacts, if it doesn't exist"
},
"endpoint": {
"description": "Endpoint is the hostname of the bucket endpoint",
"type": "string"
},
"insecure": {
"description": "Insecure will connect to the service with TLS",
"type": "boolean"
},
"keyFormat": {
"description": "KeyFormat is defines the format of how to store keys. Can reference workflow variables",
"type": "string"
},
"keyPrefix": {
"description": "KeyPrefix is prefix used as part of the bucket key in which the controller will store artifacts. DEPRECATED. Use KeyFormat instead",
"type": "string"
},
"region": {
"description": "Region contains the optional bucket region",
"type": "string"
},
"roleARN": {
"description": "RoleARN is the Amazon Resource Name (ARN) of the role to assume.",
"type": "string"
},
"secretKeySecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "SecretKeySecret is the secret selector to the bucket's secret key"
},
"useSDKCreds": {
"description": "UseSDKCreds tells the driver to figure out credentials based on sdk defaults.",
"type": "boolean"
}
},
"type": "object"
},
"io.argoproj.workflow.v1alpha1.ScriptTemplate": {
"description": "ScriptTemplate is a template subtype to enable scripting through code steps",
"properties": {
Expand Down
Loading

0 comments on commit 7c51b27

Please sign in to comment.