Skip to content

Commit

Permalink
Removing all the checks for oci experimental flag
Browse files Browse the repository at this point in the history
Signed-off-by: David Peraza <dperaza@redhat.com>
  • Loading branch information
dperaza4dustbit committed Jan 13, 2022
1 parent 91a46ad commit 9f869c6
Show file tree
Hide file tree
Showing 17 changed files with 17 additions and 85 deletions.
5 changes: 0 additions & 5 deletions cmd/helm/dependency_build_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,6 @@ func TestDependencyBuildCmd(t *testing.T) {
}
ociSrv.Run(t, repotest.WithDependingChart(c))

err = os.Setenv("HELM_EXPERIMENTAL_OCI", "1")
if err != nil {
t.Fatal("failed to set environment variable enabling OCI support")
}

dir := func(p ...string) string {
return filepath.Join(append([]string{srv.Root()}, p...)...)
}
Expand Down
5 changes: 0 additions & 5 deletions cmd/helm/dependency_update_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,6 @@ func TestDependencyUpdateCmd(t *testing.T) {
}
ociSrv.Run(t, repotest.WithDependingChart(c))

err = os.Setenv("HELM_EXPERIMENTAL_OCI", "1")
if err != nil {
t.Fatal("failed to set environment variable enabling OCI support")
}

if err := srv.LinkIndices(); err != nil {
t.Fatal(err)
}
Expand Down
13 changes: 0 additions & 13 deletions cmd/helm/helm.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,12 @@ import (

"helm.sh/helm/v3/pkg/action"
"helm.sh/helm/v3/pkg/cli"
"helm.sh/helm/v3/pkg/gates"
"helm.sh/helm/v3/pkg/kube"
kubefake "helm.sh/helm/v3/pkg/kube/fake"
"helm.sh/helm/v3/pkg/release"
"helm.sh/helm/v3/pkg/storage/driver"
)

// FeatureGateOCI is the feature gate for checking if `helm chart` and `helm registry` commands should work
const FeatureGateOCI = gates.Gate("HELM_EXPERIMENTAL_OCI")

var settings = cli.New()

func init() {
Expand Down Expand Up @@ -95,15 +91,6 @@ func main() {
}
}

func checkOCIFeatureGate() func(_ *cobra.Command, _ []string) error {
return func(_ *cobra.Command, _ []string) error {
if !FeatureGateOCI.IsEnabled() {
return FeatureGateOCI.Error()
}
return nil
}
}

// This function loads releases into the memory storage if the
// environment variable is properly set.
func loadReleasesInMemory(actionConfig *action.Configuration) {
Expand Down
4 changes: 0 additions & 4 deletions cmd/helm/install.go
Original file line number Diff line number Diff line change
Expand Up @@ -187,10 +187,6 @@ func runInstall(args []string, client *action.Install, valueOpts *values.Options
}
client.ReleaseName = name

if err := checkOCI(chart); err != nil {
return nil, err
}

cp, err := client.ChartPathOptions.LocateChart(chart, settings)
if err != nil {
return nil, err
Expand Down
4 changes: 0 additions & 4 deletions cmd/helm/pull.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,6 @@ func newPullCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
client.Version = ">0.0.0-0"
}

if err := checkOCI(args[0]); err != nil {
return err
}

for i := 0; i < len(args); i++ {
output, err := client.Run(args[i])
if err != nil {
Expand Down
1 change: 0 additions & 1 deletion cmd/helm/pull_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ func TestPullCmd(t *testing.T) {
}
defer srv.Stop()

os.Setenv("HELM_EXPERIMENTAL_OCI", "1")
ociSrv, err := repotest.NewOCIServer(t, srv.Root())
if err != nil {
t.Fatal(err)
Expand Down
10 changes: 4 additions & 6 deletions cmd/helm/push.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,10 @@ func newPushCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
client := experimental.NewPushWithOpts(experimental.WithPushConfig(cfg))

cmd := &cobra.Command{
Use: "push [chart] [remote]",
Short: "push a chart to remote",
Long: pushDesc,
Hidden: !FeatureGateOCI.IsEnabled(),
PersistentPreRunE: checkOCIFeatureGate(),
Args: require.MinimumNArgs(2),
Use: "push [chart] [remote]",
Short: "push a chart to remote",
Long: pushDesc,
Args: require.MinimumNArgs(2),
RunE: func(cmd *cobra.Command, args []string) error {
chartRef := args[0]
remote := args[1]
Expand Down
8 changes: 3 additions & 5 deletions cmd/helm/registry.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,9 @@ This command consists of multiple subcommands to interact with registries.

func newRegistryCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
cmd := &cobra.Command{
Use: "registry",
Short: "login to or logout from a registry",
Long: registryHelp,
Hidden: !FeatureGateOCI.IsEnabled(),
PersistentPreRunE: checkOCIFeatureGate(),
Use: "registry",
Short: "login to or logout from a registry",
Long: registryHelp,
}
cmd.AddCommand(
newRegistryLoginCmd(cfg, out),
Expand Down
9 changes: 4 additions & 5 deletions cmd/helm/registry_login.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,10 @@ func newRegistryLoginCmd(cfg *action.Configuration, out io.Writer) *cobra.Comman
var passwordFromStdinOpt, insecureOpt bool

cmd := &cobra.Command{
Use: "login [host]",
Short: "login to a registry",
Long: registryLoginDesc,
Args: require.MinimumNArgs(1),
Hidden: !FeatureGateOCI.IsEnabled(),
Use: "login [host]",
Short: "login to a registry",
Long: registryLoginDesc,
Args: require.MinimumNArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
hostname := args[0]

Expand Down
9 changes: 4 additions & 5 deletions cmd/helm/registry_logout.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,10 @@ Remove credentials stored for a remote registry.

func newRegistryLogoutCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
return &cobra.Command{
Use: "logout [host]",
Short: "logout from a registry",
Long: registryLogoutDesc,
Args: require.MinimumNArgs(1),
Hidden: !FeatureGateOCI.IsEnabled(),
Use: "logout [host]",
Short: "logout from a registry",
Long: registryLogoutDesc,
Args: require.MinimumNArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
hostname := args[0]
return experimental.NewRegistryLogout(cfg).Run(out, hostname)
Expand Down
9 changes: 0 additions & 9 deletions cmd/helm/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -258,12 +258,3 @@ func checkForExpiredRepos(repofile string) {
}

}

// When dealing with OCI-based charts, ensure that the user has
// enabled the experimental feature gate prior to continuing
func checkOCI(ref string) error {
if registry.IsOCI(ref) && !FeatureGateOCI.IsEnabled() {
return FeatureGateOCI.Error()
}
return nil
}
4 changes: 0 additions & 4 deletions cmd/helm/show.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,10 +198,6 @@ func runShow(args []string, client *action.Show) (string, error) {
client.Version = ">0.0.0-0"
}

if err := checkOCI(args[0]); err != nil {
return "", err
}

cp, err := client.ChartPathOptions.LocateChart(args[0], settings)
if err != nil {
return "", err
Expand Down
4 changes: 0 additions & 4 deletions cmd/helm/upgrade.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,6 @@ func newUpgradeCmd(cfg *action.Configuration, out io.Writer) *cobra.Command {
return nil, cobra.ShellCompDirectiveNoFileComp
},
RunE: func(cmd *cobra.Command, args []string) error {
if err := checkOCI(args[1]); err != nil {
return err
}

client.Namespace = settings.Namespace()

// Fixes #7002 - Support reading values from STDIN for `upgrade` command
Expand Down
8 changes: 0 additions & 8 deletions internal/resolver/resolver.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,12 @@ import (

"helm.sh/helm/v3/pkg/chart"
"helm.sh/helm/v3/pkg/chart/loader"
"helm.sh/helm/v3/pkg/gates"
"helm.sh/helm/v3/pkg/helmpath"
"helm.sh/helm/v3/pkg/provenance"
"helm.sh/helm/v3/pkg/registry"
"helm.sh/helm/v3/pkg/repo"
)

const FeatureGateOCI = gates.Gate("HELM_EXPERIMENTAL_OCI")

// Resolver resolves dependencies from semantic version ranges to a particular version.
type Resolver struct {
chartpath string
Expand Down Expand Up @@ -138,11 +135,6 @@ func (r *Resolver) Resolve(reqs []*chart.Dependency, repoNames map[string]string
found = false
} else {
version = d.Version
if !FeatureGateOCI.IsEnabled() {
return nil, errors.Wrapf(FeatureGateOCI.Error(),
"repository %s is an OCI registry", d.Repository)
}

// Retrieve list of tags for repository
ref := fmt.Sprintf("%s/%s", strings.TrimPrefix(d.Repository, fmt.Sprintf("%s://", registry.OCIScheme)), d.Name)
tags, err := r.registryClient.Tags(ref)
Expand Down
2 changes: 1 addition & 1 deletion internal/resolver/resolver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ import (
"runtime"
"testing"

"helm.sh/helm/v3/internal/experimental/registry"
"helm.sh/helm/v3/pkg/chart"
"helm.sh/helm/v3/pkg/registry"
)

func TestResolve(t *testing.T) {
Expand Down
5 changes: 0 additions & 5 deletions pkg/downloader/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -344,11 +344,6 @@ func (m *Manager) downloadAll(deps []*chart.Dependency) error {

version := ""
if registry.IsOCI(churl) {
if !resolver.FeatureGateOCI.IsEnabled() {
return errors.Wrapf(resolver.FeatureGateOCI.Error(),
"the repository %s is an OCI registry", churl)
}

churl, version, err = parseOCIRef(churl)
if err != nil {
return errors.Wrapf(err, "could not parse OCI reference")
Expand Down
2 changes: 1 addition & 1 deletion pkg/registry/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ func (suite *RegistryClientTestSuite) Test_2_Pull() {
func (suite *RegistryClientTestSuite) Test_3_Tags() {

// Load test chart (to build ref pushed in previous test)
chartData, err := ioutil.ReadFile("../../../pkg/downloader/testdata/local-subchart-0.1.0.tgz")
chartData, err := ioutil.ReadFile("../downloader/testdata/local-subchart-0.1.0.tgz")
suite.Nil(err, "no error loading test chart")
meta, err := extractChartMeta(chartData)
suite.Nil(err, "no error extracting chart meta")
Expand Down

0 comments on commit 9f869c6

Please sign in to comment.