Skip to content

Endoflife Date Datasource

Table of values

Name Vaue Notes
Identifier endoflife-date
Default versioning loose
Custom registry support Yes
Release timestamp support Yes The release timestamp is determined from the releaseDate field in the results.
Source URL support No

Description

endoflife.date provides version and end-of-life information for different packages.

To find the right "package" name for the software you're trying to update, use the endoflife.date "All packages" API endpoint. You can find it in the endoflife.date API documentation.

By default, this datasource uses loose versioning. If possible, we recommend you use a stricter versioning like semver instead of loose.

Usage Example

Say you're using Amazon EKS and want Renovate to update the versions in a Terraform .tfvars file. For example, you have this .tfvars file:

# renovate: datasource=endoflife-date depName=amazon-eks versioning=loose
kubernetes_version = "1.26"

Given the above .tfvars file, you put this in your renovate.json:

{
  "customManagers": [
    {
      "customType": "regex",
      "description": "Update Kubernetes version for Amazon EKS in tfvars files",
      "fileMatch": [".+\\.tfvars$"],
      "matchStrings": [
        "#\\s*renovate:\\s*datasource=(?<datasource>.*?) depName=(?<depName>.*?)( versioning=(?<versioning>.*?))?\\s.*?_version\\s*=\\s*\"(?<currentValue>.*)\""
      ],
      "versioningTemplate": "{{#if versioning}}{{{versioning}}}{{/if}}"
    }
  ],
  "packageRules": [
    {
      "matchDatasources": ["endoflife-date"],
      "matchPackageNames": ["amazon-eks"],
      "extractVersion": "^(?<version>.*)-eks.+$"
    }
  ]
}

With this configuration, Renovate will parse all *.tfvars files in the repository. It will then update variables that end with _version and have the # renovate: datasource=endoflife-date depName=dependency-name versioning=versioning comment set in the line above when any new versions are available.

For amazon-eks, the defined packageRule above will also strip the -eks-${eks-release-version} suffix to only set the Kubernetes minor version.