Uploaded image for project: 'MariaDB Foundation Development'
  1. MariaDB Foundation Development
  2. MDBF-7

RESTful API for Downloads

    XMLWordPrintable

Details

    • Task
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Done
    • None
    • None
    • None

    Description

      URL structure:

      /products/ (https://downloads.mariadb.org/products/)

      • Displays all products available for download
      • JSON output:

        [{
        "id": "connector-nodejs",
        "name": "MariaDB Connector/Node.js",
        "description": "MariaDB Connector/Node.js is used to connect applications developed on Node.js to MariaDB and MySQL databases. The library is LGPL licensed.\r\n\r\nSee [[https://mariadb.com/kb/en/nodejs-connector/|this article]] for more information.\r\n",
        "license": "LGPL"
        }]
        

      /:product/ (https://downloads.mariadb.org/mariadb/)

      • Developers should be able to view all major releases belonging to a product
      • JSON output:

        [{
        "release_name": "MariaDB 10.5.1 Beta",
        "date_of_release": "2020-02-14T16:04:48Z",
        "release_status": "Beta",
        ({color:red}To be implemented{color})"end_of_life_date": (Not available if it hasn't been established)
        }]
        

      /:product/release_version (https://downloads.mariadb.org/mariadb/10.5.1/)

      /:product/release_version?mirror=&os=&cpu= (https://downloads.mariadb.org/mariadb/10.5.1/?mirror=default&os=Linux&cpu=x86_64)

      • Inquiry about all files that are part of a release series.
      • JSON output:

        {
          "name": "MariaDB 10.1.5 BETA"
          "date_of_release": '2020-02-14'
          "mirror": default (taken from geo-location)
          "release_notes_url":
          "change_log":
          "files": [{
              "file_name":
              "package_type":
              "os":
              "cpu":
              "checksum": {
                  "md5sum": "",
                  "sha1sum": "",
                  "sha256sum": "",
                  "sha512sum": ""
               },
              "signature":
            },
            {
              ...
            }
          ]
        }
        

      /product/release_version/mirrors

      • Developers should be able to view all available mirrors to be able to choose one more convenient to them.
      • When downloading a file, a mirror is chosen as default based on the information from the geo-location function.
      • JSON structure:

        [{
          "mirror_name":
          "country":
        }]
        

        Not implemented at the moment.

      /:product/:release_version/:file_name/ (https://downloads.mariadb.org/mariadb/10.5.1/mariadb-10.5.1-linux-x86_64.tar.gz)

      /:product/:release_version/:file_name/?mirror=

      • Developers should be able to download a file by name.
      • Output: File to be downloaded.

      /:file_id (https://downloads.mariadb.org/10226/)

      /:file_id?mirror=

      • Developers should be able to download a file by id.
      • Output: File to be downloaded.

      /:product/:release_version/:file_name/checksum/ (https://downloads.mariadb.org/mariadb/10.5.1/mariadb-10.5.1-linux-x86_64.tar.gz/checksum/)

      • Easy access to the checksum of a file given its name.
      • JSON structure:

        {
          "checksum": {
                  "md5sum": "",
                  "sha1sum": "",
                  "sha256sum": "",
                  "sha512sum": ""
               }
        }
        

      /:file_id/checksum/ (https://downloads.mariadb.org/10226/checksum/)

      • Easy access to the checksum of a file given its name.
      • JSON structure:

        {
          "checksum": {
                  "md5sum": "",
                  "sha1sum": "",
                  "sha256sum": "",
                  "sha512sum": ""
               }
        }
        

      /:product/:release_version/:file_name/signature/ (https://downloads.mariadb.org/mariadb/10.5.1/mariadb-10.5.1-linux-x86_64.tar.gz/signature/)

      • Easy access to the signature of a file given its name.
      • JSON structure:

        {
          "text_file": Signature.txt
        }
        

      /:file_id/signature (https://downloads.mariadb.org/10226/signature/)

      • Easy access to the signature of a file given its name.
      • JSON structure:

        {
          "text_file": Signature.txt
        }
        

      /:product/repositories/?distro=&distro_release=&mirror=default&version= (https://downloads.mariadb.org/mariadb/repositories/?distro=SLES&distro_release=SLES 15 (x86_64))

      • If no distro was not provided in the URL the output will be:

        {
            'distros': [
                "SLES",
                "openSUSE",
                "Arch Linux",
            ]
            'distro_releases': [],
            'versions': []
        }
        

      • If distro was provided but distro_release parameter was not in the URL, the output will be:

        {
            'distros': 'SLES',
            "distro_releases": [
                "SLES 15 (x86_64)",
                "SLES 12 (ppc64le)",
                "SLES 12 (x86_64)"
            ],
            'versions': []
        }
        

      • If distro and distro_release were provided in the URL but versions parameter was not, the output will be:

        {
            'distros': 'SLES',
            "distro_releases":  "SLES 15 (x86_64)",
            "versions": [
                "10.5",
                "10.4",
                "10.3",
                "10.2"
            ]
        }
        

      • If all distro, distro_release and version were provided in the URL, the output will be:

        {
          "text_file": Install_instructions.md (Markdown)
        }
        


        * Problem: The installation text field is not working as intended due to Creole being very old and relying on custom code. Therefore this option will not output the correct installation instructions in the Readme file, but instead will use a placeholder text.
        * Problem: Mirrors and Geolocation do not work at the moment. A default mirror is used when attempting to download from the website.

      Attachments

        Activity

          People

            andreia.hendea Andreia Hendea
            andreia.hendea Andreia Hendea
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: