diff --git a/content/en/schema/latest/config.json b/content/en/schema/latest/config.json index 3857ea8d..5a1c7731 100644 --- a/content/en/schema/latest/config.json +++ b/content/en/schema/latest/config.json @@ -15,26 +15,33 @@ "crawlers": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "terraform": { + "helmfile": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "`rootdir` defines the root directory used to recursively search for `.terraform.lock.hcl`" + "description": "rootdir defines the root directory used to recursively search for Helmfile manifest" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "`path` specifies a `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "providers": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "`providers` specifies a map of providers, the key is provider url as seen in the `.terraform.lock.hcl`,\n\t\tthe value is an optional semver version constraint.\n\n\t\texamples:\n\t\t```\n\t\t- providers:\n\t\t # Ignoring provider updates for this provider\n\t\t registry.terraform.io/hashicorp/aws:\n\t\t # Ignore provider updates for this version\n\t\t registry.terraform.io/hashicorp/kubernetes: \"1.x\"\n\t\t```" + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -42,21 +49,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "`ignore` specifies rule to ignore `.terraform.lock.hcl` update." + "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Helmfile based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "`path` specifies a `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "providers": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "`providers` specifies a map of providers, the key is provider url as seen in the `.terraform.lock.hcl`,\n\t\tthe value is an optional semver version constraint.\n\n\t\texamples:\n\t\t```\n\t\t- providers:\n\t\t # Ignoring provider updates for this provider\n\t\t registry.terraform.io/hashicorp/aws:\n\t\t # Ignore provider updates for this version\n\t\t registry.terraform.io/hashicorp/kubernetes: \"1.x\"\n\t\t```" + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -64,7 +78,30 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "`only` specify required rule to restrict `.terraform.lock.hcl` update." + "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Helmfile based on a rule" + }, + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, "versionfilter": { "properties": { @@ -83,47 +120,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 Helmfile parameters." }, - "argocd": { + "npm": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for ArgoCD manifest" + "description": "RootDir defines the root directory used to recursively search for npm packages.json" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." }, - "charts": { + "packages": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Packages specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -131,28 +154,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Argocd manifest based on a rule" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." }, - "charts": { + "packages": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Packages specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -160,7 +176,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific ArgoCD manifest based on a rule" + "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" }, "versionfilter": { "properties": { @@ -179,51 +195,33 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n kind - semver\n versionfilter of kind `semver` uses semantic versioning as version filtering\n pattern accepts one of:\n `prerelease` - Updatecli tries to identify the latest \"prerelease\" whatever it means\n `patch` - Updatecli only handles patch version update\n `minor` - Updatecli handles patch AND minor version update\n `minoronly` - Updatecli handles minor version only\n `major` - Updatecli handles patch, minor, AND major version update\n `majoronly` - Updatecli only handles major version update\n `a version constraint` such as `\u003e= 1.0.0`\n\n kind - regex\n versionfilter of kind `regex` uses regular expression as version filtering\n pattern accepts a valid regular expression\n\n example:\n ```\n \tversionfilter:\n \t\tkind: semver\n \t\tpattern: minor\n ```\n\n\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the argocd builder." + "description": "Spec defines the parameters which can be provided to the NPM builder." }, - "dockercompose": { + "precommit": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "digest": { - "type": "boolean", - "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." - }, "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for Helm Chart" + "description": "RootDir defines the root directory used to recursively search for npm packages.json" }, "ignore": { "items": { "properties": { - "archs": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Arch specifies a list of docker image architecture" - }, "path": { "type": "string", - "description": "Path specifies a 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 .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": "Image specifies a list of docker image" + "type": "object", + "description": "Repos specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -231,35 +229,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" }, "only": { "items": { "properties": { - "archs": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Arch specifies a list of docker image architecture" - }, "path": { "type": "string", - "description": "Path specifies a 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 .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": "Image specifies a list of docker image" + "type": "object", + "description": "Repos specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -267,37 +251,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" - }, - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - } - }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" - }, - "filematch": { - "items": { - "type": "string" - }, - "type": "array", - "description": "FileMatch allows to override default 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 NPM based on a rule" }, "versionfilter": { "properties": { @@ -321,9 +275,9 @@ }, "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 uses to generate the precomit manifests" }, - "ko": { + "prow": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "auths": { @@ -432,26 +386,33 @@ "type": "object", "description": "Spec defines the parameters which can be provided to the Kubernetes builder." }, - "npm": { + "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 npm packages.json" + "description": "RootDir defines the root directory used to recursively search for Fleet bundle" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "packages": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Packages specifies the list of NPM packages to check" + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -459,21 +420,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 Fleet bundle based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "packages": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Packages specifies the list of NPM packages to check" + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -481,7 +449,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 Fleet bundle based on a rule" }, "versionfilter": { "properties": { @@ -505,35 +473,31 @@ }, "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 fleet builder." }, - "rancher/fleet": { + "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 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." + "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, @@ -541,28 +505,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." - }, - "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, @@ -570,7 +527,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": { @@ -589,36 +550,83 @@ }, "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." }, - "gitea/action": { + "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 the accepted GitHub Action workflow file name\n\ndefault:\n - \".github/workflows/*.yaml\",\n - \".github/workflows/*.yml\",\n - \".gitea/workflows/*.yaml\",\n - \".gitea/workflows/*.yml\",\n - \".forgejo/workflows/*.yaml\",\n - \".forgejo/workflows/*.yml\"," + "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." + }, + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for Kubernetes files" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "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": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -626,21 +634,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Kubernetes 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 Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "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": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -648,11 +656,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 Kubernetes manifest based on a rule" }, "versionfilter": { "properties": { @@ -671,53 +675,33 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest." - }, - "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 Kubernetes builder." }, - "golang/gomod": { + "terraform": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "rootDir defines the root directory used to recursively search for golang go.mod" + "description": "`rootdir` defines the root directory used to recursively search for `.terraform.lock.hcl`" }, "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 `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." }, - "modules": { + "providers": { "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": "`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, @@ -725,25 +709,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` specifies rule to ignore `.terraform.lock.hcl` update." }, "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 `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." }, - "modules": { + "providers": { "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": "`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, @@ -751,7 +731,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "`only` allows to specify rule to \"only\" autodiscover manifest for a specific golang rule" + "description": "`only` specify required rule to restrict `.terraform.lock.hcl` update." }, "versionfilter": { "properties": { @@ -771,39 +751,77 @@ "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": "Spec defines the parameters which can be provided to the Golang autodiscovery builder." + "description": "Spec defines the Terraform parameters." }, - "maven": { + "helm": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "rootdir": { - "type": "string", - "description": "RootDir defines the root directory used to recursively search for Helm Chart" + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\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 substring." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "groupids": { - "items": { + "dependencies": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "GroupIDs specifies the list of Maven GroupIDs to check" + "type": "object", + "description": "Dependencies specifies a list of dependencies pattern." }, - "artifactids": { + "containers": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" + "description": "Containers specifies a list of containers pattern." } }, "additionalProperties": false, @@ -811,28 +829,32 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" + "description": "Ignore specifies rule to ignore Helm chart update." + }, + "rootdir": { + "type": "string", + "description": "rootdir defines the root directory used to recursively search for Helm Chart" }, "only": { "items": { "properties": { "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 Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "groupids": { - "items": { + "dependencies": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "GroupIDs specifies the list of Maven GroupIDs to check" + "type": "object", + "description": "Dependencies specifies a list of dependencies pattern." }, - "artifactids": { + "containers": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" + "description": "Containers specifies a list of containers pattern." } }, "additionalProperties": false, @@ -840,7 +862,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 specify required rule(s) to restrict Helm chart update." }, "versionfilter": { "properties": { @@ -860,39 +882,81 @@ "additionalProperties": false, "type": "object", "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + }, + "skippackaging": { + "type": "boolean", + "description": "[target] Defines if a Chart should be packaged or not." + }, + "versionincrement": { + "type": "string", + "description": "[target] Defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch\"" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Helm builder." + "description": "Spec defines the Helm parameters." }, - "cargo": { + "flux": { "$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" + }, + "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 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": { - "additionalProperties": { + "repositories": { + "items": { "type": "string" }, - "type": "object", - "description": "Crates specifies the list of Cargo crates to check" + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" }, - "registries": { - "items": { + "artifacts": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Registries specifies the list of Cargo registries to check" + "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, @@ -900,28 +964,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore specifies rule to ignore Cargo.toml update." + "description": "ignore allows to specify rule to ignore autodiscovery a specific Flux helmrelease 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": { - "additionalProperties": { + "repositories": { + "items": { "type": "string" }, - "type": "object", - "description": "Crates specifies the list of Cargo crates to check" + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" }, - "registries": { - "items": { + "artifacts": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Registries specifies the list of Cargo registries to check" + "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, @@ -929,44 +993,15 @@ "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 Flux helm release 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" + "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": { @@ -985,44 +1020,37 @@ }, "additionalProperties": false, "type": "object", - "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "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 Cargo parameters." + "description": "Spec defines the parameters which can be provided to the Flux crawler." }, - "dockerfile": { + "golang/gomod": { "$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 golang go.mod" }, "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 go.mod path pattern, the pattern requires to match all of name, not just a substring." }, - "images": { - "items": { + "modules": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Image specifies a list of docker image" + "type": "object", + "description": "Modules specifies a list of module pattern." + }, + "goversion": { + "type": "string", + "description": "GoVersions specifies a list of version pattern." } }, "additionalProperties": false, @@ -1030,66 +1058,33 @@ "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 go.mod rule" }, "only": { "items": { "properties": { - "archs": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Arch specifies a list of docker image architecture" - }, "path": { "type": "string", - "description": "Path specifies a Dockerfile path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a go.mod path pattern, the pattern requires to match all of name, not just a substring." }, - "images": { - "items": { + "modules": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Image specifies a list of docker image" - } - }, - "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 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" + "type": "object", + "description": "Modules specifies a list of module pattern." }, - "token": { + "goversion": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "GoVersions specifies a list of version pattern." } }, "additionalProperties": false, "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "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 Dockerfile file matching. Default [\"Dockerfile\"]" + "description": "`only` allows to specify rule to \"only\" autodiscover manifest for a specific golang rule" }, "versionfilter": { "properties": { @@ -1108,14 +1103,14 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec 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 Golang autodiscovery builder." }, - "helm": { + "kubernetes": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "auths": { @@ -1139,40 +1134,36 @@ "description": "InlineKeyChain defines a keychain with OCI registry credentials" }, "type": "object", - "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\n\t\tif empty, updatecli relies on OCI credentials such as the one used by Docker." + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, "digest": { "type": "boolean", - "description": "digest provides a parameter to specify if the generated manifest should use a digest on top of the tag when updating container." + "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." }, - "ignorecontainer": { - "type": "boolean", - "description": "ignorecontainer disables OCI container tag update when set to true" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." }, - "ignorechartdependency": { - "type": "boolean", - "description": "ignorechartdependency disables Helm chart dependencies update when set to true" + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for Kubernetes files" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "dependencies": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Dependencies specifies a list of dependencies pattern." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "containers": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Containers specifies a list of containers pattern." + "type": "array", + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -1180,32 +1171,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore specifies rule to ignore Helm chart update." - }, - "rootdir": { - "type": "string", - "description": "rootdir defines the root directory used to recursively search for Helm Chart" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Kubernetes manifest based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "dependencies": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Dependencies specifies a list of dependencies pattern." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "containers": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Containers specifies a list of containers pattern." + "type": "array", + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -1213,7 +1193,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "only specify required rule(s) to restrict Helm chart update." + "description": "Only allows to specify rule to only autodiscover manifest for a specific Kubernetes manifest based on a rule" }, "versionfilter": { "properties": { @@ -1233,74 +1213,132 @@ "additionalProperties": false, "type": "object", "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." - }, - "skippackaging": { - "type": "boolean", - "description": "[target] Defines if a Chart should be packaged or not." - }, - "versionincrement": { - "type": "string", - "description": "[target] Defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch\"" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Helm parameters." + "description": "Spec defines the parameters which can be provided to the Kubernetes builder." }, - "kubernetes": { + "maven": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "auths": { - "additionalProperties": { + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for Helm Chart" + }, + "ignore": { + "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 Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "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" + "groupids": { + "items": { + "type": "string" + }, + "type": "array", + "description": "GroupIDs specifies the list of Maven GroupIDs to check" }, - "token": { + "artifactids": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "ArtifactIDs specifies the list of Maven ArtifactIDs 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 Helm based on a rule" + }, + "only": { + "items": { + "properties": { + "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 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" + }, + "artifactids": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" } }, "additionalProperties": false, "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" + "description": "MatchingRule allows to specifies rules to identify manifest" }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + "type": "array", + "description": "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 Helm builder." + }, + "dockerfile": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { "digest": { "type": "boolean", "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." }, - "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, @@ -1308,21 +1346,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, @@ -1330,7 +1375,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 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": { @@ -1354,28 +1429,35 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Kubernetes builder." + "description": "Spec is a struct fill from Updatecli manifest data and shouldn't be modified at runtime unless For Fields that requires it, we can use the struct Dockerfile Spec defines the parameters which can be provided to the Dockerfile crawler." }, - "precommit": { + "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 .pre-commit-config.yaml 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." }, - "repos": { + "crates": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Repos 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, @@ -1383,21 +1465,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 .pre-commit-config.yaml 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." }, - "repos": { + "crates": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Repos 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, @@ -1405,7 +1494,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": { @@ -1424,74 +1550,87 @@ }, "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 uses to generate the precomit manifests" + "description": "Spec defines the Cargo parameters." }, - "flux": { + "dockercompose": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "auths": { - "additionalProperties": { + "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": { - "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" + "archs": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Arch specifies a list of docker image architecture" }, - "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 Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "services": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Services specifies a list of docker compose services" + }, + "images": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, "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" + "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "files allows to override default flux files\n\ndefault: [\"*.yaml\", \"*.yml\"]" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" }, - "ignore": { + "only": { "items": { "properties": { + "archs": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Arch specifies a list of docker image architecture" + }, "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "repositories": { + "services": { "items": { "type": "string" }, "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Services specifies a list of docker compose services" }, - "artifacts": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Artifacts specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -1499,44 +1638,37 @@ "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": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" }, - "only": { - "items": { + "auths": { + "additionalProperties": { "properties": { - "path": { + "username": { "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": "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" }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "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" }, - "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" + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" } }, "additionalProperties": false, "type": "object", - "description": "MatchingRule allows to specifies rules to identify manifest" + "description": "InlineKeyChain defines a keychain with OCI registry credentials" }, - "type": "array", - "description": "only 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" + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, - "rootdir": { - "type": "string", - "description": "rootDir defines the root directory used to recursively search for Flux files\n\ndefault: . (current working directory) or scm root directory" + "filematch": { + "items": { + "type": "string" + }, + "type": "array", + "description": "FileMatch allows to override default docker-compose.yaml file matching. Default [\"docker-compose.yaml\",\"docker-compose.yml\",\"docker-compose.*.yaml\",\"docker-compose.*.yml\"]" }, "versionfilter": { "properties": { @@ -1555,14 +1687,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." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Flux crawler." + "description": "Spec 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": { + "gitea/action": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "files": { @@ -1660,33 +1792,26 @@ "type": "object", "description": "Spec defines the parameters which can be provided to the Github Action crawler." }, - "helmfile": { + "updatecli": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "rootdir defines the root directory used to recursively search for Helmfile manifest" + "description": "rootdir defines the root directory used to recursively search for Updatecli manifest" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "charts": { + "policies": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Policies specifies a Updatecli policy" } }, "additionalProperties": false, @@ -1694,28 +1819,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Helmfile based on a rule" + "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Updatecli based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "charts": { + "policies": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Policies specifies a Updatecli policy" } }, "additionalProperties": false, @@ -1723,7 +1841,14 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Helmfile based on a rule" + "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Updatecli based on a rule" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." }, "auths": { "additionalProperties": { @@ -1770,137 +1895,35 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Helmfile parameters." + "description": "Spec defines the Updatecli parameters." }, - "prow": { + "argocd": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - } - }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" - }, - "digest": { - "type": "boolean", - "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." - }, "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for Kubernetes files" + "description": "RootDir defines the root directory used to recursively search for ArgoCD manifest" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." - }, - "images": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Images specifies the list of container image to check" - } - }, - "additionalProperties": false, - "type": "object", - "description": "MatchingRule allows to specifies rules to identify manifest" - }, - "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific Kubernetes manifest based on a rule" - }, - "only": { - "items": { - "properties": { - "path": { - "type": "string", - "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { + "repositories": { "items": { "type": "string" }, "type": "array", - "description": "Images specifies the list of container image to check" - } - }, - "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." - }, - "updatecli": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "rootdir": { - "type": "string", - "description": "rootdir defines the root directory used to recursively search for Updatecli manifest" - }, - "ignore": { - "items": { - "properties": { - "path": { - "type": "string", - "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Repositories specifies the list of Helm Chart repository to check" }, - "policies": { + "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,59 +1931,36 @@ "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 Argocd manifest 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 Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "policies": { - "additionalProperties": { + "repositories": { + "items": { "type": "string" }, - "type": "object", - "description": "Policies specifies a Updatecli policy" - } - }, - "additionalProperties": false, - "type": "object", - "description": "MatchingRule allows to specifies rules to identify manifest" - }, - "type": "array", - "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Updatecli based on a rule" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." - }, - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "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" + "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" + "description": "MatchingRule allows to specifies rules to identify manifest" }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + "type": "array", + "description": "Only allows to specify rule to only autodiscover manifest for a specific ArgoCD manifest based on a rule" }, "versionfilter": { "properties": { @@ -1979,12 +1979,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\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 Updatecli parameters." + "description": "Spec defines the parameters which can be provided to the argocd builder." } }, "type": "object", @@ -2022,7 +2022,75 @@ }, "kind": { "enum": [ - "gitlab/mergerequest" + "github/pullrequest" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "automerge": { + "type": "boolean", + "description": "automerge allows to enable/disable the automerge feature on new pullrequest\n\ncompatible:\n * action\n\ndefault:\n false" + }, + "title": { + "type": "string", + "description": "title allows to override the pull request title\n\ncompatible:\n * action\n\ndefault:\n The default title is fetch from the first following location:\n 1. The action title\n 2. The target title if only one target\n 3. The pipeline target" + }, + "description": { + "type": "string", + "description": "description allows to prepend information to the pullrequest description.\n\ncompatible:\n * action\n\ndefault:\n empty" + }, + "labels": { + "items": { + "type": "string" + }, + "type": "array", + "description": "labels specifies repository labels used for the Pull Request.\n\ncompatible:\n * action\n\ndefault:\n empty\n\nremark:\n Labels must already exist on the repository" + }, + "draft": { + "type": "boolean", + "description": "draft allows to set pull request in draft\n\ncompatible:\n * action\n\ndefault:\n false" + }, + "maintainercannotmodify": { + "type": "boolean", + "description": "maintainercannotmodify allows to specify if maintainer can modify pullRequest\n\ncompatible:\n * action\n\ndefault:\n false" + }, + "mergemethod": { + "type": "string", + "description": "mergemethod allows to specifies what merge method is used to incorporate the pull request.\n\ncompatible:\n * action\n\ndefault:\n \"\"\n\nremark:\n Accept \"merge\", \"squash\", \"rebase\", or \"\"" + }, + "usetitleforautomerge": { + "type": "boolean", + "description": "usetitleforautomerge allows to specifies to use the Pull Request title as commit message when using auto merge,\n\ncompatible:\n * action\n\ndefault:\n \"\"\n\nremark:\n Only works for \"squash\" or \"rebase\"" + }, + "parent": { + "type": "boolean", + "description": "parent allows to specifies if a pull request should be sent to the parent of the current fork.\n\ncompatible:\n * action\n\ndefault:\n false" + } + }, + "additionalProperties": false, + "type": "object", + "description": "ActionSpec specifies the configuration of an action of type \"GitHub Pull Request\"" + }, + "scmid": { + "type": "string" + }, + "disablepipelineurl": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "title": { + "type": "string" + }, + "kind": { + "enum": [ + "gitea/pullrequest" ] }, "spec": { @@ -2030,44 +2098,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 +2160,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 +2210,7 @@ "additionalProperties": false, "type": "object", "required": [ + "url", "owner", "repository" ], @@ -2156,55 +2234,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 +2299,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" @@ -2285,16 +2359,21 @@ }, "additionalProperties": false, "type": "object" - }, + } + ] + }, + "type": "object", + "description": "\"actions\" defines the list of action configurations which need to be managed.\n\n\t\texamples:\n\t\t---\n\t\tactions:\n\t\t\tdefault:\n\t\t\t\tkind: github/pullrequest\n\t\t\t\tscmid: default\n\t\t\t\tspec:\n\t\t\t\t\tautomerge: true\n\t\t\t\t\tlabels:\n\t\t\t\t\t\t- \"dependencies\"\n\t\t---" + }, + "scms": { + "additionalProperties": { + "oneOf": [ { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "title": { - "type": "string" - }, "kind": { "enum": [ - "stash/pullrequest" + "stash" ] }, "spec": { @@ -2308,37 +2387,95 @@ "type": "string", "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "token": { + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "\"owner\" defines the owner of a repository.\n\n\tcompatible:\n\t\t* scm" + }, + "repository": { + "type": "string", + "description": "repository specifies the name of a repository for a specific owner.\n\n\tcompatible:\n\t\t* scm" + }, + "commitmessage": { + "properties": { + "type": { + "type": "string", + "description": "\"type\" defines the type of commit message such as \"chore\", \"fix\", \"feat\", etc. as\n\t\tdefined by the conventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\t* chore" + }, + "scope": { + "type": "string", + "description": "\"scope\" defines the scope of the commit message as defined by the\n\t\tconventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\tnone" + }, + "footers": { + "type": "string", + "description": "footers defines the footer of the commit message as defined by the\n\t\tconventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\tnone" + }, + "title": { + "type": "string", + "description": "\"title\" defines the title of the commit message as defined by the\n\t\tconventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\tdefault is set to the target name or the target short description\n\t\t\tif the name is not defined." + }, + "body": { + "type": "string", + "description": "\"body\" defines the commit body of the commit message as defined by the\n\t\tconventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\tnone" + }, + "hidecredit": { + "type": "boolean", + "description": "\"hideCredit\" defines if updatecli credits should be displayed inside commit message body\n\n\t\tplease consider sponsoring the Updatecli project if you want to disable credits.\n\t\t-\u003e https://github.com/updatecli/updatecli\n\n\t\tdefault:\n\t\t\tfalse" + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"commitMessage\" is used to generate the final commit message.\n\n compatible:\n * scm\n\n remark:\n it's worth mentioning that the commit message settings is applied to all targets linked to the same scm." + }, + "directory": { "type": "string", - "description": "\"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": "\"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" }, - "password": { + "email": { "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": "\"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 specifies repository owner" + "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." }, - "repository": { - "type": "string", - "description": "Repository specifies the name of a repository for a specific owner" + "gpg": { + "properties": { + "signingkey": { + "type": "string", + "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone" + }, + "passphrase": { + "type": "string", + "description": "passphrase defines the gpg passphrase used to sign the commit message" + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t\t* scm" }, - "sourcebranch": { + "user": { "type": "string", - "description": "SourceBranch specifies the pullrequest source branch" + "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t\t* scm" }, - "targetbranch": { + "branch": { "type": "string", - "description": "TargetBranch specifies the pullrequest target branch" + "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." }, - "title": { - "type": "string", - "description": "Title defines the Bitbucket pullrequest title." + "submodules": { + "type": "boolean", + "description": "\"submodules\" defines if Updatecli should checkout submodules.\n\n compatible:\n\t * scm\n\n default: true" }, - "body": { - "type": "string", - "description": "Body defines the Bitbucket pullrequest body" + "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" } }, "additionalProperties": false, @@ -2348,26 +2485,15 @@ "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" + "description": "Spec defines settings used to interact with Bitbucket Server release" }, - "disablepipelineurl": { + "disabled": { "type": "boolean" } }, "additionalProperties": false, "type": "object" - } - ] - }, - "type": "object", - "description": "\"actions\" defines the list of action configurations which need to be managed.\n\n\t\texamples:\n\t\t---\n\t\tactions:\n\t\t\tdefault:\n\t\t\t\tkind: github/pullrequest\n\t\t\t\tscmid: default\n\t\t\t\tspec:\n\t\t\t\t\tautomerge: true\n\t\t\t\t\tlabels:\n\t\t\t\t\t\t- \"dependencies\"\n\t\t---" - }, - "scms": { - "additionalProperties": { - "oneOf": [ + }, { "$schema": "http://json-schema.org/draft-04/schema", "properties": { @@ -2848,132 +2974,6 @@ }, "additionalProperties": false, "type": "object" - }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "stash" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "url": { - "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "\"owner\" 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": { - "type": { - "type": "string", - "description": "\"type\" defines the type of commit message such as \"chore\", \"fix\", \"feat\", etc. as\n\t\tdefined by the conventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\t* chore" - }, - "scope": { - "type": "string", - "description": "\"scope\" defines the scope of the commit message as defined by the\n\t\tconventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\tnone" - }, - "footers": { - "type": "string", - "description": "footers defines the footer of the commit message as defined by the\n\t\tconventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\tnone" - }, - "title": { - "type": "string", - "description": "\"title\" defines the title of the commit message as defined by the\n\t\tconventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\tdefault is set to the target name or the target short description\n\t\t\tif the name is not defined." - }, - "body": { - "type": "string", - "description": "\"body\" defines the commit body of the commit message as defined by the\n\t\tconventional commit specification. More information on\n\t\t-\u003e https://www.conventionalcommits.org/en/\n\n\t\tdefault:\n\t\t\tnone" - }, - "hidecredit": { - "type": "boolean", - "description": "\"hideCredit\" defines if updatecli credits should be displayed inside commit message body\n\n\t\tplease consider sponsoring the Updatecli project if you want to disable credits.\n\t\t-\u003e https://github.com/updatecli/updatecli\n\n\t\tdefault:\n\t\t\tfalse" - } - }, - "additionalProperties": false, - "type": "object", - "description": "\"commitMessage\" is used to generate the final commit message.\n\n compatible:\n * scm\n\n remark:\n it's worth mentioning that the commit message settings is applied to all targets linked to the same scm." - }, - "directory": { - "type": "string", - "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n * scm\n\n remark:\n Unless you know what you are doing, it is recommended to use the default value.\n The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n The default value is based on your local temporary directory like: (on Linux)\n /tmp/updatecli/stash/\u003cowner\u003e/\u003crepository\u003e" - }, - "email": { - "type": "string", - "description": "\"email\" defines the email used to commit changes.\n\n compatible:\n * scm\n\n default:\n default set to your global git configuration" - }, - "force": { - "type": "boolean", - "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n compatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreate the working branches that\n diverged from their base branch." - }, - "gpg": { - "properties": { - "signingkey": { - "type": "string", - "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone" - }, - "passphrase": { - "type": "string", - "description": "passphrase defines the gpg passphrase used to sign the commit message" - } - }, - "additionalProperties": false, - "type": "object", - "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t\t* scm" - }, - "user": { - "type": "string", - "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t\t* scm" - }, - "branch": { - "type": "string", - "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the Stash scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n The working branch can be disabled using the \"workingBranch\" parameter set to false." - }, - "submodules": { - "type": "boolean", - "description": "\"submodules\" defines if Updatecli should checkout submodules.\n\n compatible:\n\t * scm\n\n default: true" - }, - "workingbranch": { - "type": "boolean", - "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n\t * scm\n\n default: true" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" - }, - "disabled": { - "type": "boolean" - } - }, - "additionalProperties": false, - "type": "object" } ] }, @@ -2999,7 +2999,7 @@ }, "kind": { "enum": [ - "maven" + "gitlab/release" ] }, "transformers": { @@ -3102,30 +3102,23 @@ "properties": { "url": { "type": "string", - "description": "Deprecated, please specify the Maven url in the repository" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "repository": { + "username": { "type": "string", - "description": "Specifies the maven repository url + name" - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "groupid": { + "token": { "type": "string", - "description": "Specifies the maven artifact groupID" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "artifactid": { + "owner": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "description": "[S][C][T] Owner specifies repository owner" }, - "version": { + "repository": { "type": "string", - "description": "Specifies the maven artifact version" + "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -3145,11 +3138,39 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "title": { + "type": "string", + "description": "[T] Title defines the GitLab release title." + }, + "tag": { + "type": "string", + "description": "[C][T] Tag defines the GitLab release tag." + }, + "commitish": { + "type": "string", + "description": "[T] Commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] Description defines if the new release description" + }, + "draft": { + "type": "boolean", + "description": "[T] Draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] Prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -3178,7 +3199,7 @@ }, "kind": { "enum": [ - "npm" + "gitlab/tag" ] }, "transformers": { @@ -3279,21 +3300,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { + "url": { "type": "string", - "description": "Defines the specific npm package name" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "version": { + "username": { "type": "string", - "description": "Defines a specific package version" + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "url": { + "token": { "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "registrytoken": { + "owner": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -3312,16 +3337,20 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "npmrcpath": { + "tag": { "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "description": "[S] Tag defines the GitLab tag ." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -3350,7 +3379,7 @@ }, "kind": { "enum": [ - "gittag" + "hcl" ] }, "transformers": { @@ -3451,60 +3480,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "file": { "type": "string", - "description": "Path contains the git repository path" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "message": { - "type": "string", - "description": "Message associated to the git tag\n\n compatible:\n * target" - }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" - }, - "url": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + "type": "array", + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "password": { + "path": { "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "sourcebranch": { + "value": { "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -3533,7 +3531,7 @@ }, "kind": { "enum": [ - "githubrelease" + "terraform/registry" ] }, "transformers": { @@ -3634,25 +3632,33 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { + "type": { "type": "string", - "description": "[s][c] Owner specifies repository owner" + "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" }, - "repository": { + "hostname": { "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" + "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "token": { + "namespace": { "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" + "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "url": { + "name": { "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "username": { + "targetsystem": { "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." + }, + "rawstring": { + "type": "string", + "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + }, + "version": { + "type": "string", + "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" }, "versionfilter": { "properties": { @@ -3671,44 +3677,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "typefilter": { - "properties": { - "draft": { - "type": "boolean", - "description": "\"Draft\" enable/disable GitHub draft release" - }, - "prerelease": { - "type": "boolean", - "description": "\"PreRelease\" enable/disable GitHub PreRelease" - }, - "release": { - "type": "boolean", - "description": "\"Release\" enable/disable GitHub release" - }, - "latest": { - "type": "boolean", - "description": "\"Latest\" if set to true will only filter the release flag as latest." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" - }, - "tag": { - "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object", - "required": [ - "owner", - "repository", - "token" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -3737,7 +3710,7 @@ }, "kind": { "enum": [ - "stash/tag" + "toolversions" ] }, "transformers": { @@ -3838,62 +3811,32 @@ "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": "[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", @@ -3922,7 +3865,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "csv" ] }, "transformers": { @@ -4025,38 +3968,57 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "[s][c][t] File specifies the csv file" }, "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": "[c][t] Files specifies a list of Json file to manipulate" + }, + "key": { + "type": "string", + "description": "[s][c][t] Key specifies the csv query" + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, "value": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "[s][c][t] Key specifies the csv value, default to source output" + }, + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" }, - "provider": { - "type": "string", - "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" }, - "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." + "type": "object" }, "scmid": { "type": "string", @@ -4085,7 +4047,7 @@ }, "kind": { "enum": [ - "yaml" + "gitlab/branch" ] }, "transformers": { @@ -4186,41 +4148,57 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { + "url": { "type": "string", - "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "file": { + "username": { "type": "string", - "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "token": { + "type": "string", + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "key": { + "owner": { "type": "string", - "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" + "description": "[S][C] Owner specifies repository owner" }, - "value": { + "repository": { "type": "string", - "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, - "keyonly": { - "type": "boolean", - "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -4249,7 +4227,7 @@ }, "kind": { "enum": [ - "csv" + "gitea/tag" ] }, "transformers": { @@ -4350,36 +4328,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the csv file" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" + "description": "\"url\" defines the Gitea url to interact with" }, - "key": { + "username": { "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "query": { + "token": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "value": { + "owner": { "type": "string", - "description": "[s][c][t] Key specifies the csv value, default to source output" - }, - "comma": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + "description": "[S][C] Owner specifies repository owner" }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -4398,11 +4365,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", @@ -4431,7 +4408,7 @@ }, "kind": { "enum": [ - "shell" + "json" ] }, "transformers": { @@ -4532,130 +4509,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "command": { + "file": { "type": "string", - "description": "command specifies the shell command to execute by Updatecli" + "description": "\"file\" defines the 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" }, - "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\" 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" }, - "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" + "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" }, - "shell": { + "value": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "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." }, - "workdir": { + "query": { "type": "string", - "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." + "description": "[s][c][t] 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", - "required": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -4684,7 +4583,7 @@ }, "kind": { "enum": [ - "terraform/file" + "stash/tag" ] }, "transformers": { @@ -4785,29 +4684,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "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\" specifies the username used to authenticate with Bitbucket Server API" }, - "path": { + "token": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "\"token\" specifies the credential used to authenticate with 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 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": "\"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": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -4836,7 +4768,7 @@ }, "kind": { "enum": [ - "toolversions" + "aws/ami" ] }, "transformers": { @@ -4937,32 +4869,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "accesskey": { "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" + "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "files": { + "secretkey": { + "type": "string", + "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + }, + "filters": { "items": { - "type": "string" + "properties": { + "name": { + "type": "string", + "description": "Name specifies a filter name." + }, + "values": { + "type": "string", + "description": "Values specifies a filter value for a specific filter name." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Filter represents the updatecli configuration describing AMI filters." }, "type": "array", - "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" + "description": "Filters specifies a list of AMI filters" }, - "key": { + "region": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "description": "Region specifies the AWS region to use when looking for AMI" }, - "value": { + "endpoint": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" }, - "createmissingkey": { + "dryrun": { "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": "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" + "type": "object", + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -4991,7 +4944,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "gittag" ] }, "transformers": { @@ -5092,25 +5045,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" - }, - "repository": { + "path": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "Path contains the git repository path" }, "versionfilter": { "properties": { @@ -5129,21 +5066,39 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "tag": { + "message": { "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "description": "Message associated to the git tag\n\n compatible:\n * target" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" + }, + "url": { + "type": "string", + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "sourcebranch": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." } }, "additionalProperties": false, "type": "object", "required": [ - "url", - "owner", - "repository" + "url" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -5172,7 +5127,7 @@ }, "kind": { "enum": [ - "golang" + "terraform/provider" ] }, "transformers": { @@ -5273,33 +5228,29 @@ "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 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": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "type": "array", + "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + }, + "value": { + "type": "string", + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + }, + "provider": { + "type": "string", + "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -5328,7 +5279,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "cargopackage" ] }, "transformers": { @@ -5429,26 +5380,74 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "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" + "registry": { + "properties": { + "auth": { + "properties": { + "token": { + "type": "string", + "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." + }, + "headerformat": { + "type": "string", + "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." + }, + "url": { + "type": "string", + "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." + }, + "rootdir": { + "type": "string", + "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." + }, + "scmid": { + "type": "string", + "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] Registry specifies the registry to use" }, - "module": { + "package": { "type": "string", - "description": "Module defines the module path\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "description": "[S][C] Package specifies the name of the package" }, "version": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "description": "[C] Defines a specific package version" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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 \"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", @@ -5477,7 +5476,7 @@ }, "kind": { "enum": [ - "jenkins" + "shell" ] }, "transformers": { @@ -5578,18 +5577,130 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "command": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "description": "command specifies the shell command to execute by Updatecli" }, - "version": { + "environments": { + "items": { + "properties": { + "name": { + "type": "string", + "description": "Name defines the environment variable name" + }, + "value": { + "type": "string", + "description": "Value defines the environment variable value" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ], + "description": "Environment is a struct containing information for an environment variable such as its name and its value" + }, + "type": "array", + "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." + }, + "changedif": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "exitcode" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "warning": { + "type": "integer", + "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" + }, + "success": { + "type": "integer", + "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" + }, + "failure": { + "type": "integer", + "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "warning", + "success", + "failure" + ] + } + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "file/checksum" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the list of file that Updatecli monitors to identify state change" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "files" + ] + } + }, + "additionalProperties": false, + "type": "object" + } + ], + "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" + }, + "shell": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + }, + "workdir": { + "type": "string", + "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"jenkins\" 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", @@ -5618,7 +5729,7 @@ }, "kind": { "enum": [ - "temurin" + "golang" ] }, "transformers": { @@ -5719,52 +5830,33 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "releaseline": { - "type": "string", - "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" - }, - "releasetype": { - "type": "string", - "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" - }, - "featureversion": { - "type": "integer", - "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" - }, - "result": { - "type": "string", - "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" - }, - "architecture": { - "type": "string", - "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" - }, - "imagetype": { - "type": "string", - "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" - }, - "operatingsystem": { - "type": "string", - "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" - }, - "specificversion": { - "type": "string", - "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" - }, - "project": { + "version": { "type": "string", - "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + "description": "[C] Version defines a specific golang version" }, - "platforms": { - "items": { - "type": "string" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } }, - "type": "array", - "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -5793,7 +5885,7 @@ }, "kind": { "enum": [ - "dockerimage" + "npm" ] }, "transformers": { @@ -5894,36 +5986,21 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { - "items": { - "type": "string" - }, - "type": "array", - "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "image": { - "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" - }, - "tag": { + "name": { "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" + "description": "Defines the specific npm package name" }, - "username": { + "version": { "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": "Defines a specific package version" }, - "password": { + "url": { "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": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" }, - "token": { + "registrytoken": { "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": "RegistryToken defines the token to use when connection to the registry" }, "versionfilter": { "properties": { @@ -5942,16 +6019,16 @@ }, "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." }, - "tagfilter": { + "npmrcpath": { "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": "NpmrcPath defines the path to the .npmrc file" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -5980,7 +6057,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "stash/branch" ] }, "transformers": { @@ -6083,15 +6160,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", @@ -6132,7 +6213,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", @@ -6161,7 +6242,7 @@ }, "kind": { "enum": [ - "golang/module" + "terraform/file" ] }, "transformers": { @@ -6262,44 +6343,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", @@ -6328,7 +6394,7 @@ }, "kind": { "enum": [ - "hcl" + "dockerdigest" ] }, "transformers": { @@ -6429,29 +6495,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "architecture": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "image": { + "type": "string", + "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "path": { + "tag": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "value": { + "digest": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." + }, + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + }, + "hidetag": { + "type": "boolean", + "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -6480,7 +6559,7 @@ }, "kind": { "enum": [ - "http" + "file" ] }, "transformers": { @@ -6581,62 +6660,45 @@ "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` 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" }, - "returnresponseheader": { + "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": "[S] Specifies the header to return as source value (instead of the body)." + "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "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." + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\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." + "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 \"http\" 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", @@ -6665,7 +6727,7 @@ }, "kind": { "enum": [ - "cargopackage" + "golang/module" ] }, "transformers": { @@ -6741,68 +6803,38 @@ }, "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": { - "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." - } + "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`." + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "pattern" + ], + "description": "Find searches for a specific value if it exists then return the value using regular expression" }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + "semverinc": { + "type": "string", + "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." + } }, - "package": { + "additionalProperties": false, + "type": "object", + "description": "Transformer holds a transformer rule" + }, + "type": "array", + "description": "transformers defines how the default input value need to be transformed" + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "proxy": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "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", @@ -6831,9 +6863,9 @@ "additionalProperties": false, "type": "object", "required": [ - "package" + "module" ], - "description": "Spec defines a specification for a \"cargopackage\" 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", @@ -6862,7 +6894,7 @@ }, "kind": { "enum": [ - "gitea/release" + "dockerfile" ] }, "transformers": { @@ -6963,78 +6995,32 @@ "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 specifies the dockerimage file path to use and is incompatible with Files" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { - "type": "string", - "description": "[T] title defines the Gitea release title." + "type": "array", + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "tag": { - "type": "string", - "description": "[C][T] tag defines the Gitea release tag." + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "commitish": { + "value": { "type": "string", - "description": "[T] commitish defines the commit-ish such as `main`" + "description": "Value specifies the value for a specified Dockerfile instruction." }, - "description": { + "stage": { "type": "string", - "description": "[T] description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] draft defines if the release is a draft release" - }, - "prerelease": { - "type": "boolean", - "description": "[T] prerelease defines if the release is a pre-release release" + "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7063,7 +7049,7 @@ }, "kind": { "enum": [ - "toml" + "gitea/branch" ] }, "transformers": { @@ -7164,28 +7150,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" + "description": "\"url\" defines the Gitea url to interact with" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "query": { + "token": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "key": { + "owner": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "description": "[S][C] Owner specifies repository owner" }, - "value": { + "repository": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -7204,15 +7187,21 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -7241,7 +7230,7 @@ }, "kind": { "enum": [ - "gitbranch" + "githubrelease" ] }, "transformers": { @@ -7342,9 +7331,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "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" + }, + "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": { @@ -7363,35 +7368,44 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "branch": { - "type": "string", - "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" - }, - "sourcebranch": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "url": { - "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "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" + "typefilter": { + "properties": { + "draft": { + "type": "boolean", + "description": "\"Draft\" enable/disable GitHub draft release" + }, + "prerelease": { + "type": "boolean", + "description": "\"PreRelease\" enable/disable GitHub PreRelease" + }, + "release": { + "type": "boolean", + "description": "\"Release\" enable/disable GitHub release" + }, + "latest": { + "type": "boolean", + "description": "\"Latest\" if set to true will only filter the release flag as latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" }, - "password": { + "tag": { "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "[c] Tag allows to check for a specific release tag, default to source output" } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "owner", + "repository", + "token" ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7420,7 +7434,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "helmchart" ] }, "transformers": { @@ -7521,25 +7535,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": "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": "[S][C] Owner specifies repository owner" + "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": { @@ -7558,20 +7588,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 GitLab 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": [ - "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", @@ -7600,7 +7634,7 @@ }, "kind": { "enum": [ - "helmchart" + "terraform/lock" ] }, "transformers": { @@ -7703,75 +7737,38 @@ "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\" 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" }, - "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/" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, "value": { "type": "string", - "description": "value is the value associated with a 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": "\"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." }, - "versionincrement": { + "provider": { "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": "\"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\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" + "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" }, - "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" + "skipconstraints": { + "type": "boolean", + "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -7800,7 +7797,7 @@ }, "kind": { "enum": [ - "json" + "toml" ] }, "transformers": { @@ -7903,26 +7900,26 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[s][c][t] File specifies the toml file to manipulate" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "key": { + "query": { "type": "string", - "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "value": { + "key": { "type": "string", - "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" }, - "query": { + "value": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, "versionfilter": { "properties": { @@ -7941,12 +7938,15 @@ }, "additionalProperties": false, "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "description": "\"json\" defines the specification for manipulating \"json\" files." + "type": "object" }, "scmid": { "type": "string", @@ -7975,7 +7975,7 @@ }, "kind": { "enum": [ - "stash/branch" + "xml" ] }, "transformers": { @@ -8076,62 +8076,22 @@ "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": { + "file": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "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" }, - "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 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\"" }, - "branch": { + "value": { "type": "string", - "description": "[C] Branch specifies the branch name" + "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": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -8160,7 +8120,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "dockerimage" ] }, "transformers": { @@ -8261,29 +8221,64 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" - }, - "files": { + "architectures": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "value": { + "architecture": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "provider": { + "image": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" + }, + "tag": { + "type": "string", + "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" + }, + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" + }, + "tagfilter": { + "type": "string", + "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -8312,7 +8307,7 @@ }, "kind": { "enum": [ - "aws/ami" + "gitbranch" ] }, "transformers": { @@ -8413,53 +8408,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "accesskey": { - "type": "string", - "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" - }, - "secretkey": { + "path": { "type": "string", - "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + "description": "path contains the git repository path" }, - "filters": { - "items": { - "properties": { - "name": { - "type": "string", - "description": "Name specifies a filter name." - }, - "values": { - "type": "string", - "description": "Values specifies a filter value for a specific filter name." - } + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" }, - "additionalProperties": false, - "type": "object", - "description": "Filter represents the updatecli configuration describing AMI filters." + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } }, - "type": "array", - "description": "Filters specifies a list of AMI filters" + "additionalProperties": false, + "type": "object", + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "region": { + "branch": { "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" }, - "endpoint": { + "sourcebranch": { "type": "string", - "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + "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" }, - "dryrun": { - "type": "boolean", - "description": "Dryrun allows to Check whether you have the required permissions for the action." + "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." }, - "sortby": { + "username": { "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" } }, "additionalProperties": false, "type": "object", - "description": "Spec contains the updatecli configuration provided by users." + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -8488,7 +8486,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "yaml" ] }, "transformers": { @@ -8589,42 +8587,41 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" - }, - "image": { + "engine": { "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" }, - "tag": { + "file": { "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "digest": { - "type": "string", - "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "username": { + "key": { "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" }, - "password": { + "value": { "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "keyonly": { + "type": "boolean", + "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" }, - "hidetag": { + "searchpattern": { "type": "boolean", - "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -8653,7 +8650,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "golang/gomod" ] }, "transformers": { @@ -8754,56 +8751,26 @@ "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 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" }, - "targetsystem": { + "module": { "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": "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" }, - "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." + "indirect": { + "type": "boolean", + "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" }, "version": { "type": "string", - "description": "\"version\" defines a specific 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": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -8832,7 +8799,7 @@ }, "kind": { "enum": [ - "xml" + "temurin" ] }, "transformers": { @@ -8933,22 +8900,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "releaseline": { "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": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "path": { + "releasetype": { "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": "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 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": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" + }, + "architecture": { + "type": "string", + "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" + }, + "imagetype": { + "type": "string", + "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" + }, + "operatingsystem": { + "type": "string", + "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" + }, + "specificversion": { + "type": "string", + "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + }, + "project": { + "type": "string", + "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + }, + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." } }, "additionalProperties": false, - "type": "object", - "description": "\"xml\" defines the specification for manipulating \"xml\" files." + "type": "object" }, "scmid": { "type": "string", @@ -8977,7 +8974,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "jenkins" ] }, "transformers": { @@ -9078,57 +9075,18 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" - }, - "token": { - "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" - }, - "repository": { + "release": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "branch": { + "version": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "[s][c] Defines a specific release version (condition only)" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -9157,7 +9115,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "maven" ] }, "transformers": { @@ -9260,23 +9218,30 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "Deprecated, please specify the Maven url in the repository" }, - "username": { + "repository": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "Specifies the maven repository url + name" }, - "token": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." + }, + "groupid": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "Specifies the maven artifact groupID" }, - "owner": { + "artifactid": { "type": "string", - "description": "[S][C][T] Owner specifies repository owner" + "description": "Specifies the maven artifact artifactID" }, - "repository": { + "version": { "type": "string", - "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" + "description": "Specifies the maven artifact version" }, "versionfilter": { "properties": { @@ -9296,39 +9261,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." - }, - "tag": { - "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." - }, - "commitish": { - "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" - }, - "description": { - "type": "string", - "description": "[T] Description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" - }, - "prerelease": { - "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -9357,7 +9294,7 @@ }, "kind": { "enum": [ - "dockerfile" + "gitea/release" ] }, "transformers": { @@ -9458,32 +9395,78 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "description": "\"url\" defines the Gitea url to interact with" }, - "files": { - "items": { - "type": "string" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" + }, + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C][T] owner specifies the repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C][T] repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } }, - "type": "array", - "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" + "additionalProperties": false, + "type": "object", + "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "title": { + "type": "string", + "description": "[T] title defines the Gitea release title." }, - "value": { + "tag": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "description": "[C][T] tag defines the Gitea release tag." }, - "stage": { + "commitish": { "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": "[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 \"dockerfile\" resource parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -9512,7 +9495,7 @@ }, "kind": { "enum": [ - "file" + "http" ] }, "transformers": { @@ -9613,45 +9596,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "line": { - "type": "integer", - "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "content": { + "url": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "forcecreate": { - "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "matchpattern": { + "returnresponseheader": { "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] Specifies the header to return as source value (instead of the body)." }, - "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" + "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." }, - "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 ```" + "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", @@ -9688,7 +9688,7 @@ }, "kind": { "enum": [ - "file" + "gitea/branch" ] }, "transformers": { @@ -9789,45 +9789,58 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" + "description": "\"url\" defines the Gitea url to interact with" }, - "line": { - "type": "integer", - "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "content": { + "token": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "\"token\" specifies the credential used to authenticate with 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" }, - "forcecreate": { - "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" }, - "matchpattern": { + "repository": { "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] 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." }, - "replacepattern": { + "branch": { "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": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -9865,7 +9878,7 @@ }, "kind": { "enum": [ - "githubrelease" + "terraform/registry" ] }, "transformers": { @@ -9966,25 +9979,33 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { + "type": { "type": "string", - "description": "[s][c] Owner specifies repository owner" + "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" }, - "repository": { + "hostname": { "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" + "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "token": { + "namespace": { "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" + "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "url": { + "name": { "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "username": { + "targetsystem": { "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." + }, + "rawstring": { + "type": "string", + "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + }, + "version": { + "type": "string", + "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" }, "versionfilter": { "properties": { @@ -10003,44 +10024,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "typefilter": { - "properties": { - "draft": { - "type": "boolean", - "description": "\"Draft\" enable/disable GitHub draft release" - }, - "prerelease": { - "type": "boolean", - "description": "\"PreRelease\" enable/disable GitHub PreRelease" - }, - "release": { - "type": "boolean", - "description": "\"Release\" enable/disable GitHub release" - }, - "latest": { - "type": "boolean", - "description": "\"Latest\" if set to true will only filter the release flag as latest." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" - }, - "tag": { - "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object", - "required": [ - "owner", - "repository", - "token" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -10078,7 +10066,7 @@ }, "kind": { "enum": [ - "jenkins" + "toolversions" ] }, "transformers": { @@ -10179,18 +10167,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": "[s][c][t] File specifies the .tool-versions file to manipulate" }, - "version": { + "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] Defines a specific release version (condition only)" + "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 \"jenkins\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -10228,7 +10230,7 @@ }, "kind": { "enum": [ - "shell" + "file" ] }, "transformers": { @@ -10301,158 +10303,73 @@ "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" + }, + "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": { + "file": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "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" }, - "workdir": { + "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": "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": "`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", - "required": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" 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", @@ -10490,7 +10407,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "githubrelease" ] }, "transformers": { @@ -10591,25 +10508,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "owner": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "[s][c] Owner specifies repository owner" }, - "username": { + "repository": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, "token": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "[s][c] Token specifies the credential used to authenticate with" }, - "owner": { + "url": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" }, - "repository": { + "username": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" }, "versionfilter": { "properties": { @@ -10628,20 +10545,44 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "typefilter": { + "properties": { + "draft": { + "type": "boolean", + "description": "\"Draft\" enable/disable GitHub draft release" + }, + "prerelease": { + "type": "boolean", + "description": "\"PreRelease\" enable/disable GitHub PreRelease" + }, + "release": { + "type": "boolean", + "description": "\"Release\" enable/disable GitHub release" + }, + "latest": { + "type": "boolean", + "description": "\"Latest\" if set to true will only filter the release flag as latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" }, "tag": { "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "description": "[c] Tag allows to check for a specific release tag, default to source output" } }, "additionalProperties": false, "type": "object", "required": [ "owner", - "repository" + "repository", + "token" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -10679,7 +10620,7 @@ }, "kind": { "enum": [ - "json" + "jenkins" ] }, "transformers": { @@ -10780,52 +10721,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", @@ -10863,7 +10770,7 @@ }, "kind": { "enum": [ - "stash/branch" + "stash/tag" ] }, "transformers": { @@ -11005,11 +10912,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, @@ -11057,7 +10964,7 @@ }, "kind": { "enum": [ - "temurin" + "dockerdigest" ] }, "transformers": { @@ -11158,52 +11065,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "releaseline": { - "type": "string", - "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" - }, - "releasetype": { + "architecture": { "type": "string", - "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" - }, - "featureversion": { - "type": "integer", - "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" + "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" }, - "result": { + "image": { "type": "string", - "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" + "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "architecture": { + "tag": { "type": "string", - "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" + "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "imagetype": { + "digest": { "type": "string", - "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" + "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." }, - "operatingsystem": { + "username": { "type": "string", - "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "specificversion": { + "password": { "type": "string", - "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "project": { + "token": { "type": "string", - "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" }, - "platforms": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." + "hidetag": { + "type": "boolean", + "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -11241,7 +11138,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "golang" ] }, "transformers": { @@ -11342,29 +11239,33 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" - }, - "value": { + "version": { "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": "[C] Version defines a specific golang version" }, - "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" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -11402,7 +11303,7 @@ }, "kind": { "enum": [ - "csv" + "helmchart" ] }, "transformers": { @@ -11505,34 +11406,39 @@ "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" + "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": "[s][c][t] Key specifies the csv query" + "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." }, - "query": { + "name": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "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": "[s][c][t] Key specifies the csv value, default to 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" }, - "comma": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + "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" }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + "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": { @@ -11551,11 +11457,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" + "type": "object", + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -11593,7 +11512,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "http" ] }, "transformers": { @@ -11694,42 +11613,62 @@ "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": { + "url": { "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] Specifies the URL of the HTTP request for this resource." }, - "password": { + "returnresponseheader": { "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] Specifies the header to return as source value (instead of the body)." }, - "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" + "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." }, - "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" + "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 \"dockerdigest\" 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", @@ -11767,7 +11706,7 @@ }, "kind": { "enum": [ - "toolversions" + "npm" ] }, "transformers": { @@ -11868,32 +11807,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/`)" }, - "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" }, - "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" + "versionfilter": { + "properties": { + "kind": { + "type": "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" + "type": "object", + "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -11931,7 +11887,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "terraform/lock" ] }, "transformers": { @@ -12032,58 +11988,40 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { + "file": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "token": { - "type": "string", - "description": "\"token\" 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 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][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "type": "array", + "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "tag": { - "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "skipconstraints": { + "type": "boolean", + "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -12121,7 +12059,7 @@ }, "kind": { "enum": [ - "xml" + "aws/ami" ] }, "transformers": { @@ -12222,22 +12160,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "accesskey": { "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": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "path": { + "secretkey": { "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": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" }, - "value": { + "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": "\"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": "Region specifies the AWS region to use when looking for AMI" + }, + "endpoint": { + "type": "string", + "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + }, + "dryrun": { + "type": "boolean", + "description": "Dryrun allows to Check whether you have the required permissions for the action." + }, + "sortby": { + "type": "string", + "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" } }, "additionalProperties": false, "type": "object", - "description": "\"xml\" defines the specification for manipulating \"xml\" files." + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -12275,7 +12244,7 @@ }, "kind": { "enum": [ - "yaml" + "golang/module" ] }, "transformers": { @@ -12376,41 +12345,44 @@ "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": { + "proxy": { "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": "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." }, - "key": { + "module": { "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] Module specifies the name of the module" }, - "value": { + "version": { "type": "string", - "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." - }, - "keyonly": { - "type": "boolean", - "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" + "description": "[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": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "required": [ + "module" + ], + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12448,7 +12420,7 @@ }, "kind": { "enum": [ - "cargopackage" + "yaml" ] }, "transformers": { @@ -12549,74 +12521,41 @@ "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." - } + "engine": { + "type": "string", + "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" + }, + "file": { + "type": "string", + "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + }, + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + "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" }, - "package": { + "key": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "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" }, - "version": { + "value": { "type": "string", - "description": "[C] Defines a specific package version" + "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" + }, + "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": [ - "package" - ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -12654,7 +12593,7 @@ }, "kind": { "enum": [ - "hcl" + "csv" ] }, "transformers": { @@ -12757,27 +12696,57 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[s][c][t] File specifies the csv file" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "path": { + "key": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "[s][c][t] Key specifies the csv query" + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, "value": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "[s][c][t] Key specifies the csv value, default to source output" + }, + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + }, + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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." + "type": "object" }, "scmid": { "type": "string", @@ -12815,7 +12784,7 @@ }, "kind": { "enum": [ - "npm" + "dockerimage" ] }, "transformers": { @@ -12916,21 +12885,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { + "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": "Defines the specific npm package name" + "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "version": { + "image": { + "type": "string", + "description": "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": "Defines a specific package version" + "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" }, - "url": { + "password": { "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "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" }, - "registrytoken": { + "token": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "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": { @@ -12949,16 +12933,16 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" }, - "npmrcpath": { + "tagfilter": { "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "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 an Npm package parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12996,7 +12980,7 @@ }, "kind": { "enum": [ - "terraform/file" + "gittag" ] }, "transformers": { @@ -13097,29 +13081,60 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "path": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "Path contains the git repository path" }, - "files": { - "items": { - "type": "string" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "additionalProperties": false, + "type": "object", + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "path": { + "message": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "Message associated to the git tag\n\n compatible:\n * target" }, - "value": { + "key": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" + }, + "url": { + "type": "string", + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "sourcebranch": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -13157,7 +13172,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "gitlab/release" ] }, "transformers": { @@ -13258,33 +13273,25 @@ "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": { + "url": { "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": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "name": { + "username": { "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": "\"username\" defines the username used to authenticate with GitLab" }, - "targetsystem": { + "token": { "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": "\"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" }, - "rawstring": { + "owner": { "type": "string", - "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + "description": "[S][C][T] Owner specifies repository owner" }, - "version": { + "repository": { "type": "string", - "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -13303,11 +13310,40 @@ }, "additionalProperties": false, "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "title": { + "type": "string", + "description": "[T] Title defines the GitLab release title." + }, + "tag": { + "type": "string", + "description": "[C][T] Tag defines the GitLab release tag." + }, + "commitish": { + "type": "string", + "description": "[T] Commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] Description defines if the new release description" + }, + "draft": { + "type": "boolean", + "description": "[T] Draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] Prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -13345,7 +13381,7 @@ }, "kind": { "enum": [ - "dockerfile" + "golang/gomod" ] }, "transformers": { @@ -13448,30 +13484,24 @@ "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 defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n * source\n * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "value": { + "module": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "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" }, - "stage": { + "indirect": { + "type": "boolean", + "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + }, + "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": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "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 \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -13509,7 +13539,7 @@ }, "kind": { "enum": [ - "gitea/release" + "terraform/file" ] }, "transformers": { @@ -13610,78 +13640,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": { - "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\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { - "type": "string", - "description": "[T] title defines the Gitea release title." - }, - "tag": { - "type": "string", - "description": "[C][T] tag defines the Gitea release tag." + "type": "array", + "description": "\"files\" defines the list of 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": [ - "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", @@ -13719,7 +13700,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "dockerfile" ] }, "transformers": { @@ -13822,24 +13803,30 @@ "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 specifies the dockerimage file path to use and is incompatible with Files" }, - "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 specifies the dockerimage file path(s) to use and is incompatible with File" + }, + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "value": { + "type": "string", + "description": "Value specifies the value for a specified Dockerfile instruction." }, - "version": { + "stage": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "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", @@ -13877,7 +13864,7 @@ }, "kind": { "enum": [ - "http" + "gitea/release" ] }, "transformers": { @@ -13980,60 +13967,76 @@ "properties": { "url": { "type": "string", - "description": "[S][C] Specifies the URL of the HTTP request for this resource." + "description": "\"url\" defines the Gitea url to interact with" }, - "returnresponseheader": { + "username": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "request": { + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C][T] owner specifies the repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C][T] repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { "properties": { - "verb": { + "kind": { "type": "string", - "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." + "description": "specifies the version kind such as semver, regex, or latest" }, - "body": { + "pattern": { "type": "string", - "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." - }, - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." + "description": "specifies the version pattern according the version kind" }, - "nofollowredirects": { + "strict": { "type": "boolean", - "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)." + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" } }, "additionalProperties": false, "type": "object", - "description": "[S][C] Customizes the HTTP request to emit." + "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "responseasserts": { - "properties": { - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[C] Specifies a set of assertions on the HTTP response headers." - }, - "statuscode": { - "type": "integer", - "description": "[C] Specifies a custom assertion on the HTTP response status code." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." + "title": { + "type": "string", + "description": "[T] title defines the Gitea release title." + }, + "tag": { + "type": "string", + "description": "[C][T] tag defines the Gitea release tag." + }, + "commitish": { + "type": "string", + "description": "[T] commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] description defines if the new release description" + }, + "draft": { + "type": "boolean", + "description": "[T] draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -14071,7 +14074,7 @@ }, "kind": { "enum": [ - "toml" + "gitea/tag" ] }, "transformers": { @@ -14172,28 +14175,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" + "description": "\"url\" defines the Gitea url to interact with" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "query": { + "token": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "key": { + "owner": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "description": "[S][C] Owner specifies repository owner" }, - "value": { + "repository": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -14212,15 +14212,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." }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "tag": { + "type": "string", + "description": "[S] Tag defines the 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", @@ -14258,7 +14264,7 @@ }, "kind": { "enum": [ - "maven" + "cargopackage" ] }, "transformers": { @@ -14359,32 +14365,47 @@ "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" + "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": "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" + "additionalProperties": false, + "type": "object", + "description": "[S][C] Registry specifies the registry to use" }, - "artifactid": { + "package": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "description": "[S][C] Package specifies the name of the package" }, "version": { "type": "string", - "description": "Specifies the maven artifact version" + "description": "[C] Defines a specific package version" }, "versionfilter": { "properties": { @@ -14408,7 +14429,10 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"maven\" 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", @@ -14446,7 +14470,7 @@ }, "kind": { "enum": [ - "dockerimage" + "gitbranch" ] }, "transformers": { @@ -14547,36 +14571,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": { @@ -14595,16 +14592,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" + }, + "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" }, - "tagfilter": { + "password": { "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": "\"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", @@ -14642,7 +14658,7 @@ }, "kind": { "enum": [ - "gittag" + "hcl" ] }, "transformers": { @@ -14743,60 +14759,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "file": { "type": "string", - "description": "Path contains the git repository path" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "message": { - "type": "string", - "description": "Message associated to the git tag\n\n compatible:\n * target" - }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" - }, - "url": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + "type": "array", + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "password": { + "path": { "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "sourcebranch": { + "value": { "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -14834,7 +14819,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "json" ] }, "transformers": { @@ -14935,25 +14920,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": { @@ -14972,21 +14960,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", @@ -15024,7 +15003,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "terraform/provider" ] }, "transformers": { @@ -15125,57 +15104,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" - }, - "token": { + "file": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "branch": { + "provider": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -15213,7 +15164,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "gitlab/branch" ] }, "transformers": { @@ -15328,11 +15279,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": { @@ -15353,29 +15304,9 @@ "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "title": { - "type": "string", - "description": "[T] Title defines the GitLab release title." - }, - "tag": { - "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." - }, - "commitish": { - "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" - }, - "description": { + "branch": { "type": "string", - "description": "[T] Description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" - }, - "prerelease": { - "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, @@ -15422,7 +15353,7 @@ }, "kind": { "enum": [ - "stash/tag" + "gitlab/tag" ] }, "transformers": { @@ -15525,19 +15456,15 @@ "properties": { "url": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, "username": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "\"username\" defines the username used to authenticate with GitLab" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", @@ -15568,17 +15495,16 @@ }, "tag": { "type": "string", - "description": "[S] Tag defines the Bitbucket tag ." + "description": "[S] Tag defines the GitLab tag ." } }, "additionalProperties": false, "type": "object", "required": [ - "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -15616,7 +15542,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "maven" ] }, "transformers": { @@ -15717,40 +15643,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "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 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": "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." }, - "value": { + "groupid": { "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": "Specifies the maven artifact groupID" }, - "provider": { + "artifactid": { "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": "Specifies the maven artifact artifactID" }, - "platforms": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "version": { + "type": "string", + "description": "Specifies the maven artifact version" }, - "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" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15788,7 +15730,7 @@ }, "kind": { "enum": [ - "aws/ami" + "shell" ] }, "transformers": { @@ -15889,53 +15831,130 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "accesskey": { - "type": "string", - "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" - }, - "secretkey": { + "command": { "type": "string", - "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + "description": "command specifies the shell command to execute by Updatecli" }, - "filters": { + "environments": { "items": { "properties": { "name": { "type": "string", - "description": "Name specifies a filter name." + "description": "Name defines the environment variable name" }, - "values": { + "value": { "type": "string", - "description": "Values specifies a filter value for a specific filter name." + "description": "Value defines the environment variable value" } }, "additionalProperties": false, "type": "object", - "description": "Filter represents the updatecli configuration describing AMI filters." + "required": [ + "name" + ], + "description": "Environment is a struct containing information for an environment variable such as its name and its value" }, "type": "array", - "description": "Filters specifies a list of AMI filters" + "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." }, - "region": { - "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "changedif": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "exitcode" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "warning": { + "type": "integer", + "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" + }, + "success": { + "type": "integer", + "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" + }, + "failure": { + "type": "integer", + "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "warning", + "success", + "failure" + ] + } + }, + "additionalProperties": false, + "type": "object" + }, + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "file/checksum" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the list of file that Updatecli monitors to identify state change" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "files" + ] + } + }, + "additionalProperties": false, + "type": "object" + } + ], + "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" }, - "endpoint": { + "shell": { "type": "string", - "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" - }, - "dryrun": { - "type": "boolean", - "description": "Dryrun allows to Check whether you have the required permissions for the action." + "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" }, - "sortby": { + "workdir": { "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." } }, "additionalProperties": false, "type": "object", - "description": "Spec contains the updatecli configuration provided by users." + "required": [ + "command" + ], + "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15973,7 +15992,7 @@ }, "kind": { "enum": [ - "gitbranch" + "stash/branch" ] }, "transformers": { @@ -16074,9 +16093,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": { @@ -16095,35 +16134,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" + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, "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": "[C] Branch specifies the branch name" } }, "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", @@ -16161,7 +16186,7 @@ }, "kind": { "enum": [ - "golang" + "temurin" ] }, "transformers": { @@ -16262,33 +16287,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "version": { + "releaseline": { "type": "string", - "description": "[C] Version defines a specific golang version" + "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "versionfilter": { - "properties": { - "kind": { - "type": "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" - } + "releasetype": { + "type": "string", + "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" + }, + "featureversion": { + "type": "integer", + "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" + }, + "result": { + "type": "string", + "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" + }, + "architecture": { + "type": "string", + "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" + }, + "imagetype": { + "type": "string", + "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" + }, + "operatingsystem": { + "type": "string", + "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" + }, + "specificversion": { + "type": "string", + "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + }, + "project": { + "type": "string", + "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + }, + "platforms": { + "items": { + "type": "string" }, - "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 \"Golang\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -16326,7 +16370,7 @@ }, "kind": { "enum": [ - "golang/module" + "toml" ] }, "transformers": { @@ -16427,17 +16471,28 @@ "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 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] Module specifies the name of the module" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "version": { + "key": { "type": "string", - "description": "[C] Defines a specific package version" + "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": { @@ -16456,15 +16511,15 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "required": [ - "module" - ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -16502,7 +16557,7 @@ }, "kind": { "enum": [ - "helmchart" + "xml" ] }, "transformers": { @@ -16605,75 +16660,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", @@ -16719,7 +16719,7 @@ }, "kind": { "enum": [ - "cargopackage" + "githubrelease" ] }, "transformers": { @@ -16820,47 +16820,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "registry": { - "properties": { - "auth": { - "properties": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." - }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." - }, - "url": { - "type": "string", - "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." - }, - "rootdir": { - "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." - }, - "scmid": { - "type": "string", - "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + "owner": { + "type": "string", + "description": "[s][c] Owner specifies repository owner" }, - "package": { + "repository": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, - "version": { + "token": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "[s][c] Token specifies the credential used to authenticate with" + }, + "url": { + "type": "string", + "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + }, + "username": { + "type": "string", + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" }, "versionfilter": { "properties": { @@ -16879,15 +16857,44 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "typefilter": { + "properties": { + "draft": { + "type": "boolean", + "description": "\"Draft\" enable/disable GitHub draft release" + }, + "prerelease": { + "type": "boolean", + "description": "\"PreRelease\" enable/disable GitHub PreRelease" + }, + "release": { + "type": "boolean", + "description": "\"Release\" enable/disable GitHub release" + }, + "latest": { + "type": "boolean", + "description": "\"Latest\" if set to true will only filter the release flag as latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" + }, + "tag": { + "type": "string", + "description": "[c] Tag allows to check for a specific release tag, default to source output" } }, "additionalProperties": false, "type": "object", "required": [ - "package" + "owner", + "repository", + "token" ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -16934,7 +16941,7 @@ }, "kind": { "enum": [ - "csv" + "maven" ] }, "transformers": { @@ -17035,36 +17042,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the csv file" + "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": "[c][t] Files specifies a list of Json file to manipulate" + "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." }, - "key": { + "groupid": { "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "description": "Specifies the maven artifact groupID" }, - "query": { + "artifactid": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "Specifies the maven artifact artifactID" }, - "value": { + "version": { "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": "Specifies the maven artifact version" }, "versionfilter": { "properties": { @@ -17083,11 +17086,12 @@ }, "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", + "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -17134,7 +17138,7 @@ }, "kind": { "enum": [ - "gitea/release" + "shell" ] }, "transformers": { @@ -17225,88 +17229,140 @@ "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." } }, - "additionalProperties": false, - "type": "object", - "description": "Transformer holds a transformer rule" - }, - "type": "array", - "description": "transformers defines how the default input value need to be transformed" - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C][T] owner specifies the repository owner" - }, - "repository": { + "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": "[S][C][T] repository specifies the name of a repository for a specific owner" + "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": "[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." + "type": "array", + "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." }, - "tag": { - "type": "string", - "description": "[C][T] tag defines the Gitea release tag." + "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" }, - "commitish": { + "shell": { "type": "string", - "description": "[T] commitish defines the commit-ish such as `main`" + "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" }, - "description": { + "workdir": { "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": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." } }, "additionalProperties": false, "type": "object", "required": [ - "url", - "owner", - "repository" + "command" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -17353,7 +17409,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "terraform/provider" ] }, "transformers": { @@ -17454,57 +17510,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" - }, - "token": { + "file": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "owner": { - "type": "string", - "description": "[S][C] Owner specifies repository owner" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "tag": { + "provider": { "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -17551,7 +17579,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "xml" ] }, "transformers": { @@ -17654,27 +17682,20 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "value": { + "path": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" }, - "provider": { + "value": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -17721,7 +17742,7 @@ }, "kind": { "enum": [ - "hcl" + "dockerimage" ] }, "transformers": { @@ -17822,29 +17843,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": "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": "\"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": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" }, - "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 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" }, - "path": { + "password": { "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": "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" }, - "value": { + "token": { "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": "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": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -17891,7 +17947,7 @@ }, "kind": { "enum": [ - "json" + "gitea/branch" ] }, "transformers": { @@ -17992,28 +18048,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "\"url\" defines the Gitea url to interact with" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "key": { + "token": { "type": "string", - "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "value": { + "owner": { "type": "string", - "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + "description": "[S][C] Owner specifies repository owner" }, - "query": { + "repository": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -18032,12 +18085,21 @@ }, "additionalProperties": false, "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "\"json\" defines the specification for manipulating \"json\" files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -18084,7 +18146,7 @@ }, "kind": { "enum": [ - "shell" + "gitlab/tag" ] }, "transformers": { @@ -18119,196 +18181,123 @@ } }, "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": { - "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" + "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." + } }, - "shell": { + "additionalProperties": false, + "type": "object", + "description": "Transformer holds a transformer rule" + }, + "type": "array", + "description": "transformers defines how the default input value need to be transformed" + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "url": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "workdir": { + "username": { "type": "string", - "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." + "description": "\"username\" 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" + } + }, + "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", "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", @@ -18355,7 +18344,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "helmchart" ] }, "transformers": { @@ -18458,38 +18447,75 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "file defines the 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 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" + "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, supports with or without registry url.\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" }, - "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" + "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" }, - "skipconstraints": { + "appversion": { "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": "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/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -18536,7 +18562,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "stash/tag" ] }, "transformers": { @@ -18637,33 +18663,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": { + "url": { "type": "string", - "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "namespace": { + "username": { "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": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "name": { + "token": { "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": "\"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" }, - "targetsystem": { + "password": { "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": "\"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" }, - "rawstring": { + "owner": { "type": "string", - "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + "description": "[S][C] Owner specifies repository owner" }, - "version": { + "repository": { "type": "string", - "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -18682,11 +18704,21 @@ }, "additionalProperties": false, "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "[S][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", @@ -18733,7 +18765,7 @@ }, "kind": { "enum": [ - "file" + "csv" ] }, "transformers": { @@ -18836,43 +18868,57 @@ "properties": { "file": { "type": "string", - "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" + "description": "[s][c][t] File specifies the csv file" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "line": { - "type": "integer", - "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "content": { + "key": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "forcecreate": { - "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + "description": "[s][c][t] Key specifies the csv query" }, - "matchpattern": { + "query": { "type": "string", - "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "replacepattern": { + "value": { "type": "string", - "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[s][c][t] Key specifies the csv value, default to source output" }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" + }, + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -18919,7 +18965,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "json" ] }, "transformers": { @@ -19020,25 +19066,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": { @@ -19057,21 +19106,12 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "tag": { - "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -19118,7 +19158,7 @@ }, "kind": { "enum": [ - "temurin" + "stash/branch" ] }, "transformers": { @@ -19219,52 +19259,62 @@ "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\" specifies the default stash url in case of Bitbucket Server" }, - "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)" - }, - "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": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "result": { + "token": { "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": "\"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" }, - "architecture": { + "password": { "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": "\"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" }, - "imagetype": { + "owner": { "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] Owner specifies repository owner" }, - "operatingsystem": { + "repository": { "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] Repository specifies the name of a repository for a specific owner" }, - "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)" + "versionfilter": { + "properties": { + "kind": { + "type": "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." }, - "project": { + "branch": { "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": "[C] Branch specifies the branch name" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -19311,7 +19361,7 @@ }, "kind": { "enum": [ - "aws/ami" + "terraform/file" ] }, "transformers": { @@ -19412,53 +19462,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", @@ -19505,7 +19531,7 @@ }, "kind": { "enum": [ - "dockerimage" + "aws/ami" ] }, "transformers": { @@ -19606,64 +19632,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { - "items": { - "type": "string" - }, - "type": "array", - "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "image": { - "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": { + "accesskey": { "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": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "token": { + "secretkey": { "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": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" + "filters": { + "items": { + "properties": { + "name": { + "type": "string", + "description": "Name specifies a filter name." + }, + "values": { + "type": "string", + "description": "Values specifies a filter value for a specific filter name." + } }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "additionalProperties": false, + "type": "object", + "description": "Filter represents the updatecli configuration describing AMI filters." }, - "additionalProperties": false, - "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" + "type": "array", + "description": "Filters specifies a list of AMI filters" }, - "tagfilter": { + "region": { "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": "Region specifies the AWS region to use when looking for AMI" + }, + "endpoint": { + "type": "string", + "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" + }, + "dryrun": { + "type": "boolean", + "description": "Dryrun allows to Check whether you have the required permissions for the action." + }, + "sortby": { + "type": "string", + "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -19710,7 +19725,7 @@ }, "kind": { "enum": [ - "gitbranch" + "golang" ] }, "transformers": { @@ -19811,9 +19826,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "version": { "type": "string", - "description": "path contains the git repository path" + "description": "[C] Version defines a specific golang version" }, "versionfilter": { "properties": { @@ -19832,35 +19847,12 @@ }, "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" - ], - "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", @@ -19907,7 +19899,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "npm" ] }, "transformers": { @@ -20008,26 +20000,49 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "name": { "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": "Defines the specific npm package name" }, - "module": { + "version": { "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": "Defines a specific package version" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "url": { + "type": "string", + "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" }, - "version": { + "registrytoken": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "description": "RegistryToken defines the token to use when connection to the registry" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "npmrcpath": { + "type": "string", + "description": "NpmrcPath defines the path to the .npmrc file" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" 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", @@ -20074,7 +20089,7 @@ }, "kind": { "enum": [ - "helmchart" + "yaml" ] }, "transformers": { @@ -20175,77 +20190,41 @@ "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": { + "engine": { "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": "\"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" }, - "name": { + "file": { "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\"" + "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" }, - "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" + "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" }, - "url": { + "key": { "type": "string", - "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" + "description": "\"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 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" + "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." }, - "appversion": { + "keyonly": { "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" + "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -20292,7 +20271,7 @@ }, "kind": { "enum": [ - "npm" + "gitbranch" ] }, "transformers": { @@ -20393,21 +20372,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { - "type": "string", - "description": "Defines the specific npm package name" - }, - "version": { - "type": "string", - "description": "Defines a specific package version" - }, - "url": { - "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" - }, - "registrytoken": { + "path": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "description": "path contains the git repository path" }, "versionfilter": { "properties": { @@ -20426,16 +20393,35 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "npmrcpath": { + "branch": { "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "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 an Npm package 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", @@ -20482,7 +20468,7 @@ }, "kind": { "enum": [ - "yaml" + "gittag" ] }, "transformers": { @@ -20583,41 +20569,60 @@ "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": { + "path": { "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": "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 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" + "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\" 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": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" }, - "value": { + "url": { "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": "\"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" }, - "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" + "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" }, - "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 ```" + "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": "\"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", @@ -20664,7 +20669,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "gitlab/release" ] }, "transformers": { @@ -20765,42 +20770,77 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architecture": { + "url": { "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "image": { + "username": { "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "tag": { + "token": { "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "digest": { + "owner": { "type": "string", - "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." + "description": "[S][C][T] Owner specifies repository owner" }, - "username": { + "repository": { "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" }, - "password": { + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[T] Title defines the GitLab release title." }, - "token": { + "tag": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "[C][T] Tag defines the GitLab release tag." }, - "hidetag": { + "commitish": { + "type": "string", + "description": "[T] Commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] Description defines if the new release description" + }, + "draft": { "type": "boolean", - "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" + "description": "[T] Draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] Prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -20847,7 +20887,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "toml" ] }, "transformers": { @@ -20948,25 +20988,28 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "file": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "[s][c][t] File specifies the toml file to manipulate" }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "token": { + "query": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "owner": { + "key": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, "versionfilter": { "properties": { @@ -20985,21 +21028,15 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "branch": { - "type": "string", - "description": "[C] Branch specifies the branch name" + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "type": "object" }, "scmid": { "type": "string", @@ -21046,7 +21083,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "dockerdigest" ] }, "transformers": { @@ -21147,57 +21184,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "architecture": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "architecture specifies the container image architecture such as `amd64`\n\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\" defines the username used to authenticate with GitLab" + "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\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "owner": { + "digest": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "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." }, - "repository": { + "username": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific 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" }, - "versionfilter": { - "properties": { - "kind": { - "type": "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." + "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" }, - "branch": { + "token": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + }, + "hidetag": { + "type": "boolean", + "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -21244,7 +21266,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "terraform/lock" ] }, "transformers": { @@ -21345,77 +21367,40 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" - }, - "token": { - "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C][T] Owner specifies repository owner" - }, - "repository": { + "file": { "type": "string", - "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" + "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { - "type": "string", - "description": "[T] Title defines the GitLab release title." - }, - "tag": { - "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." + "type": "array", + "description": "\"files\" defines the list of 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" }, - "commitish": { + "value": { "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" + "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": { + "provider": { "type": "string", - "description": "[T] Description defines if the new release description" + "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" }, - "draft": { - "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" + "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" }, - "prerelease": { + "skipconstraints": { "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" + "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -21462,7 +21447,7 @@ }, "kind": { "enum": [ - "toml" + "gitea/release" ] }, "transformers": { @@ -21563,28 +21548,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" + "description": "\"url\" defines the Gitea url to interact with" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "query": { + "token": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "key": { + "owner": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "description": "[S][C][T] owner specifies the repository owner" }, - "value": { + "repository": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[S][C][T] repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -21603,15 +21585,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." }, - "createmissingkey": { + "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] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "description": "[T] draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -21658,7 +21666,7 @@ }, "kind": { "enum": [ - "golang/module" + "hcl" ] }, "transformers": { @@ -21759,44 +21767,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", @@ -21843,7 +21836,7 @@ }, "kind": { "enum": [ - "http" + "jenkins" ] }, "transformers": { @@ -21944,62 +21937,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", @@ -22046,7 +21995,7 @@ }, "kind": { "enum": [ - "stash/tag" + "terraform/registry" ] }, "transformers": { @@ -22147,29 +22096,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": { @@ -22188,21 +22141,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", @@ -22249,7 +22192,7 @@ }, "kind": { "enum": [ - "terraform/file" + "toolversions" ] }, "transformers": { @@ -22352,27 +22295,30 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[s][c][t] File specifies the .tool-versions file to manipulate" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" }, - "path": { + "key": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" }, "value": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + }, + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "type": "object" }, "scmid": { "type": "string", @@ -22419,7 +22365,7 @@ }, "kind": { "enum": [ - "githubrelease" + "dockerfile" ] }, "transformers": { @@ -22520,81 +22466,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { - "type": "string", - "description": "[s][c] Owner specifies repository owner" - }, - "repository": { + "file": { "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" + "description": "File specifies the dockerimage file path to use and is incompatible with Files" }, - "token": { - "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "url": { - "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "username": { + "value": { "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" + "description": "Value specifies the value for a specified Dockerfile instruction." }, - "tag": { + "stage": { "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "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 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", @@ -22641,7 +22538,7 @@ }, "kind": { "enum": [ - "jenkins" + "file" ] }, "transformers": { @@ -22742,18 +22639,45 @@ "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` 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": { + "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": "[s][c] Defines a specific release version (condition only)" + "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 \"jenkins\" 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", @@ -22800,7 +22724,7 @@ }, "kind": { "enum": [ - "xml" + "gitea/tag" ] }, "transformers": { @@ -22901,22 +22825,58 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "\"url\" defines the Gitea url to interact with" }, - "path": { + "username": { "type": "string", - "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "value": { + "token": { "type": "string", - "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "tag": { + "type": "string", + "description": "[S] Tag defines the Gitea tag ." } }, "additionalProperties": false, "type": "object", - "description": "\"xml\" defines the specification for manipulating \"xml\" files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -22963,7 +22923,7 @@ }, "kind": { "enum": [ - "dockerfile" + "gitlab/branch" ] }, "transformers": { @@ -23064,32 +23024,57 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "token": { + "type": "string", + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "value": { + "owner": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "description": "[S][C] Owner specifies repository owner" }, - "stage": { + "repository": { "type": "string", - "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "branch": { + "type": "string", + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -23136,7 +23121,7 @@ }, "kind": { "enum": [ - "gittag" + "golang/gomod" ] }, "transformers": { @@ -23237,60 +23222,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" - }, - "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": { + "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" }, - "username": { + "module": { "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": "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" }, - "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" + "indirect": { + "type": "boolean", + "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" }, - "sourcebranch": { + "version": { "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": "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 \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -23337,7 +23288,7 @@ }, "kind": { "enum": [ - "golang" + "golang/module" ] }, "transformers": { @@ -23438,9 +23389,17 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { + "proxy": { + "type": "string", + "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." + }, + "module": { + "type": "string", + "description": "[S][C] Module specifies the name of the module" + }, "version": { "type": "string", - "description": "[C] Version defines a specific golang version" + "description": "[C] Defines a specific package version" }, "versionfilter": { "properties": { @@ -23464,7 +23423,10 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "required": [ + "module" + ], + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -23511,7 +23473,7 @@ }, "kind": { "enum": [ - "maven" + "http" ] }, "transformers": { @@ -23614,54 +23576,60 @@ "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" + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "version": { + "returnresponseheader": { "type": "string", - "description": "Specifies the maven artifact 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", - "description": "Spec defines a specification for a \"maven\" 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", @@ -23708,7 +23676,7 @@ }, "kind": { "enum": [ - "stash/branch" + "temurin" ] }, "transformers": { @@ -23809,62 +23777,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "releaseline": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "username": { + "releasetype": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" }, - "token": { + "featureversion": { + "type": "integer", + "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" + }, + "result": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" }, - "password": { + "architecture": { "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" }, - "owner": { + "imagetype": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" }, - "repository": { + "operatingsystem": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "specificversion": { + "type": "string", + "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" }, - "branch": { + "project": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + }, + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." } }, "additionalProperties": false, - "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "type": "object" }, "scmid": { "type": "string", @@ -23911,7 +23869,7 @@ }, "kind": { "enum": [ - "toolversions" + "cargopackage" ] }, "transformers": { @@ -24012,32 +23970,74 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" - }, - "files": { - "items": { - "type": "string" + "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": "[c][t] Files specifies a list of .tool-versions file to manipulate" + "additionalProperties": false, + "type": "object", + "description": "[S][C] Registry specifies the registry to use" }, - "key": { + "package": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "description": "[S][C] Package specifies the name of the package" }, - "value": { + "version": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[C] Defines a specific package version" }, - "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" + "versionfilter": { + "properties": { + "kind": { + "type": "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" + "type": "object", + "required": [ + "package" + ], + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", diff --git a/content/en/schema/latest/policy/manifest/config.json b/content/en/schema/latest/policy/manifest/config.json index 2cdd0564..08fc5cce 100644 --- a/content/en/schema/latest/policy/manifest/config.json +++ b/content/en/schema/latest/policy/manifest/config.json @@ -15,129 +15,6 @@ "crawlers": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "dockerfile": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "digest": { - "type": "boolean", - "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." - }, - "rootdir": { - "type": "string", - "description": "RootDir defines the root directory used to recursively search for 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 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", - "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" - }, - "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." - }, - "images": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Image specifies a list of docker image" - } - }, - "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 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": { - "type": "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." - }, "helm": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { @@ -270,7 +147,7 @@ "type": "object", "description": "Spec defines the Helm parameters." }, - "kubernetes": { + "ko": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "auths": { @@ -379,26 +256,26 @@ "type": "object", "description": "Spec defines the parameters which can be provided to the Kubernetes builder." }, - "precommit": { + "terraform": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for npm packages.json" + "description": "`rootdir` defines the root directory used to recursively search for `.terraform.lock.hcl`" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." + "description": "`path` specifies a `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." }, - "repos": { + "providers": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Repos specifies the list of NPM packages to check" + "description": "`providers` specifies a map of providers, the key is provider url as seen in the `.terraform.lock.hcl`,\n\t\tthe value is an optional semver version constraint.\n\n\t\texamples:\n\t\t```\n\t\t- providers:\n\t\t # Ignoring provider updates for this provider\n\t\t registry.terraform.io/hashicorp/aws:\n\t\t # Ignore provider updates for this version\n\t\t registry.terraform.io/hashicorp/kubernetes: \"1.x\"\n\t\t```" } }, "additionalProperties": false, @@ -406,21 +283,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" + "description": "`ignore` specifies rule to ignore `.terraform.lock.hcl` update." }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." + "description": "`path` specifies a `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring." }, - "repos": { + "providers": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Repos specifies the list of NPM packages to check" + "description": "`providers` specifies a map of providers, the key is provider url as seen in the `.terraform.lock.hcl`,\n\t\tthe value is an optional semver version constraint.\n\n\t\texamples:\n\t\t```\n\t\t- providers:\n\t\t # Ignoring provider updates for this provider\n\t\t registry.terraform.io/hashicorp/aws:\n\t\t # Ignore provider updates for this version\n\t\t registry.terraform.io/hashicorp/kubernetes: \"1.x\"\n\t\t```" } }, "additionalProperties": false, @@ -428,7 +305,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" + "description": "`only` specify required rule to restrict `.terraform.lock.hcl` update." }, "versionfilter": { "properties": { @@ -447,40 +324,47 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + }, + "platforms": { + "items": { + "type": "string" + }, + "type": "array", + "description": "`platforms` is the target platforms to request package checksums for.\n\n\t\tremarks:\n\t\t* Fallback is linux_amd64, linux_arm64, darwin_amd64, darwin_arm64" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters uses to generate the precomit manifests" + "description": "Spec defines the Terraform parameters." }, - "cargo": { + "maven": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for Cargo.toml" + "description": "RootDir defines the root directory used to recursively search for Helm Chart" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "crates": { - "additionalProperties": { + "groupids": { + "items": { "type": "string" }, - "type": "object", - "description": "Crates specifies the list of Cargo crates to check" + "type": "array", + "description": "GroupIDs specifies the list of Maven GroupIDs to check" }, - "registries": { - "items": { + "artifactids": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Registries specifies the list of Cargo registries to check" + "type": "object", + "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" } }, "additionalProperties": false, @@ -488,28 +372,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore specifies rule to ignore Cargo.toml update." + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring." }, - "crates": { - "additionalProperties": { + "groupids": { + "items": { "type": "string" }, - "type": "object", - "description": "Crates specifies the list of Cargo crates to check" + "type": "array", + "description": "GroupIDs specifies the list of Maven GroupIDs to check" }, - "registries": { - "items": { + "artifactids": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Registries specifies the list of Cargo registries to check" + "type": "object", + "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" } }, "additionalProperties": false, @@ -517,44 +401,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only specify required rule to restrict Cargo.toml update." - }, - "registries": { - "additionalProperties": { - "properties": { - "auth": { - "properties": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." - }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." - }, - "url": { - "type": "string", - "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." - }, - "rootdir": { - "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." - }, - "scmid": { - "type": "string", - "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." - } - }, - "additionalProperties": false, - "type": "object" - }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" }, "versionfilter": { "properties": { @@ -573,36 +420,44 @@ }, "additionalProperties": false, "type": "object", - "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Cargo parameters." + "description": "Spec defines the 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, @@ -610,21 +465,28 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule" }, "only": { "items": { "properties": { + "archs": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Arch specifies a list of docker image architecture" + }, "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Dockerfile path pattern, the pattern requires to match all of name, not just a substring." }, - "actions": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "type": "array", + "description": "Image specifies a list of docker image" } }, "additionalProperties": false, @@ -632,11 +494,37 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "only allows to specify rule to only autodiscover manifest for a specific GitHub action based on a rule\n\ndefault: empty" + "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule" }, - "rootdir": { - "type": "string", - "description": "rootDir allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty" + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + }, + "filematch": { + "items": { + "type": "string" + }, + "type": "array", + "description": "FileMatch allows to override default Dockerfile file matching. Default [\"Dockerfile\"]" }, "versionfilter": { "properties": { @@ -655,42 +543,60 @@ }, "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": { + "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." + }, + "flux": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "auths": { "additionalProperties": { "properties": { - "kind": { - "type": "string" + "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" + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" }, "type": "object", - "description": "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" + "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 Helmfile chart 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": { @@ -699,12 +605,12 @@ "type": "array", "description": "Repositories specifies the list of Helm Chart repository to check" }, - "charts": { + "artifacts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Artifacts specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" } }, "additionalProperties": false, @@ -712,14 +618,14 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Helmfile based on a rule" + "description": "ignore allows to specify rule to ignore autodiscovery a specific Flux helmrelease based on a rule\n\ndefault: empty" }, "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." + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, "repositories": { "items": { @@ -728,12 +634,12 @@ "type": "array", "description": "Repositories specifies the list of Helm Chart repository to check" }, - "charts": { + "artifacts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Charts specifies the list of Helm Chart repository to check" + "description": "Artifacts specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" } }, "additionalProperties": false, @@ -741,30 +647,98 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Helmfile based on a rule" + "description": "only allows to specify rule to only autodiscover manifest for a specific Flux helm release based on a rule\n\ndefault: empty" }, - "auths": { - "additionalProperties": { + "ocirepository": { + "type": "boolean", + "description": "OCIRepository allows to specify if OCI repository files should be updated\n\ndefault: true" + }, + "rootdir": { + "type": "string", + "description": "rootDir defines the root directory used to recursively search for Flux files\n\ndefault: . (current working directory) or scm root directory" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Spec defines the parameters which can be provided to the Flux crawler." + }, + "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 golang go.mod" + }, + "ignore": { + "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 go.mod path pattern, the pattern requires to match all of name, not just a substring." }, - "password": { + "modules": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Modules specifies a list of module pattern." + }, + "goversion": { "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": "GoVersions specifies a list of version pattern." + } + }, + "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 go.mod rule" + }, + "only": { + "items": { + "properties": { + "path": { + "type": "string", + "description": "Path specifies a go.mod path pattern, the pattern requires to match all of name, not just a substring." }, - "token": { + "modules": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Modules specifies a list of module pattern." + }, + "goversion": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + "description": "GoVersions specifies a list of version pattern." } }, "additionalProperties": false, "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" + "description": "MatchingRule allows to specifies rules to identify manifest" }, - "type": "object", - "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + "type": "array", + "description": "`only` allows to specify rule to \"only\" autodiscover manifest for a specific golang rule" }, "versionfilter": { "properties": { @@ -783,14 +757,14 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the Helmfile parameters." + "description": "Spec defines the parameters which can be provided to the Golang autodiscovery builder." }, - "prow": { + "kubernetes": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { "auths": { @@ -1004,53 +978,48 @@ "type": "object", "description": "Spec defines the Updatecli parameters." }, - "flux": { + "argocd": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "auths": { - "additionalProperties": { + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for ArgoCD manifest" + }, + "ignore": { + "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" - }, - "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" + "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "files allows to override default flux files\n\ndefault: [\"*.yaml\", \"*.yml\"]" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Argocd manifest based on a rule" }, - "ignore": { + "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": { @@ -1059,12 +1028,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, @@ -1072,28 +1041,88 @@ "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": "Only allows to specify rule to only autodiscover manifest for a specific ArgoCD manifest based on a rule" }, - "only": { + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n kind - semver\n versionfilter of kind `semver` uses semantic versioning as version filtering\n pattern accepts one of:\n `prerelease` - Updatecli tries to identify the latest \"prerelease\" whatever it means\n `patch` - Updatecli only handles patch version update\n `minor` - Updatecli handles patch AND minor version update\n `minoronly` - Updatecli handles minor version only\n `major` - Updatecli handles patch, minor, AND major version update\n `majoronly` - Updatecli only handles major version update\n `a version constraint` such as `\u003e= 1.0.0`\n\n kind - regex\n versionfilter of kind `regex` uses regular expression as version filtering\n pattern accepts a valid regular expression\n\n example:\n ```\n \tversionfilter:\n \t\tkind: semver\n \t\tpattern: minor\n ```\n\n\tand its type like regex, semver, or just latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Spec defines the parameters which can be provided to the argocd builder." + }, + "cargo": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for Cargo.toml" + }, + "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "repositories": { + "crates": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Crates specifies the list of Cargo crates to check" + }, + "registries": { "items": { "type": "string" }, "type": "array", - "description": "Repositories specifies the list of Helm Chart repository to check" + "description": "Registries specifies the list of Cargo registries to check" + } + }, + "additionalProperties": false, + "type": "object", + "description": "MatchingRule allows to specifies rules to identify manifest" + }, + "type": "array", + "description": "Ignore specifies rule to ignore Cargo.toml update." + }, + "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." }, - "artifacts": { + "crates": { "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": "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, @@ -1101,15 +1130,44 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "only allows to specify rule to only autodiscover manifest for a specific Flux helm release based on a rule\n\ndefault: empty" - }, - "ocirepository": { - "type": "boolean", - "description": "OCIRepository allows to specify if OCI repository files should be updated\n\ndefault: true" + "description": "Only specify required rule to restrict Cargo.toml update." }, - "rootdir": { - "type": "string", - "description": "rootDir defines the root directory used to recursively search for Flux files\n\ndefault: . (current working directory) or scm root directory" + "registries": { + "additionalProperties": { + "properties": { + "auth": { + "properties": { + "token": { + "type": "string", + "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." + }, + "headerformat": { + "type": "string", + "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." + }, + "url": { + "type": "string", + "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." + }, + "rootdir": { + "type": "string", + "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." + }, + "scmid": { + "type": "string", + "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." + } + }, + "additionalProperties": false, + "type": "object" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, "versionfilter": { "properties": { @@ -1128,12 +1186,12 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest." + "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Flux crawler." + "description": "Spec defines the Cargo parameters." }, "dockercompose": { "$schema": "http://json-schema.org/draft-04/schema", @@ -1272,60 +1330,29 @@ "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." }, - "ko": { + "gitea/action": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "auths": { - "additionalProperties": { - "properties": { - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" - }, - "token": { - "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - } - }, - "additionalProperties": false, - "type": "object", - "description": "InlineKeyChain defines a keychain with OCI registry credentials" - }, - "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": "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." + "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "images": { - "items": { + "actions": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Images specifies the list of container image to check" + "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, @@ -1333,21 +1360,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 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." }, - "images": { - "items": { + "actions": { + "additionalProperties": { "type": "string" }, - "type": "array", - "description": "Images specifies the list of container image to check" + "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, @@ -1355,7 +1382,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 Kubernetes manifest 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": { @@ -1374,33 +1405,83 @@ }, "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 Kubernetes builder." + "description": "Spec defines the parameters which can be provided to the Github Action crawler." }, - "npm": { + "prow": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { + "auths": { + "additionalProperties": { + "properties": { + "username": { + "type": "string", + "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + }, + "token": { + "type": "string", + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + } + }, + "additionalProperties": false, + "type": "object", + "description": "InlineKeyChain defines a keychain with OCI registry credentials" + }, + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" + }, + "digest": { + "type": "boolean", + "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag." + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files allows to specify a list of Files to analyze.\n\n\t The pattern syntax is:\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t\t character-range:\n\t\t \tc matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\n\t Match requires pattern to match all of name, not just a substring.\n\t The only possible returned error is ErrBadPattern, when pattern\n\t is malformed.\n\n\t On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t path separator." + }, "rootdir": { "type": "string", - "description": "RootDir defines the root directory used to recursively search for npm packages.json" + "description": "RootDir defines the root directory used to recursively search for Kubernetes files" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "packages": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Packages specifies the list of NPM packages to check" + "type": "array", + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -1408,21 +1489,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific Kubernetes manifest based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "packages": { - "additionalProperties": { + "images": { + "items": { "type": "string" }, - "type": "object", - "description": "Packages specifies the list of NPM packages to check" + "type": "array", + "description": "Images specifies the list of container image to check" } }, "additionalProperties": false, @@ -1430,7 +1511,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" + "description": "Only allows to specify rule to only autodiscover manifest for a specific Kubernetes manifest based on a rule" }, "versionfilter": { "properties": { @@ -1454,7 +1535,7 @@ }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the NPM builder." + "description": "Spec defines the parameters which can be provided to the Kubernetes builder." }, "rancher/fleet": { "$schema": "http://json-schema.org/draft-04/schema", @@ -1545,26 +1626,29 @@ "type": "object", "description": "Spec defines the parameters which can be provided to the fleet builder." }, - "terraform": { + "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 `.terraform.lock.hcl`" + "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 `.terraform.lock.hcl` 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." }, - "providers": { + "actions": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "`providers` specifies a map of providers, the key is provider url as seen in the `.terraform.lock.hcl`,\n\t\tthe value is an optional semver version constraint.\n\n\t\texamples:\n\t\t```\n\t\t- providers:\n\t\t # Ignoring provider updates for this provider\n\t\t registry.terraform.io/hashicorp/aws:\n\t\t # Ignore provider updates for this version\n\t\t registry.terraform.io/hashicorp/kubernetes: \"1.x\"\n\t\t```" + "description": "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, @@ -1572,21 +1656,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 GitHub action based on a rule\n\ndefault: empty" }, "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 Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "providers": { + "actions": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "`providers` specifies a map of providers, the key is provider url as seen in the `.terraform.lock.hcl`,\n\t\tthe value is an optional semver version constraint.\n\n\t\texamples:\n\t\t```\n\t\t- providers:\n\t\t # Ignoring provider updates for this provider\n\t\t registry.terraform.io/hashicorp/aws:\n\t\t # Ignore provider updates for this version\n\t\t registry.terraform.io/hashicorp/kubernetes: \"1.x\"\n\t\t```" + "description": "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, @@ -1594,7 +1678,11 @@ "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 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": { @@ -1613,62 +1701,42 @@ }, "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." }, - "platforms": { - "items": { - "type": "string" + "credentials": { + "additionalProperties": { + "properties": { + "kind": { + "type": "string" + }, + "token": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" }, - "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" + "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 Terraform parameters." + "description": "Spec defines the parameters which can be provided to the Github Action crawler." }, - "argocd": { + "helmfile": { "$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 Helmfile manifest" }, "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" - }, - "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 Argocd manifest based on a rule" - }, - "only": { - "items": { - "properties": { - "path": { - "type": "string", - "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, "repositories": { "items": { @@ -1690,56 +1758,28 @@ "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" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n kind - semver\n versionfilter of kind `semver` uses semantic versioning as version filtering\n pattern accepts one of:\n `prerelease` - Updatecli tries to identify the latest \"prerelease\" whatever it means\n `patch` - Updatecli only handles patch version update\n `minor` - Updatecli handles patch AND minor version update\n `minoronly` - Updatecli handles minor version only\n `major` - Updatecli handles patch, minor, AND major version update\n `majoronly` - Updatecli only handles major version update\n `a version constraint` such as `\u003e= 1.0.0`\n\n kind - regex\n versionfilter of kind `regex` uses regular expression as version filtering\n pattern accepts a valid regular expression\n\n example:\n ```\n \tversionfilter:\n \t\tkind: semver\n \t\tpattern: minor\n ```\n\n\tand its type like regex, semver, or just latest." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Spec defines the parameters which can be provided to the argocd builder." - }, - "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 golang go.mod" + "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Helmfile based on a rule" }, - "ignore": { + "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a go.mod path pattern, the pattern requires to match all of name, not just a substring." + "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path." }, - "modules": { + "repositories": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Repositories specifies the list of Helm Chart repository to check" + }, + "charts": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Modules specifies a list of module pattern." - }, - "goversion": { - "type": "string", - "description": "GoVersions specifies a list of version pattern." + "description": "Charts specifies the list of Helm Chart repository to check" } }, "additionalProperties": false, @@ -1747,33 +1787,30 @@ "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": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Helmfile based on a rule" }, - "only": { - "items": { + "auths": { + "additionalProperties": { "properties": { - "path": { + "username": { "type": "string", - "description": "Path specifies a go.mod 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" }, - "modules": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "Modules specifies a list of module pattern." + "password": { + "type": "string", + "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" }, - "goversion": { + "token": { "type": "string", - "description": "GoVersions specifies a list of version pattern." + "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" } }, "additionalProperties": false, "type": "object", - "description": "MatchingRule allows to specifies rules to identify manifest" + "description": "InlineKeyChain defines a keychain with OCI registry credentials" }, - "type": "array", - "description": "`only` allows to specify rule to \"only\" autodiscover manifest for a specific golang rule" + "type": "object", + "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme" }, "versionfilter": { "properties": { @@ -1792,40 +1829,33 @@ }, "additionalProperties": false, "type": "object", - "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Golang autodiscovery builder." + "description": "Spec defines the Helmfile parameters." }, - "maven": { + "npm": { "$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 package.json path pattern, the pattern requires to match all of name, not just a substring." }, - "artifactids": { + "packages": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" + "description": "Packages specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -1833,28 +1863,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 package.json path pattern, the pattern requires to match all of name, not just a substring." }, - "artifactids": { + "packages": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check" + "description": "Packages specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -1862,7 +1885,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": { @@ -1886,31 +1909,28 @@ }, "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 NPM builder." }, - "gitea/action": { + "precommit": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "files allows to specify the accepted GitHub Action workflow file name\n\ndefault:\n - \".github/workflows/*.yaml\",\n - \".github/workflows/*.yml\",\n - \".gitea/workflows/*.yaml\",\n - \".gitea/workflows/*.yml\",\n - \".forgejo/workflows/*.yaml\",\n - \".forgejo/workflows/*.yml\"," + "rootdir": { + "type": "string", + "description": "RootDir defines the root directory used to recursively search for npm packages.json" }, "ignore": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." }, - "actions": { + "repos": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "description": "Repos specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -1918,21 +1938,21 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty" + "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule" }, "only": { "items": { "properties": { "path": { "type": "string", - "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path." + "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring." }, - "actions": { + "repos": { "additionalProperties": { "type": "string" }, "type": "object", - "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint" + "description": "Repos specifies the list of NPM packages to check" } }, "additionalProperties": false, @@ -1940,11 +1960,7 @@ "description": "MatchingRule allows to specifies rules to identify manifest" }, "type": "array", - "description": "only allows to specify rule to only autodiscover manifest for a specific GitHub action based on a rule\n\ndefault: empty" - }, - "rootdir": { - "type": "string", - "description": "rootDir allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty" + "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule" }, "versionfilter": { "properties": { @@ -1963,28 +1979,12 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest." - }, - "credentials": { - "additionalProperties": { - "properties": { - "kind": { - "type": "string" - }, - "token": { - "type": "string" - } - }, - "additionalProperties": false, - "type": "object" - }, - "type": "object", - "description": "Credentials allows to specify the credentials to use to authenticate to the git provider\nThe ID of the credential must be the domain of the git provider to configure\n\ndefault: empty\n\nexamples:\n```\n autodiscovery:\n crawlers:\n github/action:\n credentials:\n \"code.forgejo.com\":\n kind: gitea\n token: xxx\n \"github.com\":\n kind: github\n token: '{{ requiredEnv \"GITHUB_TOKEN\" }}'\n```" + "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines the parameters which can be provided to the Github Action crawler." + "description": "Spec defines the parameters uses to generate the precomit manifests" } }, "type": "object", @@ -2373,66 +2373,43 @@ "properties": { "kind": { "enum": [ - "github" + "git" ] }, "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": { + "url": { "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" + "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" }, - "owner": { + "username": { "type": "string", - "description": "\"owner\" defines the owner of a repository.\n\n compatible:\n * scm" + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * scm" }, - "repository": { + "password": { "type": "string", - "description": "\"repository\" specifies the name of a repository for a specific owner.\n\n compatible:\n * scm" + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * scm" }, - "token": { + "branch": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with GitHub API.\n\n\tcompatible:\n\t\t* scm" + "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" }, - "url": { + "user": { "type": "string", - "description": "\"url\" specifies the default github url in case of GitHub enterprise\n\n compatible:\n * scm\n\n default:\n github.com\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITHUB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .github.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t * scm" }, - "username": { + "email": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with GitHub API.\n\n compatible:\n * scm\n\n remark:\n the token is usually enough to authenticate with GitHub API. Needed when working with GitHub private repositories." + "description": "\"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" }, - "user": { + "directory": { "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" + "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 * scm\n\n\tdefault:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." + "description": "\"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": { @@ -2463,7 +2440,22 @@ }, "additionalProperties": false, "type": "object", - "description": "\"commitMessage\" is used to generate the final commit message.\n\n\tcompatible:\n\t\t* scm\n\n\tremark:\n\t\tit's worth mentioning that the commit message settings is applied to all targets linked to the same scm." + "description": "\"commitMessage\" is used to generate the final commit message.\n\n\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", @@ -2471,21 +2463,15 @@ }, "workingbranch": { "type": "boolean", - "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n\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" + "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n * scm\n\n default: false" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository", - "token" + "required": [ + "url" ], - "description": "Spec represents the configuration input" + "description": "Spec contains settings to manipulate a git repository." }, "disabled": { "type": "boolean" @@ -2499,7 +2485,7 @@ "properties": { "kind": { "enum": [ - "gitlab" + "gitea" ] }, "spec": { @@ -2507,15 +2493,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" }, "commitmessage": { "properties": { @@ -2550,7 +2536,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/github/\u003cowner\u003e/\u003crepository\u003e" }, "email": { "type": "string", @@ -2558,7 +2544,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\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": { @@ -2573,7 +2559,7 @@ }, "additionalProperties": false, "type": "object", - "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing.\n\n compatible:\n\t * scm" + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n * scm" }, "owner": { "type": "string", @@ -2581,15 +2567,15 @@ }, "repository": { "type": "string", - "description": "repository specifies the name of a repository for a specific owner.\n\n compatible:\n * action\n * scm" + "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 compatible:\n * 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 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\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", @@ -2603,10 +2589,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" }, "disabled": { "type": "boolean" @@ -2620,35 +2607,66 @@ "properties": { "kind": { "enum": [ - "stash" + "github" ] }, "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "branch": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "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 used to authenticate with Bitbucket Server API" + "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 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": "\"token\" specifies the credential used to authenticate with GitHub API.\n\n\tcompatible:\n\t\t* scm" }, - "password": { + "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\" 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" }, - "owner": { + "username": { "type": "string", - "description": "\"owner\" defines the owner of a repository.\n\n\tcompatible:\n\t\t* scm" + "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." }, - "repository": { + "user": { "type": "string", - "description": "repository specifies the name of a repository for a specific owner.\n\n\tcompatible:\n\t\t* scm" + "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n compatible:\n * scm" + }, + "gpg": { + "properties": { + "signingkey": { + "type": "string", + "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone" + }, + "passphrase": { + "type": "string", + "description": "passphrase defines the gpg passphrase used to sign the commit message" + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n compatible:\n * scm" + }, + "force": { + "type": "boolean", + "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n * scm\n\n\tdefault:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." }, "commitmessage": { "properties": { @@ -2679,42 +2697,7 @@ }, "additionalProperties": false, "type": "object", - "description": "\"commitMessage\" is used to generate the final commit message.\n\n compatible:\n * scm\n\n remark:\n it's worth mentioning that the commit message settings is applied to all targets linked to the same scm." - }, - "directory": { - "type": "string", - "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n * scm\n\n remark:\n Unless you know what you are doing, it is recommended to use the default value.\n The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n The default value is based on your local temporary directory like: (on Linux)\n /tmp/updatecli/stash/\u003cowner\u003e/\u003crepository\u003e" - }, - "email": { - "type": "string", - "description": "\"email\" defines the email used to commit changes.\n\n compatible:\n * scm\n\n default:\n default set to your global git configuration" - }, - "force": { - "type": "boolean", - "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n compatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreate the working branches that\n diverged from their base branch." - }, - "gpg": { - "properties": { - "signingkey": { - "type": "string", - "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone" - }, - "passphrase": { - "type": "string", - "description": "passphrase defines the gpg passphrase used to sign the commit message" - } - }, - "additionalProperties": false, - "type": "object", - "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t\t* scm" - }, - "user": { - "type": "string", - "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t\t* scm" - }, - "branch": { - "type": "string", - "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the Stash scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n The working branch can be disabled using the \"workingBranch\" parameter set to false." + "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", @@ -2723,16 +2706,20 @@ "workingbranch": { "type": "boolean", "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n\t * scm\n\n default: true" + }, + "commitusingapi": { + "type": "boolean", + "description": "\"commitUsingApi\" defines if Updatecli should use GitHub GraphQL API to create the commit.\n\n compatible:\n\t * scm\n\n default: false" } }, "additionalProperties": false, "type": "object", "required": [ - "url", "owner", - "repository" + "repository", + "token" ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec represents the configuration input" }, "disabled": { "type": "boolean" @@ -2746,7 +2733,7 @@ "properties": { "kind": { "enum": [ - "git" + "gitlab" ] }, "spec": { @@ -2754,35 +2741,15 @@ "properties": { "url": { "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": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, "username": { "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * scm" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * scm" - }, - "branch": { - "type": "string", - "description": "\"branch\" defines the git branch to work on.\n\n\tcompatible:\n\t * scm\n\n\tdefault:\n\t\tmain\n\n\tremark:\n\t\tdepending on which resource references the GitHub scm, the behavior will be different.\n\n\t\tIf the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n\t\tfile(s) from that branch.\n\n\t\tIf the scm is linked to target then Updatecli will push any changes to that branch\n\n\t\tFor more information, please refer to the following issue:\n\t\thttps://github.com/updatecli/updatecli/issues/1139" - }, - "user": { - "type": "string", - "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t * scm" - }, - "email": { - "type": "string", - "description": "\"email\" defines the email used to commit changes.\n\n\tcompatible:\n\t * scm\n\n\tdefault:\n\t\tdefault set to your global git configuration" + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "directory": { + "token": { "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." + "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": { @@ -2813,7 +2780,19 @@ }, "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" + "description": "\"commitMessage\" is used to generate the final commit message.\n\n compatible:\n * scm\n\n remark:\n it's worth mentioning that the commit message settings is applied to all targets linked to the same scm." + }, + "directory": { + "type": "string", + "description": "\"directory\" defines the local path where the git repository is cloned.\n\n\tcompatible:\n\t * scm\n\n\tremark:\n Unless you know what you are doing, it is recommended to use the default value.\n\t The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n\tdefault:\n\t The default value is based on your local temporary directory like: (on Linux)\n\t /tmp/updatecli/gitlab/\u003cowner\u003e/\u003crepository\u003e" + }, + "email": { + "type": "string", + "description": "\"email\" defines the email used to commit changes.\n\n compatible:\n * scm\n\n default:\n default set to your global git configuration" + }, + "force": { + "type": "boolean", + "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n compatible:\n * scm\n\n default:\n false\n\n remark:\n When force is set to true, Updatecli also recreates the working branches that\n diverged from their base branch." }, "gpg": { "properties": { @@ -2828,7 +2807,23 @@ }, "additionalProperties": false, "type": "object", - "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t * scm" + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing.\n\n compatible:\n\t * scm" + }, + "owner": { + "type": "string", + "description": "\"owner\" defines the owner of a repository.\n\n compatible:\n * scm" + }, + "repository": { + "type": "string", + "description": "repository specifies the name of a repository for a specific owner.\n\n compatible:\n * action\n * scm" + }, + "user": { + "type": "string", + "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli.\n\n compatible:\n * scm" + }, + "branch": { + "type": "string", + "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n * scm\n\n default:\n main\n\n remark:\n depending on which resource references the GitLab scm, the behavior will be different.\n\n If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n file(s) from that branch.\n\n If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n\t The working branch can be disabled using the \"workingBranch\" parameter set to false." }, "submodules": { "type": "boolean", @@ -2836,15 +2831,16 @@ }, "workingbranch": { "type": "boolean", - "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n * 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 * scm\n\n default: true" } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "owner", + "repository" ], - "description": "Spec contains settings to manipulate a git repository." + "description": "Spec defines settings used to interact with GitLab release" }, "disabled": { "type": "boolean" @@ -2858,7 +2854,7 @@ "properties": { "kind": { "enum": [ - "gitea" + "stash" ] }, "spec": { @@ -2866,15 +2862,27 @@ "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", + "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": { @@ -2909,7 +2917,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 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", @@ -2917,7 +2925,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 recreate the working branches that\n diverged from their base branch." }, "gpg": { "properties": { @@ -2932,23 +2940,15 @@ }, "additionalProperties": false, "type": "object", - "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" + "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t\t* scm" }, "user": { "type": "string", - "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli.\n\n\tcompatible:\n * 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\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 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", @@ -2956,7 +2956,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 * 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, @@ -2966,7 +2966,7 @@ "owner", "repository" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "disabled": { "type": "boolean" @@ -2999,7 +2999,7 @@ }, "kind": { "enum": [ - "githubrelease" + "gitlab/release" ] }, "transformers": { @@ -3100,25 +3100,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "owner": { + "url": { "type": "string", - "description": "[s][c] Owner specifies repository owner" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "repository": { + "username": { "type": "string", - "description": "[s][c] Repository specifies the name of a repository for a specific owner" + "description": "\"username\" defines the username used to authenticate with GitLab" }, "token": { "type": "string", - "description": "[s][c] Token specifies the credential used to authenticate with" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "url": { + "owner": { "type": "string", - "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + "description": "[S][C][T] Owner specifies repository owner" }, - "username": { + "repository": { "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -3137,44 +3137,40 @@ }, "additionalProperties": false, "type": "object", - "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "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" + "title": { + "type": "string", + "description": "[T] Title defines the GitLab release title." }, "tag": { "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "description": "[C][T] Tag defines the GitLab release tag." + }, + "commitish": { + "type": "string", + "description": "[T] Commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] Description defines if the new release description" + }, + "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": [ "owner", - "repository", - "token" + "repository" ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -3203,7 +3199,7 @@ }, "kind": { "enum": [ - "golang" + "hcl" ] }, "transformers": { @@ -3304,33 +3300,29 @@ "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 hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "type": "array", + "description": "\"files\" defines the list of 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": "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", @@ -3359,7 +3351,7 @@ }, "kind": { "enum": [ - "shell" + "toolversions" ] }, "transformers": { @@ -3460,130 +3452,214 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "command": { + "file": { "type": "string", - "description": "command specifies the shell command to execute by Updatecli" + "description": "[s][c][t] File specifies the .tool-versions file to manipulate" }, - "environments": { + "files": { "items": { - "properties": { - "name": { - "type": "string", - "description": "Name defines the environment variable name" - }, - "value": { - "type": "string", - "description": "Value defines the environment variable value" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "name" - ], - "description": "Environment is a struct containing information for an environment variable such as its name and its value" + "type": "string" }, "type": "array", - "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." + "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" }, - "changedif": { - "oneOf": [ - { - "$schema": "http://json-schema.org/draft-04/schema", + "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" + }, + "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": [ + "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": { - "kind": { - "enum": [ - "exitcode" - ] + "from": { + "type": "string", + "description": "From defines the source value which need to be replaced" }, - "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" - ] + "to": { + "type": "string", + "description": "To defines the \"to what\" a \"from\" value needs to be replaced" } }, "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" - ] - } + "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" }, - "additionalProperties": false, - "type": "object" + "to": { + "type": "string", + "description": "To defines the \"to what\" a \"from\" value needs to be replaced" + } }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "console/output" - ] - }, - "spec": true + "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" }, - "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": { + "file": { "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + "description": "[s][c][t] File specifies the csv file" }, - "workdir": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" + }, + "key": { "type": "string", - "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." + "description": "[s][c][t] 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", - "required": [ - "command" - ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -3612,7 +3688,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "dockerdigest" ] }, "transformers": { @@ -3713,40 +3789,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "architecture": { "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": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of 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" + "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" }, - "value": { + "tag": { "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": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "provider": { + "digest": { "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": "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." }, - "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" + "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" }, - "skipconstraints": { + "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": "\"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": "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": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -3962,7 +4040,7 @@ }, "kind": { "enum": [ - "gitbranch" + "file" ] }, "transformers": { @@ -4063,56 +4141,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "file": { "type": "string", - "description": "path contains the git repository path" + "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" + "type": "array", + "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" }, - "branch": { - "type": "string", - "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" + "line": { + "type": "integer", + "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "sourcebranch": { + "content": { "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": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\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." + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" }, - "username": { + "matchpattern": { "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "password": { + "replacepattern": { "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + }, + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "additionalProperties": false, "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gitbranch\" 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", @@ -4141,7 +4208,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "gittag" ] }, "transformers": { @@ -4242,25 +4309,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": { @@ -4279,20 +4330,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", @@ -4321,7 +4391,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "githubrelease" ] }, "transformers": { @@ -4422,25 +4492,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "owner": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "[s][c] Owner specifies repository owner" }, - "username": { + "repository": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "[s][c] Repository specifies the name of a repository for a specific owner" }, "token": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "[s][c] Token specifies the credential used to authenticate with" }, - "owner": { + "url": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" }, - "repository": { + "username": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" }, "versionfilter": { "properties": { @@ -4459,20 +4529,44 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "typefilter": { + "properties": { + "draft": { + "type": "boolean", + "description": "\"Draft\" enable/disable GitHub draft release" + }, + "prerelease": { + "type": "boolean", + "description": "\"PreRelease\" enable/disable GitHub PreRelease" + }, + "release": { + "type": "boolean", + "description": "\"Release\" enable/disable GitHub release" + }, + "latest": { + "type": "boolean", + "description": "\"Latest\" if set to true will only filter the release flag as latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" }, "tag": { "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "description": "[c] Tag allows to check for a specific release tag, default to source output" } }, "additionalProperties": false, "type": "object", "required": [ "owner", - "repository" + "repository", + "token" ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -4501,7 +4595,7 @@ }, "kind": { "enum": [ - "npm" + "stash/branch" ] }, "transformers": { @@ -4602,21 +4696,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "name": { + "url": { "type": "string", - "description": "Defines the specific npm package name" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "version": { + "username": { "type": "string", - "description": "Defines a specific package version" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "url": { + "token": { "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "registrytoken": { + "password": { "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -4635,16 +4737,21 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "npmrcpath": { + "branch": { "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -4673,7 +4780,7 @@ }, "kind": { "enum": [ - "aws/ami" + "terraform/lock" ] }, "transformers": { @@ -4774,53 +4881,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", @@ -4849,7 +4943,7 @@ }, "kind": { "enum": [ - "file" + "terraform/provider" ] }, "transformers": { @@ -4952,43 +5046,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", @@ -5017,7 +5095,7 @@ }, "kind": { "enum": [ - "gitea/release" + "gitlab/tag" ] }, "transformers": { @@ -5120,23 +5198,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][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": { @@ -5155,41 +5233,20 @@ }, "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 GitLab tag ." } }, "additionalProperties": false, "type": "object", "required": [ - "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -5218,7 +5275,7 @@ }, "kind": { "enum": [ - "golang/module" + "toml" ] }, "transformers": { @@ -5319,17 +5376,28 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "proxy": { + "file": { + "type": "string", + "description": "[s][c][t] File specifies the toml file to manipulate" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" + }, + "query": { "type": "string", - "description": "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] Query allows to used advanced query. Override the parameter key" }, - "module": { + "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 toml 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": { @@ -5348,15 +5416,15 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "required": [ - "module" - ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -5385,7 +5453,7 @@ }, "kind": { "enum": [ - "helmchart" + "terraform/registry" ] }, "transformers": { @@ -5486,41 +5554,33 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "type": { "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": "\"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" }, - "key": { + "hostname": { "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": "\"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." }, - "name": { + "namespace": { "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": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "url": { + "name": { "type": "string", - "description": "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": "\"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." }, - "value": { + "targetsystem": { "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": "\"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." }, - "version": { + "rawstring": { "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": "\"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." }, - "versionincrement": { + "version": { "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": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" }, "versionfilter": { "properties": { @@ -5539,24 +5599,11 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\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": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -5585,7 +5632,7 @@ }, "kind": { "enum": [ - "jenkins" + "cargopackage" ] }, "transformers": { @@ -5686,18 +5733,74 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "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] Defines the release name. It accepts \"stable\" or \"weekly\"" + "description": "[S][C] Package specifies the name of the package" }, "version": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "description": "[C] Defines a specific package version" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" + "required": [ + "package" + ], + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -5726,7 +5829,7 @@ }, "kind": { "enum": [ - "json" + "dockerfile" ] }, "transformers": { @@ -5829,50 +5932,30 @@ "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 specifies the dockerimage file path to use and is incompatible with Files" }, "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 specifies the dockerimage file path(s) to use and is incompatible with File" }, - "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" + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, "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 specifies the value for a specified Dockerfile instruction." }, - "query": { + "stage": { "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": "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": "\"json\" defines the specification for manipulating \"json\" files." + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -5901,7 +5984,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "gitea/release" ] }, "transformers": { @@ -6002,29 +6085,78 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "\"url\" defines the Gitea url to interact with" }, - "files": { - "items": { - "type": "string" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" + }, + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C][T] owner specifies the repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C][T] repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } }, - "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": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "value": { + "title": { "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": "[T] title defines the Gitea release title." }, - "provider": { + "tag": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "[C][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": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -6053,7 +6185,7 @@ }, "kind": { "enum": [ - "csv" + "maven" ] }, "transformers": { @@ -6154,36 +6286,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the csv file" + "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": "[c][t] Files specifies a list of Json file to manipulate" + "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." }, - "key": { + "groupid": { "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "description": "Specifies the maven artifact groupID" }, - "query": { + "artifactid": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "Specifies the maven artifact artifactID" }, - "value": { + "version": { "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": "Specifies the maven artifact version" }, "versionfilter": { "properties": { @@ -6202,11 +6330,12 @@ }, "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", + "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -6235,7 +6364,7 @@ }, "kind": { "enum": [ - "yaml" + "temurin" ] }, "transformers": { @@ -6336,41 +6465,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { + "releaseline": { "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": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "file": { + "releasetype": { "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": "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)" }, - "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" + "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.)" }, - "key": { + "result": { "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": "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": "\"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": "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)" }, - "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" + "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\"" }, - "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 ```" + "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": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "type": "object" }, "scmid": { "type": "string", @@ -6399,7 +6539,7 @@ }, "kind": { "enum": [ - "http" + "gitea/tag" ] }, "transformers": { @@ -6502,60 +6642,56 @@ "properties": { "url": { "type": "string", - "description": "[S][C] Specifies the URL of the HTTP request for this resource." + "description": "\"url\" defines the Gitea url to interact with" }, - "returnresponseheader": { + "username": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "request": { + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] 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][C] 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." + "tag": { + "type": "string", + "description": "[S] Tag defines the Gitea tag ." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -6584,7 +6720,7 @@ }, "kind": { "enum": [ - "stash/tag" + "golang" ] }, "transformers": { @@ -6685,29 +6821,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": { + "version": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[C] Version defines a specific golang version" }, "versionfilter": { "properties": { @@ -6726,21 +6842,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 \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -6769,7 +6876,7 @@ }, "kind": { "enum": [ - "temurin" + "xml" ] }, "transformers": { @@ -6870,52 +6977,22 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "releaseline": { - "type": "string", - "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" - }, - "releasetype": { - "type": "string", - "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" - }, - "featureversion": { - "type": "integer", - "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" - }, - "result": { - "type": "string", - "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" - }, - "architecture": { - "type": "string", - "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" - }, - "imagetype": { - "type": "string", - "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" - }, - "operatingsystem": { - "type": "string", - "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" - }, - "specificversion": { - "type": "string", - "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" - }, - "project": { + "file": { "type": "string", - "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" - }, - "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": "\"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": { + "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" + "type": "object", + "description": "\"xml\" defines the specification for manipulating \"xml\" files." }, "scmid": { "type": "string", @@ -6944,7 +7021,7 @@ }, "kind": { "enum": [ - "terraform/file" + "golang/module" ] }, "transformers": { @@ -7045,29 +7122,44 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "proxy": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." }, - "path": { + "module": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "[S][C] Module specifies the name of the module" }, - "value": { + "version": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "[C] Defines a specific package version" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "module" + ], + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7096,7 +7188,7 @@ }, "kind": { "enum": [ - "toml" + "helmchart" ] }, "transformers": { @@ -7199,26 +7291,39 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" + "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": "[c][t] Files specifies a list of Json file to manipulate" + "key": { + "type": "string", + "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." }, - "query": { + "name": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" }, - "key": { + "skippackaging": { + "type": "boolean", + "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" + }, + "url": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "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": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + }, + "version": { + "type": "string", + "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" + }, + "versionincrement": { + "type": "string", + "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" + }, + "appversion": { + "type": "boolean", + "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" }, "versionfilter": { "properties": { @@ -7237,15 +7342,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." }, - "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" + "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" + "type": "object", + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7274,7 +7388,7 @@ }, "kind": { "enum": [ - "xml" + "json" ] }, "transformers": { @@ -7377,20 +7491,50 @@ "properties": { "file": { "type": "string", - "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "\"file\" 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" }, - "path": { + "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": "\"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 Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" }, "value": { "type": "string", - "description": "\"value\" is the value associated with a 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\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." + }, + "query": { + "type": "string", + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, "type": "object", - "description": "\"xml\" defines the specification for manipulating \"xml\" files." + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -7419,7 +7563,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "aws/ami" ] }, "transformers": { @@ -7520,42 +7664,53 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architecture": { + "accesskey": { "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" + "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "image": { + "secretkey": { "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + "filters": { + "items": { + "properties": { + "name": { + "type": "string", + "description": "Name specifies a filter name." + }, + "values": { + "type": "string", + "description": "Values specifies a filter value for a specific filter name." + } + }, + "additionalProperties": false, + "type": "object", + "description": "Filter represents the updatecli configuration describing AMI filters." + }, + "type": "array", + "description": "Filters specifies a list of AMI filters" }, - "digest": { + "region": { "type": "string", - "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." + "description": "Region specifies the AWS region to use when looking for AMI" }, - "username": { + "endpoint": { "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" }, - "password": { - "type": "string", - "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "dryrun": { + "type": "boolean", + "description": "Dryrun allows to Check whether you have the required permissions for the action." }, - "token": { + "sortby": { "type": "string", - "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" - }, - "hidetag": { - "type": "boolean", - "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" + "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -7584,7 +7739,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "golang/gomod" ] }, "transformers": { @@ -7685,58 +7840,26 @@ "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": { + "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 Gitea tag ." + "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -7765,7 +7888,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "http" ] }, "transformers": { @@ -7866,26 +7989,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": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "module": { + "returnresponseheader": { "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] Specifies the header to return as source value (instead of the body)." }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "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." }, - "version": { - "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "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 \"Golang\" 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", @@ -7914,7 +8073,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "npm" ] }, "transformers": { @@ -8015,33 +8174,21 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "type": { - "type": "string", - "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" - }, - "hostname": { - "type": "string", - "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, - "namespace": { - "type": "string", - "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." - }, "name": { "type": "string", - "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + "description": "Defines the specific npm package name" }, - "targetsystem": { + "version": { "type": "string", - "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." + "description": "Defines a specific package version" }, - "rawstring": { + "url": { "type": "string", - "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" }, - "version": { + "registrytoken": { "type": "string", - "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + "description": "RegistryToken defines the token to use when connection to the registry" }, "versionfilter": { "properties": { @@ -8060,11 +8207,16 @@ }, "additionalProperties": false, "type": "object", - "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "npmrcpath": { + "type": "string", + "description": "NpmrcPath defines the path to the .npmrc file" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -8093,7 +8245,7 @@ }, "kind": { "enum": [ - "gittag" + "stash/tag" ] }, "transformers": { @@ -8194,9 +8346,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": { @@ -8215,39 +8387,21 @@ }, "additionalProperties": false, "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "message": { - "type": "string", - "description": "Message associated to the git tag\n\n compatible:\n * target" - }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" - }, - "url": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "username": { - "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "sourcebranch": { + "tag": { "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "description": "[S] Tag defines the Bitbucket tag ." } }, "additionalProperties": false, "type": "object", "required": [ - "url" + "url", + "owner", + "repository" ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -8276,7 +8430,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "terraform/file" ] }, "transformers": { @@ -8377,77 +8531,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" - }, - "token": { - "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C][T] Owner specifies repository owner" - }, - "repository": { + "file": { "type": "string", - "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { - "type": "string", - "description": "[T] Title defines the GitLab release title." - }, - "tag": { - "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." + "type": "array", + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "commitish": { + "path": { "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "description": { + "value": { "type": "string", - "description": "[T] Description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" - }, - "prerelease": { - "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -8476,7 +8582,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "yaml" ] }, "transformers": { @@ -8577,58 +8683,41 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { + "engine": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" }, - "repository": { + "file": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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\" 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" }, - "branch": { + "key": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" + }, + "value": { + "type": "string", + "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + }, + "keyonly": { + "type": "boolean", + "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" + }, + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "additionalProperties": false, "type": "object", - "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", @@ -8657,7 +8746,7 @@ }, "kind": { "enum": [ - "hcl" + "gitbranch" ] }, "transformers": { @@ -8758,29 +8847,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "path": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "path contains the git repository path" }, - "files": { - "items": { - "type": "string" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } }, - "type": "array", - "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "additionalProperties": false, + "type": "object", + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" }, - "path": { + "branch": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" }, - "value": { + "sourcebranch": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "url": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -8809,7 +8925,7 @@ }, "kind": { "enum": [ - "maven" + "gitea/branch" ] }, "transformers": { @@ -8912,30 +9028,23 @@ "properties": { "url": { "type": "string", - "description": "Deprecated, please specify the Maven url in the repository" + "description": "\"url\" defines the Gitea url to interact with" }, - "repository": { + "username": { "type": "string", - "description": "Specifies the maven repository url + name" - }, - "repositories": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "groupid": { + "token": { "type": "string", - "description": "Specifies the maven artifact groupID" + "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" }, - "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": { @@ -8955,11 +9064,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 Gitea release" }, "scmid": { "type": "string", @@ -8988,7 +9106,7 @@ }, "kind": { "enum": [ - "stash/branch" + "gitlab/branch" ] }, "transformers": { @@ -9091,19 +9209,15 @@ "properties": { "url": { "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, "username": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "\"username\" defines the username used to authenticate with GitLab" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "password": { - "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", @@ -9140,11 +9254,10 @@ "additionalProperties": false, "type": "object", "required": [ - "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -9173,7 +9286,7 @@ }, "kind": { "enum": [ - "toolversions" + "jenkins" ] }, "transformers": { @@ -9274,32 +9387,18 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" - }, - "key": { + "release": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "value": { + "version": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" - }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "description": "[s][c] Defines a specific release version (condition only)" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -9328,7 +9427,7 @@ }, "kind": { "enum": [ - "cargopackage" + "shell" ] }, "transformers": { @@ -9429,74 +9528,130 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "registry": { - "properties": { - "auth": { + "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": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." + "kind": { + "enum": [ + "file/checksum" + ] }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." + "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": "[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": "object" } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + ], + "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" }, - "package": { + "shell": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" }, - "version": { + "workdir": { "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": "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": [ - "package" + "command" ], - "description": "Spec defines a specification for a \"cargopackage\" 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", @@ -9508,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": { @@ -9525,7 +9688,7 @@ }, "kind": { "enum": [ - "dockerfile" + "file" ] }, "transformers": { @@ -9628,34 +9791,56 @@ "properties": { "file": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "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 specifies the dockerimage file path(s) to use and is incompatible with File" + "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" }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "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" }, - "value": { + "content": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "stage": { + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + }, + "matchpattern": { "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": "`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 \"dockerfile\" 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", "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 +9848,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 +9865,7 @@ }, "kind": { "enum": [ - "json" + "helmchart" ] }, "transformers": { @@ -9791,26 +9968,39 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "file 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 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": "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\" 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 yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "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" + "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": { @@ -9829,12 +10019,24 @@ }, "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\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": "\"json\" defines the specification for manipulating \"json\" files." + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -9872,7 +10074,7 @@ }, "kind": { "enum": [ - "cargopackage" + "temurin" ] }, "transformers": { @@ -9958,89 +10160,67 @@ ], "description": "Find searches for a specific value if it exists then return the value using regular expression" }, - "semverinc": { - "type": "string", - "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Transformer holds a transformer rule" - }, - "type": "array", - "description": "transformers defines how the default input value need to be transformed" - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "registry": { - "properties": { - "auth": { - "properties": { - "token": { - "type": "string", - "description": "[A][S][C] Token specifies the cargo registry token to use for authentication." - }, - "headerformat": { - "type": "string", - "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication." - }, - "url": { - "type": "string", - "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication." - }, - "rootdir": { - "type": "string", - "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index." - }, - "scmid": { - "type": "string", - "description": "[A] SCMID specifies the cargo registry scmId to use as FS index." - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] Registry specifies the registry to use" + "semverinc": { + "type": "string", + "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." + } }, - "package": { + "additionalProperties": false, + "type": "object", + "description": "Transformer holds a transformer rule" + }, + "type": "array", + "description": "transformers defines how the default input value need to be transformed" + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "releaseline": { "type": "string", - "description": "[S][C] Package specifies the name of the package" + "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "version": { + "releasetype": { "type": "string", - "description": "[C] Defines a specific package version" + "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)" }, - "versionfilter": { - "properties": { - "kind": { - "type": "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" - } + "featureversion": { + "type": "integer", + "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" + }, + "result": { + "type": "string", + "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" + }, + "architecture": { + "type": "string", + "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" + }, + "imagetype": { + "type": "string", + "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" + }, + "operatingsystem": { + "type": "string", + "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" + }, + "specificversion": { + "type": "string", + "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + }, + "project": { + "type": "string", + "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + }, + "platforms": { + "items": { + "type": "string" }, - "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", - "required": [ - "package" - ], - "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -10078,7 +10258,7 @@ }, "kind": { "enum": [ - "file" + "toolversions" ] }, "transformers": { @@ -10181,43 +10361,30 @@ "properties": { "file": { "type": "string", - "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" + "description": "[s][c][t] File specifies the .tool-versions file to manipulate" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "line": { - "type": "integer", - "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "content": { - "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "forcecreate": { - "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" }, - "matchpattern": { + "key": { "type": "string", - "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" }, - "replacepattern": { + "value": { "type": "string", - "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, - "searchpattern": { + "createmissingkey": { "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -10255,7 +10422,7 @@ }, "kind": { "enum": [ - "gittag" + "yaml" ] }, "transformers": { @@ -10356,60 +10523,41 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "engine": { "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": "\"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" }, - "message": { + "file": { "type": "string", - "description": "Message associated to the git tag\n\n compatible:\n * target" + "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" }, - "key": { - "type": "string", - "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of 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" }, - "url": { + "key": { "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + "description": "\"key\" defines the 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" }, - "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 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." }, - "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" + "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" }, - "sourcebranch": { - "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "additionalProperties": false, "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -10447,7 +10595,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "gitlab/release" ] }, "transformers": { @@ -10562,11 +10710,11 @@ }, "owner": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[S][C][T] Owner specifies repository owner" }, "repository": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -10587,9 +10735,29 @@ "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "branch": { + "title": { "type": "string", - "description": "[C] Branch specifies the branch name" + "description": "[T] Title defines the GitLab release title." + }, + "tag": { + "type": "string", + "description": "[C][T] Tag defines the GitLab release tag." + }, + "commitish": { + "type": "string", + "description": "[T] Commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] Description defines if the new release description" + }, + "draft": { + "type": "boolean", + "description": "[T] Draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] Prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, @@ -10636,7 +10804,7 @@ }, "kind": { "enum": [ - "hcl" + "maven" ] }, "transformers": { @@ -10737,29 +10905,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", @@ -10797,7 +10992,7 @@ }, "kind": { "enum": [ - "toolversions" + "stash/tag" ] }, "transformers": { @@ -10898,32 +11093,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { + "type": "string", + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" + }, + "username": { "type": "string", - "description": "[s][c][t] File specifies the .tool-versions file to manipulate" + "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "key": { + "password": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "value": { + "owner": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[S][C] Owner specifies repository owner" }, - "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][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", @@ -10961,7 +11186,7 @@ }, "kind": { "enum": [ - "csv" + "cargopackage" ] }, "transformers": { @@ -11062,36 +11287,47 @@ "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" + "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": "[c][t] Files specifies a list of Json file to manipulate" - }, - "key": { - "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "additionalProperties": false, + "type": "object", + "description": "[S][C] Registry specifies the registry to use" }, - "query": { + "package": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "[S][C] Package specifies the name of the package" }, - "value": { + "version": { "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": "[C] Defines a specific package version" }, "versionfilter": { "properties": { @@ -11110,11 +11346,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": [ + "package" + ], + "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -11152,7 +11392,7 @@ }, "kind": { "enum": [ - "dockerimage" + "dockerfile" ] }, "transformers": { @@ -11253,64 +11493,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architectures": { + "file": { + "type": "string", + "description": "File specifies the dockerimage file path to use and is incompatible with Files" + }, + "files": { "items": { "type": "string" }, "type": "array", - "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "architecture": { - "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" - }, - "image": { - "type": "string", - "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" - }, - "tag": { - "type": "string", - "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" - }, - "username": { - "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" }, - "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" + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, - "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" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" + "description": "Value specifies the value for a specified Dockerfile instruction." }, - "tagfilter": { + "stage": { "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": "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 \"dockerimage\" 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", @@ -11348,7 +11556,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "githubrelease" ] }, "transformers": { @@ -11449,26 +11657,81 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "owner": { "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] Owner specifies repository owner" }, - "module": { + "repository": { "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] Repository specifies the name of a repository for a specific owner" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "token": { + "type": "string", + "description": "[s][c] Token specifies the credential used to authenticate with" + }, + "url": { + "type": "string", + "description": "[s][c] URL specifies the default github url in case of GitHub enterprise" + }, + "username": { + "type": "string", + "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "typefilter": { + "properties": { + "draft": { + "type": "boolean", + "description": "\"Draft\" enable/disable GitHub draft release" + }, + "prerelease": { + "type": "boolean", + "description": "\"PreRelease\" enable/disable GitHub PreRelease" + }, + "release": { + "type": "boolean", + "description": "\"Release\" enable/disable GitHub release" + }, + "latest": { + "type": "boolean", + "description": "\"Latest\" if set to true will only filter the release flag as latest." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" }, - "version": { + "tag": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "description": "[c] Tag allows to check for a specific release tag, default to source output" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" 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", @@ -11506,7 +11769,7 @@ }, "kind": { "enum": [ - "http" + "golang" ] }, "transformers": { @@ -11607,62 +11870,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", @@ -11700,7 +11934,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "golang/gomod" ] }, "transformers": { @@ -11801,56 +12035,26 @@ "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 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" }, - "targetsystem": { + "module": { "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": "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" }, - "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." + "indirect": { + "type": "boolean", + "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" }, "version": { "type": "string", - "description": "\"version\" defines a specific 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": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -11888,7 +12092,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "stash/branch" ] }, "transformers": { @@ -11991,15 +12195,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", @@ -12026,11 +12234,11 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "tag": { + "branch": { "type": "string", - "description": "[S] Tag defines the Gitea tag ." + "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, @@ -12040,7 +12248,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", @@ -12078,7 +12286,7 @@ }, "kind": { "enum": [ - "maven" + "terraform/file" ] }, "transformers": { @@ -12179,56 +12387,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "Deprecated, please specify the Maven url in the repository" - }, - "repository": { + "file": { "type": "string", - "description": "Specifies the maven repository url + name" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "repositories": { + "files": { "items": { "type": "string" }, "type": "array", - "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." - }, - "groupid": { - "type": "string", - "description": "Specifies the maven artifact groupID" + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "artifactid": { + "path": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "version": { + "value": { "type": "string", - "description": "Specifies the maven artifact version" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -12266,7 +12447,7 @@ }, "kind": { "enum": [ - "npm" + "gitea/release" ] }, "transformers": { @@ -12367,21 +12548,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": { @@ -12400,16 +12585,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", @@ -12447,7 +12657,7 @@ }, "kind": { "enum": [ - "stash/branch" + "golang/module" ] }, "transformers": { @@ -12545,32 +12755,20 @@ "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": { + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "proxy": { "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." }, - "owner": { + "module": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[S][C] Module specifies the name of the module" }, - "repository": { + "version": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[C] Defines a specific package version" }, "versionfilter": { "properties": { @@ -12590,20 +12788,14 @@ "additionalProperties": false, "type": "object", "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "branch": { - "type": "string", - "description": "[C] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ - "url", - "owner", - "repository" + "module" ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12641,7 +12833,7 @@ }, "kind": { "enum": [ - "terraform/file" + "jenkins" ] }, "transformers": { @@ -12742,29 +12934,18 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "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" - }, - "path": { + "release": { "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] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "value": { + "version": { "type": "string", - "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "[s][c] Defines a specific release version (condition only)" } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -12802,7 +12983,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "terraform/registry" ] }, "transformers": { @@ -12903,29 +13084,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "type": { "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": "\"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 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.\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." + }, + "targetsystem": { + "type": "string", + "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." + }, + "rawstring": { + "type": "string", + "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + }, + "version": { + "type": "string", + "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, - "type": "object", - "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." + "type": "object" }, "scmid": { "type": "string", @@ -12963,7 +13171,7 @@ }, "kind": { "enum": [ - "dockerfile" + "gittag" ] }, "transformers": { @@ -13064,32 +13272,60 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "path": { "type": "string", - "description": "File specifies the dockerimage file path to use and is incompatible with Files" + "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 specifies the dockerimage file path(s) to use and is incompatible with File" + "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" }, - "instruction": { - "description": "Instruction specifies a DockerImage instruction such as ENV" + "message": { + "type": "string", + "description": "Message associated to the git tag\n\n compatible:\n * target" }, - "value": { + "key": { "type": "string", - "description": "Value specifies the value for a specified Dockerfile instruction." + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" }, - "stage": { + "url": { "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": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "sourcebranch": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -13317,7 +13553,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "hcl" ] }, "transformers": { @@ -13418,77 +13654,29 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" - }, - "token": { - "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C][T] Owner specifies repository owner" - }, - "repository": { + "file": { "type": "string", - "description": "[S][C][T]Repository specifies the name of a repository for a specific owner" + "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { - "type": "string", - "description": "[T] Title defines the GitLab release title." - }, - "tag": { - "type": "string", - "description": "[C][T] Tag defines the GitLab release tag." + "type": "array", + "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "commitish": { + "path": { "type": "string", - "description": "[T] Commitish defines the commit-ish such as `main`" + "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" }, - "description": { + "value": { "type": "string", - "description": "[T] Description defines if the new release description" - }, - "draft": { - "type": "boolean", - "description": "[T] Draft defines if the release is a draft release" - }, - "prerelease": { - "type": "boolean", - "description": "[T] Prerelease defines if the release is a pre-release release" + "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." }, "scmid": { "type": "string", @@ -13526,7 +13714,7 @@ }, "kind": { "enum": [ - "helmchart" + "dockerdigest" ] }, "transformers": { @@ -13627,60 +13815,21 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" - }, - "key": { - "type": "string", - "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." - }, - "name": { - "type": "string", - "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" - }, - "skippackaging": { - "type": "boolean", - "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" - }, - "url": { + "architecture": { "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": "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" }, - "value": { + "image": { "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": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "version": { + "tag": { "type": "string", - "description": "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": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "versionincrement": { + "digest": { "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." + "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", @@ -13693,11 +13842,15 @@ "token": { "type": "string", "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password" + }, + "hidetag": { + "type": "boolean", + "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an \"helmchart\" 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", @@ -13735,7 +13888,7 @@ }, "kind": { "enum": [ - "shell" + "gitlab/branch" ] }, "transformers": { @@ -13836,130 +13989,57 @@ "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": [ - "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" + "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" }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "console/output" - ] - }, - "spec": true - }, - "additionalProperties": false, - "type": "object" + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" }, - { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "kind": { - "enum": [ - "exitcode" - ] - }, - "spec": { - "$schema": "http://json-schema.org/draft-04/schema", - "properties": { - "warning": { - "type": "integer", - "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" - }, - "success": { - "type": "integer", - "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" - }, - "failure": { - "type": "integer", - "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" - } - }, - "additionalProperties": false, - "type": "object", - "required": [ - "warning", - "success", - "failure" - ] - } - }, - "additionalProperties": false, - "type": "object" + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" } - ], - "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" - }, - "shell": { - "type": "string", - "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + }, + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "workdir": { + "branch": { "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] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", "required": [ - "command" + "owner", + "repository" ], - "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -13997,7 +14077,7 @@ }, "kind": { "enum": [ - "xml" + "npm" ] }, "transformers": { @@ -14098,22 +14178,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", @@ -14151,7 +14258,7 @@ }, "kind": { "enum": [ - "githubrelease" + "shell" ] }, "transformers": { @@ -14252,81 +14359,130 @@ "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": { + "command": { "type": "string", - "description": "[s][c] Username specifies the username used to authenticate with GitHub API" + "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": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "type": "array", + "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." }, - "typefilter": { - "properties": { - "draft": { - "type": "boolean", - "description": "\"Draft\" enable/disable GitHub draft release" - }, - "prerelease": { - "type": "boolean", - "description": "\"PreRelease\" enable/disable GitHub PreRelease" + "changedif": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" }, - "release": { - "type": "boolean", - "description": "\"Release\" enable/disable GitHub release" + { + "$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" }, - "latest": { - "type": "boolean", - "description": "\"Latest\" if set to true will only filter the release flag as latest." + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "file/checksum" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the list of file that Updatecli monitors to identify state change" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "files" + ] + } + }, + "additionalProperties": false, + "type": "object" } - }, - "additionalProperties": false, - "type": "object", - "description": "[s][c] TypeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule" + ], + "description": "ChangedIf defines how to interpreted shell command success criteria. What a success means, what an error means, and what a warning would mean" }, - "tag": { + "shell": { "type": "string", - "description": "[c] Tag allows to check for a specific release tag, default to source output" + "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + }, + "workdir": { + "type": "string", + "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." } }, "additionalProperties": false, "type": "object", "required": [ - "owner", - "repository", - "token" + "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", @@ -14364,7 +14520,7 @@ }, "kind": { "enum": [ - "stash/tag" + "aws/ami" ] }, "transformers": { @@ -14465,62 +14621,53 @@ "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": { + "accesskey": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" }, - "token": { + "secretkey": { "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": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" }, - "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" + "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" }, - "owner": { + "region": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "Region specifies the AWS region to use when looking for AMI" }, - "repository": { + "endpoint": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "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": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "dryrun": { + "type": "boolean", + "description": "Dryrun allows to Check whether you have the required permissions for the action." }, - "tag": { + "sortby": { "type": "string", - "description": "[S] Tag defines the Bitbucket tag ." + "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "description": "Spec contains the updatecli configuration provided by users." }, "scmid": { "type": "string", @@ -14558,7 +14705,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "csv" ] }, "transformers": { @@ -14659,42 +14806,59 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architecture": { + "file": { "type": "string", - "description": "architecture specifies the container image architecture such as `amd64`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tamd64" + "description": "[s][c][t] File specifies the csv file" }, - "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" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "tag": { + "key": { "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": "[s][c][t] Key specifies the csv query" }, - "digest": { + "query": { "type": "string", - "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "username": { + "value": { "type": "string", - "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token" + "description": "[s][c][t] Key specifies the csv value, default to source output" }, - "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" + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" }, - "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" + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" }, - "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" + "type": "object" }, "scmid": { "type": "string", @@ -14732,7 +14896,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "dockerimage" ] }, "transformers": { @@ -14833,25 +14997,36 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "architectures": { + "items": { + "type": "string" + }, + "type": "array", + "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" + }, + "architecture": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n * condition\n * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n If an architecture is undefined, Updatecli retrieves the digest of the image index\n which can be used regardless of the architecture.\n But if an architecture is specified then Updatecli retrieves a specific image digest.\n More information on https://github.com/updatecli/updatecli/issues/1603" }, - "username": { + "image": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n * condition\n * source" }, - "token": { + "tag": { "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n * condition\n\ndefault: latest" }, - "owner": { + "username": { "type": "string", - "description": "[S][C] 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" + "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": { @@ -14870,20 +15045,16 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n * source\n\ndefault:\n kind: latest" }, - "tag": { + "tagfilter": { "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -14921,7 +15092,7 @@ }, "kind": { "enum": [ - "golang" + "gitbranch" ] }, "transformers": { @@ -15022,9 +15193,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "version": { + "path": { "type": "string", - "description": "[C] Version defines a specific golang version" + "description": "path contains the git repository path" }, "versionfilter": { "properties": { @@ -15043,12 +15214,35 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" + }, + "branch": { + "type": "string", + "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" + }, + "sourcebranch": { + "type": "string", + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "url": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -15086,7 +15280,7 @@ }, "kind": { "enum": [ - "gitbranch" + "gitea/tag" ] }, "transformers": { @@ -15187,9 +15381,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "url": { "type": "string", - "description": "path contains the git repository path" + "description": "\"url\" defines the Gitea url to interact with" + }, + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" + }, + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C] Owner specifies repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -15208,35 +15418,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", @@ -15274,7 +15470,7 @@ }, "kind": { "enum": [ - "golang/module" + "terraform/provider" ] }, "transformers": { @@ -15375,44 +15571,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 file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "module": { - "type": "string", - "description": "[S][C] Module specifies the name of the 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" }, - "version": { + "value": { "type": "string", - "description": "[C] Defines a specific package version" + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "provider": { + "type": "string", + "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" } }, "additionalProperties": false, "type": "object", - "required": [ - "module" - ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -15450,7 +15631,7 @@ }, "kind": { "enum": [ - "jenkins" + "toml" ] }, "transformers": { @@ -15551,18 +15732,55 @@ "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 toml file to manipulate" }, - "version": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" + }, + "query": { "type": "string", - "description": "[s][c] Defines a specific release version (condition only)" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + }, + "key": { + "type": "string", + "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + }, + "value": { + "type": "string", + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + }, + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -15600,7 +15818,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "gitlab/tag" ] }, "transformers": { @@ -15701,40 +15919,57 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with GitLab" }, - "value": { + "token": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "\"token\" 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" }, - "provider": { + "owner": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "[S][C] Owner specifies repository owner" }, - "platforms": { - "items": { - "type": "string" + "repository": { + "type": "string", + "description": "[S][C] Repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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" + "additionalProperties": false, + "type": "object", + "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "skipconstraints": { - "type": "boolean", - "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" + "tag": { + "type": "string", + "description": "[S] Tag defines the GitLab tag ." } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "required": [ + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -15772,7 +16007,7 @@ }, "kind": { "enum": [ - "toml" + "http" ] }, "transformers": { @@ -15873,55 +16108,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" - }, - "query": { - "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" - }, - "key": { + "url": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "value": { + "returnresponseheader": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[S] Specifies the header to return as source value (instead of the body)." }, - "versionfilter": { + "request": { "properties": { - "kind": { + "verb": { "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" + "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." }, - "pattern": { + "body": { "type": "string", - "description": "specifies the version pattern according the version kind" + "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." }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "responseasserts": { + "properties": { + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[C] Specifies a set of assertions on the HTTP response headers." + }, + "statuscode": { + "type": "integer", + "description": "[C] Specifies a custom assertion on the HTTP response status code." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -15959,7 +16201,7 @@ }, "kind": { "enum": [ - "aws/ami" + "json" ] }, "transformers": { @@ -16060,53 +16302,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "accesskey": { - "type": "string", - "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate" - }, - "secretkey": { + "file": { "type": "string", - "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate" + "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "filters": { + "files": { "items": { - "properties": { - "name": { - "type": "string", - "description": "Name specifies a filter name." - }, - "values": { - "type": "string", - "description": "Values specifies a filter value for a specific filter name." - } - }, - "additionalProperties": false, - "type": "object", - "description": "Filter represents the updatecli configuration describing AMI filters." + "type": "string" }, "type": "array", - "description": "Filters specifies a list of AMI filters" + "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "region": { + "key": { "type": "string", - "description": "Region specifies the AWS region to use when looking for AMI" + "description": "\"key\" defines the Jsonpath key to manipulate.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of Jsonpath accepts keys.\n\t\t\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n\n\t\texample:\n\t\t\t* key: $.name\n\t\t\t* key: name\n\t\t\t* file: https://nodejs.org/dist/index.json\n\t\t\t key: .(lts!=false).version" }, - "endpoint": { + "value": { "type": "string", - "description": "Endpoint specifies the AWS endpoint to use when looking for AMI" - }, - "dryrun": { - "type": "boolean", - "description": "Dryrun allows to Check whether you have the required permissions for the action." + "description": "\"value\" defines the Jsonpath key value to manipulate. Default to source output.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used for a condition or a target, the default value is the output of the source." }, - "sortby": { + "query": { "type": "string", - "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key\n\n\t\t\"query\" defines the Jsonpath query to manipulate. It accepts advanced Dasel query\n\t\tthe goal is to retrieve a list of values and then filter them with versionfilter.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* query: .name\n\t\t\t* query: \".[*].tag_name\"\n\n\t\tremark:\n\t\t\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } + }, + "additionalProperties": false, + "type": "object", + "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" } }, "additionalProperties": false, "type": "object", - "description": "Spec contains the updatecli configuration provided by users." + "description": "\"json\" defines the specification for manipulating \"json\" files." }, "scmid": { "type": "string", @@ -16144,7 +16385,7 @@ }, "kind": { "enum": [ - "gitea/release" + "terraform/lock" ] }, "transformers": { @@ -16215,108 +16456,70 @@ "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": { - "url": { - "type": "string", - "description": "\"url\" defines the Gitea url to interact with" - }, - "username": { - "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" - }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" - }, - "owner": { - "type": "string", - "description": "[S][C][T] owner specifies the repository owner" - }, - "repository": { - "type": "string", - "description": "[S][C][T] repository specifies the name of a repository for a specific owner" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" + "type": "string", + "description": "Pattern defines regular expression to use for retrieving a submatch" + }, + "captureindex": { + "type": "integer", + "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`." + } }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "additionalProperties": false, + "type": "object", + "required": [ + "pattern" + ], + "description": "Find searches for a specific value if it exists then return the value using regular expression" }, - "additionalProperties": false, - "type": "object", - "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "semverinc": { + "type": "string", + "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded." + } }, - "title": { + "additionalProperties": false, + "type": "object", + "description": "Transformer holds a transformer rule" + }, + "type": "array", + "description": "transformers defines how the default input value need to be transformed" + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "file": { "type": "string", - "description": "[T] title defines the Gitea release title." + "description": "\"file\" 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" }, - "tag": { - "type": "string", - "description": "[C][T] tag defines the Gitea release tag." + "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" }, - "commitish": { + "value": { "type": "string", - "description": "[T] commitish defines the commit-ish such as `main`" + "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": { + "provider": { "type": "string", - "description": "[T] description defines if the new release description" + "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" }, - "draft": { - "type": "boolean", - "description": "[T] draft defines if the release is a draft release" + "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" }, - "prerelease": { + "skipconstraints": { "type": "boolean", - "description": "[T] prerelease defines if the release is a pre-release release" + "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 Gitea release" + "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." }, "scmid": { "type": "string", @@ -16354,7 +16557,7 @@ }, "kind": { "enum": [ - "temurin" + "xml" ] }, "transformers": { @@ -16455,52 +16658,22 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "releaseline": { - "type": "string", - "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" - }, - "releasetype": { - "type": "string", - "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" - }, - "featureversion": { - "type": "integer", - "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" - }, - "result": { - "type": "string", - "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" - }, - "architecture": { - "type": "string", - "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" - }, - "imagetype": { - "type": "string", - "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" - }, - "operatingsystem": { + "file": { "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": "\"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" }, - "specificversion": { + "path": { "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": "\"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\"" }, - "project": { + "value": { "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": "\"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", @@ -16521,7 +16694,15 @@ "required": [ "kind" ] - }, + } + ] + }, + "type": "object", + "description": "\"conditions\" defines the list of Updatecli condition definition.\n\n\t\texample:\n\t\t---\n\t\tconditions:\n\t\t\tcontainer:\n\t\t\t\tname: Check if Updatecli container image for tag \"v0.63.0\" exists\n\t\t\t\tkind: dockerimage\n\t\t\t\tspec:\n\t\t\t\t\timage: \"updatecli/updatecli:latest\"\n\t\t\t\t\ttag: \"v0.63.0\"\n\t\t---" + }, + "targets": { + "additionalProperties": { + "oneOf": [ { "$schema": "http://json-schema.org/draft-04/schema", "properties": { @@ -16538,7 +16719,7 @@ }, "kind": { "enum": [ - "yaml" + "helmchart" ] }, "transformers": { @@ -16639,53 +16820,98 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "engine": { + "file": { "type": "string", - "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" + "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" }, - "file": { + "key": { "type": "string", - "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" + "name": { + "type": "string", + "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" }, - "key": { + "skippackaging": { + "type": "boolean", + "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" + }, + "url": { "type": "string", - "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" + "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" }, "value": { "type": "string", - "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" }, - "keyonly": { - "type": "boolean", - "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" + "version": { + "type": "string", + "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition" }, - "searchpattern": { + "versionincrement": { + "type": "string", + "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693" + }, + "appversion": { "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "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": "\"yaml\" defines the specification for manipulating \"yaml\" files." + "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", "description": "scmid specifies the scm configuration key associated to the current resource" }, - "sourceid": { - "type": "string" + "dependsonchange": { + "type": "boolean" }, "disablesourceinput": { "type": "boolean" }, - "failwhen": { + "sourceid": { + "type": "string" + }, + "deprecatedconditionids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "disableconditions": { "type": "boolean" } }, @@ -16694,15 +16920,7 @@ "required": [ "kind" ] - } - ] - }, - "type": "object", - "description": "\"conditions\" defines the list of Updatecli condition definition.\n\n\t\texample:\n\t\t---\n\t\tconditions:\n\t\t\tcontainer:\n\t\t\t\tname: Check if Updatecli container image for tag \"v0.63.0\" exists\n\t\t\t\tkind: dockerimage\n\t\t\t\tspec:\n\t\t\t\t\timage: \"updatecli/updatecli:latest\"\n\t\t\t\t\ttag: \"v0.63.0\"\n\t\t---" - }, - "targets": { - "additionalProperties": { - "oneOf": [ + }, { "$schema": "http://json-schema.org/draft-04/schema", "properties": { @@ -16719,7 +16937,7 @@ }, "kind": { "enum": [ - "gitlab/tag" + "yaml" ] }, "transformers": { @@ -16820,57 +17038,41 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "engine": { "type": "string", - "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" + "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" }, - "username": { + "file": { "type": "string", - "description": "\"username\" defines the username used to authenticate with GitLab" + "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "token": { - "type": "string", - "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "\"files\" defines the list of yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" }, - "owner": { + "key": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "keyonly": { + "type": "boolean", + "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" }, - "tag": { - "type": "string", - "description": "[S] Tag defines the GitLab tag ." + "searchpattern": { + "type": "boolean", + "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" } }, "additionalProperties": false, "type": "object", - "required": [ - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with GitLab release" + "description": "\"yaml\" defines the specification for manipulating \"yaml\" files." }, "scmid": { "type": "string", @@ -16917,7 +17119,7 @@ }, "kind": { "enum": [ - "jenkins" + "gittag" ] }, "transformers": { @@ -17018,18 +17220,60 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "release": { + "path": { "type": "string", - "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" + "description": "Path contains the git repository path" }, - "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": "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": "[s][c] Defines a specific release version (condition only)" + "description": "Message associated to the git tag\n\n compatible:\n * target" + }, + "key": { + "type": "string", + "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n * source" + }, + "url": { + "type": "string", + "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" + }, + "username": { + "type": "string", + "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + }, + "password": { + "type": "string", + "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + }, + "sourcebranch": { + "type": "string", + "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" + "required": [ + "url" + ], + "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -17076,7 +17320,7 @@ }, "kind": { "enum": [ - "gitea/branch" + "gitlab/branch" ] }, "transformers": { @@ -17179,15 +17423,15 @@ "properties": { "url": { "type": "string", - "description": "\"url\" defines the Gitea url to interact with" + "description": "\"url\" defines the GitLab url to interact with\n\n default:\n \"gitlab.com\"" }, "username": { "type": "string", - "description": "\"username\" defines the username used to authenticate with Gitea API" + "description": "\"username\" defines the username used to authenticate with GitLab" }, "token": { "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, "owner": { "type": "string", @@ -17224,11 +17468,10 @@ "additionalProperties": false, "type": "object", "required": [ - "url", "owner", "repository" ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines settings used to interact with GitLab release" }, "scmid": { "type": "string", @@ -17275,7 +17518,7 @@ }, "kind": { "enum": [ - "gitea/tag" + "golang/gomod" ] }, "transformers": { @@ -17376,58 +17619,26 @@ "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": { + "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 Gitea tag ." + "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" } }, "additionalProperties": false, "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Gitea release" + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -17474,7 +17685,7 @@ }, "kind": { "enum": [ - "hcl" + "stash/tag" ] }, "transformers": { @@ -17575,29 +17786,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "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\" specifies the username used to authenticate with Bitbucket Server API" }, - "path": { + "token": { "type": "string", - "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version" + "description": "\"token\" specifies the credential used to authenticate with 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 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": "\"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": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Bitbucket Server release" }, "scmid": { "type": "string", @@ -17644,7 +17888,7 @@ }, "kind": { "enum": [ - "http" + "terraform/registry" ] }, "transformers": { @@ -17745,62 +17989,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { + "type": { "type": "string", - "description": "[S][C] Specifies the URL of the HTTP request for this resource." + "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" }, - "returnresponseheader": { + "hostname": { "type": "string", - "description": "[S] Specifies the header to return as source value (instead of the body)." + "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." }, - "request": { + "namespace": { + "type": "string", + "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + }, + "name": { + "type": "string", + "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + }, + "targetsystem": { + "type": "string", + "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module." + }, + "rawstring": { + "type": "string", + "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem." + }, + "version": { + "type": "string", + "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + }, + "versionfilter": { "properties": { - "verb": { - "type": "string", - "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." - }, - "body": { + "kind": { "type": "string", - "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." + "description": "specifies the version kind such as semver, regex, or latest" }, - "headers": { - "additionalProperties": { - "type": "string" - }, - "type": "object", - "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." + "pattern": { + "type": "string", + "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." + "type": "object" }, "scmid": { "type": "string", @@ -17847,7 +18085,7 @@ }, "kind": { "enum": [ - "json" + "toolversions" ] }, "transformers": { @@ -17950,50 +18188,30 @@ "properties": { "file": { "type": "string", - "description": "\"file\" defines the Json file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[s][c][t] File specifies the .tool-versions file to manipulate" }, "files": { "items": { "type": "string" }, "type": "array", - "description": "\"files\" defines the list of Json files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" }, "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": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" }, "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" + "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": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source" + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "description": "\"json\" defines the specification for manipulating \"json\" files." + "type": "object" }, "scmid": { "type": "string", @@ -18040,7 +18258,7 @@ }, "kind": { "enum": [ - "xml" + "dockerfile" ] }, "transformers": { @@ -18143,20 +18361,30 @@ "properties": { "file": { "type": "string", - "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "File specifies the dockerimage file path to use and is incompatible with Files" }, - "path": { - "type": "string", - "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File" + }, + "instruction": { + "description": "Instruction specifies a DockerImage instruction such as ENV" }, "value": { "type": "string", - "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output" + "description": "Value specifies the value for a specified Dockerfile instruction." + }, + "stage": { + "type": "string", + "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered" } }, "additionalProperties": false, "type": "object", - "description": "\"xml\" defines the specification for manipulating \"xml\" files." + "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -18203,7 +18431,7 @@ }, "kind": { "enum": [ - "gitbranch" + "jenkins" ] }, "transformers": { @@ -18304,56 +18532,18 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { - "type": "string", - "description": "path contains the git repository path" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } - }, - "additionalProperties": false, - "type": "object", - "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n * source\n * condition\n * target" - }, - "branch": { - "type": "string", - "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" - }, - "sourcebranch": { - "type": "string", - "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target\n\n\texample:\n\t * git@github.com:updatecli/updatecli.git\n\t * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration" - }, - "url": { - "type": "string", - "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined." - }, - "username": { + "release": { "type": "string", - "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t * source\n\t * condition\n\t * target" + "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\"" }, - "password": { + "version": { "type": "string", - "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t * source\n\t * condition\n\t * target" + "description": "[s][c] Defines a specific release version (condition only)" } }, "additionalProperties": false, "type": "object", - "required": [ - "url" - ], - "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -18400,7 +18590,7 @@ }, "kind": { "enum": [ - "golang/gomod" + "terraform/provider" ] }, "transformers": { @@ -18503,24 +18693,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 file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition" }, - "module": { - "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 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" }, - "indirect": { - "type": "boolean", - "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n * source\n * condition" + "value": { + "type": "string", + "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." }, - "version": { + "provider": { "type": "string", - "description": "Version Defines a specific golang version\n\ncompatible:\n * source\n * condition" + "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" + "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files." }, "scmid": { "type": "string", @@ -18567,7 +18760,7 @@ }, "kind": { "enum": [ - "stash/branch" + "toml" ] }, "transformers": { @@ -18668,29 +18861,28 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "\"url\" specifies the default stash url in case of Bitbucket Server" - }, - "username": { + "file": { "type": "string", - "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API" + "description": "[s][c][t] File specifies the toml file to manipulate" }, - "token": { - "type": "string", - "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "password": { + "query": { "type": "string", - "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, - "owner": { + "key": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" }, - "repository": { + "value": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" }, "versionfilter": { "properties": { @@ -18709,21 +18901,15 @@ }, "additionalProperties": false, "type": "object", - "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "branch": { - "type": "string", - "description": "[C] Branch specifies the branch name" + "createmissingkey": { + "type": "boolean", + "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" } }, "additionalProperties": false, - "type": "object", - "required": [ - "url", - "owner", - "repository" - ], - "description": "Spec defines settings used to interact with Bitbucket Server release" + "type": "object" }, "scmid": { "type": "string", @@ -18770,7 +18956,7 @@ }, "kind": { "enum": [ - "terraform/file" + "gitea/branch" ] }, "transformers": { @@ -18871,29 +19057,58 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" + "description": "\"url\" defines the Gitea url to interact with" }, - "files": { - "items": { - "type": "string" + "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": { + "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] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "value": { + "branch": { "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] Branch specifies the branch name" } }, "additionalProperties": false, "type": "object", - "description": "\"hcl\" defines the specification for manipulating \"hcl\" files." + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -18940,7 +19155,7 @@ }, "kind": { "enum": [ - "toolversions" + "gitea/release" ] }, "transformers": { @@ -19041,32 +19256,78 @@ "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" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" + }, + "token": { + "type": "string", + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" + }, + "owner": { + "type": "string", + "description": "[S][C][T] owner specifies the repository owner" + }, + "repository": { + "type": "string", + "description": "[S][C][T] repository specifies the name of a repository for a specific owner" + }, + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "strict": { + "type": "boolean", + "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + } }, - "type": "array", - "description": "[c][t] Files specifies a list of .tool-versions file to manipulate" + "additionalProperties": false, + "type": "object", + "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "key": { + "title": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file" + "description": "[T] title defines the Gitea release title." }, - "value": { + "tag": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[C][T] tag defines the Gitea release tag." }, - "createmissingkey": { + "commitish": { + "type": "string", + "description": "[T] commitish defines the commit-ish such as `main`" + }, + "description": { + "type": "string", + "description": "[T] description defines if the new release description" + }, + "draft": { "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "description": "[T] draft defines if the release is a draft release" + }, + "prerelease": { + "type": "boolean", + "description": "[T] prerelease defines if the release is a pre-release release" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "url", + "owner", + "repository" + ], + "description": "Spec defines settings used to interact with Gitea release" }, "scmid": { "type": "string", @@ -19113,7 +19374,7 @@ }, "kind": { "enum": [ - "file" + "golang/module" ] }, "transformers": { @@ -19214,45 +19475,44 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { - "type": "string", - "description": "`file` contains the file path\n\n\t compatible:\n\t * source\n\t * condition\n\t * target\n\n\t remarks:\n\t * `file` is incompatible with `files`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "`files` contains the file path(s)\n\n\t compatible:\n\t * condition\n\t * target\n\n\t remarks:\n\t * `files` is incompatible with `file`\n\t * feel free to look at searchpattern attribute to search for files matching a pattern" - }, - "line": { - "type": "integer", - "description": "`line` contains the line of the file(s) to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "content": { + "proxy": { "type": "string", - "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" - }, - "forcecreate": { - "type": "boolean", - "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable." }, - "matchpattern": { + "module": { "type": "string", - "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[S][C] Module specifies the name of the module" }, - "replacepattern": { + "version": { "type": "string", - "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" + "description": "[C] Defines a specific package version" }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" + }, + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" + }, + "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": [ + "module" + ], + "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -19299,7 +19559,7 @@ }, "kind": { "enum": [ - "golang/module" + "temurin" ] }, "transformers": { @@ -19400,44 +19660,52 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "proxy": { + "releaseline": { "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": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" }, - "module": { + "releasetype": { "type": "string", - "description": "[S][C] Module specifies the name of the module" + "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)" }, - "version": { + "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": "[C] Defines a specific package version" + "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)" }, - "versionfilter": { - "properties": { - "kind": { - "type": "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" - } + "architecture": { + "type": "string", + "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)" + }, + "imagetype": { + "type": "string", + "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\"" + }, + "operatingsystem": { + "type": "string", + "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\"" + }, + "specificversion": { + "type": "string", + "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + }, + "project": { + "type": "string", + "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + }, + "platforms": { + "items": { + "type": "string" }, - "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", - "required": [ - "module" - ], - "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file" + "type": "object" }, "scmid": { "type": "string", @@ -19484,7 +19752,7 @@ }, "kind": { "enum": [ - "dockerdigest" + "gitbranch" ] }, "transformers": { @@ -19585,42 +19853,56 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "architecture": { + "path": { "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": "path contains the git repository path" }, - "image": { + "versionfilter": { + "properties": { + "kind": { + "type": "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": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" + "description": "branch specifies the branch name\n\n compatible:\n * source\n * condition\n * target" }, - "tag": { + "sourcebranch": { "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": "\"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" }, - "digest": { + "url": { "type": "string", - "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tWhen used from a condition, the default value is set to the linked source output." + "description": "\"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 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": "\"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 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" + "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 \"dockerdigest\" 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", @@ -19872,7 +20154,7 @@ }, "kind": { "enum": [ - "gitlab/branch" + "gitlab/tag" ] }, "transformers": { @@ -20010,11 +20292,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, @@ -20292,7 +20574,7 @@ }, "kind": { "enum": [ - "temurin" + "stash/branch" ] }, "transformers": { @@ -20393,234 +20675,62 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "releaseline": { - "type": "string", - "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\"" - }, - "releasetype": { - "type": "string", - "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)" - }, - "featureversion": { - "type": "integer", - "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)" - }, - "result": { + "url": { "type": "string", - "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)" + "description": "\"url\" specifies the default stash url in case of Bitbucket Server" }, - "architecture": { + "username": { "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": "\"username\" specifies the username used to authenticate with Bitbucket Server API" }, - "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": "\"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" }, - "operatingsystem": { + "password": { "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": "\"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" }, - "specificversion": { + "owner": { "type": "string", - "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)" + "description": "[S][C] Owner specifies repository owner" }, - "project": { + "repository": { "type": "string", - "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\"" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, - "platforms": { - "items": { - "type": "string" - }, - "type": "array", - "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..." - } - }, - "additionalProperties": false, - "type": "object" - }, - "scmid": { - "type": "string", - "description": "scmid specifies the scm configuration key associated to the current resource" - }, - "dependsonchange": { - "type": "boolean" - }, - "disablesourceinput": { - "type": "boolean" - }, - "sourceid": { - "type": "string" - }, - "deprecatedconditionids": { - "items": { - "type": "string" - }, - "type": "array" - }, - "disableconditions": { - "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": [ - "yaml" - ] - }, - "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" - } + "versionfilter": { + "properties": { + "kind": { + "type": "string", + "description": "specifies the version kind such as semver, regex, or latest" }, - "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`." - } + "pattern": { + "type": "string", + "description": "specifies the version pattern according the version kind" }, - "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": { - "engine": { - "type": "string", - "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\n\t\tThere is no one good Golang library to manipulate yaml files.\n\t\tAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\n\t\tremark:\n\t\t\t* Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n\t\t\t* go-yaml, \"default\" and \"\" are equivalent" - }, - "file": { - "type": "string", - "description": "\"file\" defines the yaml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" - }, - "files": { - "items": { - "type": "string" + "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 yaml files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition" - }, - "key": { - "type": "string", - "description": "\"key\" defines the yaml keypath.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys.\n\n\t\texample using default engine:\n\t\t\t* key: $.name\n\t\t\t* key: $.agent.name\n\t\t\t* key: $.agents[0].name\n\t\t\t* key: $.agents[*].name\n\t\t\t* key: $.'agents.name'\n\t\t\t* key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\n\t\tremark:\n\t\t\tfield path with key/value is not supported at the moment.\n\t\t\tsome help would be useful on https://github.com/goccy/go-yaml/issues/290" + "additionalProperties": false, + "type": "object", + "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "value": { + "branch": { "type": "string", - "description": "\"value\" is the value associated with a yaml key.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." - }, - "keyonly": { - "type": "boolean", - "description": "\"keyonly\" allows to only check if a key exist and do not return an error otherwise\n\n\t\tcompatible:\n\t\t\t* condition\n\n\t\tdefault:\n\t\t\tfalse" - }, - "searchpattern": { - "type": "boolean", - "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n\t If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n\t When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n\t The pattern syntax is:\n\n\t ```\n\t pattern:\n\t { term }\n\t term:\n\t '*' matches any sequence of non-Separator characters\n\t '?' matches any single non-Separator character\n\t '[' [ '^' ] { character-range } ']'\n\t character class (must be non-empty)\n\t c matches character c (c != '*', '?', '\\\\', '[')\n\t '\\\\' c matches character c\n\n\t character-range:\n\t c matches character c (c != '\\\\', '-', ']')\n\t '\\\\' c matches character c\n\t lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\t ```" + "description": "[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", @@ -20667,7 +20777,7 @@ }, "kind": { "enum": [ - "csv" + "xml" ] }, "transformers": { @@ -20770,57 +20880,20 @@ "properties": { "file": { "type": "string", - "description": "[s][c][t] File specifies the csv file" - }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" - }, - "key": { - "type": "string", - "description": "[s][c][t] Key specifies the csv query" + "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "query": { + "path": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\"" }, "value": { "type": "string", - "description": "[s][c][t] Key specifies the csv value, default to source output" - }, - "comma": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" - }, - "comment": { - "type": "integer", - "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" - }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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 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", @@ -20867,7 +20940,7 @@ }, "kind": { "enum": [ - "dockerfile" + "aws/ami" ] }, "transformers": { @@ -20968,32 +21041,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", @@ -21040,7 +21134,7 @@ }, "kind": { "enum": [ - "maven" + "file" ] }, "transformers": { @@ -21141,56 +21235,45 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "url": { - "type": "string", - "description": "Deprecated, please specify the Maven url in the repository" - }, - "repository": { + "file": { "type": "string", - "description": "Specifies the maven repository url + name" + "description": "`file` 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" }, - "repositories": { + "files": { "items": { "type": "string" }, "type": "array", - "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central." + "description": "`files` 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" }, - "groupid": { + "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": "Specifies the maven artifact groupID" + "description": "`content` specifies the content to manipulate\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "artifactid": { + "forcecreate": { + "type": "boolean", + "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n\t compatible:\n\t * target" + }, + "matchpattern": { "type": "string", - "description": "Specifies the maven artifact artifactID" + "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "version": { + "replacepattern": { "type": "string", - "description": "Specifies the maven artifact version" + "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n\t compatible:\n\t * source\n\t * condition\n\t * target" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "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", - "description": "Spec defines a specification for a \"maven\" 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", @@ -21237,7 +21320,7 @@ }, "kind": { "enum": [ - "shell" + "gitlab/release" ] }, "transformers": { @@ -21338,130 +21421,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" - }, - { - "$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" + "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": [ - "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" + }, + "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", @@ -21508,7 +21538,7 @@ }, "kind": { "enum": [ - "terraform/lock" + "http" ] }, "transformers": { @@ -21609,40 +21639,62 @@ "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": { + "url": { "type": "string", - "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output." + "description": "[S][C] Specifies the URL of the HTTP request for this resource." }, - "provider": { + "returnresponseheader": { "type": "string", - "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "description": "[S] Specifies the header to return as source value (instead of the body)." }, - "platforms": { - "items": { - "type": "string" + "request": { + "properties": { + "verb": { + "type": "string", + "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"." + }, + "body": { + "type": "string", + "description": "[S][C] Specifies a custom HTTP request body. Defaults to \"\" (empty string)." + }, + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map." + }, + "nofollowredirects": { + "type": "boolean", + "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)." + } }, - "type": "array", - "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target" + "additionalProperties": false, + "type": "object", + "description": "[S][C] Customizes the HTTP request to emit." }, - "skipconstraints": { - "type": "boolean", - "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints" + "responseasserts": { + "properties": { + "headers": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "[C] Specifies a set of assertions on the HTTP response headers." + }, + "statuscode": { + "type": "integer", + "description": "[C] Specifies a custom assertion on the HTTP response status code." + } + }, + "additionalProperties": false, + "type": "object", + "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition." } }, "additionalProperties": false, "type": "object", - "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files." + "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file." }, "scmid": { "type": "string", @@ -21904,7 +21956,7 @@ }, "kind": { "enum": [ - "gitea/release" + "hcl" ] }, "transformers": { @@ -22005,78 +22057,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": { - "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\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition" }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" - }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" - }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" - } + "files": { + "items": { + "type": "string" }, - "additionalProperties": false, - "type": "object", - "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest." - }, - "title": { - "type": "string", - "description": "[T] title defines the Gitea release title." - }, - "tag": { - "type": "string", - "description": "[C][T] tag defines the Gitea release tag." + "type": "array", + "description": "\"files\" defines the list of 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": [ - "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", @@ -22123,7 +22126,7 @@ }, "kind": { "enum": [ - "golang" + "maven" ] }, "transformers": { @@ -22224,9 +22227,32 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { + "url": { + "type": "string", + "description": "Deprecated, please specify the Maven url in the repository" + }, + "repository": { + "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": "[C] Version defines a specific golang version" + "description": "Specifies the maven artifact version" }, "versionfilter": { "properties": { @@ -22250,7 +22276,7 @@ }, "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 \"maven\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -22297,7 +22323,7 @@ }, "kind": { "enum": [ - "npm" + "shell" ] }, "transformers": { @@ -22398,49 +22424,130 @@ "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": { + "command": { "type": "string", - "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" + "description": "command specifies the shell command to execute by Updatecli" }, - "registrytoken": { - "type": "string", - "description": "RegistryToken defines the token to use when connection to the registry" + "environments": { + "items": { + "properties": { + "name": { + "type": "string", + "description": "Name defines the environment variable name" + }, + "value": { + "type": "string", + "description": "Value defines the environment variable value" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "name" + ], + "description": "Environment is a struct containing information for an environment variable such as its name and its value" + }, + "type": "array", + "description": "environments allows to pass environment variable(s) to the shell script. By default no environment variable are shared." }, - "versionfilter": { - "properties": { - "kind": { - "type": "string", - "description": "specifies the version kind such as semver, regex, or latest" + "changedif": { + "oneOf": [ + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "exitcode" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "warning": { + "type": "integer", + "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified" + }, + "success": { + "type": "integer", + "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified" + }, + "failure": { + "type": "integer", + "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "warning", + "success", + "failure" + ] + } + }, + "additionalProperties": false, + "type": "object" }, - "pattern": { - "type": "string", - "description": "specifies the version pattern according the version kind" + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "file/checksum" + ] + }, + "spec": { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "Files specifies the list of file that Updatecli monitors to identify state change" + } + }, + "additionalProperties": false, + "type": "object", + "required": [ + "files" + ] + } + }, + "additionalProperties": false, + "type": "object" }, - "strict": { - "type": "boolean", - "description": "strict enforce strict versioning rule. Only used for semantic versioning at this time" + { + "$schema": "http://json-schema.org/draft-04/schema", + "properties": { + "kind": { + "enum": [ + "console/output" + ] + }, + "spec": true + }, + "additionalProperties": false, + "type": "object" } - }, - "additionalProperties": false, - "type": "object", - "description": "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" }, - "npmrcpath": { + "shell": { "type": "string", - "description": "NpmrcPath defines the path to the .npmrc file" + "description": "Shell specifies which shell interpreter to use. Default to powershell(Windows) and \"/bin/sh\" (Darwin/Linux)" + }, + "workdir": { + "type": "string", + "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path." } }, "additionalProperties": false, "type": "object", - "description": "Spec defines a specification for an Npm package 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", @@ -22487,7 +22594,7 @@ }, "kind": { "enum": [ - "terraform/provider" + "terraform/file" ] }, "transformers": { @@ -22590,27 +22697,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", @@ -22657,7 +22764,7 @@ }, "kind": { "enum": [ - "terraform/registry" + "dockerdigest" ] }, "transformers": { @@ -22758,56 +22865,42 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "type": { + "architecture": { "type": "string", - "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider" + "description": "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" }, - "hostname": { + "image": { "type": "string", - "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider." + "description": "image specifies the container image such as `updatecli/updatecli`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "namespace": { + "tag": { "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": "tag specifies the container image tag such as `latest`\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition" }, - "name": { + "digest": { "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": "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." }, - "targetsystem": { + "username": { "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": "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" }, - "rawstring": { + "password": { "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": "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" }, - "version": { + "token": { "type": "string", - "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition" + "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\n\t\tcompatible:\n\t\t\t* source" + "hidetag": { + "type": "boolean", + "description": "hideTag specifies if the tag should be hidden from the digest\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tfalse" } }, "additionalProperties": false, - "type": "object" + "type": "object", + "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -22854,7 +22947,7 @@ }, "kind": { "enum": [ - "toml" + "gitea/tag" ] }, "transformers": { @@ -22955,28 +23048,25 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "file": { + "url": { "type": "string", - "description": "[s][c][t] File specifies the toml file to manipulate" + "description": "\"url\" defines the Gitea url to interact with" }, - "files": { - "items": { - "type": "string" - }, - "type": "array", - "description": "[c][t] Files specifies a list of Json file to manipulate" + "username": { + "type": "string", + "description": "\"username\" defines the username used to authenticate with Gitea API" }, - "query": { + "token": { "type": "string", - "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" + "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops" }, - "key": { + "owner": { "type": "string", - "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file" + "description": "[S][C] Owner specifies repository owner" }, - "value": { + "repository": { "type": "string", - "description": "[s][c][t] Value specifies the value for a specific key. Default to source output" + "description": "[S][C] Repository specifies the name of a repository for a specific owner" }, "versionfilter": { "properties": { @@ -22995,15 +23085,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." }, - "createmissingkey": { - "type": "boolean", - "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t is true, otherwise an error is raised (the default).\n\t Only supported if Key is used" + "tag": { + "type": "string", + "description": "[S] Tag defines the 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", @@ -23050,7 +23146,7 @@ }, "kind": { "enum": [ - "gittag" + "golang" ] }, "transformers": { @@ -23151,9 +23247,9 @@ "spec": { "$schema": "http://json-schema.org/draft-04/schema", "properties": { - "path": { + "version": { "type": "string", - "description": "Path contains the git repository path" + "description": "[C] Version defines a specific golang version" }, "versionfilter": { "properties": { @@ -23172,39 +23268,12 @@ }, "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" - ], - "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file" + "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -23251,7 +23320,7 @@ }, "kind": { "enum": [ - "gitlab/release" + "json" ] }, "transformers": { @@ -23352,25 +23421,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": { @@ -23389,40 +23461,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", @@ -23469,7 +23513,7 @@ }, "kind": { "enum": [ - "stash/tag" + "npm" ] }, "transformers": { @@ -23570,29 +23614,21 @@ "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": { + "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": "Defines the specific npm package name" }, - "password": { + "version": { "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": "Defines a specific package version" }, - "owner": { + "url": { "type": "string", - "description": "[S][C] Owner specifies repository owner" + "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)" }, - "repository": { + "registrytoken": { "type": "string", - "description": "[S][C] Repository specifies the name of a repository for a specific owner" + "description": "RegistryToken defines the token to use when connection to the registry" }, "versionfilter": { "properties": { @@ -23611,21 +23647,16 @@ }, "additionalProperties": false, "type": "object", - "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." + "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest." }, - "tag": { + "npmrcpath": { "type": "string", - "description": "[S] Tag defines the Bitbucket tag ." + "description": "NpmrcPath defines the path to the .npmrc file" } }, "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 Npm package parsed from an updatecli manifest file" }, "scmid": { "type": "string", @@ -23672,7 +23703,7 @@ }, "kind": { "enum": [ - "aws/ami" + "terraform/lock" ] }, "transformers": { @@ -23773,53 +23804,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", @@ -23866,7 +23884,7 @@ }, "kind": { "enum": [ - "helmchart" + "csv" ] }, "transformers": { @@ -23969,39 +23987,34 @@ "properties": { "file": { "type": "string", - "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\"" + "description": "[s][c][t] File specifies the csv file" }, - "key": { - "type": "string", - "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys." + "files": { + "items": { + "type": "string" + }, + "type": "array", + "description": "[c][t] Files specifies a list of Json file to manipulate" }, - "name": { + "key": { "type": "string", - "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t with such as \"stable/chart\"" - }, - "skippackaging": { - "type": "boolean", - "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false" + "description": "[s][c][t] Key specifies the csv query" }, - "url": { + "query": { "type": "string", - "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/" + "description": "[s][c][t] Query allows to used advanced query. Override the parameter key" }, "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][t] Key specifies the csv value, default to source output" }, - "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" + "comma": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv separator character, default \",\"" }, - "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" + "comment": { + "type": "integer", + "description": "[s][c][t] Comma specifies the csv comment character, default \"#\"" }, "versionfilter": { "properties": { @@ -24020,24 +24033,11 @@ }, "additionalProperties": false, "type": "object", - "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\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" + "type": "object" }, "scmid": { "type": "string",