1 /* 2 Copyright The Helm Authors. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 /* 18 Package repo implements the Helm Chart Repository. 19 20 A chart repository is an HTTP server that provides information on charts. A local 21 repository cache is an on-disk representation of a chart repository. 22 23 There are two important file formats for chart repositories. 24 25 The first is the 'index.yaml' format, which is expressed like this: 26 27 apiVersion: v1 28 entries: 29 frobnitz: 30 - created: 2016-09-29T12:14:34.830161306-06:00 31 description: This is a frobnitz. 32 digest: 587bd19a9bd9d2bc4a6d25ab91c8c8e7042c47b4ac246e37bf8e1e74386190f4 33 home: http://example.com 34 keywords: 35 - frobnitz 36 - sprocket 37 - dodad 38 maintainers: 39 - email: helm@example.com 40 name: The Helm Team 41 - email: nobody@example.com 42 name: Someone Else 43 name: frobnitz 44 urls: 45 - http://example-charts.com/testdata/repository/frobnitz-1.2.3.tgz 46 version: 1.2.3 47 sprocket: 48 - created: 2016-09-29T12:14:34.830507606-06:00 49 description: This is a sprocket" 50 digest: 8505ff813c39502cc849a38e1e4a8ac24b8e6e1dcea88f4c34ad9b7439685ae6 51 home: http://example.com 52 keywords: 53 - frobnitz 54 - sprocket 55 - dodad 56 maintainers: 57 - email: helm@example.com 58 name: The Helm Team 59 - email: nobody@example.com 60 name: Someone Else 61 name: sprocket 62 urls: 63 - http://example-charts.com/testdata/repository/sprocket-1.2.0.tgz 64 version: 1.2.0 65 generated: 2016-09-29T12:14:34.829721375-06:00 66 67 An index.yaml file contains the necessary descriptive information about what 68 charts are available in a repository, and how to get them. 69 70 The second file format is the repositories.yaml file format. This file is for 71 facilitating local cached copies of one or more chart repositories. 72 73 The format of a repository.yaml file is: 74 75 apiVersion: v1 76 generated: TIMESTAMP 77 repositories: 78 - name: stable 79 url: http://example.com/charts 80 cache: stable-index.yaml 81 - name: incubator 82 url: http://example.com/incubator 83 cache: incubator-index.yaml 84 85 This file maps three bits of information about a repository: 86 87 - The name the user uses to refer to it 88 - The fully qualified URL to the repository (index.yaml will be appended) 89 - The name of the local cachefile 90 91 The format for both files was changed after Helm v2.0.0-Alpha.4. Helm is not 92 backwards compatible with those earlier versions. 93 */ 94 package repo 95