diff --git a/content/en/schema/latest/config.json b/content/en/schema/latest/config.json index 9b617aa2d..94bb9da5d 100644 --- a/content/en/schema/latest/config.json +++ b/content/en/schema/latest/config.json @@ -15,26 +15,26 @@ "crawlers": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "npm": { + "terraform": { "$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 `.terraform.lock.hcl`" }, "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 `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." }, - "packages": { + "providers": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Packages specifies the list of NPM packages to check" + "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, @@ -42,21 +42,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` specifies rule to ignore `.terraform.lock.hcl` update." }, "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 `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." }, - "packages": { + "providers": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Packages specifies the list of NPM packages to check" + "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, @@ -64,7 +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 NPM based on a rule" + "description": "`only` specify required rule to restrict `.terraform.lock.hcl` update." }, "versionfilter": { "properties": { @@ -83,33 +83,43 @@ }, "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." + }, + "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" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the NPM builder." + "description": "Spec defines the Terraform parameters." }, - "precommit": { + "gitea/action": { "$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" + "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 .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "repos": { + "actions": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Repos specifies the list of NPM packages to check" + "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, @@ -117,21 +127,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 GitHub action based on a rule\n\ndefault: empty" }, "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 Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "repos": { + "actions": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Repos specifies the list of NPM packages to check" + "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, @@ -139,7 +149,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 NPM based on a rule" + "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": { @@ -158,19 +172,69 @@ }, "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```" } }, "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 Github Action crawler." }, - "rancher/fleet": { + "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 Fleet bundle" + "description": "RootDir defines the root directory used to recursively search for Kubernetes files" }, "ignore": { "items": { @@ -179,19 +243,12 @@ "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": { + "images": { "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" + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -199,7 +256,7 @@ "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 Kubernetes manifest based on a rule" }, "only": { "items": { @@ -208,19 +265,12 @@ "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": { + "images": { "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" + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -228,7 +278,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 Kubernetes manifest based on a rule" }, "versionfilter": { "properties": { @@ -252,28 +302,62 @@ }, "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 Kubernetes builder." }, - "terraform": { + "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 `.terraform.lock.hcl`" + "description": "RootDir defines the root directory used to recursively search for Kubernetes files" }, "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 Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "providers": { - "additionalProperties": { + "images": { + "items": { "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```" + "type": "array", + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -281,21 +365,21 @@ "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 Kubernetes manifest 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 Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "providers": { - "additionalProperties": { + "images": { + "items": { "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```" + "type": "array", + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -303,7 +387,7 @@ "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 autodiscover manifest for a specific Kubernetes manifest based on a rule" }, "versionfilter": { "properties": { @@ -322,47 +406,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 parameters which can be provided to the Kubernetes builder." }, - "cargo": { + "maven": { "$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 Helm Chart" }, "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 Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "crates": { - "additionalProperties": { + "groupids": { + "items": { "type": "string" }, - "type": "object", - "description": "Crates specifies the list of Cargo crates to check" + "type": "array", + "description": "GroupIDs specifies the list of Maven GroupIDs to check" }, - "registries": { - "items": { + "artifactids": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Registries specifies the list of Cargo registries to check" + "type": "object", + "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" } }, "additionalProperties": false, @@ -370,28 +447,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 Helm 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." - }, - "crates": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Crates specifies the list of Cargo crates to check" + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "registries": { + "groupids": { "items": { "type": "string" }, "type": "array", - "description": "Registries specifies the list of Cargo registries to check" + "description": "GroupIDs specifies the list of Maven GroupIDs to check" + }, + "artifactids": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" } }, "additionalProperties": false, @@ -399,41 +476,184 @@ "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 autodiscover manifest for a specific Helm based on a rule" }, - "registries": { - "additionalProperties": { + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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 Helm 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": { - "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`)." - } + "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" }, - "additionalProperties": false, "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." + "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." }, - "url": { + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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" + }, + "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": "[A][S][C] URL specifies the cargo registry URL to use for authentication." + "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "rootdir": { + "policies": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Policies specifies a Updatecli policy" + } + }, + "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 Updatecli based on a rule" + }, + "only": { + "items": { + "properties": { + "path": { "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." + "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "scmid": { + "policies": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Policies specifies a Updatecli policy" + } + }, + "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 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": "[A] SCMID specifies the cargo registry scmId to use as FS index." + "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" + "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" @@ -455,12 +675,12 @@ }, "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 Updatecli parameters." }, "dockerfile": { "$schema": "http://json-schema.org/draft-04/schema", @@ -585,15 +805,46 @@ "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." }, - "gitea/action": { + "flux": { "$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 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\"," + "description": "files allows to override default flux files\n\ndefault: [\"*.yaml\", \"*.yml\"]" }, "ignore": { "items": { @@ -602,12 +853,19 @@ "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": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "artifacts": { "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": "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, @@ -615,7 +873,7 @@ "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 Flux helmrelease based on a rule\n\ndefault: empty" }, "only": { "items": { @@ -624,24 +882,35 @@ "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": { + "repositories": { + "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": "Repositories specifies the list of Helm Chart repository to check" + }, + "artifacts": { + "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" + } + }, "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" + "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 allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty" + "description": "rootDir defines the root directory used to recursively search for Flux files\n\ndefault: . (current working directory) or scm root directory" }, "versionfilter": { "properties": { @@ -661,31 +930,77 @@ "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```" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Github Action crawler." + "description": "Spec defines the parameters which can be provided to the Flux crawler." }, - "kubernetes": { + "helmfile": { "$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" + }, + "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" + }, + "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 Helmfile 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" + }, + "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 \"autodiscovery\" manifest for a specific Helmfile based on a rule" + }, "auths": { "additionalProperties": { "properties": { @@ -709,34 +1024,50 @@ "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" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } }, - "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." - }, + "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 Helmfile parameters." + }, + "npm": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for Kubernetes files" + "description": "RootDir defines the root directory used to recursively search for npm packages.json" }, "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 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": "Images specifies the list of container image to check" + "type": "object", + "description": "Packages specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -744,21 +1075,21 @@ "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 allows to specify rule to ignore autodiscovery a specific NPM 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 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": "Images specifies the list of container image to check" + "type": "object", + "description": "Packages specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -766,7 +1097,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 allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" }, "versionfilter": { "properties": { @@ -790,35 +1121,35 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Kubernetes builder." + "description": "Spec defines the parameters which can be provided to the NPM builder." }, - "maven": { + "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 Helm Chart" + "description": "RootDir defines the root directory used to recursively search for Fleet bundle" }, "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 Fleet bundle 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, @@ -826,28 +1157,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 Fleet bundle 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 Fleet bundle 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, @@ -855,7 +1186,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 Fleet bundle based on a rule" }, "versionfilter": { "properties": { @@ -879,46 +1210,35 @@ }, "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 fleet builder." }, - "dockercompose": { + "argocd": { "$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 ArgoCD manifest" }, "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." + "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "services": { + "repositories": { "items": { "type": "string" }, "type": "array", - "description": "Services specifies a list of docker compose services" + "description": "Repositories specifies the list of Helm Chart repository to check" }, - "images": { - "items": { + "charts": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Image specifies a list of docker image" + "type": "object", + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -926,35 +1246,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": { - "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." + "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "services": { + "repositories": { "items": { "type": "string" }, "type": "array", - "description": "Services specifies a list of docker compose services" + "description": "Repositories specifies the list of Helm Chart repository to check" }, - "images": { - "items": { + "charts": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Image specifies a list of docker image" + "type": "object", + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -962,37 +1275,133 @@ "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" }, - "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": { + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Spec defines the parameters which can be provided to the argocd builder." + }, + "cargo": { + "$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" + }, + "ignore": { + "items": { + "properties": { + "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 Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "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" + "crates": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Crates specifies the list of Cargo crates to check" + }, + "registries": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Registries specifies the list of Cargo registries 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" + "type": "array", + "description": "Ignore specifies rule to ignore Cargo.toml update." }, - "filematch": { + "only": { "items": { - "type": "string" + "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." + }, + "crates": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Crates specifies the list of Cargo crates to check" + }, + "registries": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Registries specifies the list of Cargo registries to check" + } + }, + "additionalProperties": false, + "type": "object", + "description": "MatchingRule allows to specifies rules to identify manifest" }, "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\"]" + "description": "Only specify required rule to restrict Cargo.toml update." + }, + "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": { @@ -1011,12 +1420,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 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 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 Cargo parameters." }, "github/action": { "$schema": "http://json-schema.org/draft-04/schema", @@ -1116,7 +1525,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": { @@ -1140,40 +1549,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, @@ -1181,32 +1586,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, @@ -1214,7 +1608,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": { @@ -1234,47 +1628,50 @@ "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." }, - "helmfile": { + "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 Helmfile manifest" + "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 Helmfile chart 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 substring." }, - "repositories": { + "services": { "items": { "type": "string" }, "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Services specifies a list of docker compose services" }, - "charts": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -1282,28 +1679,35 @@ "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 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 Helmfile chart 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 substring." }, - "repositories": { + "services": { "items": { "type": "string" }, "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Services specifies a list of docker compose services" }, - "charts": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -1311,7 +1715,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 Helmfile based on a rule" + "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" }, "auths": { "additionalProperties": { @@ -1336,6 +1740,13 @@ "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": { @@ -1358,7 +1769,7 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Helmfile parameters." + "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." }, "golang/gomod": { "$schema": "http://json-schema.org/draft-04/schema", @@ -1443,64 +1854,9 @@ "type": "object", "description": "Spec defines the parameters which can be provided to the Golang autodiscovery builder." }, - "updatecli": { + "helm": { "$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." - }, - "policies": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Policies specifies a Updatecli policy" - } - }, - "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 Updatecli 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." - }, - "policies": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Policies specifies a Updatecli policy" - } - }, - "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 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": { @@ -1522,59 +1878,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." }, - "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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 Updatecli parameters." - }, - "argocd": { - "$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" + "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 Argocd file 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." }, - "repositories": { - "items": { + "dependencies": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "type": "object", + "description": "Dependencies specifies a list of dependencies pattern." }, - "charts": { + "containers": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Containers specifies a list of containers pattern." } }, "additionalProperties": false, @@ -1582,28 +1919,32 @@ "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 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 Argocd file 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." }, - "repositories": { - "items": { + "dependencies": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "type": "object", + "description": "Dependencies specifies a list of dependencies pattern." }, - "charts": { + "containers": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Containers specifies a list of containers pattern." } }, "additionalProperties": false, @@ -1611,7 +1952,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 specify required rule(s) to restrict Helm chart update." }, "versionfilter": { "properties": { @@ -1630,426 +1971,85 @@ }, "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." + }, + "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 argocd builder." - }, - "flux": { - "$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" - } + "description": "Spec defines the Helm parameters." + } + }, + "type": "object", + "description": "Crawlers defines a map of crawler configuration where the key represent the crawler type" + }, + "scmid": { + "type": "string", + "description": "scmid is a unique identifier used to retrieve the scm configuration from the configuration file." + }, + "actionid": { + "type": "string", + "description": "actionid is a unique identifier used to retrieve the action configuration from the configuration file." + }, + "groupby": { + "type": "string", + "description": "groupby specifies how to group pipeline. The Accepted is one of \"all\", \"individual\". Default is \"all\"\n\n\t\tdefault:\n\t\t\tall" + }, + "pullrequestid": { + "type": "string", + "description": "!Deprecated in favor of `actionid`" + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"autodiscovery\" defines the configuration to automatically discover new versions update.\n\n\t\texample:\n\t\t---\n\t\tautodiscovery:\n\t\t\tscmid: default\n\t\t\tactionid: default\n\t\t\tgroupby: all\n\t\t\tcrawlers:\n\t\t\t\tgolang/gomod:\n\t\t\t\t\tversionfilter:\n\t\t\t\t\tkind: semver\n\t\t\t\t\tpattern: patch\n\t\t---" + }, + "actions": { + "additionalProperties": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "title": { + "type": "string" + }, + "kind": { + "enum": [ + "github/pullrequest" + ] + }, + "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" + }, + "title": { + "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": { + "type": "string", + "description": "description allows to prepend information to the pullrequest description.\n\ncompatible:\n * action\n\ndefault:\n empty" + }, + "labels": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" + "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" }, - "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 Flux filepath 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" - }, - "artifacts": { - "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" - } - }, - "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 Flux helmrelease 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." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" - }, - "artifacts": { - "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" - } - }, - "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 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": { - "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Spec defines the parameters which can be provided to the Flux crawler." - }, - "ko": { - "$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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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." - }, - "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 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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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." - } - }, - "type": "object", - "description": "Crawlers defines a map of crawler configuration where the key represent the crawler type" - }, - "scmid": { - "type": "string", - "description": "scmid is a unique identifier used to retrieve the scm configuration from the configuration file." - }, - "actionid": { - "type": "string", - "description": "actionid is a unique identifier used to retrieve the action configuration from the configuration file." - }, - "groupby": { - "type": "string", - "description": "groupby specifies how to group pipeline. The Accepted is one of \"all\", \"individual\". Default is \"all\"\n\n\t\tdefault:\n\t\t\tall" - }, - "pullrequestid": { - "type": "string", - "description": "!Deprecated in favor of `actionid`" - } - }, - "additionalProperties": false, - "type": "object", - "description": "\"autodiscovery\" defines the configuration to automatically discover new versions update.\n\n\t\texample:\n\t\t---\n\t\tautodiscovery:\n\t\t\tscmid: default\n\t\t\tactionid: default\n\t\t\tgroupby: all\n\t\t\tcrawlers:\n\t\t\t\tgolang/gomod:\n\t\t\t\t\tversionfilter:\n\t\t\t\t\tkind: semver\n\t\t\t\t\tpattern: patch\n\t\t---" - }, - "actions": { - "additionalProperties": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "title": { - "type": "string" - }, - "kind": { - "enum": [ - "github/pullrequest" - ] - }, - "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" - }, - "title": { - "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": { - "type": "string", - "description": "description allows to prepend information to the pullrequest description.\n\ncompatible:\n * action\n\ndefault:\n empty" - }, - "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" - }, - "draft": { - "type": "boolean", - "description": "draft allows to set pull request in draft\n\ncompatible:\n * action\n\ndefault:\n false" + "draft": { + "type": "boolean", + "description": "draft allows to set pull request in draft\n\ncompatible:\n * action\n\ndefault:\n false" }, "maintainercannotmodify": { "type": "boolean", @@ -2368,6 +2368,127 @@ "scms": { "additionalProperties": { "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "gitlab" + ] + }, + "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" + }, + "commitmessage": { + "properties": { + "type": { + "type": "string", + "description": "\"type\" defines the type of commit message such as \"chore\", \"fix\", \"feat\", etc. as\n\t\tdefined by the conventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\t* chore" + }, + "scope": { + "type": "string", + "description": "\"scope\" defines the scope 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" + }, + "footers": { + "type": "string", + "description": "footers defines the footer 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" + }, + "title": { + "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 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." + }, + "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\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." + }, + "submodules": { + "type": "boolean", + "description": "\"submodules\" defines if Updatecli should checkout submodules.\n\n compatible:\n\t * scm\n\n default: true" + }, + "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" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" + }, + "disabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, { "$schema": "http://json-schema.org/draft-04/schema", "properties": { @@ -2796,160 +2917,34 @@ }, "commitmessage": { "properties": { - "type": { - "type": "string", - "description": "\"type\" defines the type of commit message such as \"chore\", \"fix\", \"feat\", etc. as\n\t\tdefined by the conventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\t* chore" - }, - "scope": { - "type": "string", - "description": "\"scope\" defines the scope 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" - }, - "footers": { - "type": "string", - "description": "footers defines the footer 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" - }, - "title": { - "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\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", - "description": "\"submodules\" defines if Updatecli should checkout submodules.\n\n compatible:\n\t * scm\n\n default: true" - }, - "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\n compatible:\n\t * scm\n\n default: false" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "owner", - "repository", - "token" - ], - "description": "Spec represents the configuration input" - }, - "disabled": { - "type": "boolean" - } - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "gitlab" - ] - }, - "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" - }, - "commitmessage": { - "properties": { - "type": { - "type": "string", - "description": "\"type\" defines the type of commit message such as \"chore\", \"fix\", \"feat\", etc. as\n\t\tdefined by the conventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\t* chore" - }, - "scope": { - "type": "string", - "description": "\"scope\" defines the scope 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" - }, - "footers": { - "type": "string", - "description": "footers defines the footer 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" - }, - "title": { - "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 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." - }, - "gpg": { - "properties": { - "signingkey": { + "type": { "type": "string", - "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone" + "description": "\"type\" defines the type of commit message such as \"chore\", \"fix\", \"feat\", etc. as\n\t\tdefined by the conventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\t* chore" }, - "passphrase": { + "scope": { "type": "string", - "description": "passphrase defines the gpg passphrase used to sign the commit message" + "description": "\"scope\" defines the scope 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" + }, + "footers": { + "type": "string", + "description": "footers defines the footer 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" + }, + "title": { + "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": "\"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": "\"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", @@ -2957,16 +2952,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: 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\t * scm\n\n default: true" + }, + "commitusingapi": { + "type": "boolean", + "description": "\"commitUsingApi\" defines if Updatecli should use GitHub GraphQL API to create the commit.\n\n compatible:\n\t * scm\n\n default: false" } }, "additionalProperties": false, "type": "object", "required": [ "owner", - "repository" + "repository", + "token" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec represents the configuration input" }, "disabled": { "type": "boolean" @@ -2999,7 +2999,7 @@ }, "kind": { "enum": [ - "gitbranch" + "helmchart" ] }, "transformers": { @@ -3100,231 +3100,77 @@ "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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": { + "file": { "type": "string", - "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" + "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\"" }, - "sourcebranch": { + "key": { "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": "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." }, - "url": { + "name": { "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": "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\"" }, - "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" + "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" }, - "password": { + "url": { "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" - }, - "scmid": { - "type": "string", - "description": "scmid specifies the scm configuration key associated to the current resource" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "kind" - ] - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "dependson": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"dependson\" allows to specify the order of execution of resources\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\"\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\ndependson:\n - condition#myCondition:and\n - source#mySource\n\nremarks:\n The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"." - }, - "name": { - "type": "string", - "description": "name specifies the resource name" - }, - "kind": { - "enum": [ - "temurin" - ] - }, - "transformers": { - "items": { - "properties": { - "addprefix": { - "type": "string", - "description": "AddPrefix adds a prefix to the transformer input value" - }, - "addsuffix": { - "type": "string", - "description": "AddSuffix adds a suffix to the transformer input value" - }, - "trimprefix": { - "type": "string", - "description": "TrimPrefix removes a prefix to the transformer input value" - }, - "trimsuffix": { - "type": "string", - "description": "TrimSuffix removes the suffix from the transformer input value" - }, - "replacers": { - "items": { - "properties": { - "from": { - "type": "string", - "description": "From defines the source value which need to be replaced" - }, - "to": { - "type": "string", - "description": "To defines the \"to what\" a \"from\" value needs to be replaced" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "from", - "to" - ], - "description": "Replacer is struct used to feed strings.Replacer" - }, - "type": "array", - "description": "Replacers specifies a list of replacer instruction" - }, - "replacer": { - "properties": { - "from": { - "type": "string", - "description": "From defines the source value which need to be replaced" - }, - "to": { - "type": "string", - "description": "To defines the \"to what\" a \"from\" value needs to be replaced" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "from", - "to" - ], - "description": "Replacer specifies what value needs to be changed and how" - }, - "find": { - "type": "string", - "description": "Find searches for a specific value if it exists and return false if it doesn't" - }, - "findsubmatch": { - "properties": { - "pattern": { - "type": "string", - "description": "Pattern defines regular expression to use for retrieving a submatch" - }, - "captureindex": { - "type": "integer", - "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." - } + "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/" }, - "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": { - "releaseline": { + "value": { "type": "string", - "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" + "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "releasetype": { + "version": { "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": "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" }, - "result": { + "versionincrement": { "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": "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" }, - "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)" + "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" }, - "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\"" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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." }, - "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\"" - }, - "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": "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": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -3353,7 +3199,7 @@ }, "kind": { "enum": [ - "helmchart" + "npm" ] }, "transformers": { @@ -3454,41 +3300,21 @@ "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" + "description": "Defines the specific npm package name" }, "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": "Defines a specific package version" }, - "versionincrement": { + "url": { "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" + "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" }, - "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" + "registrytoken": { + "type": "string", + "description": "RegistryToken defines the token to use when connection to the registry" }, "versionfilter": { "properties": { @@ -3507,24 +3333,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\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": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "token": { + "npmrcpath": { "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": "NpmrcPath defines the path to the .npmrc file" } }, "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 an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -3553,7 +3371,7 @@ }, "kind": { "enum": [ - "jenkins" + "terraform/file" ] }, "transformers": { @@ -3654,18 +3472,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 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" }, - "version": { + "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" + }, + "path": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "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": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -3694,7 +3523,7 @@ }, "kind": { "enum": [ - "terraform/file" + "toolversions" ] }, "transformers": { @@ -3797,27 +3626,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": "[s][c][t] File specifies the .tool-versions file to manipulate" }, "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 .tool-versions 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 query to retrieve an information from a .tool-versions file" }, "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] 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", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "type": "object" }, "scmid": { "type": "string", @@ -3846,7 +3678,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "dockerimage" ] }, "transformers": { @@ -3947,29 +3779,64 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "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" - }, - "files": { + "architectures": { "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": "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" }, - "value": { + "architecture": { "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": "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" }, - "provider": { + "image": { "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": "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" + }, + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -3998,7 +3865,7 @@ }, "kind": { "enum": [ - "toolversions" + "gitlab/release" ] }, "transformers": { @@ -4099,32 +3966,77 @@ "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } }, - "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." + }, + "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" }, - "createmissingkey": { + "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", @@ -4153,7 +4065,7 @@ }, "kind": { "enum": [ - "cargopackage" + "githubrelease" ] }, "transformers": { @@ -4254,47 +4166,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" + "owner": { + "type": "string", + "description": "[s][c] Owner specifies repository owner" }, - "package": { + "repository": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, - "version": { + "token": { "type": "string", - "description": "[C] Defines a specific package version" + "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": { @@ -4313,15 +4203,44 @@ }, "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." + }, + "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" } }, "additionalProperties": false, "type": "object", "required": [ - "package" + "owner", + "repository", + "token" ], - "description": "Spec defines a specification for a \"cargopackage\" 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", @@ -4350,7 +4269,7 @@ }, "kind": { "enum": [ - "golang/module" + "maven" ] }, "transformers": { @@ -4451,17 +4370,32 @@ "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": "Deprecated, please specify the Maven url in the repository" }, - "module": { + "repository": { "type": "string", - "description": "[S][C] Module specifies the name of the module" + "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." + }, + "groupid": { + "type": "string", + "description": "Specifies the maven artifact groupID" + }, + "artifactid": { + "type": "string", + "description": "Specifies the maven artifact artifactID" }, "version": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "Specifies the maven artifact version" }, "versionfilter": { "properties": { @@ -4485,10 +4419,7 @@ }, "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 \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -4517,7 +4448,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "temurin" ] }, "transformers": { @@ -4618,40 +4549,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "releaseline": { "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": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "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" + "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)" }, - "value": { + "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": "\"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": "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)" }, - "provider": { + "architecture": { "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": "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 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", @@ -4680,7 +4623,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "csv" ] }, "transformers": { @@ -4781,33 +4724,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "type": { + "file": { "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": "[s][c][t] File specifies the csv file" }, - "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." + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "namespace": { + "key": { "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": "[s][c][t] Key specifies the csv query" }, - "name": { + "query": { "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] Query allows to used advanced query. Override the parameter key" }, - "targetsystem": { + "value": { "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": "[s][c][t] Key specifies the csv value, default to source output" }, - "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." + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" }, - "version": { - "type": "string", - "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" }, "versionfilter": { "properties": { @@ -4826,7 +4772,7 @@ }, "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." } }, "additionalProperties": false, @@ -4859,7 +4805,7 @@ }, "kind": { "enum": [ - "toml" + "gitbranch" ] }, "transformers": { @@ -4956,32 +4902,13 @@ }, "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 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": { + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "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": { @@ -5000,15 +4927,35 @@ }, "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" } }, "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", @@ -5037,7 +4984,7 @@ }, "kind": { "enum": [ - "xml" + "gitea/tag" ] }, "transformers": { @@ -5138,22 +5085,58 @@ "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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", @@ -5182,7 +5165,7 @@ }, "kind": { "enum": [ - "maven" + "gitlab/tag" ] }, "transformers": { @@ -5285,30 +5268,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] Owner specifies repository owner" }, - "version": { + "repository": { "type": "string", - "description": "Specifies the maven artifact version" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -5327,12 +5303,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." + }, + "tag": { + "type": "string", + "description": "[S] Tag defines the GitLab tag ." } }, "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", @@ -5361,7 +5345,7 @@ }, "kind": { "enum": [ - "stash/tag" + "cargopackage" ] }, "transformers": { @@ -5462,29 +5446,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": { @@ -5503,21 +5505,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 Bitbucket 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" + "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", @@ -5546,7 +5542,7 @@ }, "kind": { "enum": [ - "gitea/release" + "dockerfile" ] }, "transformers": { @@ -5625,100 +5621,54 @@ "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": { - "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "additionalProperties": false, + "type": "object", + "required": [ + "pattern" + ], + "description": "Find searches for a specific value if it exists then return the value using regular expression" }, - "additionalProperties": false, - "type": "object", - "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "semverinc": { + "type": "string", + "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." + } }, - "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": { + "file": { "type": "string", - "description": "[T] title defines the Gitea release title." + "description": "File specifies the dockerimage file path to use and is incompatible with Files" }, - "tag": { - "type": "string", - "description": "[C][T] tag defines the Gitea release tag." + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "commitish": { - "type": "string", - "description": "[T] commitish defines the commit-ish such as `main`" + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "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" + "description": "Value specifies the value for a specified Dockerfile instruction." }, - "prerelease": { - "type": "boolean", - "description": "[T] prerelease defines if the release is a pre-release release" + "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": [ - "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", @@ -5747,7 +5697,7 @@ }, "kind": { "enum": [ - "json" + "file" ] }, "transformers": { @@ -5850,50 +5800,43 @@ "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": "`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 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": "`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": { + "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": "\"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": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "value": { + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + }, + "matchpattern": { "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": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "query": { + "replacepattern": { "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": "`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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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" + "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": "\"json\" defines the specification for manipulating \"json\" files." + "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -5922,7 +5865,7 @@ }, "kind": { "enum": [ - "stash/branch" + "stash/tag" ] }, "transformers": { @@ -6064,11 +6007,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 Bitbucket tag ." } }, "additionalProperties": false, @@ -6107,7 +6050,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "xml" ] }, "transformers": { @@ -6208,42 +6151,22 @@ "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": { + "file": { "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": "\"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" }, - "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 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\"" }, - "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 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": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -6272,7 +6195,7 @@ }, "kind": { "enum": [ - "file" + "gittag" ] }, "transformers": { @@ -6373,45 +6296,60 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "path": { "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": "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } }, - "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" + "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" }, - "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" + "message": { + "type": "string", + "description": "Message associated to the git tag\n\n compatible:\n * target" }, - "content": { + "key": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" }, - "forcecreate": { - "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + "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" }, - "matchpattern": { + "username": { "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": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" }, - "replacepattern": { + "password": { "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": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\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 ```" + "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 \"file\" 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", @@ -6440,7 +6378,7 @@ }, "kind": { "enum": [ - "http" + "golang" ] }, "transformers": { @@ -6541,62 +6479,33 @@ "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": { + "version": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." - }, - "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." + "description": "[C] Version defines a specific golang version" }, - "responseasserts": { + "versionfilter": { "properties": { - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[C] Specifies a set of assertions on the HTTP response headers." + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" }, - "statuscode": { - "type": "integer", - "description": "[C] Specifies a custom assertion on the HTTP response status code." + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" } }, "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." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"http\" 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", @@ -6625,7 +6534,7 @@ }, "kind": { "enum": [ - "npm" + "stash/branch" ] }, "transformers": { @@ -6726,21 +6635,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { + "url": { "type": "string", - "description": "Defines the specific npm package name" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "version": { + "username": { "type": "string", - "description": "Defines a specific package version" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server 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 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" }, - "registrytoken": { + "password": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "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": { @@ -6759,16 +6676,21 @@ }, "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": { + "branch": { "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "description": "[C] Branch specifies the branch name" } }, "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 Bitbucket Server release" }, "scmid": { "type": "string", @@ -6797,7 +6719,7 @@ }, "kind": { "enum": [ - "shell" + "hcl" ] }, "transformers": { @@ -6898,130 +6820,29 @@ "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": "\"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" }, - "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": "\"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" }, - "shell": { + "path": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "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" }, - "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": "\"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": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -7050,7 +6871,7 @@ }, "kind": { "enum": [ - "gittag" + "terraform/lock" ] }, "transformers": { @@ -7151,60 +6972,40 @@ "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 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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "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" - }, - "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" + "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", @@ -7233,7 +7034,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "yaml" ] }, "transformers": { @@ -7334,57 +7135,41 @@ "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": { + "engine": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "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" }, - "token": { + "file": { "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": "\"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" }, - "owner": { + "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": "[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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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" }, - "tag": { - "type": "string", - "description": "[S] Tag defines the GitLab 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": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -7413,7 +7198,7 @@ }, "kind": { "enum": [ - "dockerimage" + "jenkins" ] }, "transformers": { @@ -7514,64 +7299,18 @@ "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": { + "release": { "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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][c] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "tagfilter": { + "version": { "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][c] Defines a specific release version (condition only)" } }, "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 \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7600,7 +7339,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "json" ] }, "transformers": { @@ -7701,25 +7440,28 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "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 Gitea API" + "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\" 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": "\"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] 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] 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": { @@ -7738,21 +7480,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": "\"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 Gitea release" + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -7781,7 +7514,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "terraform/provider" ] }, "transformers": { @@ -7882,57 +7615,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": { + "file": { "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": "\"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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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 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." }, - "branch": { + "provider": { "type": "string", - "description": "[C] Branch specifies the branch name" + "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" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -7961,7 +7666,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "dockerdigest" ] }, "transformers": { @@ -8062,77 +7767,42 @@ "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": { + "architecture": { "type": "string", - "description": "[S][C][T] Owner specifies repository owner" + "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" }, - "repository": { + "image": { "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "title": { + "tag": { "type": "string", - "description": "[T] Title defines the GitLab release title." + "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "tag": { + "digest": { "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." + "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." }, - "commitish": { + "username": { "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" + "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": { + "password": { "type": "string", - "description": "[T] Description defines if the new release description" + "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" }, - "draft": { - "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" + "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" }, - "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": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -8161,7 +7831,7 @@ }, "kind": { "enum": [ - "githubrelease" + "gitlab/branch" ] }, "transformers": { @@ -8262,25 +7932,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": { @@ -8299,44 +7969,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" + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "tag": { + "branch": { "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "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", @@ -8365,7 +8011,7 @@ }, "kind": { "enum": [ - "golang" + "golang/gomod" ] }, "transformers": { @@ -8466,28 +8112,21 @@ "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 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" }, - "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "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" + }, + "version": { + "type": "string", + "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "additionalProperties": false, @@ -8521,7 +8160,7 @@ }, "kind": { "enum": [ - "aws/ami" + "golang/module" ] }, "transformers": { @@ -8622,53 +8261,44 @@ "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": { + "proxy": { "type": "string", - "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" + "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." }, - "region": { + "module": { "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "description": "[S][C] Module specifies the name of the module" }, - "endpoint": { + "version": { "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": "[C] Defines a specific package version" }, - "sortby": { - "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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 contains the updatecli configuration provided by users." + "required": [ + "module" + ], + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -8697,7 +8327,7 @@ }, "kind": { "enum": [ - "csv" + "http" ] }, "transformers": { @@ -8798,59 +8428,62 @@ "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": { - "type": "string", - "description": "[s][c][t] Key specifies the csv query" - }, - "query": { + "url": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "value": { + "returnresponseheader": { "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": "[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" + "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. Only 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]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." + }, + "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", @@ -8879,7 +8512,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "shell" ] }, "transformers": { @@ -8980,26 +8613,130 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "command": { "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": "command specifies the shell command to execute by Updatecli" }, - "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" + "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." }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "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" }, - "version": { + "shell": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "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 \"Golang\" 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", @@ -9028,7 +8765,7 @@ }, "kind": { "enum": [ - "hcl" + "terraform/registry" ] }, "transformers": { @@ -9129,29 +8866,56 @@ "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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", @@ -9180,7 +8944,7 @@ }, "kind": { "enum": [ - "yaml" + "toml" ] }, "transformers": { @@ -9281,41 +9045,55 @@ "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": "[s][c][t] File specifies the toml file to manipulate" }, "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": "[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": "\"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": "[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 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": "[s][c][t] Value specifies the value for a specific key. Default to 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" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "searchpattern": { + "createmissingkey": { "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] 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": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "type": "object" }, "scmid": { "type": "string", @@ -9344,7 +9122,7 @@ }, "kind": { "enum": [ - "dockerfile" + "aws/ami" ] }, "transformers": { @@ -9445,32 +9223,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "accesskey": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "files": { + "secretkey": { + "type": "string", + "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + }, + "filters": { "items": { - "type": "string" + "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": "Files specifies the dockerimage file path(s) to use and is incompatible with File" + "description": "Filters specifies a list of AMI filters" }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "region": { + "type": "string", + "description": "Region specifies the AWS region to use when looking for AMI" }, - "value": { + "endpoint": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" }, - "stage": { + "dryrun": { + "type": "boolean", + "description": "Dryrun allows to Check whether you have the required permissions for the action." + }, + "sortby": { "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": "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 \"dockerfile\" resource parsed from an updatecli manifest file" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -9663,15 +9462,7 @@ "required": [ "kind" ] - } - ] - }, - "type": "object", - "description": "\"sources\" defines the list of Updatecli source definition.\n\n\t\texample:\n\t\t---\n\t\tsources:\n\t\t\t# Source to retrieve the latest version of nodejs\n\t\t\tnodejs:\n\t\t\t\tname: Get latest nodejs version\n\t\t\t\tkind: json\n\t\t\t\tspec:\n\t\t\t\t\tfile: https://nodejs.org/dist/index.json\n\t\t\t\t\tkey: .(lts!=false).version\n\t\t---" - }, - "conditions": { - "additionalProperties": { - "oneOf": [ + }, { "$schema": "http://json-schema.org/draft-04/schema", "properties": { @@ -9688,7 +9479,7 @@ }, "kind": { "enum": [ - "http" + "gitea/release" ] }, "transformers": { @@ -9791,73 +9582,80 @@ "properties": { "url": { "type": "string", - "description": "[S][C] Specifies the URL of the HTTP request for this resource." + "description": "\"url\" defines the Gitea url to interact with" }, - "returnresponseheader": { + "username": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "request": { + "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": { - "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" }, - "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)." + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" } }, "additionalProperties": false, "type": "object", - "description": "[S][C] Customizes the HTTP request to emit." + "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "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." + "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" } }, "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 Gitea release" }, "scmid": { "type": "string", "description": "scmid specifies the scm configuration key associated to the current resource" - }, - "sourceid": { - "type": "string" - }, - "disablesourceinput": { - "type": "boolean" - }, - "failwhen": { - "type": "boolean" } }, "additionalProperties": false, @@ -9865,7 +9663,15 @@ "required": [ "kind" ] - }, + } + ] + }, + "type": "object", + "description": "\"sources\" defines the list of Updatecli source definition.\n\n\t\texample:\n\t\t---\n\t\tsources:\n\t\t\t# Source to retrieve the latest version of nodejs\n\t\t\tnodejs:\n\t\t\t\tname: Get latest nodejs version\n\t\t\t\tkind: json\n\t\t\t\tspec:\n\t\t\t\t\tfile: https://nodejs.org/dist/index.json\n\t\t\t\t\tkey: .(lts!=false).version\n\t\t---" + }, + "conditions": { + "additionalProperties": { + "oneOf": [ { "$schema": "http://json-schema.org/draft-04/schema", "properties": { @@ -9882,7 +9688,7 @@ }, "kind": { "enum": [ - "shell" + "gitlab/branch" ] }, "transformers": { @@ -9981,132 +9787,59 @@ "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" + "$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\"" }, - "shell": { + "username": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "workdir": { + "token": { "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": "\"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": { + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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": [ - "command" + "owner", + "repository" ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -10144,7 +9877,7 @@ }, "kind": { "enum": [ - "temurin" + "golang" ] }, "transformers": { @@ -10245,52 +9978,33 @@ "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } }, - "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", @@ -10328,7 +10042,7 @@ }, "kind": { "enum": [ - "terraform/file" + "json" ] }, "transformers": { @@ -10431,27 +10145,50 @@ "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 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 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\" 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" }, - "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": "\"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 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\" 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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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." + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -10489,7 +10226,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "temurin" ] }, "transformers": { @@ -10590,40 +10327,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "releaseline": { "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": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "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" + "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)" }, - "value": { + "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": "\"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": "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)" }, - "provider": { + "architecture": { "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": "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 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", @@ -10661,7 +10410,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "terraform/lock" ] }, "transformers": { @@ -10762,56 +10511,40 @@ "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 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" }, - "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 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" }, - "rawstring": { + "value": { "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": "\"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": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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" + "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" + "type": "object", + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -10849,7 +10582,7 @@ }, "kind": { "enum": [ - "dockerfile" + "npm" ] }, "transformers": { @@ -10950,32 +10683,49 @@ "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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", @@ -11013,7 +10763,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "stash/branch" ] }, "transformers": { @@ -11114,29 +10864,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\" specifies the default stash url in case of Bitbucket Server" }, - "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\" specifies the username used to authenticate with Bitbucket Server 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 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" }, - "provider": { + "password": { "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": "\"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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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 Bitbucket Server release" }, "scmid": { "type": "string", @@ -11174,7 +10957,7 @@ }, "kind": { "enum": [ - "gitea/release" + "aws/ami" ] }, "transformers": { @@ -11275,78 +11058,53 @@ "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": { + "accesskey": { "type": "string", - "description": "[S][C][T] owner specifies the repository owner" + "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "repository": { + "secretkey": { "type": "string", - "description": "[S][C][T] repository specifies the name of a repository for a specific owner" + "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" }, - "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" + "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." + } }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "additionalProperties": false, + "type": "object", + "description": "Filter represents the updatecli configuration describing AMI filters." }, - "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": "Filters specifies a list of AMI filters" }, - "commitish": { + "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", @@ -11384,7 +11142,7 @@ }, "kind": { "enum": [ - "golang/module" + "dockerdigest" ] }, "transformers": { @@ -11485,44 +11243,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "proxy": { + "architecture": { "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": "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": "[S][C] Module specifies the name of the module" + "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "version": { + "tag": { "type": "string", - "description": "[C] Defines a specific package 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" }, - "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "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" + }, + "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", - "required": [ - "module" - ], - "description": "Spec defines a specification for a \"gomodule\" 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", @@ -11560,7 +11316,7 @@ }, "kind": { "enum": [ - "xml" + "dockerfile" ] }, "transformers": { @@ -11663,20 +11419,30 @@ "properties": { "file": { "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": "File specifies the dockerimage file path to use and is incompatible with Files" }, - "path": { - "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\"" + "files": { + "items": { + "type": "string" + }, + "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\" 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": "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": "\"xml\" defines the specification for manipulating \"xml\" files." + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -11714,7 +11480,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "gitea/release" ] }, "transformers": { @@ -11829,11 +11595,11 @@ }, "owner": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[S][C][T] owner specifies the repository owner" }, "repository": { "type": "string", - "description": "[S][C] 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": { @@ -11852,11 +11618,31 @@ }, "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." + }, + "title": { + "type": "string", + "description": "[T] title defines the Gitea release title." }, "tag": { "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "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, @@ -12113,7 +11899,7 @@ }, "kind": { "enum": [ - "maven" + "hcl" ] }, "transformers": { @@ -12214,56 +12000,29 @@ "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 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" }, - "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 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" }, - "artifactid": { + "path": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "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": "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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 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 \"maven\" resource parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -12301,7 +12060,7 @@ }, "kind": { "enum": [ - "stash/branch" + "xml" ] }, "transformers": { @@ -12402,62 +12161,172 @@ "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": { + "file": { "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": "\"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" }, - "owner": { + "path": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "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\"" }, - "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" + "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": "\"xml\" defines the specification for manipulating \"xml\" files." + }, + "scmid": { + "type": "string", + "description": "scmid specifies the scm configuration key associated to the current resource" + }, + "sourceid": { + "type": "string" + }, + "disablesourceinput": { + "type": "boolean" + }, + "failwhen": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "kind" + ] + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "dependson": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"dependson\" allows to specify the order of execution of resources\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\"\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\ndependson:\n - condition#myCondition:and\n - source#mySource\n\nremarks:\n The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"." + }, + "name": { + "type": "string", + "description": "name specifies the resource name" + }, + "kind": { + "enum": [ + "jenkins" + ] + }, + "transformers": { + "items": { + "properties": { + "addprefix": { + "type": "string", + "description": "AddPrefix adds a prefix to the transformer input value" + }, + "addsuffix": { + "type": "string", + "description": "AddSuffix adds a suffix to the transformer input value" + }, + "trimprefix": { + "type": "string", + "description": "TrimPrefix removes a prefix to the transformer input value" + }, + "trimsuffix": { + "type": "string", + "description": "TrimSuffix removes the suffix from the transformer input value" + }, + "replacers": { + "items": { + "properties": { + "from": { + "type": "string", + "description": "From defines the source value which need to be replaced" + }, + "to": { + "type": "string", + "description": "To defines the \"to what\" a \"from\" value needs to be replaced" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "from", + "to" + ], + "description": "Replacer is struct used to feed strings.Replacer" }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" + "type": "array", + "description": "Replacers specifies a list of replacer instruction" + }, + "replacer": { + "properties": { + "from": { + "type": "string", + "description": "From defines the source value which need to be replaced" + }, + "to": { + "type": "string", + "description": "To defines the \"to what\" a \"from\" value needs to be replaced" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "from", + "to" + ], + "description": "Replacer specifies what value needs to be changed and how" + }, + "find": { + "type": "string", + "description": "Find searches for a specific value if it exists and return false if it doesn't" + }, + "findsubmatch": { + "properties": { + "pattern": { + "type": "string", + "description": "Pattern defines regular expression to use for retrieving a submatch" + }, + "captureindex": { + "type": "integer", + "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`." + } }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "additionalProperties": false, + "type": "object", + "required": [ + "pattern" + ], + "description": "Find searches for a specific value if it exists then return the value using regular expression" }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "semverinc": { + "type": "string", + "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." + } }, - "branch": { + "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": "[C] Branch specifies the branch name" + "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + }, + "version": { + "type": "string", + "description": "[s][c] Defines a specific release version (condition only)" } }, "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 \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12495,7 +12364,7 @@ }, "kind": { "enum": [ - "toml" + "shell" ] }, "transformers": { @@ -12596,55 +12465,130 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "command": { "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" + "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": "[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" + "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" + "changedif": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" + { + "$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" }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + { + "$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": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just 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" }, - "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" + "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" + "type": "object", + "required": [ + "command" + ], + "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12682,7 +12626,7 @@ }, "kind": { "enum": [ - "toolversions" + "terraform/provider" ] }, "transformers": { @@ -12785,30 +12729,27 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" + "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 .tool-versions file to manipulate" - }, - "key": { - "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "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][t] Value specifies the value for a specific key. 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." }, - "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" + "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", @@ -13034,7 +12975,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "gitea/tag" ] }, "transformers": { @@ -13172,11 +13113,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, @@ -13224,7 +13165,7 @@ }, "kind": { "enum": [ - "githubrelease" + "csv" ] }, "transformers": { @@ -13325,25 +13266,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { + "file": { "type": "string", - "description": "[s][c] Owner specifies repository owner" + "description": "[s][c][t] File specifies the csv file" }, - "repository": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" + }, + "key": { "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" + "description": "[s][c][t] Key specifies the csv query" }, - "token": { + "query": { "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "url": { + "value": { "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "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 \",\"" }, - "username": { - "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" }, "versionfilter": { "properties": { @@ -13362,44 +13314,11 @@ }, "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." } }, "additionalProperties": false, - "type": "object", - "required": [ - "owner", - "repository", - "token" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -13437,7 +13356,7 @@ }, "kind": { "enum": [ - "helmchart" + "githubrelease" ] }, "transformers": { @@ -13538,41 +13457,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "owner": { "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] Owner specifies repository owner" }, - "key": { + "repository": { "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." + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, - "name": { + "token": { "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] Token specifies the credential used to authenticate with" }, "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] 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": { @@ -13591,24 +13494,44 @@ }, "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" + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "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" + "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" }, - "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] Tag allows to check for a specific release tag, default to source output" } }, "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", @@ -13646,7 +13569,7 @@ }, "kind": { "enum": [ - "jenkins" + "golang/module" ] }, "transformers": { @@ -13747,18 +13670,44 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "proxy": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "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": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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" + "required": [ + "module" + ], + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -13990,7 +13939,7 @@ }, "kind": { "enum": [ - "csv" + "terraform/file" ] }, "transformers": { @@ -14093,57 +14042,27 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the csv file" + "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": "[c][t] Files specifies a list of Json file to manipulate" - }, - "key": { - "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "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" }, - "query": { + "path": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "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": "[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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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 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", @@ -14181,7 +14100,7 @@ }, "kind": { "enum": [ - "file" + "toolversions" ] }, "transformers": { @@ -14284,43 +14203,30 @@ "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" + "description": "[s][c][t] File specifies the .tool-versions file to manipulate" }, "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": "`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": "[c][t] Files specifies a list of .tool-versions file to manipulate" }, - "matchpattern": { + "key": { "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][t] Key specifies the query to retrieve an information from a .tool-versions file" }, - "replacepattern": { + "value": { "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][t] Value specifies the value for a specific key. Default to source output" }, - "searchpattern": { + "createmissingkey": { "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] 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 \"file\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -14358,7 +14264,7 @@ }, "kind": { "enum": [ - "gittag" + "dockerimage" ] }, "transformers": { @@ -14459,9 +14365,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "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": "Path contains the git repository path" + "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": { @@ -14480,39 +14413,16 @@ }, "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": "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" }, - "sourcebranch": { + "tagfilter": { "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": "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" - ], - "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", @@ -14550,7 +14460,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "file" ] }, "transformers": { @@ -14653,24 +14563,43 @@ "properties": { "file": { "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": "`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" }, - "module": { + "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": "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": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "indirect": { + "forcecreate": { "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" }, - "version": { + "matchpattern": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "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": "Spec defines a specification for a \"Golang\" 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", @@ -14708,7 +14637,7 @@ }, "kind": { "enum": [ - "json" + "gitlab/tag" ] }, "transformers": { @@ -14809,28 +14738,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": { @@ -14849,12 +14775,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", @@ -14892,7 +14826,7 @@ }, "kind": { "enum": [ - "aws/ami" + "helmchart" ] }, "transformers": { @@ -14993,53 +14927,77 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "accesskey": { + "file": { "type": "string", - "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" + "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\"" }, - "secretkey": { + "key": { "type": "string", - "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + "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." }, - "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" + "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\"" }, - "region": { + "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": "Region specifies the AWS region to use when looking for AMI" + "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/" }, - "endpoint": { + "value": { "type": "string", - "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "dryrun": { + "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": "Dryrun allows to Check whether you have the required permissions for the action." + "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" }, - "sortby": { + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "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": "Spec contains the updatecli configuration provided by users." + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15077,7 +15035,7 @@ }, "kind": { "enum": [ - "cargopackage" + "maven" ] }, "transformers": { @@ -15178,47 +15136,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." - } + "url": { + "type": "string", + "description": "Deprecated, please specify the Maven url in the repository" + }, + "repository": { + "type": "string", + "description": "Specifies the maven repository url + name" + }, + "repositories": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + "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" }, - "package": { + "artifactid": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "description": "Specifies the maven artifact artifactID" }, "version": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "Specifies the maven artifact version" }, "versionfilter": { "properties": { @@ -15242,10 +15185,7 @@ }, "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 \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15283,7 +15223,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "yaml" ] }, "transformers": { @@ -15384,42 +15324,41 @@ "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": { + "engine": { "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": "\"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" }, - "tag": { + "file": { "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": "\"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" }, - "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." + "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" }, - "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": "\"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" }, - "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\" 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." }, - "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" + "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" }, - "hidetag": { + "searchpattern": { "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": "`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": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -15457,7 +15396,7 @@ }, "kind": { "enum": [ - "dockerimage" + "cargopackage" ] }, "transformers": { @@ -15558,36 +15497,47 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { - "items": { - "type": "string" + "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." + } }, - "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" + "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" }, "versionfilter": { "properties": { @@ -15606,16 +15556,15 @@ }, "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" + "required": [ + "package" + ], + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15653,7 +15602,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "golang/gomod" ] }, "transformers": { @@ -15754,57 +15703,26 @@ "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": { + "file": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "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" }, - "repository": { + "module": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] 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" }, - "branch": { + "version": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15842,7 +15760,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "http" ] }, "transformers": { @@ -15945,55 +15863,60 @@ "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" + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "repository": { + "returnresponseheader": { "type": "string", - "description": "[S][C] 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" + "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. Only 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] 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." }, - "tag": { - "type": "string", - "description": "[S] Tag defines the GitLab tag ." - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab 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", + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -16031,7 +15954,7 @@ }, "kind": { "enum": [ - "npm" + "gittag" ] }, "transformers": { @@ -16132,21 +16055,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": { @@ -16165,16 +16076,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", @@ -16212,7 +16146,7 @@ }, "kind": { "enum": [ - "yaml" + "gitea/branch" ] }, "transformers": { @@ -16313,41 +16247,58 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { + "url": { "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": "\"url\" defines the Gitea url to interact with" }, - "file": { + "username": { "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": "\"username\" defines the username used to authenticate with Gitea API" }, - "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" + "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" }, - "key": { + "owner": { "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": "[S][C] Owner specifies repository owner" }, - "value": { + "repository": { "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": "[S][C] Repository specifies the name of a repository for a specific owner" }, - "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" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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 ```" + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -16385,7 +16336,7 @@ }, "kind": { "enum": [ - "golang" + "terraform/registry" ] }, "transformers": { @@ -16486,9 +16437,33 @@ "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": { + "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": "[C] Version defines a specific golang version" + "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" }, "versionfilter": { "properties": { @@ -16507,12 +16482,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 \"Golang\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -16550,7 +16524,7 @@ }, "kind": { "enum": [ - "hcl" + "toml" ] }, "transformers": { @@ -16653,27 +16627,53 @@ "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 toml file to manipulate" }, "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": { + "query": { "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] 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": "\"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] 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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "type": "object" }, "scmid": { "type": "string", @@ -16719,7 +16719,7 @@ }, "kind": { "enum": [ - "golang/module" + "golang" ] }, "transformers": { @@ -16820,17 +16820,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": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "[C] Version defines a specific golang version" }, "versionfilter": { "properties": { @@ -16854,10 +16846,7 @@ }, "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 \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -16904,7 +16893,7 @@ }, "kind": { "enum": [ - "http" + "cargopackage" ] }, "transformers": { @@ -16983,84 +16972,96 @@ "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" + "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": { + "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." + } }, - "semverinc": { - "type": "string", - "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." - } + "additionalProperties": false, + "type": "object", + "description": "[S][C] Registry specifies the registry to use" }, - "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": { + "package": { "type": "string", - "description": "[S][C] Specifies the URL of the HTTP request for this resource." + "description": "[S][C] Package specifies the name of the package" }, - "returnresponseheader": { + "version": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "[C] Defines a specific package version" }, - "request": { + "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" }, - "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." - }, - "statuscode": { - "type": "integer", - "description": "[C] Specifies a custom assertion on the HTTP response status code." + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" } }, "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." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"http\" 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", @@ -17107,7 +17108,7 @@ }, "kind": { "enum": [ - "dockerimage" + "dockerdigest" ] }, "transformers": { @@ -17208,24 +17209,21 @@ "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" + "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\ncompatible:\n * condition\n * source" + "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\ncompatible:\n * condition\n\ndefault: 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" + }, + "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", @@ -17239,33 +17237,14 @@ "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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" + "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 \"dockerimage\" 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", @@ -17312,7 +17291,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "gitea/release" ] }, "transformers": { @@ -17413,26 +17392,78 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "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": "\"url\" defines the Gitea url to interact with" }, - "module": { + "username": { "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": "\"username\" defines the username used to authenticate with Gitea API" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * 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" }, - "version": { + "owner": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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" } }, "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 Gitea release" }, "scmid": { "type": "string", @@ -17479,7 +17510,7 @@ }, "kind": { "enum": [ - "dockerfile" + "gitlab/tag" ] }, "transformers": { @@ -17580,32 +17611,57 @@ "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 GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "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 GitLab" }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "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" }, - "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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", - "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -17652,7 +17708,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "shell" ] }, "transformers": { @@ -17753,58 +17809,130 @@ "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": { + "command": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "command specifies the shell command to execute by Updatecli" }, - "repository": { - "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "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." }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" + "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" }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" + { + "$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" }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just 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" }, - "tag": { + "shell": { "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "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", "required": [ - "url", - "owner", - "repository" + "command" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -17851,7 +17979,7 @@ }, "kind": { "enum": [ - "githubrelease" + "terraform/registry" ] }, "transformers": { @@ -17952,25 +18080,33 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { + "type": { "type": "string", - "description": "[s][c] Owner specifies repository owner" + "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": "[s][c] Repository specifies the name of a repository for a specific owner" + "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": "[s][c] Token specifies the credential used to authenticate with" + "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." }, - "url": { + "name": { "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "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." }, - "username": { + "targetsystem": { "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + "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": { @@ -17989,44 +18125,11 @@ }, "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\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object", - "required": [ - "owner", - "repository", - "token" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -18073,7 +18176,7 @@ }, "kind": { "enum": [ - "helmchart" + "aws/ami" ] }, "transformers": { @@ -18174,77 +18277,53 @@ "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": { + "accesskey": { "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": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "versionincrement": { + "secretkey": { "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": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" }, - "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" + "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." + } }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "additionalProperties": false, + "type": "object", + "description": "Filter represents the updatecli configuration describing 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\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": "Filters specifies a list of AMI filters" }, - "username": { + "region": { "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": "Region specifies the AWS region to use when looking for AMI" }, - "password": { + "endpoint": { "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": "Endpoint specifies the AWS endpoint to use when looking for AMI" }, - "token": { + "dryrun": { + "type": "boolean", + "description": "Dryrun allows to Check whether you have the required permissions for the action." + }, + "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" + "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 an \"helmchart\" resource parsed from an updatecli manifest file" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -18291,7 +18370,7 @@ }, "kind": { "enum": [ - "toml" + "gitea/branch" ] }, "transformers": { @@ -18392,28 +18471,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": { @@ -18432,15 +18508,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", @@ -18487,7 +18569,7 @@ }, "kind": { "enum": [ - "csv" + "gitlab/release" ] }, "transformers": { @@ -18588,36 +18670,25 @@ "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\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "key": { + "username": { "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "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" }, - "value": { + "owner": { "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": "[S][C][T] Owner specifies repository owner" }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + "repository": { + "type": "string", + "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -18636,11 +18707,40 @@ }, "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." + }, + "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" + "type": "object", + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -18687,7 +18787,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "temurin" ] }, "transformers": { @@ -18788,42 +18888,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architecture": { + "releaseline": { "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": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "image": { + "releasetype": { "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": "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)" }, - "tag": { + "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": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + "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)" }, - "digest": { + "architecture": { "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": "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)" }, - "username": { + "imagetype": { "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": "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\"" }, - "password": { + "operatingsystem": { "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": "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\"" }, - "token": { + "specificversion": { "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": "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)" }, - "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" + "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", - "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -18870,7 +18980,7 @@ }, "kind": { "enum": [ - "maven" + "yaml" ] }, "transformers": { @@ -18971,56 +19081,41 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "engine": { "type": "string", - "description": "Deprecated, please specify the Maven url in the repository" + "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": "Specifies the maven repository url + name" + "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" }, - "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" - }, - "artifactid": { - "type": "string", - "description": "Specifies the maven artifact artifactID" - }, - "version": { - "type": "string", - "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "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 ```" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -19067,7 +19162,7 @@ }, "kind": { "enum": [ - "jenkins" + "npm" ] }, "transformers": { @@ -19168,18 +19263,49 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "name": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "description": "Defines the specific npm package name" }, "version": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "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": { + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"jenkins\" 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", @@ -19226,7 +19352,7 @@ }, "kind": { "enum": [ - "json" + "xml" ] }, "transformers": { @@ -19329,50 +19455,20 @@ "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": { - "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": "\"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 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": "\"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\" 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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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 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": "\"json\" defines the specification for manipulating \"json\" files." + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -19419,7 +19515,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "csv" ] }, "transformers": { @@ -19522,27 +19618,57 @@ "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": "[s][c][t] File specifies the csv file" }, "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": "[c][t] Files specifies a list of Json file to manipulate" }, - "value": { + "key": { "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][t] Key specifies the csv query" }, - "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" + }, + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "type": "object" }, "scmid": { "type": "string", @@ -19589,7 +19715,7 @@ }, "kind": { "enum": [ - "npm" + "dockerfile" ] }, "transformers": { @@ -19690,49 +19816,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { + "file": { "type": "string", - "description": "Defines the specific npm package name" + "description": "File specifies the dockerimage file path to use and is incompatible with Files" }, - "version": { - "type": "string", - "description": "Defines a specific package version" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "url": { - "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "registrytoken": { + "value": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" - }, - "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "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." }, - "npmrcpath": { + "stage": { "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "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 Npm package parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -19779,7 +19888,7 @@ }, "kind": { "enum": [ - "stash/tag" + "file" ] }, "transformers": { @@ -19880,62 +19989,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" }, - "owner": { - "type": "string", - "description": "[S][C] 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": { + "matchpattern": { "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "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 Bitbucket 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": [ - "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", @@ -19982,7 +20074,7 @@ }, "kind": { "enum": [ - "golang" + "gitbranch" ] }, "transformers": { @@ -20083,9 +20175,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": { @@ -20104,12 +20196,35 @@ }, "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" } }, "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", @@ -20156,7 +20271,7 @@ }, "kind": { "enum": [ - "xml" + "gitea/tag" ] }, "transformers": { @@ -20257,22 +20372,58 @@ "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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", @@ -20319,7 +20470,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "gitlab/branch" ] }, "transformers": { @@ -20422,15 +20573,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", @@ -20467,11 +20618,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" }, "scmid": { "type": "string", @@ -20518,7 +20668,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "dockerimage" ] }, "transformers": { @@ -20619,25 +20769,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\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "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\" defines the username used to authenticate with GitLab" + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "token": { + "tag": { "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": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" }, - "owner": { + "username": { "type": "string", - "description": "[S][C][T] 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][T]Repository specifies the name of a repository for a specific 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" + }, + "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": { @@ -20656,40 +20817,16 @@ }, "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": "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": { + "tagfilter": { "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": "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" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -20736,7 +20873,7 @@ }, "kind": { "enum": [ - "terraform/file" + "gittag" ] }, "transformers": { @@ -20837,29 +20974,60 @@ "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } }, - "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": { + "message": { "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": "Message associated to the git tag\n\n compatible:\n * target" }, - "value": { + "key": { "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": "\"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": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -20906,7 +21074,7 @@ }, "kind": { "enum": [ - "yaml" + "golang/gomod" ] }, "transformers": { @@ -21007,41 +21175,26 @@ "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" - }, - "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" + "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" }, - "value": { + "module": { "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" + "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" }, - "searchpattern": { + "indirect": { "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": "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", - "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", @@ -21088,7 +21241,7 @@ }, "kind": { "enum": [ - "gittag" + "helmchart" ] }, "transformers": { @@ -21189,9 +21342,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": { @@ -21210,39 +21395,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", @@ -21289,7 +21459,7 @@ }, "kind": { "enum": [ - "gitbranch" + "jenkins" ] }, "transformers": { @@ -21390,56 +21560,18 @@ "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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": { + "release": { "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": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "password": { + "version": { "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] Defines a specific release version (condition only)" } }, "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 a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -21486,7 +21618,7 @@ }, "kind": { "enum": [ - "shell" + "stash/tag" ] }, "transformers": { @@ -21567,150 +21699,82 @@ }, "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" + "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": { + "url": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "workdir": { + "username": { "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": "\"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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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", "required": [ - "command" + "url", + "owner", + "repository" ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -21757,7 +21821,7 @@ }, "kind": { "enum": [ - "toolversions" + "terraform/file" ] }, "transformers": { @@ -21860,30 +21924,27 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" + "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": "[c][t] Files specifies a list of .tool-versions file to manipulate" + "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": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "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": "[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 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", @@ -21930,7 +21991,7 @@ }, "kind": { "enum": [ - "gitea/release" + "golang/module" ] }, "transformers": { @@ -22031,25 +22092,17 @@ "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": { + "proxy": { "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": "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][T] owner specifies the repository owner" + "description": "[S][C] Module specifies the name of the module" }, - "repository": { + "version": { "type": "string", - "description": "[S][C][T] repository specifies the name of a repository for a specific owner" + "description": "[C] Defines a specific package version" }, "versionfilter": { "properties": { @@ -22068,41 +22121,15 @@ }, "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" + "module" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -22149,7 +22176,7 @@ }, "kind": { "enum": [ - "hcl" + "maven" ] }, "transformers": { @@ -22250,29 +22277,56 @@ "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": "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\" 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": "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." }, - "path": { + "groupid": { "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": "Specifies the maven artifact groupID" }, - "value": { + "artifactid": { "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": "Specifies the maven artifact artifactID" + }, + "version": { + "type": "string", + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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 \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -22319,7 +22373,7 @@ }, "kind": { "enum": [ - "file" + "stash/branch" ] }, "transformers": { @@ -22420,45 +22474,62 @@ "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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", @@ -22505,7 +22576,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "terraform/provider" ] }, "transformers": { @@ -22606,57 +22677,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": { + "file": { "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": "\"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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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 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." }, - "branch": { + "provider": { "type": "string", - "description": "[C] Branch specifies the branch name" + "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" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -22703,7 +22746,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "toolversions" ] }, "transformers": { @@ -22804,57 +22847,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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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", @@ -22901,7 +22919,7 @@ }, "kind": { "enum": [ - "stash/branch" + "githubrelease" ] }, "transformers": { @@ -23002,29 +23020,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": { @@ -23043,21 +23057,44 @@ }, "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" } }, "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", @@ -23104,7 +23141,7 @@ }, "kind": { "enum": [ - "temurin" + "hcl" ] }, "transformers": { @@ -23205,52 +23242,29 @@ "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": { + "file": { "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": "\"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" }, - "platforms": { + "files": { "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": "\"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" + "type": "object", + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -23297,7 +23311,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "http" ] }, "transformers": { @@ -23388,50 +23402,72 @@ "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 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" - }, - "value": { + "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": "\"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] Specifies the URL of the HTTP request for this resource." }, - "provider": { + "returnresponseheader": { "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] Specifies the header to return as source value (instead of the body)." }, - "platforms": { - "items": { - "type": "string" + "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)." + } }, - "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][C] Customizes the HTTP request to emit." }, - "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" + "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": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -23478,7 +23514,7 @@ }, "kind": { "enum": [ - "aws/ami" + "json" ] }, "transformers": { @@ -23579,53 +23615,52 @@ "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 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" }, - "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 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" }, - "region": { + "key": { "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "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" }, - "endpoint": { + "value": { "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": "\"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." }, - "sortby": { + "query": { "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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 contains the updatecli configuration provided by users." + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -23672,7 +23707,7 @@ }, "kind": { "enum": [ - "cargopackage" + "terraform/lock" ] }, "transformers": { @@ -23773,74 +23808,40 @@ "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 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" }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + "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" }, - "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" + "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "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", - "required": [ - "package" - ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -23887,7 +23888,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "toml" ] }, "transformers": { @@ -23988,33 +23989,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": { + "file": { "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": "[s][c][t] File specifies the toml file to manipulate" }, - "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." + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "targetsystem": { + "query": { "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": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "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 toml 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": { @@ -24033,7 +24029,11 @@ }, "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, diff --git a/content/en/schema/latest/policy/manifest/config.json b/content/en/schema/latest/policy/manifest/config.json index 6549c7433..9e75ab9d5 100644 --- a/content/en/schema/latest/policy/manifest/config.json +++ b/content/en/schema/latest/policy/manifest/config.json @@ -15,12 +15,46 @@ "crawlers": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "rancher/fleet": { + "ko": { "$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 Fleet bundle" + "description": "RootDir defines the root directory used to recursively search for Kubernetes files" }, "ignore": { "items": { @@ -29,19 +63,12 @@ "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": { + "images": { "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" + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -49,7 +76,7 @@ "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 Kubernetes manifest based on a rule" }, "only": { "items": { @@ -58,19 +85,12 @@ "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": { + "images": { "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" + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -78,7 +98,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 Kubernetes manifest based on a rule" }, "versionfilter": { "properties": { @@ -102,28 +122,46 @@ }, "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 Kubernetes builder." }, - "terraform": { + "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 `.terraform.lock.hcl`" + "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 `.terraform.lock.hcl` 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 substring." }, - "providers": { - "additionalProperties": { + "services": { + "items": { "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```" + "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, @@ -131,21 +169,35 @@ "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 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 `.terraform.lock.hcl` 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 substring." }, - "providers": { - "additionalProperties": { + "services": { + "items": { "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```" + "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, @@ -153,7 +205,37 @@ "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 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": { @@ -172,47 +254,37 @@ }, "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 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." }, - "cargo": { + "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 Cargo.toml" + "description": "rootDir defines the root directory used to recursively search for golang go.mod" }, "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 go.mod path pattern, the pattern requires to match all of name, not just a substring." }, - "crates": { + "modules": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Crates specifies the list of Cargo crates to check" + "description": "Modules specifies a list of module pattern." }, - "registries": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Registries specifies the list of Cargo registries to check" + "goversion": { + "type": "string", + "description": "GoVersions specifies a list of version pattern." } }, "additionalProperties": false, @@ -220,28 +292,25 @@ "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 go.mod 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 go.mod path pattern, the pattern requires to match all of name, not just a substring." }, - "crates": { + "modules": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Crates specifies the list of Cargo crates to check" + "description": "Modules specifies a list of module pattern." }, - "registries": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Registries specifies the list of Cargo registries to check" + "goversion": { + "type": "string", + "description": "GoVersions specifies a list of version pattern." } }, "additionalProperties": false, @@ -249,44 +318,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only specify required rule to restrict Cargo.toml update." - }, - "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" + "description": "`only` allows to specify rule to \"only\" autodiscover manifest for a specific golang rule" }, "versionfilter": { "properties": { @@ -310,39 +342,66 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Cargo parameters." + "description": "Spec defines the parameters which can be provided to the Golang autodiscovery builder." }, - "dockerfile": { + "helm": { "$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\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." }, - "rootdir": { - "type": "string", - "description": "RootDir defines the root directory used to recursively search for Helm Chart" + "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": { - "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 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": "Image specifies a list of docker image" + "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, @@ -350,28 +409,32 @@ "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 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": { - "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 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": "Image specifies a list of docker image" + "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, @@ -379,37 +442,90 @@ "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 specify required rule(s) to restrict Helm chart update." }, - "auths": { - "additionalProperties": { + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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." + }, + "terraform": { + "$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`" + }, + "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 `.terraform.lock.hcl` 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" + "providers": { + "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```" } }, "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": "`ignore` specifies rule to ignore `.terraform.lock.hcl` update." }, - "filematch": { + "only": { "items": { - "type": "string" + "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." + }, + "providers": { + "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```" + } + }, + "additionalProperties": false, + "type": "object", + "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "FileMatch allows to override default Dockerfile file matching. Default [\"Dockerfile\"]" + "description": "`only` specify required rule to restrict `.terraform.lock.hcl` update." }, "versionfilter": { "properties": { @@ -428,12 +544,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." + "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" } }, "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 Terraform parameters." }, "gitea/action": { "$schema": "http://json-schema.org/draft-04/schema", @@ -607,83 +730,8 @@ "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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." - }, - "npm": { - "$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 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": "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 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" + "type": "array", + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -691,7 +739,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": { @@ -715,28 +763,62 @@ }, "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." }, - "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, @@ -744,21 +826,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, @@ -766,7 +848,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": { @@ -790,15 +872,11 @@ }, "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." }, - "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" @@ -806,30 +884,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, @@ -842,30 +913,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, @@ -875,36 +939,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": { @@ -927,31 +961,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 DockerCompose Spec defines the parameters which can be provided to the Helm builder." + "description": "Spec defines the parameters which can be provided to the Helm builder." }, - "github/action": { + "precommit": { "$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 npm packages.json" }, "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 .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." }, - "actions": { + "repos": { "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": "Repos specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -959,21 +990,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 allows to specify rule to ignore autodiscovery a specific NPM 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 .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." }, - "actions": { + "repos": { "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": "Repos specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -981,11 +1012,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 allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" }, "versionfilter": { "properties": { @@ -1004,87 +1031,55 @@ }, "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```" + "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 defines the parameters uses to generate the precomit manifests" }, - "helm": { + "updatecli": { "$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\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" + "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 Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "dependencies": { + "policies": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Dependencies specifies a list of dependencies pattern." + "description": "Policies specifies a Updatecli policy" + } + }, + "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 Updatecli 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." }, - "containers": { + "policies": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Containers specifies a list of containers pattern." + "description": "Policies specifies a Updatecli policy" } }, "additionalProperties": false, @@ -1092,40 +1087,37 @@ "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": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Updatecli based on a rule" }, - "only": { + "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": { - "path": { + "username": { "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." + "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" }, - "dependencies": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Dependencies specifies a list of dependencies pattern." + "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" }, - "containers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Containers specifies a list of containers pattern." + "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": "MatchingRule allows to specifies rules to identify manifest" + "description": "InlineKeyChain defines a keychain with OCI registry credentials" }, - "type": "array", - "description": "only specify required rule(s) to restrict Helm chart update." + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, "versionfilter": { "properties": { @@ -1145,47 +1137,43 @@ "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 Updatecli parameters." }, - "helmfile": { + "dockerfile": { "$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 Helmfile manifest" + "description": "RootDir defines the root directory used to recursively search for Helm Chart" }, "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": { + "archs": { "items": { "type": "string" }, "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Arch specifies a list of docker image architecture" }, - "charts": { - "additionalProperties": { + "path": { + "type": "string", + "description": "Path specifies a Dockerfile path pattern, the pattern requires to match all of name, not just a substring." + }, + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -1193,28 +1181,28 @@ "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 Helm 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": { + "archs": { "items": { "type": "string" }, "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Arch specifies a list of docker image architecture" }, - "charts": { - "additionalProperties": { + "path": { + "type": "string", + "description": "Path specifies a Dockerfile path pattern, the pattern requires to match all of name, not just a substring." + }, + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -1222,7 +1210,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 Helmfile based on a rule" + "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" }, "auths": { "additionalProperties": { @@ -1247,6 +1235,13 @@ "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": { "kind": { @@ -1269,35 +1264,69 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Helmfile parameters." + "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." }, - "maven": { + "flux": { "$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" + "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 Helm chart path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Flux filepath 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": { + "artifacts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "ArtifactIDs specifies the list of Maven ArtifactIDs 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, @@ -1305,28 +1334,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 Flux helmrelease 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 substring." + "description": "Path specifies a Flux filepath 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": { + "artifacts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "ArtifactIDs specifies the list of Maven ArtifactIDs 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, @@ -1334,7 +1363,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 Helm 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": { @@ -1353,37 +1390,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\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 Helm builder." + "description": "Spec defines the parameters which can be provided to the Flux crawler." }, - "golang/gomod": { + "helmfile": { "$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 Helmfile manifest" }, "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 Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "modules": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "charts": { "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": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -1391,33 +1431,59 @@ "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 Helmfile 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 Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "modules": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Modules specifies a list of module pattern." + "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" }, - "goversion": { + "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": "GoVersions specifies a list of version pattern." + "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": "MatchingRule allows to specifies rules to identify manifest" + "description": "InlineKeyChain defines a keychain with OCI registry credentials" }, - "type": "array", - "description": "`only` allows to specify rule to \"only\" autodiscover manifest for a specific golang rule" + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, "versionfilter": { "properties": { @@ -1436,40 +1502,33 @@ }, "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 Helmfile parameters." }, - "argocd": { + "npm": { "$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 npm packages.json" }, "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." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." }, - "charts": { + "packages": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Packages specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -1477,28 +1536,21 @@ "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 NPM 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." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." }, - "charts": { + "packages": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Packages specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -1506,7 +1558,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 NPM based on a rule" }, "versionfilter": { "properties": { @@ -1525,60 +1577,26 @@ }, "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 NPM builder." }, - "flux": { + "rancher/fleet": { "$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 Fleet bundle" }, "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 Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, "repositories": { "items": { @@ -1587,12 +1605,12 @@ "type": "array", "description": "Repositories specifies the list of Helm Chart repository to check" }, - "artifacts": { + "charts": { "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": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -1600,14 +1618,14 @@ "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 Fleet bundle 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 Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, "repositories": { "items": { @@ -1616,12 +1634,12 @@ "type": "array", "description": "Repositories specifies the list of Helm Chart repository to check" }, - "artifacts": { + "charts": { "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": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -1629,15 +1647,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 Fleet bundle based on a rule" }, "versionfilter": { "properties": { @@ -1656,67 +1666,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 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 fleet builder." }, - "ko": { + "argocd": { "$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" + "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." }, - "images": { + "repositories": { "items": { "type": "string" }, "type": "array", - "description": "Images specifies the list of container image to check" + "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, @@ -1724,21 +1707,28 @@ "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 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." }, - "images": { + "repositories": { "items": { "type": "string" }, "type": "array", - "description": "Images specifies the list of container image to check" + "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, @@ -1746,7 +1736,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 allows to specify rule to only autodiscover manifest for a specific ArgoCD manifest based on a rule" }, "versionfilter": { "properties": { @@ -1765,67 +1755,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 Kubernetes builder." + "description": "Spec defines the parameters which can be provided to the argocd builder." }, - "prow": { + "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 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" + "description": "RootDir defines the root directory used to recursively search for Cargo.toml" }, "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 Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { + "crates": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Crates specifies the list of Cargo crates to check" + }, + "registries": { "items": { "type": "string" }, "type": "array", - "description": "Images specifies the list of container image to check" + "description": "Registries specifies the list of Cargo registries to check" } }, "additionalProperties": false, @@ -1833,21 +1796,28 @@ "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 Cargo.toml update." }, "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 Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { + "crates": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Crates specifies the list of Cargo crates to check" + }, + "registries": { "items": { "type": "string" }, "type": "array", - "description": "Images specifies the list of container image to check" + "description": "Registries specifies the list of Cargo registries to check" } }, "additionalProperties": false, @@ -1855,7 +1825,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 Kubernetes manifest based on a rule" + "description": "Only specify required rule to restrict Cargo.toml update." + }, + "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": { @@ -1874,33 +1881,36 @@ }, "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 parameters which can be provided to the Kubernetes builder." + "description": "Spec defines the Cargo parameters." }, - "updatecli": { + "github/action": { "$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" + "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 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": { + "actions": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Policies specifies a Updatecli policy" + "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, @@ -1908,21 +1918,21 @@ "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 GitHub action 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": { + "actions": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Policies specifies a Updatecli policy" + "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, @@ -1930,37 +1940,11 @@ "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." + "description": "only allows to specify rule to only autodiscover manifest for a specific GitHub action based on a rule\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" + "rootdir": { + "type": "string", + "description": "rootDir allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty" }, "versionfilter": { "properties": { @@ -1979,12 +1963,28 @@ }, "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```" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Updatecli parameters." + "description": "Spec defines the parameters which can be provided to the Github Action crawler." } }, "type": "object", @@ -2014,74 +2014,6 @@ "actions": { "additionalProperties": { "oneOf": [ - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "title": { - "type": "string" - }, - "kind": { - "enum": [ - "github/pullrequest" - ] - }, - "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" - }, - "title": { - "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": { - "type": "string", - "description": "description allows to prepend information to the pullrequest description.\n\ncompatible:\n * action\n\ndefault:\n empty" - }, - "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" - }, - "draft": { - "type": "boolean", - "description": "draft allows to set pull request in draft\n\ncompatible:\n * action\n\ndefault:\n false" - }, - "maintainercannotmodify": { - "type": "boolean", - "description": "maintainercannotmodify allows to specify if maintainer can modify pullRequest\n\ncompatible:\n * action\n\ndefault:\n false" - }, - "mergemethod": { - "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 \"\"" - }, - "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\"" - }, - "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", - "description": "ActionSpec specifies the configuration of an action of type \"GitHub Pull Request\"" - }, - "scmid": { - "type": "string" - }, - "disablepipelineurl": { - "type": "boolean" - } - }, - "additionalProperties": false, - "type": "object" - }, { "$schema": "http://json-schema.org/draft-04/schema", "properties": { @@ -2313,42 +2245,110 @@ "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" }, - "password": { + "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" + }, + "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": [ + "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": { + "title": { + "type": "string" + }, + "kind": { + "enum": [ + "github/pullrequest" + ] + }, + "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" + }, + "title": { "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": "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" }, - "owner": { + "description": { "type": "string", - "description": "Owner specifies repository owner" + "description": "description allows to prepend information to the pullrequest description.\n\ncompatible:\n * action\n\ndefault:\n empty" }, - "repository": { - "type": "string", - "description": "Repository specifies the name of a repository for a specific 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" }, - "sourcebranch": { - "type": "string", - "description": "SourceBranch specifies the pullrequest source branch" + "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 specifies the pullrequest target branch" + "maintainercannotmodify": { + "type": "boolean", + "description": "maintainercannotmodify allows to specify if maintainer can modify pullRequest\n\ncompatible:\n * action\n\ndefault:\n false" }, - "title": { + "mergemethod": { "type": "string", - "description": "Title defines the Bitbucket pullrequest title." + "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 \"\"" }, - "body": { - "type": "string", - "description": "Body defines the Bitbucket pullrequest body" + "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\"" + }, + "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": [ - "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" @@ -2999,7 +2999,7 @@ }, "kind": { "enum": [ - "gittag" + "gitlab/release" ] }, "transformers": { @@ -3100,245 +3100,77 @@ "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, "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": "\"username\" defines the username used to authenticate with GitLab" }, - "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." - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" - }, - "scmid": { - "type": "string", - "description": "scmid specifies the scm configuration key associated to the current resource" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "kind" - ] - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "dependson": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"dependson\" allows to specify the order of execution of resources\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\"\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\ndependson:\n - condition#myCondition:and\n - source#mySource\n\nremarks:\n The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"." - }, - "name": { - "type": "string", - "description": "name specifies the resource name" - }, - "kind": { - "enum": [ - "http" - ] - }, - "transformers": { - "items": { - "properties": { - "addprefix": { - "type": "string", - "description": "AddPrefix adds a prefix to the transformer input value" - }, - "addsuffix": { - "type": "string", - "description": "AddSuffix adds a suffix to the transformer input value" - }, - "trimprefix": { - "type": "string", - "description": "TrimPrefix removes a prefix to the transformer input value" - }, - "trimsuffix": { - "type": "string", - "description": "TrimSuffix removes the suffix from the transformer input value" - }, - "replacers": { - "items": { - "properties": { - "from": { - "type": "string", - "description": "From defines the source value which need to be replaced" - }, - "to": { - "type": "string", - "description": "To defines the \"to what\" a \"from\" value needs to be replaced" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "from", - "to" - ], - "description": "Replacer is struct used to feed strings.Replacer" - }, - "type": "array", - "description": "Replacers specifies a list of replacer instruction" - }, - "replacer": { - "properties": { - "from": { - "type": "string", - "description": "From defines the source value which need to be replaced" - }, - "to": { - "type": "string", - "description": "To defines the \"to what\" a \"from\" value needs to be replaced" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "from", - "to" - ], - "description": "Replacer specifies what value needs to be changed and how" - }, - "find": { - "type": "string", - "description": "Find searches for a specific value if it exists and return false if it doesn't" - }, - "findsubmatch": { - "properties": { - "pattern": { - "type": "string", - "description": "Pattern defines regular expression to use for retrieving a submatch" - }, - "captureindex": { - "type": "integer", - "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." - } + "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" }, - "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": { + "owner": { "type": "string", - "description": "[S][C] Specifies the URL of the HTTP request for this resource." + "description": "[S][C][T] Owner specifies repository owner" }, - "returnresponseheader": { + "repository": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" }, - "request": { + "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" }, - "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)." + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" } }, "additionalProperties": false, "type": "object", - "description": "[S][C] Customizes the HTTP request to emit." + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "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." + "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 \"http\" resource parsed from an updatecli manifest file." + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -3367,7 +3199,7 @@ }, "kind": { "enum": [ - "stash/tag" + "terraform/file" ] }, "transformers": { @@ -3468,62 +3300,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": { + "file": { "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": "\"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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] 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" }, - "tag": { + "value": { "type": "string", - "description": "[S] Tag defines the Bitbucket tag ." + "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", @@ -3552,7 +3351,7 @@ }, "kind": { "enum": [ - "hcl" + "toml" ] }, "transformers": { @@ -3655,27 +3454,53 @@ "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 toml file to manipulate" }, "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": { + "query": { "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] 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": "\"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] 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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "type": "object" }, "scmid": { "type": "string", @@ -3704,7 +3529,7 @@ }, "kind": { "enum": [ - "jenkins" + "xml" ] }, "transformers": { @@ -3805,18 +3630,22 @@ "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\" 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": "[s][c] Defines a specific release version (condition only)" + "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 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": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -3845,7 +3674,7 @@ }, "kind": { "enum": [ - "json" + "gitea/branch" ] }, "transformers": { @@ -3946,28 +3775,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 Gitea url to interact with" }, - "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 Gitea API" }, - "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\" 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\" 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": { @@ -3986,12 +3812,21 @@ }, "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." + }, + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "\"json\" defines the specification for manipulating \"json\" files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -4020,7 +3855,7 @@ }, "kind": { "enum": [ - "cargopackage" + "helmchart" ] }, "transformers": { @@ -4111,57 +3946,51 @@ "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": { - "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" + "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\"" }, - "package": { + "key": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "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": "[C] Defines a specific package version" + "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": { @@ -4180,15 +4009,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." + }, + "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", - "required": [ - "package" - ], - "description": "Spec defines a specification for a \"cargopackage\" 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", @@ -4217,7 +4055,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "shell" ] }, "transformers": { @@ -4318,42 +4156,130 @@ "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": { + "command": { "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": "command specifies the shell command to execute by Updatecli" }, - "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." + "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." }, - "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" + "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" }, - "password": { + "shell": { "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": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" }, - "token": { + "workdir": { "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": "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 \"dockerdigest\" 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", @@ -4382,7 +4308,7 @@ }, "kind": { "enum": [ - "dockerimage" + "terraform/registry" ] }, "transformers": { @@ -4483,36 +4409,33 @@ "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" + "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" }, - "architecture": { + "hostname": { "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": "\"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." }, - "image": { + "namespace": { "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" + "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." }, - "tag": { + "name": { "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" + "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." }, - "username": { + "targetsystem": { "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": "\"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." }, - "password": { + "rawstring": { "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": "\"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." }, - "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": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" }, "versionfilter": { "properties": { @@ -4531,16 +4454,11 @@ }, "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": "\"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 \"dockerimage\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -4569,7 +4487,7 @@ }, "kind": { "enum": [ - "githubrelease" + "dockerdigest" ] }, "transformers": { @@ -4670,81 +4588,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { + "architecture": { "type": "string", - "description": "[s][c] Owner specifies repository owner" + "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" }, - "repository": { + "image": { "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific 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" }, - "token": { + "tag": { "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" + "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "url": { + "digest": { "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "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": "[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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "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": { + "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" }, - "tag": { + "token": { "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "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": [ - "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 \"dockerdigest\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -4773,7 +4652,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "gitlab/branch" ] }, "transformers": { @@ -4874,26 +4753,57 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "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": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "module": { + "username": { "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": "\"username\" defines the username used to authenticate with GitLab" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * 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" }, - "version": { + "owner": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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", @@ -4922,7 +4832,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "maven" ] }, "transformers": { @@ -5023,33 +4933,32 @@ "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": { + "url": { "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": "Deprecated, please specify the Maven url in the repository" }, - "namespace": { + "repository": { "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": "Specifies the maven repository url + name" }, - "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." + "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." }, - "targetsystem": { + "groupid": { "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": "Specifies the maven artifact groupID" }, - "rawstring": { + "artifactid": { "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": "Specifies the maven artifact artifactID" }, "version": { "type": "string", - "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + "description": "Specifies the maven artifact version" }, "versionfilter": { "properties": { @@ -5068,11 +4977,12 @@ }, "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." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -5101,7 +5011,7 @@ }, "kind": { "enum": [ - "aws/ami" + "stash/branch" ] }, "transformers": { @@ -5202,53 +5112,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\" specifies the default stash url in case of Bitbucket Server" }, - "secretkey": { + "username": { "type": "string", - "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server 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 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" }, - "region": { + "password": { "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "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" }, - "endpoint": { + "owner": { "type": "string", - "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + "description": "[S][C] Owner specifies repository owner" }, - "dryrun": { - "type": "boolean", - "description": "Dryrun allows to Check whether you have the required permissions for the action." + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, - "sortby": { + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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": "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 Bitbucket Server release" }, "scmid": { "type": "string", @@ -5277,7 +5196,7 @@ }, "kind": { "enum": [ - "csv" + "aws/ami" ] }, "transformers": { @@ -5378,59 +5297,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "accesskey": { "type": "string", - "description": "[s][c][t] File specifies the csv file" + "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "files": { + "secretkey": { + "type": "string", + "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + }, + "filters": { "items": { - "type": "string" + "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": "[c][t] Files specifies a list of Json file to manipulate" - }, - "key": { - "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "description": "Filters specifies a list of AMI filters" }, - "query": { + "region": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "Region specifies the AWS region to use when looking for AMI" }, - "value": { + "endpoint": { "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": "Endpoint specifies the AWS endpoint to use when looking for AMI" }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "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" + "type": "object", + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -5459,7 +5372,7 @@ }, "kind": { "enum": [ - "helmchart" + "gitea/release" ] }, "transformers": { @@ -5560,41 +5473,25 @@ "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/" + "description": "\"url\" defines the Gitea url to interact with" }, - "value": { + "username": { "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": "\"username\" defines the username used to authenticate with Gitea API" }, - "version": { + "token": { "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": "\"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" }, - "versionincrement": { + "owner": { "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" + "description": "[S][C][T] owner specifies the repository owner" }, - "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" + "repository": { + "type": "string", + "description": "[S][C][T] repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -5613,24 +5510,41 @@ }, "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": { + "title": { "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": "[T] title defines the Gitea release title." }, - "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][T] tag defines the Gitea release tag." }, - "token": { + "commitish": { "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": "[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 \"helmchart\" resource parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -5659,7 +5573,7 @@ }, "kind": { "enum": [ - "stash/branch" + "gitea/tag" ] }, "transformers": { @@ -5762,19 +5676,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", @@ -5801,11 +5711,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, @@ -5815,7 +5725,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", @@ -5844,7 +5754,7 @@ }, "kind": { "enum": [ - "terraform/file" + "golang/module" ] }, "transformers": { @@ -5945,29 +5855,44 @@ "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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", @@ -5996,7 +5921,7 @@ }, "kind": { "enum": [ - "maven" + "hcl" ] }, "transformers": { @@ -6097,56 +6022,29 @@ "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 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" }, - "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 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" }, - "artifactid": { + "path": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "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": "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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 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 \"maven\" resource parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -6175,7 +6073,7 @@ }, "kind": { "enum": [ - "toolversions" + "jenkins" ] }, "transformers": { @@ -6276,32 +6174,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": { - "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" - }, - "value": { + "release": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "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" + "version": { + "type": "string", + "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", @@ -6330,7 +6214,7 @@ }, "kind": { "enum": [ - "dockerfile" + "json" ] }, "transformers": { @@ -6433,30 +6317,50 @@ "properties": { "file": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "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 specifies the dockerimage file path(s) to use and is incompatible with File" + "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" }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "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 specifies the value for a specified Dockerfile instruction." + "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." }, - "stage": { + "query": { "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][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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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 \"dockerfile\" resource parsed from an updatecli manifest file" + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -6485,7 +6389,7 @@ }, "kind": { "enum": [ - "gitbranch" + "terraform/lock" ] }, "transformers": { @@ -6586,56 +6490,40 @@ "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 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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "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" + "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" }, - "sourcebranch": { + "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." }, - "url": { + "provider": { "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": "\"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" }, - "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" + "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" }, - "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" + "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 \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -6664,7 +6552,7 @@ }, "kind": { "enum": [ - "golang/module" + "csv" ] }, "transformers": { @@ -6765,17 +6653,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "proxy": { + "file": { "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": "[s][c][t] File specifies the csv file" }, - "module": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" + }, + "key": { "type": "string", - "description": "[S][C] Module specifies the name of the module" + "description": "[s][c][t] Key specifies the csv query" }, - "version": { + "query": { "type": "string", - "description": "[C] Defines a specific package version" + "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": { @@ -6794,15 +6701,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]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, - "type": "object", - "required": [ - "module" - ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -6831,7 +6734,7 @@ }, "kind": { "enum": [ - "temurin" + "terraform/provider" ] }, "transformers": { @@ -6932,52 +6835,29 @@ "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": { + "file": { "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": "\"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" }, - "platforms": { + "files": { "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": "\"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": "\"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", @@ -7006,7 +6886,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "gitbranch" ] }, "transformers": { @@ -7107,40 +6987,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "path": { "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": "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } }, - "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" + "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" }, - "value": { + "branch": { "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": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" }, - "provider": { + "sourcebranch": { "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": "\"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" }, - "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" + "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." }, - "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" + "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" } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7169,7 +7065,7 @@ }, "kind": { "enum": [ - "gitea/release" + "githubrelease" ] }, "transformers": { @@ -7270,25 +7166,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "owner": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "[s][c] Owner specifies repository owner" }, - "username": { + "repository": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea 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 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] Token specifies the credential used to authenticate with" }, - "owner": { + "url": { "type": "string", - "description": "[S][C][T] owner specifies the repository owner" + "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" }, - "repository": { + "username": { "type": "string", - "description": "[S][C][T] 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": { @@ -7307,41 +7203,44 @@ }, "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 Gitea release title." + "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][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": "[c] Tag allows to check for a specific release tag, default to source output" } }, "additionalProperties": false, "type": "object", "required": [ - "url", "owner", - "repository" + "repository", + "token" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7526,7 +7425,7 @@ }, "kind": { "enum": [ - "shell" + "golang/gomod" ] }, "transformers": { @@ -7627,130 +7526,26 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "command": { + "file": { "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": [ - "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" + "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" }, - "shell": { + "module": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "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" }, - "workdir": { + "indirect": { + "type": "boolean", + "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + }, + "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": "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", @@ -7779,7 +7574,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "stash/tag" ] }, "transformers": { @@ -7880,29 +7675,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\" specifies the default stash url in case of Bitbucket Server" }, - "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\" specifies the username used to authenticate with Bitbucket Server 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 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" }, - "provider": { + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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": "\"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] Tag defines the Bitbucket tag ." } }, "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 Bitbucket Server release" }, "scmid": { "type": "string", @@ -7931,7 +7759,7 @@ }, "kind": { "enum": [ - "file" + "dockerimage" ] }, "transformers": { @@ -8032,45 +7860,64 @@ "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": { + "architectures": { "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": "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" }, - "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" + "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" }, - "content": { + "image": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "forcecreate": { - "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + "tag": { + "type": "string", + "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" }, - "matchpattern": { + "username": { "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": "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" }, - "replacepattern": { + "password": { "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": "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" }, - "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 ```" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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": "Spec defines a specification for a \"file\" 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", @@ -8099,7 +7946,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "gittag" ] }, "transformers": { @@ -8200,25 +8047,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": { + "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": { @@ -8237,21 +8068,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": { + "message": { "type": "string", - "description": "[C] Branch specifies the branch name" + "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", - "owner", - "repository" + "url" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -8280,7 +8129,7 @@ }, "kind": { "enum": [ - "toml" + "gitlab/tag" ] }, "transformers": { @@ -8381,28 +8230,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": { @@ -8421,15 +8267,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", @@ -8458,7 +8309,7 @@ }, "kind": { "enum": [ - "xml" + "http" ] }, "transformers": { @@ -8559,22 +8410,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": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "path": { + "returnresponseheader": { "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] Specifies the header to return as source value (instead of the body)." }, - "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" + "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." + }, + "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": "\"xml\" defines the specification for manipulating \"xml\" files." + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -8603,7 +8494,7 @@ }, "kind": { "enum": [ - "yaml" + "temurin" ] }, "transformers": { @@ -8704,41 +8595,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { + "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": "\"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": "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\"" }, - "file": { + "specificversion": { "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": "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)" }, - "files": { + "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": "\"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 ```" + "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": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "type": "object" }, "scmid": { "type": "string", @@ -8767,7 +8669,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "toolversions" ] }, "transformers": { @@ -8868,58 +8770,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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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 Gitea 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": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "type": "object" }, "scmid": { "type": "string", @@ -8948,7 +8824,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "yaml" ] }, "transformers": { @@ -9049,57 +8925,41 @@ "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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": { - "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": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -9128,7 +8988,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "dockerfile" ] }, "transformers": { @@ -9229,77 +9089,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": { - "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 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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "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." + "type": "array", + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "tag": { - "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "commitish": { + "value": { "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" + "description": "Value specifies the value for a specified Dockerfile instruction." }, - "description": { + "stage": { "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": "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": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -9328,7 +9143,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "cargopackage" ] }, "transformers": { @@ -9429,25 +9244,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": { @@ -9466,20 +9303,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", @@ -9663,15 +9495,7 @@ "required": [ "kind" ] - } - ] - }, - "type": "object", - "description": "\"sources\" defines the list of Updatecli source definition.\n\n\t\texample:\n\t\t---\n\t\tsources:\n\t\t\t# Source to retrieve the latest version of nodejs\n\t\t\tnodejs:\n\t\t\t\tname: Get latest nodejs version\n\t\t\t\tkind: json\n\t\t\t\tspec:\n\t\t\t\t\tfile: https://nodejs.org/dist/index.json\n\t\t\t\t\tkey: .(lts!=false).version\n\t\t---" - }, - "conditions": { - "additionalProperties": { - "oneOf": [ + }, { "$schema": "http://json-schema.org/draft-04/schema", "properties": { @@ -9688,7 +9512,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "file" ] }, "transformers": { @@ -9789,70 +9613,49 @@ "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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", "description": "scmid specifies the scm configuration key associated to the current resource" - }, - "sourceid": { - "type": "string" - }, - "disablesourceinput": { - "type": "boolean" - }, - "failwhen": { - "type": "boolean" } }, "additionalProperties": false, @@ -9860,7 +9663,15 @@ "required": [ "kind" ] - }, + } + ] + }, + "type": "object", + "description": "\"sources\" defines the list of Updatecli source definition.\n\n\t\texample:\n\t\t---\n\t\tsources:\n\t\t\t# Source to retrieve the latest version of nodejs\n\t\t\tnodejs:\n\t\t\t\tname: Get latest nodejs version\n\t\t\t\tkind: json\n\t\t\t\tspec:\n\t\t\t\t\tfile: https://nodejs.org/dist/index.json\n\t\t\t\t\tkey: .(lts!=false).version\n\t\t---" + }, + "conditions": { + "additionalProperties": { + "oneOf": [ { "$schema": "http://json-schema.org/draft-04/schema", "properties": { @@ -9877,7 +9688,7 @@ }, "kind": { "enum": [ - "golang/module" + "dockerfile" ] }, "transformers": { @@ -9978,44 +9789,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "proxy": { + "file": { "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": "File specifies the dockerimage file path to use and is incompatible with Files" }, - "module": { - "type": "string", - "description": "[S][C] Module specifies the name of the module" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "version": { + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" + }, + "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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": [ - "module" - ], - "description": "Spec defines a specification for a \"gomodule\" 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", @@ -10053,7 +9852,7 @@ }, "kind": { "enum": [ - "jenkins" + "dockerimage" ] }, "transformers": { @@ -10154,18 +9953,64 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "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": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "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" }, - "version": { + "image": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "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" + }, + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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": "Spec defines a specification for a \"jenkins\" 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", @@ -10203,7 +10048,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "http" ] }, "transformers": { @@ -10301,43 +10146,65 @@ "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 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" - }, - "value": { + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "url": { "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] Specifies the URL of the HTTP request for this resource." }, - "provider": { + "returnresponseheader": { "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] Specifies the header to return as source value (instead of the body)." }, - "platforms": { - "items": { - "type": "string" + "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)." + } }, - "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][C] Customizes the HTTP request to emit." }, - "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" + "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": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -10375,7 +10242,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "xml" ] }, "transformers": { @@ -10478,27 +10345,20 @@ "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" - }, - "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": "\"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.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "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/provider\" defines the specification for manipulating providers in terraform files." + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -10536,7 +10396,7 @@ }, "kind": { "enum": [ - "toml" + "yaml" ] }, "transformers": { @@ -10637,55 +10497,41 @@ "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": "[s][c][t] File specifies the toml file to manipulate" + "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": "[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 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": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "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": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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" }, - "createmissingkey": { + "searchpattern": { "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": "`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": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -10723,7 +10569,7 @@ }, "kind": { "enum": [ - "aws/ami" + "cargopackage" ] }, "transformers": { @@ -10824,53 +10670,74 @@ "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": { - "type": "string", - "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." + "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`)." + } }, - "values": { - "type": "string", - "description": "Values specifies a filter value for a specific filter name." - } + "additionalProperties": false, + "type": "object", + "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." }, - "additionalProperties": false, - "type": "object", - "description": "Filter represents the updatecli configuration describing AMI filters." + "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." + } }, - "type": "array", - "description": "Filters specifies a list of AMI filters" + "additionalProperties": false, + "type": "object", + "description": "[S][C] Registry specifies the registry to use" }, - "region": { + "package": { "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "description": "[S][C] Package specifies the name of the package" }, - "endpoint": { + "version": { "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": "[C] Defines a specific package version" }, - "sortby": { - "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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 contains the updatecli configuration provided by users." + "required": [ + "package" + ], + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -10908,7 +10775,7 @@ }, "kind": { "enum": [ - "csv" + "gitbranch" ] }, "transformers": { @@ -11006,39 +10873,12 @@ "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": { - "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 \"#\"" + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "path": { + "type": "string", + "description": "path contains the git repository path" }, "versionfilter": { "properties": { @@ -11057,11 +10897,35 @@ }, "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" } }, "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", @@ -11099,7 +10963,7 @@ }, "kind": { "enum": [ - "dockerimage" + "gitlab/release" ] }, "transformers": { @@ -11200,36 +11064,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 GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "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 GitLab" }, - "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\" 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" }, - "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 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": { @@ -11248,16 +11101,40 @@ }, "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 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 \"dockerimage\" resource parsed from an updatecli manifest file" + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -11295,7 +11172,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "shell" ] }, "transformers": { @@ -11396,58 +11273,130 @@ "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": { + "command": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "command specifies the shell command to execute by Updatecli" }, - "repository": { - "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "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." }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" + "changedif": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" + { + "$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" }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + { + "$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": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just 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" }, - "tag": { + "shell": { "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "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", "required": [ - "url", - "owner", - "repository" + "command" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -11485,7 +11434,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "terraform/lock" ] }, "transformers": { @@ -11588,24 +11537,38 @@ "properties": { "file": { "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": "\"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" + }, + "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." }, - "module": { + "provider": { "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": "\"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" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "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" }, - "version": { - "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "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", @@ -11643,7 +11606,7 @@ }, "kind": { "enum": [ - "gitea/release" + "gitea/branch" ] }, "transformers": { @@ -11758,11 +11721,11 @@ }, "owner": { "type": "string", - "description": "[S][C][T] owner specifies the 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": { @@ -11781,31 +11744,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 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": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "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, @@ -11853,7 +11796,7 @@ }, "kind": { "enum": [ - "golang" + "stash/branch" ] }, "transformers": { @@ -11954,9 +11897,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": { @@ -11976,11 +11939,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", - "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", @@ -12018,7 +11990,7 @@ }, "kind": { "enum": [ - "hcl" + "toolversions" ] }, "transformers": { @@ -12121,27 +12093,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": "[s][c][t] File specifies the .tool-versions file to manipulate" }, "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 .tool-versions 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 query to retrieve an information from a .tool-versions file" }, "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] 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", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "type": "object" }, "scmid": { "type": "string", @@ -12179,7 +12154,7 @@ }, "kind": { "enum": [ - "stash/tag" + "toml" ] }, "transformers": { @@ -12280,29 +12255,28 @@ "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": { + "file": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "[s][c][t] File specifies the toml file to manipulate" }, - "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" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "password": { + "query": { "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][t] Query allows to used advanced query. Override the parameter key" }, - "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 toml file" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, "versionfilter": { "properties": { @@ -12321,21 +12295,15 @@ }, "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." }, - "tag": { - "type": "string", - "description": "[S] Tag defines the Bitbucket 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": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "type": "object" }, "scmid": { "type": "string", @@ -12373,7 +12341,7 @@ }, "kind": { "enum": [ - "temurin" + "dockerdigest" ] }, "transformers": { @@ -12474,52 +12442,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", @@ -12557,7 +12515,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "gittag" ] }, "transformers": { @@ -12641,50 +12599,26 @@ "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": { - "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": { - "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": "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." + } }, - "version": { + "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": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + "description": "Path contains the git repository path" }, "versionfilter": { "properties": { @@ -12703,11 +12637,39 @@ }, "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\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" + "type": "object", + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12745,7 +12707,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "gitea/tag" ] }, "transformers": { @@ -12846,42 +12808,58 @@ "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 Gitea url to interact with" }, - "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 Gitea API" }, - "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\" 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" }, - "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] 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] Repository specifies the name of a repository for a specific owner" }, - "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" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "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" - }, - "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": "[S] Tag defines the Gitea tag ." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -12919,7 +12897,7 @@ }, "kind": { "enum": [ - "http" + "githubrelease" ] }, "transformers": { @@ -13020,62 +12998,81 @@ "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] Specifies the URL of the HTTP request for this resource." + "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" }, - "returnresponseheader": { + "username": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" }, - "request": { + "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" }, - "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)." + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" } }, "additionalProperties": false, "type": "object", - "description": "[S][C] Customizes the HTTP request to emit." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "responseasserts": { + "typefilter": { "properties": { - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[C] Specifies a set of assertions on the HTTP response headers." + "draft": { + "type": "boolean", + "description": "\"Draft\" enable/disable GitHub draft release" }, - "statuscode": { - "type": "integer", - "description": "[C] Specifies a custom assertion on the HTTP response status code." + "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": "[C] Specifies a set of custom assertions on the HTTP response for the condition." + "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" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"http\" 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", @@ -13113,7 +13110,7 @@ }, "kind": { "enum": [ - "json" + "hcl" ] }, "transformers": { @@ -13216,50 +13213,27 @@ "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": "\"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 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": "\"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 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": "\"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\" 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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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", - "description": "\"json\" defines the specification for manipulating \"json\" files." + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -13297,7 +13271,7 @@ }, "kind": { "enum": [ - "maven" + "json" ] }, "transformers": { @@ -13398,32 +13372,28 @@ "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 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" }, - "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." + "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" }, - "groupid": { + "key": { "type": "string", - "description": "Specifies the maven artifact groupID" + "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" }, - "artifactid": { + "value": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "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." }, - "version": { + "query": { "type": "string", - "description": "Specifies the maven artifact version" + "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": { @@ -13442,12 +13412,12 @@ }, "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" + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -13485,7 +13455,7 @@ }, "kind": { "enum": [ - "npm" + "terraform/file" ] }, "transformers": { @@ -13586,49 +13556,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { - "type": "string", - "description": "Defines the specific npm package name" - }, - "version": { + "file": { "type": "string", - "description": "Defines a specific package version" + "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" }, - "url": { - "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "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" }, - "registrytoken": { + "path": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" - }, - "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "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" }, - "npmrcpath": { + "value": { "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "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 an Npm package parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -13666,7 +13616,7 @@ }, "kind": { "enum": [ - "gittag" + "file" ] }, "transformers": { @@ -13767,60 +13717,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "file": { "type": "string", - "description": "Path contains the git repository path" + "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" }, - "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "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" + "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" }, - "message": { - "type": "string", - "description": "Message associated to the git tag\n\n compatible:\n * target" + "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" }, - "key": { + "content": { "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": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "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" + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" }, - "username": { + "matchpattern": { "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": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "password": { + "replacepattern": { "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": "`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" }, - "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." + "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" - ], - "description": "Spec defines a specification for a \"gittag\" 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", @@ -13858,7 +13793,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "gitlab/tag" ] }, "transformers": { @@ -13973,11 +13908,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": { @@ -13996,31 +13931,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, @@ -14067,7 +13982,7 @@ }, "kind": { "enum": [ - "githubrelease" + "golang" ] }, "transformers": { @@ -14168,25 +14083,9 @@ "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": { + "version": { "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + "description": "[C] Version defines a specific golang version" }, "versionfilter": { "properties": { @@ -14205,44 +14104,12 @@ }, "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." } }, "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", @@ -14280,7 +14147,7 @@ }, "kind": { "enum": [ - "helmchart" + "aws/ami" ] }, "transformers": { @@ -14381,77 +14248,53 @@ "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": { + "accesskey": { "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": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "versionincrement": { + "secretkey": { "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": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" }, - "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" + "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." + } }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "additionalProperties": false, + "type": "object", + "description": "Filter represents the updatecli configuration describing 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\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": "Filters specifies a list of AMI filters" }, - "username": { + "region": { "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": "Region specifies the AWS region to use when looking for AMI" }, - "password": { + "endpoint": { "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": "Endpoint specifies the AWS endpoint to use when looking for AMI" }, - "token": { + "dryrun": { + "type": "boolean", + "description": "Dryrun allows to Check whether you have the required permissions for the action." + }, + "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" + "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 an \"helmchart\" resource parsed from an updatecli manifest file" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -14489,7 +14332,7 @@ }, "kind": { "enum": [ - "xml" + "gitea/release" ] }, "transformers": { @@ -14590,22 +14433,78 @@ "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][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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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" } }, "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", @@ -14643,7 +14542,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "golang/module" ] }, "transformers": { @@ -14744,25 +14643,17 @@ "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": { + "proxy": { "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": "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": { @@ -14782,19 +14673,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" + "module" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -14832,7 +14718,7 @@ }, "kind": { "enum": [ - "yaml" + "maven" ] }, "transformers": { @@ -14933,41 +14819,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { + "url": { "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": "Deprecated, please specify the Maven url in the repository" }, - "file": { + "repository": { "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": "Specifies the maven repository url + name" }, - "files": { + "repositories": { "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": "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." }, - "key": { + "groupid": { "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": "Specifies the maven artifact groupID" }, - "value": { + "artifactid": { "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": "Specifies the maven artifact artifactID" }, - "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": "Specifies the maven artifact 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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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 \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15005,7 +14906,7 @@ }, "kind": { "enum": [ - "cargopackage" + "terraform/registry" ] }, "transformers": { @@ -15106,47 +15007,33 @@ "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" + "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" }, - "package": { + "hostname": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "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": { + "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": "[C] Defines a specific package version" + "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" }, "versionfilter": { "properties": { @@ -15165,15 +15052,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", - "required": [ - "package" - ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -15211,7 +15094,7 @@ }, "kind": { "enum": [ - "gitbranch" + "golang/gomod" ] }, "transformers": { @@ -15312,56 +15195,26 @@ "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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": { + "file": { "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": "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" }, - "url": { + "module": { "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": "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" }, - "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" + "indirect": { + "type": "boolean", + "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" }, - "password": { + "version": { "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": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "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 a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15399,7 +15252,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "helmchart" ] }, "transformers": { @@ -15500,25 +15353,41 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "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 Gitea API" + "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\" 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": "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": { @@ -15537,21 +15406,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": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15589,7 +15461,7 @@ }, "kind": { "enum": [ - "shell" + "npm" ] }, "transformers": { @@ -15690,130 +15562,49 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "command": { + "name": { "type": "string", - "description": "command specifies the shell command to execute by Updatecli" + "description": "Defines the specific npm package name" }, - "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." + "version": { + "type": "string", + "description": "Defines a specific package version" }, - "changedif": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "console/output" - ] - }, - "spec": true - }, - "additionalProperties": false, - "type": "object" + "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": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" }, - { - "$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" + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" }, - { - "$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" + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" } - ], - "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)" + }, + "additionalProperties": false, + "type": "object", + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "workdir": { + "npmrcpath": { "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": "NpmrcPath defines the path to the .npmrc file" } }, - "additionalProperties": false, - "type": "object", - "required": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "additionalProperties": false, + "type": "object", + "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15851,7 +15642,7 @@ }, "kind": { "enum": [ - "stash/branch" + "stash/tag" ] }, "transformers": { @@ -15993,11 +15784,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 Bitbucket tag ." } }, "additionalProperties": false, @@ -16045,7 +15836,191 @@ }, "kind": { "enum": [ - "dockerfile" + "temurin" + ] + }, + "transformers": { + "items": { + "properties": { + "addprefix": { + "type": "string", + "description": "AddPrefix adds a prefix to the transformer input value" + }, + "addsuffix": { + "type": "string", + "description": "AddSuffix adds a suffix to the transformer input value" + }, + "trimprefix": { + "type": "string", + "description": "TrimPrefix removes a prefix to the transformer input value" + }, + "trimsuffix": { + "type": "string", + "description": "TrimSuffix removes the suffix from the transformer input value" + }, + "replacers": { + "items": { + "properties": { + "from": { + "type": "string", + "description": "From defines the source value which need to be replaced" + }, + "to": { + "type": "string", + "description": "To defines the \"to what\" a \"from\" value needs to be replaced" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "from", + "to" + ], + "description": "Replacer is struct used to feed strings.Replacer" + }, + "type": "array", + "description": "Replacers specifies a list of replacer instruction" + }, + "replacer": { + "properties": { + "from": { + "type": "string", + "description": "From defines the source value which need to be replaced" + }, + "to": { + "type": "string", + "description": "To defines the \"to what\" a \"from\" value needs to be replaced" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "from", + "to" + ], + "description": "Replacer specifies what value needs to be changed and how" + }, + "find": { + "type": "string", + "description": "Find searches for a specific value if it exists and return false if it doesn't" + }, + "findsubmatch": { + "properties": { + "pattern": { + "type": "string", + "description": "Pattern defines regular expression to use for retrieving a submatch" + }, + "captureindex": { + "type": "integer", + "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": { + "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": { + "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" + }, + "scmid": { + "type": "string", + "description": "scmid specifies the scm configuration key associated to the current resource" + }, + "sourceid": { + "type": "string" + }, + "disablesourceinput": { + "type": "boolean" + }, + "failwhen": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "kind" + ] + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "dependson": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"dependson\" allows to specify the order of execution of resources\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\"\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\ndependson:\n - condition#myCondition:and\n - source#mySource\n\nremarks:\n The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"." + }, + "name": { + "type": "string", + "description": "name specifies the resource name" + }, + "kind": { + "enum": [ + "terraform/provider" ] }, "transformers": { @@ -16148,30 +16123,27 @@ "properties": { "file": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "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": "Files specifies the dockerimage file path(s) to use and is incompatible with File" - }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "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": "Value specifies the value for a specified Dockerfile instruction." + "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." }, - "stage": { + "provider": { "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": "\"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 \"dockerfile\" resource parsed from an updatecli manifest file" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -16209,7 +16181,7 @@ }, "kind": { "enum": [ - "file" + "csv" ] }, "transformers": { @@ -16312,43 +16284,57 @@ "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" + "description": "[s][c][t] File specifies the csv file" }, "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": "[c][t] Files specifies a list of Json file to manipulate" }, - "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": "[s][c][t] Key specifies the csv query" }, - "matchpattern": { + "query": { "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][t] Query allows to used advanced query. Override the parameter key" }, - "replacepattern": { + "value": { "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][t] Key specifies the csv value, default to source output" }, - "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 ```" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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" + "type": "object" }, "scmid": { "type": "string", @@ -16386,7 +16372,7 @@ }, "kind": { "enum": [ - "terraform/file" + "gitlab/branch" ] }, "transformers": { @@ -16487,29 +16473,57 @@ "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 GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "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 GitLab" }, - "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\" 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\" 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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -16547,7 +16561,7 @@ }, "kind": { "enum": [ - "toolversions" + "jenkins" ] }, "transformers": { @@ -16648,32 +16662,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", @@ -16719,7 +16719,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "file" ] }, "transformers": { @@ -16820,57 +16820,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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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", @@ -16917,7 +16905,7 @@ }, "kind": { "enum": [ - "npm" + "gitlab/tag" ] }, "transformers": { @@ -17018,21 +17006,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 GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "version": { + "username": { "type": "string", - "description": "Defines a specific package version" + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "url": { + "token": { "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "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" }, - "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": { @@ -17051,16 +17043,20 @@ }, "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 GitLab tag ." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -17107,7 +17103,7 @@ }, "kind": { "enum": [ - "temurin" + "http" ] }, "transformers": { @@ -17208,52 +17204,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", @@ -17300,7 +17306,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "jenkins" ] }, "transformers": { @@ -17401,56 +17407,18 @@ "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": { + "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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", @@ -17497,7 +17465,7 @@ }, "kind": { "enum": [ - "dockerfile" + "stash/tag" ] }, "transformers": { @@ -17598,32 +17566,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\" specifies the default stash url in case of Bitbucket Server" }, - "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\" specifies the username used to authenticate with Bitbucket Server API" }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "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" }, - "value": { + "password": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "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" }, - "stage": { + "owner": { "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] 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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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": "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 Bitbucket Server release" }, "scmid": { "type": "string", @@ -17670,7 +17668,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "toml" ] }, "transformers": { @@ -17771,25 +17769,28 @@ "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 toml file to manipulate" }, - "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": { + "query": { "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] Query allows to used advanced query. Override the parameter key" }, - "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 toml file" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, "versionfilter": { "properties": { @@ -17808,21 +17809,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." }, - "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", @@ -17869,7 +17864,7 @@ }, "kind": { "enum": [ - "xml" + "gitbranch" ] }, "transformers": { @@ -17970,22 +17965,56 @@ "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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" } }, "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", @@ -18032,7 +18061,7 @@ }, "kind": { "enum": [ - "yaml" + "gitlab/branch" ] }, "transformers": { @@ -18133,41 +18162,57 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { + "url": { "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": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "file": { + "username": { "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": "\"username\" defines the username used to authenticate with GitLab" }, - "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" + "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" }, - "key": { + "owner": { "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": "[S][C] Owner specifies repository owner" }, - "value": { + "repository": { "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": "[S][C] Repository specifies the name of a repository for a specific owner" }, - "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" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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 ```" + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -18214,7 +18259,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "gitlab/release" ] }, "transformers": { @@ -18329,11 +18374,11 @@ }, "owner": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[S][C][T] Owner specifies repository owner" }, "repository": { "type": "string", - "description": "[S][C] 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": { @@ -18354,9 +18399,29 @@ "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "branch": { + "title": { "type": "string", - "description": "[C] Branch specifies the branch name" + "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, @@ -18412,7 +18477,7 @@ }, "kind": { "enum": [ - "terraform/file" + "dockerdigest" ] }, "transformers": { @@ -18513,29 +18578,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", @@ -18582,7 +18660,7 @@ }, "kind": { "enum": [ - "csv" + "gitea/tag" ] }, "transformers": { @@ -18683,36 +18761,25 @@ "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\" defines the Gitea url to interact with" }, - "key": { + "username": { "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "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" }, - "value": { + "owner": { "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": "[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": { @@ -18731,11 +18798,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 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", @@ -18782,7 +18859,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "helmchart" ] }, "transformers": { @@ -18883,21 +18960,60 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architecture": { + "file": { "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": "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\"" }, - "image": { + "key": { "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": "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." }, - "tag": { + "name": { "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": "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\"" }, - "digest": { + "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": "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": "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": { + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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", @@ -18910,15 +19026,11 @@ "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 \"dockerdigest\" 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", @@ -18965,7 +19077,7 @@ }, "kind": { "enum": [ - "golang/module" + "terraform/lock" ] }, "transformers": { @@ -19066,44 +19178,40 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "proxy": { + "file": { "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": "\"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" }, - "module": { + "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" + }, + "value": { "type": "string", - "description": "[S][C] Module specifies the name of the module" + "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" + "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "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", - "required": [ - "module" - ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -19150,7 +19258,7 @@ }, "kind": { "enum": [ - "maven" + "toolversions" ] }, "transformers": { @@ -19251,56 +19359,32 @@ "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": "[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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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", @@ -19347,7 +19431,7 @@ }, "kind": { "enum": [ - "stash/tag" + "gitea/release" ] }, "transformers": { @@ -19450,27 +19534,23 @@ "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", - "description": "[S][C] Owner specifies repository owner" + "description": "[S][C][T] owner specifies the repository owner" }, "repository": { "type": "string", - "description": "[S][C] 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": { @@ -19489,11 +19569,31 @@ }, "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." + }, + "title": { + "type": "string", + "description": "[T] title defines the Gitea release title." }, "tag": { "type": "string", - "description": "[S] Tag defines the Bitbucket tag ." + "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, @@ -19503,7 +19603,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", @@ -19550,7 +19650,7 @@ }, "kind": { "enum": [ - "toolversions" + "json" ] }, "transformers": { @@ -19653,30 +19753,50 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the .tool-versions 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 .tool-versions file to manipulate" + "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 .tool-versions 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." }, - "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" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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" + "type": "object", + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -19723,7 +19843,7 @@ }, "kind": { "enum": [ - "dockerimage" + "yaml" ] }, "transformers": { @@ -19824,64 +19944,41 @@ "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": { + "engine": { "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" + "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" }, - "tag": { + "file": { "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" + "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" }, - "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 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" }, - "password": { + "key": { "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": "\"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" }, - "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" + "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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" + "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" }, - "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" + "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": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -19928,7 +20025,7 @@ }, "kind": { "enum": [ - "githubrelease" + "npm" ] }, "transformers": { @@ -20029,25 +20126,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": { @@ -20066,44 +20159,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" + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "tag": { + "npmrcpath": { "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "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", @@ -20150,7 +20215,7 @@ }, "kind": { "enum": [ - "stash/branch" + "temurin" ] }, "transformers": { @@ -20251,62 +20316,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "releaseline": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "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\" specifies the username used to authenticate with Bitbucket Server 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 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": "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)" }, - "password": { + "architecture": { "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": "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)" }, - "owner": { + "imagetype": { "type": "string", - "description": "[S][C] Owner specifies repository 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\"" }, - "repository": { + "operatingsystem": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "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\"" }, - "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "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)" }, - "branch": { + "project": { "type": "string", - "description": "[C] Branch specifies the branch name" + "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 Bitbucket Server release" + "type": "object" }, "scmid": { "type": "string", @@ -20353,7 +20408,7 @@ }, "kind": { "enum": [ - "gittag" + "terraform/file" ] }, "transformers": { @@ -20454,60 +20509,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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "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" - }, - "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" + "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" }, - "sourcebranch": { + "value": { "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": "\"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 \"gittag\" resource parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -20554,7 +20578,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "cargopackage" ] }, "transformers": { @@ -20655,25 +20679,47 @@ "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" + "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": { @@ -20692,21 +20738,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 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" + "package" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -20753,7 +20793,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "githubrelease" ] }, "transformers": { @@ -20854,29 +20894,81 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "owner": { "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": "[s][c] Owner specifies repository owner" }, - "files": { - "items": { - "type": "string" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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." + } }, - "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": "\"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." + "additionalProperties": false, + "type": "object", + "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" }, - "provider": { + "tag": { "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": "[c] Tag allows to check for a specific release tag, default to source output" } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "required": [ + "owner", + "repository", + "token" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -20923,7 +21015,7 @@ }, "kind": { "enum": [ - "toml" + "stash/branch" ] }, "transformers": { @@ -21024,28 +21116,29 @@ "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\" specifies the default stash url in case of Bitbucket Server" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" + "username": { + "type": "string", + "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" }, - "key": { + "password": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "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" }, - "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" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -21064,15 +21157,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 Bitbucket Server release" }, "scmid": { "type": "string", @@ -21119,7 +21218,7 @@ }, "kind": { "enum": [ - "json" + "terraform/registry" ] }, "transformers": { @@ -21220,28 +21319,33 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "type": { "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": "\"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 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" + "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." }, - "key": { + "namespace": { "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": "\"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\" 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": "\"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." }, - "query": { + "targetsystem": { "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": "\"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": { @@ -21264,8 +21368,7 @@ } }, "additionalProperties": false, - "type": "object", - "description": "\"json\" defines the specification for manipulating \"json\" files." + "type": "object" }, "scmid": { "type": "string", @@ -21312,7 +21415,7 @@ }, "kind": { "enum": [ - "shell" + "xml" ] }, "transformers": { @@ -21413,130 +21516,22 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "command": { + "file": { "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" + "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" }, - "shell": { + "path": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "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\"" }, - "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": "\"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": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -21583,7 +21578,7 @@ }, "kind": { "enum": [ - "golang" + "terraform/provider" ] }, "transformers": { @@ -21684,33 +21679,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "version": { + "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" + }, + "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": "[C] Version defines a specific golang version" + "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." }, - "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" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "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 \"Golang\" resource parsed from an updatecli manifest file" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -21757,7 +21748,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "aws/ami" ] }, "transformers": { @@ -21858,26 +21849,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", @@ -21924,7 +21942,7 @@ }, "kind": { "enum": [ - "hcl" + "dockerfile" ] }, "transformers": { @@ -22027,27 +22045,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", @@ -22094,7 +22115,7 @@ }, "kind": { "enum": [ - "helmchart" + "gitea/branch" ] }, "transformers": { @@ -22195,41 +22216,25 @@ "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/" + "description": "\"url\" defines the Gitea url to interact with" }, - "value": { + "username": { "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": "\"username\" defines the username used to authenticate with Gitea API" }, - "version": { + "token": { "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": "\"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" }, - "versionincrement": { + "owner": { "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" + "description": "[S][C] Owner specifies repository owner" }, - "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" + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -22248,24 +22253,21 @@ }, "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": { + "branch": { "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] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -22312,7 +22314,7 @@ }, "kind": { "enum": [ - "jenkins" + "golang/module" ] }, "transformers": { @@ -22413,18 +22415,44 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "proxy": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "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": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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" + "required": [ + "module" + ], + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -22471,7 +22499,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "hcl" ] }, "transformers": { @@ -22574,38 +22602,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", @@ -22652,7 +22669,7 @@ }, "kind": { "enum": [ - "cargopackage" + "maven" ] }, "transformers": { @@ -22741,59 +22758,44 @@ "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": { - "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": "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": "Deprecated, please specify the Maven url in the repository" + }, + "repository": { + "type": "string", + "description": "Specifies the maven repository url + name" + }, + "repositories": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + "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." }, - "package": { + "groupid": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "description": "Specifies the maven artifact groupID" + }, + "artifactid": { + "type": "string", + "description": "Specifies the maven artifact artifactID" }, "version": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "Specifies the maven artifact version" }, "versionfilter": { "properties": { @@ -22817,10 +22819,7 @@ }, "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 \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -22867,7 +22866,7 @@ }, "kind": { "enum": [ - "gitbranch" + "shell" ] }, "transformers": { @@ -22968,56 +22967,130 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "command": { "type": "string", - "description": "path contains the git repository path" + "description": "command specifies the shell command to execute by Updatecli" }, - "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" + "environments": { + "items": { + "properties": { + "name": { + "type": "string", + "description": "Name defines the environment variable name" + }, + "value": { + "type": "string", + "description": "Value defines the environment variable value" + } }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ], + "description": "Environment is a struct containing information for an environment variable such as its name and its value" }, - "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" + "type": "array", + "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." }, - "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." + "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" }, - "username": { + "shell": { "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": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" }, - "password": { + "workdir": { "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": "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", "required": [ - "url" + "command" ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -23064,7 +23137,7 @@ }, "kind": { "enum": [ - "gitea/release" + "csv" ] }, "transformers": { @@ -23165,25 +23238,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][T] owner specifies the repository owner" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "repository": { + "value": { "type": "string", - "description": "[S][C][T] 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": { @@ -23195,48 +23279,18 @@ "type": "string", "description": "specifies the version pattern according the version kind" }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "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" + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "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": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "type": "object" }, "scmid": { "type": "string", @@ -23283,7 +23337,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "dockerimage" ] }, "transformers": { @@ -23384,25 +23438,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\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "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\" defines the username used to authenticate with GitLab" + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "token": { + "tag": { "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": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" }, - "owner": { + "username": { "type": "string", - "description": "[S][C][T] 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][T]Repository specifies the name of a repository for a specific 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" + }, + "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": { @@ -23421,40 +23486,16 @@ }, "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": "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": { + "tagfilter": { "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": "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" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -23501,7 +23542,7 @@ }, "kind": { "enum": [ - "http" + "gittag" ] }, "transformers": { @@ -23602,62 +23643,60 @@ "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": { + "path": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "Path contains the git repository path" }, - "request": { + "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" }, - "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)." + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" } }, "additionalProperties": false, "type": "object", - "description": "[S][C] Customizes the HTTP request to emit." + "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" }, - "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." + "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", - "description": "Spec defines a specification for a \"http\" 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", @@ -23704,7 +23743,7 @@ }, "kind": { "enum": [ - "aws/ami" + "golang" ] }, "transformers": { @@ -23805,53 +23844,33 @@ "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": { + "version": { "type": "string", - "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + "description": "[C] Version defines a specific golang version" }, - "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" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } }, - "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": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec contains the updatecli configuration provided by users." + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -23898,7 +23917,7 @@ }, "kind": { "enum": [ - "file" + "golang/gomod" ] }, "transformers": { @@ -24001,43 +24020,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",