Skip to content

Latest commit

 

History

History
121 lines (91 loc) · 6.96 KB

File metadata and controls

121 lines (91 loc) · 6.96 KB
hip 0017
title Helm OCI MediaType Registration
authors
Andrew Block <andy.block@gmail.com>
created 2022-06-09
type informational
status accepted

Abstract

The use of OCI artifacts is one of the packaging methods available in Helm. A Helm OCI artifact is comprised of multiple component, each defined by a specific Media Type. Media Types are managed by the Internet Assigned Numbers Authority (IANA) and each type should be registered with IANA so that it can not only be known by the organization, but also discoverable by end users. The canonical location for Helm Media Types information below is intended to be the IANA application registry. This document describes the necessary fields that are associated within the registration of a Media Type to IANA form.

Motivation

Support for the storage of Helm charts as OCI artifacts was released in released in General Availability (GA) in version 3.8.0 and with the continued adoption of this storage format, the specifications should be readily available for producers and consumers. Registration of Media Types with the Internet Assigned Numbers Authority has become a standard process within other technologies whom also make use of OCI artifacts so that not only the packaging types can be understood, but also documented.

Rationale

A Generally Available (GA) feature that implements a particular specification should account for its usage. Not only does the registration of Media Types to IANA follow a practice that has been implemented previously, but also provides a better understanding of the Helm project.

Specification

Each Media Type that Helm implements requires their own separate registration to IANA. The sections below detail the properties associated within the registration form for each of the Media Type's that will be submitted to IANA.

Helm Config

The OCI config containing a JSON formatted representation of the Helm Chart.yaml file.

   
Type Name application
Tree Vendor Tree (vnd prefix)
Subtype Name cncf.helm.config.v1+json
Required Parameters Fields as required per the Chart.yaml definition
Optional Parameters Remaining fields which as defined within the Chart.yaml definition which are not noted as required
Encoding Considerations Encoding considerations are identical to those specified for the "application/json" media type. See RFC8259.
Security Considerations Similar security concerns common to all JSON content types. See RFC 7159 Section #12 for additional information. The included content as defined by the Helm chart definition may include sensitive assets including personal contact information, source code repositories or other referenceable locations.
Interoperability Consideration N/A
Published specification https://helm.sh/docs/topics/charts/#the-chartyaml-file
Application Usage Internally within the Helm package manager as well as various interfacing applications
Fragment Identifier Considerations N/A
Restrictions on Usage N/A
Provisional Registrations N/A
Additional Information
  1. Deprecated alias names for this type: None
  2. Magic number(s): None
  3. File extension(s): .json
  4. Macintosh file type code: TEXT
  5. Object Identifiers: None
Intended Usage Common
Other Information and Comments N/A

Helm Content

Represents the packaged Helm chart.

   
Type Name application
Tree Vendor Tree (vnd prefix)
Subtype Name cncf.helm.chart.content.v1.tar+gzip
Required Parameters N/A
Optional Parameters N/A
Encoding Considerations Binary
Security Considerations No security controls are enforced by Helm. The content of a Helm package is not intended to – but may potentially – contain resources that are sensitive in nature.
Interoperability Consideration N/A
Published specification None
Application Usage Internally within the Helm package manager as well as various interfacing applications
Fragment Identifier Considerations N/A
Restrictions on Usage N/A
Provisional Registrations N/A
Additional Information
  1. Deprecated alias names for this type: None
  2. Magic number(s): None
  3. File extension(s): None
  4. Macintosh file type code: None
  5. Object Identifiers: None
Intended Usage Common
Other Information and Comments N/A

Helm Provenance

Represents the Helm Provenance file associated with a signed chart.

   
Type Name application
Tree Vendor Tree (vnd prefix)
Subtype Name cncf.helm.chart.provenance.v1.prov
Required Parameters Fields as specified within Helm provenance file definition
Optional Parameters N/A
Encoding Considerations The utf-8 charset is always used for this type
Security Considerations The contents of a Helm provenance file contains a GnuPG detached ASCII-armored signature of the Helm chart definition file as well as the definition itself. The Helm chart definition may include sensitive assets including personal contact information, source code repositories or other referenceable locations.
Interoperability Consideration N/A
Published specification https://helm.sh/docs/topics/provenance/#the-provenance-file
Application Usage Internally within the Helm package manager as well as various interfacing applications
Fragment Identifier Considerations N/A
Restrictions on Usage N/A
Provisional Registrations N/A
Additional Information
  1. Deprecated alias names for this type: None
  2. Magic number(s): None
  3. File extension(s): None
  4. Macintosh file type code: Text
  5. Object Identifiers: None
Intended Usage Common
Other Information and Comments N/A

Backwards Compatibility

N/A

Security implications

N/A

Reference implementation

The responses associated with each Media Type registration has been inspired by the previously registered IANA Media Types.

Rejected ideas

None

Open issues

None

References

Existing Media Types of similar category and purpose can be found within the list of registered IANA Media Types. The following are examples of media types that have been registered with IANA: