From 474101b1d16b4bf915ad45c60461f8839238e9cd Mon Sep 17 00:00:00 2001 From: "updateclibot[bot]" <92153806+updateclibot[bot]@users.noreply.github.com> Date: Fri, 20 Dec 2024 12:13:12 +0000 Subject: [PATCH] docs: update Updatecli jsonschema (#2003) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: chore: update Updatecli jsonschema Made with ❤️️ by updatecli * chore: chore: update Updatecli jsonschema Made with ❤️️ by updatecli * chore: chore: update Updatecli jsonschema Made with ❤️️ by updatecli * chore: chore: update Updatecli jsonschema Made with ❤️️ by updatecli * chore: chore: update Updatecli jsonschema Made with ❤️️ by updatecli --------- Co-authored-by: updatecli --- content/en/schema/latest/config.json | 8226 +++++++-------- .../schema/latest/policy/manifest/config.json | 8958 ++++++++--------- 2 files changed, 8592 insertions(+), 8592 deletions(-) diff --git a/content/en/schema/latest/config.json b/content/en/schema/latest/config.json index 5f27b90d..e3b8a712 100644 --- a/content/en/schema/latest/config.json +++ b/content/en/schema/latest/config.json @@ -15,29 +15,33 @@ "crawlers": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "gitea/action": { + "maven": { "$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 Helm Chart" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "actions": { + "groupids": { + "items": { + "type": "string" + }, + "type": "array", + "description": "GroupIDs specifies the list of Maven GroupIDs to check" + }, + "artifactids": { "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": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" } }, "additionalProperties": false, @@ -45,21 +49,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "actions": { + "groupids": { + "items": { + "type": "string" + }, + "type": "array", + "description": "GroupIDs specifies the list of Maven GroupIDs to check" + }, + "artifactids": { "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": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" } }, "additionalProperties": false, @@ -67,11 +78,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 Helm based on a rule" }, "versionfilter": { "properties": { @@ -90,49 +97,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." - }, - "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 which can be provided to the Helm builder." }, - "npm": { + "cargo": { "$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 Cargo.toml" }, "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 Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "packages": { + "crates": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Packages specifies the list of NPM packages to check" + "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, @@ -140,21 +138,28 @@ "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 Cargo.toml 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 Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "packages": { + "crates": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Packages specifies the list of NPM packages to check" + "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, @@ -162,7 +167,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 NPM 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": { @@ -181,33 +223,74 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "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 NPM builder." + "description": "Spec defines the Cargo parameters." }, - "precommit": { + "flux": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "rootdir": { - "type": "string", - "description": "RootDir defines the root directory used to recursively search for npm packages.json" + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "auths provides a map of registry credentials where the key is the registry URL without scheme" + }, + "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 .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": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "artifacts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Repos specifies the list of NPM packages 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, @@ -215,21 +298,28 @@ "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 Flux helmrelease 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": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "artifacts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Repos specifies the list of NPM packages 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, @@ -237,7 +327,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 NPM 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": { @@ -256,40 +354,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 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 uses to generate the precomit manifests" + "description": "Spec defines the parameters which can be provided to the Flux crawler." }, - "rancher/fleet": { + "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 Fleet bundle" + "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 Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "charts": { + "actions": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository 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, @@ -297,28 +391,21 @@ "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 GitHub action based on a rule\n\ndefault: empty" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" - }, - "charts": { - "additionalProperties": { + "actions": { + "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository 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, @@ -326,7 +413,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 Fleet bundle 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": { @@ -345,40 +436,53 @@ }, "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 which can be provided to the fleet builder." + "description": "Spec defines the parameters which can be provided to the Github Action crawler." }, - "argocd": { + "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 ArgoCD manifest" + "description": "rootDir defines the root directory used to recursively search for golang go.mod" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a 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 go.mod path pattern, the pattern requires to match all of name, not just a substring." }, - "charts": { + "modules": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Modules specifies a list of module pattern." + }, + "goversion": { + "type": "string", + "description": "GoVersions specifies a list of version pattern." } }, "additionalProperties": false, @@ -386,28 +490,25 @@ "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 go.mod 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 go.mod path pattern, the pattern requires to match all of name, not just a substring." }, - "charts": { + "modules": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Modules specifies a list of module pattern." + }, + "goversion": { + "type": "string", + "description": "GoVersions specifies a list of version pattern." } }, "additionalProperties": false, @@ -415,7 +516,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 golang rule" }, "versionfilter": { "properties": { @@ -434,40 +535,71 @@ }, "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 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 argocd builder." + "description": "Spec defines the parameters which can be provided to the Golang autodiscovery builder." }, - "cargo": { + "helm": { "$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" + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\n\t\tif empty, updatecli relies on OCI credentials such as the one used by Docker." + }, + "digest": { + "type": "boolean", + "description": "digest provides a parameter to specify if the generated manifest should use a digest on top of the tag when updating container." + }, + "ignorecontainer": { + "type": "boolean", + "description": "ignorecontainer disables OCI container tag update when set to true" + }, + "ignorechartdependency": { + "type": "boolean", + "description": "ignorechartdependency disables Helm chart dependencies update when set to true" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a 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 subpart of the path." }, - "crates": { + "dependencies": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Crates specifies the list of Cargo crates to check" + "description": "Dependencies specifies a list of dependencies pattern." }, - "registries": { - "items": { + "containers": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Registries specifies the list of Cargo registries to check" + "type": "object", + "description": "Containers specifies a list of containers pattern." } }, "additionalProperties": false, @@ -475,28 +607,32 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore specifies rule to ignore Cargo.toml update." + "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 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 subpart of the path." }, - "crates": { + "dependencies": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Crates specifies the list of Cargo crates to check" + "description": "Dependencies specifies a list of dependencies pattern." }, - "registries": { - "items": { + "containers": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Registries specifies the list of Cargo registries to check" + "type": "object", + "description": "Containers specifies a list of containers pattern." } }, "additionalProperties": false, @@ -504,44 +640,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 specify required rule(s) to restrict Helm chart update." }, "versionfilter": { "properties": { @@ -560,78 +659,24 @@ }, "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." + }, + "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 Cargo parameters." + "description": "Spec defines the Helm parameters." }, - "helmfile": { + "ko": { "$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": { @@ -648,64 +693,41 @@ "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" } }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" - }, - "versionfilter": { - "properties": { - "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": "InlineKeyChain defines a keychain with OCI registry credentials" }, - "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." - }, - "maven": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { + "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 Helm Chart" + "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 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": { + "images": { "items": { "type": "string" }, "type": "array", - "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" + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -713,28 +735,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific 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 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": { + "images": { "items": { "type": "string" }, "type": "array", - "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" + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -742,7 +757,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 Kubernetes manifest based on a rule" }, "versionfilter": { "properties": { @@ -766,28 +781,62 @@ }, "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 Kubernetes builder." }, - "terraform": { + "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 `.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, @@ -795,21 +844,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, @@ -817,7 +866,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": { @@ -836,40 +885,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." - }, - "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." }, - "updatecli": { + "npm": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "rootdir defines the root directory used to recursively search for Updatecli manifest" + "description": "RootDir defines the root directory used to recursively search for npm packages.json" }, "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 package.json path pattern, the pattern requires to match all of name, not just a substring." }, - "policies": { + "packages": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Policies specifies a Updatecli policy" + "description": "Packages specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -877,21 +919,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 NPM based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." }, - "policies": { + "packages": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Policies specifies a Updatecli policy" + "description": "Packages specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -899,37 +941,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Updatecli based on a rule" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." - }, - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - } - }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" }, "versionfilter": { "properties": { @@ -953,69 +965,28 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Updatecli parameters." + "description": "Spec defines the parameters which can be provided to the NPM builder." }, - "flux": { + "terraform": { "$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 `.terraform.lock.hcl`" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "`path` specifies a `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." }, - "artifacts": { + "providers": { "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": "`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, @@ -1023,28 +994,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "ignore allows to specify rule to ignore autodiscovery a specific Flux helmrelease based on a rule\n\ndefault: empty" + "description": "`ignore` specifies rule to ignore `.terraform.lock.hcl` update." }, - "only": { - "items": { - "properties": { - "path": { - "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "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." }, - "artifacts": { + "providers": { "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": "`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, @@ -1052,15 +1016,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` specify required rule to restrict `.terraform.lock.hcl` update." }, "versionfilter": { "properties": { @@ -1079,37 +1035,43 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest." + "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + }, + "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 Flux crawler." + "description": "Spec defines the Terraform parameters." }, - "golang/gomod": { + "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 golang go.mod" + "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 go.mod 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." }, - "modules": { + "actions": { "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": "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, @@ -1117,25 +1079,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "ignore allows to specify \"rule\" to ignore autodiscovery a specific go.mod rule" + "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty" }, "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 Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "modules": { + "actions": { "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": "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, @@ -1143,7 +1101,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 golang 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": { @@ -1162,71 +1124,56 @@ }, "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." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Spec defines the parameters which can be provided to the Golang autodiscovery builder." - }, - "helm": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "auths": { + "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": { - "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" + "kind": { + "type": "string" }, "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" + "type": "string" } }, "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" + "type": "object" }, "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" + "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." + }, + "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 Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "dependencies": { - "additionalProperties": { + "repositories": { + "items": { "type": "string" }, - "type": "object", - "description": "Dependencies specifies a list of dependencies pattern." + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" }, - "containers": { + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Containers specifies a list of containers pattern." + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -1234,32 +1181,28 @@ "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 Helmfile 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." + "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "dependencies": { - "additionalProperties": { + "repositories": { + "items": { "type": "string" }, - "type": "object", - "description": "Dependencies specifies a list of dependencies pattern." + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" }, - "containers": { + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Containers specifies a list of containers pattern." + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -1267,7 +1210,30 @@ "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 \"autodiscovery\" manifest for a specific Helmfile based on a rule" + }, + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, "versionfilter": { "properties": { @@ -1287,74 +1253,32 @@ "additionalProperties": false, "type": "object", "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." - }, - "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 Helmfile parameters." }, - "ko": { + "precommit": { "$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 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 .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." }, - "images": { - "items": { + "repos": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Images specifies the list of container image to check" + "type": "object", + "description": "Repos specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -1362,21 +1286,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 .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." }, - "images": { - "items": { + "repos": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Images specifies the list of container image to check" + "type": "object", + "description": "Repos specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -1384,7 +1308,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": { @@ -1408,9 +1332,9 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Kubernetes builder." + "description": "Spec defines the parameters uses to generate the precomit manifests" }, - "kubernetes": { + "prow": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "auths": { @@ -1519,44 +1443,33 @@ "type": "object", "description": "Spec defines the parameters which can be provided to the Kubernetes builder." }, - "dockercompose": { + "rancher/fleet": { "$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 Fleet bundle" }, "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 Fleet bundle 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, @@ -1564,35 +1477,88 @@ "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": { - "archs": { + "path": { + "type": "string", + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." + }, + "repositories": { "items": { "type": "string" }, "type": "array", - "description": "Arch specifies a list of docker image architecture" + "description": "Repositories specifies the list of Helm Chart repository to check" }, + "charts": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Charts specifies the list of Helm Chart repository to check" + } + }, + "additionalProperties": false, + "type": "object", + "description": "MatchingRule allows to specifies rules to identify manifest" + }, + "type": "array", + "description": "Only allows to specify rule to only autodiscover manifest for a specific Fleet bundle based on a rule" + }, + "versionfilter": { + "properties": { + "kind": { + "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 fleet builder." + }, + "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" + }, + "ignore": { + "items": { + "properties": { "path": { "type": "string", - "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "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, @@ -1600,37 +1566,36 @@ "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": "Ignore allows to specify rule to ignore autodiscovery a specific Argocd manifest based on a rule" }, - "auths": { - "additionalProperties": { + "only": { + "items": { "properties": { - "username": { + "path": { "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": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "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" + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" }, - "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" + "charts": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Charts specifies the list of Helm Chart repository to check" } }, "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" + "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 allows to specify rule to only autodiscover manifest for a specific ArgoCD manifest based on a rule" }, "versionfilter": { "properties": { @@ -1649,14 +1614,14 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern 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 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 argocd builder." }, - "dockerfile": { + "dockercompose": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "digest": { @@ -1679,7 +1644,14 @@ }, "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 substring." + }, + "services": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Services specifies a list of docker compose services" }, "images": { "items": { @@ -1708,7 +1680,14 @@ }, "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 substring." + }, + "services": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Services specifies a list of docker compose services" }, "images": { "items": { @@ -1753,7 +1732,7 @@ "type": "string" }, "type": "array", - "description": "FileMatch allows to override default Dockerfile file matching. Default [\"Dockerfile\"]" + "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": { @@ -1777,31 +1756,39 @@ }, "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 is a struct fill from Updatecli manifest data and shouldn't be modified at runtime unless For Fields that requires it, we can use the struct DockerCompose Spec defines the parameters which can be provided to the Helm builder." }, - "github/action": { + "dockerfile": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "files allows to specify the accepted GitHub Action workflow file name\n\ndefault:\n - \".github/workflows/*.yaml\",\n - \".github/workflows/*.yml\",\n - \".gitea/workflows/*.yaml\",\n - \".gitea/workflows/*.yml\",\n - \".forgejo/workflows/*.yaml\",\n - \".forgejo/workflows/*.yml\"," + "digest": { + "type": "boolean", + "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." + }, + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for Helm Chart" }, "ignore": { "items": { "properties": { + "archs": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Arch specifies a list of docker image architecture" + }, "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Dockerfile path pattern, the pattern requires to match all of name, not just a substring." }, - "actions": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -1809,77 +1796,37 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" }, "only": { "items": { "properties": { - "path": { - "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "actions": { - "additionalProperties": { + "archs": { + "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" - } - }, - "additionalProperties": false, - "type": "object", - "description": "MatchingRule allows to specifies rules to identify manifest" - }, - "type": "array", - "description": "only allows to specify rule to only autodiscover manifest for a specific GitHub action based on a rule\n\ndefault: empty" - }, - "rootdir": { - "type": "string", - "description": "rootDir allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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." - }, - "credentials": { - "additionalProperties": { - "properties": { - "kind": { - "type": "string" + "type": "array", + "description": "Arch specifies a list of docker image architecture" }, - "token": { - "type": "string" + "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": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "MatchingRule allows to specifies rules to identify manifest" }, - "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." - }, - "prow": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { + "type": "array", + "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" + }, "auths": { "additionalProperties": { "properties": { @@ -1903,34 +1850,57 @@ "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": { + "filematch": { "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": "FileMatch allows to override default Dockerfile file matching. Default [\"Dockerfile\"]" }, + "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 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." + }, + "updatecli": { + "$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 Updatecli 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 Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { - "items": { + "policies": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Images specifies the list of container image to check" + "type": "object", + "description": "Policies specifies a Updatecli policy" } }, "additionalProperties": false, @@ -1938,21 +1908,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 Updatecli 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 Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { - "items": { + "policies": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Images specifies the list of container image to check" + "type": "object", + "description": "Policies specifies a Updatecli policy" } }, "additionalProperties": false, @@ -1960,7 +1930,37 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific Kubernetes manifest based on a rule" + "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Updatecli based on a rule" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." + }, + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, "versionfilter": { "properties": { @@ -1984,7 +1984,7 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Kubernetes builder." + "description": "Spec defines the Updatecli parameters." } }, "type": "object", @@ -2014,6 +2014,75 @@ "actions": { "additionalProperties": { "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "title": { + "type": "string" + }, + "kind": { + "enum": [ + "bitbucket/pullrequest" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "username": { + "type": "string", + "description": "\"username\" specifies the username used to authenticate with Bitbucket Cloud API" + }, + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Cloud API\n\n The \"token\" is a repository or project access token with \"pullrequest:write\" scope.\n\n \"token\" and \"password\" are mutually exclusive\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "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": { @@ -2270,85 +2339,16 @@ }, "title": { "type": "string", - "description": "\"title\" defines the GitLab mergerequest title\n\n\t\tdefault:\n\t\t\tA GitLab mergerequest title is defined by one of the following location (first match)\n\t\t\t\t1. title is defined by the spec such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitlab/mergerequest\n\t\t\t\t\t\t\tscmid: default\n\t\t\t\t\t\t\tspec:\n\t\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t2. title is defined by the action such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitlab/mergerequest\n\t\t\t\t\t\t\tscmid default\n\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t3. title is defined by the first associated target title\n\n\t\t\t\t4. title is defined by the pipeline title\n\n\t\tremark:\n\t\t\tusually we prefer to go with option 2" - }, - "body": { - "type": "string", - "description": "\"body\" defines a custom mergerequest body\n\n\t\tdefault:\n\t\t\tBy default a mergerequest body is generated out of a pipeline execution.\n\n\t\tremark:\n\t\t\tUnless you know what you are doing, you shouldn't set this value and rely on the sane default.\n\t\t\t\"body\" is useful to provide additional information when reviewing mergerequest, such as changelog url." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Spec defines settings used to interact with GitLab pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" - }, - "scmid": { - "type": "string" - }, - "disablepipelineurl": { - "type": "boolean" - } - }, - "additionalProperties": false, - "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "title": { - "type": "string" - }, - "kind": { - "enum": [ - "bitbucket/pullrequest" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "username": { - "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Cloud API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Cloud API\n\n The \"token\" is a repository or project access token with \"pullrequest:write\" scope.\n\n \"token\" and \"password\" are mutually exclusive\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "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." + "description": "\"title\" defines the GitLab mergerequest title\n\n\t\tdefault:\n\t\t\tA GitLab mergerequest title is defined by one of the following location (first match)\n\t\t\t\t1. title is defined by the spec such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitlab/mergerequest\n\t\t\t\t\t\t\tscmid: default\n\t\t\t\t\t\t\tspec:\n\t\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t2. title is defined by the action such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitlab/mergerequest\n\t\t\t\t\t\t\tscmid default\n\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t3. title is defined by the first associated target title\n\n\t\t\t\t4. title is defined by the pipeline title\n\n\t\tremark:\n\t\t\tusually we prefer to go with option 2" }, "body": { "type": "string", - "description": "Body defines the Bitbucket pullrequest body" + "description": "\"body\" defines a custom mergerequest body\n\n\t\tdefault:\n\t\t\tBy default a mergerequest body is generated out of a pipeline execution.\n\n\t\tremark:\n\t\t\tUnless you know what you are doing, you shouldn't set this value and rely on the sane default.\n\t\t\t\"body\" is useful to provide additional information when reviewing mergerequest, such as changelog url." } }, "additionalProperties": false, "type": "object", - "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": "Spec defines settings used to interact with GitLab pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" }, "scmid": { "type": "string" @@ -2999,7 +2999,7 @@ }, "kind": { "enum": [ - "file" + "gitlab/branch" ] }, "transformers": { @@ -3100,45 +3100,242 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "line": { - "type": "integer", - "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "token": { + "type": "string", + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "content": { + "owner": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[S][C] Owner specifies repository owner" }, - "forcecreate": { - "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, - "matchpattern": { + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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": "`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": "[C] Branch specifies the branch name" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" + }, + "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." + } }, - "replacepattern": { + "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": "`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] Specifies the URL of the HTTP request for this resource." }, - "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 ```" + "returnresponseheader": { + "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." + }, + "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 \"file\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -3167,7 +3364,7 @@ }, "kind": { "enum": [ - "stash/branch" + "githubrelease" ] }, "transformers": { @@ -3268,29 +3465,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": { @@ -3309,21 +3502,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", @@ -3352,7 +3568,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "golang/module" ] }, "transformers": { @@ -3453,40 +3669,44 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "proxy": { "type": "string", - "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "description": "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." }, - "value": { + "module": { "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] Module specifies the name of the module" }, - "provider": { + "version": { "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": "[C] Defines a specific package 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 the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" - }, - "skipconstraints": { - "type": "boolean", - "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "required": [ + "module" + ], + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -3515,7 +3735,7 @@ }, "kind": { "enum": [ - "toml" + "npm" ] }, "transformers": { @@ -3616,28 +3836,21 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "name": { "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" + "description": "Defines the specific npm package name" }, - "query": { + "version": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "Defines a specific package version" }, - "key": { + "url": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" }, - "value": { + "registrytoken": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "RegistryToken defines the token to use when connection to the registry" }, "versionfilter": { "properties": { @@ -3656,15 +3869,16 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "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" + "npmrcpath": { + "type": "string", + "description": "NpmrcPath defines the path to the .npmrc file" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -3693,7 +3907,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "stash/branch" ] }, "transformers": { @@ -3794,42 +4008,62 @@ "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\" specifies the default stash url in case of Bitbucket Server" }, - "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\" specifies the username used to authenticate with Bitbucket Server 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 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" }, - "digest": { + "password": { "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": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "username": { + "owner": { "type": "string", - "description": "username specifies the 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] Owner specifies repository owner" }, - "password": { + "repository": { "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] Repository specifies the name of a repository for a specific owner" }, - "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": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "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" + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "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 Bitbucket Server release" }, "scmid": { "type": "string", @@ -3858,7 +4092,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "terraform/file" ] }, "transformers": { @@ -3959,58 +4193,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { + "file": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "repository": { + "path": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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 Gitea 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 Gitea release" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -4039,7 +4244,7 @@ }, "kind": { "enum": [ - "http" + "cargopackage" ] }, "transformers": { @@ -4140,62 +4345,74 @@ "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": { - "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." - }, - "request": { + "registry": { "properties": { - "verb": { - "type": "string", - "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." + "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." }, - "body": { + "url": { "type": "string", - "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." + "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." }, - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." + "rootdir": { + "type": "string", + "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." }, - "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)." + "scmid": { + "type": "string", + "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." } }, "additionalProperties": false, "type": "object", - "description": "[S][C] Customizes the HTTP request to emit." + "description": "[S][C] Registry specifies the registry to use" }, - "responseasserts": { + "package": { + "type": "string", + "description": "[S][C] Package specifies the name of the package" + }, + "version": { + "type": "string", + "description": "[C] Defines a specific package version" + }, + "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." + "required": [ + "package" + ], + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -4224,7 +4441,7 @@ }, "kind": { "enum": [ - "npm" + "gitea/release" ] }, "transformers": { @@ -4325,21 +4542,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { + "url": { "type": "string", - "description": "Defines the specific npm package name" + "description": "\"url\" defines the Gitea url to interact with" }, - "version": { + "username": { "type": "string", - "description": "Defines a specific package version" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "url": { + "token": { "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "registrytoken": { + "owner": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "description": "[S][C][T] owner specifies the repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C][T] repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -4358,16 +4579,41 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "npmrcpath": { + "title": { "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "description": "[T] title defines the Gitea release title." + }, + "tag": { + "type": "string", + "description": "[C][T] tag defines the Gitea release tag." + }, + "commitish": { + "type": "string", + "description": "[T] commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] description defines if the new release description" + }, + "draft": { + "type": "boolean", + "description": "[T] draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -4396,7 +4642,7 @@ }, "kind": { "enum": [ - "terraform/file" + "gitlab/tag" ] }, "transformers": { @@ -4497,29 +4743,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][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": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -4548,7 +4822,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "terraform/lock" ] }, "transformers": { @@ -4649,56 +4923,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" - } + "platforms": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "type": "array", + "description": "\"platforms\" is 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", @@ -4727,7 +4985,7 @@ }, "kind": { "enum": [ - "csv" + "yaml" ] }, "transformers": { @@ -4828,59 +5086,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 csv file" + "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" + "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 csv query" - }, - "query": { - "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "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] Key specifies the csv value, default to source output" - }, - "comma": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + "description": "\"value\" is the value associated with a 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." }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + "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 ```" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -4909,7 +5149,7 @@ }, "kind": { "enum": [ - "dockerfile" + "jenkins" ] }, "transformers": { @@ -5010,32 +5250,18 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" - }, - "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": { + "release": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "stage": { + "version": { "type": "string", - "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" + "description": "[s][c] Defines a specific release version (condition only)" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -5064,7 +5290,7 @@ }, "kind": { "enum": [ - "gittag" + "shell" ] }, "transformers": { @@ -5165,60 +5391,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" - }, - "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" + "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 username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + "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 password 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)" }, - "sourcebranch": { + "workdir": { "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": "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 \"gittag\" 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", @@ -5247,7 +5543,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "stash/tag" ] }, "transformers": { @@ -5350,15 +5646,19 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", @@ -5385,11 +5685,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, @@ -5399,7 +5699,7 @@ "owner", "repository" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -5428,7 +5728,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "toml" ] }, "transformers": { @@ -5529,25 +5829,28 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "[s][c][t] File specifies the toml file to manipulate" }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "token": { + "query": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "owner": { + "key": { "type": "string", - "description": "[S][C][T] 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][T]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": { @@ -5566,40 +5869,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 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" + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "prerelease": { + "createmissingkey": { "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" + "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", @@ -5628,7 +5906,7 @@ }, "kind": { "enum": [ - "shell" + "dockerfile" ] }, "transformers": { @@ -5729,130 +6007,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "command": { + "file": { "type": "string", - "description": "command specifies the shell command to execute by Updatecli" + "description": "File specifies the dockerimage file path to use and is incompatible with Files" }, - "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." + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "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" + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "shell": { + "value": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "description": "Value specifies the value for a specified Dockerfile instruction." }, - "workdir": { + "stage": { "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": "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": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" 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", @@ -5881,7 +6061,7 @@ }, "kind": { "enum": [ - "aws/ami" + "file" ] }, "transformers": { @@ -5982,53 +6162,45 @@ "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` 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" }, - "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` 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" }, - "region": { - "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "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" }, - "endpoint": { + "content": { "type": "string", - "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "dryrun": { + "forcecreate": { "type": "boolean", - "description": "Dryrun allows to Check whether you have the required permissions for the action." + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" }, - "sortby": { + "matchpattern": { "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "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 contains the updatecli configuration provided by users." + "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -6057,7 +6229,7 @@ }, "kind": { "enum": [ - "gitbranch" + "gitea/tag" ] }, "transformers": { @@ -6158,9 +6330,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "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": "path contains the git repository path" + "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": { @@ -6179,35 +6367,21 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "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" + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "password": { + "tag": { "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] Tag defines the Gitea tag ." } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "url", + "owner", + "repository" ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -6236,7 +6410,7 @@ }, "kind": { "enum": [ - "golang/module" + "toolversions" ] }, "transformers": { @@ -6337,44 +6511,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": "[s][c][t] File specifies the .tool-versions file to manipulate" }, - "module": { + "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] Module specifies the name of the module" + "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" }, - "version": { + "value": { "type": "string", - "description": "[C] Defines a specific package 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", - "required": [ - "module" - ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -6403,7 +6565,7 @@ }, "kind": { "enum": [ - "helmchart" + "xml" ] }, "transformers": { @@ -6506,75 +6668,20 @@ "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" + "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" }, - "url": { + "path": { "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": "\"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 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", - "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": "\"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 an \"helmchart\" resource parsed from an updatecli manifest file" + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -6603,7 +6710,7 @@ }, "kind": { "enum": [ - "jenkins" + "csv" ] }, "transformers": { @@ -6704,18 +6811,59 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "file": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "description": "[s][c][t] File specifies the csv file" }, - "version": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" + }, + "key": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "description": "[s][c][t] Key specifies the csv query" + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + }, + "value": { + "type": "string", + "description": "[s][c][t] Key specifies the csv value, default to source output" + }, + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + }, + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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" + "type": "object" }, "scmid": { "type": "string", @@ -6744,7 +6892,7 @@ }, "kind": { "enum": [ - "maven" + "temurin" ] }, "transformers": { @@ -6845,56 +6993,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "releaseline": { "type": "string", - "description": "Deprecated, please specify the Maven url in the repository" + "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "repository": { + "releasetype": { "type": "string", - "description": "Specifies the maven repository url + name" + "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)" }, - "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." + "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.)" }, - "groupid": { + "result": { "type": "string", - "description": "Specifies the maven artifact groupID" + "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)" }, - "artifactid": { + "architecture": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "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)" }, - "version": { + "imagetype": { "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" - } + "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" }, - "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 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 \"maven\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -6923,7 +7067,7 @@ }, "kind": { "enum": [ - "stash/tag" + "terraform/registry" ] }, "transformers": { @@ -7024,29 +7168,33 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "type": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" }, - "username": { + "hostname": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "token": { + "namespace": { "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": "\"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." }, - "password": { + "name": { "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": "\"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." }, - "owner": { + "targetsystem": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." }, - "repository": { + "rawstring": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + }, + "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": { @@ -7065,21 +7213,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "tag": { - "type": "string", - "description": "[S] Tag defines the Bitbucket tag ." + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "type": "object" }, "scmid": { "type": "string", @@ -7108,7 +7246,7 @@ }, "kind": { "enum": [ - "cargopackage" + "hcl" ] }, "transformers": { @@ -7209,74 +7347,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "registry": { - "properties": { - "auth": { - "properties": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." - }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." - }, - "url": { - "type": "string", - "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." - }, - "rootdir": { - "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." - }, - "scmid": { - "type": "string", - "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." - } + "file": { + "type": "string", + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + }, + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + "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" }, - "package": { + "path": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "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": "[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." + "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": [ - "package" - ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -7305,7 +7398,7 @@ }, "kind": { "enum": [ - "temurin" + "dockerimage" ] }, "transformers": { @@ -7406,52 +7499,64 @@ "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.)" + "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" }, - "result": { + "architecture": { "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": "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" }, - "architecture": { + "image": { "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": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "imagetype": { + "tag": { "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": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" }, - "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" + "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": "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" + "type": "object", + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7480,7 +7585,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "gitbranch" ] }, "transformers": { @@ -7581,26 +7686,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "path": { "type": "string", - "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "path contains the git repository path" }, - "module": { + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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": "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": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "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" }, - "version": { + "password": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "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", @@ -7629,7 +7764,7 @@ }, "kind": { "enum": [ - "xml" + "golang" ] }, "transformers": { @@ -7730,22 +7865,33 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "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" - }, - "path": { + "version": { "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": "[C] Version defines a specific golang version" }, - "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" + "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": "\"xml\" defines the specification for manipulating \"xml\" files." + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7774,7 +7920,7 @@ }, "kind": { "enum": [ - "gitea/release" + "gitea/branch" ] }, "transformers": { @@ -7889,11 +8035,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": { @@ -7912,31 +8058,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, @@ -7975,7 +8101,7 @@ }, "kind": { "enum": [ - "githubrelease" + "maven" ] }, "transformers": { @@ -8076,25 +8202,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { + "url": { "type": "string", - "description": "[s][c] Owner specifies repository owner" + "description": "Deprecated, please specify the Maven url in the repository" }, "repository": { "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" + "description": "Specifies the maven repository url + name" }, - "token": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." + }, + "groupid": { "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" + "description": "Specifies the maven artifact groupID" }, - "url": { + "artifactid": { "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "description": "Specifies the maven artifact artifactID" }, - "username": { + "version": { "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + "description": "Specifies the maven artifact version" }, "versionfilter": { "properties": { @@ -8113,44 +8246,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 \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -8179,7 +8280,7 @@ }, "kind": { "enum": [ - "hcl" + "gitlab/release" ] }, "transformers": { @@ -8280,29 +8381,77 @@ "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" + "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": "\"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": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "path": { + "title": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "[T] Title defines the GitLab release title." }, - "value": { + "tag": { "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][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": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -8331,7 +8480,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "golang/gomod" ] }, "transformers": { @@ -8432,57 +8581,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][C] 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" }, - "tag": { + "version": { "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "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", @@ -8511,7 +8629,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "helmchart" ] }, "transformers": { @@ -8612,25 +8730,41 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" }, - "username": { + "key": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." }, - "token": { + "name": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" }, - "owner": { + "skippackaging": { + "type": "boolean", + "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" + }, + "url": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "version": { + "type": "string", + "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" + }, + "versionincrement": { + "type": "string", + "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" + }, + "appversion": { + "type": "boolean", + "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" }, "versionfilter": { "properties": { @@ -8649,20 +8783,24 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default." }, - "branch": { + "username": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -8691,7 +8829,7 @@ }, "kind": { "enum": [ - "golang" + "json" ] }, "transformers": { @@ -8792,9 +8930,28 @@ "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 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" + }, + "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\" 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": { @@ -8813,12 +8970,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 \"Golang\" resource parsed from an updatecli manifest file" + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -8847,7 +9004,7 @@ }, "kind": { "enum": [ - "json" + "terraform/provider" ] }, "transformers": { @@ -8950,50 +9107,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 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 Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "key": { - "type": "string", - "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" + "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\" 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": "\"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." }, - "query": { + "provider": { "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": "\"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": "\"json\" defines the specification for manipulating \"json\" files." + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -9022,7 +9156,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "aws/ami" ] }, "transformers": { @@ -9123,29 +9257,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "accesskey": { "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": "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\" 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": "Filters specifies a list of AMI filters" }, - "value": { + "region": { "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": "Region specifies the AWS region to use when looking for AMI" }, - "provider": { + "endpoint": { "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": "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": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -9174,7 +9332,7 @@ }, "kind": { "enum": [ - "toolversions" + "dockerdigest" ] }, "transformers": { @@ -9275,32 +9433,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "architecture": { "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" + "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": "[c][t] Files specifies a list of .tool-versions file to manipulate" + "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" }, - "key": { + "tag": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "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": "[s][c][t] Value specifies the value for a specific key. Default to 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." }, - "createmissingkey": { + "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": "[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": "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", @@ -9329,7 +9497,7 @@ }, "kind": { "enum": [ - "yaml" + "gittag" ] }, "transformers": { @@ -9415,56 +9583,75 @@ ], "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." - } + "semverinc": { + "type": "string", + "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Transformer holds a transformer rule" + }, + "type": "array", + "description": "transformers defines how the default input value need to be transformed" + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "path": { + "type": "string", + "description": "Path contains the git repository path" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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" }, - "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": { - "engine": { + "message": { "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": "Message associated to the git tag\n\n compatible:\n * target" }, - "file": { + "key": { "type": "string", - "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "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": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" }, - "key": { + "url": { "type": "string", - "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" + "description": "\"url\" 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" }, - "value": { + "username": { "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": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" }, - "keyonly": { - "type": "boolean", - "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" + "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" }, - "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": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -9476,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": { @@ -9493,7 +9688,7 @@ }, "kind": { "enum": [ - "dockerimage" + "aws/ami" ] }, "transformers": { @@ -9594,68 +9789,66 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { - "items": { - "type": "string" - }, - "type": "array", - "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "image": { + "accesskey": { "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" + "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "tag": { + "secretkey": { "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" + "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "filters": { + "items": { + "properties": { + "name": { + "type": "string", + "description": "Name specifies a filter name." + }, + "values": { + "type": "string", + "description": "Values specifies a filter value for a specific filter name." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Filter represents the updatecli configuration describing AMI filters." + }, + "type": "array", + "description": "Filters specifies a list of AMI filters" }, - "password": { + "region": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Region specifies the AWS region to use when looking for AMI" }, - "token": { + "endpoint": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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" + "dryrun": { + "type": "boolean", + "description": "Dryrun allows to Check whether you have the required permissions for the action." }, - "tagfilter": { + "sortby": { "type": "string", - "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" + "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", "description": "scmid specifies the scm configuration key associated to the current resource" + }, + "sourceid": { + "type": "string" + }, + "disablesourceinput": { + "type": "boolean" + }, + "failwhen": { + "type": "boolean" } }, "additionalProperties": false, @@ -9663,15 +9856,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 +9873,7 @@ }, "kind": { "enum": [ - "cargopackage" + "golang/gomod" ] }, "transformers": { @@ -9789,74 +9974,26 @@ "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" + "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" }, - "package": { + "module": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "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": "[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." + "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "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 \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -9894,7 +10031,7 @@ }, "kind": { "enum": [ - "csv" + "golang/module" ] }, "transformers": { @@ -9995,36 +10132,17 @@ "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": { + "proxy": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "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." }, - "value": { + "module": { "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] Module specifies the name of the module" }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + "version": { + "type": "string", + "description": "[C] Defines a specific package version" }, "versionfilter": { "properties": { @@ -10043,11 +10161,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." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "module" + ], + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -10085,7 +10207,7 @@ }, "kind": { "enum": [ - "golang" + "file" ] }, "transformers": { @@ -10186,33 +10308,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "version": { + "file": { "type": "string", - "description": "[C] Version defines a specific golang version" + "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": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "type": "array", + "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" + }, + "line": { + "type": "integer", + "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + }, + "content": { + "type": "string", + "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + }, + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + }, + "matchpattern": { + "type": "string", + "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + }, + "replacepattern": { + "type": "string", + "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + }, + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "additionalProperties": false, "type": "object", - "description": "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", @@ -10250,7 +10384,7 @@ }, "kind": { "enum": [ - "helmchart" + "gitea/tag" ] }, "transformers": { @@ -10351,41 +10485,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": { @@ -10404,24 +10522,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][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" + "description": "[S] Tag defines the Gitea tag ." } }, "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", @@ -10459,7 +10574,7 @@ }, "kind": { "enum": [ - "yaml" + "stash/branch" ] }, "transformers": { @@ -10560,41 +10675,62 @@ "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\" specifies the default stash url in case of Bitbucket Server" }, - "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\" specifies the username used to authenticate with Bitbucket Server 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 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": "\"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": "\"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": "\"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] Owner specifies repository 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" + "repository": { + "type": "string", + "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": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -10632,7 +10768,7 @@ }, "kind": { "enum": [ - "githubrelease" + "xml" ] }, "transformers": { @@ -10711,103 +10847,44 @@ "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": { - "owner": { - "type": "string", - "description": "[s][c] Owner specifies repository owner" - }, - "repository": { - "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" - }, - "token": { - "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" - }, - "url": { - "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" - }, - "username": { - "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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." + } }, - "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" + "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\" 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" }, - "tag": { + "path": { "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to 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\"" + }, + "value": { + "type": "string", + "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository", - "token" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -10845,7 +10922,7 @@ }, "kind": { "enum": [ - "golang/module" + "helmchart" ] }, "transformers": { @@ -10946,17 +11023,41 @@ "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 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\"" }, - "module": { + "key": { "type": "string", - "description": "[S][C] Module specifies the name of the module" + "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": { @@ -10975,15 +11076,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": [ - "module" - ], - "description": "Spec defines a specification for a \"gomodule\" 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", @@ -11021,7 +11131,7 @@ }, "kind": { "enum": [ - "jenkins" + "stash/tag" ] }, "transformers": { @@ -11122,18 +11232,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "url": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "version": { + "username": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "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", - "description": "Spec defines a specification for a \"jenkins\" 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", @@ -11171,7 +11325,7 @@ }, "kind": { "enum": [ - "terraform/file" + "terraform/lock" ] }, "transformers": { @@ -11274,27 +11428,38 @@ "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 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 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 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" }, - "path": { + "value": { "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": "\"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." }, - "value": { + "provider": { "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": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "skipconstraints": { + "type": "boolean", + "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -11332,7 +11497,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "terraform/registry" ] }, "transformers": { @@ -11433,40 +11598,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "type": { "type": "string", - "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "hostname": { + "type": "string", + "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "value": { + "namespace": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "provider": { + "name": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "platforms": { - "items": { - "type": "string" + "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" + } }, - "type": "array", - "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" - }, - "skipconstraints": { - "type": "boolean", - "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" + "additionalProperties": false, + "type": "object", + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object", - "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "type": "object" }, "scmid": { "type": "string", @@ -11504,7 +11685,7 @@ }, "kind": { "enum": [ - "toml" + "toolversions" ] }, "transformers": { @@ -11607,46 +11788,23 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" + "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 Json file to manipulate" - }, - "query": { - "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "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 toml file" + "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" }, "value": { "type": "string", "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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" @@ -11691,7 +11849,7 @@ }, "kind": { "enum": [ - "gittag" + "dockerfile" ] }, "transformers": { @@ -11792,60 +11950,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "file": { "type": "string", - "description": "Path contains the git repository path" + "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": "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" + "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 when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "password": { + "value": { "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "Value specifies the value for a specified Dockerfile instruction." }, - "sourcebranch": { + "stage": { "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": "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" - ], - "description": "Spec defines a specification for a \"gittag\" 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", @@ -11883,7 +12013,7 @@ }, "kind": { "enum": [ - "gitea/release" + "gitea/branch" ] }, "transformers": { @@ -11998,11 +12128,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": { @@ -12021,31 +12151,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, @@ -12093,7 +12203,7 @@ }, "kind": { "enum": [ - "http" + "gitlab/branch" ] }, "transformers": { @@ -12196,60 +12306,55 @@ "properties": { "url": { "type": "string", - "description": "[S][C] Specifies the URL of the HTTP request for this resource." + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "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 GitLab" }, - "request": { + "token": { + "type": "string", + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { "properties": { - "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." + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -12287,7 +12392,7 @@ }, "kind": { "enum": [ - "temurin" + "githubrelease" ] }, "transformers": { @@ -12388,52 +12493,81 @@ "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": { + "owner": { "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": "[s][c] Owner specifies repository owner" }, - "architecture": { + "repository": { "type": "string", - "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, - "imagetype": { + "token": { "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": "[s][c] Token specifies the credential used to authenticate with" }, - "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] URL specifies the default github url in case of GitHub enterprise" }, - "specificversion": { + "username": { "type": "string", - "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" }, - "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\"" + "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." }, - "platforms": { - "items": { - "type": "string" + "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": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." + "additionalProperties": false, + "type": "object", + "description": "[s][c] 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" + "type": "object", + "required": [ + "owner", + "repository", + "token" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12471,7 +12605,7 @@ }, "kind": { "enum": [ - "xml" + "npm" ] }, "transformers": { @@ -12572,22 +12706,49 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "name": { "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": "Defines the specific npm package name" }, - "path": { + "version": { "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": "Defines a specific package version" }, - "value": { + "url": { "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 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": "\"xml\" defines the specification for manipulating \"xml\" files." + "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12625,7 +12786,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "cargopackage" ] }, "transformers": { @@ -12726,25 +12887,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": { @@ -12764,19 +12947,14 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "branch": { - "type": "string", - "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ - "owner", - "repository" + "package" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12814,7 +12992,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "dockerimage" ] }, "transformers": { @@ -12915,26 +13093,64 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "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": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "architecture specifies the container image architecture such as `amd64`\n\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" }, - "module": { + "image": { "type": "string", - "description": "Module defines the module path\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "tag": { + "type": "string", + "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" }, - "version": { + "username": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "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 \"Golang\" 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", @@ -12972,7 +13188,7 @@ }, "kind": { "enum": [ - "hcl" + "gitlab/release" ] }, "transformers": { @@ -13058,44 +13274,92 @@ ], "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." - } + "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 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": { + "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." }, - "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": { + "title": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[T] Title defines the GitLab release title." }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "tag": { + "type": "string", + "description": "[C][T] Tag defines the GitLab release tag." }, - "path": { + "commitish": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "[T] Commitish defines the commit-ish such as `main`" }, - "value": { + "description": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "[T] Description defines if the new release description" + }, + "draft": { + "type": "boolean", + "description": "[T] Draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] Prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -13133,7 +13397,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "hcl" ] }, "transformers": { @@ -13236,27 +13500,27 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "value": { + "path": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "provider": { + "value": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -13294,7 +13558,7 @@ }, "kind": { "enum": [ - "json" + "jenkins" ] }, "transformers": { @@ -13395,52 +13659,18 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "key": { - "type": "string", - "description": "\"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": { + "release": { "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] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "query": { + "version": { "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": "[s][c] Defines a specific release version (condition only)" } }, "additionalProperties": false, "type": "object", - "description": "\"json\" defines the specification for manipulating \"json\" files." + "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -13478,7 +13708,7 @@ }, "kind": { "enum": [ - "maven" + "csv" ] }, "transformers": { @@ -13579,32 +13809,36 @@ "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 csv file" }, - "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": "[c][t] Files specifies a list of Json file to manipulate" }, - "groupid": { + "key": { "type": "string", - "description": "Specifies the maven artifact groupID" + "description": "[s][c][t] Key specifies the csv query" }, - "artifactid": { + "query": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "version": { + "value": { "type": "string", - "description": "Specifies the maven artifact version" + "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": { @@ -13623,12 +13857,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", - "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -13666,7 +13899,7 @@ }, "kind": { "enum": [ - "stash/branch" + "gittag" ] }, "transformers": { @@ -13767,29 +14000,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" - }, - "repository": { + "path": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "Path contains the git repository path" }, "versionfilter": { "properties": { @@ -13808,21 +14021,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 Bitbucket Server release" + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -13860,7 +14091,7 @@ }, "kind": { "enum": [ - "stash/tag" + "maven" ] }, "transformers": { @@ -13963,27 +14194,30 @@ "properties": { "url": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "Deprecated, please specify the Maven url in the repository" }, - "username": { + "repository": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "Specifies the maven repository url + name" }, - "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" + "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." }, - "password": { + "groupid": { "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": "Specifies the maven artifact groupID" }, - "owner": { + "artifactid": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "Specifies the maven artifact artifactID" }, - "repository": { + "version": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "Specifies the maven artifact version" }, "versionfilter": { "properties": { @@ -14002,21 +14236,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 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" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -14054,7 +14279,7 @@ }, "kind": { "enum": [ - "dockerfile" + "temurin" ] }, "transformers": { @@ -14155,32 +14380,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "releaseline": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "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 specifies the dockerimage file path(s) to use and is incompatible with File" + "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)" }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "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.)" }, - "value": { + "result": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "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)" }, - "stage": { + "architecture": { "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": "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", - "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -14218,7 +14463,7 @@ }, "kind": { "enum": [ - "file" + "terraform/provider" ] }, "transformers": { @@ -14321,43 +14566,27 @@ "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": "\"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` 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": "\"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" }, - "matchpattern": { + "value": { "type": "string", - "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "\"value\" is the value associated with a 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." }, - "replacepattern": { + "provider": { "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": "\"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 \"file\" resource parsed from an updatecli manifest file" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -14395,7 +14624,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "yaml" ] }, "transformers": { @@ -14496,58 +14725,41 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "engine": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" }, - "username": { + "file": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "owner": { + "key": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -14585,7 +14797,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "gitea/release" ] }, "transformers": { @@ -14700,11 +14912,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": { @@ -14723,11 +14935,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, @@ -14775,7 +15007,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "gitlab/tag" ] }, "transformers": { @@ -14890,11 +15122,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": { @@ -14913,31 +15145,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, @@ -14984,7 +15196,7 @@ }, "kind": { "enum": [ - "npm" + "golang" ] }, "transformers": { @@ -15085,21 +15297,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": { - "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "description": "[C] Version defines a specific golang version" }, "versionfilter": { "properties": { @@ -15118,16 +15318,12 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "npmrcpath": { - "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "description": "[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 an Npm package parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15165,7 +15361,7 @@ }, "kind": { "enum": [ - "aws/ami" + "json" ] }, "transformers": { @@ -15266,53 +15462,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": { - "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." + "files": { + "items": { + "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", @@ -15350,7 +15545,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "terraform/file" ] }, "transformers": { @@ -15451,57 +15646,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 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 GitLab 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": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -15539,7 +15706,7 @@ }, "kind": { "enum": [ - "toolversions" + "toml" ] }, "transformers": { @@ -15642,23 +15809,46 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" + "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 .tool-versions file to manipulate" + "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 .tool-versions file" + "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" }, "value": { "type": "string", "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, + "versionfilter": { + "properties": { + "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" @@ -15877,7 +16067,7 @@ }, "kind": { "enum": [ - "dockerimage" + "gitbranch" ] }, "transformers": { @@ -15978,36 +16168,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { - "items": { - "type": "string" - }, - "type": "array", - "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "image": { - "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" - }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" - }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { + "path": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "path contains the git repository path" }, "versionfilter": { "properties": { @@ -16026,16 +16189,35 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "tagfilter": { + "branch": { "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": "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 \"dockerimage\" 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", @@ -16073,7 +16255,7 @@ }, "kind": { "enum": [ - "gitbranch" + "http" ] }, "transformers": { @@ -16174,56 +16356,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "url": { "type": "string", - "description": "path contains the git repository path" + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "versionfilter": { + "returnresponseheader": { + "type": "string", + "description": "[S] Specifies the header to return as source value (instead of the body)." + }, + "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": "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" + "description": "[S][C] Customizes the HTTP request to emit." }, - "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" + "responseasserts": { + "properties": { + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[C] Specifies a set of assertions on the HTTP response headers." + }, + "statuscode": { + "type": "integer", + "description": "[C] Specifies a custom assertion on the HTTP response status code." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." } }, "additionalProperties": false, "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -16506,194 +16694,6 @@ "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/registry" - ] - }, - "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": { - "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": "\"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" - }, - "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" - ] } ] }, @@ -16719,7 +16719,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "gitlab/tag" ] }, "transformers": { @@ -16857,11 +16857,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 GitLab tag ." } }, "additionalProperties": false, @@ -16917,7 +16917,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "hcl" ] }, "transformers": { @@ -17004,91 +17004,43 @@ "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 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": { - "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." + "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 GitLab release title." + "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" }, - "tag": { - "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." + "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" }, - "commitish": { + "path": { "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "description": { + "value": { "type": "string", - "description": "[T] Description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" - }, - "prerelease": { - "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -17135,7 +17087,7 @@ }, "kind": { "enum": [ - "jenkins" + "dockerfile" ] }, "transformers": { @@ -17236,18 +17188,32 @@ "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 specifies the dockerimage file path to use and is incompatible with Files" }, - "version": { + "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": "[s][c] Defines a specific release version (condition only)" + "description": "Value specifies the value for a specified Dockerfile instruction." + }, + "stage": { + "type": "string", + "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"jenkins\" 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", @@ -17294,7 +17260,7 @@ }, "kind": { "enum": [ - "json" + "file" ] }, "transformers": { @@ -17397,50 +17363,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", @@ -17487,7 +17446,7 @@ }, "kind": { "enum": [ - "stash/branch" + "gittag" ] }, "transformers": { @@ -17588,29 +17547,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" - }, - "repository": { + "path": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "Path contains the git repository path" }, "versionfilter": { "properties": { @@ -17629,21 +17568,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 Bitbucket Server release" + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -17690,7 +17647,7 @@ }, "kind": { "enum": [ - "toolversions" + "gitea/branch" ] }, "transformers": { @@ -17791,32 +17748,58 @@ "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 Gitea url to interact with" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "key": { + "token": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "description": "\"token\" specifies the credential used to authenticate with 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] Value specifies the value for a specific key. Default to source output" + "description": "[S][C] Owner specifies repository owner" }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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" + "type": "object", + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -17863,7 +17846,7 @@ }, "kind": { "enum": [ - "csv" + "gitea/release" ] }, "transformers": { @@ -17963,37 +17946,26 @@ }, "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": { + "properties": { + "url": { "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "description": "\"url\" defines the Gitea url to interact with" }, - "query": { + "username": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "value": { + "token": { "type": "string", - "description": "[s][c][t] Key specifies the csv value, default to 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" }, - "comma": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + "owner": { + "type": "string", + "description": "[S][C][T] owner specifies the 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": { @@ -18012,11 +17984,41 @@ }, "additionalProperties": false, "type": "object", - "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "title": { + "type": "string", + "description": "[T] title defines the 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" + "type": "object", + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -18063,7 +18065,7 @@ }, "kind": { "enum": [ - "gitea/release" + "gitea/tag" ] }, "transformers": { @@ -18178,11 +18180,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": { @@ -18201,31 +18203,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." + "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 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] Tag defines the Gitea tag ." } }, "additionalProperties": false, @@ -18282,7 +18264,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "helmchart" ] }, "transformers": { @@ -18385,27 +18367,75 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of 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" + "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 terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "provider": { + "version": { "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": "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", + "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": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -18452,7 +18482,7 @@ }, "kind": { "enum": [ - "xml" + "http" ] }, "transformers": { @@ -18553,22 +18583,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", @@ -18615,7 +18685,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "maven" ] }, "transformers": { @@ -18716,42 +18786,56 @@ "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": { + "url": { "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": "Deprecated, please specify the Maven url in the repository" }, - "tag": { + "repository": { "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": "Specifies the maven repository url + name" }, - "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." + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." }, - "username": { + "groupid": { "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Specifies the maven artifact groupID" }, - "password": { + "artifactid": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Specifies the maven artifact artifactID" }, - "token": { + "version": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "Specifies the maven artifact version" }, - "hidetag": { - "type": "boolean", - "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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 \"dockerdigest\" 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", @@ -18798,7 +18882,7 @@ }, "kind": { "enum": [ - "file" + "aws/ami" ] }, "transformers": { @@ -18899,45 +18983,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "accesskey": { "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": "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` 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": "Filters specifies a list of AMI filters" }, - "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" + "region": { + "type": "string", + "description": "Region specifies the AWS region to use when looking for AMI" }, - "content": { + "endpoint": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" }, - "forcecreate": { + "dryrun": { "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": "Dryrun allows to Check whether you have the required permissions for the action." }, - "replacepattern": { + "sortby": { "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": "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 \"file\" resource parsed from an updatecli manifest file" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -18984,7 +19076,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "csv" ] }, "transformers": { @@ -19085,25 +19177,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "[s][c][t] File specifies the csv file" }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "token": { + "key": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "[s][c][t] Key specifies the csv query" }, - "owner": { + "query": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[s][c][t] Key specifies the csv value, default to source output" + }, + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + }, + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" }, "versionfilter": { "properties": { @@ -19122,20 +19225,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "tag": { - "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, - "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "type": "object" }, "scmid": { "type": "string", @@ -19182,7 +19276,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "gitbranch" ] }, "transformers": { @@ -19283,26 +19377,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "path": { "type": "string", - "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "path contains the git repository path" }, - "module": { + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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": "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": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "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" }, - "version": { + "url": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "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", @@ -19349,7 +19473,7 @@ }, "kind": { "enum": [ - "githubrelease" + "temurin" ] }, "transformers": { @@ -19450,81 +19574,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { + "releaseline": { "type": "string", - "description": "[s][c] Owner specifies repository owner" + "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "repository": { + "releasetype": { "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" + "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": "[s][c] Token specifies the credential used to authenticate with" + "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)" }, - "url": { + "architecture": { "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "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": "[s][c] Username specifies the username used to authenticate with GitHub API" + "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": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "operatingsystem": { + "type": "string", + "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" }, - "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" + "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)" }, - "tag": { + "project": { "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + }, + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." } }, "additionalProperties": false, - "type": "object", - "required": [ - "owner", - "repository", - "token" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -19571,7 +19666,7 @@ }, "kind": { "enum": [ - "golang/module" + "terraform/file" ] }, "transformers": { @@ -19672,44 +19767,29 @@ "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 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" }, - "module": { - "type": "string", - "description": "[S][C] Module specifies the name of the module" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "version": { + "path": { "type": "string", - "description": "[C] Defines a specific package 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" }, - "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." + "value": { + "type": "string", + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "required": [ - "module" - ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -19756,7 +19836,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "terraform/registry" ] }, "transformers": { @@ -19857,40 +19937,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "type": { "type": "string", - "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "hostname": { + "type": "string", + "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "value": { + "namespace": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "provider": { + "name": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "platforms": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "targetsystem": { + "type": "string", + "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." }, - "skipconstraints": { - "type": "boolean", - "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" + "rawstring": { + "type": "string", + "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + }, + "version": { + "type": "string", + "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "type": "object" }, "scmid": { "type": "string", @@ -19937,7 +20033,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "xml" ] }, "transformers": { @@ -20038,56 +20134,22 @@ "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": { + "file": { "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": "\"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" }, - "rawstring": { + "path": { "type": "string", - "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + "description": "\"path\" defines the 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\"" }, - "version": { + "value": { "type": "string", - "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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" + "type": "object", + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -20349,7 +20411,7 @@ }, "kind": { "enum": [ - "dockerfile" + "dockerimage" ] }, "transformers": { @@ -20450,32 +20512,64 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" - }, - "files": { + "architectures": { "items": { "type": "string" }, "type": "array", - "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" + "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" }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "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" }, - "value": { + "image": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "stage": { + "tag": { "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": "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 \"dockerfile\" 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", @@ -20522,7 +20616,7 @@ }, "kind": { "enum": [ - "gittag" + "gitlab/branch" ] }, "transformers": { @@ -20613,19 +20707,35 @@ "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." } }, - "additionalProperties": false, - "type": "object", - "description": "Transformer holds a transformer rule" - }, - "type": "array", - "description": "transformers defines how the default input value need to be transformed" - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "path": { + "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 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": "Path contains the git repository path" + "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": { @@ -20644,39 +20754,20 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "message": { - "type": "string", - "description": "Message associated to the git tag\n\n compatible:\n * target" - }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" - }, - "url": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "sourcebranch": { + "branch": { "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "owner", + "repository" ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -20723,7 +20814,7 @@ }, "kind": { "enum": [ - "http" + "npm" ] }, "transformers": { @@ -20824,62 +20915,49 @@ "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": "[S][C] Specifies the URL of the HTTP request for this resource." + "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" }, - "returnresponseheader": { + "registrytoken": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "RegistryToken defines the token to use when connection to the registry" }, - "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." }, - "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." + "npmrcpath": { + "type": "string", + "description": "NpmrcPath defines the path to the .npmrc file" } }, "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 an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -20926,7 +21004,7 @@ }, "kind": { "enum": [ - "temurin" + "shell" ] }, "transformers": { @@ -21027,52 +21105,130 @@ "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": { + "command": { "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": "command specifies the shell command to execute by Updatecli" }, - "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\"" + "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." }, - "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\"" + "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" }, - "specificversion": { + "shell": { "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": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" }, - "project": { + "workdir": { "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": "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", @@ -21119,7 +21275,7 @@ }, "kind": { "enum": [ - "npm" + "yaml" ] }, "transformers": { @@ -21220,49 +21376,41 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { + "engine": { "type": "string", - "description": "Defines the specific npm package name" + "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" }, - "version": { + "file": { "type": "string", - "description": "Defines a specific package version" + "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" }, - "url": { + "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": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "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" }, - "registrytoken": { + "value": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "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." + "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" }, - "npmrcpath": { - "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "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 an Npm package parsed from an updatecli manifest file" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -21309,7 +21457,7 @@ }, "kind": { "enum": [ - "stash/tag" + "dockerdigest" ] }, "transformers": { @@ -21410,62 +21558,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "architecture": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" }, - "username": { + "image": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "token": { + "tag": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "password": { + "digest": { "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." }, - "owner": { + "username": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "repository": { + "password": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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": "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": "[S] Tag defines the Bitbucket tag ." + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + }, + "hidetag": { + "type": "boolean", + "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -21512,7 +21640,7 @@ }, "kind": { "enum": [ - "terraform/file" + "golang/gomod" ] }, "transformers": { @@ -21615,27 +21743,24 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "path": { + "module": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "Module defines the module path\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "value": { + "indirect": { + "type": "boolean", + "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + }, + "version": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -21682,7 +21807,7 @@ }, "kind": { "enum": [ - "aws/ami" + "jenkins" ] }, "transformers": { @@ -21783,53 +21908,18 @@ "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." - }, - "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": { + "release": { "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": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "sortby": { + "version": { "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] Defines a specific release version (condition only)" } }, "additionalProperties": false, "type": "object", - "description": "Spec contains the updatecli configuration provided by users." + "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -21876,7 +21966,7 @@ }, "kind": { "enum": [ - "dockerimage" + "stash/branch" ] }, "transformers": { @@ -21977,36 +22067,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { - "items": { - "type": "string" - }, - "type": "array", - "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "architecture": { + "url": { "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "image": { + "username": { "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "tag": { + "token": { "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" + "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" }, - "username": { + "password": { "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": "\"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" }, - "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] 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] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -22025,16 +22108,21 @@ }, "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": { + "branch": { "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": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -22081,7 +22169,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "stash/tag" ] }, "transformers": { @@ -22184,15 +22272,19 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", @@ -22223,7 +22315,7 @@ }, "tag": { "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "description": "[S] Tag defines the Bitbucket tag ." } }, "additionalProperties": false, @@ -22233,7 +22325,7 @@ "owner", "repository" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -22280,7 +22372,7 @@ }, "kind": { "enum": [ - "hcl" + "terraform/lock" ] }, "transformers": { @@ -22383,27 +22475,38 @@ "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 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 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 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" }, - "path": { + "value": { "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": "\"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." }, - "value": { + "provider": { "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": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "skipconstraints": { + "type": "boolean", + "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -22450,7 +22553,7 @@ }, "kind": { "enum": [ - "helmchart" + "githubrelease" ] }, "transformers": { @@ -22551,41 +22654,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": { @@ -22604,24 +22691,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", @@ -22668,7 +22775,7 @@ }, "kind": { "enum": [ - "maven" + "golang" ] }, "transformers": { @@ -22769,32 +22876,9 @@ "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" - }, - "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" + "description": "[C] Version defines a specific golang version" }, "versionfilter": { "properties": { @@ -22818,7 +22902,7 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -22865,7 +22949,7 @@ }, "kind": { "enum": [ - "gitbranch" + "golang/module" ] }, "transformers": { @@ -22966,9 +23050,17 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "proxy": { "type": "string", - "description": "path contains the git repository path" + "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" }, "versionfilter": { "properties": { @@ -22987,35 +23079,15 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "branch": { - "type": "string", - "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" - }, - "sourcebranch": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "url": { - "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "module" ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -23062,7 +23134,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "terraform/provider" ] }, "transformers": { @@ -23163,58 +23235,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { + "file": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -23261,7 +23304,7 @@ }, "kind": { "enum": [ - "golang" + "toolversions" ] }, "transformers": { @@ -23362,33 +23405,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "version": { + "file": { "type": "string", - "description": "[C] Version defines a specific golang version" + "description": "[s][c][t] File specifies the .tool-versions file to manipulate" }, - "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." + "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": { + "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" } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -23435,7 +23477,7 @@ }, "kind": { "enum": [ - "shell" + "gitlab/release" ] }, "transformers": { @@ -23536,130 +23578,77 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "command": { + "url": { "type": "string", - "description": "command specifies the shell command to execute by Updatecli" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "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\" defines the username used to authenticate with GitLab" }, - "changedif": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "console/output" - ] - }, - "spec": true - }, - "additionalProperties": false, - "type": "object" + "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" }, - { - "$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" + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "shell": { + "title": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "description": "[T] Title defines the GitLab release title." }, - "workdir": { + "tag": { "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": "[C][T] Tag defines the GitLab release tag." + }, + "commitish": { + "type": "string", + "description": "[T] Commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] Description defines if the new release description" + }, + "draft": { + "type": "boolean", + "description": "[T] Draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] Prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", "required": [ - "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", @@ -23706,7 +23695,7 @@ }, "kind": { "enum": [ - "toml" + "json" ] }, "transformers": { @@ -23809,26 +23798,26 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" + "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" - }, - "query": { - "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, "key": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" }, "value": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" }, "versionfilter": { "properties": { @@ -23847,15 +23836,12 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -23902,7 +23888,7 @@ }, "kind": { "enum": [ - "yaml" + "toml" ] }, "transformers": { @@ -24003,41 +23989,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", diff --git a/content/en/schema/latest/policy/manifest/config.json b/content/en/schema/latest/policy/manifest/config.json index f87fa32b..a56b4dff 100644 --- a/content/en/schema/latest/policy/manifest/config.json +++ b/content/en/schema/latest/policy/manifest/config.json @@ -15,53 +15,19 @@ "crawlers": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "flux": { + "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 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 ArgoCD manifest" }, "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 Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." }, "repositories": { "items": { @@ -70,12 +36,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, @@ -83,14 +49,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 Argocd manifest 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 Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." }, "repositories": { "items": { @@ -99,12 +65,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, @@ -112,15 +78,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 ArgoCD manifest based on a rule" }, "versionfilter": { "properties": { @@ -139,37 +97,51 @@ }, "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 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 Flux crawler." + "description": "Spec defines the parameters which can be provided to the argocd builder." }, - "golang/gomod": { + "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 golang go.mod" + "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 go.mod 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." }, - "modules": { - "additionalProperties": { + "services": { + "items": { "type": "string" }, - "type": "object", - "description": "Modules specifies a list of module pattern." + "type": "array", + "description": "Services specifies a list of docker compose services" }, - "goversion": { - "type": "string", - "description": "GoVersions specifies a list of version pattern." + "images": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -177,25 +149,35 @@ "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 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 go.mod 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." }, - "modules": { - "additionalProperties": { + "services": { + "items": { "type": "string" }, - "type": "object", - "description": "Modules specifies a list of module pattern." + "type": "array", + "description": "Services specifies a list of docker compose services" }, - "goversion": { - "type": "string", - "description": "GoVersions specifies a list of version pattern." + "images": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -203,35 +185,8 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "`only` allows to specify rule to \"only\" autodiscover manifest for a specific golang rule" + "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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 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 Golang autodiscovery builder." - }, - "helm": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { "auths": { "additionalProperties": { "properties": { @@ -253,81 +208,14 @@ "description": "InlineKeyChain defines a keychain with OCI registry credentials" }, "type": "object", - "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\n\t\tif empty, updatecli relies on OCI credentials such as the one used by Docker." - }, - "digest": { - "type": "boolean", - "description": "digest provides a parameter to specify if the generated manifest should use a digest on top of the tag when updating container." - }, - "ignorecontainer": { - "type": "boolean", - "description": "ignorecontainer disables OCI container tag update when set to true" - }, - "ignorechartdependency": { - "type": "boolean", - "description": "ignorechartdependency disables Helm chart dependencies update when set to true" - }, - "ignore": { - "items": { - "properties": { - "path": { - "type": "string", - "description": "Path specifies a 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." - }, - "containers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Containers specifies a list of containers pattern." - } - }, - "additionalProperties": false, - "type": "object", - "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": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, - "only": { + "filematch": { "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." - }, - "containers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Containers specifies a list of containers pattern." - } - }, - "additionalProperties": false, - "type": "object", - "description": "MatchingRule allows to specifies rules to identify manifest" + "type": "string" }, "type": "array", - "description": "only specify required rule(s) to restrict Helm chart update." + "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": { @@ -347,74 +235,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 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." }, - "ko": { + "dockerfile": { "$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 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 Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Dockerfile path pattern, the pattern requires to match all of name, not just a substring." }, "images": { "items": { "type": "string" }, "type": "array", - "description": "Images specifies the list of container image to check" + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -422,21 +279,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 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 Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Dockerfile path pattern, the pattern requires to match all of name, not just a substring." }, "images": { "items": { "type": "string" }, "type": "array", - "description": "Images specifies the list of container image to check" + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -444,35 +308,8 @@ "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 Helm based on a rule" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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." - }, - "kubernetes": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { "auths": { "additionalProperties": { "properties": { @@ -496,34 +333,57 @@ "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": { + "filematch": { "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": "FileMatch allows to override default Dockerfile file matching. Default [\"Dockerfile\"]" }, + "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 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." + }, + "updatecli": { + "$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 Updatecli 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 Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { - "items": { + "policies": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Images specifies the list of container image to check" + "type": "object", + "description": "Policies specifies a Updatecli policy" } }, "additionalProperties": false, @@ -531,21 +391,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 Updatecli 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 Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { - "items": { + "policies": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Images specifies the list of container image to check" + "type": "object", + "description": "Policies specifies a Updatecli policy" } }, "additionalProperties": false, @@ -553,7 +413,37 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific Kubernetes manifest based on a rule" + "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Updatecli based on a rule" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." + }, + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, "versionfilter": { "properties": { @@ -577,82 +467,62 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Kubernetes builder." + "description": "Spec defines the Updatecli parameters." }, - "dockercompose": { + "kubernetes": { "$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" - }, - "ignore": { - "items": { + "auths": { + "additionalProperties": { "properties": { - "archs": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Arch specifies a list of docker image architecture" - }, - "path": { + "username": { "type": "string", - "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." + "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" }, - "services": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Services specifies a list of docker compose services" + "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" }, - "images": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Image specifies a list of docker image" + "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": "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": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" + "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." }, - "only": { + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for Kubernetes files" + }, + "ignore": { "items": { "properties": { - "archs": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Arch specifies a list of docker image architecture" - }, "path": { "type": "string", - "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." - }, - "services": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Services specifies a list of docker compose services" + "description": "Path specifies a 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": "Image specifies a list of docker image" + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -660,37 +530,29 @@ "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": "Ignore allows to specify rule to ignore autodiscovery a specific Kubernetes manifest based on a rule" }, - "auths": { - "additionalProperties": { + "only": { + "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 Fleet bundle 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" + "images": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Images specifies the list of container image to check" } }, "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" + "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 allows to specify rule to only autodiscover manifest for a specific Kubernetes manifest based on a rule" }, "versionfilter": { "properties": { @@ -714,15 +576,11 @@ }, "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 Kubernetes builder." }, - "dockerfile": { + "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" @@ -730,23 +588,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 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 substring." }, - "images": { + "groupids": { "items": { "type": "string" }, "type": "array", - "description": "Image specifies a list of docker image" + "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, @@ -759,23 +617,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 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 substring." }, - "images": { + "groupids": { "items": { "type": "string" }, "type": "array", - "description": "Image specifies a list of docker image" + "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, @@ -785,36 +643,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 Dockerfile file matching. Default [\"Dockerfile\"]" - }, "versionfilter": { "properties": { "kind": { @@ -837,31 +665,35 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec is a struct fill from Updatecli manifest data and shouldn't be modified at runtime unless For Fields that requires it, we can use the struct Dockerfile Spec defines the parameters which can be provided to the Dockerfile crawler." + "description": "Spec defines the parameters which can be provided to the Helm builder." }, - "github/action": { + "cargo": { "$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 Cargo.toml" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "actions": { + "crates": { "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": "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, @@ -869,21 +701,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty" + "description": "Ignore specifies rule to ignore Cargo.toml update." }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "actions": { + "crates": { "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": "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, @@ -891,11 +730,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 GitHub action based on a rule\n\ndefault: empty" + "description": "Only specify required rule to restrict Cargo.toml update." }, - "rootdir": { - "type": "string", - "description": "rootDir allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty" + "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": { @@ -914,30 +786,14 @@ }, "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 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 Github Action crawler." + "description": "Spec defines the Cargo parameters." }, - "prow": { + "flux": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "auths": { @@ -961,36 +817,43 @@ "description": "InlineKeyChain defines a keychain with OCI registry credentials" }, "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + "description": "auths provides a map of registry credentials where the key is the registry URL without scheme" }, "digest": { "type": "boolean", - "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." + "description": "digest allows to specify if the generated manifest should use OCI digest on top of the tag\n\ndefault: true" + }, + "helmrelease": { + "type": "boolean", + "description": "helmRelease define if helmrelease file should be updated or not\n\ndefault: true" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." - }, - "rootdir": { - "type": "string", - "description": "RootDir defines the root directory used to recursively search for Kubernetes files" + "description": "files allows to override default flux files\n\ndefault: [\"*.yaml\", \"*.yml\"]" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { + "repositories": { "items": { "type": "string" }, "type": "array", - "description": "Images specifies the list of container image to check" + "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, @@ -998,21 +861,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 Flux helmrelease based on a rule\n\ndefault: empty" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { + "repositories": { "items": { "type": "string" }, "type": "array", - "description": "Images specifies the list of container image to check" + "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, @@ -1020,7 +890,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 Kubernetes manifest based on a rule" + "description": "only allows to specify rule to only autodiscover manifest for a specific Flux helm release based on a rule\n\ndefault: empty" + }, + "ocirepository": { + "type": "boolean", + "description": "OCIRepository allows to specify if OCI repository files should be updated\n\ndefault: true" + }, + "rootdir": { + "type": "string", + "description": "rootDir defines the root directory used to recursively search for Flux files\n\ndefault: . (current working directory) or scm root directory" }, "versionfilter": { "properties": { @@ -1039,12 +917,12 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Kubernetes builder." + "description": "Spec defines the parameters which can be provided to the Flux crawler." }, "gitea/action": { "$schema": "http://json-schema.org/draft-04/schema", @@ -1144,26 +1022,30 @@ "type": "object", "description": "Spec defines the parameters which can be provided to the Github Action crawler." }, - "npm": { + "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 npm packages.json" + "description": "rootDir defines the root directory used to recursively search for golang go.mod" }, "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 go.mod path pattern, the pattern requires to match all of name, not just a substring." }, - "packages": { + "modules": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Packages specifies the list of NPM packages to check" + "description": "Modules specifies a list of module pattern." + }, + "goversion": { + "type": "string", + "description": "GoVersions specifies a list of version pattern." } }, "additionalProperties": false, @@ -1171,21 +1053,25 @@ "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 go.mod rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a go.mod path pattern, the pattern requires to match all of name, not just a substring." }, - "packages": { + "modules": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Packages specifies the list of NPM packages to check" + "description": "Modules specifies a list of module pattern." + }, + "goversion": { + "type": "string", + "description": "GoVersions specifies a list of version pattern." } }, "additionalProperties": false, @@ -1193,7 +1079,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 golang rule" }, "versionfilter": { "properties": { @@ -1212,33 +1098,71 @@ }, "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 NPM builder." + "description": "Spec defines the parameters which can be provided to the Golang autodiscovery builder." }, - "precommit": { + "helm": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "rootdir": { - "type": "string", - "description": "RootDir defines the root directory used to recursively search for npm packages.json" + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\n\t\tif empty, updatecli relies on OCI credentials such as the one used by Docker." + }, + "digest": { + "type": "boolean", + "description": "digest provides a parameter to specify if the generated manifest should use a digest on top of the tag when updating container." + }, + "ignorecontainer": { + "type": "boolean", + "description": "ignorecontainer disables OCI container tag update when set to true" + }, + "ignorechartdependency": { + "type": "boolean", + "description": "ignorechartdependency disables Helm chart dependencies update when set to true" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "repos": { + "dependencies": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Repos specifies the list of NPM packages to check" + "description": "Dependencies specifies a list of dependencies pattern." + }, + "containers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Containers specifies a list of containers pattern." } }, "additionalProperties": false, @@ -1246,21 +1170,32 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" + "description": "Ignore specifies rule to ignore Helm chart update." + }, + "rootdir": { + "type": "string", + "description": "rootdir defines the root directory used to recursively search for Helm Chart" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "repos": { + "dependencies": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Repos specifies the list of NPM packages to check" + "description": "Dependencies specifies a list of dependencies pattern." + }, + "containers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Containers specifies a list of containers pattern." } }, "additionalProperties": false, @@ -1268,7 +1203,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" + "description": "only specify required rule(s) to restrict Helm chart update." }, "versionfilter": { "properties": { @@ -1288,18 +1223,60 @@ "additionalProperties": false, "type": "object", "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + }, + "skippackaging": { + "type": "boolean", + "description": "[target] Defines if a Chart should be packaged or not." + }, + "versionincrement": { + "type": "string", + "description": "[target] Defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch\"" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters uses to generate the precomit manifests" + "description": "Spec defines the Helm parameters." }, - "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": { @@ -1308,19 +1285,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, @@ -1328,7 +1298,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": { @@ -1337,19 +1307,87 @@ "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" + "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." }, - "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, + "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" } }, "additionalProperties": false, @@ -1357,7 +1395,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 NPM based on a rule" }, "versionfilter": { "properties": { @@ -1381,35 +1419,28 @@ }, "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 NPM builder." }, - "argocd": { + "terraform": { "$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 `.terraform.lock.hcl`" }, "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 `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." }, - "charts": { + "providers": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository 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, @@ -1417,28 +1448,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` specifies rule to ignore `.terraform.lock.hcl` update." }, "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 `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." }, - "charts": { + "providers": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository 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, @@ -1446,7 +1470,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 to restrict `.terraform.lock.hcl` update." }, "versionfilter": { "properties": { @@ -1465,40 +1489,43 @@ }, "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 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 argocd builder." + "description": "Spec defines the Terraform parameters." }, - "cargo": { + "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 Cargo.toml" + "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 Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "crates": { + "actions": { "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" + "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, @@ -1506,28 +1533,21 @@ "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 GitHub action based on a rule\n\ndefault: empty" }, "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 Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "crates": { + "actions": { "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" + "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, @@ -1535,44 +1555,11 @@ "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 GitHub action based on a rule\n\ndefault: empty" }, - "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" + "rootdir": { + "type": "string", + "description": "rootDir allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty" }, "versionfilter": { "properties": { @@ -1591,12 +1578,28 @@ }, "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\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 Cargo parameters." + "description": "Spec defines the parameters which can be provided to the Github Action crawler." }, "helmfile": { "$schema": "http://json-schema.org/draft-04/schema", @@ -1710,33 +1713,26 @@ "type": "object", "description": "Spec defines the Helmfile parameters." }, - "maven": { + "precommit": { "$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 npm packages.json" }, "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." - }, - "groupids": { - "items": { - "type": "string" - }, - "type": "array", - "description": "GroupIDs specifies the list of Maven GroupIDs to check" + "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." }, - "artifactids": { + "repos": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" + "description": "Repos specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -1744,28 +1740,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." - }, - "groupids": { - "items": { - "type": "string" - }, - "type": "array", - "description": "GroupIDs specifies the list of Maven GroupIDs to check" + "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." }, - "artifactids": { + "repos": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" + "description": "Repos specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -1773,7 +1762,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 NPM based on a rule" }, "versionfilter": { "properties": { @@ -1797,28 +1786,62 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Helm builder." + "description": "Spec defines the parameters uses to generate the precomit manifests" }, - "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, @@ -1826,21 +1849,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, @@ -1848,7 +1871,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": { @@ -1863,44 +1886,44 @@ "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 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": "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." }, - "updatecli": { + "rancher/fleet": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "rootdir defines the root directory used to recursively search for Updatecli manifest" + "description": "RootDir defines the root directory used to recursively search for Fleet bundle" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "policies": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Policies specifies a Updatecli policy" + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -1908,21 +1931,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Updatecli based on a rule" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Fleet bundle based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "policies": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Policies specifies a Updatecli policy" + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -1930,37 +1960,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Updatecli based on a rule" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." - }, - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - } - }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + "description": "Only allows to specify rule to only autodiscover manifest for a specific Fleet bundle based on a rule" }, "versionfilter": { "properties": { @@ -1984,7 +1984,7 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Updatecli parameters." + "description": "Spec defines the parameters which can be provided to the fleet builder." } }, "type": "object", @@ -2022,7 +2022,7 @@ }, "kind": { "enum": [ - "gitlab/mergerequest" + "gitea/pullrequest" ] }, "spec": { @@ -2030,44 +2030,49 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "\"url\" defines the Gitea url to interact with" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, "token": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "sourcebranch": { "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the GitLab mergerequest.\n\n\t\tdefault:\n\t\t\t\"sourcebranch\" inherits the value from the scm branch if a scm of kind \"gitlab\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + "description": "\"sourcebranch\" defines the branch name used as a source to create the Gitea pullrequest.\n\n\t\tdefault:\n\t\t\t\"sourcebranch\" inherits the value from the scm branch if a scm of kind \"gitea\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." }, "targetbranch": { "type": "string", - "description": "\"targetbranch\" defines the branch name used as a target to create the GitLab mergerequest.\n\n\t\tdefault:\n\t\t\t\"targetbranch\" inherits the value from the scm working branch if a scm of kind \"gitlab\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default.\n\t\t\tthe GitLab scm will create and use a working branch such as updatecli_xxxx" + "description": "\"targetbranch\" defines the branch name used as a target to create the Gitea pullrequest.\n\n\t\tdefault:\n\t\t\t\"targetbranch\" inherits the value from the scm working branch if a scm of kind \"gitea\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default.\n\t\t\tthe Gitea scm will create and use a working branch such as updatecli_xxxx" }, "owner": { "type": "string", - "description": "\"owner\" defines the GitLab repository owner.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + "description": "\"owner\" defines the Gitea repository owner.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." }, "repository": { "type": "string", - "description": "\"repository\" defines the GitLab repository for a specific owner\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + "description": "\"repository\" defines the Gitea repository for a specific owner\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." }, "title": { "type": "string", - "description": "\"title\" defines the GitLab mergerequest title\n\n\t\tdefault:\n\t\t\tA GitLab mergerequest title is defined by one of the following location (first match)\n\t\t\t\t1. title is defined by the spec such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitlab/mergerequest\n\t\t\t\t\t\t\tscmid: default\n\t\t\t\t\t\t\tspec:\n\t\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t2. title is defined by the action such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitlab/mergerequest\n\t\t\t\t\t\t\tscmid default\n\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t3. title is defined by the first associated target title\n\n\t\t\t\t4. title is defined by the pipeline title\n\n\t\tremark:\n\t\t\tusually we prefer to go with option 2" + "description": "\"title\" defines the Gitea pullrequest title\n\n\t\tdefault:\n\t\t\tA Gitea pullrequest title is defined by one of the following location (first match)\n\t\t\t\t1. title is defined by the spec such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitea/pullrequest\n\t\t\t\t\t\t\tscmid: default\n\t\t\t\t\t\t\tspec:\n\t\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t2. title is defined by the action such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitea/pullrequest\n\t\t\t\t\t\t\tscmid default\n\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t3. title is defined by the first associated target title\n\n\t\t\t\t4. title is defined by the pipeline title\n\n\t\tremark:\n\t\t\tusually we prefer to go with option 2" }, "body": { "type": "string", - "description": "\"body\" defines a custom mergerequest body\n\n\t\tdefault:\n\t\t\tBy default a mergerequest body is generated out of a pipeline execution.\n\n\t\tremark:\n\t\t\tUnless you know what you are doing, you shouldn't set this value and rely on the sane default.\n\t\t\t\"body\" is useful to provide additional information when reviewing mergerequest, such as changelog url." + "description": "\"body\" defines a custom body pullrequest.\n\n\t\tdefault:\n\t\t\tBy default a pullrequest body is generated out of a pipeline execution.\n\n\t\tremark:\n\t\t\tUnless you know what you are doing, you shouldn't set this value and rely on the sane default.\n\t\t\t\"body\" is useful to provide additional information when reviewing pullrequest, such as changelog url." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines settings used to interact with GitLab pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" }, "scmid": { "type": "string" @@ -2087,23 +2092,27 @@ }, "kind": { "enum": [ - "bitbucket/pullrequest" + "stash/pullrequest" ] }, "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { + "url": { + "type": "string", + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + }, "username": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Cloud API" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Cloud API\n\n The \"token\" is a repository or project access token with \"pullrequest:write\" scope.\n\n \"token\" and \"password\" are mutually exclusive\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "password": { "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Cloud API, it must be combined with \"username\"\n\n The \"password\" should be app password with \"pullrequest:write\" scope.\n\n \"token\" and \"password\" are mutually exclusive\n\n remark:\n A password is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_PASSWORD\"}}` to retrieve the token from the environment variable `BITBUCKET_PASSWORD`\n\t or `{{ .bitbucket.password }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", @@ -2133,6 +2142,7 @@ "additionalProperties": false, "type": "object", "required": [ + "url", "owner", "repository" ], @@ -2156,55 +2166,52 @@ }, "kind": { "enum": [ - "github/pullrequest" + "gitlab/mergerequest" ] }, "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "automerge": { - "type": "boolean", - "description": "automerge allows to enable/disable the automerge feature on new pullrequest\n\ncompatible:\n * action\n\ndefault:\n false" + "url": { + "type": "string", + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "title": { + "username": { "type": "string", - "description": "title allows to override the pull request title\n\ncompatible:\n * action\n\ndefault:\n The default title is fetch from the first following location:\n 1. The action title\n 2. The target title if only one target\n 3. The pipeline target" + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "description": { + "token": { "type": "string", - "description": "description allows to prepend information to the pullrequest description.\n\ncompatible:\n * action\n\ndefault:\n empty" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "labels": { - "items": { - "type": "string" - }, - "type": "array", - "description": "labels specifies repository labels used for the Pull Request.\n\ncompatible:\n * action\n\ndefault:\n empty\n\nremark:\n Labels must already exist on the repository" + "sourcebranch": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the GitLab mergerequest.\n\n\t\tdefault:\n\t\t\t\"sourcebranch\" inherits the value from the scm branch if a scm of kind \"gitlab\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." }, - "draft": { - "type": "boolean", - "description": "draft allows to set pull request in draft\n\ncompatible:\n * action\n\ndefault:\n false" + "targetbranch": { + "type": "string", + "description": "\"targetbranch\" defines the branch name used as a target to create the GitLab mergerequest.\n\n\t\tdefault:\n\t\t\t\"targetbranch\" inherits the value from the scm working branch if a scm of kind \"gitlab\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default.\n\t\t\tthe GitLab scm will create and use a working branch such as updatecli_xxxx" }, - "maintainercannotmodify": { - "type": "boolean", - "description": "maintainercannotmodify allows to specify if maintainer can modify pullRequest\n\ncompatible:\n * action\n\ndefault:\n false" + "owner": { + "type": "string", + "description": "\"owner\" defines the GitLab repository owner.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." }, - "mergemethod": { + "repository": { "type": "string", - "description": "mergemethod allows to specifies what merge method is used to incorporate the pull request.\n\ncompatible:\n * action\n\ndefault:\n \"\"\n\nremark:\n Accept \"merge\", \"squash\", \"rebase\", or \"\"" + "description": "\"repository\" defines the GitLab repository for a specific owner\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." }, - "usetitleforautomerge": { - "type": "boolean", - "description": "usetitleforautomerge allows to specifies to use the Pull Request title as commit message when using auto merge,\n\ncompatible:\n * action\n\ndefault:\n \"\"\n\nremark:\n Only works for \"squash\" or \"rebase\"" + "title": { + "type": "string", + "description": "\"title\" defines the GitLab mergerequest title\n\n\t\tdefault:\n\t\t\tA GitLab mergerequest title is defined by one of the following location (first match)\n\t\t\t\t1. title is defined by the spec such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitlab/mergerequest\n\t\t\t\t\t\t\tscmid: default\n\t\t\t\t\t\t\tspec:\n\t\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t2. title is defined by the action such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitlab/mergerequest\n\t\t\t\t\t\t\tscmid default\n\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t3. title is defined by the first associated target title\n\n\t\t\t\t4. title is defined by the pipeline title\n\n\t\tremark:\n\t\t\tusually we prefer to go with option 2" }, - "parent": { - "type": "boolean", - "description": "parent allows to specifies if a pull request should be sent to the parent of the current fork.\n\ncompatible:\n * action\n\ndefault:\n false" + "body": { + "type": "string", + "description": "\"body\" defines a custom mergerequest body\n\n\t\tdefault:\n\t\t\tBy default a mergerequest body is generated out of a pipeline execution.\n\n\t\tremark:\n\t\t\tUnless you know what you are doing, you shouldn't set this value and rely on the sane default.\n\t\t\t\"body\" is useful to provide additional information when reviewing mergerequest, such as changelog url." } }, "additionalProperties": false, "type": "object", - "description": "ActionSpec specifies the configuration of an action of type \"GitHub Pull Request\"" + "description": "Spec defines settings used to interact with GitLab pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" }, "scmid": { "type": "string" @@ -2224,57 +2231,56 @@ }, "kind": { "enum": [ - "gitea/pullrequest" + "bitbucket/pullrequest" ] }, "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Cloud API" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "sourcebranch": { - "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the Gitea pullrequest.\n\n\t\tdefault:\n\t\t\t\"sourcebranch\" inherits the value from the scm branch if a scm of kind \"gitea\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Cloud API\n\n The \"token\" is a repository or project access token with \"pullrequest:write\" scope.\n\n \"token\" and \"password\" are mutually exclusive\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "targetbranch": { + "password": { "type": "string", - "description": "\"targetbranch\" defines the branch name used as a target to create the Gitea pullrequest.\n\n\t\tdefault:\n\t\t\t\"targetbranch\" inherits the value from the scm working branch if a scm of kind \"gitea\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default.\n\t\t\tthe Gitea scm will create and use a working branch such as updatecli_xxxx" + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Cloud API, it must be combined with \"username\"\n\n The \"password\" should be app password with \"pullrequest:write\" scope.\n\n \"token\" and \"password\" are mutually exclusive\n\n remark:\n A password is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_PASSWORD\"}}` to retrieve the token from the environment variable `BITBUCKET_PASSWORD`\n\t or `{{ .bitbucket.password }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", - "description": "\"owner\" defines the Gitea repository owner.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + "description": "Owner specifies repository owner" }, "repository": { "type": "string", - "description": "\"repository\" defines the Gitea repository for a specific owner\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default." + "description": "Repository specifies the name of a repository for a specific owner" + }, + "sourcebranch": { + "type": "string", + "description": "SourceBranch specifies the pullrequest source branch" + }, + "targetbranch": { + "type": "string", + "description": "TargetBranch specifies the pullrequest target branch" }, "title": { "type": "string", - "description": "\"title\" defines the Gitea pullrequest title\n\n\t\tdefault:\n\t\t\tA Gitea pullrequest title is defined by one of the following location (first match)\n\t\t\t\t1. title is defined by the spec such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitea/pullrequest\n\t\t\t\t\t\t\tscmid: default\n\t\t\t\t\t\t\tspec:\n\t\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t2. title is defined by the action such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitea/pullrequest\n\t\t\t\t\t\t\tscmid default\n\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t3. title is defined by the first associated target title\n\n\t\t\t\t4. title is defined by the pipeline title\n\n\t\tremark:\n\t\t\tusually we prefer to go with option 2" + "description": "Title defines the Bitbucket pullrequest title." }, "body": { "type": "string", - "description": "\"body\" defines a custom body pullrequest.\n\n\t\tdefault:\n\t\t\tBy default a pullrequest body is generated out of a pipeline execution.\n\n\t\tremark:\n\t\t\tUnless you know what you are doing, you shouldn't set this value and rely on the sane default.\n\t\t\t\"body\" is useful to provide additional information when reviewing pullrequest, such as changelog url." + "description": "Body defines the Bitbucket pullrequest body" } }, "additionalProperties": false, "type": "object", "required": [ - "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with Gitea pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" + "description": "Spec defines settings used to interact with Bitbucket Server pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" }, "scmid": { "type": "string" @@ -2294,61 +2300,55 @@ }, "kind": { "enum": [ - "stash/pullrequest" + "github/pullrequest" ] }, "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" - }, - "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" + "automerge": { + "type": "boolean", + "description": "automerge allows to enable/disable the automerge feature on new pullrequest\n\ncompatible:\n * action\n\ndefault:\n false" }, - "owner": { + "title": { "type": "string", - "description": "Owner specifies repository owner" + "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" }, - "repository": { + "description": { "type": "string", - "description": "Repository specifies the name of a repository for a specific owner" + "description": "description allows to prepend information to the pullrequest description.\n\ncompatible:\n * action\n\ndefault:\n empty" }, - "sourcebranch": { - "type": "string", - "description": "SourceBranch specifies the pullrequest source branch" + "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" }, - "targetbranch": { - "type": "string", - "description": "TargetBranch specifies the pullrequest target branch" + "draft": { + "type": "boolean", + "description": "draft allows to set pull request in draft\n\ncompatible:\n * action\n\ndefault:\n false" }, - "title": { - "type": "string", - "description": "Title defines the Bitbucket pullrequest title." + "maintainercannotmodify": { + "type": "boolean", + "description": "maintainercannotmodify allows to specify if maintainer can modify pullRequest\n\ncompatible:\n * action\n\ndefault:\n false" }, - "body": { + "mergemethod": { "type": "string", - "description": "Body defines the Bitbucket pullrequest body" + "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", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified" + "description": "ActionSpec specifies the configuration of an action of type \"GitHub Pull Request\"" }, "scmid": { "type": "string" @@ -2373,7 +2373,7 @@ "properties": { "kind": { "enum": [ - "gitlab" + "stash" ] }, "spec": { @@ -2381,15 +2381,27 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, "token": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "\"owner\" defines the owner of a repository.\n\n\tcompatible:\n\t\t* scm" + }, + "repository": { + "type": "string", + "description": "repository specifies the name of a repository for a specific owner.\n\n\tcompatible:\n\t\t* scm" }, "commitmessage": { "properties": { @@ -2424,7 +2436,7 @@ }, "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" + "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n * scm\n\n remark:\n Unless you know what you are doing, it is recommended to use the default value.\n The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n The default value is based on your local temporary directory like: (on Linux)\n /tmp/updatecli/stash/\u003cowner\u003e/\u003crepository\u003e" }, "email": { "type": "string", @@ -2432,7 +2444,7 @@ }, "force": { "type": "boolean", - "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n compatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." + "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n compatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreate the working branches that\n diverged from their base branch." }, "gpg": { "properties": { @@ -2447,23 +2459,15 @@ }, "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" + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t\t* scm" }, "user": { "type": "string", - "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli.\n\n compatible:\n * scm" + "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t\t* scm" }, "branch": { "type": "string", - "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the 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": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the Stash scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n The working branch can be disabled using the \"workingBranch\" parameter set to false." }, "submodules": { "type": "boolean", @@ -2471,16 +2475,17 @@ }, "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" } }, "additionalProperties": false, "type": "object", "required": [ + "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "disabled": { "type": "boolean" @@ -2494,7 +2499,7 @@ "properties": { "kind": { "enum": [ - "stash" + "git" ] }, "spec": { @@ -2502,27 +2507,127 @@ "properties": { "url": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "\"url\" specifies the git url to work on.\n\n\tcompatible:\n\t * scm\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" }, "username": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * scm" }, - "token": { + "password": { "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": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * scm" }, - "password": { + "branch": { "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": "\"branch\" defines the git branch to work on.\n\n\tcompatible:\n\t * scm\n\n\tdefault:\n\t\tmain\n\n\tremark:\n\t\tdepending on which resource references the GitHub scm, the behavior will be different.\n\n\t\tIf the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n\t\tfile(s) from that branch.\n\n\t\tIf the scm is linked to target then Updatecli will push any changes to that branch\n\n\t\tFor more information, please refer to the following issue:\n\t\thttps://github.com/updatecli/updatecli/issues/1139" }, - "owner": { + "user": { "type": "string", - "description": "\"owner\" defines the owner of a repository.\n\n\tcompatible:\n\t\t* scm" + "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t * scm" }, - "repository": { + "email": { "type": "string", - "description": "repository specifies the name of a repository for a specific owner.\n\n\tcompatible:\n\t\t* scm" + "description": "\"email\" defines the email used to commit changes.\n\n\tcompatible:\n\t * scm\n\n\tdefault:\n\t\tdefault set to your global git configuration" + }, + "directory": { + "type": "string", + "description": "\"directory\" defines the local path where the git repository is cloned.\n\n\tcompatible:\n\t * scm\n\n\tremark:\n\t Unless you know what you are doing, it is highly recommended to use the default value.\n\t The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n\tdefault:\n\t The default value is based on your local temporary directory like /tmp/updatecli/\u003curl\u003e on Linux" + }, + "force": { + "type": "boolean", + "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n\t * scm\n\n default:\n\t false\n\n remark:\n When force is set to true, Updatecli also recreate the working branches that\n diverged from their base branch." + }, + "commitmessage": { + "properties": { + "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 * scm\n\n\tremark:\n\t it's worth mentioning that the commit message is applied to all targets linked to the same scm.\n\n\tdefault:\n\t false" + }, + "gpg": { + "properties": { + "signingkey": { + "type": "string", + "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone" + }, + "passphrase": { + "type": "string", + "description": "passphrase defines the gpg passphrase used to sign the commit message" + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t * 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 * scm\n\n default: false" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "url" + ], + "description": "Spec contains settings to manipulate a git repository." + }, + "disabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "gitea" + ] + }, + "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" }, "commitmessage": { "properties": { @@ -2557,7 +2662,7 @@ }, "directory": { "type": "string", - "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n * scm\n\n remark:\n Unless you know what you are doing, it is recommended to use the default value.\n The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n The default value is based on your local temporary directory like: (on Linux)\n /tmp/updatecli/stash/\u003cowner\u003e/\u003crepository\u003e" + "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n * scm\n\n remark:\n Unless you know what you are doing, it is recommended to use the default value.\n The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n The default value is based on your local temporary directory like: (on Linux)\n /tmp/updatecli/github/\u003cowner\u003e/\u003crepository\u003e" }, "email": { "type": "string", @@ -2565,7 +2670,7 @@ }, "force": { "type": "boolean", - "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n compatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreate the working branches that\n diverged from their base branch." + "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." }, "gpg": { "properties": { @@ -2580,15 +2685,23 @@ }, "additionalProperties": false, "type": "object", - "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t\t* scm" + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n * scm" + }, + "owner": { + "type": "string", + "description": "\"owner\" defines the owner of a repository.\n\n compatible:\n * scm" + }, + "repository": { + "type": "string", + "description": "\"repository\" specifies the name of a repository for a specific owner.\n\n compatible:\n * scm" }, "user": { "type": "string", - "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t\t* scm" + "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli.\n\n\tcompatible:\n * scm" }, "branch": { "type": "string", - "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the Stash scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n The working branch can be disabled using the \"workingBranch\" parameter set to false." + "description": "\"branch\" defines the git branch to work on.\n\n\tcompatible:\n\t * scm\n\n\tdefault:\n\t main\n\n\tremark:\n\t depending on which resource references the Gitea scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n\t The working branch can be disabled using the \"workingBranch\" parameter set to false." }, "submodules": { "type": "boolean", @@ -2596,7 +2709,7 @@ }, "workingbranch": { "type": "boolean", - "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n\t * scm\n\n default: true" + "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n * scm\n\n default: true" } }, "additionalProperties": false, @@ -2606,7 +2719,7 @@ "owner", "repository" ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines settings used to interact with Gitea release" }, "disabled": { "type": "boolean" @@ -2620,43 +2733,66 @@ "properties": { "kind": { "enum": [ - "git" + "github" ] }, "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "branch": { "type": "string", - "description": "\"url\" specifies the git url to work on.\n\n\tcompatible:\n\t * scm\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the GitHub scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n The working branch can be disabled using the \"workingBranch\" parameter set to false." }, - "username": { + "directory": { "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * scm" + "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n * scm\n\n remark:\n Unless you know what you are doing, it is recommended to use the default value.\n The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n The default value is based on your local temporary directory like: (on Linux)\n /tmp/updatecli/github/\u003cowner\u003e/\u003crepository\u003e" }, - "password": { + "email": { "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * scm" + "description": "\"email\" defines the email used to commit changes.\n\n compatible:\n * scm\n\n default:\n default set to your global git configuration" }, - "branch": { + "owner": { "type": "string", - "description": "\"branch\" defines the git branch to work on.\n\n\tcompatible:\n\t * scm\n\n\tdefault:\n\t\tmain\n\n\tremark:\n\t\tdepending on which resource references the GitHub scm, the behavior will be different.\n\n\t\tIf the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n\t\tfile(s) from that branch.\n\n\t\tIf the scm is linked to target then Updatecli will push any changes to that branch\n\n\t\tFor more information, please refer to the following issue:\n\t\thttps://github.com/updatecli/updatecli/issues/1139" + "description": "\"owner\" defines the owner of a repository.\n\n compatible:\n * scm" }, - "user": { + "repository": { "type": "string", - "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t * scm" + "description": "\"repository\" specifies the name of a repository for a specific owner.\n\n compatible:\n * scm" }, - "email": { + "token": { "type": "string", - "description": "\"email\" defines the email used to commit changes.\n\n\tcompatible:\n\t * scm\n\n\tdefault:\n\t\tdefault set to your global git configuration" + "description": "\"token\" specifies the credential used to authenticate with GitHub API.\n\n\tcompatible:\n\t\t* scm" }, - "directory": { + "url": { "type": "string", - "description": "\"directory\" defines the local path where the git repository is cloned.\n\n\tcompatible:\n\t * scm\n\n\tremark:\n\t Unless you know what you are doing, it is highly recommended to use the default value.\n\t The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n\tdefault:\n\t The default value is based on your local temporary directory like /tmp/updatecli/\u003curl\u003e on Linux" + "description": "\"url\" specifies the default github url in case of GitHub enterprise\n\n compatible:\n * scm\n\n default:\n github.com\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITHUB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .github.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username used to authenticate with GitHub API.\n\n compatible:\n * scm\n\n remark:\n the token is usually enough to authenticate with GitHub API. Needed when working with GitHub private repositories." + }, + "user": { + "type": "string", + "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n compatible:\n * scm" + }, + "gpg": { + "properties": { + "signingkey": { + "type": "string", + "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone" + }, + "passphrase": { + "type": "string", + "description": "passphrase defines the gpg passphrase used to sign the commit message" + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n compatible:\n * scm" }, "force": { "type": "boolean", - "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n\t * scm\n\n default:\n\t false\n\n remark:\n When force is set to true, Updatecli also recreate the working branches that\n diverged from their base branch." + "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n * scm\n\n\tdefault:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." }, "commitmessage": { "properties": { @@ -2687,22 +2823,7 @@ }, "additionalProperties": false, "type": "object", - "description": "\"commitMessage\" is used to generate the final commit message.\n\n\tcompatible:\n\t * scm\n\n\tremark:\n\t it's worth mentioning that the commit message is applied to all targets linked to the same scm.\n\n\tdefault:\n\t false" - }, - "gpg": { - "properties": { - "signingkey": { - "type": "string", - "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone" - }, - "passphrase": { - "type": "string", - "description": "passphrase defines the gpg passphrase used to sign the commit message" - } - }, - "additionalProperties": false, - "type": "object", - "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t * scm" + "description": "\"commitMessage\" is used to generate the final commit message.\n\n\tcompatible:\n\t\t* scm\n\n\tremark:\n\t\tit's worth mentioning that the commit message settings is applied to all targets linked to the same scm." }, "submodules": { "type": "boolean", @@ -2710,15 +2831,21 @@ }, "workingbranch": { "type": "boolean", - "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n * scm\n\n default: false" + "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n\t * scm\n\n default: true" + }, + "commitusingapi": { + "type": "boolean", + "description": "\"commitUsingApi\" defines if Updatecli should use GitHub GraphQL API to create the commit.\n\n compatible:\n\t * scm\n\n default: false" } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "owner", + "repository", + "token" ], - "description": "Spec contains settings to manipulate a git repository." + "description": "Spec represents the configuration input" }, "disabled": { "type": "boolean" @@ -2732,7 +2859,7 @@ "properties": { "kind": { "enum": [ - "gitea" + "gitlab" ] }, "spec": { @@ -2740,15 +2867,15 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "\"username\" defines the username used to authenticate with GitLab" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "commitmessage": { "properties": { @@ -2783,7 +2910,7 @@ }, "directory": { "type": "string", - "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n * scm\n\n remark:\n Unless you know what you are doing, it is recommended to use the default value.\n The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n The default value is based on your local temporary directory like: (on Linux)\n /tmp/updatecli/github/\u003cowner\u003e/\u003crepository\u003e" + "description": "\"directory\" defines the local path where the git repository is cloned.\n\n\tcompatible:\n\t * scm\n\n\tremark:\n Unless you know what you are doing, it is recommended to use the default value.\n\t The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n\tdefault:\n\t The default value is based on your local temporary directory like: (on Linux)\n\t /tmp/updatecli/gitlab/\u003cowner\u003e/\u003crepository\u003e" }, "email": { "type": "string", @@ -2791,7 +2918,7 @@ }, "force": { "type": "boolean", - "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." + "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n compatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." }, "gpg": { "properties": { @@ -2806,7 +2933,7 @@ }, "additionalProperties": false, "type": "object", - "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n * scm" + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing.\n\n compatible:\n\t * scm" }, "owner": { "type": "string", @@ -2814,15 +2941,15 @@ }, "repository": { "type": "string", - "description": "\"repository\" specifies the name of a repository for a specific owner.\n\n compatible:\n * scm" + "description": "repository specifies the name of a repository for a specific owner.\n\n compatible:\n * action\n * scm" }, "user": { "type": "string", - "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli.\n\n\tcompatible:\n * scm" + "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli.\n\n compatible:\n * scm" }, "branch": { "type": "string", - "description": "\"branch\" defines the git branch to work on.\n\n\tcompatible:\n\t * scm\n\n\tdefault:\n\t main\n\n\tremark:\n\t depending on which resource references the Gitea scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n\t The working branch can be disabled using the \"workingBranch\" parameter set to false." + "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the GitLab scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n\t The working branch can be disabled using the \"workingBranch\" parameter set to false." }, "submodules": { "type": "boolean", @@ -2836,11 +2963,10 @@ "additionalProperties": false, "type": "object", "required": [ - "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines settings used to interact with GitLab release" }, "disabled": { "type": "boolean" @@ -2848,141 +2974,170 @@ }, "additionalProperties": false, "type": "object" - }, + } + ] + }, + "type": "object", + "description": "\"scms\" defines the list of repository configuration used to fetch content from.\n\n\t\texamples:\n\t\t---\n\t\tscms:\n\t\t\tdefault:\n\t\t\t\tkind: github\n\t\t\t\tspec:\n\t\t\t\t\towner: \"updatecli\"\n\t\t\t\t\trepository: \"updatecli\"\n\t\t\t\t\ttoken: \"${{ env \"GITHUB_TOKEN\" }}\"\n\t\t\t\t\tbranch: \"main\"\n\t\t---" + }, + "sources": { + "additionalProperties": { + "oneOf": [ { "$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": [ - "github" + "dockerfile" ] }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "branch": { - "type": "string", - "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the GitHub scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n The working branch can be disabled using the \"workingBranch\" parameter set to false." - }, - "directory": { - "type": "string", - "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n * scm\n\n remark:\n Unless you know what you are doing, it is recommended to use the default value.\n The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n The default value is based on your local temporary directory like: (on Linux)\n /tmp/updatecli/github/\u003cowner\u003e/\u003crepository\u003e" - }, - "email": { - "type": "string", - "description": "\"email\" defines the email used to commit changes.\n\n compatible:\n * scm\n\n default:\n default set to your global git configuration" - }, - "owner": { - "type": "string", - "description": "\"owner\" defines the owner of a repository.\n\n compatible:\n * scm" - }, - "repository": { - "type": "string", - "description": "\"repository\" specifies the name of a repository for a specific owner.\n\n compatible:\n * scm" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with GitHub API.\n\n\tcompatible:\n\t\t* scm" - }, - "url": { - "type": "string", - "description": "\"url\" specifies the default github url in case of GitHub enterprise\n\n compatible:\n * scm\n\n default:\n github.com\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITHUB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .github.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username used to authenticate with GitHub API.\n\n compatible:\n * scm\n\n remark:\n the token is usually enough to authenticate with GitHub API. Needed when working with GitHub private repositories." - }, - "user": { - "type": "string", - "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n compatible:\n * scm" - }, - "gpg": { - "properties": { - "signingkey": { - "type": "string", - "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone" - }, - "passphrase": { - "type": "string", - "description": "passphrase defines the gpg passphrase used to sign the commit message" - } + "transformers": { + "items": { + "properties": { + "addprefix": { + "type": "string", + "description": "AddPrefix adds a prefix to the transformer input value" }, - "additionalProperties": false, - "type": "object", - "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n compatible:\n * scm" - }, - "force": { - "type": "boolean", - "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n * scm\n\n\tdefault:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." - }, - "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" + "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" }, - "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." + "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" + } }, - "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" + "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`." + } }, - "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", + "required": [ + "pattern" + ], + "description": "Find searches for a specific value if it exists then return the value using regular expression" + }, + "semverinc": { + "type": "string", + "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Transformer holds a transformer rule" + }, + "type": "array", + "description": "transformers defines how the default input value need to be transformed" + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "file": { + "type": "string", + "description": "File specifies the dockerimage file path to use and is incompatible with Files" + }, + "files": { + "items": { + "type": "string" }, - "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." + "type": "array", + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "submodules": { - "type": "boolean", - "description": "\"submodules\" defines if Updatecli should checkout submodules.\n\n compatible:\n\t * scm\n\n default: true" + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "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" + "value": { + "type": "string", + "description": "Value specifies the value for a specified Dockerfile instruction." }, - "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" + "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": [ - "owner", - "repository", - "token" - ], - "description": "Spec represents the configuration input" + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, - "disabled": { - "type": "boolean" + "scmid": { + "type": "string", + "description": "scmid specifies the scm configuration key associated to the current resource" } }, "additionalProperties": false, - "type": "object" - } - ] - }, - "type": "object", - "description": "\"scms\" defines the list of repository configuration used to fetch content from.\n\n\t\texamples:\n\t\t---\n\t\tscms:\n\t\t\tdefault:\n\t\t\t\tkind: github\n\t\t\t\tspec:\n\t\t\t\t\towner: \"updatecli\"\n\t\t\t\t\trepository: \"updatecli\"\n\t\t\t\t\ttoken: \"${{ env \"GITHUB_TOKEN\" }}\"\n\t\t\t\t\tbranch: \"main\"\n\t\t---" - }, - "sources": { - "additionalProperties": { - "oneOf": [ + "type": "object", + "required": [ + "kind" + ] + }, { "$schema": "http://json-schema.org/draft-04/schema", "properties": { @@ -2999,7 +3154,7 @@ }, "kind": { "enum": [ - "golang/module" + "gitea/release" ] }, "transformers": { @@ -3100,17 +3255,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "proxy": { + "url": { "type": "string", - "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." + "description": "\"url\" defines the Gitea url to interact with" }, - "module": { + "username": { "type": "string", - "description": "[S][C] Module specifies the name of the module" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "version": { + "token": { "type": "string", - "description": "[C] Defines a specific package 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" + }, + "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": { @@ -3129,15 +3292,41 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "title": { + "type": "string", + "description": "[T] title defines the 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", "required": [ - "module" + "url", + "owner", + "repository" ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -3166,7 +3355,7 @@ }, "kind": { "enum": [ - "hcl" + "golang" ] }, "transformers": { @@ -3267,29 +3456,33 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "version": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[C] Version defines a specific golang version" }, - "files": { - "items": { - "type": "string" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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" - }, - "path": { - "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" - }, - "value": { - "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -3318,7 +3511,7 @@ }, "kind": { "enum": [ - "json" + "terraform/provider" ] }, "transformers": { @@ -3421,50 +3614,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 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 Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "key": { - "type": "string", - "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" + "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\" 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": "\"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." }, - "query": { + "provider": { "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": "\"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": "\"json\" defines the specification for manipulating \"json\" files." + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -3493,7 +3663,7 @@ }, "kind": { "enum": [ - "temurin" + "terraform/registry" ] }, "transformers": { @@ -3594,48 +3764,52 @@ "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": { "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": "\"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" }, - "result": { + "hostname": { "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": "\"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." }, - "architecture": { + "namespace": { "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": "\"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." }, - "imagetype": { + "name": { "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": "\"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." }, - "operatingsystem": { + "targetsystem": { "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": "\"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." }, - "specificversion": { + "rawstring": { "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": "\"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." }, - "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": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" }, - "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": "\"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, @@ -3668,7 +3842,7 @@ }, "kind": { "enum": [ - "file" + "aws/ami" ] }, "transformers": { @@ -3769,45 +3943,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "accesskey": { "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": "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` 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": "Filters specifies a list of AMI filters" }, - "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" + "region": { + "type": "string", + "description": "Region specifies the AWS region to use when looking for AMI" }, - "content": { + "endpoint": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" }, - "forcecreate": { + "dryrun": { "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": "Dryrun allows to Check whether you have the required permissions for the action." }, - "replacepattern": { + "sortby": { "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": "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 \"file\" resource parsed from an updatecli manifest file" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -3836,7 +4018,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "golang/gomod" ] }, "transformers": { @@ -3937,57 +4119,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", @@ -4016,7 +4167,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "hcl" ] }, "transformers": { @@ -4119,24 +4270,27 @@ "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 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" }, - "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" + "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" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * 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" }, - "version": { + "value": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "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 \"Golang\" resource parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -4165,7 +4319,7 @@ }, "kind": { "enum": [ - "http" + "json" ] }, "transformers": { @@ -4266,62 +4420,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "[S][C] Specifies the URL of the HTTP request for this resource." + "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "returnresponseheader": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + }, + "key": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" }, - "request": { + "value": { + "type": "string", + "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" + }, + "versionfilter": { "properties": { - "verb": { + "kind": { "type": "string", - "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." + "description": "specifies the version kind such as semver, regex, or latest" }, - "body": { + "pattern": { "type": "string", - "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." - }, - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." + "description": "specifies the version pattern according the version kind" }, - "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": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -4350,7 +4494,7 @@ }, "kind": { "enum": [ - "maven" + "stash/branch" ] }, "transformers": { @@ -4453,30 +4597,27 @@ "properties": { "url": { "type": "string", - "description": "Deprecated, please specify the Maven url in the repository" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "repository": { + "username": { "type": "string", - "description": "Specifies the maven repository url + name" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "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." + "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" }, - "groupid": { + "password": { "type": "string", - "description": "Specifies the maven artifact groupID" + "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" }, - "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": { @@ -4496,11 +4637,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 \"maven\" 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", @@ -4529,7 +4679,7 @@ }, "kind": { "enum": [ - "stash/tag" + "gitbranch" ] }, "transformers": { @@ -4625,34 +4775,14 @@ "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\" 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": { + "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": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "path contains the git repository path" }, "versionfilter": { "properties": { @@ -4671,21 +4801,35 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "tag": { + "branch": { "type": "string", - "description": "[S] Tag defines the Bitbucket tag ." + "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", "required": [ - "url", - "owner", - "repository" + "url" ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -4714,7 +4858,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "temurin" ] }, "transformers": { @@ -4815,29 +4959,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "releaseline": { "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": "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 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.\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 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/provider\" defines the specification for manipulating providers in terraform files." + "type": "object" }, "scmid": { "type": "string", @@ -4866,7 +5033,7 @@ }, "kind": { "enum": [ - "aws/ami" + "terraform/lock" ] }, "transformers": { @@ -4967,53 +5134,40 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "accesskey": { - "type": "string", - "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" - }, - "secretkey": { + "file": { "type": "string", - "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "filters": { + "files": { "items": { - "properties": { - "name": { - "type": "string", - "description": "Name specifies a filter name." - }, - "values": { - "type": "string", - "description": "Values specifies a filter value for a specific filter name." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Filter represents the updatecli configuration describing AMI filters." + "type": "string" }, "type": "array", - "description": "Filters specifies a list of AMI filters" + "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, - "region": { + "value": { "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "endpoint": { + "provider": { "type": "string", - "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "dryrun": { - "type": "boolean", - "description": "Dryrun allows to Check whether you have the required permissions for the action." + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "sortby": { - "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "skipconstraints": { + "type": "boolean", + "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" } }, "additionalProperties": false, "type": "object", - "description": "Spec contains the updatecli configuration provided by users." + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -5042,7 +5196,7 @@ }, "kind": { "enum": [ - "gitbranch" + "stash/tag" ] }, "transformers": { @@ -5143,9 +5297,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "url": { "type": "string", - "description": "path contains the git repository path" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + }, + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -5164,35 +5338,21 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "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" + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "password": { + "tag": { "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] Tag defines the Bitbucket tag ." } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "url", + "owner", + "repository" ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -5221,7 +5381,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "toolversions" ] }, "transformers": { @@ -5322,58 +5482,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] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, - "branch": { - "type": "string", - "description": "[C] Branch specifies the branch name" + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "type": "object" }, "scmid": { "type": "string", @@ -5402,7 +5536,7 @@ }, "kind": { "enum": [ - "cargopackage" + "xml" ] }, "transformers": { @@ -5503,74 +5637,22 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "registry": { - "properties": { - "auth": { - "properties": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." - }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." - }, - "url": { - "type": "string", - "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." - }, - "rootdir": { - "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." - }, - "scmid": { - "type": "string", - "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" - }, - "package": { + "file": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "version": { + "path": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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." + "value": { + "type": "string", + "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" } }, "additionalProperties": false, "type": "object", - "required": [ - "package" - ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -5599,7 +5681,7 @@ }, "kind": { "enum": [ - "golang" + "cargopackage" ] }, "transformers": { @@ -5700,9 +5782,47 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { + "registry": { + "properties": { + "auth": { + "properties": { + "token": { + "type": "string", + "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." + }, + "headerformat": { + "type": "string", + "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." + }, + "url": { + "type": "string", + "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." + }, + "rootdir": { + "type": "string", + "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." + }, + "scmid": { + "type": "string", + "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] Registry specifies the registry to use" + }, + "package": { + "type": "string", + "description": "[S][C] Package specifies the name of the package" + }, "version": { "type": "string", - "description": "[C] Version defines a specific golang version" + "description": "[C] Defines a specific package version" }, "versionfilter": { "properties": { @@ -5726,7 +5846,10 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" 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", @@ -5755,7 +5878,7 @@ }, "kind": { "enum": [ - "shell" + "dockerdigest" ] }, "transformers": { @@ -5827,159 +5950,71 @@ "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": { - "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" + "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." + } }, - "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": { + "architecture": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "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" }, - "workdir": { + "image": { "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": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + }, + "tag": { + "type": "string", + "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + }, + "digest": { + "type": "string", + "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." + }, + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "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": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" 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", @@ -6008,7 +6043,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "golang/module" ] }, "transformers": { @@ -6109,25 +6144,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": { @@ -6146,20 +6173,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" + "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", @@ -6188,7 +6210,7 @@ }, "kind": { "enum": [ - "githubrelease" + "helmchart" ] }, "transformers": { @@ -6289,25 +6311,41 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { + "file": { "type": "string", - "description": "[s][c] Owner specifies repository owner" + "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\"" }, - "repository": { + "key": { "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" + "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": "[s][c] Token specifies the credential used to authenticate with" + "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": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "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/" }, - "username": { + "value": { "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + "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": { @@ -6326,44 +6364,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." }, - "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" + "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" }, - "tag": { + "password": { "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository", - "token" - ], - "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", @@ -6392,7 +6410,7 @@ }, "kind": { "enum": [ - "helmchart" + "http" ] }, "transformers": { @@ -6493,77 +6511,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" - }, - "key": { - "type": "string", - "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." - }, - "name": { - "type": "string", - "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" - }, - "skippackaging": { - "type": "boolean", - "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" - }, "url": { "type": "string", - "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" - }, - "value": { - "type": "string", - "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" - }, - "version": { - "type": "string", - "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "versionincrement": { + "returnresponseheader": { "type": "string", - "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" - }, - "appversion": { - "type": "boolean", - "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" + "description": "[S] Specifies the header to return as source value (instead of the body)." }, - "versionfilter": { + "request": { "properties": { - "kind": { + "verb": { "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" + "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." }, - "pattern": { + "body": { "type": "string", - "description": "specifies the version pattern according the version kind" + "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": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default." - }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[S][C] Customizes the HTTP request to emit." }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "responseasserts": { + "properties": { + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[C] Specifies a set of assertions on the HTTP response headers." + }, + "statuscode": { + "type": "integer", + "description": "[C] Specifies a custom assertion on the HTTP response status code." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -6592,7 +6595,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "gittag" ] }, "transformers": { @@ -6693,33 +6696,9 @@ "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": { + "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": { @@ -6738,11 +6717,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", @@ -6771,7 +6778,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "gitea/branch" ] }, "transformers": { @@ -6872,42 +6879,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] 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" - }, - "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": "[C] Branch specifies the branch name" } }, "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", @@ -6936,7 +6959,7 @@ }, "kind": { "enum": [ - "gittag" + "gitlab/branch" ] }, "transformers": { @@ -7037,9 +7060,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "url": { "type": "string", - "description": "Path contains the git repository path" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + }, + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with GitLab" + }, + "token": { + "type": "string", + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -7058,39 +7097,20 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "message": { - "type": "string", - "description": "Message associated to the git tag\n\n compatible:\n * target" - }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" - }, - "url": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "sourcebranch": { + "branch": { "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "owner", + "repository" ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -7119,7 +7139,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "gitlab/release" ] }, "transformers": { @@ -7222,23 +7242,23 @@ "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", - "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": { @@ -7257,21 +7277,40 @@ }, "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 GitLab release title." }, "tag": { "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "description": "[C][T] Tag defines the GitLab release tag." + }, + "commitish": { + "type": "string", + "description": "[T] Commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] Description defines if the new release description" + }, + "draft": { + "type": "boolean", + "description": "[T] Draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] Prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", "required": [ - "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", @@ -7300,7 +7339,7 @@ }, "kind": { "enum": [ - "toolversions" + "npm" ] }, "transformers": { @@ -7401,32 +7440,49 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "name": { "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" + "description": "Defines the specific npm package name" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" + "version": { + "type": "string", + "description": "Defines a specific package version" }, - "key": { + "url": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "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." }, - "value": { + "npmrcpath": { "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": "NpmrcPath defines the path to the .npmrc file" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7455,7 +7511,7 @@ }, "kind": { "enum": [ - "yaml" + "gitlab/tag" ] }, "transformers": { @@ -7556,41 +7612,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][C] 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 ```" + "tag": { + "type": "string", + "description": "[S] Tag defines the GitLab tag ." } }, "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", @@ -7619,7 +7691,7 @@ }, "kind": { "enum": [ - "csv" + "githubrelease" ] }, "transformers": { @@ -7720,36 +7792,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "owner": { "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": "[s][c] Owner specifies repository owner" }, - "key": { + "repository": { "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, - "query": { + "token": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "[s][c] Token specifies the credential used to authenticate with" }, - "value": { + "url": { "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] URL specifies the default github url in case of GitHub enterprise" }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + "username": { + "type": "string", + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" }, "versionfilter": { "properties": { @@ -7768,11 +7829,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" + "type": "object", + "required": [ + "owner", + "repository", + "token" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7801,7 +7895,7 @@ }, "kind": { "enum": [ - "jenkins" + "maven" ] }, "transformers": { @@ -7902,18 +7996,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "url": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "description": "Deprecated, please specify the Maven url in the repository" + }, + "repository": { + "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." + }, + "groupid": { + "type": "string", + "description": "Specifies the maven artifact groupID" + }, + "artifactid": { + "type": "string", + "description": "Specifies the maven artifact artifactID" }, "version": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "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": "Spec defines a specification for a \"jenkins\" 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", @@ -7942,7 +8074,7 @@ }, "kind": { "enum": [ - "npm" + "terraform/file" ] }, "transformers": { @@ -8043,49 +8175,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", @@ -8114,7 +8226,7 @@ }, "kind": { "enum": [ - "xml" + "yaml" ] }, "transformers": { @@ -8215,22 +8327,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": "\"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\" 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" }, - "path": { + "key": { "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": "\"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 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\" 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": "\"xml\" defines the specification for manipulating \"xml\" files." + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -8259,7 +8390,7 @@ }, "kind": { "enum": [ - "dockerfile" + "shell" ] }, "transformers": { @@ -8360,32 +8491,130 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "command": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "description": "command specifies the shell command to execute by Updatecli" }, - "files": { + "environments": { "items": { - "type": "string" + "properties": { + "name": { + "type": "string", + "description": "Name defines the environment variable name" + }, + "value": { + "type": "string", + "description": "Value defines the environment variable value" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ], + "description": "Environment is a struct containing information for an environment variable such as its name and its value" }, "type": "array", - "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" + "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "changedif": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "exitcode" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "warning": { + "type": "integer", + "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" + }, + "success": { + "type": "integer", + "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" + }, + "failure": { + "type": "integer", + "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "warning", + "success", + "failure" + ] + } + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "file/checksum" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the list of file that Updatecli monitors to identify state change" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "files" + ] + } + }, + "additionalProperties": false, + "type": "object" + } + ], + "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" }, - "value": { + "shell": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" }, - "stage": { + "workdir": { "type": "string", - "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" + "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" + "required": [ + "command" + ], + "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -8414,7 +8643,7 @@ }, "kind": { "enum": [ - "dockerimage" + "toml" ] }, "transformers": { @@ -8515,36 +8744,28 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { + "file": { + "type": "string", + "description": "[s][c][t] File specifies the toml file to manipulate" + }, + "files": { "items": { "type": "string" }, "type": "array", - "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "image": { - "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" - }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "username": { + "query": { "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "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": "[s][c][t] Key specifies the query to retrieve an information from a toml file" }, - "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": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, "versionfilter": { "properties": { @@ -8563,16 +8784,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" + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just 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" + "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 \"dockerimage\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -8601,7 +8821,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "csv" ] }, "transformers": { @@ -8702,77 +8922,59 @@ "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": "[s][c][t] File specifies the csv file" }, - "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." + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "title": { + "key": { "type": "string", - "description": "[T] Title defines the GitLab release title." + "description": "[s][c][t] Key specifies the csv query" }, - "tag": { + "query": { "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "commitish": { + "value": { "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" + "description": "[s][c][t] Key specifies the csv value, default to source output" }, - "description": { - "type": "string", - "description": "[T] Description defines if the new release description" + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" }, - "draft": { - "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" }, - "prerelease": { - "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" + "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", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "type": "object" }, "scmid": { "type": "string", @@ -8801,7 +9003,7 @@ }, "kind": { "enum": [ - "toml" + "dockerimage" ] }, "transformers": { @@ -8902,28 +9104,36 @@ "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": { + "architectures": { "items": { "type": "string" }, "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" + "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" }, - "query": { + "architecture": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "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" }, - "key": { + "image": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "value": { + "tag": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "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": { @@ -8942,15 +9152,16 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: 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" + "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" + "type": "object", + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -8979,7 +9190,7 @@ }, "kind": { "enum": [ - "gitea/release" + "file" ] }, "transformers": { @@ -9080,78 +9291,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C][T] owner specifies the repository owner" - }, - "repository": { + "file": { "type": "string", - "description": "[S][C][T] repository specifies the name of a repository for a specific owner" + "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": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "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" }, - "title": { - "type": "string", - "description": "[T] title defines the Gitea release title." + "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" }, - "tag": { + "content": { "type": "string", - "description": "[C][T] tag defines the Gitea release tag." + "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "commitish": { - "type": "string", - "description": "[T] commitish defines the commit-ish such as `main`" + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" }, - "description": { + "matchpattern": { "type": "string", - "description": "[T] description defines if the new release description" + "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" }, - "draft": { - "type": "boolean", - "description": "[T] draft defines if the release is a draft release" + "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" }, - "prerelease": { + "searchpattern": { "type": "boolean", - "description": "[T] prerelease defines if the release is a pre-release release" + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "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 \"file\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -9180,7 +9358,7 @@ }, "kind": { "enum": [ - "stash/branch" + "gitea/tag" ] }, "transformers": { @@ -9283,19 +9461,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", @@ -9322,11 +9496,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, @@ -9336,7 +9510,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", @@ -9365,7 +9539,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "jenkins" ] }, "transformers": { @@ -9466,40 +9640,18 @@ "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": { + "release": { "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] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "provider": { + "version": { "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": "[s][c] Defines a specific release version (condition only)" } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -9511,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": { @@ -9528,7 +9688,7 @@ }, "kind": { "enum": [ - "terraform/file" + "gitlab/tag" ] }, "transformers": { @@ -9629,33 +9789,70 @@ "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" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with GitLab" + }, + "token": { + "type": "string", + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "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" - }, - "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" + "additionalProperties": false, + "type": "object", + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "value": { + "tag": { "type": "string", - "description": "\"value\" is the value associated with a 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] Tag defines the GitLab tag ." } }, "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", "description": "scmid specifies the scm configuration key associated to the current resource" + }, + "sourceid": { + "type": "string" + }, + "disablesourceinput": { + "type": "boolean" + }, + "failwhen": { + "type": "boolean" } }, "additionalProperties": false, @@ -9663,15 +9860,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 +9877,7 @@ }, "kind": { "enum": [ - "aws/ami" + "terraform/file" ] }, "transformers": { @@ -9789,53 +9978,29 @@ "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 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" }, - "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" - }, - "region": { - "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "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" }, - "endpoint": { + "path": { "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": "\"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" }, - "sortby": { + "value": { "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "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 contains the updatecli configuration provided by users." + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -9873,7 +10038,7 @@ }, "kind": { "enum": [ - "dockerfile" + "xml" ] }, "transformers": { @@ -9976,30 +10141,20 @@ "properties": { "file": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" - }, - "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": "\"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 specifies the value for a specified Dockerfile instruction." + "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\"" }, - "stage": { + "value": { "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": "\"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 \"dockerfile\" resource parsed from an updatecli manifest file" + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -10037,7 +10192,7 @@ }, "kind": { "enum": [ - "githubrelease" + "aws/ami" ] }, "transformers": { @@ -10138,81 +10293,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { + "accesskey": { "type": "string", - "description": "[s][c] Owner specifies 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] 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" }, - "token": { - "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" + "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" }, - "url": { + "region": { "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "description": "Region specifies the AWS region to use when looking for AMI" }, - "username": { + "endpoint": { "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": "Endpoint specifies the AWS endpoint to use when looking for AMI" }, - "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" + "dryrun": { + "type": "boolean", + "description": "Dryrun allows to Check whether you have the required permissions for the action." }, - "tag": { + "sortby": { "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "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": [ - "owner", - "repository", - "token" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -10250,7 +10377,7 @@ }, "kind": { "enum": [ - "golang" + "dockerfile" ] }, "transformers": { @@ -10351,33 +10478,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "version": { + "file": { "type": "string", - "description": "[C] Version defines a specific golang version" + "description": "File specifies the dockerimage file path to use and is incompatible with Files" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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." + "type": "array", + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" + }, + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" + }, + "value": { + "type": "string", + "description": "Value specifies the value for a specified Dockerfile instruction." + }, + "stage": { + "type": "string", + "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -10415,7 +10541,7 @@ }, "kind": { "enum": [ - "shell" + "gitea/release" ] }, "transformers": { @@ -10516,130 +10642,78 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "command": { + "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": "command specifies the shell command to execute by Updatecli" + "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" }, - "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." + "owner": { + "type": "string", + "description": "[S][C][T] owner specifies the repository owner" }, - "changedif": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "console/output" - ] - }, - "spec": true - }, - "additionalProperties": false, - "type": "object" + "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" }, - { - "$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" + }, + "additionalProperties": false, + "type": "object", + "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "shell": { + "title": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "description": "[T] title defines the Gitea release title." }, - "workdir": { + "tag": { "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": "[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", "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 Gitea release" }, "scmid": { "type": "string", @@ -10677,7 +10751,7 @@ }, "kind": { "enum": [ - "cargopackage" + "gitlab/branch" ] }, "transformers": { @@ -10778,47 +10852,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "registry": { - "properties": { - "auth": { - "properties": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." - }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." - }, - "url": { - "type": "string", - "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." - }, - "rootdir": { - "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." - }, - "scmid": { - "type": "string", - "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + "url": { + "type": "string", + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "package": { + "username": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "version": { + "token": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -10838,14 +10890,19 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ - "package" + "owner", + "repository" ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -10883,7 +10940,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "golang/module" ] }, "transformers": { @@ -10984,42 +11041,44 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" - }, - "image": { - "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" - }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" - }, - "digest": { - "type": "string", - "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." - }, - "username": { + "proxy": { "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." }, - "password": { + "module": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[S][C] Module specifies the name of the module" }, - "token": { + "version": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "[C] Defines a specific package version" }, - "hidetag": { - "type": "boolean", - "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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 \"dockerdigest\" resource parsed from an updatecli manifest file" + "required": [ + "module" + ], + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -11057,7 +11116,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "jenkins" ] }, "transformers": { @@ -11158,58 +11217,18 @@ "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": { + "release": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "tag": { + "version": { "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "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 Gitea release" + "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -11247,7 +11266,7 @@ }, "kind": { "enum": [ - "hcl" + "maven" ] }, "transformers": { @@ -11348,29 +11367,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", @@ -11408,7 +11454,7 @@ }, "kind": { "enum": [ - "json" + "shell" ] }, "transformers": { @@ -11509,52 +11555,130 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "command": { "type": "string", - "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "command specifies the shell command to execute by Updatecli" }, - "files": { + "environments": { "items": { - "type": "string" + "properties": { + "name": { + "type": "string", + "description": "Name defines the environment variable name" + }, + "value": { + "type": "string", + "description": "Value defines the environment variable value" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ], + "description": "Environment is a struct containing information for an environment variable such as its name and its value" }, "type": "array", - "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." }, - "key": { - "type": "string", - "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" + "changedif": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "exitcode" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "warning": { + "type": "integer", + "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" + }, + "success": { + "type": "integer", + "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" + }, + "failure": { + "type": "integer", + "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "warning", + "success", + "failure" + ] + } + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "file/checksum" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the list of file that Updatecli monitors to identify state change" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "files" + ] + } + }, + "additionalProperties": false, + "type": "object" + } + ], + "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" }, - "value": { + "shell": { "type": "string", - "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" }, - "query": { + "workdir": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." } }, "additionalProperties": false, "type": "object", - "description": "\"json\" defines the specification for manipulating \"json\" files." + "required": [ + "command" + ], + "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -11592,7 +11716,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "gitbranch" ] }, "transformers": { @@ -11693,40 +11817,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", @@ -11954,7 +12094,7 @@ }, "kind": { "enum": [ - "xml" + "gitea/tag" ] }, "transformers": { @@ -12055,190 +12195,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "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" - }, - "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\"" - }, - "value": { + "url": { "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": "\"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": [ - "csv" - ] - }, - "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 Gitea url to interact with" }, - "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": { + "username": { "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": "\"username\" defines the username used to authenticate with Gitea API" }, - "key": { + "token": { "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "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" }, - "query": { + "owner": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "[S][C] Owner specifies repository owner" }, - "value": { + "repository": { "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][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -12257,11 +12232,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", @@ -12299,7 +12284,7 @@ }, "kind": { "enum": [ - "gitbranch" + "golang/gomod" ] }, "transformers": { @@ -12400,56 +12385,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", @@ -12487,7 +12442,7 @@ }, "kind": { "enum": [ - "gitea/release" + "helmchart" ] }, "transformers": { @@ -12588,25 +12543,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][T] owner specifies the 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][T] 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": { @@ -12625,41 +12596,24 @@ }, "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." + "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." }, - "tag": { + "username": { "type": "string", - "description": "[C][T] tag defines the Gitea release tag." + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "commitish": { + "password": { "type": "string", - "description": "[T] commitish defines the commit-ish such as `main`" + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "description": { + "token": { "type": "string", - "description": "[T] description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] draft defines if the release is a draft release" - }, - "prerelease": { - "type": "boolean", - "description": "[T] prerelease defines if the release is a pre-release release" + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" } }, "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", @@ -12697,7 +12651,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "json" ] }, "transformers": { @@ -12798,25 +12752,28 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "token": { + "key": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" }, - "owner": { + "value": { "type": "string", - "description": "[S][C][T] Owner specifies repository owner" + "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." }, - "repository": { + "query": { "type": "string", - "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" }, "versionfilter": { "properties": { @@ -12835,40 +12792,12 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { - "type": "string", - "description": "[T] Title defines the GitLab release title." - }, - "tag": { - "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." - }, - "commitish": { - "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" - }, - "description": { - "type": "string", - "description": "[T] Description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" - }, - "prerelease": { - "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -12906,7 +12835,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "terraform/registry" ] }, "transformers": { @@ -13007,25 +12936,33 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "type": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" }, - "username": { + "hostname": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "token": { + "namespace": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "owner": { + "name": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "repository": { + "targetsystem": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." + }, + "rawstring": { + "type": "string", + "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + }, + "version": { + "type": "string", + "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" }, "versionfilter": { "properties": { @@ -13044,20 +12981,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "tag": { - "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "type": "object" }, "scmid": { "type": "string", @@ -13095,7 +13023,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "toml" ] }, "transformers": { @@ -13198,24 +13126,53 @@ "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": "[s][c][t] File specifies the toml file to manipulate" }, - "module": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + }, + "key": { + "type": "string", + "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + }, + "value": { "type": "string", - "description": "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": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * 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." }, - "version": { - "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -13253,7 +13210,7 @@ }, "kind": { "enum": [ - "jenkins" + "csv" ] }, "transformers": { @@ -13354,18 +13311,59 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "file": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "description": "[s][c][t] File specifies the csv file" }, - "version": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" + }, + "key": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "description": "[s][c][t] Key specifies the csv query" + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + }, + "value": { + "type": "string", + "description": "[s][c][t] Key specifies the csv value, default to source output" + }, + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + }, + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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" + "type": "object" }, "scmid": { "type": "string", @@ -13403,7 +13401,7 @@ }, "kind": { "enum": [ - "stash/branch" + "hcl" ] }, "transformers": { @@ -13504,62 +13502,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] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "branch": { + "value": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -13597,7 +13562,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "terraform/lock" ] }, "transformers": { @@ -13700,14 +13665,14 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "\"file\" defines the 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 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 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", @@ -13715,12 +13680,23 @@ }, "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" + "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "skipconstraints": { + "type": "boolean", + "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -13758,7 +13734,7 @@ }, "kind": { "enum": [ - "yaml" + "dockerimage" ] }, "transformers": { @@ -13859,41 +13835,64 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { - "type": "string", - "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" - }, - "file": { - "type": "string", - "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "files": { + "architectures": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "key": { + "architecture": { "type": "string", - "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" + "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "value": { + "image": { "type": "string", - "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "keyonly": { - "type": "boolean", - "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" + "tag": { + "type": "string", + "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "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": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -13931,7 +13930,7 @@ }, "kind": { "enum": [ - "dockerimage" + "gitlab/release" ] }, "transformers": { @@ -14027,41 +14026,30 @@ "description": "Transformer holds a transformer rule" }, "type": "array", - "description": "transformers defines how the default input value need to be transformed" - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "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": { + "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": "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": { @@ -14080,16 +14068,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", @@ -14127,7 +14139,7 @@ }, "kind": { "enum": [ - "http" + "golang" ] }, "transformers": { @@ -14228,62 +14240,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)." + "description": "[C] Version defines a specific golang 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." + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -14321,7 +14304,7 @@ }, "kind": { "enum": [ - "maven" + "stash/branch" ] }, "transformers": { @@ -14424,30 +14407,27 @@ "properties": { "url": { "type": "string", - "description": "Deprecated, please specify the Maven url in the repository" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "repository": { + "username": { "type": "string", - "description": "Specifies the maven repository url + name" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "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." + "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" }, - "groupid": { + "password": { "type": "string", - "description": "Specifies the maven artifact groupID" + "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" }, - "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": { @@ -14467,11 +14447,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 \"maven\" 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", @@ -14509,7 +14498,7 @@ }, "kind": { "enum": [ - "temurin" + "yaml" ] }, "transformers": { @@ -14610,52 +14599,41 @@ "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": { + "engine": { "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": "\"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" }, - "architecture": { + "file": { "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": "\"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" }, - "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\"" + "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" }, - "operatingsystem": { + "key": { "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": "\"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" }, - "specificversion": { + "value": { "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": "\"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." }, - "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\"" + "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" }, - "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..." + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -14693,7 +14671,7 @@ }, "kind": { "enum": [ - "toml" + "githubrelease" ] }, "transformers": { @@ -14794,28 +14772,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "owner": { "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" + "description": "[s][c] Owner specifies repository owner" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" + "repository": { + "type": "string", + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, - "query": { + "token": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "[s][c] Token specifies the credential used to authenticate with" }, - "key": { + "url": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" }, - "value": { + "username": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" }, "versionfilter": { "properties": { @@ -14834,15 +14809,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" }, - "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": "[c] Tag allows to check for a specific release tag, default to source output" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "owner", + "repository", + "token" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -14880,7 +14884,7 @@ }, "kind": { "enum": [ - "toolversions" + "temurin" ] }, "transformers": { @@ -14981,28 +14985,48 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "releaseline": { "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" + "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": "[c][t] Files specifies a list of .tool-versions file to manipulate" + "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)" }, - "key": { + "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": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "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)" }, - "value": { + "architecture": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to 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)" }, - "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" + "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, @@ -15044,7 +15068,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "gittag" ] }, "transformers": { @@ -15145,25 +15169,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" - }, - "token": { - "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" - }, - "repository": { + "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": { @@ -15182,20 +15190,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": [ - "owner", - "repository" + "url" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15233,7 +15260,7 @@ }, "kind": { "enum": [ - "golang/module" + "http" ] }, "transformers": { @@ -15334,44 +15361,62 @@ "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": { + "url": { "type": "string", - "description": "[S][C] Module specifies the name of the module" + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "version": { + "returnresponseheader": { "type": "string", - "description": "[C] Defines a specific package version" + "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", - "required": [ - "module" - ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -15409,7 +15454,7 @@ }, "kind": { "enum": [ - "helmchart" + "stash/tag" ] }, "transformers": { @@ -15510,41 +15555,29 @@ "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": { + "url": { "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": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "name": { + "username": { "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": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "url": { + "token": { "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": "\"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 is the value associated with a yamlpath query.\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" }, - "version": { + "owner": { "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] Owner specifies repository owner" }, - "versionincrement": { + "repository": { "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] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -15563,24 +15596,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][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" + "description": "[S] Tag defines the Bitbucket tag ." } }, "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 Bitbucket Server release" }, "scmid": { "type": "string", @@ -15618,7 +15648,7 @@ }, "kind": { "enum": [ - "stash/tag" + "toolversions" ] }, "transformers": { @@ -15714,67 +15744,37 @@ "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\" 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": { + "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": "\"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": "[s][c][t] File specifies the .tool-versions file to manipulate" }, - "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" + "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 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", @@ -15812,7 +15812,7 @@ }, "kind": { "enum": [ - "file" + "cargopackage" ] }, "transformers": { @@ -15913,45 +15913,74 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "files": { - "items": { - "type": "string" + "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": "`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" + "additionalProperties": false, + "type": "object", + "description": "[S][C] Registry specifies the registry to use" }, - "matchpattern": { + "package": { "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] Package specifies the name of the package" }, - "replacepattern": { + "version": { "type": "string", - "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[C] Defines a specific package version" }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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" + "required": [ + "package" + ], + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15989,7 +16018,7 @@ }, "kind": { "enum": [ - "gittag" + "dockerdigest" ] }, "transformers": { @@ -16090,60 +16119,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "architecture": { "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" + "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" }, - "message": { + "image": { "type": "string", - "description": "Message associated to the git tag\n\n compatible:\n * target" + "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "key": { + "tag": { "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": "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": "\"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": "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 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" + }, + "hidetag": { + "type": "boolean", + "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" } }, "additionalProperties": false, "type": "object", - "required": [ - "url" - ], - "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", @@ -16181,7 +16192,7 @@ }, "kind": { "enum": [ - "npm" + "file" ] }, "transformers": { @@ -16282,49 +16293,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { + "file": { "type": "string", - "description": "Defines the specific npm package name" + "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" }, - "version": { - "type": "string", - "description": "Defines a specific package version" + "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" }, - "url": { - "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "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" }, - "registrytoken": { + "content": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "description": "`content` specifies the content to manipulate\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." + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" }, - "npmrcpath": { + "matchpattern": { "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "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 an Npm package parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -16362,7 +16369,7 @@ }, "kind": { "enum": [ - "terraform/file" + "npm" ] }, "transformers": { @@ -16463,29 +16470,49 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "name": { "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": "Defines the specific npm package name" }, - "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" + "version": { + "type": "string", + "description": "Defines a specific package version" }, - "path": { + "url": { "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": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" }, - "value": { + "registrytoken": { "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": "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": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -16523,7 +16550,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "terraform/provider" ] }, "transformers": { @@ -16624,56 +16651,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "type": { - "type": "string", - "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" - }, - "hostname": { - "type": "string", - "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, - "namespace": { - "type": "string", - "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, - "name": { + "file": { "type": "string", - "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + "description": "\"file\" defines the 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 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" - }, - "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": "\"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", @@ -16719,7 +16719,7 @@ }, "kind": { "enum": [ - "shell" + "maven" ] }, "transformers": { @@ -16778,172 +16778,98 @@ "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": { - "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" - ] - } + "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" }, - "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" + "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." + } }, - "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": "Deprecated, please specify the Maven url in the repository" }, - "workdir": { + "repository": { "type": "string", - "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." + "description": "Specifies the maven 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": "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", - "required": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -16990,7 +16916,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "temurin" ] }, "transformers": { @@ -17091,40 +17017,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", @@ -17171,7 +17109,7 @@ }, "kind": { "enum": [ - "aws/ami" + "yaml" ] }, "transformers": { @@ -17272,53 +17210,41 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "accesskey": { + "engine": { "type": "string", - "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" + "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" }, - "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 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" }, - "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 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" }, - "region": { + "key": { "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "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" }, - "endpoint": { + "value": { "type": "string", - "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + "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." }, - "dryrun": { + "keyonly": { "type": "boolean", - "description": "Dryrun allows to Check whether you have the required permissions for the action." + "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" }, - "sortby": { - "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "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 contains the updatecli configuration provided by users." + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -17365,7 +17291,7 @@ }, "kind": { "enum": [ - "dockerfile" + "aws/ami" ] }, "transformers": { @@ -17466,32 +17392,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", @@ -17538,7 +17485,7 @@ }, "kind": { "enum": [ - "file" + "dockerdigest" ] }, "transformers": { @@ -17639,45 +17586,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "architecture": { "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": "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" }, - "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" + "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" }, - "content": { + "tag": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "forcecreate": { - "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + "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." }, - "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": { + "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": "`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": "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 \"file\" 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", @@ -17724,7 +17668,7 @@ }, "kind": { "enum": [ - "gitea/release" + "file" ] }, "transformers": { @@ -17825,78 +17769,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C][T] owner specifies the repository owner" - }, - "repository": { + "file": { "type": "string", - "description": "[S][C][T] repository specifies the name of a repository for a specific owner" + "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": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "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" }, - "title": { - "type": "string", - "description": "[T] title defines the Gitea release title." + "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" }, - "tag": { + "content": { "type": "string", - "description": "[C][T] tag defines the Gitea release tag." + "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "commitish": { - "type": "string", - "description": "[T] commitish defines the commit-ish such as `main`" + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" }, - "description": { + "matchpattern": { "type": "string", - "description": "[T] description defines if the new release description" + "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" }, - "draft": { - "type": "boolean", - "description": "[T] draft defines if the release is a draft release" + "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" }, - "prerelease": { + "searchpattern": { "type": "boolean", - "description": "[T] prerelease defines if the release is a pre-release release" + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "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 \"file\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -17943,7 +17854,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "gitea/tag" ] }, "transformers": { @@ -18046,15 +17957,15 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "\"url\" defines the Gitea url to interact with" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, "token": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", @@ -18085,16 +17996,17 @@ }, "tag": { "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "description": "[S] Tag defines the Gitea tag ." } }, "additionalProperties": false, "type": "object", "required": [ + "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -18141,7 +18053,7 @@ }, "kind": { "enum": [ - "hcl" + "gitlab/release" ] }, "transformers": { @@ -18242,29 +18154,77 @@ "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" + "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": "\"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": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "path": { + "title": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "[T] Title defines the GitLab release title." }, - "value": { + "tag": { "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][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": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -18311,7 +18271,7 @@ }, "kind": { "enum": [ - "toolversions" + "terraform/file" ] }, "transformers": { @@ -18414,30 +18374,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", @@ -18484,7 +18441,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "xml" ] }, "transformers": { @@ -18585,42 +18542,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", @@ -18667,7 +18604,7 @@ }, "kind": { "enum": [ - "dockerimage" + "gitbranch" ] }, "transformers": { @@ -18768,36 +18705,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { - "items": { - "type": "string" - }, - "type": "array", - "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "image": { - "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" - }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" - }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { + "path": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "path contains the git repository path" }, "versionfilter": { "properties": { @@ -18816,16 +18726,35 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "tagfilter": { + "branch": { "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": "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 \"dockerimage\" 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", @@ -18872,7 +18801,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "gitea/branch" ] }, "transformers": { @@ -18975,15 +18904,15 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "\"url\" defines the Gitea url to interact with" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, "token": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", @@ -19020,10 +18949,11 @@ "additionalProperties": false, "type": "object", "required": [ + "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -19070,7 +19000,7 @@ }, "kind": { "enum": [ - "temurin" + "gitea/release" ] }, "transformers": { @@ -19171,52 +19101,78 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "releaseline": { + "url": { "type": "string", - "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" + "description": "\"url\" defines the Gitea url to interact with" }, - "releasetype": { + "username": { "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)" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "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.)" + "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" }, - "result": { + "owner": { "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": "[S][C][T] owner specifies the repository owner" }, - "architecture": { + "repository": { "type": "string", - "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" + "description": "[S][C][T] repository specifies the name of a repository for a specific owner" }, - "imagetype": { + "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": "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": "[T] title defines the Gitea release title." }, - "operatingsystem": { + "tag": { "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": "[C][T] tag defines the Gitea release tag." }, - "specificversion": { + "commitish": { "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": "[T] commitish defines the commit-ish such as `main`" }, - "project": { + "description": { "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": "[T] description defines if the new release description" }, - "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..." + "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": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -19263,7 +19219,7 @@ }, "kind": { "enum": [ - "xml" + "githubrelease" ] }, "transformers": { @@ -19364,22 +19320,81 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "owner": { "type": "string", - "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[s][c] Owner specifies repository owner" }, - "path": { + "repository": { "type": "string", - "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, - "value": { + "token": { "type": "string", - "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" + "description": "[s][c] Token specifies the credential used to authenticate with" + }, + "url": { + "type": "string", + "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + }, + "username": { + "type": "string", + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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." + } + }, + "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", - "description": "\"xml\" defines the specification for manipulating \"xml\" files." + "required": [ + "owner", + "repository", + "token" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -19426,7 +19441,7 @@ }, "kind": { "enum": [ - "stash/tag" + "helmchart" ] }, "transformers": { @@ -19527,29 +19542,41 @@ "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 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\" specifies the username used to authenticate with Bitbucket Server 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 Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "name 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\"" }, - "password": { + "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": "\"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": "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/" }, - "owner": { + "value": { "type": "string", - "description": "[S][C] Owner specifies repository 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" }, - "repository": { + "versionincrement": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "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": { @@ -19568,21 +19595,24 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\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." }, - "tag": { + "username": { "type": "string", - "description": "[S] Tag defines the Bitbucket tag ." + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "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 Bitbucket Server release" + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -19629,7 +19659,7 @@ }, "kind": { "enum": [ - "yaml" + "dockerimage" ] }, "transformers": { @@ -19730,41 +19760,64 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { - "type": "string", - "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" - }, - "file": { - "type": "string", - "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "files": { + "architectures": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "key": { + "architecture": { "type": "string", - "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" + "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "value": { + "image": { "type": "string", - "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "keyonly": { - "type": "boolean", - "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" + "tag": { + "type": "string", + "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "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": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -19811,7 +19864,7 @@ }, "kind": { "enum": [ - "csv" + "stash/tag" ] }, "transformers": { @@ -19912,36 +19965,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the csv file" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "key": { + "username": { "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "query": { + "token": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "value": { + "password": { "type": "string", - "description": "[s][c][t] Key specifies the csv value, default to source output" + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "comma": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -19960,11 +20006,21 @@ }, "additionalProperties": false, "type": "object", - "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "tag": { + "type": "string", + "description": "[S] Tag defines the Bitbucket tag ." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -20011,7 +20067,7 @@ }, "kind": { "enum": [ - "gitbranch" + "terraform/provider" ] }, "transformers": { @@ -20112,56 +20168,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "file": { "type": "string", - "description": "path contains the git repository path" + "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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" - }, - "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." + "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": { + "value": { "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": "\"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." }, - "password": { + "provider": { "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": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" } }, "additionalProperties": false, "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -20208,7 +20237,7 @@ }, "kind": { "enum": [ - "golang" + "toolversions" ] }, "transformers": { @@ -20309,33 +20338,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "version": { + "file": { "type": "string", - "description": "[C] Version defines a specific golang version" + "description": "[s][c][t] File specifies the .tool-versions file to manipulate" }, - "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." + "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": { + "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" } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -20382,7 +20410,7 @@ }, "kind": { "enum": [ - "golang/module" + "golang/gomod" ] }, "transformers": { @@ -20483,44 +20511,26 @@ "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 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" }, "module": { "type": "string", - "description": "[S][C] Module specifies the name of the module" + "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": "[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." + "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "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", @@ -20567,7 +20577,7 @@ }, "kind": { "enum": [ - "http" + "jenkins" ] }, "transformers": { @@ -20668,62 +20678,18 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "release": { "type": "string", - "description": "[S][C] Specifies the URL of the HTTP request for this resource." + "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "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." - }, - "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." + "description": "[s][c] Defines a specific release version (condition only)" } }, "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 \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -20770,7 +20736,7 @@ }, "kind": { "enum": [ - "jenkins" + "terraform/registry" ] }, "transformers": { @@ -20871,18 +20837,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "type": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "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": "[s][c] Defines a specific release version (condition only)" + "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": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -20929,7 +20933,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "cargopackage" ] }, "transformers": { @@ -21030,25 +21034,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": { @@ -21067,21 +21093,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", @@ -21128,7 +21148,7 @@ }, "kind": { "enum": [ - "githubrelease" + "http" ] }, "transformers": { @@ -21229,81 +21249,62 @@ "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" + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "username": { + "returnresponseheader": { "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + "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" - }, - "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" + "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." }, - "release": { - "type": "boolean", - "description": "\"Release\" enable/disable GitHub release" + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." }, - "latest": { + "nofollowredirects": { "type": "boolean", - "description": "\"Latest\" if set to true will only filter the release flag as latest." + "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] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" + "description": "[S][C] Customizes the HTTP request to emit." }, - "tag": { - "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "responseasserts": { + "properties": { + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[C] Specifies a set of assertions on the HTTP response headers." + }, + "statuscode": { + "type": "integer", + "description": "[C] Specifies a custom assertion on the HTTP response status code." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." } }, "additionalProperties": false, "type": "object", - "required": [ - "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 \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -21350,7 +21351,7 @@ }, "kind": { "enum": [ - "stash/branch" + "terraform/lock" ] }, "transformers": { @@ -21451,62 +21452,40 @@ "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": { + "file": { "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": "\"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" }, - "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" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, - "owner": { + "value": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "repository": { + "provider": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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" }, - "branch": { - "type": "string", - "description": "[C] Branch specifies the branch name" + "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", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -21553,7 +21532,7 @@ }, "kind": { "enum": [ - "terraform/file" + "toml" ] }, "transformers": { @@ -21656,27 +21635,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", @@ -21723,7 +21728,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "gittag" ] }, "transformers": { @@ -21824,29 +21829,60 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "path": { "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": "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 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": { + "message": { "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": "Message associated to the git tag\n\n compatible:\n * target" }, - "provider": { + "key": { "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": "\"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": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -21893,7 +21929,7 @@ }, "kind": { "enum": [ - "gittag" + "golang/module" ] }, "transformers": { @@ -21994,9 +22030,17 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "proxy": { "type": "string", - "description": "Path contains the git repository path" + "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" }, "versionfilter": { "properties": { @@ -22015,39 +22059,15 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "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." + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "module" ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -22094,7 +22114,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "json" ] }, "transformers": { @@ -22195,25 +22215,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": { @@ -22232,21 +22255,12 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "branch": { - "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, "type": "object", - "required": [ - "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", @@ -22293,7 +22307,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "stash/branch" ] }, "transformers": { @@ -22394,26 +22408,62 @@ "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\" specifies the default stash url in case of Bitbucket Server" }, - "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\" specifies the username used to authenticate with Bitbucket Server 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 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" }, - "version": { + "password": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "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": "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", @@ -22460,7 +22510,7 @@ }, "kind": { "enum": [ - "json" + "hcl" ] }, "transformers": { @@ -22563,50 +22613,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", @@ -22653,7 +22680,7 @@ }, "kind": { "enum": [ - "maven" + "csv" ] }, "transformers": { @@ -22754,32 +22781,36 @@ "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 csv file" }, - "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": "[c][t] Files specifies a list of Json file to manipulate" }, - "groupid": { + "key": { "type": "string", - "description": "Specifies the maven artifact groupID" + "description": "[s][c][t] Key specifies the csv query" }, - "artifactid": { + "query": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "version": { + "value": { "type": "string", - "description": "Specifies the maven artifact version" + "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": { @@ -22798,12 +22829,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", - "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -22850,7 +22880,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "dockerfile" ] }, "transformers": { @@ -22951,56 +22981,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": { - "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": "File specifies the dockerimage file path to use and is incompatible with Files" }, - "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": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "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." + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "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 specifies the value for a specified Dockerfile instruction." }, - "version": { + "stage": { "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": "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" + "type": "object", + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -23047,7 +23053,7 @@ }, "kind": { "enum": [ - "cargopackage" + "gitlab/branch" ] }, "transformers": { @@ -23148,47 +23154,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "registry": { - "properties": { - "auth": { - "properties": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." - }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." - }, - "url": { - "type": "string", - "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." - }, - "rootdir": { - "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." - }, - "scmid": { - "type": "string", - "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + "url": { + "type": "string", + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "package": { + "username": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "version": { + "token": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -23208,14 +23192,19 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ - "package" + "owner", + "repository" ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -23262,7 +23251,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "gitlab/tag" ] }, "transformers": { @@ -23377,11 +23366,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": { @@ -23400,31 +23389,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, @@ -23480,7 +23449,7 @@ }, "kind": { "enum": [ - "helmchart" + "golang" ] }, "transformers": { @@ -23581,41 +23550,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" - }, - "key": { - "type": "string", - "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." - }, - "name": { - "type": "string", - "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" - }, - "skippackaging": { - "type": "boolean", - "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" - }, - "url": { - "type": "string", - "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" - }, - "value": { - "type": "string", - "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" - }, "version": { "type": "string", - "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" - }, - "versionincrement": { - "type": "string", - "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" - }, - "appversion": { - "type": "boolean", - "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" + "description": "[C] Version defines a specific golang version" }, "versionfilter": { "properties": { @@ -23634,24 +23571,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\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" + "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 an \"helmchart\" 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", @@ -23888,7 +23813,7 @@ }, "kind": { "enum": [ - "toml" + "shell" ] }, "transformers": { @@ -23989,55 +23914,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": [ + "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" }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "exitcode" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "warning": { + "type": "integer", + "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" + }, + "success": { + "type": "integer", + "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" + }, + "failure": { + "type": "integer", + "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "warning", + "success", + "failure" + ] + } + }, + "additionalProperties": false, + "type": "object" } - }, - "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",