Skip to content

Latest commit

 

History

History
71 lines (52 loc) · 2.81 KB

_README.markdown

File metadata and controls

71 lines (52 loc) · 2.81 KB

How to artifact for OpenSearch

Each artifact is represented by an item in a Jekyll collection

By convention, each release is organized into a sub-folder by minor version.

Artifacts that are independently released (opensearch-cli,data-prepper, etc.) should be in their own folder.

Artifact example:

---
# `role` controls what section it will appear under in the downloads page
role: cli 
# `artifact_id` groups artifacts together by version
artifact_id: opensearch-cli 
# `version` is the semver version
version: 1.0.0
# `platform` is the identifier for the OS or platform. Should be `linux`, `windows`,`macos`,`freebsd`
platform: linux
# `architecture` should be `arm64`,`x86`,`x64`
architecture: arm64
# `artifact_url` should be the URL which will download the artifact
artifact_url: https://artifacts.opensearch.org/opensearch-clients/opensearch-cli/opensearch-cli-1.0.0-linux-arm64.zip
# `slug` is the name of the HTML file generated for each artifact.
slug: opensearch-cli-1.0.0-linux-arm64
# `category` Used in the URL for the HTML file. should be either `opensearch` or `opendistroforelasticsearch`
category: opensearch
# `type` the artifact type and controls how the download page template. Usually is the same as the `artifact_url` extension, unless it's `docker_hub` or `system-package`
type: zip
# `signature` is the download link to the signature file
signature: https://artifacts.opensearch.org/opensearch-clients/opensearch-cli/opensearch-cli-1.0.0-linux-arm64.zip.sig
# others:
# `link` used for `docker_hub` and `freebsd_package_name`, the page that has information non-artifact
# `freebsd_package_name` the `pkg` name, used in the template only for freebsd

---

File names and folders are not used for rendering the site, but are used for organization. Please follow existing patterns (e.g. opensearch-cli-1.0.0-macos-arm64.markdown)

Non-Artifacts

There are things that are included as part of a release that are not considered artifacts:

  • Docker Hub links
  • Package manager links

As a general rule, if it doesn't change from release to release and isn't hosted by us, it's not an artifact.

Automation

Included in this directory is the bash script _v_update.sh. This script will make a new copy of all the artifact files for an existing version and change the yaml and file names to the new specified version. It is a blunt tool that will create a lot of new files, so use with caution. You will still need to update the corresponding version in _version.

Usage:

./_v_update.sh <directory> <old version> <new version>

Example:

./_v_update.sh opensearch-1.2 1.2.1 1.2.2

Reads all the artifact files in opensearch-1.2 that match version 1.2.1 and converts them to 1.2.2

Notes:

  • This tool will look in subdirectories.
  • It needs version 4 of yq