diff --git a/content/en/schema/latest/config.json b/content/en/schema/latest/config.json index fdabf8b80..d8dce5476 100644 --- a/content/en/schema/latest/config.json +++ b/content/en/schema/latest/config.json @@ -15,37 +15,26 @@ "crawlers": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "dockerfile": { + "npm": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "digest": { - "type": "boolean", - "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." - }, "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for Helm Chart" + "description": "RootDir defines the root directory used to recursively search for npm packages.json" }, "ignore": { "items": { "properties": { - "archs": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Arch specifies a list of docker image architecture" - }, "path": { "type": "string", - "description": "Path specifies a Dockerfile path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." }, - "images": { - "items": { + "packages": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Image specifies a list of docker image" + "type": "object", + "description": "Packages specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -53,28 +42,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" }, "only": { "items": { "properties": { - "archs": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Arch specifies a list of docker image architecture" - }, "path": { "type": "string", - "description": "Path specifies a Dockerfile path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." }, - "images": { - "items": { + "packages": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Image specifies a list of docker image" + "type": "object", + "description": "Packages specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -82,37 +64,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" - }, - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - } - }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" - }, - "filematch": { - "items": { - "type": "string" - }, - "type": "array", - "description": "FileMatch allows to override default Dockerfile file matching. Default [\"Dockerfile\"]" + "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" }, "versionfilter": { "properties": { @@ -140,32 +92,28 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec is a struct fill from Updatecli manifest data and shouldn't be modified at runtime unless For Fields that requires it, we can use the struct Dockerfile Spec defines the parameters which can be provided to the Dockerfile crawler." + "description": "Spec defines the parameters which can be provided to the NPM builder." }, - "golang/gomod": { + "precommit": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "rootDir defines the root directory used to recursively search for golang go.mod" + "description": "RootDir defines the root directory used to recursively search for npm packages.json" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a go.mod path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." }, - "modules": { + "repos": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Modules specifies a list of module pattern." - }, - "goversion": { - "type": "string", - "description": "GoVersions specifies a list of version pattern." + "description": "Repos specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -173,25 +121,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "ignore allows to specify \"rule\" to ignore autodiscovery a specific go.mod rule" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a go.mod path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." }, - "modules": { + "repos": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Modules specifies a list of module pattern." - }, - "goversion": { - "type": "string", - "description": "GoVersions specifies a list of version pattern." + "description": "Repos specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -199,7 +143,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "`only` allows to specify rule to \"only\" autodiscover manifest for a specific golang rule" + "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" }, "versionfilter": { "properties": { @@ -222,33 +166,67 @@ }, "additionalProperties": false, "type": "object", - "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Golang autodiscovery builder." + "description": "Spec defines the parameters uses to generate the precomit manifests" }, - "precommit": { + "prow": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + }, + "digest": { + "type": "boolean", + "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." + }, "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for npm packages.json" + "description": "RootDir defines the root directory used to recursively search for Kubernetes files" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "repos": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Repos specifies the list of NPM packages to check" + "type": "array", + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -256,21 +234,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Kubernetes manifest based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "repos": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Repos specifies the list of NPM packages to check" + "type": "array", + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -278,7 +256,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" + "description": "Only allows to specify rule to only autodiscover manifest for a specific Kubernetes manifest based on a rule" }, "versionfilter": { "properties": { @@ -306,31 +284,46 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters uses to generate the precomit manifests" + "description": "Spec defines the parameters which can be provided to the Kubernetes builder." }, - "github/action": { + "dockercompose": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "files allows to specify the accepted GitHub Action workflow file name\n\ndefault:\n - \".github/workflows/*.yaml\",\n - \".github/workflows/*.yml\",\n - \".gitea/workflows/*.yaml\",\n - \".gitea/workflows/*.yml\",\n - \".forgejo/workflows/*.yaml\",\n - \".forgejo/workflows/*.yml\"," + "digest": { + "type": "boolean", + "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." + }, + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for Helm Chart" }, "ignore": { "items": { "properties": { + "archs": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Arch specifies a list of docker image architecture" + }, "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "actions": { - "additionalProperties": { + "services": { + "items": { "type": "string" }, - "type": "object", - "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "type": "array", + "description": "Services specifies a list of docker compose services" + }, + "images": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -338,21 +331,35 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" }, "only": { "items": { "properties": { + "archs": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Arch specifies a list of docker image architecture" + }, "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "actions": { - "additionalProperties": { + "services": { + "items": { "type": "string" }, - "type": "object", - "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "type": "array", + "description": "Services specifies a list of docker compose services" + }, + "images": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -360,23 +367,135 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "only allows to specify rule to only autodiscover manifest for a specific GitHub action based on a rule\n\ndefault: empty" - }, - "rootdir": { - "type": "string", - "description": "rootDir allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty" + "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + }, + "filematch": { + "items": { + "type": "string" + }, + "type": "array", + "description": "FileMatch allows to override default docker-compose.yaml file matching. Default [\"docker-compose.yaml\",\"docker-compose.yml\",\"docker-compose.*.yaml\",\"docker-compose.*.yml\"]" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Spec is a struct fill from Updatecli manifest data and shouldn't be modified at runtime unless For Fields that requires it, we can use the struct DockerCompose Spec defines the parameters which can be provided to the Helm builder." + }, + "github/action": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "files allows to specify the accepted GitHub Action workflow file name\n\ndefault:\n - \".github/workflows/*.yaml\",\n - \".github/workflows/*.yml\",\n - \".gitea/workflows/*.yaml\",\n - \".gitea/workflows/*.yml\",\n - \".forgejo/workflows/*.yaml\",\n - \".forgejo/workflows/*.yml\"," + }, + "ignore": { + "items": { + "properties": { + "path": { + "type": "string", + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + }, + "actions": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + } + }, + "additionalProperties": false, + "type": "object", + "description": "MatchingRule allows to specifies rules to identify manifest" + }, + "type": "array", + "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty" + }, + "only": { + "items": { + "properties": { + "path": { + "type": "string", + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + }, + "actions": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + } + }, + "additionalProperties": false, + "type": "object", + "description": "MatchingRule allows to specifies rules to identify manifest" + }, + "type": "array", + "description": "only allows to specify rule to only autodiscover manifest for a specific GitHub action based on a rule\n\ndefault: empty" + }, + "rootdir": { + "type": "string", + "description": "rootDir allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { "type": "boolean", "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" }, @@ -414,64 +533,29 @@ "type": "object", "description": "Spec defines the parameters which can be provided to the Github Action crawler." }, - "helm": { + "gitea/action": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - } - }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" + "files": { + "items": { + "type": "string" }, - "type": "object", - "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\n\t\tif empty, updatecli relies on OCI credentials such as the one used by Docker." - }, - "digest": { - "type": "boolean", - "description": "digest provides a parameter to specify if the generated manifest should use a digest on top of the tag when updating container." - }, - "ignorecontainer": { - "type": "boolean", - "description": "ignorecontainer disables OCI container tag update when set to true" - }, - "ignorechartdependency": { - "type": "boolean", - "description": "ignorechartdependency disables Helm chart dependencies update when set to true" + "type": "array", + "description": "files allows to specify the accepted GitHub Action workflow file name\n\ndefault:\n - \".github/workflows/*.yaml\",\n - \".github/workflows/*.yml\",\n - \".gitea/workflows/*.yaml\",\n - \".gitea/workflows/*.yml\",\n - \".forgejo/workflows/*.yaml\",\n - \".forgejo/workflows/*.yml\"," }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "dependencies": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Dependencies specifies a list of dependencies pattern." + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "containers": { + "actions": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Containers specifies a list of containers pattern." + "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" } }, "additionalProperties": false, @@ -479,32 +563,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore specifies rule to ignore Helm chart update." - }, - "rootdir": { - "type": "string", - "description": "rootdir defines the root directory used to recursively search for Helm Chart" + "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "dependencies": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Dependencies specifies a list of dependencies pattern." + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "containers": { + "actions": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Containers specifies a list of containers pattern." + "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" } }, "additionalProperties": false, @@ -512,7 +585,11 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "only specify required rule(s) to restrict Helm chart update." + "description": "only allows to specify rule to only autodiscover manifest for a specific GitHub action based on a rule\n\ndefault: empty" + }, + "rootdir": { + "type": "string", + "description": "rootDir allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty" }, "versionfilter": { "properties": { @@ -535,20 +612,32 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest." }, - "skippackaging": { - "type": "boolean", - "description": "[target] Defines if a Chart should be packaged or not." + "credentials": { + "additionalProperties": { + "properties": { + "kind": { + "type": "string" + }, + "token": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "type": "object", + "description": "Credentials allows to specify the credentials to use to authenticate to the git provider\nThe ID of the credential must be the domain of the git provider to configure\n\ndefault: empty\n\nexamples:\n```\n autodiscovery:\n crawlers:\n github/action:\n credentials:\n \"code.forgejo.com\":\n kind: gitea\n token: xxx\n \"github.com\":\n kind: github\n token: '{{ requiredEnv \"GITHUB_TOKEN\" }}'\n```" }, - "versionincrement": { - "type": "string", - "description": "[target] Defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch\"" + "digest": { + "type": "boolean", + "description": "Digest provides parameters to specify if the generated manifest should use a digest instead of the branch or tag." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Helm parameters." + "description": "Spec defines the parameters which can be provided to the Github Action crawler." }, "ko": { "$schema": "http://json-schema.org/draft-04/schema", @@ -663,33 +752,33 @@ "type": "object", "description": "Spec defines the parameters which can be provided to the Kubernetes builder." }, - "maven": { + "argocd": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for Helm Chart" + "description": "RootDir defines the root directory used to recursively search for ArgoCD manifest" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "groupids": { + "repositories": { "items": { "type": "string" }, "type": "array", - "description": "GroupIDs specifies the list of Maven GroupIDs to check" + "description": "Repositories specifies the list of Helm Chart repository to check" }, - "artifactids": { + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -697,28 +786,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Argocd manifest based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "groupids": { + "repositories": { "items": { "type": "string" }, "type": "array", - "description": "GroupIDs specifies the list of Maven GroupIDs to check" + "description": "Repositories specifies the list of Helm Chart repository to check" }, - "artifactids": { + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -726,7 +815,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" + "description": "Only allows to specify rule to only autodiscover manifest for a specific ArgoCD manifest based on a rule" }, "versionfilter": { "properties": { @@ -749,33 +838,33 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n kind - semver\n versionfilter of kind `semver` uses semantic versioning as version filtering\n pattern accepts one of:\n `prerelease` - Updatecli tries to identify the latest \"prerelease\" whatever it means\n `patch` - Updatecli only handles patch version update\n `minor` - Updatecli handles patch AND minor version update\n `minoronly` - Updatecli handles minor version only\n `major` - Updatecli handles patch, minor, AND major version update\n `majoronly` - Updatecli only handles major version update\n `a version constraint` such as `\u003e= 1.0.0`\n\n kind - regex\n versionfilter of kind `regex` uses regular expression as version filtering\n pattern accepts a valid regular expression\n\n example:\n ```\n \tversionfilter:\n \t\tkind: semver\n \t\tpattern: minor\n ```\n\n\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Helm builder." + "description": "Spec defines the parameters which can be provided to the argocd builder." }, - "npm": { + "updatecli": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for npm packages.json" + "description": "rootdir defines the root directory used to recursively search for Updatecli manifest" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "packages": { + "policies": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Packages specifies the list of NPM packages to check" + "description": "Policies specifies a Updatecli policy" } }, "additionalProperties": false, @@ -783,21 +872,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" + "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Updatecli based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "packages": { + "policies": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Packages specifies the list of NPM packages to check" + "description": "Policies specifies a Updatecli policy" } }, "additionalProperties": false, @@ -805,7 +894,37 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" + "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Updatecli based on a rule" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." + }, + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, "versionfilter": { "properties": { @@ -833,21 +952,55 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the NPM builder." + "description": "Spec defines the Updatecli parameters." }, - "argocd": { + "flux": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "rootdir": { - "type": "string", - "description": "RootDir defines the root directory used to recursively search for ArgoCD manifest" + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "auths provides a map of registry credentials where the key is the registry URL without scheme" + }, + "digest": { + "type": "boolean", + "description": "digest allows to specify if the generated manifest should use OCI digest on top of the tag\n\ndefault: true" + }, + "helmrelease": { + "type": "boolean", + "description": "helmRelease define if helmrelease file should be updated or not\n\ndefault: true" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "files allows to override default flux files\n\ndefault: [\"*.yaml\", \"*.yml\"]" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, "repositories": { "items": { @@ -856,12 +1009,12 @@ "type": "array", "description": "Repositories specifies the list of Helm Chart repository to check" }, - "charts": { + "artifacts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Artifacts specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" } }, "additionalProperties": false, @@ -869,14 +1022,14 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Argocd manifest based on a rule" + "description": "ignore allows to specify rule to ignore autodiscovery a specific Flux helmrelease based on a rule\n\ndefault: empty" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, "repositories": { "items": { @@ -885,12 +1038,12 @@ "type": "array", "description": "Repositories specifies the list of Helm Chart repository to check" }, - "charts": { + "artifacts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Artifacts specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" } }, "additionalProperties": false, @@ -898,7 +1051,15 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific ArgoCD manifest based on a rule" + "description": "only allows to specify rule to only autodiscover manifest for a specific Flux helm release based on a rule\n\ndefault: empty" + }, + "ocirepository": { + "type": "boolean", + "description": "OCIRepository allows to specify if OCI repository files should be updated\n\ndefault: true" + }, + "rootdir": { + "type": "string", + "description": "rootDir defines the root directory used to recursively search for Flux files\n\ndefault: . (current working directory) or scm root directory" }, "versionfilter": { "properties": { @@ -921,40 +1082,40 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n kind - semver\n versionfilter of kind `semver` uses semantic versioning as version filtering\n pattern accepts one of:\n `prerelease` - Updatecli tries to identify the latest \"prerelease\" whatever it means\n `patch` - Updatecli only handles patch version update\n `minor` - Updatecli handles patch AND minor version update\n `minoronly` - Updatecli handles minor version only\n `major` - Updatecli handles patch, minor, AND major version update\n `majoronly` - Updatecli only handles major version update\n `a version constraint` such as `\u003e= 1.0.0`\n\n kind - regex\n versionfilter of kind `regex` uses regular expression as version filtering\n pattern accepts a valid regular expression\n\n example:\n ```\n \tversionfilter:\n \t\tkind: semver\n \t\tpattern: minor\n ```\n\n\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the argocd builder." + "description": "Spec defines the parameters which can be provided to the Flux crawler." }, - "cargo": { + "helmfile": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for Cargo.toml" + "description": "rootdir defines the root directory used to recursively search for Helmfile manifest" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "crates": { - "additionalProperties": { + "repositories": { + "items": { "type": "string" }, - "type": "object", - "description": "Crates specifies the list of Cargo crates to check" + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" }, - "registries": { - "items": { + "charts": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Registries specifies the list of Cargo registries to check" + "type": "object", + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -962,28 +1123,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore specifies rule to ignore Cargo.toml update." + "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Helmfile based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "crates": { - "additionalProperties": { + "repositories": { + "items": { "type": "string" }, - "type": "object", - "description": "Crates specifies the list of Cargo crates to check" + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" }, - "registries": { - "items": { + "charts": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Registries specifies the list of Cargo registries to check" + "type": "object", + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -991,41 +1152,27 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only specify required rule to restrict Cargo.toml update." + "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Helmfile based on a rule" }, - "registries": { + "auths": { "additionalProperties": { "properties": { - "auth": { - "properties": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." - }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." - }, - "url": { + "username": { "type": "string", - "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "rootdir": { + "password": { "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "scmid": { + "token": { "type": "string", - "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" }, "type": "object", "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" @@ -1051,20 +1198,16 @@ }, "additionalProperties": false, "type": "object", - "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Cargo parameters." + "description": "Spec defines the Helmfile parameters." }, - "dockercompose": { + "maven": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "digest": { - "type": "boolean", - "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." - }, "rootdir": { "type": "string", "description": "RootDir defines the root directory used to recursively search for Helm Chart" @@ -1072,30 +1215,23 @@ "ignore": { "items": { "properties": { - "archs": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Arch specifies a list of docker image architecture" - }, "path": { "type": "string", "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "services": { + "groupids": { "items": { "type": "string" }, "type": "array", - "description": "Services specifies a list of docker compose services" + "description": "GroupIDs specifies the list of Maven GroupIDs to check" }, - "images": { - "items": { + "artifactids": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Image specifies a list of docker image" + "type": "object", + "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" } }, "additionalProperties": false, @@ -1108,30 +1244,23 @@ "only": { "items": { "properties": { - "archs": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Arch specifies a list of docker image architecture" - }, "path": { "type": "string", "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "services": { + "groupids": { "items": { "type": "string" }, "type": "array", - "description": "Services specifies a list of docker compose services" + "description": "GroupIDs specifies the list of Maven GroupIDs to check" }, - "images": { - "items": { + "artifactids": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Image specifies a list of docker image" + "type": "object", + "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" } }, "additionalProperties": false, @@ -1141,129 +1270,6 @@ "type": "array", "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" }, - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - } - }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" - }, - "filematch": { - "items": { - "type": "string" - }, - "type": "array", - "description": "FileMatch allows to override default docker-compose.yaml file matching. Default [\"docker-compose.yaml\",\"docker-compose.yml\",\"docker-compose.*.yaml\",\"docker-compose.*.yml\"]" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Spec is a struct fill from Updatecli manifest data and shouldn't be modified at runtime unless For Fields that requires it, we can use the struct DockerCompose Spec defines the parameters which can be provided to the Helm builder." - }, - "rancher/fleet": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "rootdir": { - "type": "string", - "description": "RootDir defines the root directory used to recursively search for Fleet bundle" - }, - "ignore": { - "items": { - "properties": { - "path": { - "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" - }, - "charts": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" - } - }, - "additionalProperties": false, - "type": "object", - "description": "MatchingRule allows to specifies rules to identify manifest" - }, - "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Fleet bundle based on a rule" - }, - "only": { - "items": { - "properties": { - "path": { - "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" - }, - "charts": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" - } - }, - "additionalProperties": false, - "type": "object", - "description": "MatchingRule allows to specifies rules to identify manifest" - }, - "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific Fleet bundle based on a rule" - }, "versionfilter": { "properties": { "kind": { @@ -1290,7 +1296,7 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the fleet builder." + "description": "Spec defines the parameters which can be provided to the Helm builder." }, "terraform": { "$schema": "http://json-schema.org/draft-04/schema", @@ -1378,7 +1384,7 @@ "type": "object", "description": "Spec defines the Terraform parameters." }, - "prow": { + "kubernetes": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "auths": { @@ -1491,26 +1497,33 @@ "type": "object", "description": "Spec defines the parameters which can be provided to the Kubernetes builder." }, - "updatecli": { + "rancher/fleet": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "rootdir defines the root directory used to recursively search for Updatecli manifest" + "description": "RootDir defines the root directory used to recursively search for Fleet bundle" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "policies": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Policies specifies a Updatecli policy" + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -1518,21 +1531,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Updatecli based on a rule" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Fleet bundle based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "policies": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Policies specifies a Updatecli policy" + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -1540,37 +1560,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Updatecli based on a rule" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." - }, - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - } - }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + "description": "Only allows to specify rule to only autodiscover manifest for a specific Fleet bundle based on a rule" }, "versionfilter": { "properties": { @@ -1598,69 +1588,35 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Updatecli parameters." + "description": "Spec defines the parameters which can be provided to the fleet builder." }, - "flux": { + "cargo": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - } - }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "type": "object", - "description": "auths provides a map of registry credentials where the key is the registry URL without scheme" - }, - "digest": { - "type": "boolean", - "description": "digest allows to specify if the generated manifest should use OCI digest on top of the tag\n\ndefault: true" - }, - "helmrelease": { - "type": "boolean", - "description": "helmRelease define if helmrelease file should be updated or not\n\ndefault: true" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "files allows to override default flux files\n\ndefault: [\"*.yaml\", \"*.yml\"]" + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for Cargo.toml" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "repositories": { - "items": { + "crates": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "type": "object", + "description": "Crates specifies the list of Cargo crates to check" }, - "artifacts": { - "additionalProperties": { + "registries": { + "items": { "type": "string" }, - "type": "object", - "description": "Artifacts specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "type": "array", + "description": "Registries specifies the list of Cargo registries to check" } }, "additionalProperties": false, @@ -1668,28 +1624,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "ignore allows to specify rule to ignore autodiscovery a specific Flux helmrelease based on a rule\n\ndefault: empty" + "description": "Ignore specifies rule to ignore Cargo.toml update." }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "repositories": { - "items": { + "crates": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "type": "object", + "description": "Crates specifies the list of Cargo crates to check" }, - "artifacts": { - "additionalProperties": { + "registries": { + "items": { "type": "string" }, - "type": "object", - "description": "Artifacts specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "type": "array", + "description": "Registries specifies the list of Cargo registries to check" } }, "additionalProperties": false, @@ -1697,15 +1653,44 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "only allows to specify rule to only autodiscover manifest for a specific Flux helm release based on a rule\n\ndefault: empty" - }, - "ocirepository": { - "type": "boolean", - "description": "OCIRepository allows to specify if OCI repository files should be updated\n\ndefault: true" + "description": "Only specify required rule to restrict Cargo.toml update." }, - "rootdir": { - "type": "string", - "description": "rootDir defines the root directory used to recursively search for Flux files\n\ndefault: . (current working directory) or scm root directory" + "registries": { + "additionalProperties": { + "properties": { + "auth": { + "properties": { + "token": { + "type": "string", + "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." + }, + "headerformat": { + "type": "string", + "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." + }, + "url": { + "type": "string", + "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." + }, + "rootdir": { + "type": "string", + "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." + }, + "scmid": { + "type": "string", + "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." + } + }, + "additionalProperties": false, + "type": "object" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, "versionfilter": { "properties": { @@ -1728,36 +1713,44 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest." + "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Flux crawler." + "description": "Spec defines the Cargo parameters." }, - "gitea/action": { + "dockerfile": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "files allows to specify the accepted GitHub Action workflow file name\n\ndefault:\n - \".github/workflows/*.yaml\",\n - \".github/workflows/*.yml\",\n - \".gitea/workflows/*.yaml\",\n - \".gitea/workflows/*.yml\",\n - \".forgejo/workflows/*.yaml\",\n - \".forgejo/workflows/*.yml\"," + "digest": { + "type": "boolean", + "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." + }, + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for Helm Chart" }, "ignore": { "items": { "properties": { + "archs": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Arch specifies a list of docker image architecture" + }, "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Dockerfile path pattern, the pattern requires to match all of name, not just a substring." }, - "actions": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -1765,21 +1758,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" }, "only": { "items": { "properties": { + "archs": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Arch specifies a list of docker image architecture" + }, "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Dockerfile path pattern, the pattern requires to match all of name, not just a substring." }, - "actions": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -1787,11 +1787,37 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "only allows to specify rule to only autodiscover manifest for a specific GitHub action based on a rule\n\ndefault: empty" + "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" }, - "rootdir": { - "type": "string", - "description": "rootDir allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty" + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + }, + "filematch": { + "items": { + "type": "string" + }, + "type": "array", + "description": "FileMatch allows to override default Dockerfile file matching. Default [\"Dockerfile\"]" }, "versionfilter": { "properties": { @@ -1814,60 +1840,37 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest." - }, - "credentials": { - "additionalProperties": { - "properties": { - "kind": { - "type": "string" - }, - "token": { - "type": "string" - } - }, - "additionalProperties": false, - "type": "object" - }, - "type": "object", - "description": "Credentials allows to specify the credentials to use to authenticate to the git provider\nThe ID of the credential must be the domain of the git provider to configure\n\ndefault: empty\n\nexamples:\n```\n autodiscovery:\n crawlers:\n github/action:\n credentials:\n \"code.forgejo.com\":\n kind: gitea\n token: xxx\n \"github.com\":\n kind: github\n token: '{{ requiredEnv \"GITHUB_TOKEN\" }}'\n```" - }, - "digest": { - "type": "boolean", - "description": "Digest provides parameters to specify if the generated manifest should use a digest instead of the branch or tag." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Github Action crawler." + "description": "Spec is a struct fill from Updatecli manifest data and shouldn't be modified at runtime unless For Fields that requires it, we can use the struct Dockerfile Spec defines the parameters which can be provided to the Dockerfile crawler." }, - "helmfile": { + "golang/gomod": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "rootdir defines the root directory used to recursively search for Helmfile manifest" + "description": "rootDir defines the root directory used to recursively search for golang go.mod" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Path specifies a go.mod path pattern, the pattern requires to match all of name, not just a substring." }, - "charts": { + "modules": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Modules specifies a list of module pattern." + }, + "goversion": { + "type": "string", + "description": "GoVersions specifies a list of version pattern." } }, "additionalProperties": false, @@ -1875,59 +1878,33 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Helmfile based on a rule" + "description": "ignore allows to specify \"rule\" to ignore autodiscovery a specific go.mod rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Path specifies a go.mod path pattern, the pattern requires to match all of name, not just a substring." }, - "charts": { + "modules": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" - } - }, - "additionalProperties": false, - "type": "object", - "description": "MatchingRule allows to specifies rules to identify manifest" - }, - "type": "array", - "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Helmfile based on a rule" - }, - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Modules specifies a list of module pattern." }, - "token": { + "goversion": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "GoVersions specifies a list of version pattern." } }, "additionalProperties": false, "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" + "description": "MatchingRule allows to specifies rules to identify manifest" }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + "type": "array", + "description": "`only` allows to specify rule to \"only\" autodiscover manifest for a specific golang rule" }, "versionfilter": { "properties": { @@ -1950,14 +1927,14 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Helmfile parameters." + "description": "Spec defines the parameters which can be provided to the Golang autodiscovery builder." }, - "kubernetes": { + "helm": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "auths": { @@ -1981,36 +1958,40 @@ "description": "InlineKeyChain defines a keychain with OCI registry credentials" }, "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\n\t\tif empty, updatecli relies on OCI credentials such as the one used by Docker." }, "digest": { "type": "boolean", - "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." + "description": "digest provides a parameter to specify if the generated manifest should use a digest on top of the tag when updating container." }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." + "ignorecontainer": { + "type": "boolean", + "description": "ignorecontainer disables OCI container tag update when set to true" }, - "rootdir": { - "type": "string", - "description": "RootDir defines the root directory used to recursively search for Kubernetes files" + "ignorechartdependency": { + "type": "boolean", + "description": "ignorechartdependency disables Helm chart dependencies update when set to true" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { - "items": { + "dependencies": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Images specifies the list of container image to check" + "type": "object", + "description": "Dependencies specifies a list of dependencies pattern." + }, + "containers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Containers specifies a list of containers pattern." } }, "additionalProperties": false, @@ -2018,21 +1999,32 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Kubernetes manifest based on a rule" + "description": "Ignore specifies rule to ignore Helm chart update." + }, + "rootdir": { + "type": "string", + "description": "rootdir defines the root directory used to recursively search for Helm Chart" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { - "items": { + "dependencies": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Images specifies the list of container image to check" + "type": "object", + "description": "Dependencies specifies a list of dependencies pattern." + }, + "containers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Containers specifies a list of containers pattern." } }, "additionalProperties": false, @@ -2040,7 +2032,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific Kubernetes manifest based on a rule" + "description": "only specify required rule(s) to restrict Helm chart update." }, "versionfilter": { "properties": { @@ -2064,11 +2056,19 @@ "additionalProperties": false, "type": "object", "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + }, + "skippackaging": { + "type": "boolean", + "description": "[target] Defines if a Chart should be packaged or not." + }, + "versionincrement": { + "type": "string", + "description": "[target] Defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch\"" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Kubernetes builder." + "description": "Spec defines the Helm parameters." } }, "type": "object", @@ -2098,6 +2098,150 @@ "actions": { "additionalProperties": { "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "title": { + "type": "string" + }, + "kind": { + "enum": [ + "gitea/pullrequest" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "url": { + "type": "string", + "description": "\"url\" defines the Gitea url to interact with" + }, + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" + }, + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "sourcebranch": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the Gitea pullrequest.\n\n\t\tdefault:\n\t\t\t\"sourcebranch\" inherits the value from the scm branch if a scm of kind \"gitea\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + }, + "targetbranch": { + "type": "string", + "description": "\"targetbranch\" defines the branch name used as a target to create the Gitea pullrequest.\n\n\t\tdefault:\n\t\t\t\"targetbranch\" inherits the value from the scm working branch if a scm of kind \"gitea\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default.\n\t\t\tthe Gitea scm will create and use a working branch such as updatecli_xxxx" + }, + "owner": { + "type": "string", + "description": "\"owner\" defines the Gitea repository owner.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + }, + "repository": { + "type": "string", + "description": "\"repository\" defines the Gitea repository for a specific owner\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + }, + "title": { + "type": "string", + "description": "\"title\" defines the Gitea pullrequest title\n\n\t\tdefault:\n\t\t\tA Gitea pullrequest title is defined by one of the following location (first match)\n\t\t\t\t1. title is defined by the spec such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitea/pullrequest\n\t\t\t\t\t\t\tscmid: default\n\t\t\t\t\t\t\tspec:\n\t\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t2. title is defined by the action such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitea/pullrequest\n\t\t\t\t\t\t\tscmid default\n\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t3. title is defined by the first associated target title\n\n\t\t\t\t4. title is defined by the pipeline title\n\n\t\tremark:\n\t\t\tusually we prefer to go with option 2" + }, + "body": { + "type": "string", + "description": "\"body\" defines a custom body pullrequest.\n\n\t\tdefault:\n\t\t\tBy default a pullrequest body is generated out of a pipeline execution.\n\n\t\tremark:\n\t\t\tUnless you know what you are doing, you shouldn't set this value and rely on the sane default.\n\t\t\t\"body\" is useful to provide additional information when reviewing pullrequest, such as changelog url." + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" + }, + "scmid": { + "type": "string" + }, + "disablepipelineurl": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "title": { + "type": "string" + }, + "kind": { + "enum": [ + "stash/pullrequest" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "url": { + "type": "string", + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + }, + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "Repository specifies the name of a repository for a specific owner" + }, + "sourcebranch": { + "type": "string", + "description": "SourceBranch specifies the pullrequest source branch" + }, + "targetbranch": { + "type": "string", + "description": "TargetBranch specifies the pullrequest target branch" + }, + "title": { + "type": "string", + "description": "Title defines the Bitbucket pullrequest title." + }, + "body": { + "type": "string", + "description": "Body defines the Bitbucket pullrequest body" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" + }, + "scmid": { + "type": "string" + }, + "disablepipelineurl": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, { "$schema": "http://json-schema.org/draft-04/schema", "properties": { @@ -2299,150 +2443,6 @@ }, "additionalProperties": false, "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "title": { - "type": "string" - }, - "kind": { - "enum": [ - "gitea/pullrequest" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "sourcebranch": { - "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the Gitea pullrequest.\n\n\t\tdefault:\n\t\t\t\"sourcebranch\" inherits the value from the scm branch if a scm of kind \"gitea\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." - }, - "targetbranch": { - "type": "string", - "description": "\"targetbranch\" defines the branch name used as a target to create the Gitea pullrequest.\n\n\t\tdefault:\n\t\t\t\"targetbranch\" inherits the value from the scm working branch if a scm of kind \"gitea\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default.\n\t\t\tthe Gitea scm will create and use a working branch such as updatecli_xxxx" - }, - "owner": { - "type": "string", - "description": "\"owner\" defines the Gitea repository owner.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." - }, - "repository": { - "type": "string", - "description": "\"repository\" defines the Gitea repository for a specific owner\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." - }, - "title": { - "type": "string", - "description": "\"title\" defines the Gitea pullrequest title\n\n\t\tdefault:\n\t\t\tA Gitea pullrequest title is defined by one of the following location (first match)\n\t\t\t\t1. title is defined by the spec such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitea/pullrequest\n\t\t\t\t\t\t\tscmid: default\n\t\t\t\t\t\t\tspec:\n\t\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t2. title is defined by the action such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitea/pullrequest\n\t\t\t\t\t\t\tscmid default\n\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t3. title is defined by the first associated target title\n\n\t\t\t\t4. title is defined by the pipeline title\n\n\t\tremark:\n\t\t\tusually we prefer to go with option 2" - }, - "body": { - "type": "string", - "description": "\"body\" defines a custom body pullrequest.\n\n\t\tdefault:\n\t\t\tBy default a pullrequest body is generated out of a pipeline execution.\n\n\t\tremark:\n\t\t\tUnless you know what you are doing, you shouldn't set this value and rely on the sane default.\n\t\t\t\"body\" is useful to provide additional information when reviewing pullrequest, such as changelog url." - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" - }, - "scmid": { - "type": "string" - }, - "disablepipelineurl": { - "type": "boolean" - } - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "title": { - "type": "string" - }, - "kind": { - "enum": [ - "stash/pullrequest" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "url": { - "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "Owner specifies repository owner" - }, - "repository": { - "type": "string", - "description": "Repository specifies the name of a repository for a specific owner" - }, - "sourcebranch": { - "type": "string", - "description": "SourceBranch specifies the pullrequest source branch" - }, - "targetbranch": { - "type": "string", - "description": "TargetBranch specifies the pullrequest target branch" - }, - "title": { - "type": "string", - "description": "Title defines the Bitbucket pullrequest title." - }, - "body": { - "type": "string", - "description": "Body defines the Bitbucket pullrequest body" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" - }, - "scmid": { - "type": "string" - }, - "disablepipelineurl": { - "type": "boolean" - } - }, - "additionalProperties": false, - "type": "object" } ] }, @@ -3083,7 +3083,7 @@ }, "kind": { "enum": [ - "helmchart" + "dockerfile" ] }, "transformers": { @@ -3186,79 +3186,30 @@ "properties": { "file": { "type": "string", - "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" - }, - "key": { - "type": "string", - "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." - }, - "name": { - "type": "string", - "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" - }, - "skippackaging": { - "type": "boolean", - "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" - }, - "url": { - "type": "string", - "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" - }, - "value": { - "type": "string", - "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" - }, - "version": { - "type": "string", - "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" - }, - "versionincrement": { - "type": "string", - "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" - }, - "appversion": { - "type": "boolean", - "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" + "description": "File specifies the dockerimage file path to use and is incompatible with Files" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default." + "type": "array", + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "password": { + "value": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Value specifies the value for a specified Dockerfile instruction." }, - "token": { + "stage": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -3287,7 +3238,7 @@ }, "kind": { "enum": [ - "stash/branch" + "golang/module" ] }, "transformers": { @@ -3388,29 +3339,17 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "password": { + "proxy": { "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." }, - "owner": { + "module": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[S][C] Module specifies the name of the module" }, - "repository": { + "version": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[C] Defines a specific package version" }, "versionfilter": { "properties": { @@ -3434,20 +3373,14 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "branch": { - "type": "string", - "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ - "url", - "owner", - "repository" + "module" ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -3476,7 +3409,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "npm" ] }, "transformers": { @@ -3577,33 +3510,21 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "type": { - "type": "string", - "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" - }, - "hostname": { - "type": "string", - "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, - "namespace": { - "type": "string", - "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, "name": { "type": "string", - "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + "description": "Defines the specific npm package name" }, - "targetsystem": { + "version": { "type": "string", - "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." + "description": "Defines a specific package version" }, - "rawstring": { + "url": { "type": "string", - "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" }, - "version": { + "registrytoken": { "type": "string", - "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + "description": "RegistryToken defines the token to use when connection to the registry" }, "versionfilter": { "properties": { @@ -3626,11 +3547,16 @@ }, "additionalProperties": false, "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "npmrcpath": { + "type": "string", + "description": "NpmrcPath defines the path to the .npmrc file" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -3659,7 +3585,7 @@ }, "kind": { "enum": [ - "aws/ami" + "shell" ] }, "transformers": { @@ -3760,53 +3686,130 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "accesskey": { - "type": "string", - "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" - }, - "secretkey": { + "command": { "type": "string", - "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + "description": "command specifies the shell command to execute by Updatecli" }, - "filters": { + "environments": { "items": { "properties": { "name": { "type": "string", - "description": "Name specifies a filter name." + "description": "Name defines the environment variable name" }, - "values": { + "value": { "type": "string", - "description": "Values specifies a filter value for a specific filter name." + "description": "Value defines the environment variable value" } }, "additionalProperties": false, "type": "object", - "description": "Filter represents the updatecli configuration describing AMI filters." + "required": [ + "name" + ], + "description": "Environment is a struct containing information for an environment variable such as its name and its value" }, "type": "array", - "description": "Filters specifies a list of AMI filters" + "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." }, - "region": { - "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "changedif": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "exitcode" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "warning": { + "type": "integer", + "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" + }, + "success": { + "type": "integer", + "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" + }, + "failure": { + "type": "integer", + "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "warning", + "success", + "failure" + ] + } + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "file/checksum" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the list of file that Updatecli monitors to identify state change" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "files" + ] + } + }, + "additionalProperties": false, + "type": "object" + } + ], + "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" }, - "endpoint": { + "shell": { "type": "string", - "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" - }, - "dryrun": { - "type": "boolean", - "description": "Dryrun allows to Check whether you have the required permissions for the action." + "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" }, - "sortby": { + "workdir": { "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." } }, "additionalProperties": false, "type": "object", - "description": "Spec contains the updatecli configuration provided by users." + "required": [ + "command" + ], + "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -3835,7 +3838,7 @@ }, "kind": { "enum": [ - "dockerimage" + "aws/ami" ] }, "transformers": { @@ -3936,68 +3939,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { - "items": { - "type": "string" - }, - "type": "array", - "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "image": { + "accesskey": { "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" + "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "tag": { + "secretkey": { "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" + "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "filters": { + "items": { + "properties": { + "name": { + "type": "string", + "description": "Name specifies a filter name." + }, + "values": { + "type": "string", + "description": "Values specifies a filter value for a specific filter name." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Filter represents the updatecli configuration describing AMI filters." + }, + "type": "array", + "description": "Filters specifies a list of AMI filters" }, - "password": { + "region": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Region specifies the AWS region to use when looking for AMI" }, - "token": { + "endpoint": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" + "dryrun": { + "type": "boolean", + "description": "Dryrun allows to Check whether you have the required permissions for the action." }, - "tagfilter": { + "sortby": { "type": "string", - "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" + "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -4026,7 +4014,7 @@ }, "kind": { "enum": [ - "file" + "golang/gomod" ] }, "transformers": { @@ -4129,43 +4117,24 @@ "properties": { "file": { "type": "string", - "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "line": { - "type": "integer", - "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "content": { + "module": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "Module defines the module path\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "forcecreate": { + "indirect": { "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" - }, - "matchpattern": { - "type": "string", - "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" }, - "replacepattern": { + "version": { "type": "string", - "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -4194,7 +4163,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "temurin" ] }, "transformers": { @@ -4295,62 +4264,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "releaseline": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "username": { + "releasetype": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" }, - "token": { + "featureversion": { + "type": "integer", + "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" + }, + "result": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" }, - "owner": { + "architecture": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" }, - "repository": { + "imagetype": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "operatingsystem": { + "type": "string", + "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" }, - "branch": { + "specificversion": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + }, + "project": { + "type": "string", + "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + }, + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." } }, "additionalProperties": false, - "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "type": "object" }, "scmid": { "type": "string", @@ -4379,7 +4338,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "terraform/registry" ] }, "transformers": { @@ -4480,40 +4439,60 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "type": { "type": "string", - "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "hostname": { + "type": "string", + "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "value": { + "namespace": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "provider": { + "name": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "platforms": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "targetsystem": { + "type": "string", + "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." }, - "skipconstraints": { - "type": "boolean", - "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" + "rawstring": { + "type": "string", + "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + }, + "version": { + "type": "string", + "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object", - "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "type": "object" }, "scmid": { "type": "string", @@ -4542,7 +4521,7 @@ }, "kind": { "enum": [ - "toolversions" + "xml" ] }, "transformers": { @@ -4645,30 +4624,20 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" + "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "key": { + "path": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" }, "value": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" - }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -4697,7 +4666,7 @@ }, "kind": { "enum": [ - "gittag" + "gitlab/branch" ] }, "transformers": { @@ -4798,9 +4767,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "url": { "type": "string", - "description": "Path contains the git repository path" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + }, + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with GitLab" + }, + "token": { + "type": "string", + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -4813,49 +4798,30 @@ "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" }, "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "message": { - "type": "string", - "description": "Message associated to the git tag\n\n compatible:\n * target" - }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" - }, - "url": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "sourcebranch": { + "branch": { "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "owner", + "repository" ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -4884,7 +4850,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "githubrelease" ] }, "transformers": { @@ -4985,25 +4951,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "owner": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "[s][c] Owner specifies repository owner" }, - "username": { + "repository": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, "token": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "[s][c] Token specifies the credential used to authenticate with" }, - "owner": { + "url": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" }, - "repository": { + "username": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" }, "versionfilter": { "properties": { @@ -5026,20 +4992,48 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "branch": { + "typefilter": { + "properties": { + "draft": { + "type": "boolean", + "description": "\"Draft\" enable/disable GitHub draft release" + }, + "prerelease": { + "type": "boolean", + "description": "\"PreRelease\" enable/disable GitHub PreRelease" + }, + "release": { + "type": "boolean", + "description": "\"Release\" enable/disable GitHub release" + }, + "latest": { + "type": "boolean", + "description": "\"Latest\" if set to true will only filter the release flag as latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" + }, + "tag": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "[c] Tag allows to check for a specific release tag, default to source output" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", "required": [ "owner", - "repository" + "repository", + "token" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -5209,7 +5203,7 @@ }, "kind": { "enum": [ - "npm" + "json" ] }, "transformers": { @@ -5310,21 +5304,28 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { + "file": { "type": "string", - "description": "Defines the specific npm package name" + "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "version": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + }, + "key": { "type": "string", - "description": "Defines a specific package version" + "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" }, - "url": { + "value": { "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." }, - "registrytoken": { + "query": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" }, "versionfilter": { "properties": { @@ -5347,16 +5348,12 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "npmrcpath": { - "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -5385,7 +5382,7 @@ }, "kind": { "enum": [ - "csv" + "stash/tag" ] }, "transformers": { @@ -5486,36 +5483,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the csv file" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "key": { + "username": { "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "query": { + "token": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "value": { + "password": { "type": "string", - "description": "[s][c][t] Key specifies the csv value, default to source output" + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "comma": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -5538,11 +5528,21 @@ }, "additionalProperties": false, "type": "object", - "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "tag": { + "type": "string", + "description": "[S] Tag defines the Bitbucket tag ." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -5571,7 +5571,7 @@ }, "kind": { "enum": [ - "yaml" + "dockerimage" ] }, "transformers": { @@ -5672,45 +5672,68 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { - "type": "string", - "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" - }, - "file": { - "type": "string", - "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "files": { + "architectures": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "key": { + "architecture": { "type": "string", - "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" + "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "value": { + "image": { "type": "string", - "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "keyonly": { - "type": "boolean", - "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" + "tag": { + "type": "string", + "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "comment": { + "password": { "type": "string", - "description": "\"comment\" defines a comment to add after the value.\n\n\t\t\t\tcompatible:\n\t\t\t\t\t* target\n\n\t\t remarks:\n\t\t * require engine set to yamlpath" + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" + }, + "tagfilter": { + "type": "string", + "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" } }, "additionalProperties": false, "type": "object", - "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -5739,7 +5762,7 @@ }, "kind": { "enum": [ - "golang/module" + "file" ] }, "transformers": { @@ -5830,58 +5853,55 @@ "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." } }, - "additionalProperties": false, - "type": "object", - "description": "Transformer holds a transformer rule" - }, - "type": "array", - "description": "transformers defines how the default input value need to be transformed" - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "proxy": { + "additionalProperties": false, + "type": "object", + "description": "Transformer holds a transformer rule" + }, + "type": "array", + "description": "transformers defines how the default input value need to be transformed" + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "file": { + "type": "string", + "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" + }, + "line": { + "type": "integer", + "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + }, + "content": { "type": "string", - "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." + "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "module": { + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + }, + "matchpattern": { "type": "string", - "description": "[S][C] Module specifies the name of the module" + "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "version": { + "replacepattern": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "additionalProperties": false, "type": "object", - "required": [ - "module" - ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -6095,7 +6115,7 @@ }, "kind": { "enum": [ - "shell" + "maven" ] }, "transformers": { @@ -6196,130 +6216,60 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "command": { + "url": { "type": "string", - "description": "command specifies the shell command to execute by Updatecli" + "description": "Deprecated, please specify the Maven url in the repository" }, - "environments": { + "repository": { + "type": "string", + "description": "Specifies the maven repository url + name" + }, + "repositories": { "items": { - "properties": { - "name": { - "type": "string", - "description": "Name defines the environment variable name" - }, - "value": { - "type": "string", - "description": "Value defines the environment variable value" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "name" - ], - "description": "Environment is a struct containing information for an environment variable such as its name and its value" + "type": "string" }, "type": "array", - "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." + "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." }, - "changedif": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "exitcode" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "warning": { - "type": "integer", - "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" - }, - "success": { - "type": "integer", - "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" - }, - "failure": { - "type": "integer", - "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "warning", - "success", - "failure" - ] - } - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "file/checksum" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files specifies the list of file that Updatecli monitors to identify state change" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "files" - ] - } - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "console/output" - ] - }, - "spec": true - }, - "additionalProperties": false, - "type": "object" - } - ], - "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" + "groupid": { + "type": "string", + "description": "Specifies the maven artifact groupID" }, - "shell": { + "artifactid": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "description": "Specifies the maven artifact artifactID" }, - "workdir": { + "version": { "type": "string", - "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." + "description": "Specifies the maven artifact version" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "required": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -6348,7 +6298,7 @@ }, "kind": { "enum": [ - "stash/tag" + "terraform/file" ] }, "transformers": { @@ -6449,66 +6399,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" - }, - "repository": { + "file": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + }, + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "type": "array", + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "tag": { + "path": { "type": "string", - "description": "[S] Tag defines the Bitbucket tag ." + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + }, + "value": { + "type": "string", + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -6537,7 +6450,7 @@ }, "kind": { "enum": [ - "json" + "toml" ] }, "transformers": { @@ -6640,26 +6553,26 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[s][c][t] File specifies the toml file to manipulate" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "key": { + "query": { "type": "string", - "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "value": { + "key": { "type": "string", - "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" }, - "query": { + "value": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, "versionfilter": { "properties": { @@ -6682,12 +6595,15 @@ }, "additionalProperties": false, "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "description": "\"json\" defines the specification for manipulating \"json\" files." + "type": "object" }, "scmid": { "type": "string", @@ -6716,7 +6632,7 @@ }, "kind": { "enum": [ - "terraform/file" + "dockerdigest" ] }, "transformers": { @@ -6817,29 +6733,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "architecture": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "image": { + "type": "string", + "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "path": { + "tag": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "value": { + "digest": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." + }, + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + }, + "hidetag": { + "type": "boolean", + "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -6868,7 +6797,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "gitea/branch" ] }, "transformers": { @@ -6969,29 +6898,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "\"url\" defines the Gitea url to interact with" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "value": { + "token": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "provider": { + "owner": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -7020,7 +6982,7 @@ }, "kind": { "enum": [ - "toml" + "gitlab/tag" ] }, "transformers": { @@ -7121,28 +7083,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "query": { + "token": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "key": { + "owner": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "description": "[S][C] Owner specifies repository owner" }, - "value": { + "repository": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -7165,15 +7124,20 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "tag": { + "type": "string", + "description": "[S] Tag defines the GitLab tag ." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -7202,7 +7166,7 @@ }, "kind": { "enum": [ - "gitbranch" + "helmchart" ] }, "transformers": { @@ -7303,9 +7267,41 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "file": { "type": "string", - "description": "path contains the git repository path" + "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" + }, + "key": { + "type": "string", + "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." + }, + "name": { + "type": "string", + "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" + }, + "skippackaging": { + "type": "boolean", + "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" + }, + "url": { + "type": "string", + "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" + }, + "value": { + "type": "string", + "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "version": { + "type": "string", + "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" + }, + "versionincrement": { + "type": "string", + "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" + }, + "appversion": { + "type": "boolean", + "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" }, "versionfilter": { "properties": { @@ -7319,48 +7315,33 @@ }, "strict": { "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "branch": { - "type": "string", - "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" - }, - "sourcebranch": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "url": { - "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default." }, "username": { "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, "password": { "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "key": { + "token": { "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" } }, "additionalProperties": false, "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7389,7 +7370,7 @@ }, "kind": { "enum": [ - "githubrelease" + "stash/branch" ] }, "transformers": { @@ -7490,25 +7471,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { + "url": { "type": "string", - "description": "[s][c] Owner specifies repository owner" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "repository": { + "username": { "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, "token": { "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "url": { + "password": { "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "username": { + "owner": { "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -7531,48 +7516,21 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "typefilter": { - "properties": { - "draft": { - "type": "boolean", - "description": "\"Draft\" enable/disable GitHub draft release" - }, - "prerelease": { - "type": "boolean", - "description": "\"PreRelease\" enable/disable GitHub PreRelease" - }, - "release": { - "type": "boolean", - "description": "\"Release\" enable/disable GitHub release" - }, - "latest": { - "type": "boolean", - "description": "\"Latest\" if set to true will only filter the release flag as latest." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" - }, - "tag": { - "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "key": { + "branch": { "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source\n * condition" + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ + "url", "owner", - "repository", - "token" + "repository" ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -7601,7 +7559,7 @@ }, "kind": { "enum": [ - "golang" + "terraform/lock" ] }, "transformers": { @@ -7702,37 +7660,40 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "version": { + "file": { "type": "string", - "description": "[C] Version defines a specific golang version" + "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "type": "array", + "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + }, + "value": { + "type": "string", + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + }, + "provider": { + "type": "string", + "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "skipconstraints": { + "type": "boolean", + "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -7761,7 +7722,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "gittag" ] }, "transformers": { @@ -7862,26 +7823,64 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "path": { "type": "string", - "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "Path contains the git repository path" }, - "module": { + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" + }, + "message": { "type": "string", - "description": "Module defines the module path\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "Message associated to the git tag\n\n compatible:\n * target" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" }, - "version": { + "url": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "sourcebranch": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7910,7 +7909,7 @@ }, "kind": { "enum": [ - "xml" + "gitbranch" ] }, "transformers": { @@ -8011,22 +8010,64 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "path": { "type": "string", - "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "path contains the git repository path" }, - "path": { + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" + }, + "branch": { "type": "string", - "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" + "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" }, - "value": { + "sourcebranch": { "type": "string", - "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "url": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" } }, "additionalProperties": false, "type": "object", - "description": "\"xml\" defines the specification for manipulating \"xml\" files." + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -8055,7 +8096,7 @@ }, "kind": { "enum": [ - "cargopackage" + "terraform/provider" ] }, "transformers": { @@ -8156,78 +8197,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "registry": { - "properties": { - "auth": { - "properties": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." - }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." - }, - "url": { - "type": "string", - "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." - }, - "rootdir": { - "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." - }, - "scmid": { - "type": "string", - "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." - } + "file": { + "type": "string", + "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + }, + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + "type": "array", + "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, - "package": { + "value": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "version": { + "provider": { "type": "string", - "description": "[C] Defines a specific package version" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" } }, "additionalProperties": false, "type": "object", - "required": [ - "package" - ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -8256,7 +8248,7 @@ }, "kind": { "enum": [ - "gitea/release" + "yaml" ] }, "transformers": { @@ -8357,82 +8349,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { + "engine": { "type": "string", - "description": "[S][C][T] owner specifies the repository owner" + "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" }, - "repository": { + "file": { "type": "string", - "description": "[S][C][T] repository specifies the name of a repository for a specific owner" + "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { - "type": "string", - "description": "[T] title defines the Gitea release title." - }, - "tag": { - "type": "string", - "description": "[C][T] tag defines the Gitea release tag." + "type": "array", + "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "commitish": { + "key": { "type": "string", - "description": "[T] commitish defines the commit-ish such as `main`" + "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" }, - "description": { + "value": { "type": "string", - "description": "[T] description defines if the new release description" + "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "draft": { + "keyonly": { "type": "boolean", - "description": "[T] draft defines if the release is a draft release" + "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" }, - "prerelease": { + "searchpattern": { "type": "boolean", - "description": "[T] prerelease defines if the release is a pre-release release" + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + }, + "comment": { + "type": "string", + "description": "\"comment\" defines a comment to add after the value.\n\n\t\t\t\tcompatible:\n\t\t\t\t\t* target\n\n\t\t remarks:\n\t\t * require engine set to yamlpath" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -8461,7 +8416,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "csv" ] }, "transformers": { @@ -8562,25 +8517,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "[s][c][t] File specifies the csv file" }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "token": { + "key": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "[s][c][t] Key specifies the csv query" }, - "owner": { + "query": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[s][c][t] Key specifies the csv value, default to source output" + }, + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + }, + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" }, "versionfilter": { "properties": { @@ -8603,21 +8569,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "tag": { - "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, - "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "type": "object" }, "scmid": { "type": "string", @@ -8646,7 +8602,7 @@ }, "kind": { "enum": [ - "hcl" + "gitea/release" ] }, "transformers": { @@ -8747,29 +8703,82 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { + "type": "string", + "description": "\"url\" defines the Gitea url to interact with" + }, + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" + }, + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C][T] owner specifies the repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C][T] repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "title": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[T] title defines the Gitea release title." }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "tag": { + "type": "string", + "description": "[C][T] tag defines the Gitea release tag." }, - "path": { + "commitish": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "[T] commitish defines the commit-ish such as `main`" }, - "value": { + "description": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "[T] description defines if the new release description" + }, + "draft": { + "type": "boolean", + "description": "[T] draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -8798,7 +8807,7 @@ }, "kind": { "enum": [ - "maven" + "gitlab/release" ] }, "transformers": { @@ -8901,30 +8910,23 @@ "properties": { "url": { "type": "string", - "description": "Deprecated, please specify the Maven url in the repository" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "repository": { + "username": { "type": "string", - "description": "Specifies the maven repository url + name" - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "groupid": { + "token": { "type": "string", - "description": "Specifies the maven artifact groupID" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "artifactid": { + "owner": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "description": "[S][C][T] Owner specifies repository owner" }, - "version": { + "repository": { "type": "string", - "description": "Specifies the maven artifact version" + "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -8948,11 +8950,39 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "title": { + "type": "string", + "description": "[T] Title defines the GitLab release title." + }, + "tag": { + "type": "string", + "description": "[C][T] Tag defines the GitLab release tag." + }, + "commitish": { + "type": "string", + "description": "[T] Commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] Description defines if the new release description" + }, + "draft": { + "type": "boolean", + "description": "[T] Draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] Prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -8981,7 +9011,7 @@ }, "kind": { "enum": [ - "temurin" + "golang" ] }, "transformers": { @@ -9082,52 +9112,37 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "releaseline": { - "type": "string", - "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" - }, - "releasetype": { - "type": "string", - "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" - }, - "featureversion": { - "type": "integer", - "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" - }, - "result": { - "type": "string", - "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" - }, - "architecture": { - "type": "string", - "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" - }, - "imagetype": { - "type": "string", - "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" - }, - "operatingsystem": { - "type": "string", - "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" - }, - "specificversion": { - "type": "string", - "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" - }, - "project": { + "version": { "type": "string", - "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + "description": "[C] Version defines a specific golang version" }, - "platforms": { - "items": { - "type": "string" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } }, - "type": "array", - "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -9156,7 +9171,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "cargopackage" ] }, "transformers": { @@ -9257,42 +9272,78 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" - }, - "image": { - "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" - }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" - }, - "digest": { - "type": "string", - "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." - }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "registry": { + "properties": { + "auth": { + "properties": { + "token": { + "type": "string", + "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." + }, + "headerformat": { + "type": "string", + "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." + }, + "url": { + "type": "string", + "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." + }, + "rootdir": { + "type": "string", + "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." + }, + "scmid": { + "type": "string", + "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] Registry specifies the registry to use" }, - "password": { + "package": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[S][C] Package specifies the name of the package" }, - "token": { + "version": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "[C] Defines a specific package version" }, - "hidetag": { - "type": "boolean", - "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" + "required": [ + "package" + ], + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -9321,7 +9372,7 @@ }, "kind": { "enum": [ - "dockerfile" + "gitea/tag" ] }, "transformers": { @@ -9422,32 +9473,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "description": "\"url\" defines the Gitea url to interact with" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "value": { + "owner": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "description": "[S][C] Owner specifies repository owner" }, - "stage": { + "repository": { "type": "string", - "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "tag": { + "type": "string", + "description": "[S] Tag defines the Gitea tag ." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -9476,7 +9557,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "hcl" ] }, "transformers": { @@ -9577,81 +9658,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" - }, - "token": { - "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C][T] Owner specifies repository owner" - }, - "repository": { + "file": { "type": "string", - "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { - "type": "string", - "description": "[T] Title defines the GitLab release title." - }, - "tag": { - "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." + "type": "array", + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "commitish": { + "path": { "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "description": { + "value": { "type": "string", - "description": "[T] Description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" - }, - "prerelease": { - "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -9680,7 +9709,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "toolversions" ] }, "transformers": { @@ -9781,61 +9810,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" - }, - "username": { + "file": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "[s][c][t] File specifies the .tool-versions file to manipulate" }, - "token": { - "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" }, - "owner": { + "key": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, - "tag": { - "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "type": "object" }, "scmid": { "type": "string", @@ -9872,7 +9872,7 @@ }, "kind": { "enum": [ - "gitea/release" + "aws/ami" ] }, "transformers": { @@ -9963,92 +9963,63 @@ "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." } }, - "additionalProperties": false, - "type": "object", - "description": "Transformer holds a transformer rule" - }, - "type": "array", - "description": "transformers defines how the default input value need to be transformed" - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C][T] owner specifies the repository owner" - }, - "repository": { - "type": "string", - "description": "[S][C][T] repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { + "additionalProperties": false, + "type": "object", + "description": "Transformer holds a transformer rule" + }, + "type": "array", + "description": "transformers defines how the default input value need to be transformed" + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "accesskey": { "type": "string", - "description": "[T] title defines the Gitea release title." + "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "tag": { + "secretkey": { "type": "string", - "description": "[C][T] tag defines the Gitea release tag." + "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" }, - "commitish": { + "filters": { + "items": { + "properties": { + "name": { + "type": "string", + "description": "Name specifies a filter name." + }, + "values": { + "type": "string", + "description": "Values specifies a filter value for a specific filter name." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Filter represents the updatecli configuration describing AMI filters." + }, + "type": "array", + "description": "Filters specifies a list of AMI filters" + }, + "region": { "type": "string", - "description": "[T] commitish defines the commit-ish such as `main`" + "description": "Region specifies the AWS region to use when looking for AMI" }, - "description": { + "endpoint": { "type": "string", - "description": "[T] description defines if the new release description" + "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" }, - "draft": { + "dryrun": { "type": "boolean", - "description": "[T] draft defines if the release is a draft release" + "description": "Dryrun allows to Check whether you have the required permissions for the action." }, - "prerelease": { - "type": "boolean", - "description": "[T] prerelease defines if the release is a pre-release release" + "sortby": { + "type": "string", + "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -10086,7 +10057,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "cargopackage" ] }, "transformers": { @@ -10187,25 +10158,47 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" - }, - "token": { - "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "registry": { + "properties": { + "auth": { + "properties": { + "token": { + "type": "string", + "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." + }, + "headerformat": { + "type": "string", + "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." + }, + "url": { + "type": "string", + "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." + }, + "rootdir": { + "type": "string", + "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." + }, + "scmid": { + "type": "string", + "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] Registry specifies the registry to use" }, - "owner": { + "package": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[S][C] Package specifies the name of the package" }, - "repository": { + "version": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[C] Defines a specific package version" }, "versionfilter": { "properties": { @@ -10229,19 +10222,14 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "branch": { - "type": "string", - "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ - "owner", - "repository" + "package" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -10279,7 +10267,7 @@ }, "kind": { "enum": [ - "shell" + "golang/gomod" ] }, "transformers": { @@ -10358,152 +10346,48 @@ "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`." } }, - "additionalProperties": false, - "type": "object", - "required": [ - "pattern" - ], - "description": "Find searches for a specific value if it exists then return the value using regular expression" - }, - "semverinc": { - "type": "string", - "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Transformer holds a transformer rule" - }, - "type": "array", - "description": "transformers defines how the default input value need to be transformed" - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "command": { - "type": "string", - "description": "command specifies the shell command to execute by Updatecli" - }, - "environments": { - "items": { - "properties": { - "name": { - "type": "string", - "description": "Name defines the environment variable name" - }, - "value": { - "type": "string", - "description": "Value defines the environment variable value" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "name" - ], - "description": "Environment is a struct containing information for an environment variable such as its name and its value" - }, - "type": "array", - "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." - }, - "changedif": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "console/output" - ] - }, - "spec": true - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "exitcode" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "warning": { - "type": "integer", - "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" - }, - "success": { - "type": "integer", - "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" - }, - "failure": { - "type": "integer", - "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "warning", - "success", - "failure" - ] - } - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "file/checksum" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files specifies the list of file that Updatecli monitors to identify state change" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "files" - ] - } - }, - "additionalProperties": false, - "type": "object" - } - ], - "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" + "additionalProperties": false, + "type": "object", + "required": [ + "pattern" + ], + "description": "Find searches for a specific value if it exists then return the value using regular expression" + }, + "semverinc": { + "type": "string", + "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." + } }, - "shell": { + "additionalProperties": false, + "type": "object", + "description": "Transformer holds a transformer rule" + }, + "type": "array", + "description": "transformers defines how the default input value need to be transformed" + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "file": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "workdir": { + "module": { "type": "string", - "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." + "description": "Module defines the module path\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + }, + "indirect": { + "type": "boolean", + "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + }, + "version": { + "type": "string", + "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", - "required": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -10541,7 +10425,7 @@ }, "kind": { "enum": [ - "temurin" + "http" ] }, "transformers": { @@ -10642,52 +10526,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "releaseline": { - "type": "string", - "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" - }, - "releasetype": { - "type": "string", - "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" - }, - "featureversion": { - "type": "integer", - "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" - }, - "result": { - "type": "string", - "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" - }, - "architecture": { - "type": "string", - "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" - }, - "imagetype": { - "type": "string", - "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" - }, - "operatingsystem": { + "url": { "type": "string", - "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "specificversion": { + "returnresponseheader": { "type": "string", - "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + "description": "[S] Specifies the header to return as source value (instead of the body)." }, - "project": { - "type": "string", - "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + "request": { + "properties": { + "verb": { + "type": "string", + "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." + }, + "body": { + "type": "string", + "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." + }, + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." + }, + "nofollowredirects": { + "type": "boolean", + "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] Customizes the HTTP request to emit." }, - "platforms": { - "items": { - "type": "string" + "responseasserts": { + "properties": { + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[C] Specifies a set of assertions on the HTTP response headers." + }, + "statuscode": { + "type": "integer", + "description": "[C] Specifies a custom assertion on the HTTP response status code." + } }, - "type": "array", - "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." + "additionalProperties": false, + "type": "object", + "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -10725,7 +10619,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "terraform/file" ] }, "transformers": { @@ -10826,60 +10720,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "type": { - "type": "string", - "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" - }, - "hostname": { - "type": "string", - "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, - "namespace": { - "type": "string", - "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, - "name": { + "file": { "type": "string", - "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "targetsystem": { - "type": "string", - "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "rawstring": { + "path": { "type": "string", - "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "version": { + "value": { "type": "string", - "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -10917,7 +10780,7 @@ }, "kind": { "enum": [ - "gittag" + "csv" ] }, "transformers": { @@ -11018,9 +10881,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "file": { "type": "string", - "description": "Path contains the git repository path" + "description": "[s][c][t] File specifies the csv file" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" + }, + "key": { + "type": "string", + "description": "[s][c][t] Key specifies the csv query" + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + }, + "value": { + "type": "string", + "description": "[s][c][t] Key specifies the csv value, default to source output" + }, + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + }, + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" }, "versionfilter": { "properties": { @@ -11043,39 +10933,11 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "message": { - "type": "string", - "description": "Message associated to the git tag\n\n compatible:\n * target" - }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" - }, - "url": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" - }, - "sourcebranch": { - "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + } + }, + "additionalProperties": false, + "type": "object" }, "scmid": { "type": "string", @@ -11113,7 +10975,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "file" ] }, "transformers": { @@ -11214,61 +11076,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" }, - "token": { - "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "line": { + "type": "integer", + "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "owner": { + "content": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "repository": { - "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "matchpattern": { + "type": "string", + "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "tag": { + "replacepattern": { "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + }, + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -11306,7 +11152,7 @@ }, "kind": { "enum": [ - "golang/module" + "gittag" ] }, "transformers": { @@ -11407,17 +11253,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "proxy": { - "type": "string", - "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." - }, - "module": { - "type": "string", - "description": "[S][C] Module specifies the name of the module" - }, - "version": { + "path": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "Path contains the git repository path" }, "versionfilter": { "properties": { @@ -11440,15 +11278,39 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" + }, + "message": { + "type": "string", + "description": "Message associated to the git tag\n\n compatible:\n * target" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" + }, + "url": { + "type": "string", + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "sourcebranch": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." } }, "additionalProperties": false, "type": "object", "required": [ - "module" + "url" ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -11486,7 +11348,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "gitea/branch" ] }, "transformers": { @@ -11587,40 +11449,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "\"url\" defines the Gitea url to interact with" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "value": { + "token": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "provider": { + "owner": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "[S][C] Owner specifies repository owner" }, - "platforms": { - "items": { - "type": "string" + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } }, - "type": "array", - "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "skipconstraints": { - "type": "boolean", - "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -11658,7 +11542,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "hcl" ] }, "transformers": { @@ -11761,27 +11645,27 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "value": { + "path": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "provider": { + "value": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -11819,7 +11703,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "yaml" ] }, "transformers": { @@ -11920,62 +11804,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "engine": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" }, - "username": { + "file": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "owner": { + "key": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "keyonly": { + "type": "boolean", + "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" + }, + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" }, - "tag": { + "comment": { "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "description": "\"comment\" defines a comment to add after the value.\n\n\t\t\t\tcompatible:\n\t\t\t\t\t* target\n\n\t\t remarks:\n\t\t * require engine set to yamlpath" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -12013,7 +11880,7 @@ }, "kind": { "enum": [ - "dockerfile" + "npm" ] }, "transformers": { @@ -12114,32 +11981,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "name": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "description": "Defines the specific npm package name" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" + "version": { + "type": "string", + "description": "Defines a specific package version" }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "url": { + "type": "string", + "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" }, - "value": { + "registrytoken": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "description": "RegistryToken defines the token to use when connection to the registry" }, - "stage": { + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "npmrcpath": { "type": "string", - "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" + "description": "NpmrcPath defines the path to the .npmrc file" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12177,7 +12065,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "gitlab/tag" ] }, "transformers": { @@ -12292,11 +12180,11 @@ }, "owner": { "type": "string", - "description": "[S][C][T] Owner specifies repository owner" + "description": "[S][C] Owner specifies repository owner" }, "repository": { "type": "string", - "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -12319,31 +12207,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { - "type": "string", - "description": "[T] Title defines the GitLab release title." + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, "tag": { "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." - }, - "commitish": { - "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" - }, - "description": { - "type": "string", - "description": "[T] Description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" - }, - "prerelease": { - "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" + "description": "[S] Tag defines the GitLab tag ." } }, "additionalProperties": false, @@ -12390,7 +12258,7 @@ }, "kind": { "enum": [ - "hcl" + "helmchart" ] }, "transformers": { @@ -12493,27 +12361,79 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "key": { + "type": "string", + "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." }, - "path": { + "name": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" + }, + "skippackaging": { + "type": "boolean", + "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" + }, + "url": { + "type": "string", + "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" }, "value": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "version": { + "type": "string", + "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" + }, + "versionincrement": { + "type": "string", + "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" + }, + "appversion": { + "type": "boolean", + "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default." + }, + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12551,7 +12471,7 @@ }, "kind": { "enum": [ - "http" + "terraform/registry" ] }, "transformers": { @@ -12652,62 +12572,60 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "type": { "type": "string", - "description": "[S][C] Specifies the URL of the HTTP request for this resource." + "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" }, - "returnresponseheader": { + "hostname": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "request": { + "namespace": { + "type": "string", + "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + }, + "name": { + "type": "string", + "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + }, + "targetsystem": { + "type": "string", + "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." + }, + "rawstring": { + "type": "string", + "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + }, + "version": { + "type": "string", + "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + }, + "versionfilter": { "properties": { - "verb": { + "kind": { "type": "string", - "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." + "description": "specifies the version kind such as semver, regex, or latest" }, - "body": { + "pattern": { "type": "string", - "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." - }, - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" }, - "nofollowredirects": { + "strict": { "type": "boolean", - "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Customizes the HTTP request to emit." - }, - "responseasserts": { - "properties": { - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[C] Specifies a set of assertions on the HTTP response headers." + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" }, - "statuscode": { - "type": "integer", - "description": "[C] Specifies a custom assertion on the HTTP response status code." + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." } }, "additionalProperties": false, "type": "object", - "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." + "type": "object" }, "scmid": { "type": "string", @@ -12745,7 +12663,7 @@ }, "kind": { "enum": [ - "maven" + "toolversions" ] }, "transformers": { @@ -12843,63 +12761,35 @@ "type": "array", "description": "transformers defines how the default input value need to be transformed" }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "url": { - "type": "string", - "description": "Deprecated, please specify the Maven url in the repository" - }, - "repository": { + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "file": { "type": "string", - "description": "Specifies the maven repository url + name" + "description": "[s][c][t] File specifies the .tool-versions file to manipulate" }, - "repositories": { + "files": { "items": { "type": "string" }, "type": "array", - "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." - }, - "groupid": { - "type": "string", - "description": "Specifies the maven artifact groupID" + "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" }, - "artifactid": { + "key": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" }, - "version": { + "value": { "type": "string", - "description": "Specifies the maven artifact version" + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -12937,7 +12827,7 @@ }, "kind": { "enum": [ - "terraform/file" + "dockerfile" ] }, "transformers": { @@ -13040,27 +12930,30 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "File specifies the dockerimage file path to use and is incompatible with Files" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "path": { - "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, "value": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "Value specifies the value for a specified Dockerfile instruction." + }, + "stage": { + "type": "string", + "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -13098,7 +12991,7 @@ }, "kind": { "enum": [ - "toml" + "gitbranch" ] }, "transformers": { @@ -13199,28 +13092,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" - }, - "query": { - "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" - }, - "key": { - "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" - }, - "value": { + "path": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "path contains the git repository path" }, "versionfilter": { "properties": { @@ -13243,15 +13117,39 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "branch": { + "type": "string", + "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" + }, + "sourcebranch": { + "type": "string", + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "url": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -13289,7 +13187,7 @@ }, "kind": { "enum": [ - "cargopackage" + "jenkins" ] }, "transformers": { @@ -13390,78 +13288,18 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "registry": { - "properties": { - "auth": { - "properties": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." - }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." - }, - "url": { - "type": "string", - "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." - }, - "rootdir": { - "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." - }, - "scmid": { - "type": "string", - "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" - }, - "package": { + "release": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" }, "version": { "type": "string", - "description": "[C] Defines a specific package version" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s][c] Defines a specific release version (condition only)" } }, "additionalProperties": false, "type": "object", - "required": [ - "package" - ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -13499,7 +13337,7 @@ }, "kind": { "enum": [ - "dockerimage" + "maven" ] }, "transformers": { @@ -13600,36 +13438,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { - "items": { - "type": "string" - }, - "type": "array", - "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "architecture": { + "url": { "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" + "description": "Deprecated, please specify the Maven url in the repository" }, - "image": { + "repository": { "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" + "description": "Specifies the maven repository url + name" }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." }, - "username": { + "groupid": { "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Specifies the maven artifact groupID" }, - "password": { + "artifactid": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Specifies the maven artifact artifactID" }, - "token": { + "version": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "Specifies the maven artifact version" }, "versionfilter": { "properties": { @@ -13652,16 +13486,12 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" - }, - "tagfilter": { - "type": "string", - "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -13699,7 +13529,7 @@ }, "kind": { "enum": [ - "file" + "stash/branch" ] }, "transformers": { @@ -13800,45 +13630,66 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "line": { - "type": "integer", - "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "username": { + "type": "string", + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "content": { + "token": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "forcecreate": { - "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "matchpattern": { + "owner": { "type": "string", - "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[S][C] Owner specifies repository owner" }, - "replacepattern": { + "repository": { "type": "string", - "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -13876,7 +13727,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "temurin" ] }, "transformers": { @@ -13977,62 +13828,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "releaseline": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "username": { + "releasetype": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" }, - "token": { + "featureversion": { + "type": "integer", + "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" + }, + "result": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" }, - "owner": { + "architecture": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" }, - "repository": { + "imagetype": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "operatingsystem": { + "type": "string", + "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" }, - "branch": { + "specificversion": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + }, + "project": { + "type": "string", + "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + }, + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." } }, "additionalProperties": false, - "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "type": "object" }, "scmid": { "type": "string", @@ -14070,7 +13911,7 @@ }, "kind": { "enum": [ - "githubrelease" + "terraform/provider" ] }, "transformers": { @@ -14171,89 +14012,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { - "type": "string", - "description": "[s][c] Owner specifies repository owner" - }, - "repository": { - "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" - }, - "token": { - "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" - }, - "url": { - "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" - }, - "username": { + "file": { "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "typefilter": { - "properties": { - "draft": { - "type": "boolean", - "description": "\"Draft\" enable/disable GitHub draft release" - }, - "prerelease": { - "type": "boolean", - "description": "\"PreRelease\" enable/disable GitHub PreRelease" - }, - "release": { - "type": "boolean", - "description": "\"Release\" enable/disable GitHub release" - }, - "latest": { - "type": "boolean", - "description": "\"Latest\" if set to true will only filter the release flag as latest." - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" + "type": "array", + "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, - "tag": { + "value": { "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "key": { + "provider": { "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source\n * condition" + "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository", - "token" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -14291,7 +14072,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "toml" ] }, "transformers": { @@ -14392,42 +14173,59 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" - }, - "image": { + "file": { "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + "description": "[s][c][t] File specifies the toml file to manipulate" }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "digest": { + "query": { "type": "string", - "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "username": { + "key": { "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" }, - "password": { + "value": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "hidetag": { + "createmissingkey": { "type": "boolean", - "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -14465,7 +14263,7 @@ }, "kind": { "enum": [ - "npm" + "gitea/tag" ] }, "transformers": { @@ -14566,21 +14364,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { + "url": { "type": "string", - "description": "Defines the specific npm package name" + "description": "\"url\" defines the Gitea url to interact with" }, - "version": { + "username": { "type": "string", - "description": "Defines a specific package version" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "url": { + "token": { "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "registrytoken": { + "owner": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -14603,16 +14405,21 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "npmrcpath": { + "tag": { "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "description": "[S] Tag defines the Gitea tag ." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -14650,7 +14457,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "golang/module" ] }, "transformers": { @@ -14751,26 +14558,48 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "proxy": { "type": "string", - "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." }, "module": { "type": "string", - "description": "Module defines the module path\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "description": "[S][C] Module specifies the name of the module" }, "version": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "description": "[C] Defines a specific package version" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "required": [ + "module" + ], + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -14808,7 +14637,7 @@ }, "kind": { "enum": [ - "jenkins" + "json" ] }, "transformers": { @@ -14909,18 +14738,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "file": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "version": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + }, + "key": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" + }, + "value": { + "type": "string", + "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -14958,7 +14825,7 @@ }, "kind": { "enum": [ - "json" + "shell" ] }, "transformers": { @@ -15059,56 +14926,130 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "command": { "type": "string", - "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "command specifies the shell command to execute by Updatecli" }, - "files": { + "environments": { "items": { - "type": "string" + "properties": { + "name": { + "type": "string", + "description": "Name defines the environment variable name" + }, + "value": { + "type": "string", + "description": "Value defines the environment variable value" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ], + "description": "Environment is a struct containing information for an environment variable such as its name and its value" }, "type": "array", - "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." }, - "key": { - "type": "string", - "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" + "changedif": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "exitcode" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "warning": { + "type": "integer", + "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" + }, + "success": { + "type": "integer", + "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" + }, + "failure": { + "type": "integer", + "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "warning", + "success", + "failure" + ] + } + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "file/checksum" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the list of file that Updatecli monitors to identify state change" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "files" + ] + } + }, + "additionalProperties": false, + "type": "object" + } + ], + "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" }, - "value": { + "shell": { "type": "string", - "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" }, - "query": { + "workdir": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." } }, "additionalProperties": false, "type": "object", - "description": "\"json\" defines the specification for manipulating \"json\" files." + "required": [ + "command" + ], + "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15146,7 +15087,7 @@ }, "kind": { "enum": [ - "xml" + "stash/tag" ] }, "transformers": { @@ -15247,22 +15188,66 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "path": { + "username": { "type": "string", - "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "value": { + "token": { "type": "string", - "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "tag": { + "type": "string", + "description": "[S] Tag defines the Bitbucket tag ." } }, "additionalProperties": false, "type": "object", - "description": "\"xml\" defines the specification for manipulating \"xml\" files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -15300,7 +15285,7 @@ }, "kind": { "enum": [ - "aws/ami" + "terraform/lock" ] }, "transformers": { @@ -15401,53 +15386,40 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "accesskey": { - "type": "string", - "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" - }, - "secretkey": { + "file": { "type": "string", - "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "filters": { + "files": { "items": { - "properties": { - "name": { - "type": "string", - "description": "Name specifies a filter name." - }, - "values": { - "type": "string", - "description": "Values specifies a filter value for a specific filter name." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Filter represents the updatecli configuration describing AMI filters." + "type": "string" }, "type": "array", - "description": "Filters specifies a list of AMI filters" + "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, - "region": { + "value": { "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "endpoint": { + "provider": { "type": "string", - "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "dryrun": { - "type": "boolean", - "description": "Dryrun allows to Check whether you have the required permissions for the action." + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "sortby": { - "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "skipconstraints": { + "type": "boolean", + "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" } }, "additionalProperties": false, "type": "object", - "description": "Spec contains the updatecli configuration provided by users." + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -15485,7 +15457,7 @@ }, "kind": { "enum": [ - "stash/tag" + "dockerimage" ] }, "transformers": { @@ -15586,29 +15558,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "architectures": { + "items": { + "type": "string" + }, + "type": "array", + "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" + }, + "architecture": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "username": { + "image": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "token": { + "tag": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" }, - "password": { + "username": { "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "owner": { + "password": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "repository": { + "token": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" }, "versionfilter": { "properties": { @@ -15631,21 +15610,16 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" }, - "tag": { + "tagfilter": { "type": "string", - "description": "[S] Tag defines the Bitbucket tag ." + "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15683,7 +15657,7 @@ }, "kind": { "enum": [ - "toolversions" + "gitlab/release" ] }, "transformers": { @@ -15784,32 +15758,81 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "files": { - "items": { - "type": "string" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with GitLab" + }, + "token": { + "type": "string", + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C][T] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } }, - "type": "array", - "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "title": { + "type": "string", + "description": "[T] Title defines the GitLab release title." }, - "key": { + "tag": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "description": "[C][T] Tag defines the GitLab release tag." }, - "value": { + "commitish": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[T] Commitish defines the commit-ish such as `main`" }, - "createmissingkey": { + "description": { + "type": "string", + "description": "[T] Description defines if the new release description" + }, + "draft": { "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "description": "[T] Draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] Prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -15847,7 +15870,7 @@ }, "kind": { "enum": [ - "yaml" + "golang" ] }, "transformers": { @@ -15948,45 +15971,37 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { - "type": "string", - "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" - }, - "file": { + "version": { "type": "string", - "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[C] Version defines a specific golang version" }, - "files": { - "items": { - "type": "string" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } }, - "type": "array", - "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" - }, - "key": { - "type": "string", - "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" - }, - "value": { - "type": "string", - "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." - }, - "keyonly": { - "type": "boolean", - "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" - }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" - }, - "comment": { - "type": "string", - "description": "\"comment\" defines a comment to add after the value.\n\n\t\t\t\tcompatible:\n\t\t\t\t\t* target\n\n\t\t remarks:\n\t\t * require engine set to yamlpath" + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -16024,7 +16039,7 @@ }, "kind": { "enum": [ - "stash/branch" + "dockerdigest" ] }, "transformers": { @@ -16125,66 +16140,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "architecture": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" }, - "username": { + "image": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "token": { + "tag": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "password": { + "digest": { "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." }, - "owner": { + "username": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "repository": { + "password": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "branch": { + "token": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + }, + "hidetag": { + "type": "boolean", + "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -16222,7 +16213,7 @@ }, "kind": { "enum": [ - "gitbranch" + "gitea/release" ] }, "transformers": { @@ -16323,9 +16314,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "url": { "type": "string", - "description": "path contains the git repository path" + "description": "\"url\" defines the Gitea url to interact with" + }, + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" + }, + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C][T] owner specifies the repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C][T] repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -16348,39 +16355,41 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" + "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "branch": { + "title": { "type": "string", - "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" + "description": "[T] title defines the Gitea release title." }, - "sourcebranch": { + "tag": { "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + "description": "[C][T] tag defines the Gitea release tag." }, - "url": { + "commitish": { "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "description": "[T] commitish defines the commit-ish such as `main`" }, - "username": { + "description": { "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + "description": "[T] description defines if the new release description" }, - "password": { - "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "draft": { + "type": "boolean", + "description": "[T] draft defines if the release is a draft release" }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" + "prerelease": { + "type": "boolean", + "description": "[T] prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "url", + "owner", + "repository" ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -16418,7 +16427,7 @@ }, "kind": { "enum": [ - "golang" + "gitlab/branch" ] }, "transformers": { @@ -16519,9 +16528,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "version": { + "url": { "type": "string", - "description": "[C] Version defines a specific golang version" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + }, + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with GitLab" + }, + "token": { + "type": "string", + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -16545,11 +16570,19 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -16587,7 +16620,7 @@ }, "kind": { "enum": [ - "helmchart" + "githubrelease" ] }, "transformers": { @@ -16684,45 +16717,29 @@ }, "type": "array", "description": "transformers defines how the default input value need to be transformed" - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "file": { - "type": "string", - "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" - }, - "key": { - "type": "string", - "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." - }, - "name": { + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "owner": { "type": "string", - "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" - }, - "skippackaging": { - "type": "boolean", - "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" + "description": "[s][c] Owner specifies repository owner" }, - "url": { + "repository": { "type": "string", - "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, - "value": { + "token": { "type": "string", - "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "[s][c] Token specifies the credential used to authenticate with" }, - "version": { + "url": { "type": "string", - "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" + "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" }, - "versionincrement": { + "username": { "type": "string", - "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" - }, - "appversion": { - "type": "boolean", - "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" }, "versionfilter": { "properties": { @@ -16745,24 +16762,48 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "typefilter": { + "properties": { + "draft": { + "type": "boolean", + "description": "\"Draft\" enable/disable GitHub draft release" + }, + "prerelease": { + "type": "boolean", + "description": "\"PreRelease\" enable/disable GitHub PreRelease" + }, + "release": { + "type": "boolean", + "description": "\"Release\" enable/disable GitHub release" + }, + "latest": { + "type": "boolean", + "description": "\"Latest\" if set to true will only filter the release flag as latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" }, - "password": { + "tag": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[c] Tag allows to check for a specific release tag, default to source output" }, - "token": { + "key": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" + "required": [ + "owner", + "repository", + "token" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -16800,7 +16841,7 @@ }, "kind": { "enum": [ - "csv" + "xml" ] }, "transformers": { @@ -16903,61 +16944,20 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the csv file" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" - }, - "key": { - "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "query": { + "path": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" }, "value": { "type": "string", - "description": "[s][c][t] Key specifies the csv value, default to source output" - }, - "comma": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" - }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -17003,7 +17003,7 @@ }, "kind": { "enum": [ - "aws/ami" + "gitea/branch" ] }, "transformers": { @@ -17104,53 +17104,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "accesskey": { + "url": { "type": "string", - "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" + "description": "\"url\" defines the Gitea url to interact with" }, - "secretkey": { + "username": { "type": "string", - "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "filters": { - "items": { - "properties": { - "name": { - "type": "string", - "description": "Name specifies a filter name." - }, - "values": { - "type": "string", - "description": "Values specifies a filter value for a specific filter name." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Filter represents the updatecli configuration describing AMI filters." - }, - "type": "array", - "description": "Filters specifies a list of AMI filters" + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "region": { + "owner": { "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "description": "[S][C] Owner specifies repository owner" }, - "endpoint": { + "repository": { "type": "string", - "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, - "dryrun": { - "type": "boolean", - "description": "Dryrun allows to Check whether you have the required permissions for the action." + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "sortby": { + "branch": { "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "Spec contains the updatecli configuration provided by users." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -17197,7 +17206,7 @@ }, "kind": { "enum": [ - "json" + "githubrelease" ] }, "transformers": { @@ -17298,28 +17307,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "owner": { "type": "string", - "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[s][c] Owner specifies repository owner" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "repository": { + "type": "string", + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, - "key": { + "token": { "type": "string", - "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" + "description": "[s][c] Token specifies the credential used to authenticate with" }, - "value": { + "url": { "type": "string", - "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" }, - "query": { + "username": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" }, "versionfilter": { "properties": { @@ -17342,12 +17348,48 @@ }, "additionalProperties": false, "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "typefilter": { + "properties": { + "draft": { + "type": "boolean", + "description": "\"Draft\" enable/disable GitHub draft release" + }, + "prerelease": { + "type": "boolean", + "description": "\"PreRelease\" enable/disable GitHub PreRelease" + }, + "release": { + "type": "boolean", + "description": "\"Release\" enable/disable GitHub release" + }, + "latest": { + "type": "boolean", + "description": "\"Latest\" if set to true will only filter the release flag as latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" + }, + "tag": { + "type": "string", + "description": "[c] Tag allows to check for a specific release tag, default to source output" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", - "description": "\"json\" defines the specification for manipulating \"json\" files." + "required": [ + "owner", + "repository", + "token" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -17394,7 +17436,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "hcl" ] }, "transformers": { @@ -17497,27 +17539,27 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "value": { + "path": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "provider": { + "value": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -17564,7 +17606,7 @@ }, "kind": { "enum": [ - "toolversions" + "stash/tag" ] }, "transformers": { @@ -17665,32 +17707,66 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" + "username": { + "type": "string", + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "key": { + "token": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "value": { + "password": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "tag": { + "type": "string", + "description": "[S] Tag defines the Bitbucket tag ." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -17737,7 +17813,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "temurin" ] }, "transformers": { @@ -17838,56 +17914,48 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "type": { + "releaseline": { "type": "string", - "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" + "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "hostname": { + "releasetype": { "type": "string", - "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" }, - "namespace": { + "featureversion": { + "type": "integer", + "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" + }, + "result": { "type": "string", - "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" }, - "name": { + "architecture": { "type": "string", - "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" }, - "targetsystem": { + "imagetype": { "type": "string", - "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." + "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" }, - "rawstring": { + "operatingsystem": { "type": "string", - "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" }, - "version": { + "specificversion": { "type": "string", - "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } + "project": { + "type": "string", + "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + }, + "platforms": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "type": "array", + "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." } }, "additionalProperties": false, @@ -17938,7 +18006,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "aws/ami" ] }, "transformers": { @@ -18039,42 +18107,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architecture": { + "accesskey": { "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" + "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "image": { + "secretkey": { "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + "filters": { + "items": { + "properties": { + "name": { + "type": "string", + "description": "Name specifies a filter name." + }, + "values": { + "type": "string", + "description": "Values specifies a filter value for a specific filter name." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Filter represents the updatecli configuration describing AMI filters." + }, + "type": "array", + "description": "Filters specifies a list of AMI filters" }, - "digest": { + "region": { "type": "string", - "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." + "description": "Region specifies the AWS region to use when looking for AMI" }, - "username": { + "endpoint": { "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "dryrun": { + "type": "boolean", + "description": "Dryrun allows to Check whether you have the required permissions for the action." }, - "token": { + "sortby": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - }, - "hidetag": { - "type": "boolean", - "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" + "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -18121,7 +18200,7 @@ }, "kind": { "enum": [ - "file" + "golang/module" ] }, "transformers": { @@ -18222,45 +18301,48 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "line": { - "type": "integer", - "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "content": { + "proxy": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "forcecreate": { - "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." }, - "matchpattern": { + "module": { "type": "string", - "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[S][C] Module specifies the name of the module" }, - "replacepattern": { + "version": { "type": "string", - "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[C] Defines a specific package version" }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" + "required": [ + "module" + ], + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -18307,7 +18389,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "helmchart" ] }, "transformers": { @@ -18408,25 +18490,41 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" }, - "username": { + "key": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." }, - "token": { + "name": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" }, - "owner": { + "skippackaging": { + "type": "boolean", + "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" + }, + "url": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "version": { + "type": "string", + "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" + }, + "versionincrement": { + "type": "string", + "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" + }, + "appversion": { + "type": "boolean", + "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" }, "versionfilter": { "properties": { @@ -18449,20 +18547,24 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default." }, - "branch": { + "username": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -18509,7 +18611,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "jenkins" ] }, "transformers": { @@ -18610,61 +18712,18 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" - }, - "token": { - "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" - }, - "repository": { + "release": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "tag": { + "version": { "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "description": "[s][c] Defines a specific release version (condition only)" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -18711,7 +18770,7 @@ }, "kind": { "enum": [ - "maven" + "npm" ] }, "transformers": { @@ -18812,32 +18871,21 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "Deprecated, please specify the Maven url in the repository" - }, - "repository": { + "name": { "type": "string", - "description": "Specifies the maven repository url + name" - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." + "description": "Defines the specific npm package name" }, - "groupid": { + "version": { "type": "string", - "description": "Specifies the maven artifact groupID" + "description": "Defines a specific package version" }, - "artifactid": { + "url": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" }, - "version": { + "registrytoken": { "type": "string", - "description": "Specifies the maven artifact version" + "description": "RegistryToken defines the token to use when connection to the registry" }, "versionfilter": { "properties": { @@ -18860,12 +18908,16 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "npmrcpath": { + "type": "string", + "description": "NpmrcPath defines the path to the .npmrc file" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -18912,7 +18964,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "xml" ] }, "transformers": { @@ -19015,38 +19067,20 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "value": { + "path": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" }, - "provider": { + "value": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" - }, - "platforms": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" - }, - "skipconstraints": { - "type": "boolean", - "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" + "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -19093,7 +19127,7 @@ }, "kind": { "enum": [ - "helmchart" + "dockerfile" ] }, "transformers": { @@ -19173,102 +19207,53 @@ } }, "additionalProperties": false, - "type": "object", - "required": [ - "pattern" - ], - "description": "Find searches for a specific value if it exists then return the value using regular expression" - }, - "semverinc": { - "type": "string", - "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Transformer holds a transformer rule" - }, - "type": "array", - "description": "transformers defines how the default input value need to be transformed" - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "file": { - "type": "string", - "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" - }, - "key": { - "type": "string", - "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." - }, - "name": { - "type": "string", - "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" - }, - "skippackaging": { - "type": "boolean", - "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" - }, - "url": { - "type": "string", - "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" - }, - "value": { - "type": "string", - "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" - }, - "version": { - "type": "string", - "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" + "type": "object", + "required": [ + "pattern" + ], + "description": "Find searches for a specific value if it exists then return the value using regular expression" + }, + "semverinc": { + "type": "string", + "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." + } }, - "versionincrement": { + "additionalProperties": false, + "type": "object", + "description": "Transformer holds a transformer rule" + }, + "type": "array", + "description": "transformers defines how the default input value need to be transformed" + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "file": { "type": "string", - "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" - }, - "appversion": { - "type": "boolean", - "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" + "description": "File specifies the dockerimage file path to use and is incompatible with Files" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default." + "type": "array", + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "password": { + "value": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Value specifies the value for a specified Dockerfile instruction." }, - "token": { + "stage": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -19315,7 +19300,7 @@ }, "kind": { "enum": [ - "npm" + "gitea/release" ] }, "transformers": { @@ -19416,21 +19401,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { + "url": { "type": "string", - "description": "Defines the specific npm package name" + "description": "\"url\" defines the Gitea url to interact with" }, - "version": { + "username": { "type": "string", - "description": "Defines a specific package version" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "url": { + "token": { "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "registrytoken": { + "owner": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "description": "[S][C][T] owner specifies the repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C][T] repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -19453,16 +19442,41 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "npmrcpath": { + "title": { "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "description": "[T] title defines the Gitea release title." + }, + "tag": { + "type": "string", + "description": "[C][T] tag defines the Gitea release tag." + }, + "commitish": { + "type": "string", + "description": "[T] commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] description defines if the new release description" + }, + "draft": { + "type": "boolean", + "description": "[T] draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -19509,7 +19523,7 @@ }, "kind": { "enum": [ - "cargopackage" + "gitlab/branch" ] }, "transformers": { @@ -19610,47 +19624,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "registry": { - "properties": { - "auth": { - "properties": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." - }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." - }, - "url": { - "type": "string", - "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." - }, - "rootdir": { - "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." - }, - "scmid": { - "type": "string", - "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + "url": { + "type": "string", + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "package": { + "username": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "version": { + "token": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -19674,14 +19666,19 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ - "package" + "owner", + "repository" ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -19728,7 +19725,7 @@ }, "kind": { "enum": [ - "dockerfile" + "shell" ] }, "transformers": { @@ -19829,32 +19826,130 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "command": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "description": "command specifies the shell command to execute by Updatecli" }, - "files": { + "environments": { "items": { - "type": "string" + "properties": { + "name": { + "type": "string", + "description": "Name defines the environment variable name" + }, + "value": { + "type": "string", + "description": "Value defines the environment variable value" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ], + "description": "Environment is a struct containing information for an environment variable such as its name and its value" }, "type": "array", - "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" + "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "changedif": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "exitcode" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "warning": { + "type": "integer", + "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" + }, + "success": { + "type": "integer", + "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" + }, + "failure": { + "type": "integer", + "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "warning", + "success", + "failure" + ] + } + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "file/checksum" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the list of file that Updatecli monitors to identify state change" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "files" + ] + } + }, + "additionalProperties": false, + "type": "object" + } + ], + "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" }, - "value": { + "shell": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" }, - "stage": { + "workdir": { "type": "string", - "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" + "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" + "required": [ + "command" + ], + "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -19901,7 +19996,7 @@ }, "kind": { "enum": [ - "dockerimage" + "gittag" ] }, "transformers": { @@ -20002,36 +20097,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { - "items": { - "type": "string" - }, - "type": "array", - "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "image": { - "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" - }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" - }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { + "path": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "Path contains the git repository path" }, "versionfilter": { "properties": { @@ -20054,16 +20122,39 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "tagfilter": { + "message": { "type": "string", - "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" + "description": "Message associated to the git tag\n\n compatible:\n * target" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" + }, + "url": { + "type": "string", + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "sourcebranch": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -20110,7 +20201,7 @@ }, "kind": { "enum": [ - "gitea/release" + "golang" ] }, "transformers": { @@ -20211,25 +20302,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C][T] owner specifies the repository owner" - }, - "repository": { + "version": { "type": "string", - "description": "[S][C][T] repository specifies the name of a repository for a specific owner" + "description": "[C] Version defines a specific golang version" }, "versionfilter": { "properties": { @@ -20252,41 +20327,12 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { - "type": "string", - "description": "[T] title defines the Gitea release title." - }, - "tag": { - "type": "string", - "description": "[C][T] tag defines the Gitea release tag." - }, - "commitish": { - "type": "string", - "description": "[T] commitish defines the commit-ish such as `main`" - }, - "description": { - "type": "string", - "description": "[T] description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] draft defines if the release is a draft release" - }, - "prerelease": { - "type": "boolean", - "description": "[T] prerelease defines if the release is a pre-release release" + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -20333,7 +20379,7 @@ }, "kind": { "enum": [ - "githubrelease" + "golang/gomod" ] }, "transformers": { @@ -20415,108 +20461,45 @@ "additionalProperties": false, "type": "object", "required": [ - "pattern" - ], - "description": "Find searches for a specific value if it exists then return the value using regular expression" - }, - "semverinc": { - "type": "string", - "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Transformer holds a transformer rule" - }, - "type": "array", - "description": "transformers defines how the default input value need to be transformed" - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "owner": { - "type": "string", - "description": "[s][c] Owner specifies repository owner" - }, - "repository": { - "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" - }, - "token": { - "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" - }, - "url": { - "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" - }, - "username": { - "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "typefilter": { - "properties": { - "draft": { - "type": "boolean", - "description": "\"Draft\" enable/disable GitHub draft release" - }, - "prerelease": { - "type": "boolean", - "description": "\"PreRelease\" enable/disable GitHub PreRelease" - }, - "release": { - "type": "boolean", - "description": "\"Release\" enable/disable GitHub release" - }, - "latest": { - "type": "boolean", - "description": "\"Latest\" if set to true will only filter the release flag as latest." - } + "pattern" + ], + "description": "Find searches for a specific value if it exists then return the value using regular expression" }, - "additionalProperties": false, - "type": "object", - "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" + "semverinc": { + "type": "string", + "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." + } }, - "tag": { + "additionalProperties": false, + "type": "object", + "description": "Transformer holds a transformer rule" + }, + "type": "array", + "description": "transformers defines how the default input value need to be transformed" + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "file": { "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "key": { + "module": { "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source\n * condition" + "description": "Module defines the module path\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + }, + "indirect": { + "type": "boolean", + "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + }, + "version": { + "type": "string", + "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository", - "token" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -20563,7 +20546,7 @@ }, "kind": { "enum": [ - "golang" + "toml" ] }, "transformers": { @@ -20664,9 +20647,28 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "version": { + "file": { "type": "string", - "description": "[C] Version defines a specific golang version" + "description": "[s][c][t] File specifies the toml file to manipulate" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + }, + "key": { + "type": "string", + "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + }, + "value": { + "type": "string", + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, "versionfilter": { "properties": { @@ -20689,12 +20691,15 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -20741,7 +20746,7 @@ }, "kind": { "enum": [ - "shell" + "yaml" ] }, "transformers": { @@ -20842,130 +20847,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "command": { + "engine": { "type": "string", - "description": "command specifies the shell command to execute by Updatecli" + "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" }, - "environments": { + "file": { + "type": "string", + "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + }, + "files": { "items": { - "properties": { - "name": { - "type": "string", - "description": "Name defines the environment variable name" - }, - "value": { - "type": "string", - "description": "Value defines the environment variable value" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "name" - ], - "description": "Environment is a struct containing information for an environment variable such as its name and its value" + "type": "string" }, "type": "array", - "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." + "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "changedif": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "exitcode" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "warning": { - "type": "integer", - "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" - }, - "success": { - "type": "integer", - "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" - }, - "failure": { - "type": "integer", - "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "warning", - "success", - "failure" - ] - } - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "file/checksum" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files specifies the list of file that Updatecli monitors to identify state change" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "files" - ] - } - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "console/output" - ] - }, - "spec": true - }, - "additionalProperties": false, - "type": "object" - } - ], - "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" + "key": { + "type": "string", + "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" }, - "shell": { + "value": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "workdir": { + "keyonly": { + "type": "boolean", + "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" + }, + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + }, + "comment": { "type": "string", - "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." + "description": "\"comment\" defines a comment to add after the value.\n\n\t\t\t\tcompatible:\n\t\t\t\t\t* target\n\n\t\t remarks:\n\t\t * require engine set to yamlpath" } }, "additionalProperties": false, "type": "object", - "required": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -21012,7 +20932,7 @@ }, "kind": { "enum": [ - "stash/tag" + "gitbranch" ] }, "transformers": { @@ -21113,29 +21033,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" - }, - "repository": { + "path": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "path contains the git repository path" }, "versionfilter": { "properties": { @@ -21158,21 +21058,39 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" + }, + "branch": { + "type": "string", + "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" + }, + "sourcebranch": { + "type": "string", + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "url": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" }, - "tag": { + "password": { "type": "string", - "description": "[S] Tag defines the Bitbucket tag ." + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" } }, "additionalProperties": false, "type": "object", "required": [ - "url", - "owner", - "repository" + "url" ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -21219,7 +21137,7 @@ }, "kind": { "enum": [ - "xml" + "gitea/tag" ] }, "transformers": { @@ -21320,22 +21238,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "\"url\" defines the Gitea url to interact with" }, - "path": { + "username": { "type": "string", - "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "value": { + "token": { "type": "string", - "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "tag": { + "type": "string", + "description": "[S] Tag defines the Gitea tag ." } }, "additionalProperties": false, "type": "object", - "description": "\"xml\" defines the specification for manipulating \"xml\" files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -21382,7 +21340,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "gitlab/tag" ] }, "transformers": { @@ -21485,15 +21443,15 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "\"username\" defines the username used to authenticate with GitLab" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", @@ -21528,17 +21486,16 @@ }, "tag": { "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "description": "[S] Tag defines the GitLab tag ." } }, "additionalProperties": false, "type": "object", "required": [ - "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -21585,7 +21542,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "json" ] }, "transformers": { @@ -21686,25 +21643,28 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "token": { + "key": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" }, - "owner": { + "value": { "type": "string", - "description": "[S][C][T] Owner specifies repository owner" + "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." }, - "repository": { + "query": { "type": "string", - "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" }, "versionfilter": { "properties": { @@ -21727,40 +21687,12 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { - "type": "string", - "description": "[T] Title defines the GitLab release title." - }, - "tag": { - "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." - }, - "commitish": { - "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" - }, - "description": { - "type": "string", - "description": "[T] Description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" - }, - "prerelease": { - "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -21807,7 +21739,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "dockerdigest" ] }, "transformers": { @@ -21908,26 +21840,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "architecture": { "type": "string", - "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" }, - "module": { + "image": { "type": "string", - "description": "Module defines the module path\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "tag": { + "type": "string", + "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "version": { + "digest": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." + }, + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + }, + "hidetag": { + "type": "boolean", + "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -21974,7 +21922,7 @@ }, "kind": { "enum": [ - "http" + "stash/branch" ] }, "transformers": { @@ -22077,60 +22025,64 @@ "properties": { "url": { "type": "string", - "description": "[S][C] Specifies the URL of the HTTP request for this resource." + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "returnresponseheader": { + "username": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "request": { + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { "properties": { - "verb": { + "kind": { "type": "string", - "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." + "description": "specifies the version kind such as semver, regex, or latest" }, - "body": { + "pattern": { "type": "string", - "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." - }, - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" }, - "nofollowredirects": { + "strict": { "type": "boolean", - "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Customizes the HTTP request to emit." - }, - "responseasserts": { - "properties": { - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[C] Specifies a set of assertions on the HTTP response headers." + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" }, - "statuscode": { - "type": "integer", - "description": "[C] Specifies a custom assertion on the HTTP response status code." + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." } }, "additionalProperties": false, "type": "object", - "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -22177,7 +22129,7 @@ }, "kind": { "enum": [ - "hcl" + "terraform/registry" ] }, "transformers": { @@ -22278,29 +22230,60 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "type": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "hostname": { + "type": "string", + "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "path": { + "namespace": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "value": { + "name": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + }, + "targetsystem": { + "type": "string", + "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." + }, + "rawstring": { + "type": "string", + "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + }, + "version": { + "type": "string", + "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "type": "object" }, "scmid": { "type": "string", @@ -22347,7 +22330,7 @@ }, "kind": { "enum": [ - "temurin" + "maven" ] }, "transformers": { @@ -22448,52 +22431,60 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "releaseline": { - "type": "string", - "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" - }, - "releasetype": { - "type": "string", - "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" - }, - "featureversion": { - "type": "integer", - "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" - }, - "result": { + "url": { "type": "string", - "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" + "description": "Deprecated, please specify the Maven url in the repository" }, - "architecture": { + "repository": { "type": "string", - "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" + "description": "Specifies the maven repository url + name" }, - "imagetype": { - "type": "string", - "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." }, - "operatingsystem": { + "groupid": { "type": "string", - "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" + "description": "Specifies the maven artifact groupID" }, - "specificversion": { + "artifactid": { "type": "string", - "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + "description": "Specifies the maven artifact artifactID" }, - "project": { + "version": { "type": "string", - "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + "description": "Specifies the maven artifact version" }, - "platforms": { - "items": { - "type": "string" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } }, - "type": "array", - "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -22540,7 +22531,7 @@ }, "kind": { "enum": [ - "toml" + "http" ] }, "transformers": { @@ -22641,59 +22632,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" - }, - "query": { - "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" - }, - "key": { + "url": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "value": { + "returnresponseheader": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[S] Specifies the header to return as source value (instead of the body)." }, - "versionfilter": { + "request": { "properties": { - "kind": { + "verb": { "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" + "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." }, - "pattern": { + "body": { "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + "nofollowredirects": { + "type": "boolean", + "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)." } }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S][C] Customizes the HTTP request to emit." }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "responseasserts": { + "properties": { + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[C] Specifies a set of assertions on the HTTP response headers." + }, + "statuscode": { + "type": "integer", + "description": "[C] Specifies a custom assertion on the HTTP response status code." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -22740,7 +22734,7 @@ }, "kind": { "enum": [ - "gittag" + "terraform/lock" ] }, "transformers": { @@ -22821,84 +22815,60 @@ }, "additionalProperties": false, "type": "object", - "required": [ - "pattern" - ], - "description": "Find searches for a specific value if it exists then return the value using regular expression" - }, - "semverinc": { - "type": "string", - "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Transformer holds a transformer rule" - }, - "type": "array", - "description": "transformers defines how the default input value need to be transformed" - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "path": { - "type": "string", - "description": "Path contains the git repository path" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } + "required": [ + "pattern" + ], + "description": "Find searches for a specific value if it exists then return the value using regular expression" }, - "additionalProperties": false, - "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" + "semverinc": { + "type": "string", + "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." + } }, - "message": { + "additionalProperties": false, + "type": "object", + "description": "Transformer holds a transformer rule" + }, + "type": "array", + "description": "transformers defines how the default input value need to be transformed" + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "file": { "type": "string", - "description": "Message associated to the git tag\n\n compatible:\n * target" + "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, - "url": { + "value": { "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "username": { + "provider": { "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "password": { - "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "sourcebranch": { - "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "skipconstraints": { + "type": "boolean", + "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" } }, "additionalProperties": false, "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -22945,7 +22915,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "toolversions" ] }, "transformers": { @@ -23046,62 +23016,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { + "file": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "[s][c][t] File specifies the .tool-versions file to manipulate" }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" }, - "owner": { + "key": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, - "branch": { - "type": "string", - "description": "[C] Branch specifies the branch name" + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "type": "object" }, "scmid": { "type": "string", @@ -23148,7 +23088,7 @@ }, "kind": { "enum": [ - "golang/module" + "gitlab/release" ] }, "transformers": { @@ -23249,17 +23189,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "proxy": { + "url": { "type": "string", - "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "module": { + "username": { "type": "string", - "description": "[S][C] Module specifies the name of the module" + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "version": { + "token": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C][T] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -23283,14 +23231,39 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "title": { + "type": "string", + "description": "[T] Title defines the GitLab release title." + }, + "tag": { + "type": "string", + "description": "[C][T] Tag defines the GitLab release tag." + }, + "commitish": { + "type": "string", + "description": "[T] Commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] Description defines if the new release description" + }, + "draft": { + "type": "boolean", + "description": "[T] Draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] Prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", "required": [ - "module" + "owner", + "repository" ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -23337,7 +23310,7 @@ }, "kind": { "enum": [ - "terraform/file" + "csv" ] }, "transformers": { @@ -23440,27 +23413,61 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[s][c][t] File specifies the csv file" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "path": { + "key": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "[s][c][t] Key specifies the csv query" + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, "value": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "[s][c][t] Key specifies the csv value, default to source output" + }, + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + }, + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, - "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "type": "object" }, "scmid": { "type": "string", @@ -23507,7 +23514,7 @@ }, "kind": { "enum": [ - "yaml" + "dockerimage" ] }, "transformers": { @@ -23608,45 +23615,68 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { - "type": "string", - "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" - }, - "file": { - "type": "string", - "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "files": { + "architectures": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "key": { + "architecture": { "type": "string", - "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" + "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" + }, + "image": { + "type": "string", + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" + }, + "tag": { + "type": "string", + "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" + }, + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "value": { + "password": { "type": "string", - "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "keyonly": { - "type": "boolean", - "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" }, - "comment": { + "tagfilter": { "type": "string", - "description": "\"comment\" defines a comment to add after the value.\n\n\t\t\t\tcompatible:\n\t\t\t\t\t* target\n\n\t\t remarks:\n\t\t * require engine set to yamlpath" + "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" } }, "additionalProperties": false, "type": "object", - "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -23693,7 +23723,7 @@ }, "kind": { "enum": [ - "csv" + "file" ] }, "transformers": { @@ -23796,61 +23826,43 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the csv file" + "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" + "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" }, - "key": { - "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "line": { + "type": "integer", + "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "query": { + "content": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "value": { - "type": "string", - "description": "[s][c][t] Key specifies the csv value, default to source output" + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" }, - "comma": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + "matchpattern": { + "type": "string", + "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + "replacepattern": { + "type": "string", + "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -23897,7 +23909,7 @@ }, "kind": { "enum": [ - "gitbranch" + "terraform/file" ] }, "transformers": { @@ -23998,64 +24010,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "file": { "type": "string", - "description": "path contains the git repository path" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "branch": { - "type": "string", - "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" - }, - "sourcebranch": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "url": { - "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + "type": "array", + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "password": { + "path": { "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "key": { + "value": { "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -24102,7 +24079,7 @@ }, "kind": { "enum": [ - "jenkins" + "terraform/provider" ] }, "transformers": { @@ -24203,18 +24180,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "file": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "version": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + }, + "value": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + }, + "provider": { + "type": "string", + "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -24261,7 +24249,7 @@ }, "kind": { "enum": [ - "stash/branch" + "cargopackage" ] }, "transformers": { @@ -24362,29 +24350,47 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "registry": { + "properties": { + "auth": { + "properties": { + "token": { + "type": "string", + "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." + }, + "headerformat": { + "type": "string", + "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." + }, + "url": { + "type": "string", + "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." + }, + "rootdir": { + "type": "string", + "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." + }, + "scmid": { + "type": "string", + "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] Registry specifies the registry to use" }, - "owner": { + "package": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[S][C] Package specifies the name of the package" }, - "repository": { + "version": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[C] Defines a specific package version" }, "versionfilter": { "properties": { @@ -24408,20 +24414,14 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "branch": { - "type": "string", - "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ - "url", - "owner", - "repository" + "package" ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", diff --git a/content/en/schema/latest/policy/manifest/config.json b/content/en/schema/latest/policy/manifest/config.json index a08f93e25..2a2ed7f08 100644 --- a/content/en/schema/latest/policy/manifest/config.json +++ b/content/en/schema/latest/policy/manifest/config.json @@ -15,119 +15,6 @@ "crawlers": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "kubernetes": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - } - }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" - }, - "digest": { - "type": "boolean", - "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." - }, - "rootdir": { - "type": "string", - "description": "RootDir defines the root directory used to recursively search for Kubernetes files" - }, - "ignore": { - "items": { - "properties": { - "path": { - "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "images": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Images specifies the list of container image to check" - } - }, - "additionalProperties": false, - "type": "object", - "description": "MatchingRule allows to specifies rules to identify manifest" - }, - "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Kubernetes manifest based on a rule" - }, - "only": { - "items": { - "properties": { - "path": { - "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "images": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Images specifies the list of container image to check" - } - }, - "additionalProperties": false, - "type": "object", - "description": "MatchingRule allows to specifies rules to identify manifest" - }, - "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific Kubernetes manifest based on a rule" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Spec defines the parameters which can be provided to the Kubernetes builder." - }, "dockerfile": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { @@ -342,26 +229,64 @@ "type": "object", "description": "Spec defines the parameters which can be provided to the Golang autodiscovery builder." }, - "precommit": { + "helm": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "rootdir": { - "type": "string", - "description": "RootDir defines the root directory used to recursively search for npm packages.json" + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\n\t\tif empty, updatecli relies on OCI credentials such as the one used by Docker." + }, + "digest": { + "type": "boolean", + "description": "digest provides a parameter to specify if the generated manifest should use a digest on top of the tag when updating container." + }, + "ignorecontainer": { + "type": "boolean", + "description": "ignorecontainer disables OCI container tag update when set to true" + }, + "ignorechartdependency": { + "type": "boolean", + "description": "ignorechartdependency disables Helm chart dependencies update when set to true" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "repos": { + "dependencies": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Repos specifies the list of NPM packages to check" + "description": "Dependencies specifies a list of dependencies pattern." + }, + "containers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Containers specifies a list of containers pattern." } }, "additionalProperties": false, @@ -369,21 +294,32 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" + "description": "Ignore specifies rule to ignore Helm chart update." + }, + "rootdir": { + "type": "string", + "description": "rootdir defines the root directory used to recursively search for Helm Chart" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "repos": { + "dependencies": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Repos specifies the list of NPM packages to check" + "description": "Dependencies specifies a list of dependencies pattern." + }, + "containers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Containers specifies a list of containers pattern." } }, "additionalProperties": false, @@ -391,7 +327,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" + "description": "only specify required rule(s) to restrict Helm chart update." }, "versionfilter": { "properties": { @@ -415,32 +351,74 @@ "additionalProperties": false, "type": "object", "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + }, + "skippackaging": { + "type": "boolean", + "description": "[target] Defines if a Chart should be packaged or not." + }, + "versionincrement": { + "type": "string", + "description": "[target] Defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch\"" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters uses to generate the precomit manifests" + "description": "Spec defines the Helm parameters." }, - "npm": { + "kubernetes": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + }, + "digest": { + "type": "boolean", + "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." + }, "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for npm packages.json" + "description": "RootDir defines the root directory used to recursively search for Kubernetes files" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "packages": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Packages specifies the list of NPM packages to check" + "type": "array", + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -448,21 +426,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Kubernetes manifest based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "packages": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Packages specifies the list of NPM packages to check" + "type": "array", + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -470,7 +448,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" + "description": "Only allows to specify rule to only autodiscover manifest for a specific Kubernetes manifest based on a rule" }, "versionfilter": { "properties": { @@ -498,21 +476,21 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the NPM builder." + "description": "Spec defines the parameters which can be provided to the Kubernetes builder." }, - "argocd": { + "rancher/fleet": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for ArgoCD manifest" + "description": "RootDir defines the root directory used to recursively search for Fleet bundle" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, "repositories": { "items": { @@ -534,14 +512,14 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Argocd manifest based on a rule" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Fleet bundle based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, "repositories": { "items": { @@ -563,7 +541,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific ArgoCD manifest based on a rule" + "description": "Only allows to specify rule to only autodiscover manifest for a specific Fleet bundle based on a rule" }, "versionfilter": { "properties": { @@ -586,12 +564,12 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n kind - semver\n versionfilter of kind `semver` uses semantic versioning as version filtering\n pattern accepts one of:\n `prerelease` - Updatecli tries to identify the latest \"prerelease\" whatever it means\n `patch` - Updatecli only handles patch version update\n `minor` - Updatecli handles patch AND minor version update\n `minoronly` - Updatecli handles minor version only\n `major` - Updatecli handles patch, minor, AND major version update\n `majoronly` - Updatecli only handles major version update\n `a version constraint` such as `\u003e= 1.0.0`\n\n kind - regex\n versionfilter of kind `regex` uses regular expression as version filtering\n pattern accepts a valid regular expression\n\n example:\n ```\n \tversionfilter:\n \t\tkind: semver\n \t\tpattern: minor\n ```\n\n\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the argocd builder." + "description": "Spec defines the parameters which can be provided to the fleet builder." }, "cargo": { "$schema": "http://json-schema.org/draft-04/schema", @@ -723,44 +701,29 @@ "type": "object", "description": "Spec defines the Cargo parameters." }, - "dockercompose": { + "github/action": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "digest": { - "type": "boolean", - "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." - }, - "rootdir": { - "type": "string", - "description": "RootDir defines the root directory used to recursively search for Helm Chart" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "files allows to specify the accepted GitHub Action workflow file name\n\ndefault:\n - \".github/workflows/*.yaml\",\n - \".github/workflows/*.yml\",\n - \".gitea/workflows/*.yaml\",\n - \".gitea/workflows/*.yml\",\n - \".forgejo/workflows/*.yaml\",\n - \".forgejo/workflows/*.yml\"," }, "ignore": { "items": { "properties": { - "archs": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Arch specifies a list of docker image architecture" - }, "path": { "type": "string", - "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." - }, - "services": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Services specifies a list of docker compose services" + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { - "items": { + "actions": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Image specifies a list of docker image" + "type": "object", + "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" } }, "additionalProperties": false, @@ -768,35 +731,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" + "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty" }, "only": { "items": { "properties": { - "archs": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Arch specifies a list of docker image architecture" - }, "path": { "type": "string", - "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." - }, - "services": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Services specifies a list of docker compose services" + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { - "items": { + "actions": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Image specifies a list of docker image" + "type": "object", + "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" } }, "additionalProperties": false, @@ -804,37 +753,11 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" - }, - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - } - }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + "description": "only allows to specify rule to only autodiscover manifest for a specific GitHub action based on a rule\n\ndefault: empty" }, - "filematch": { - "items": { - "type": "string" - }, - "type": "array", - "description": "FileMatch allows to override default docker-compose.yaml file matching. Default [\"docker-compose.yaml\",\"docker-compose.yml\",\"docker-compose.*.yaml\",\"docker-compose.*.yml\"]" + "rootdir": { + "type": "string", + "description": "rootDir allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty" }, "versionfilter": { "properties": { @@ -857,14 +780,34 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest." + }, + "credentials": { + "additionalProperties": { + "properties": { + "kind": { + "type": "string" + }, + "token": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "type": "object", + "description": "Credentials allows to specify the credentials to use to authenticate to the git provider\nThe ID of the credential must be the domain of the git provider to configure\n\ndefault: empty\n\nexamples:\n```\n autodiscovery:\n crawlers:\n github/action:\n credentials:\n \"code.forgejo.com\":\n kind: gitea\n token: xxx\n \"github.com\":\n kind: github\n token: '{{ requiredEnv \"GITHUB_TOKEN\" }}'\n```" + }, + "digest": { + "type": "boolean", + "description": "Digest provides parameters to specify if the generated manifest should use a digest instead of the branch or tag." } }, "additionalProperties": false, "type": "object", - "description": "Spec is a struct fill from Updatecli manifest data and shouldn't be modified at runtime unless For Fields that requires it, we can use the struct DockerCompose Spec defines the parameters which can be provided to the Helm builder." + "description": "Spec defines the parameters which can be provided to the Github Action crawler." }, - "github/action": { + "gitea/action": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "files": { @@ -970,7 +913,7 @@ "type": "object", "description": "Spec defines the parameters which can be provided to the Github Action crawler." }, - "helm": { + "ko": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "auths": { @@ -994,40 +937,36 @@ "description": "InlineKeyChain defines a keychain with OCI registry credentials" }, "type": "object", - "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\n\t\tif empty, updatecli relies on OCI credentials such as the one used by Docker." + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, "digest": { "type": "boolean", - "description": "digest provides a parameter to specify if the generated manifest should use a digest on top of the tag when updating container." + "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." }, - "ignorecontainer": { - "type": "boolean", - "description": "ignorecontainer disables OCI container tag update when set to true" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." }, - "ignorechartdependency": { - "type": "boolean", - "description": "ignorechartdependency disables Helm chart dependencies update when set to true" + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for Kubernetes files" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "dependencies": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Dependencies specifies a list of dependencies pattern." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "containers": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Containers specifies a list of containers pattern." + "type": "array", + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -1035,32 +974,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore specifies rule to ignore Helm chart update." - }, - "rootdir": { - "type": "string", - "description": "rootdir defines the root directory used to recursively search for Helm Chart" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Kubernetes manifest based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "dependencies": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Dependencies specifies a list of dependencies pattern." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "containers": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Containers specifies a list of containers pattern." + "type": "array", + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -1068,7 +996,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "only specify required rule(s) to restrict Helm chart update." + "description": "Only allows to specify rule to only autodiscover manifest for a specific Kubernetes manifest based on a rule" }, "versionfilter": { "properties": { @@ -1092,51 +1020,201 @@ "additionalProperties": false, "type": "object", "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." - }, - "skippackaging": { - "type": "boolean", - "description": "[target] Defines if a Chart should be packaged or not." - }, - "versionincrement": { - "type": "string", - "description": "[target] Defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch\"" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Helm parameters." + "description": "Spec defines the parameters which can be provided to the Kubernetes builder." }, - "ko": { + "npm": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "auths": { - "additionalProperties": { + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for npm packages.json" + }, + "ignore": { + "items": { "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { + "path": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "packages": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Packages specifies the list of NPM packages to check" } }, "additionalProperties": false, "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" + "description": "MatchingRule allows to specifies rules to identify manifest" }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" - }, - "digest": { - "type": "boolean", - "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." + "type": "array", + "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" }, - "files": { + "only": { + "items": { + "properties": { + "path": { + "type": "string", + "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." + }, + "packages": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Packages specifies the list of NPM packages to check" + } + }, + "additionalProperties": false, + "type": "object", + "description": "MatchingRule allows to specifies rules to identify manifest" + }, + "type": "array", + "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Spec defines the parameters which can be provided to the NPM builder." + }, + "precommit": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for npm packages.json" + }, + "ignore": { + "items": { + "properties": { + "path": { + "type": "string", + "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." + }, + "repos": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Repos specifies the list of NPM packages to check" + } + }, + "additionalProperties": false, + "type": "object", + "description": "MatchingRule allows to specifies rules to identify manifest" + }, + "type": "array", + "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" + }, + "only": { + "items": { + "properties": { + "path": { + "type": "string", + "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." + }, + "repos": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Repos specifies the list of NPM packages to check" + } + }, + "additionalProperties": false, + "type": "object", + "description": "MatchingRule allows to specifies rules to identify manifest" + }, + "type": "array", + "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Spec defines the parameters uses to generate the precomit manifests" + }, + "prow": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + }, + "digest": { + "type": "boolean", + "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." + }, + "files": { "items": { "type": "string" }, @@ -1219,9 +1297,13 @@ "type": "object", "description": "Spec defines the parameters which can be provided to the Kubernetes builder." }, - "maven": { + "dockercompose": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { + "digest": { + "type": "boolean", + "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." + }, "rootdir": { "type": "string", "description": "RootDir defines the root directory used to recursively search for Helm Chart" @@ -1229,23 +1311,30 @@ "ignore": { "items": { "properties": { + "archs": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Arch specifies a list of docker image architecture" + }, "path": { "type": "string", "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "groupids": { + "services": { "items": { "type": "string" }, "type": "array", - "description": "GroupIDs specifies the list of Maven GroupIDs to check" + "description": "Services specifies a list of docker compose services" }, - "artifactids": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -1258,23 +1347,30 @@ "only": { "items": { "properties": { + "archs": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Arch specifies a list of docker image architecture" + }, "path": { "type": "string", "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "groupids": { + "services": { "items": { "type": "string" }, "type": "array", - "description": "GroupIDs specifies the list of Maven GroupIDs to check" + "description": "Services specifies a list of docker compose services" }, - "artifactids": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -1284,6 +1380,36 @@ "type": "array", "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" }, + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + }, + "filematch": { + "items": { + "type": "string" + }, + "type": "array", + "description": "FileMatch allows to override default docker-compose.yaml file matching. Default [\"docker-compose.yaml\",\"docker-compose.yml\",\"docker-compose.*.yaml\",\"docker-compose.*.yml\"]" + }, "versionfilter": { "properties": { "kind": { @@ -1310,21 +1436,21 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Helm builder." + "description": "Spec is a struct fill from Updatecli manifest data and shouldn't be modified at runtime unless For Fields that requires it, we can use the struct DockerCompose Spec defines the parameters which can be provided to the Helm builder." }, - "rancher/fleet": { + "argocd": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for Fleet bundle" + "description": "RootDir defines the root directory used to recursively search for ArgoCD manifest" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." }, "repositories": { "items": { @@ -1346,14 +1472,14 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Fleet bundle based on a rule" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Argocd manifest based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." }, "repositories": { "items": { @@ -1375,7 +1501,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific Fleet bundle based on a rule" + "description": "Only allows to specify rule to only autodiscover manifest for a specific ArgoCD manifest based on a rule" }, "versionfilter": { "properties": { @@ -1398,33 +1524,40 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n kind - semver\n versionfilter of kind `semver` uses semantic versioning as version filtering\n pattern accepts one of:\n `prerelease` - Updatecli tries to identify the latest \"prerelease\" whatever it means\n `patch` - Updatecli only handles patch version update\n `minor` - Updatecli handles patch AND minor version update\n `minoronly` - Updatecli handles minor version only\n `major` - Updatecli handles patch, minor, AND major version update\n `majoronly` - Updatecli only handles major version update\n `a version constraint` such as `\u003e= 1.0.0`\n\n kind - regex\n versionfilter of kind `regex` uses regular expression as version filtering\n pattern accepts a valid regular expression\n\n example:\n ```\n \tversionfilter:\n \t\tkind: semver\n \t\tpattern: minor\n ```\n\n\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the fleet builder." + "description": "Spec defines the parameters which can be provided to the argocd builder." }, - "terraform": { + "helmfile": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "`rootdir` defines the root directory used to recursively search for `.terraform.lock.hcl`" + "description": "rootdir defines the root directory used to recursively search for Helmfile manifest" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "`path` specifies a `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "providers": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "`providers` specifies a map of providers, the key is provider url as seen in the `.terraform.lock.hcl`,\n\t\tthe value is an optional semver version constraint.\n\n\t\texamples:\n\t\t```\n\t\t- providers:\n\t\t # Ignoring provider updates for this provider\n\t\t registry.terraform.io/hashicorp/aws:\n\t\t # Ignore provider updates for this version\n\t\t registry.terraform.io/hashicorp/kubernetes: \"1.x\"\n\t\t```" + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -1432,21 +1565,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "`ignore` specifies rule to ignore `.terraform.lock.hcl` update." + "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Helmfile based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "`path` specifies a `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "providers": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "`providers` specifies a map of providers, the key is provider url as seen in the `.terraform.lock.hcl`,\n\t\tthe value is an optional semver version constraint.\n\n\t\texamples:\n\t\t```\n\t\t- providers:\n\t\t # Ignoring provider updates for this provider\n\t\t registry.terraform.io/hashicorp/aws:\n\t\t # Ignore provider updates for this version\n\t\t registry.terraform.io/hashicorp/kubernetes: \"1.x\"\n\t\t```" + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -1454,7 +1594,30 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "`only` specify required rule to restrict `.terraform.lock.hcl` update." + "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Helmfile based on a rule" + }, + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, "versionfilter": { "properties": { @@ -1477,81 +1640,40 @@ }, "additionalProperties": false, "type": "object", - "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." - }, - "platforms": { - "items": { - "type": "string" - }, - "type": "array", - "description": "`platforms` is the target platforms to request package checksums for.\n\n\t\tremarks:\n\t\t* Fallback is linux_amd64, linux_arm64, darwin_amd64, darwin_arm64" + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Terraform parameters." + "description": "Spec defines the Helmfile parameters." }, - "flux": { + "maven": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - } - }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "type": "object", - "description": "auths provides a map of registry credentials where the key is the registry URL without scheme" - }, - "digest": { - "type": "boolean", - "description": "digest allows to specify if the generated manifest should use OCI digest on top of the tag\n\ndefault: true" - }, - "helmrelease": { - "type": "boolean", - "description": "helmRelease define if helmrelease file should be updated or not\n\ndefault: true" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "files allows to override default flux files\n\ndefault: [\"*.yaml\", \"*.yml\"]" + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for Helm Chart" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "repositories": { + "groupids": { "items": { "type": "string" }, "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "GroupIDs specifies the list of Maven GroupIDs to check" }, - "artifacts": { + "artifactids": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Artifacts specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" } }, "additionalProperties": false, @@ -1559,28 +1681,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "ignore allows to specify rule to ignore autodiscovery a specific Flux helmrelease based on a rule\n\ndefault: empty" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "repositories": { + "groupids": { "items": { "type": "string" }, "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "GroupIDs specifies the list of Maven GroupIDs to check" }, - "artifacts": { + "artifactids": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Artifacts specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" } }, "additionalProperties": false, @@ -1588,15 +1710,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "only allows to specify rule to only autodiscover manifest for a specific Flux helm release based on a rule\n\ndefault: empty" - }, - "ocirepository": { - "type": "boolean", - "description": "OCIRepository allows to specify if OCI repository files should be updated\n\ndefault: true" - }, - "rootdir": { - "type": "string", - "description": "rootDir defines the root directory used to recursively search for Flux files\n\ndefault: . (current working directory) or scm root directory" + "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" }, "versionfilter": { "properties": { @@ -1619,36 +1733,33 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Flux crawler." + "description": "Spec defines the parameters which can be provided to the Helm builder." }, - "gitea/action": { + "terraform": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "files allows to specify the accepted GitHub Action workflow file name\n\ndefault:\n - \".github/workflows/*.yaml\",\n - \".github/workflows/*.yml\",\n - \".gitea/workflows/*.yaml\",\n - \".gitea/workflows/*.yml\",\n - \".forgejo/workflows/*.yaml\",\n - \".forgejo/workflows/*.yml\"," + "rootdir": { + "type": "string", + "description": "`rootdir` defines the root directory used to recursively search for `.terraform.lock.hcl`" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "`path` specifies a `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." }, - "actions": { + "providers": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "description": "`providers` specifies a map of providers, the key is provider url as seen in the `.terraform.lock.hcl`,\n\t\tthe value is an optional semver version constraint.\n\n\t\texamples:\n\t\t```\n\t\t- providers:\n\t\t # Ignoring provider updates for this provider\n\t\t registry.terraform.io/hashicorp/aws:\n\t\t # Ignore provider updates for this version\n\t\t registry.terraform.io/hashicorp/kubernetes: \"1.x\"\n\t\t```" } }, "additionalProperties": false, @@ -1656,21 +1767,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty" + "description": "`ignore` specifies rule to ignore `.terraform.lock.hcl` update." }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "`path` specifies a `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." }, - "actions": { + "providers": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "description": "`providers` specifies a map of providers, the key is provider url as seen in the `.terraform.lock.hcl`,\n\t\tthe value is an optional semver version constraint.\n\n\t\texamples:\n\t\t```\n\t\t- providers:\n\t\t # Ignoring provider updates for this provider\n\t\t registry.terraform.io/hashicorp/aws:\n\t\t # Ignore provider updates for this version\n\t\t registry.terraform.io/hashicorp/kubernetes: \"1.x\"\n\t\t```" } }, "additionalProperties": false, @@ -1678,11 +1789,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "only allows to specify rule to only autodiscover manifest for a specific GitHub action based on a rule\n\ndefault: empty" - }, - "rootdir": { - "type": "string", - "description": "rootDir allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty" + "description": "`only` specify required rule to restrict `.terraform.lock.hcl` update." }, "versionfilter": { "properties": { @@ -1705,60 +1812,40 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest." + "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." }, - "credentials": { - "additionalProperties": { - "properties": { - "kind": { - "type": "string" - }, - "token": { - "type": "string" - } - }, - "additionalProperties": false, - "type": "object" + "platforms": { + "items": { + "type": "string" }, - "type": "object", - "description": "Credentials allows to specify the credentials to use to authenticate to the git provider\nThe ID of the credential must be the domain of the git provider to configure\n\ndefault: empty\n\nexamples:\n```\n autodiscovery:\n crawlers:\n github/action:\n credentials:\n \"code.forgejo.com\":\n kind: gitea\n token: xxx\n \"github.com\":\n kind: github\n token: '{{ requiredEnv \"GITHUB_TOKEN\" }}'\n```" - }, - "digest": { - "type": "boolean", - "description": "Digest provides parameters to specify if the generated manifest should use a digest instead of the branch or tag." + "type": "array", + "description": "`platforms` is the target platforms to request package checksums for.\n\n\t\tremarks:\n\t\t* Fallback is linux_amd64, linux_arm64, darwin_amd64, darwin_arm64" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Github Action crawler." + "description": "Spec defines the Terraform parameters." }, - "helmfile": { + "updatecli": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "rootdir defines the root directory used to recursively search for Helmfile manifest" + "description": "rootdir defines the root directory used to recursively search for Updatecli manifest" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "charts": { + "policies": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Policies specifies a Updatecli policy" } }, "additionalProperties": false, @@ -1766,28 +1853,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Helmfile based on a rule" + "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Updatecli based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "charts": { + "policies": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Policies specifies a Updatecli policy" } }, "additionalProperties": false, @@ -1795,7 +1875,14 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Helmfile based on a rule" + "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Updatecli based on a rule" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." }, "auths": { "additionalProperties": { @@ -1846,9 +1933,9 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Helmfile parameters." + "description": "Spec defines the Updatecli parameters." }, - "prow": { + "flux": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "auths": { @@ -1872,115 +1959,43 @@ "description": "InlineKeyChain defines a keychain with OCI registry credentials" }, "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + "description": "auths provides a map of registry credentials where the key is the registry URL without scheme" }, "digest": { "type": "boolean", - "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." + "description": "digest allows to specify if the generated manifest should use OCI digest on top of the tag\n\ndefault: true" + }, + "helmrelease": { + "type": "boolean", + "description": "helmRelease define if helmrelease file should be updated or not\n\ndefault: true" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." - }, - "rootdir": { - "type": "string", - "description": "RootDir defines the root directory used to recursively search for Kubernetes files" + "description": "files allows to override default flux files\n\ndefault: [\"*.yaml\", \"*.yml\"]" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "images": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Images specifies the list of container image to check" - } - }, - "additionalProperties": false, - "type": "object", - "description": "MatchingRule allows to specifies rules to identify manifest" - }, - "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Kubernetes manifest based on a rule" - }, - "only": { - "items": { - "properties": { - "path": { - "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { + "repositories": { "items": { "type": "string" }, "type": "array", - "description": "Images specifies the list of container image to check" - } - }, - "additionalProperties": false, - "type": "object", - "description": "MatchingRule allows to specifies rules to identify manifest" - }, - "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific Kubernetes manifest based on a rule" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Spec defines the parameters which can be provided to the Kubernetes builder." - }, - "updatecli": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "rootdir": { - "type": "string", - "description": "rootdir defines the root directory used to recursively search for Updatecli manifest" - }, - "ignore": { - "items": { - "properties": { - "path": { - "type": "string", - "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Repositories specifies the list of Helm Chart repository to check" }, - "policies": { + "artifacts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Policies specifies a Updatecli policy" + "description": "Artifacts specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" } }, "additionalProperties": false, @@ -1988,21 +2003,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Updatecli based on a rule" + "description": "ignore allows to specify rule to ignore autodiscovery a specific Flux helmrelease based on a rule\n\ndefault: empty" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "policies": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "artifacts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Policies specifies a Updatecli policy" + "description": "Artifacts specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" } }, "additionalProperties": false, @@ -2010,37 +2032,15 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Updatecli based on a rule" + "description": "only allows to specify rule to only autodiscover manifest for a specific Flux helm release based on a rule\n\ndefault: empty" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." + "ocirepository": { + "type": "boolean", + "description": "OCIRepository allows to specify if OCI repository files should be updated\n\ndefault: true" }, - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - } - }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + "rootdir": { + "type": "string", + "description": "rootDir defines the root directory used to recursively search for Flux files\n\ndefault: . (current working directory) or scm root directory" }, "versionfilter": { "properties": { @@ -2063,12 +2063,12 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Updatecli parameters." + "description": "Spec defines the parameters which can be provided to the Flux crawler." } }, "type": "object", @@ -2106,55 +2106,52 @@ }, "kind": { "enum": [ - "github/pullrequest" + "gitlab/mergerequest" ] }, "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "automerge": { - "type": "boolean", - "description": "automerge allows to enable/disable the automerge feature on new pullrequest\n\ncompatible:\n * action\n\ndefault:\n false" + "url": { + "type": "string", + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "title": { + "username": { "type": "string", - "description": "title allows to override the pull request title\n\ncompatible:\n * action\n\ndefault:\n The default title is fetch from the first following location:\n 1. The action title\n 2. The target title if only one target\n 3. The pipeline target" + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "description": { + "token": { "type": "string", - "description": "description allows to prepend information to the pullrequest description.\n\ncompatible:\n * action\n\ndefault:\n empty" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "labels": { - "items": { - "type": "string" - }, - "type": "array", - "description": "labels specifies repository labels used for the Pull Request.\n\ncompatible:\n * action\n\ndefault:\n empty\n\nremark:\n Labels must already exist on the repository" + "sourcebranch": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the GitLab mergerequest.\n\n\t\tdefault:\n\t\t\t\"sourcebranch\" inherits the value from the scm branch if a scm of kind \"gitlab\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." }, - "draft": { - "type": "boolean", - "description": "draft allows to set pull request in draft\n\ncompatible:\n * action\n\ndefault:\n false" + "targetbranch": { + "type": "string", + "description": "\"targetbranch\" defines the branch name used as a target to create the GitLab mergerequest.\n\n\t\tdefault:\n\t\t\t\"targetbranch\" inherits the value from the scm working branch if a scm of kind \"gitlab\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default.\n\t\t\tthe GitLab scm will create and use a working branch such as updatecli_xxxx" }, - "maintainercannotmodify": { - "type": "boolean", - "description": "maintainercannotmodify allows to specify if maintainer can modify pullRequest\n\ncompatible:\n * action\n\ndefault:\n false" + "owner": { + "type": "string", + "description": "\"owner\" defines the GitLab repository owner.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." }, - "mergemethod": { + "repository": { "type": "string", - "description": "mergemethod allows to specifies what merge method is used to incorporate the pull request.\n\ncompatible:\n * action\n\ndefault:\n \"\"\n\nremark:\n Accept \"merge\", \"squash\", \"rebase\", or \"\"" + "description": "\"repository\" defines the GitLab repository for a specific owner\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." }, - "usetitleforautomerge": { - "type": "boolean", - "description": "usetitleforautomerge allows to specifies to use the Pull Request title as commit message when using auto merge,\n\ncompatible:\n * action\n\ndefault:\n \"\"\n\nremark:\n Only works for \"squash\" or \"rebase\"" + "title": { + "type": "string", + "description": "\"title\" defines the GitLab mergerequest title\n\n\t\tdefault:\n\t\t\tA GitLab mergerequest title is defined by one of the following location (first match)\n\t\t\t\t1. title is defined by the spec such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitlab/mergerequest\n\t\t\t\t\t\t\tscmid: default\n\t\t\t\t\t\t\tspec:\n\t\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t2. title is defined by the action such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitlab/mergerequest\n\t\t\t\t\t\t\tscmid default\n\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t3. title is defined by the first associated target title\n\n\t\t\t\t4. title is defined by the pipeline title\n\n\t\tremark:\n\t\t\tusually we prefer to go with option 2" }, - "parent": { - "type": "boolean", - "description": "parent allows to specifies if a pull request should be sent to the parent of the current fork.\n\ncompatible:\n * action\n\ndefault:\n false" + "body": { + "type": "string", + "description": "\"body\" defines a custom mergerequest body\n\n\t\tdefault:\n\t\t\tBy default a mergerequest body is generated out of a pipeline execution.\n\n\t\tremark:\n\t\t\tUnless you know what you are doing, you shouldn't set this value and rely on the sane default.\n\t\t\t\"body\" is useful to provide additional information when reviewing mergerequest, such as changelog url." } }, "additionalProperties": false, "type": "object", - "description": "ActionSpec specifies the configuration of an action of type \"GitHub Pull Request\"" + "description": "Spec defines settings used to interact with GitLab pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" }, "scmid": { "type": "string" @@ -2174,57 +2171,56 @@ }, "kind": { "enum": [ - "gitea/pullrequest" + "bitbucket/pullrequest" ] }, "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Cloud API" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "sourcebranch": { - "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the Gitea pullrequest.\n\n\t\tdefault:\n\t\t\t\"sourcebranch\" inherits the value from the scm branch if a scm of kind \"gitea\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Cloud API\n\n The \"token\" is a repository or project access token with \"pullrequest:write\" scope.\n\n \"token\" and \"password\" are mutually exclusive\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "targetbranch": { + "password": { "type": "string", - "description": "\"targetbranch\" defines the branch name used as a target to create the Gitea pullrequest.\n\n\t\tdefault:\n\t\t\t\"targetbranch\" inherits the value from the scm working branch if a scm of kind \"gitea\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default.\n\t\t\tthe Gitea scm will create and use a working branch such as updatecli_xxxx" + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Cloud API, it must be combined with \"username\"\n\n The \"password\" should be app password with \"pullrequest:write\" scope.\n\n \"token\" and \"password\" are mutually exclusive\n\n remark:\n A password is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_PASSWORD\"}}` to retrieve the token from the environment variable `BITBUCKET_PASSWORD`\n\t or `{{ .bitbucket.password }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", - "description": "\"owner\" defines the Gitea repository owner.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + "description": "Owner specifies repository owner" }, "repository": { "type": "string", - "description": "\"repository\" defines the Gitea repository for a specific owner\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + "description": "Repository specifies the name of a repository for a specific owner" + }, + "sourcebranch": { + "type": "string", + "description": "SourceBranch specifies the pullrequest source branch" + }, + "targetbranch": { + "type": "string", + "description": "TargetBranch specifies the pullrequest target branch" }, "title": { "type": "string", - "description": "\"title\" defines the Gitea pullrequest title\n\n\t\tdefault:\n\t\t\tA Gitea pullrequest title is defined by one of the following location (first match)\n\t\t\t\t1. title is defined by the spec such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitea/pullrequest\n\t\t\t\t\t\t\tscmid: default\n\t\t\t\t\t\t\tspec:\n\t\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t2. title is defined by the action such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitea/pullrequest\n\t\t\t\t\t\t\tscmid default\n\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t3. title is defined by the first associated target title\n\n\t\t\t\t4. title is defined by the pipeline title\n\n\t\tremark:\n\t\t\tusually we prefer to go with option 2" + "description": "Title defines the Bitbucket pullrequest title." }, "body": { "type": "string", - "description": "\"body\" defines a custom body pullrequest.\n\n\t\tdefault:\n\t\t\tBy default a pullrequest body is generated out of a pipeline execution.\n\n\t\tremark:\n\t\t\tUnless you know what you are doing, you shouldn't set this value and rely on the sane default.\n\t\t\t\"body\" is useful to provide additional information when reviewing pullrequest, such as changelog url." + "description": "Body defines the Bitbucket pullrequest body" } }, "additionalProperties": false, "type": "object", "required": [ - "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with Gitea pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" + "description": "Spec defines settings used to interact with Bitbucket Server pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" }, "scmid": { "type": "string" @@ -2244,61 +2240,55 @@ }, "kind": { "enum": [ - "stash/pullrequest" + "github/pullrequest" ] }, "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "automerge": { + "type": "boolean", + "description": "automerge allows to enable/disable the automerge feature on new pullrequest\n\ncompatible:\n * action\n\ndefault:\n false" }, - "token": { + "title": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "title allows to override the pull request title\n\ncompatible:\n * action\n\ndefault:\n The default title is fetch from the first following location:\n 1. The action title\n 2. The target title if only one target\n 3. The pipeline target" }, - "password": { + "description": { "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "description allows to prepend information to the pullrequest description.\n\ncompatible:\n * action\n\ndefault:\n empty" }, - "owner": { - "type": "string", - "description": "Owner specifies repository owner" + "labels": { + "items": { + "type": "string" + }, + "type": "array", + "description": "labels specifies repository labels used for the Pull Request.\n\ncompatible:\n * action\n\ndefault:\n empty\n\nremark:\n Labels must already exist on the repository" }, - "repository": { - "type": "string", - "description": "Repository specifies the name of a repository for a specific owner" + "draft": { + "type": "boolean", + "description": "draft allows to set pull request in draft\n\ncompatible:\n * action\n\ndefault:\n false" }, - "sourcebranch": { - "type": "string", - "description": "SourceBranch specifies the pullrequest source branch" + "maintainercannotmodify": { + "type": "boolean", + "description": "maintainercannotmodify allows to specify if maintainer can modify pullRequest\n\ncompatible:\n * action\n\ndefault:\n false" }, - "targetbranch": { + "mergemethod": { "type": "string", - "description": "TargetBranch specifies the pullrequest target branch" + "description": "mergemethod allows to specifies what merge method is used to incorporate the pull request.\n\ncompatible:\n * action\n\ndefault:\n \"\"\n\nremark:\n Accept \"merge\", \"squash\", \"rebase\", or \"\"" }, - "title": { - "type": "string", - "description": "Title defines the Bitbucket pullrequest title." + "usetitleforautomerge": { + "type": "boolean", + "description": "usetitleforautomerge allows to specifies to use the Pull Request title as commit message when using auto merge,\n\ncompatible:\n * action\n\ndefault:\n \"\"\n\nremark:\n Only works for \"squash\" or \"rebase\"" }, - "body": { - "type": "string", - "description": "Body defines the Bitbucket pullrequest body" + "parent": { + "type": "boolean", + "description": "parent allows to specifies if a pull request should be sent to the parent of the current fork.\n\ncompatible:\n * action\n\ndefault:\n false" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" + "description": "ActionSpec specifies the configuration of an action of type \"GitHub Pull Request\"" }, "scmid": { "type": "string" @@ -2318,7 +2308,7 @@ }, "kind": { "enum": [ - "gitlab/mergerequest" + "gitea/pullrequest" ] }, "spec": { @@ -2326,44 +2316,49 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "\"url\" defines the Gitea url to interact with" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, "token": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "sourcebranch": { "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the GitLab mergerequest.\n\n\t\tdefault:\n\t\t\t\"sourcebranch\" inherits the value from the scm branch if a scm of kind \"gitlab\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + "description": "\"sourcebranch\" defines the branch name used as a source to create the Gitea pullrequest.\n\n\t\tdefault:\n\t\t\t\"sourcebranch\" inherits the value from the scm branch if a scm of kind \"gitea\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." }, "targetbranch": { "type": "string", - "description": "\"targetbranch\" defines the branch name used as a target to create the GitLab mergerequest.\n\n\t\tdefault:\n\t\t\t\"targetbranch\" inherits the value from the scm working branch if a scm of kind \"gitlab\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default.\n\t\t\tthe GitLab scm will create and use a working branch such as updatecli_xxxx" + "description": "\"targetbranch\" defines the branch name used as a target to create the Gitea pullrequest.\n\n\t\tdefault:\n\t\t\t\"targetbranch\" inherits the value from the scm working branch if a scm of kind \"gitea\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default.\n\t\t\tthe Gitea scm will create and use a working branch such as updatecli_xxxx" }, "owner": { "type": "string", - "description": "\"owner\" defines the GitLab repository owner.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + "description": "\"owner\" defines the Gitea repository owner.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." }, "repository": { "type": "string", - "description": "\"repository\" defines the GitLab repository for a specific owner\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + "description": "\"repository\" defines the Gitea repository for a specific owner\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." }, "title": { "type": "string", - "description": "\"title\" defines the GitLab mergerequest title\n\n\t\tdefault:\n\t\t\tA GitLab mergerequest title is defined by one of the following location (first match)\n\t\t\t\t1. title is defined by the spec such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitlab/mergerequest\n\t\t\t\t\t\t\tscmid: default\n\t\t\t\t\t\t\tspec:\n\t\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t2. title is defined by the action such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitlab/mergerequest\n\t\t\t\t\t\t\tscmid default\n\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t3. title is defined by the first associated target title\n\n\t\t\t\t4. title is defined by the pipeline title\n\n\t\tremark:\n\t\t\tusually we prefer to go with option 2" + "description": "\"title\" defines the Gitea pullrequest title\n\n\t\tdefault:\n\t\t\tA Gitea pullrequest title is defined by one of the following location (first match)\n\t\t\t\t1. title is defined by the spec such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitea/pullrequest\n\t\t\t\t\t\t\tscmid: default\n\t\t\t\t\t\t\tspec:\n\t\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t2. title is defined by the action such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitea/pullrequest\n\t\t\t\t\t\t\tscmid default\n\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t3. title is defined by the first associated target title\n\n\t\t\t\t4. title is defined by the pipeline title\n\n\t\tremark:\n\t\t\tusually we prefer to go with option 2" }, "body": { "type": "string", - "description": "\"body\" defines a custom mergerequest body\n\n\t\tdefault:\n\t\t\tBy default a mergerequest body is generated out of a pipeline execution.\n\n\t\tremark:\n\t\t\tUnless you know what you are doing, you shouldn't set this value and rely on the sane default.\n\t\t\t\"body\" is useful to provide additional information when reviewing mergerequest, such as changelog url." + "description": "\"body\" defines a custom body pullrequest.\n\n\t\tdefault:\n\t\t\tBy default a pullrequest body is generated out of a pipeline execution.\n\n\t\tremark:\n\t\t\tUnless you know what you are doing, you shouldn't set this value and rely on the sane default.\n\t\t\t\"body\" is useful to provide additional information when reviewing pullrequest, such as changelog url." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines settings used to interact with GitLab pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" }, "scmid": { "type": "string" @@ -2383,23 +2378,27 @@ }, "kind": { "enum": [ - "bitbucket/pullrequest" + "stash/pullrequest" ] }, "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { + "url": { + "type": "string", + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + }, "username": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Cloud API" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Cloud API\n\n The \"token\" is a repository or project access token with \"pullrequest:write\" scope.\n\n \"token\" and \"password\" are mutually exclusive\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "password": { "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Cloud API, it must be combined with \"username\"\n\n The \"password\" should be app password with \"pullrequest:write\" scope.\n\n \"token\" and \"password\" are mutually exclusive\n\n remark:\n A password is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_PASSWORD\"}}` to retrieve the token from the environment variable `BITBUCKET_PASSWORD`\n\t or `{{ .bitbucket.password }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", @@ -2429,6 +2428,7 @@ "additionalProperties": false, "type": "object", "required": [ + "url", "owner", "repository" ], @@ -2457,7 +2457,7 @@ "properties": { "kind": { "enum": [ - "gitlab" + "git" ] }, "spec": { @@ -2465,15 +2465,35 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "\"url\" specifies the git url to work on.\n\n\tcompatible:\n\t * scm\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * scm" }, - "token": { + "password": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * scm" + }, + "branch": { + "type": "string", + "description": "\"branch\" defines the git branch to work on.\n\n\tcompatible:\n\t * scm\n\n\tdefault:\n\t\tmain\n\n\tremark:\n\t\tdepending on which resource references the GitHub scm, the behavior will be different.\n\n\t\tIf the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n\t\tfile(s) from that branch.\n\n\t\tIf the scm is linked to target then Updatecli will push any changes to that branch\n\n\t\tFor more information, please refer to the following issue:\n\t\thttps://github.com/updatecli/updatecli/issues/1139" + }, + "user": { + "type": "string", + "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t * scm" + }, + "email": { + "type": "string", + "description": "\"email\" defines the email used to commit changes.\n\n\tcompatible:\n\t * scm\n\n\tdefault:\n\t\tdefault set to your global git configuration" + }, + "directory": { + "type": "string", + "description": "\"directory\" defines the local path where the git repository is cloned.\n\n\tcompatible:\n\t * scm\n\n\tremark:\n\t Unless you know what you are doing, it is highly recommended to use the default value.\n\t The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n\tdefault:\n\t The default value is based on your local temporary directory like /tmp/updatecli/\u003curl\u003e on Linux" + }, + "force": { + "type": "boolean", + "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n\t * scm\n\n default:\n\t false\n\n remark:\n When force is set to true, Updatecli also recreate the working branches that\n diverged from their base branch." }, "commitmessage": { "properties": { @@ -2504,19 +2524,7 @@ }, "additionalProperties": false, "type": "object", - "description": "\"commitMessage\" is used to generate the final commit message.\n\n compatible:\n * scm\n\n remark:\n it's worth mentioning that the commit message settings is applied to all targets linked to the same scm." - }, - "directory": { - "type": "string", - "description": "\"directory\" defines the local path where the git repository is cloned.\n\n\tcompatible:\n\t * scm\n\n\tremark:\n Unless you know what you are doing, it is recommended to use the default value.\n\t The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n\tdefault:\n\t The default value is based on your local temporary directory like: (on Linux)\n\t /tmp/updatecli/gitlab/\u003cowner\u003e/\u003crepository\u003e" - }, - "email": { - "type": "string", - "description": "\"email\" defines the email used to commit changes.\n\n compatible:\n * scm\n\n default:\n default set to your global git configuration" - }, - "force": { - "type": "boolean", - "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n compatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." + "description": "\"commitMessage\" is used to generate the final commit message.\n\n\tcompatible:\n\t * scm\n\n\tremark:\n\t it's worth mentioning that the commit message is applied to all targets linked to the same scm.\n\n\tdefault:\n\t false" }, "gpg": { "properties": { @@ -2531,23 +2539,7 @@ }, "additionalProperties": false, "type": "object", - "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing.\n\n compatible:\n\t * scm" - }, - "owner": { - "type": "string", - "description": "\"owner\" defines the owner of a repository.\n\n compatible:\n * scm" - }, - "repository": { - "type": "string", - "description": "repository specifies the name of a repository for a specific owner.\n\n compatible:\n * action\n * scm" - }, - "user": { - "type": "string", - "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli.\n\n compatible:\n * scm" - }, - "branch": { - "type": "string", - "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the GitLab scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n\t The working branch can be disabled using the \"workingBranch\" parameter set to false." + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t * scm" }, "submodules": { "type": "boolean", @@ -2555,16 +2547,15 @@ }, "workingbranch": { "type": "boolean", - "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n * scm\n\n default: true" + "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n * scm\n\n default: false" } }, "additionalProperties": false, "type": "object", "required": [ - "owner", - "repository" + "url" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec contains settings to manipulate a git repository." }, "disabled": { "type": "boolean" @@ -2578,7 +2569,7 @@ "properties": { "kind": { "enum": [ - "stash" + "gitea" ] }, "spec": { @@ -2586,27 +2577,15 @@ "properties": { "url": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "\"url\" defines the Gitea url to interact with" }, "username": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "\"owner\" defines the owner of a repository.\n\n\tcompatible:\n\t\t* scm" - }, - "repository": { - "type": "string", - "description": "repository specifies the name of a repository for a specific owner.\n\n\tcompatible:\n\t\t* scm" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "commitmessage": { "properties": { @@ -2641,7 +2620,7 @@ }, "directory": { "type": "string", - "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n * scm\n\n remark:\n Unless you know what you are doing, it is recommended to use the default value.\n The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n The default value is based on your local temporary directory like: (on Linux)\n /tmp/updatecli/stash/\u003cowner\u003e/\u003crepository\u003e" + "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n * scm\n\n remark:\n Unless you know what you are doing, it is recommended to use the default value.\n The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n The default value is based on your local temporary directory like: (on Linux)\n /tmp/updatecli/github/\u003cowner\u003e/\u003crepository\u003e" }, "email": { "type": "string", @@ -2649,7 +2628,7 @@ }, "force": { "type": "boolean", - "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n compatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreate the working branches that\n diverged from their base branch." + "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." }, "gpg": { "properties": { @@ -2664,15 +2643,23 @@ }, "additionalProperties": false, "type": "object", - "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t\t* scm" + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n * scm" + }, + "owner": { + "type": "string", + "description": "\"owner\" defines the owner of a repository.\n\n compatible:\n * scm" + }, + "repository": { + "type": "string", + "description": "\"repository\" specifies the name of a repository for a specific owner.\n\n compatible:\n * scm" }, "user": { "type": "string", - "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t\t* scm" + "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli.\n\n\tcompatible:\n * scm" }, "branch": { "type": "string", - "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the Stash scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n The working branch can be disabled using the \"workingBranch\" parameter set to false." + "description": "\"branch\" defines the git branch to work on.\n\n\tcompatible:\n\t * scm\n\n\tdefault:\n\t main\n\n\tremark:\n\t depending on which resource references the Gitea scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n\t The working branch can be disabled using the \"workingBranch\" parameter set to false." }, "submodules": { "type": "boolean", @@ -2680,7 +2667,7 @@ }, "workingbranch": { "type": "boolean", - "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n\t * scm\n\n default: true" + "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n * scm\n\n default: true" } }, "additionalProperties": false, @@ -2690,7 +2677,7 @@ "owner", "repository" ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines settings used to interact with Gitea release" }, "disabled": { "type": "boolean" @@ -2704,43 +2691,66 @@ "properties": { "kind": { "enum": [ - "git" + "github" ] }, "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "branch": { "type": "string", - "description": "\"url\" specifies the git url to work on.\n\n\tcompatible:\n\t * scm\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the GitHub scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n The working branch can be disabled using the \"workingBranch\" parameter set to false." }, - "username": { + "directory": { "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * scm" + "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n * scm\n\n remark:\n Unless you know what you are doing, it is recommended to use the default value.\n The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n The default value is based on your local temporary directory like: (on Linux)\n /tmp/updatecli/github/\u003cowner\u003e/\u003crepository\u003e" }, - "password": { + "email": { "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * scm" + "description": "\"email\" defines the email used to commit changes.\n\n compatible:\n * scm\n\n default:\n default set to your global git configuration" }, - "branch": { + "owner": { "type": "string", - "description": "\"branch\" defines the git branch to work on.\n\n\tcompatible:\n\t * scm\n\n\tdefault:\n\t\tmain\n\n\tremark:\n\t\tdepending on which resource references the GitHub scm, the behavior will be different.\n\n\t\tIf the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n\t\tfile(s) from that branch.\n\n\t\tIf the scm is linked to target then Updatecli will push any changes to that branch\n\n\t\tFor more information, please refer to the following issue:\n\t\thttps://github.com/updatecli/updatecli/issues/1139" + "description": "\"owner\" defines the owner of a repository.\n\n compatible:\n * scm" }, - "user": { + "repository": { "type": "string", - "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t * scm" + "description": "\"repository\" specifies the name of a repository for a specific owner.\n\n compatible:\n * scm" }, - "email": { + "token": { "type": "string", - "description": "\"email\" defines the email used to commit changes.\n\n\tcompatible:\n\t * scm\n\n\tdefault:\n\t\tdefault set to your global git configuration" + "description": "\"token\" specifies the credential used to authenticate with GitHub API.\n\n\tcompatible:\n\t\t* scm" }, - "directory": { + "url": { "type": "string", - "description": "\"directory\" defines the local path where the git repository is cloned.\n\n\tcompatible:\n\t * scm\n\n\tremark:\n\t Unless you know what you are doing, it is highly recommended to use the default value.\n\t The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n\tdefault:\n\t The default value is based on your local temporary directory like /tmp/updatecli/\u003curl\u003e on Linux" + "description": "\"url\" specifies the default github url in case of GitHub enterprise\n\n compatible:\n * scm\n\n default:\n github.com\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITHUB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .github.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username used to authenticate with GitHub API.\n\n compatible:\n * scm\n\n remark:\n the token is usually enough to authenticate with GitHub API. Needed when working with GitHub private repositories." + }, + "user": { + "type": "string", + "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n compatible:\n * scm" + }, + "gpg": { + "properties": { + "signingkey": { + "type": "string", + "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone" + }, + "passphrase": { + "type": "string", + "description": "passphrase defines the gpg passphrase used to sign the commit message" + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n compatible:\n * scm" }, "force": { "type": "boolean", - "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n\t * scm\n\n default:\n\t false\n\n remark:\n When force is set to true, Updatecli also recreate the working branches that\n diverged from their base branch." + "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n * scm\n\n\tdefault:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." }, "commitmessage": { "properties": { @@ -2760,33 +2770,18 @@ "type": "string", "description": "\"title\" defines the title of the commit message as defined by the\n\t\tconventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\tdefault is set to the target name or the target short description\n\t\t\tif the name is not defined." }, - "body": { - "type": "string", - "description": "\"body\" defines the commit body of the commit message as defined by the\n\t\tconventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\tnone" - }, - "hidecredit": { - "type": "boolean", - "description": "\"hideCredit\" defines if updatecli credits should be displayed inside commit message body\n\n\t\tplease consider sponsoring the Updatecli project if you want to disable credits.\n\t\t-\u003e https://github.com/updatecli/updatecli\n\n\t\tdefault:\n\t\t\tfalse" - } - }, - "additionalProperties": false, - "type": "object", - "description": "\"commitMessage\" is used to generate the final commit message.\n\n\tcompatible:\n\t * scm\n\n\tremark:\n\t it's worth mentioning that the commit message is applied to all targets linked to the same scm.\n\n\tdefault:\n\t false" - }, - "gpg": { - "properties": { - "signingkey": { - "type": "string", - "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone" - }, - "passphrase": { + "body": { "type": "string", - "description": "passphrase defines the gpg passphrase used to sign the commit message" + "description": "\"body\" defines the commit body of the commit message as defined by the\n\t\tconventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\tnone" + }, + "hidecredit": { + "type": "boolean", + "description": "\"hideCredit\" defines if updatecli credits should be displayed inside commit message body\n\n\t\tplease consider sponsoring the Updatecli project if you want to disable credits.\n\t\t-\u003e https://github.com/updatecli/updatecli\n\n\t\tdefault:\n\t\t\tfalse" } }, "additionalProperties": false, "type": "object", - "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t * scm" + "description": "\"commitMessage\" is used to generate the final commit message.\n\n\tcompatible:\n\t\t* scm\n\n\tremark:\n\t\tit's worth mentioning that the commit message settings is applied to all targets linked to the same scm." }, "submodules": { "type": "boolean", @@ -2794,15 +2789,21 @@ }, "workingbranch": { "type": "boolean", - "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n * scm\n\n default: false" + "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n\t * scm\n\n default: true" + }, + "commitusingapi": { + "type": "boolean", + "description": "\"commitUsingApi\" defines if Updatecli should use GitHub GraphQL API to create the commit.\n When set to `true`, a commit created from a GitHub action using the GITHUB_TOKEN will automatically be signed by GitHub.\n More info on https://github.com/updatecli/updatecli/issues/1914\n\n compatible:\n\t * scm\n\n default: false" } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "owner", + "repository", + "token" ], - "description": "Spec contains settings to manipulate a git repository." + "description": "Spec represents the configuration input" }, "disabled": { "type": "boolean" @@ -2816,7 +2817,7 @@ "properties": { "kind": { "enum": [ - "gitea" + "gitlab" ] }, "spec": { @@ -2824,15 +2825,15 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "\"username\" defines the username used to authenticate with GitLab" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "commitmessage": { "properties": { @@ -2867,7 +2868,7 @@ }, "directory": { "type": "string", - "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n * scm\n\n remark:\n Unless you know what you are doing, it is recommended to use the default value.\n The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n The default value is based on your local temporary directory like: (on Linux)\n /tmp/updatecli/github/\u003cowner\u003e/\u003crepository\u003e" + "description": "\"directory\" defines the local path where the git repository is cloned.\n\n\tcompatible:\n\t * scm\n\n\tremark:\n Unless you know what you are doing, it is recommended to use the default value.\n\t The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n\tdefault:\n\t The default value is based on your local temporary directory like: (on Linux)\n\t /tmp/updatecli/gitlab/\u003cowner\u003e/\u003crepository\u003e" }, "email": { "type": "string", @@ -2875,7 +2876,7 @@ }, "force": { "type": "boolean", - "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." + "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n compatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." }, "gpg": { "properties": { @@ -2890,7 +2891,7 @@ }, "additionalProperties": false, "type": "object", - "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n * scm" + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing.\n\n compatible:\n\t * scm" }, "owner": { "type": "string", @@ -2898,15 +2899,15 @@ }, "repository": { "type": "string", - "description": "\"repository\" specifies the name of a repository for a specific owner.\n\n compatible:\n * scm" + "description": "repository specifies the name of a repository for a specific owner.\n\n compatible:\n * action\n * scm" }, "user": { "type": "string", - "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli.\n\n\tcompatible:\n * scm" + "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli.\n\n compatible:\n * scm" }, "branch": { "type": "string", - "description": "\"branch\" defines the git branch to work on.\n\n\tcompatible:\n\t * scm\n\n\tdefault:\n\t main\n\n\tremark:\n\t depending on which resource references the Gitea scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n\t The working branch can be disabled using the \"workingBranch\" parameter set to false." + "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the GitLab scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n\t The working branch can be disabled using the \"workingBranch\" parameter set to false." }, "submodules": { "type": "boolean", @@ -2920,11 +2921,10 @@ "additionalProperties": false, "type": "object", "required": [ - "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines settings used to interact with GitLab release" }, "disabled": { "type": "boolean" @@ -2938,66 +2938,35 @@ "properties": { "kind": { "enum": [ - "github" + "stash" ] }, "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "branch": { - "type": "string", - "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the GitHub scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n The working branch can be disabled using the \"workingBranch\" parameter set to false." - }, - "directory": { - "type": "string", - "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n * scm\n\n remark:\n Unless you know what you are doing, it is recommended to use the default value.\n The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n The default value is based on your local temporary directory like: (on Linux)\n /tmp/updatecli/github/\u003cowner\u003e/\u003crepository\u003e" - }, - "email": { - "type": "string", - "description": "\"email\" defines the email used to commit changes.\n\n compatible:\n * scm\n\n default:\n default set to your global git configuration" - }, - "owner": { + "url": { "type": "string", - "description": "\"owner\" defines the owner of a repository.\n\n compatible:\n * scm" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "repository": { + "username": { "type": "string", - "description": "\"repository\" specifies the name of a repository for a specific owner.\n\n compatible:\n * scm" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with GitHub API.\n\n\tcompatible:\n\t\t* scm" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "url": { + "password": { "type": "string", - "description": "\"url\" specifies the default github url in case of GitHub enterprise\n\n compatible:\n * scm\n\n default:\n github.com\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITHUB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .github.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "username": { + "owner": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with GitHub API.\n\n compatible:\n * scm\n\n remark:\n the token is usually enough to authenticate with GitHub API. Needed when working with GitHub private repositories." + "description": "\"owner\" defines the owner of a repository.\n\n\tcompatible:\n\t\t* scm" }, - "user": { + "repository": { "type": "string", - "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n compatible:\n * scm" - }, - "gpg": { - "properties": { - "signingkey": { - "type": "string", - "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone" - }, - "passphrase": { - "type": "string", - "description": "passphrase defines the gpg passphrase used to sign the commit message" - } - }, - "additionalProperties": false, - "type": "object", - "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n compatible:\n * scm" - }, - "force": { - "type": "boolean", - "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n * scm\n\n\tdefault:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." + "description": "repository specifies the name of a repository for a specific owner.\n\n\tcompatible:\n\t\t* scm" }, "commitmessage": { "properties": { @@ -3028,7 +2997,42 @@ }, "additionalProperties": false, "type": "object", - "description": "\"commitMessage\" is used to generate the final commit message.\n\n\tcompatible:\n\t\t* scm\n\n\tremark:\n\t\tit's worth mentioning that the commit message settings is applied to all targets linked to the same scm." + "description": "\"commitMessage\" is used to generate the final commit message.\n\n compatible:\n * scm\n\n remark:\n it's worth mentioning that the commit message settings is applied to all targets linked to the same scm." + }, + "directory": { + "type": "string", + "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n * scm\n\n remark:\n Unless you know what you are doing, it is recommended to use the default value.\n The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n The default value is based on your local temporary directory like: (on Linux)\n /tmp/updatecli/stash/\u003cowner\u003e/\u003crepository\u003e" + }, + "email": { + "type": "string", + "description": "\"email\" defines the email used to commit changes.\n\n compatible:\n * scm\n\n default:\n default set to your global git configuration" + }, + "force": { + "type": "boolean", + "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n compatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreate the working branches that\n diverged from their base branch." + }, + "gpg": { + "properties": { + "signingkey": { + "type": "string", + "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone" + }, + "passphrase": { + "type": "string", + "description": "passphrase defines the gpg passphrase used to sign the commit message" + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t\t* scm" + }, + "user": { + "type": "string", + "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t\t* scm" + }, + "branch": { + "type": "string", + "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the Stash scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n The working branch can be disabled using the \"workingBranch\" parameter set to false." }, "submodules": { "type": "boolean", @@ -3037,20 +3041,16 @@ "workingbranch": { "type": "boolean", "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n\t * scm\n\n default: true" - }, - "commitusingapi": { - "type": "boolean", - "description": "\"commitUsingApi\" defines if Updatecli should use GitHub GraphQL API to create the commit.\n When set to `true`, a commit created from a GitHub action using the GITHUB_TOKEN will automatically be signed by GitHub.\n More info on https://github.com/updatecli/updatecli/issues/1914\n\n compatible:\n\t * scm\n\n default: false" } }, "additionalProperties": false, "type": "object", "required": [ + "url", "owner", - "repository", - "token" + "repository" ], - "description": "Spec represents the configuration input" + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "disabled": { "type": "boolean" @@ -3083,7 +3083,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "hcl" ] }, "transformers": { @@ -3184,42 +3184,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" - }, - "image": { - "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" - }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" - }, - "digest": { + "file": { "type": "string", - "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "password": { + "path": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "token": { + "value": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - }, - "hidetag": { - "type": "boolean", - "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -3248,7 +3235,7 @@ }, "kind": { "enum": [ - "dockerimage" + "shell" ] }, "transformers": { @@ -3349,68 +3336,130 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { + "command": { + "type": "string", + "description": "command specifies the shell command to execute by Updatecli" + }, + "environments": { "items": { - "type": "string" + "properties": { + "name": { + "type": "string", + "description": "Name defines the environment variable name" + }, + "value": { + "type": "string", + "description": "Value defines the environment variable value" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ], + "description": "Environment is a struct containing information for an environment variable such as its name and its value" }, "type": "array", - "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "image": { - "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" - }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" - }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + "changedif": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "exitcode" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "warning": { + "type": "integer", + "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" + }, + "success": { + "type": "integer", + "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" + }, + "failure": { + "type": "integer", + "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "warning", + "success", + "failure" + ] + } + }, + "additionalProperties": false, + "type": "object" }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "file/checksum" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the list of file that Updatecli monitors to identify state change" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "files" + ] + } + }, + "additionalProperties": false, + "type": "object" } - }, - "additionalProperties": false, - "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" + ], + "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" }, - "tagfilter": { + "shell": { "type": "string", - "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" + "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + }, + "workdir": { + "type": "string", + "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" + "required": [ + "command" + ], + "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -3439,7 +3488,7 @@ }, "kind": { "enum": [ - "gitbranch" + "terraform/provider" ] }, "transformers": { @@ -3540,64 +3589,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "file": { "type": "string", - "description": "path contains the git repository path" + "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "branch": { - "type": "string", - "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" - }, - "sourcebranch": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "url": { - "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + "type": "array", + "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, - "password": { + "value": { "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "key": { + "provider": { "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" + "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" } }, "additionalProperties": false, "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -3626,7 +3640,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "terraform/registry" ] }, "transformers": { @@ -3727,25 +3741,33 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "type": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" }, - "username": { + "hostname": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "token": { + "namespace": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "owner": { + "name": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "repository": { + "targetsystem": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." + }, + "rawstring": { + "type": "string", + "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + }, + "version": { + "type": "string", + "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" }, "versionfilter": { "properties": { @@ -3768,20 +3790,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "branch": { - "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "type": "object" }, "scmid": { "type": "string", @@ -3810,7 +3823,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "cargopackage" ] }, "transformers": { @@ -3911,25 +3924,47 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" - }, - "token": { - "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "registry": { + "properties": { + "auth": { + "properties": { + "token": { + "type": "string", + "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." + }, + "headerformat": { + "type": "string", + "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." + }, + "url": { + "type": "string", + "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." + }, + "rootdir": { + "type": "string", + "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." + }, + "scmid": { + "type": "string", + "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] Registry specifies the registry to use" }, - "owner": { + "package": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[S][C] Package specifies the name of the package" }, - "repository": { + "version": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[C] Defines a specific package version" }, "versionfilter": { "properties": { @@ -3952,20 +3987,15 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "tag": { - "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", "required": [ - "owner", - "repository" + "package" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -4143,7 +4173,7 @@ }, "kind": { "enum": [ - "json" + "gitlab/tag" ] }, "transformers": { @@ -4244,28 +4274,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "key": { + "token": { "type": "string", - "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "value": { + "owner": { "type": "string", - "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + "description": "[S][C] Owner specifies repository owner" }, - "query": { + "repository": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -4288,12 +4315,20 @@ }, "additionalProperties": false, "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "tag": { + "type": "string", + "description": "[S] Tag defines the GitLab tag ." } }, "additionalProperties": false, "type": "object", - "description": "\"json\" defines the specification for manipulating \"json\" files." + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -4322,7 +4357,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "terraform/file" ] }, "transformers": { @@ -4425,38 +4460,27 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "value": { + "path": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "provider": { + "value": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" - }, - "platforms": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" - }, - "skipconstraints": { - "type": "boolean", - "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -4485,7 +4509,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "dockerfile" ] }, "transformers": { @@ -4586,62 +4610,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { + "file": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "File specifies the dockerimage file path to use and is incompatible with Files" }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "Value specifies the value for a specified Dockerfile instruction." }, - "branch": { + "stage": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -4670,7 +4664,7 @@ }, "kind": { "enum": [ - "golang" + "gitbranch" ] }, "transformers": { @@ -4771,9 +4765,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "version": { + "path": { "type": "string", - "description": "[C] Version defines a specific golang version" + "description": "path contains the git repository path" }, "versionfilter": { "properties": { @@ -4796,12 +4790,39 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" + }, + "branch": { + "type": "string", + "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" + }, + "sourcebranch": { + "type": "string", + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "url": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -4830,7 +4851,7 @@ }, "kind": { "enum": [ - "helmchart" + "toml" ] }, "transformers": { @@ -4933,39 +4954,26 @@ "properties": { "file": { "type": "string", - "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" + "description": "[s][c][t] File specifies the toml file to manipulate" }, - "key": { - "type": "string", - "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "name": { + "query": { "type": "string", - "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" - }, - "skippackaging": { - "type": "boolean", - "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "url": { + "key": { "type": "string", - "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" + "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" }, "value": { "type": "string", - "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" - }, - "version": { - "type": "string", - "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" - }, - "versionincrement": { - "type": "string", - "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" - }, - "appversion": { - "type": "boolean", - "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, "versionfilter": { "properties": { @@ -4988,24 +4996,15 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default." - }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -5034,7 +5033,7 @@ }, "kind": { "enum": [ - "temurin" + "aws/ami" ] }, "transformers": { @@ -5135,52 +5134,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "releaseline": { - "type": "string", - "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" - }, - "releasetype": { + "accesskey": { "type": "string", - "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" - }, - "featureversion": { - "type": "integer", - "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" + "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "result": { + "secretkey": { "type": "string", - "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" + "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" }, - "architecture": { - "type": "string", - "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" + "filters": { + "items": { + "properties": { + "name": { + "type": "string", + "description": "Name specifies a filter name." + }, + "values": { + "type": "string", + "description": "Values specifies a filter value for a specific filter name." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Filter represents the updatecli configuration describing AMI filters." + }, + "type": "array", + "description": "Filters specifies a list of AMI filters" }, - "imagetype": { + "region": { "type": "string", - "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" + "description": "Region specifies the AWS region to use when looking for AMI" }, - "operatingsystem": { + "endpoint": { "type": "string", - "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" + "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" }, - "specificversion": { - "type": "string", - "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + "dryrun": { + "type": "boolean", + "description": "Dryrun allows to Check whether you have the required permissions for the action." }, - "project": { + "sortby": { "type": "string", - "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" - }, - "platforms": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." + "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -5209,7 +5209,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "http" ] }, "transformers": { @@ -5310,60 +5310,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "type": { - "type": "string", - "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" - }, - "hostname": { - "type": "string", - "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, - "namespace": { - "type": "string", - "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, - "name": { - "type": "string", - "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, - "targetsystem": { - "type": "string", - "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." - }, - "rawstring": { + "url": { "type": "string", - "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "version": { + "returnresponseheader": { "type": "string", - "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + "description": "[S] Specifies the header to return as source value (instead of the body)." }, - "versionfilter": { + "request": { "properties": { - "kind": { + "verb": { "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" + "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." }, - "pattern": { + "body": { "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." }, - "strict": { + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." + }, + "nofollowredirects": { "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] Customizes the HTTP request to emit." + }, + "responseasserts": { + "properties": { + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[C] Specifies a set of assertions on the HTTP response headers." }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + "statuscode": { + "type": "integer", + "description": "[C] Specifies a custom assertion on the HTTP response status code." } }, "additionalProperties": false, "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -5392,7 +5394,7 @@ }, "kind": { "enum": [ - "aws/ami" + "toolversions" ] }, "transformers": { @@ -5493,53 +5495,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "accesskey": { - "type": "string", - "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" - }, - "secretkey": { + "file": { "type": "string", - "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + "description": "[s][c][t] File specifies the .tool-versions file to manipulate" }, - "filters": { + "files": { "items": { - "properties": { - "name": { - "type": "string", - "description": "Name specifies a filter name." - }, - "values": { - "type": "string", - "description": "Values specifies a filter value for a specific filter name." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Filter represents the updatecli configuration describing AMI filters." + "type": "string" }, "type": "array", - "description": "Filters specifies a list of AMI filters" + "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" }, - "region": { + "key": { "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" }, - "endpoint": { + "value": { "type": "string", - "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, - "dryrun": { + "createmissingkey": { "type": "boolean", - "description": "Dryrun allows to Check whether you have the required permissions for the action." - }, - "sortby": { - "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "description": "Spec contains the updatecli configuration provided by users." + "type": "object" }, "scmid": { "type": "string", @@ -5568,7 +5549,7 @@ }, "kind": { "enum": [ - "cargopackage" + "xml" ] }, "transformers": { @@ -5669,78 +5650,22 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "registry": { - "properties": { - "auth": { - "properties": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." - }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." - }, - "url": { - "type": "string", - "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." - }, - "rootdir": { - "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." - }, - "scmid": { - "type": "string", - "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" - }, - "package": { + "file": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "version": { + "path": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "value": { + "type": "string", + "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" } }, "additionalProperties": false, "type": "object", - "required": [ - "package" - ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -5769,7 +5694,7 @@ }, "kind": { "enum": [ - "csv" + "gitlab/branch" ] }, "transformers": { @@ -5865,41 +5790,30 @@ "description": "Transformer holds a transformer rule" }, "type": "array", - "description": "transformers defines how the default input value need to be transformed" - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "file": { - "type": "string", - "description": "[s][c][t] File specifies the csv file" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" - }, - "key": { + "description": "transformers defines how the default input value need to be transformed" + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "url": { "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "query": { + "username": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "value": { + "token": { "type": "string", - "description": "[s][c][t] Key specifies the csv value, default to source output" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "comma": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -5922,11 +5836,20 @@ }, "additionalProperties": false, "type": "object", - "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -5955,7 +5878,7 @@ }, "kind": { "enum": [ - "file" + "gitlab/release" ] }, "transformers": { @@ -6056,45 +5979,81 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "line": { - "type": "integer", - "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "token": { + "type": "string", + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "content": { + "owner": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[S][C][T] Owner specifies repository owner" }, - "forcecreate": { - "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + "repository": { + "type": "string", + "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" }, - "matchpattern": { + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "title": { "type": "string", - "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[T] Title defines the GitLab release title." }, - "replacepattern": { + "tag": { "type": "string", - "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[C][T] Tag defines the GitLab release tag." }, - "searchpattern": { + "commitish": { + "type": "string", + "description": "[T] Commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] Description defines if the new release description" + }, + "draft": { "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "description": "[T] Draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] Prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -6123,7 +6082,7 @@ }, "kind": { "enum": [ - "yaml" + "helmchart" ] }, "transformers": { @@ -6224,45 +6183,81 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { + "file": { "type": "string", - "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" + "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" }, - "file": { + "key": { "type": "string", - "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "name": { + "type": "string", + "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" }, - "key": { + "skippackaging": { + "type": "boolean", + "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" + }, + "url": { "type": "string", - "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" + "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" }, "value": { "type": "string", - "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "keyonly": { - "type": "boolean", - "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" + "version": { + "type": "string", + "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" }, - "searchpattern": { + "versionincrement": { + "type": "string", + "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" + }, + "appversion": { "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" }, - "comment": { + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default." + }, + "username": { "type": "string", - "description": "\"comment\" defines a comment to add after the value.\n\n\t\t\t\tcompatible:\n\t\t\t\t\t* target\n\n\t\t remarks:\n\t\t * require engine set to yamlpath" + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" } }, "additionalProperties": false, "type": "object", - "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -6291,7 +6286,7 @@ }, "kind": { "enum": [ - "gittag" + "npm" ] }, "transformers": { @@ -6392,9 +6387,21 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "name": { "type": "string", - "description": "Path contains the git repository path" + "description": "Defines the specific npm package name" + }, + "version": { + "type": "string", + "description": "Defines a specific package version" + }, + "url": { + "type": "string", + "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + }, + "registrytoken": { + "type": "string", + "description": "RegistryToken defines the token to use when connection to the registry" }, "versionfilter": { "properties": { @@ -6405,51 +6412,28 @@ "pattern": { "type": "string", "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "message": { - "type": "string", - "description": "Message associated to the git tag\n\n compatible:\n * target" - }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" - }, - "url": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "sourcebranch": { + "npmrcpath": { "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "description": "NpmrcPath defines the path to the .npmrc file" } }, "additionalProperties": false, "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -6478,7 +6462,7 @@ }, "kind": { "enum": [ - "gitea/release" + "dockerdigest" ] }, "transformers": { @@ -6579,82 +6563,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { + "architecture": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" }, - "owner": { + "image": { "type": "string", - "description": "[S][C][T] owner specifies the repository owner" + "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "repository": { + "tag": { "type": "string", - "description": "[S][C][T] repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "title": { + "digest": { "type": "string", - "description": "[T] title defines the Gitea release title." + "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." }, - "tag": { + "username": { "type": "string", - "description": "[C][T] tag defines the Gitea release tag." + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "commitish": { + "password": { "type": "string", - "description": "[T] commitish defines the commit-ish such as `main`" + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "description": { + "token": { "type": "string", - "description": "[T] description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] draft defines if the release is a draft release" + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" }, - "prerelease": { + "hidetag": { "type": "boolean", - "description": "[T] prerelease defines if the release is a pre-release release" + "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -6683,7 +6627,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "gitea/release" ] }, "transformers": { @@ -6786,23 +6730,23 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "\"url\" defines the Gitea url to interact with" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, "token": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", - "description": "[S][C][T] Owner specifies repository owner" + "description": "[S][C][T] owner specifies the repository owner" }, "repository": { "type": "string", - "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" + "description": "[S][C][T] repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -6825,40 +6769,41 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, "title": { "type": "string", - "description": "[T] Title defines the GitLab release title." + "description": "[T] title defines the Gitea release title." }, "tag": { "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." + "description": "[C][T] tag defines the Gitea release tag." }, "commitish": { "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" + "description": "[T] commitish defines the commit-ish such as `main`" }, "description": { "type": "string", - "description": "[T] Description defines if the new release description" + "description": "[T] description defines if the new release description" }, "draft": { "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" + "description": "[T] draft defines if the release is a draft release" }, "prerelease": { "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" + "description": "[T] prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", "required": [ + "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -6887,7 +6832,7 @@ }, "kind": { "enum": [ - "stash/tag" + "githubrelease" ] }, "transformers": { @@ -6988,29 +6933,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "owner": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "[s][c] Owner specifies repository owner" }, - "username": { + "repository": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "[s][c] Token specifies the credential used to authenticate with" }, - "owner": { + "url": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" }, - "repository": { + "username": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" }, "versionfilter": { "properties": { @@ -7033,21 +6974,48 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "typefilter": { + "properties": { + "draft": { + "type": "boolean", + "description": "\"Draft\" enable/disable GitHub draft release" + }, + "prerelease": { + "type": "boolean", + "description": "\"PreRelease\" enable/disable GitHub PreRelease" + }, + "release": { + "type": "boolean", + "description": "\"Release\" enable/disable GitHub release" + }, + "latest": { + "type": "boolean", + "description": "\"Latest\" if set to true will only filter the release flag as latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" }, "tag": { "type": "string", - "description": "[S] Tag defines the Bitbucket tag ." + "description": "[c] Tag allows to check for a specific release tag, default to source output" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", "required": [ - "url", "owner", - "repository" + "repository", + "token" ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7076,7 +7044,7 @@ }, "kind": { "enum": [ - "toolversions" + "jenkins" ] }, "transformers": { @@ -7177,32 +7145,18 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" - }, - "key": { + "release": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "value": { + "version": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" - }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "description": "[s][c] Defines a specific release version (condition only)" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7231,7 +7185,7 @@ }, "kind": { "enum": [ - "xml" + "stash/tag" ] }, "transformers": { @@ -7332,22 +7286,66 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "path": { + "username": { "type": "string", - "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + }, + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "value": { + "tag": { "type": "string", - "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" + "description": "[S] Tag defines the Bitbucket tag ." } }, "additionalProperties": false, "type": "object", - "description": "\"xml\" defines the specification for manipulating \"xml\" files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -7376,7 +7374,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "csv" ] }, "transformers": { @@ -7477,25 +7475,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "[s][c][t] File specifies the csv file" }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "token": { + "key": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "[s][c][t] Key specifies the csv query" }, - "owner": { + "query": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[s][c][t] Key specifies the csv value, default to source output" + }, + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + }, + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" }, "versionfilter": { "properties": { @@ -7518,21 +7527,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "tag": { - "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, - "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "type": "object" }, "scmid": { "type": "string", @@ -7561,7 +7560,7 @@ }, "kind": { "enum": [ - "githubrelease" + "dockerimage" ] }, "transformers": { @@ -7662,25 +7661,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { - "type": "string", - "description": "[s][c] Owner specifies repository owner" + "architectures": { + "items": { + "type": "string" + }, + "type": "array", + "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "repository": { + "architecture": { "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" + "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "token": { + "image": { "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "url": { + "tag": { "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" }, "username": { "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" }, "versionfilter": { "properties": { @@ -7703,48 +7713,16 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "typefilter": { - "properties": { - "draft": { - "type": "boolean", - "description": "\"Draft\" enable/disable GitHub draft release" - }, - "prerelease": { - "type": "boolean", - "description": "\"PreRelease\" enable/disable GitHub PreRelease" - }, - "release": { - "type": "boolean", - "description": "\"Release\" enable/disable GitHub release" - }, - "latest": { - "type": "boolean", - "description": "\"Latest\" if set to true will only filter the release flag as latest." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" - }, - "tag": { - "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" }, - "key": { + "tagfilter": { "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source\n * condition" + "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository", - "token" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7773,7 +7751,7 @@ }, "kind": { "enum": [ - "hcl" + "golang" ] }, "transformers": { @@ -7874,29 +7852,37 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "version": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[C] Version defines a specific golang version" }, - "files": { - "items": { - "type": "string" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" - }, - "path": { - "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" - }, - "value": { - "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7925,7 +7911,7 @@ }, "kind": { "enum": [ - "http" + "json" ] }, "transformers": { @@ -8026,62 +8012,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "[S][C] Specifies the URL of the HTTP request for this resource." + "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "returnresponseheader": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + }, + "key": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" }, - "request": { + "value": { + "type": "string", + "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" + }, + "versionfilter": { "properties": { - "verb": { + "kind": { "type": "string", - "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." + "description": "specifies the version kind such as semver, regex, or latest" }, - "body": { + "pattern": { "type": "string", - "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." - }, - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" }, - "nofollowredirects": { + "strict": { "type": "boolean", - "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Customizes the HTTP request to emit." - }, - "responseasserts": { - "properties": { - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[C] Specifies a set of assertions on the HTTP response headers." + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" }, - "statuscode": { - "type": "integer", - "description": "[C] Specifies a custom assertion on the HTTP response status code." + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." } }, "additionalProperties": false, "type": "object", - "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -8110,7 +8090,7 @@ }, "kind": { "enum": [ - "shell" + "temurin" ] }, "transformers": { @@ -8211,130 +8191,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "command": { + "releaseline": { "type": "string", - "description": "command specifies the shell command to execute by Updatecli" + "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "environments": { - "items": { - "properties": { - "name": { - "type": "string", - "description": "Name defines the environment variable name" - }, - "value": { - "type": "string", - "description": "Value defines the environment variable value" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "name" - ], - "description": "Environment is a struct containing information for an environment variable such as its name and its value" - }, - "type": "array", - "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." + "releasetype": { + "type": "string", + "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" }, - "changedif": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "file/checksum" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files specifies the list of file that Updatecli monitors to identify state change" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "files" - ] - } - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "console/output" - ] - }, - "spec": true - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "exitcode" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "warning": { - "type": "integer", - "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" - }, - "success": { - "type": "integer", - "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" - }, - "failure": { - "type": "integer", - "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "warning", - "success", - "failure" - ] - } - }, - "additionalProperties": false, - "type": "object" - } - ], - "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" + "featureversion": { + "type": "integer", + "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" }, - "shell": { + "result": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" }, - "workdir": { + "architecture": { "type": "string", - "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." + "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" + }, + "imagetype": { + "type": "string", + "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" + }, + "operatingsystem": { + "type": "string", + "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" + }, + "specificversion": { + "type": "string", + "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + }, + "project": { + "type": "string", + "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + }, + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." } }, "additionalProperties": false, - "type": "object", - "required": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -8363,7 +8265,7 @@ }, "kind": { "enum": [ - "jenkins" + "yaml" ] }, "transformers": { @@ -8464,18 +8366,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "engine": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" }, - "version": { + "file": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + }, + "key": { + "type": "string", + "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" + }, + "value": { + "type": "string", + "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + }, + "keyonly": { + "type": "boolean", + "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" + }, + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + }, + "comment": { + "type": "string", + "description": "\"comment\" defines a comment to add after the value.\n\n\t\t\t\tcompatible:\n\t\t\t\t\t* target\n\n\t\t remarks:\n\t\t * require engine set to yamlpath" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -8504,7 +8433,7 @@ }, "kind": { "enum": [ - "npm" + "gittag" ] }, "transformers": { @@ -8605,21 +8534,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { - "type": "string", - "description": "Defines the specific npm package name" - }, - "version": { - "type": "string", - "description": "Defines a specific package version" - }, - "url": { - "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" - }, - "registrytoken": { + "path": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "description": "Path contains the git repository path" }, "versionfilter": { "properties": { @@ -8642,16 +8559,39 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "npmrcpath": { + "message": { "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "description": "Message associated to the git tag\n\n compatible:\n * target" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" + }, + "url": { + "type": "string", + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "sourcebranch": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -8680,7 +8620,7 @@ }, "kind": { "enum": [ - "stash/branch" + "gitea/tag" ] }, "transformers": { @@ -8783,19 +8723,15 @@ "properties": { "url": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "\"url\" defines the Gitea url to interact with" }, "username": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", @@ -8826,11 +8762,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "branch": { + "tag": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "[S] Tag defines the Gitea tag ." } }, "additionalProperties": false, @@ -8840,7 +8776,7 @@ "owner", "repository" ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -8869,7 +8805,7 @@ }, "kind": { "enum": [ - "terraform/file" + "golang/module" ] }, "transformers": { @@ -8970,29 +8906,48 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "proxy": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." }, - "path": { + "module": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "[S][C] Module specifies the name of the module" }, - "value": { + "version": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "[C] Defines a specific package version" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "module" + ], + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -9021,7 +8976,7 @@ }, "kind": { "enum": [ - "dockerfile" + "maven" ] }, "transformers": { @@ -9122,32 +9077,60 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "description": "Deprecated, please specify the Maven url in the repository" }, - "files": { + "repository": { + "type": "string", + "description": "Specifies the maven repository url + name" + }, + "repositories": { "items": { "type": "string" }, "type": "array", - "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" + "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "groupid": { + "type": "string", + "description": "Specifies the maven artifact groupID" }, - "value": { + "artifactid": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "description": "Specifies the maven artifact artifactID" }, - "stage": { + "version": { "type": "string", - "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" + "description": "Specifies the maven artifact version" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -9176,7 +9159,7 @@ }, "kind": { "enum": [ - "golang/module" + "stash/branch" ] }, "transformers": { @@ -9277,17 +9260,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "proxy": { + "url": { "type": "string", - "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "module": { + "username": { "type": "string", - "description": "[S][C] Module specifies the name of the module" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "version": { + "token": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -9311,14 +9306,20 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ - "module" + "url", + "owner", + "repository" ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -9347,7 +9348,7 @@ }, "kind": { "enum": [ - "maven" + "terraform/lock" ] }, "transformers": { @@ -9448,60 +9449,40 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "Deprecated, please specify the Maven url in the repository" - }, - "repository": { + "file": { "type": "string", - "description": "Specifies the maven repository url + name" + "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "repositories": { + "files": { "items": { "type": "string" }, "type": "array", - "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." - }, - "groupid": { - "type": "string", - "description": "Specifies the maven artifact groupID" + "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, - "artifactid": { + "value": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "version": { + "provider": { "type": "string", - "description": "Specifies the maven artifact version" + "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } + "platforms": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "type": "array", + "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "skipconstraints": { + "type": "boolean", + "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -9530,7 +9511,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "file" ] }, "transformers": { @@ -9633,27 +9614,43 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" }, - "value": { + "line": { + "type": "integer", + "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + }, + "content": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "provider": { + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + }, + "matchpattern": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + }, + "replacepattern": { + "type": "string", + "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + }, + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -9682,7 +9679,7 @@ }, "kind": { "enum": [ - "toml" + "gitea/branch" ] }, "transformers": { @@ -9783,28 +9780,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" + "description": "\"url\" defines the Gitea url to interact with" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "query": { + "token": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "key": { + "owner": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "description": "[S][C] Owner specifies repository owner" }, - "value": { + "repository": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -9827,15 +9821,21 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -9872,7 +9872,7 @@ }, "kind": { "enum": [ - "cargopackage" + "dockerfile" ] }, "transformers": { @@ -9973,78 +9973,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "registry": { - "properties": { - "auth": { - "properties": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." - }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." - }, - "url": { - "type": "string", - "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." - }, - "rootdir": { - "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." - }, - "scmid": { - "type": "string", - "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." - } + "file": { + "type": "string", + "description": "File specifies the dockerimage file path to use and is incompatible with Files" + }, + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + "type": "array", + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "package": { - "type": "string", - "description": "[S][C] Package specifies the name of the package" + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "version": { + "value": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "Value specifies the value for a specified Dockerfile instruction." }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "stage": { + "type": "string", + "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" } }, "additionalProperties": false, "type": "object", - "required": [ - "package" - ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -10082,7 +10036,7 @@ }, "kind": { "enum": [ - "gitbranch" + "gitea/release" ] }, "transformers": { @@ -10183,9 +10137,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "url": { "type": "string", - "description": "path contains the git repository path" + "description": "\"url\" defines the Gitea url to interact with" + }, + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" + }, + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C][T] owner specifies the repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C][T] repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -10208,39 +10178,41 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" + "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "branch": { + "title": { "type": "string", - "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" + "description": "[T] title defines the Gitea release title." }, - "sourcebranch": { + "tag": { "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + "description": "[C][T] tag defines the Gitea release tag." }, - "url": { + "commitish": { "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "description": "[T] commitish defines the commit-ish such as `main`" }, - "username": { + "description": { "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + "description": "[T] description defines if the new release description" }, - "password": { - "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "draft": { + "type": "boolean", + "description": "[T] draft defines if the release is a draft release" }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" + "prerelease": { + "type": "boolean", + "description": "[T] prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "url", + "owner", + "repository" ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -10278,7 +10250,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "golang" ] }, "transformers": { @@ -10379,25 +10351,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" - }, - "repository": { + "version": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[C] Version defines a specific golang version" }, "versionfilter": { "properties": { @@ -10420,21 +10376,12 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "tag": { - "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -10472,7 +10419,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "maven" ] }, "transformers": { @@ -10575,23 +10522,30 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "Deprecated, please specify the Maven url in the repository" }, - "username": { + "repository": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "Specifies the maven repository url + name" }, - "token": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." + }, + "groupid": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "Specifies the maven artifact groupID" }, - "owner": { + "artifactid": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "Specifies the maven artifact artifactID" }, - "repository": { + "version": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "Specifies the maven artifact version" }, "versionfilter": { "properties": { @@ -10615,19 +10569,11 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "branch": { - "type": "string", - "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -10665,7 +10611,7 @@ }, "kind": { "enum": [ - "xml" + "temurin" ] }, "transformers": { @@ -10766,22 +10712,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "releaseline": { + "type": "string", + "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" + }, + "releasetype": { + "type": "string", + "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" + }, + "featureversion": { + "type": "integer", + "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" + }, + "result": { + "type": "string", + "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" + }, + "architecture": { + "type": "string", + "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" + }, + "imagetype": { + "type": "string", + "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" + }, + "operatingsystem": { "type": "string", - "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" }, - "path": { + "specificversion": { "type": "string", - "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" + "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" }, - "value": { + "project": { "type": "string", - "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" + "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + }, + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." } }, "additionalProperties": false, - "type": "object", - "description": "\"xml\" defines the specification for manipulating \"xml\" files." + "type": "object" }, "scmid": { "type": "string", @@ -10819,7 +10795,7 @@ }, "kind": { "enum": [ - "file" + "yaml" ] }, "transformers": { @@ -10920,45 +10896,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { + "engine": { + "type": "string", + "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" + }, "file": { "type": "string", - "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" + "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "line": { - "type": "integer", - "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "content": { + "key": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "forcecreate": { - "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" }, - "matchpattern": { + "value": { "type": "string", - "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "replacepattern": { - "type": "string", - "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "keyonly": { + "type": "boolean", + "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" }, "searchpattern": { "type": "boolean", "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + }, + "comment": { + "type": "string", + "description": "\"comment\" defines a comment to add after the value.\n\n\t\t\t\tcompatible:\n\t\t\t\t\t* target\n\n\t\t remarks:\n\t\t * require engine set to yamlpath" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -10996,7 +10972,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "gitlab/tag" ] }, "transformers": { @@ -11111,11 +11087,11 @@ }, "owner": { "type": "string", - "description": "[S][C][T] Owner specifies repository owner" + "description": "[S][C] Owner specifies repository owner" }, "repository": { "type": "string", - "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -11138,31 +11114,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { - "type": "string", - "description": "[T] Title defines the GitLab release title." + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, "tag": { "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." - }, - "commitish": { - "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" - }, - "description": { - "type": "string", - "description": "[T] Description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" - }, - "prerelease": { - "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" + "description": "[S] Tag defines the GitLab tag ." } }, "additionalProperties": false, @@ -11209,7 +11165,7 @@ }, "kind": { "enum": [ - "npm" + "golang/gomod" ] }, "transformers": { @@ -11310,53 +11266,26 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { - "type": "string", - "description": "Defines the specific npm package name" - }, - "version": { - "type": "string", - "description": "Defines a specific package version" - }, - "url": { + "file": { "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "registrytoken": { + "module": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "description": "Module defines the module path\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "indirect": { + "type": "boolean", + "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" }, - "npmrcpath": { + "version": { "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -11394,7 +11323,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "json" ] }, "transformers": { @@ -11497,27 +11426,54 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + }, + "key": { + "type": "string", + "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" }, "value": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." }, - "provider": { + "query": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -11555,7 +11511,7 @@ }, "kind": { "enum": [ - "yaml" + "terraform/file" ] }, "transformers": { @@ -11656,45 +11612,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { - "type": "string", - "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" - }, "file": { "type": "string", - "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "key": { + "path": { "type": "string", - "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, "value": { "type": "string", - "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." - }, - "keyonly": { - "type": "boolean", - "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" - }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" - }, - "comment": { - "type": "string", - "description": "\"comment\" defines a comment to add after the value.\n\n\t\t\t\tcompatible:\n\t\t\t\t\t* target\n\n\t\t remarks:\n\t\t * require engine set to yamlpath" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -11732,7 +11672,7 @@ }, "kind": { "enum": [ - "csv" + "terraform/provider" ] }, "transformers": { @@ -11835,61 +11775,27 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the csv file" + "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" - }, - "key": { - "type": "string", - "description": "[s][c][t] Key specifies the csv query" - }, - "query": { - "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" - }, - "value": { - "type": "string", - "description": "[s][c][t] Key specifies the csv value, default to source output" - }, - "comma": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" - }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "value": { + "type": "string", + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + }, + "provider": { + "type": "string", + "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -11927,7 +11833,7 @@ }, "kind": { "enum": [ - "golang" + "stash/tag" ] }, "transformers": { @@ -12028,9 +11934,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "version": { + "url": { "type": "string", - "description": "[C] Version defines a specific golang version" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + }, + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -12053,12 +11979,21 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "tag": { + "type": "string", + "description": "[S] Tag defines the Bitbucket tag ." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -12096,7 +12031,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "aws/ami" ] }, "transformers": { @@ -12197,26 +12132,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "accesskey": { "type": "string", - "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "module": { + "secretkey": { "type": "string", - "description": "Module defines the module path\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" }, - "indirect": { + "filters": { + "items": { + "properties": { + "name": { + "type": "string", + "description": "Name specifies a filter name." + }, + "values": { + "type": "string", + "description": "Values specifies a filter value for a specific filter name." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Filter represents the updatecli configuration describing AMI filters." + }, + "type": "array", + "description": "Filters specifies a list of AMI filters" + }, + "region": { + "type": "string", + "description": "Region specifies the AWS region to use when looking for AMI" + }, + "endpoint": { + "type": "string", + "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + }, + "dryrun": { "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "description": "Dryrun allows to Check whether you have the required permissions for the action." }, - "version": { + "sortby": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -12254,7 +12216,7 @@ }, "kind": { "enum": [ - "golang/module" + "cargopackage" ] }, "transformers": { @@ -12355,13 +12317,43 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "proxy": { - "type": "string", - "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." + "registry": { + "properties": { + "auth": { + "properties": { + "token": { + "type": "string", + "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." + }, + "headerformat": { + "type": "string", + "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." + }, + "url": { + "type": "string", + "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." + }, + "rootdir": { + "type": "string", + "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." + }, + "scmid": { + "type": "string", + "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] Registry specifies the registry to use" }, - "module": { + "package": { "type": "string", - "description": "[S][C] Module specifies the name of the module" + "description": "[S][C] Package specifies the name of the package" }, "version": { "type": "string", @@ -12394,9 +12386,9 @@ "additionalProperties": false, "type": "object", "required": [ - "module" + "package" ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12434,7 +12426,7 @@ }, "kind": { "enum": [ - "jenkins" + "csv" ] }, "transformers": { @@ -12535,18 +12527,63 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "file": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "description": "[s][c][t] File specifies the csv file" }, - "version": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" + }, + "key": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "description": "[s][c][t] Key specifies the csv query" + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + }, + "value": { + "type": "string", + "description": "[s][c][t] Key specifies the csv value, default to source output" + }, + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + }, + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -12584,7 +12621,7 @@ }, "kind": { "enum": [ - "json" + "dockerimage" ] }, "transformers": { @@ -12685,28 +12722,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "files": { + "architectures": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "key": { + "architecture": { "type": "string", - "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" + "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "value": { + "image": { "type": "string", - "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "query": { + "tag": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" + "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" + }, + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" }, "versionfilter": { "properties": { @@ -12729,12 +12774,16 @@ }, "additionalProperties": false, "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" + }, + "tagfilter": { + "type": "string", + "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" } }, "additionalProperties": false, "type": "object", - "description": "\"json\" defines the specification for manipulating \"json\" files." + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12772,7 +12821,7 @@ }, "kind": { "enum": [ - "stash/tag" + "file" ] }, "transformers": { @@ -12873,66 +12922,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" }, - "username": { - "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "line": { + "type": "integer", + "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "token": { + "content": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "password": { - "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" }, - "owner": { + "matchpattern": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "repository": { + "replacepattern": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "tag": { - "type": "string", - "description": "[S] Tag defines the Bitbucket tag ." + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12970,7 +12998,7 @@ }, "kind": { "enum": [ - "toolversions" + "gitlab/release" ] }, "transformers": { @@ -13071,32 +13099,81 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "files": { - "items": { - "type": "string" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with GitLab" + }, + "token": { + "type": "string", + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C][T] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } }, - "type": "array", - "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "key": { + "title": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "description": "[T] Title defines the GitLab release title." }, - "value": { + "tag": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[C][T] Tag defines the GitLab release tag." }, - "createmissingkey": { + "commitish": { + "type": "string", + "description": "[T] Commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] Description defines if the new release description" + }, + "draft": { "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "description": "[T] Draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] Prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -13134,7 +13211,7 @@ }, "kind": { "enum": [ - "dockerfile" + "gitea/branch" ] }, "transformers": { @@ -13235,32 +13312,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "description": "\"url\" defines the Gitea url to interact with" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "value": { + "owner": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "description": "[S][C] Owner specifies repository owner" }, - "stage": { + "repository": { "type": "string", - "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -13298,7 +13405,7 @@ }, "kind": { "enum": [ - "gittag" + "helmchart" ] }, "transformers": { @@ -13399,9 +13506,41 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "file": { "type": "string", - "description": "Path contains the git repository path" + "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" + }, + "key": { + "type": "string", + "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." + }, + "name": { + "type": "string", + "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" + }, + "skippackaging": { + "type": "boolean", + "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" + }, + "url": { + "type": "string", + "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" + }, + "value": { + "type": "string", + "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "version": { + "type": "string", + "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" + }, + "versionincrement": { + "type": "string", + "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" + }, + "appversion": { + "type": "boolean", + "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" }, "versionfilter": { "properties": { @@ -13424,39 +13563,24 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "message": { - "type": "string", - "description": "Message associated to the git tag\n\n compatible:\n * target" - }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" - }, - "url": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default." }, "username": { "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, "password": { "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "sourcebranch": { + "token": { "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" } }, "additionalProperties": false, "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -13494,7 +13618,7 @@ }, "kind": { "enum": [ - "helmchart" + "http" ] }, "transformers": { @@ -13595,81 +13719,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" - }, - "key": { - "type": "string", - "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." - }, - "name": { - "type": "string", - "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" - }, - "skippackaging": { - "type": "boolean", - "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" - }, "url": { "type": "string", - "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" - }, - "value": { - "type": "string", - "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" - }, - "version": { - "type": "string", - "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "versionincrement": { + "returnresponseheader": { "type": "string", - "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" - }, - "appversion": { - "type": "boolean", - "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" + "description": "[S] Specifies the header to return as source value (instead of the body)." }, - "versionfilter": { + "request": { "properties": { - "kind": { + "verb": { "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" + "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." }, - "pattern": { + "body": { "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + "nofollowredirects": { + "type": "boolean", + "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)." } }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default." - }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[S][C] Customizes the HTTP request to emit." }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "responseasserts": { + "properties": { + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[C] Specifies a set of assertions on the HTTP response headers." + }, + "statuscode": { + "type": "integer", + "description": "[C] Specifies a custom assertion on the HTTP response status code." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -13707,7 +13812,7 @@ }, "kind": { "enum": [ - "maven" + "terraform/registry" ] }, "transformers": { @@ -13808,32 +13913,33 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "type": { "type": "string", - "description": "Deprecated, please specify the Maven url in the repository" + "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" }, - "repository": { + "hostname": { "type": "string", - "description": "Specifies the maven repository url + name" + "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." + "namespace": { + "type": "string", + "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "groupid": { + "name": { "type": "string", - "description": "Specifies the maven artifact groupID" + "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "artifactid": { + "targetsystem": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." + }, + "rawstring": { + "type": "string", + "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." }, "version": { "type": "string", - "description": "Specifies the maven artifact version" + "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" }, "versionfilter": { "properties": { @@ -13856,12 +13962,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -13899,7 +14004,7 @@ }, "kind": { "enum": [ - "temurin" + "dockerdigest" ] }, "transformers": { @@ -14000,52 +14105,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "releaseline": { - "type": "string", - "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" - }, - "releasetype": { + "architecture": { "type": "string", - "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" - }, - "featureversion": { - "type": "integer", - "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" + "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" }, - "result": { + "image": { "type": "string", - "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" + "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "architecture": { + "tag": { "type": "string", - "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" + "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "imagetype": { + "digest": { "type": "string", - "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" + "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." }, - "operatingsystem": { + "username": { "type": "string", - "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "specificversion": { + "password": { "type": "string", - "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "project": { + "token": { "type": "string", - "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" }, - "platforms": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." + "hidetag": { + "type": "boolean", + "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -14083,7 +14178,7 @@ }, "kind": { "enum": [ - "aws/ami" + "gittag" ] }, "transformers": { @@ -14184,53 +14279,64 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "accesskey": { - "type": "string", - "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" - }, - "secretkey": { + "path": { "type": "string", - "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + "description": "Path contains the git repository path" }, - "filters": { - "items": { - "properties": { - "name": { - "type": "string", - "description": "Name specifies a filter name." - }, - "values": { - "type": "string", - "description": "Values specifies a filter value for a specific filter name." - } + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" }, - "additionalProperties": false, - "type": "object", - "description": "Filter represents the updatecli configuration describing AMI filters." + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } }, - "type": "array", - "description": "Filters specifies a list of AMI filters" + "additionalProperties": false, + "type": "object", + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "region": { + "message": { "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "description": "Message associated to the git tag\n\n compatible:\n * target" }, - "endpoint": { + "key": { "type": "string", - "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" }, - "dryrun": { - "type": "boolean", - "description": "Dryrun allows to Check whether you have the required permissions for the action." + "url": { + "type": "string", + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" }, - "sortby": { + "sourcebranch": { "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." } }, "additionalProperties": false, "type": "object", - "description": "Spec contains the updatecli configuration provided by users." + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -14268,7 +14374,7 @@ }, "kind": { "enum": [ - "gitea/release" + "gitbranch" ] }, "transformers": { @@ -14369,25 +14475,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C][T] owner specifies the repository owner" - }, - "repository": { + "path": { "type": "string", - "description": "[S][C][T] repository specifies the name of a repository for a specific owner" + "description": "path contains the git repository path" }, "versionfilter": { "properties": { @@ -14410,41 +14500,39 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "title": { + "branch": { "type": "string", - "description": "[T] title defines the Gitea release title." + "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" }, - "tag": { + "sourcebranch": { "type": "string", - "description": "[C][T] tag defines the Gitea release tag." + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" }, - "commitish": { + "url": { "type": "string", - "description": "[T] commitish defines the commit-ish such as `main`" + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." }, - "description": { + "username": { "type": "string", - "description": "[T] description defines if the new release description" + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" }, - "draft": { - "type": "boolean", - "description": "[T] draft defines if the release is a draft release" + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" }, - "prerelease": { - "type": "boolean", - "description": "[T] prerelease defines if the release is a pre-release release" + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" } }, "additionalProperties": false, "type": "object", "required": [ - "url", - "owner", - "repository" + "url" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -14482,7 +14570,7 @@ }, "kind": { "enum": [ - "terraform/file" + "gitea/tag" ] }, "transformers": { @@ -14583,29 +14671,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "\"url\" defines the Gitea url to interact with" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "path": { + "token": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "value": { + "owner": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "tag": { + "type": "string", + "description": "[S] Tag defines the Gitea tag ." } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -14643,7 +14764,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "githubrelease" ] }, "transformers": { @@ -14744,40 +14865,89 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "owner": { "type": "string", - "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "[s][c] Owner specifies repository owner" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "repository": { + "type": "string", + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, - "value": { + "token": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "[s][c] Token specifies the credential used to authenticate with" }, - "provider": { + "url": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" }, - "platforms": { - "items": { - "type": "string" + "username": { + "type": "string", + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } }, - "type": "array", - "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "additionalProperties": false, + "type": "object", + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "skipconstraints": { - "type": "boolean", - "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" + "typefilter": { + "properties": { + "draft": { + "type": "boolean", + "description": "\"Draft\" enable/disable GitHub draft release" + }, + "prerelease": { + "type": "boolean", + "description": "\"PreRelease\" enable/disable GitHub PreRelease" + }, + "release": { + "type": "boolean", + "description": "\"Release\" enable/disable GitHub release" + }, + "latest": { + "type": "boolean", + "description": "\"Latest\" if set to true will only filter the release flag as latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" + }, + "tag": { + "type": "string", + "description": "[c] Tag allows to check for a specific release tag, default to source output" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "required": [ + "owner", + "repository", + "token" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -14815,7 +14985,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "jenkins" ] }, "transformers": { @@ -14906,70 +15076,28 @@ "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." } }, - "additionalProperties": false, - "type": "object", - "description": "Transformer holds a transformer rule" - }, - "type": "array", - "description": "transformers defines how the default input value need to be transformed" - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "type": { - "type": "string", - "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" - }, - "hostname": { - "type": "string", - "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, - "namespace": { - "type": "string", - "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, - "name": { - "type": "string", - "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, - "targetsystem": { - "type": "string", - "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." - }, - "rawstring": { + "additionalProperties": false, + "type": "object", + "description": "Transformer holds a transformer rule" + }, + "type": "array", + "description": "transformers defines how the default input value need to be transformed" + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "release": { "type": "string", - "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" }, "version": { "type": "string", - "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "[s][c] Defines a specific release version (condition only)" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15007,7 +15135,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "golang/module" ] }, "transformers": { @@ -15108,42 +15236,48 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" - }, - "image": { - "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" - }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" - }, - "digest": { - "type": "string", - "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." - }, - "username": { + "proxy": { "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." }, - "password": { + "module": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[S][C] Module specifies the name of the module" }, - "token": { + "version": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "[C] Defines a specific package version" }, - "hidetag": { - "type": "boolean", - "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" + "required": [ + "module" + ], + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15181,7 +15315,7 @@ }, "kind": { "enum": [ - "dockerimage" + "hcl" ] }, "transformers": { @@ -15282,68 +15416,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { + "file": { + "type": "string", + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + }, + "files": { "items": { "type": "string" }, "type": "array", - "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "image": { - "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" - }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" - }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "token": { + "path": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "tagfilter": { + "value": { "type": "string", - "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -15381,7 +15476,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "stash/branch" ] }, "transformers": { @@ -15484,15 +15579,19 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", @@ -15537,7 +15636,7 @@ "owner", "repository" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -15575,7 +15674,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "terraform/lock" ] }, "transformers": { @@ -15676,61 +15775,40 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" - }, - "username": { + "file": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "token": { - "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, - "owner": { + "value": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "repository": { + "provider": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } + "platforms": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "type": "array", + "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "tag": { - "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "skipconstraints": { + "type": "boolean", + "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -15768,7 +15846,7 @@ }, "kind": { "enum": [ - "stash/branch" + "gitlab/branch" ] }, "transformers": { @@ -15871,19 +15949,15 @@ "properties": { "url": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, "username": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "\"username\" defines the username used to authenticate with GitLab" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", @@ -15924,11 +15998,10 @@ "additionalProperties": false, "type": "object", "required": [ - "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -15966,7 +16039,7 @@ }, "kind": { "enum": [ - "githubrelease" + "npm" ] }, "transformers": { @@ -16067,25 +16140,21 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { - "type": "string", - "description": "[s][c] Owner specifies repository owner" - }, - "repository": { + "name": { "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" + "description": "Defines the specific npm package name" }, - "token": { + "version": { "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" + "description": "Defines a specific package version" }, "url": { "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" }, - "username": { + "registrytoken": { "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + "description": "RegistryToken defines the token to use when connection to the registry" }, "versionfilter": { "properties": { @@ -16108,48 +16177,16 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "typefilter": { - "properties": { - "draft": { - "type": "boolean", - "description": "\"Draft\" enable/disable GitHub draft release" - }, - "prerelease": { - "type": "boolean", - "description": "\"PreRelease\" enable/disable GitHub PreRelease" - }, - "release": { - "type": "boolean", - "description": "\"Release\" enable/disable GitHub release" - }, - "latest": { - "type": "boolean", - "description": "\"Latest\" if set to true will only filter the release flag as latest." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" - }, - "tag": { - "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "key": { + "npmrcpath": { "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source\n * condition" + "description": "NpmrcPath defines the path to the .npmrc file" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository", - "token" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -16187,7 +16224,7 @@ }, "kind": { "enum": [ - "hcl" + "shell" ] }, "transformers": { @@ -16288,29 +16325,130 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "command": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "command specifies the shell command to execute by Updatecli" }, - "files": { + "environments": { "items": { - "type": "string" + "properties": { + "name": { + "type": "string", + "description": "Name defines the environment variable name" + }, + "value": { + "type": "string", + "description": "Value defines the environment variable value" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ], + "description": "Environment is a struct containing information for an environment variable such as its name and its value" }, "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." }, - "path": { + "changedif": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "exitcode" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "warning": { + "type": "integer", + "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" + }, + "success": { + "type": "integer", + "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" + }, + "failure": { + "type": "integer", + "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "warning", + "success", + "failure" + ] + } + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "file/checksum" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the list of file that Updatecli monitors to identify state change" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "files" + ] + } + }, + "additionalProperties": false, + "type": "object" + } + ], + "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" + }, + "shell": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" }, - "value": { + "workdir": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "command" + ], + "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -16348,7 +16486,7 @@ }, "kind": { "enum": [ - "http" + "toml" ] }, "transformers": { @@ -16449,62 +16587,59 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "[S][C] Specifies the URL of the HTTP request for this resource." + "description": "[s][c][t] File specifies the toml file to manipulate" }, - "returnresponseheader": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" + }, + "query": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "request": { + "key": { + "type": "string", + "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + }, + "value": { + "type": "string", + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + }, + "versionfilter": { "properties": { - "verb": { + "kind": { "type": "string", - "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." + "description": "specifies the version kind such as semver, regex, or latest" }, - "body": { + "pattern": { "type": "string", - "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." - }, - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" }, - "nofollowredirects": { + "strict": { "type": "boolean", - "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Customizes the HTTP request to emit." - }, - "responseasserts": { - "properties": { - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[C] Specifies a set of assertions on the HTTP response headers." + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" }, - "statuscode": { - "type": "integer", - "description": "[C] Specifies a custom assertion on the HTTP response status code." + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." } }, "additionalProperties": false, "type": "object", - "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." + "type": "object" }, "scmid": { "type": "string", @@ -16542,7 +16677,7 @@ }, "kind": { "enum": [ - "shell" + "toolversions" ] }, "transformers": { @@ -16643,130 +16778,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "command": { + "file": { "type": "string", - "description": "command specifies the shell command to execute by Updatecli" + "description": "[s][c][t] File specifies the .tool-versions file to manipulate" }, - "environments": { + "files": { "items": { - "properties": { - "name": { - "type": "string", - "description": "Name defines the environment variable name" - }, - "value": { - "type": "string", - "description": "Value defines the environment variable value" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "name" - ], - "description": "Environment is a struct containing information for an environment variable such as its name and its value" + "type": "string" }, "type": "array", - "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." - }, - "changedif": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "console/output" - ] - }, - "spec": true - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "exitcode" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "warning": { - "type": "integer", - "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" - }, - "success": { - "type": "integer", - "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" - }, - "failure": { - "type": "integer", - "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "warning", - "success", - "failure" - ] - } - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "file/checksum" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files specifies the list of file that Updatecli monitors to identify state change" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "files" - ] - } - }, - "additionalProperties": false, - "type": "object" - } - ], - "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" + "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" }, - "shell": { + "key": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" }, - "workdir": { + "value": { "type": "string", - "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + }, + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "required": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -16804,7 +16841,7 @@ }, "kind": { "enum": [ - "toml" + "xml" ] }, "transformers": { @@ -16907,57 +16944,20 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" - }, - "query": { - "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "key": { + "path": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" }, "value": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -17003,7 +17003,7 @@ }, "kind": { "enum": [ - "aws/ami" + "gittag" ] }, "transformers": { @@ -17104,53 +17104,64 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "accesskey": { - "type": "string", - "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" - }, - "secretkey": { + "path": { "type": "string", - "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + "description": "Path contains the git repository path" }, - "filters": { - "items": { - "properties": { - "name": { - "type": "string", - "description": "Name specifies a filter name." - }, - "values": { - "type": "string", - "description": "Values specifies a filter value for a specific filter name." - } + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" }, - "additionalProperties": false, - "type": "object", - "description": "Filter represents the updatecli configuration describing AMI filters." + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } }, - "type": "array", - "description": "Filters specifies a list of AMI filters" + "additionalProperties": false, + "type": "object", + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "region": { + "message": { "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "description": "Message associated to the git tag\n\n compatible:\n * target" }, - "endpoint": { + "key": { "type": "string", - "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" }, - "dryrun": { - "type": "boolean", - "description": "Dryrun allows to Check whether you have the required permissions for the action." + "url": { + "type": "string", + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" }, - "sortby": { + "username": { "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "sourcebranch": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." } }, "additionalProperties": false, "type": "object", - "description": "Spec contains the updatecli configuration provided by users." + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -17197,7 +17208,7 @@ }, "kind": { "enum": [ - "toolversions" + "gitlab/tag" ] }, "transformers": { @@ -17298,32 +17309,61 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "key": { + "token": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "value": { + "owner": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[S][C] Owner specifies repository owner" }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "tag": { + "type": "string", + "description": "[S] Tag defines the GitLab tag ." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -17559,7 +17599,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "hcl" ] }, "transformers": { @@ -17662,27 +17702,27 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "value": { + "path": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "provider": { + "value": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -17729,7 +17769,7 @@ }, "kind": { "enum": [ - "toml" + "json" ] }, "transformers": { @@ -17832,26 +17872,26 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" + "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" - }, - "query": { - "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, "key": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" }, "value": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" }, "versionfilter": { "properties": { @@ -17874,15 +17914,12 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -17929,7 +17966,7 @@ }, "kind": { "enum": [ - "cargopackage" + "stash/branch" ] }, "transformers": { @@ -18030,47 +18067,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "registry": { - "properties": { - "auth": { - "properties": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." - }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." - }, - "url": { - "type": "string", - "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." - }, - "rootdir": { - "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." - }, - "scmid": { - "type": "string", - "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + "url": { + "type": "string", + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "package": { + "username": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "version": { + "token": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -18094,14 +18113,20 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ - "package" + "url", + "owner", + "repository" ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -18148,7 +18173,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "terraform/provider" ] }, "transformers": { @@ -18249,62 +18274,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { + "file": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "tag": { + "provider": { "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -18351,7 +18343,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "csv" ] }, "transformers": { @@ -18452,25 +18444,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "[s][c][t] File specifies the csv file" }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "token": { + "key": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "[s][c][t] Key specifies the csv query" }, - "owner": { + "query": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[s][c][t] Key specifies the csv value, default to source output" + }, + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + }, + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" }, "versionfilter": { "properties": { @@ -18493,20 +18496,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "tag": { - "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, - "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "type": "object" }, "scmid": { "type": "string", @@ -18553,7 +18547,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "gitlab/release" ] }, "transformers": { @@ -18654,42 +18648,81 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architecture": { + "url": { "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "image": { + "username": { "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "tag": { + "token": { "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "digest": { + "owner": { "type": "string", - "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." + "description": "[S][C][T] Owner specifies repository owner" }, - "username": { + "repository": { "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" }, - "password": { + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "title": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[T] Title defines the GitLab release title." }, - "token": { + "tag": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "[C][T] Tag defines the GitLab release tag." }, - "hidetag": { + "commitish": { + "type": "string", + "description": "[T] Commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] Description defines if the new release description" + }, + "draft": { "type": "boolean", - "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" + "description": "[T] Draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] Prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -18736,7 +18769,7 @@ }, "kind": { "enum": [ - "golang" + "dockerfile" ] }, "transformers": { @@ -18837,37 +18870,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "version": { + "file": { "type": "string", - "description": "[C] Version defines a specific golang version" + "description": "File specifies the dockerimage file path to use and is incompatible with Files" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "type": "array", + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" + }, + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" + }, + "value": { + "type": "string", + "description": "Value specifies the value for a specified Dockerfile instruction." + }, + "stage": { + "type": "string", + "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -18914,7 +18942,7 @@ }, "kind": { "enum": [ - "json" + "dockerimage" ] }, "transformers": { @@ -19015,28 +19043,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "files": { + "architectures": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "key": { + "architecture": { "type": "string", - "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" + "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "value": { + "image": { "type": "string", - "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "query": { + "tag": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" + "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" + }, + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" }, "versionfilter": { "properties": { @@ -19059,12 +19095,16 @@ }, "additionalProperties": false, "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" + }, + "tagfilter": { + "type": "string", + "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" } }, "additionalProperties": false, "type": "object", - "description": "\"json\" defines the specification for manipulating \"json\" files." + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -19111,7 +19151,7 @@ }, "kind": { "enum": [ - "temurin" + "gitea/tag" ] }, "transformers": { @@ -19212,52 +19252,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "releaseline": { - "type": "string", - "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" - }, - "releasetype": { - "type": "string", - "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" - }, - "featureversion": { - "type": "integer", - "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" - }, - "result": { - "type": "string", - "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" - }, - "architecture": { + "url": { "type": "string", - "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" + "description": "\"url\" defines the Gitea url to interact with" }, - "imagetype": { + "username": { "type": "string", - "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "operatingsystem": { + "token": { "type": "string", - "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "specificversion": { + "owner": { "type": "string", - "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + "description": "[S][C] Owner specifies repository owner" }, - "project": { + "repository": { "type": "string", - "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, - "platforms": { - "items": { - "type": "string" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } }, - "type": "array", - "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." + "additionalProperties": false, + "type": "object", + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "tag": { + "type": "string", + "description": "[S] Tag defines the Gitea tag ." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -19304,7 +19354,7 @@ }, "kind": { "enum": [ - "xml" + "githubrelease" ] }, "transformers": { @@ -19405,22 +19455,89 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "owner": { "type": "string", - "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[s][c] Owner specifies repository owner" }, - "path": { + "repository": { "type": "string", - "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, - "value": { + "token": { "type": "string", - "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" + "description": "[s][c] Token specifies the credential used to authenticate with" + }, + "url": { + "type": "string", + "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + }, + "username": { + "type": "string", + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "typefilter": { + "properties": { + "draft": { + "type": "boolean", + "description": "\"Draft\" enable/disable GitHub draft release" + }, + "prerelease": { + "type": "boolean", + "description": "\"PreRelease\" enable/disable GitHub PreRelease" + }, + "release": { + "type": "boolean", + "description": "\"Release\" enable/disable GitHub release" + }, + "latest": { + "type": "boolean", + "description": "\"Latest\" if set to true will only filter the release flag as latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" + }, + "tag": { + "type": "string", + "description": "[c] Tag allows to check for a specific release tag, default to source output" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", - "description": "\"xml\" defines the specification for manipulating \"xml\" files." + "required": [ + "owner", + "repository", + "token" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -19467,7 +19584,7 @@ }, "kind": { "enum": [ - "file" + "golang" ] }, "transformers": { @@ -19568,45 +19685,37 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "version": { "type": "string", - "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" + "description": "[C] Version defines a specific golang version" }, - "files": { - "items": { - "type": "string" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } }, - "type": "array", - "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "line": { - "type": "integer", - "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "content": { - "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "forcecreate": { - "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" - }, - "matchpattern": { - "type": "string", - "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "replacepattern": { - "type": "string", - "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -19653,7 +19762,7 @@ }, "kind": { "enum": [ - "http" + "shell" ] }, "transformers": { @@ -19754,62 +19863,130 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "[S][C] Specifies the URL of the HTTP request for this resource." - }, - "returnresponseheader": { + "command": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "command specifies the shell command to execute by Updatecli" }, - "request": { - "properties": { - "verb": { - "type": "string", - "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." + "environments": { + "items": { + "properties": { + "name": { + "type": "string", + "description": "Name defines the environment variable name" + }, + "value": { + "type": "string", + "description": "Value defines the environment variable value" + } }, - "body": { - "type": "string", - "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ], + "description": "Environment is a struct containing information for an environment variable such as its name and its value" + }, + "type": "array", + "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." + }, + "changedif": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "exitcode" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "warning": { + "type": "integer", + "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" + }, + "success": { + "type": "integer", + "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" + }, + "failure": { + "type": "integer", + "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "warning", + "success", + "failure" + ] + } + }, + "additionalProperties": false, + "type": "object" }, - "headers": { - "additionalProperties": { - "type": "string" + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "file/checksum" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the list of file that Updatecli monitors to identify state change" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "files" + ] + } }, - "type": "object", - "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." + "additionalProperties": false, + "type": "object" }, - "nofollowredirects": { - "type": "boolean", - "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Customizes the HTTP request to emit." - }, - "responseasserts": { - "properties": { - "headers": { - "additionalProperties": { - "type": "string" + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true }, - "type": "object", - "description": "[C] Specifies a set of assertions on the HTTP response headers." - }, - "statuscode": { - "type": "integer", - "description": "[C] Specifies a custom assertion on the HTTP response status code." + "additionalProperties": false, + "type": "object" } - }, - "additionalProperties": false, - "type": "object", - "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." + ], + "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" + }, + "shell": { + "type": "string", + "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + }, + "workdir": { + "type": "string", + "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." + "required": [ + "command" + ], + "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -19856,7 +20033,7 @@ }, "kind": { "enum": [ - "jenkins" + "aws/ami" ] }, "transformers": { @@ -19957,18 +20134,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "accesskey": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "version": { + "secretkey": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + }, + "filters": { + "items": { + "properties": { + "name": { + "type": "string", + "description": "Name specifies a filter name." + }, + "values": { + "type": "string", + "description": "Values specifies a filter value for a specific filter name." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Filter represents the updatecli configuration describing AMI filters." + }, + "type": "array", + "description": "Filters specifies a list of AMI filters" + }, + "region": { + "type": "string", + "description": "Region specifies the AWS region to use when looking for AMI" + }, + "endpoint": { + "type": "string", + "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + }, + "dryrun": { + "type": "boolean", + "description": "Dryrun allows to Check whether you have the required permissions for the action." + }, + "sortby": { + "type": "string", + "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -20237,7 +20449,7 @@ }, "kind": { "enum": [ - "shell" + "jenkins" ] }, "transformers": { @@ -20338,130 +20550,18 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "command": { - "type": "string", - "description": "command specifies the shell command to execute by Updatecli" - }, - "environments": { - "items": { - "properties": { - "name": { - "type": "string", - "description": "Name defines the environment variable name" - }, - "value": { - "type": "string", - "description": "Value defines the environment variable value" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "name" - ], - "description": "Environment is a struct containing information for an environment variable such as its name and its value" - }, - "type": "array", - "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." - }, - "changedif": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "console/output" - ] - }, - "spec": true - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "exitcode" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "warning": { - "type": "integer", - "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" - }, - "success": { - "type": "integer", - "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" - }, - "failure": { - "type": "integer", - "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "warning", - "success", - "failure" - ] - } - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "file/checksum" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files specifies the list of file that Updatecli monitors to identify state change" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "files" - ] - } - }, - "additionalProperties": false, - "type": "object" - } - ], - "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" - }, - "shell": { + "release": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "workdir": { + "version": { "type": "string", - "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." + "description": "[s][c] Defines a specific release version (condition only)" } }, "additionalProperties": false, "type": "object", - "required": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -20508,7 +20608,7 @@ }, "kind": { "enum": [ - "stash/branch" + "file" ] }, "transformers": { @@ -20609,66 +20709,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" }, - "username": { - "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "line": { + "type": "integer", + "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "password": { + "content": { "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + }, + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" }, - "owner": { + "matchpattern": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "repository": { + "replacepattern": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "branch": { - "type": "string", - "description": "[C] Branch specifies the branch name" + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -20715,7 +20794,7 @@ }, "kind": { "enum": [ - "terraform/file" + "golang/gomod" ] }, "transformers": { @@ -20818,27 +20897,24 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "path": { + "module": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "Module defines the module path\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "value": { + "indirect": { + "type": "boolean", + "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + }, + "version": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -20885,7 +20961,7 @@ }, "kind": { "enum": [ - "dockerfile" + "npm" ] }, "transformers": { @@ -20986,32 +21062,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "name": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "description": "Defines the specific npm package name" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" + "version": { + "type": "string", + "description": "Defines a specific package version" }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "url": { + "type": "string", + "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" }, - "value": { + "registrytoken": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "description": "RegistryToken defines the token to use when connection to the registry" }, - "stage": { + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } + }, + "additionalProperties": false, + "type": "object", + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "npmrcpath": { "type": "string", - "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" + "description": "NpmrcPath defines the path to the .npmrc file" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -21058,7 +21155,7 @@ }, "kind": { "enum": [ - "gittag" + "stash/tag" ] }, "transformers": { @@ -21159,9 +21256,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "url": { "type": "string", - "description": "Path contains the git repository path" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + }, + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -21184,39 +21301,21 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "message": { - "type": "string", - "description": "Message associated to the git tag\n\n compatible:\n * target" - }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" - }, - "url": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "sourcebranch": { + "tag": { "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "description": "[S] Tag defines the Bitbucket tag ." } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "url", + "owner", + "repository" ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -21263,7 +21362,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "terraform/file" ] }, "transformers": { @@ -21364,62 +21463,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { + "file": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "repository": { + "path": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "branch": { + "value": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -21466,7 +21532,7 @@ }, "kind": { "enum": [ - "stash/tag" + "terraform/registry" ] }, "transformers": { @@ -21567,29 +21633,33 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "type": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" }, - "username": { + "hostname": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + }, + "namespace": { + "type": "string", + "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "token": { + "name": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "password": { + "targetsystem": { "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." }, - "owner": { + "rawstring": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." }, - "repository": { + "version": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" }, "versionfilter": { "properties": { @@ -21612,21 +21682,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "tag": { - "type": "string", - "description": "[S] Tag defines the Bitbucket tag ." + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "type": "object" }, "scmid": { "type": "string", @@ -21673,7 +21733,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "toolversions" ] }, "transformers": { @@ -21774,56 +21834,28 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "type": { - "type": "string", - "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" - }, - "hostname": { - "type": "string", - "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, - "namespace": { - "type": "string", - "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, - "name": { + "file": { "type": "string", - "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + "description": "[s][c][t] File specifies the .tool-versions file to manipulate" }, - "targetsystem": { - "type": "string", - "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" }, - "rawstring": { + "key": { "type": "string", - "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" }, - "version": { + "value": { "type": "string", - "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, @@ -21874,7 +21906,7 @@ }, "kind": { "enum": [ - "yaml" + "xml" ] }, "transformers": { @@ -21975,45 +22007,22 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { - "type": "string", - "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" - }, "file": { "type": "string", - "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "key": { + "path": { "type": "string", - "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" + "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" }, "value": { "type": "string", - "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." - }, - "keyonly": { - "type": "boolean", - "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" - }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" - }, - "comment": { - "type": "string", - "description": "\"comment\" defines a comment to add after the value.\n\n\t\t\t\tcompatible:\n\t\t\t\t\t* target\n\n\t\t remarks:\n\t\t * require engine set to yamlpath" + "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" } }, "additionalProperties": false, "type": "object", - "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -22060,7 +22069,7 @@ }, "kind": { "enum": [ - "dockerimage" + "gitea/release" ] }, "transformers": { @@ -22161,36 +22170,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { - "items": { - "type": "string" - }, - "type": "array", - "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "image": { + "url": { "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" + "description": "\"url\" defines the Gitea url to interact with" }, - "tag": { + "username": { "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "username": { + "token": { "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "password": { + "owner": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[S][C][T] owner specifies the repository owner" }, - "token": { + "repository": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "[S][C][T] repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -22213,16 +22211,41 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" + "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "tagfilter": { + "title": { "type": "string", - "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" + "description": "[T] title defines the Gitea release title." + }, + "tag": { + "type": "string", + "description": "[C][T] tag defines the Gitea release tag." + }, + "commitish": { + "type": "string", + "description": "[T] commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] description defines if the new release description" + }, + "draft": { + "type": "boolean", + "description": "[T] draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -22269,7 +22292,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "yaml" ] }, "transformers": { @@ -22370,61 +22393,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "engine": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" }, - "username": { + "file": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "token": { - "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "owner": { + "key": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "keyonly": { + "type": "boolean", + "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" }, - "branch": { + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + }, + "comment": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "\"comment\" defines a comment to add after the value.\n\n\t\t\t\tcompatible:\n\t\t\t\t\t* target\n\n\t\t remarks:\n\t\t * require engine set to yamlpath" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -22471,7 +22478,7 @@ }, "kind": { "enum": [ - "npm" + "toml" ] }, "transformers": { @@ -22572,21 +22579,28 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { + "file": { "type": "string", - "description": "Defines the specific npm package name" + "description": "[s][c][t] File specifies the toml file to manipulate" }, - "version": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" + }, + "query": { "type": "string", - "description": "Defines a specific package version" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "url": { + "key": { "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" }, - "registrytoken": { + "value": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, "versionfilter": { "properties": { @@ -22609,16 +22623,15 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "npmrcpath": { - "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -22665,7 +22678,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "gitea/branch" ] }, "transformers": { @@ -22768,23 +22781,23 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "\"url\" defines the Gitea url to interact with" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, "token": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", - "description": "[S][C][T] Owner specifies repository owner" + "description": "[S][C] Owner specifies repository owner" }, "repository": { "type": "string", - "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -22809,38 +22822,19 @@ "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "title": { - "type": "string", - "description": "[T] Title defines the GitLab release title." - }, - "tag": { - "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." - }, - "commitish": { - "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" - }, - "description": { + "branch": { "type": "string", - "description": "[T] Description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" - }, - "prerelease": { - "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ + "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -22887,7 +22881,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "dockerdigest" ] }, "transformers": { @@ -22988,26 +22982,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "architecture": { "type": "string", - "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" }, - "module": { + "image": { "type": "string", - "description": "Module defines the module path\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "tag": { + "type": "string", + "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "version": { + "digest": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." + }, + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + }, + "hidetag": { + "type": "boolean", + "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -23054,7 +23064,7 @@ }, "kind": { "enum": [ - "hcl" + "gitbranch" ] }, "transformers": { @@ -23155,29 +23165,64 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "path": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "path contains the git repository path" }, - "files": { - "items": { - "type": "string" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + }, + "regex": { + "type": "string", + "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + } }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "additionalProperties": false, + "type": "object", + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "path": { + "branch": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" }, - "value": { + "sourcebranch": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "url": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -23224,7 +23269,7 @@ }, "kind": { "enum": [ - "githubrelease" + "gitlab/branch" ] }, "transformers": { @@ -23325,25 +23370,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { + "url": { "type": "string", - "description": "[s][c] Owner specifies repository owner" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "repository": { + "username": { "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" + "description": "\"username\" defines the username used to authenticate with GitLab" }, "token": { "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "url": { + "owner": { "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "description": "[S][C] Owner specifies repository owner" }, - "username": { + "repository": { "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -23366,48 +23411,20 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "typefilter": { - "properties": { - "draft": { - "type": "boolean", - "description": "\"Draft\" enable/disable GitHub draft release" - }, - "prerelease": { - "type": "boolean", - "description": "\"PreRelease\" enable/disable GitHub PreRelease" - }, - "release": { - "type": "boolean", - "description": "\"Release\" enable/disable GitHub release" - }, - "latest": { - "type": "boolean", - "description": "\"Latest\" if set to true will only filter the release flag as latest." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" - }, - "tag": { - "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "key": { + "branch": { "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source\n * condition" + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ "owner", - "repository", - "token" + "repository" ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -23655,7 +23672,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "temurin" ] }, "transformers": { @@ -23756,40 +23773,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "releaseline": { + "type": "string", + "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" + }, + "releasetype": { + "type": "string", + "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" + }, + "featureversion": { + "type": "integer", + "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" + }, + "result": { + "type": "string", + "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" + }, + "architecture": { + "type": "string", + "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" + }, + "imagetype": { "type": "string", - "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "operatingsystem": { + "type": "string", + "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" }, - "value": { + "specificversion": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" }, - "provider": { + "project": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" }, "platforms": { "items": { "type": "string" }, "type": "array", - "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" - }, - "skipconstraints": { - "type": "boolean", - "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" + "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." } }, "additionalProperties": false, - "type": "object", - "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "type": "object" }, "scmid": { "type": "string", @@ -23836,7 +23865,7 @@ }, "kind": { "enum": [ - "csv" + "terraform/lock" ] }, "transformers": { @@ -23939,61 +23968,38 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the csv file" + "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" - }, - "key": { - "type": "string", - "description": "[s][c][t] Key specifies the csv query" - }, - "query": { - "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, "value": { "type": "string", - "description": "[s][c][t] Key specifies the csv value, default to source output" - }, - "comma": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + "provider": { + "type": "string", + "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" - }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." - } + "platforms": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "type": "array", + "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "skipconstraints": { + "type": "boolean", + "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -24040,7 +24046,7 @@ }, "kind": { "enum": [ - "gitbranch" + "cargopackage" ] }, "transformers": { @@ -24141,9 +24147,47 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "registry": { + "properties": { + "auth": { + "properties": { + "token": { + "type": "string", + "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." + }, + "headerformat": { + "type": "string", + "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." + }, + "url": { + "type": "string", + "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." + }, + "rootdir": { + "type": "string", + "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." + }, + "scmid": { + "type": "string", + "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] Registry specifies the registry to use" + }, + "package": { "type": "string", - "description": "path contains the git repository path" + "description": "[S][C] Package specifies the name of the package" + }, + "version": { + "type": "string", + "description": "[C] Defines a specific package version" }, "versionfilter": { "properties": { @@ -24166,39 +24210,15 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "branch": { - "type": "string", - "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" - }, - "sourcebranch": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "url": { - "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" - }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "package" ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -24245,7 +24265,7 @@ }, "kind": { "enum": [ - "gitea/release" + "http" ] }, "transformers": { @@ -24348,80 +24368,60 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C][T] owner specifies the repository owner" + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "repository": { + "returnresponseheader": { "type": "string", - "description": "[S][C][T] repository specifies the name of a repository for a specific owner" + "description": "[S] Specifies the header to return as source value (instead of the body)." }, - "versionfilter": { + "request": { "properties": { - "kind": { + "verb": { "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" + "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." }, - "pattern": { + "body": { "type": "string", - "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format" + "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time" + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." }, - "regex": { - "type": "string", - "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used." + "nofollowredirects": { + "type": "boolean", + "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)." } }, "additionalProperties": false, "type": "object", - "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { - "type": "string", - "description": "[T] title defines the Gitea release title." - }, - "tag": { - "type": "string", - "description": "[C][T] tag defines the Gitea release tag." - }, - "commitish": { - "type": "string", - "description": "[T] commitish defines the commit-ish such as `main`" - }, - "description": { - "type": "string", - "description": "[T] description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] draft defines if the release is a draft release" + "description": "[S][C] Customizes the HTTP request to emit." }, - "prerelease": { - "type": "boolean", - "description": "[T] prerelease defines if the release is a pre-release release" + "responseasserts": { + "properties": { + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[C] Specifies a set of assertions on the HTTP response headers." + }, + "statuscode": { + "type": "integer", + "description": "[C] Specifies a custom assertion on the HTTP response status code." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string",