Merge pull request #89 from fluxcd/helmchart-bucket

Support Helm charts from Bucket sources
This commit is contained in:
Hidde Beydals 2020-09-23 10:00:15 +02:00 committed by GitHub
commit 9515d1b574
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 19 additions and 16 deletions

View File

@ -20,8 +20,8 @@ operator.
## Features ## Features
* Watches for `HelmRelease` objects and generates `HelmChart` objects * Watches for `HelmRelease` objects and generates `HelmChart` objects
* Supports `HelmChart` artifacts produced from `HelmRepository` and * Supports `HelmChart` artifacts produced from `HelmRepository`,
`GitRepository` sources `GitRepository` and `Bucket` sources
* Fetches artifacts produced by [source-controller][] from `HelmChart` * Fetches artifacts produced by [source-controller][] from `HelmChart`
objects objects
* Watches `HelmChart` objects for revision changes (including semver * Watches `HelmChart` objects for revision changes (including semver
@ -30,7 +30,7 @@ operator.
uninstalls uninstalls
* Offers extensive configuration options for automated remediation * Offers extensive configuration options for automated remediation
(rollback, uninstall, retry) on failed Helm install, upgrade or test (rollback, uninstall, retry) on failed Helm install, upgrade or test
actions. actions
* Runs Helm install/upgrade in a specific order, taking into account the * Runs Helm install/upgrade in a specific order, taking into account the
depends-on relationship defined in a set of `HelmRelease` objects depends-on relationship defined in a set of `HelmRelease` objects
* Reports Helm release statuses (alerting provided by * Reports Helm release statuses (alerting provided by

View File

@ -164,8 +164,8 @@ type HelmChartTemplateSpec struct {
// +required // +required
Chart string `json:"chart"` Chart string `json:"chart"`
// Version semver expression, ignored for charts from GitRepository sources. // Version semver expression, ignored for charts from GitRepository and
// Defaults to latest when omitted. // Bucket sources. Defaults to latest when omitted.
// +optional // +optional
Version string `json:"version,omitempty"` Version string `json:"version,omitempty"`

View File

@ -24,7 +24,7 @@ type CrossNamespaceObjectReference struct {
APIVersion string `json:"apiVersion,omitempty"` APIVersion string `json:"apiVersion,omitempty"`
// Kind of the referent. // Kind of the referent.
// +kubebuilder:validation:Enum=HelmRepository;GitRepository // +kubebuilder:validation:Enum=HelmRepository;GitRepository;Bucket
// +required // +required
Kind string `json:"kind,omitempty"` Kind string `json:"kind,omitempty"`

View File

@ -76,6 +76,7 @@ spec:
enum: enum:
- HelmRepository - HelmRepository
- GitRepository - GitRepository
- Bucket
type: string type: string
name: name:
description: Name of the referent. description: Name of the referent.
@ -97,7 +98,8 @@ spec:
type: string type: string
version: version:
description: Version semver expression, ignored for charts description: Version semver expression, ignored for charts
from GitRepository sources. Defaults to latest when omitted. from GitRepository and Bucket sources. Defaults to latest
when omitted.
type: string type: string
required: required:
- chart - chart

View File

@ -502,8 +502,8 @@ string
</td> </td>
<td> <td>
<em>(Optional)</em> <em>(Optional)</em>
<p>Version semver expression, ignored for charts from GitRepository sources. <p>Version semver expression, ignored for charts from GitRepository and
Defaults to latest when omitted.</p> Bucket sources. Defaults to latest when omitted.</p>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -592,8 +592,8 @@ string
</td> </td>
<td> <td>
<em>(Optional)</em> <em>(Optional)</em>
<p>Version semver expression, ignored for charts from GitRepository sources. <p>Version semver expression, ignored for charts from GitRepository and
Defaults to latest when omitted.</p> Bucket sources. Defaults to latest when omitted.</p>
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -101,8 +101,8 @@ type HelmChartTemplateSpec struct {
// +required // +required
Chart string `json:"chart"` Chart string `json:"chart"`
// Version semver expression, ignored for charts from GitRepository sources. // Version semver expression, ignored for charts from GitRepository and
// Defaults to latest when omitted. // Bucket sources. Defaults to latest when omitted.
// +optional // +optional
Version string `json:"version,omitempty"` Version string `json:"version,omitempty"`
@ -463,6 +463,7 @@ Supported source types:
* [HelmRepository](https://github.com/fluxcd/source-controller/blob/master/docs/spec/v1alpha1/helmrepositories.md) * [HelmRepository](https://github.com/fluxcd/source-controller/blob/master/docs/spec/v1alpha1/helmrepositories.md)
* [GitRepository](https://github.com/fluxcd/source-controller/blob/master/docs/spec/v1alpha1/gitrepositories.md) * [GitRepository](https://github.com/fluxcd/source-controller/blob/master/docs/spec/v1alpha1/gitrepositories.md)
* [Bucket](https://github.com/fluxcd/source-controller/blob/master/docs/spec/v1alpha1/buckets.md)
## Reconciliation ## Reconciliation

2
go.mod
View File

@ -9,7 +9,7 @@ require (
github.com/fluxcd/pkg/lockedfile v0.0.5 github.com/fluxcd/pkg/lockedfile v0.0.5
github.com/fluxcd/pkg/recorder v0.0.5 github.com/fluxcd/pkg/recorder v0.0.5
github.com/fluxcd/pkg/runtime v0.0.3 github.com/fluxcd/pkg/runtime v0.0.3
github.com/fluxcd/source-controller/api v0.0.15 github.com/fluxcd/source-controller/api v0.0.17
github.com/go-logr/logr v0.1.0 github.com/go-logr/logr v0.1.0
github.com/onsi/ginkgo v1.12.1 github.com/onsi/ginkgo v1.12.1
github.com/onsi/gomega v1.10.1 github.com/onsi/gomega v1.10.1

4
go.sum
View File

@ -196,8 +196,8 @@ github.com/fluxcd/pkg/recorder v0.0.5 h1:D8qfupahIvh6ncCMn2yTHsrzG91S05sp4zdpsbK
github.com/fluxcd/pkg/recorder v0.0.5/go.mod h1:2UG6EroZ6ZbqmqoL8k/cQMe09e6A36WyH4t4UDUGyuU= github.com/fluxcd/pkg/recorder v0.0.5/go.mod h1:2UG6EroZ6ZbqmqoL8k/cQMe09e6A36WyH4t4UDUGyuU=
github.com/fluxcd/pkg/runtime v0.0.3 h1:x9rOThl1qh5srIUpW0YHEj1I84swMj5m76UqrR1QknY= github.com/fluxcd/pkg/runtime v0.0.3 h1:x9rOThl1qh5srIUpW0YHEj1I84swMj5m76UqrR1QknY=
github.com/fluxcd/pkg/runtime v0.0.3/go.mod h1:ECBTeplxhgbCJYIjmtwn3ZS0A91/+6YtOS4w2G0LeK4= github.com/fluxcd/pkg/runtime v0.0.3/go.mod h1:ECBTeplxhgbCJYIjmtwn3ZS0A91/+6YtOS4w2G0LeK4=
github.com/fluxcd/source-controller/api v0.0.15 h1:W5GPBzJ6dnEYKIicONVMzwbCpBAFHe3NnptZXfTtKto= github.com/fluxcd/source-controller/api v0.0.17 h1:LQR6VR/CATAV+RDcK3rPgA66IW5CFbhAH4Prm0UBL5Y=
github.com/fluxcd/source-controller/api v0.0.15/go.mod h1:PUe+EYQ/s+KPnz2iOCgdf+L6clM0SWkyvdXIpbfpkQE= github.com/fluxcd/source-controller/api v0.0.17/go.mod h1:PUe+EYQ/s+KPnz2iOCgdf+L6clM0SWkyvdXIpbfpkQE=
github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=