Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependency aliases not working with semver logic #2794

Closed
apeschel opened this issue Aug 10, 2017 · 0 comments
Closed

Dependency aliases not working with semver logic #2794

apeschel opened this issue Aug 10, 2017 · 0 comments

Comments

@apeschel
Copy link

apeschel commented Aug 10, 2017

Issue found on v2.5.1

The alias functionality only works when a hardcoded version is used. Any use of semver logic causes unexpected behavior.

  • All aliased dependencies with semver logic are ignored.
  • If all aliased dependencies for a chart are ignored, then the base chart name is used

Expected behavior:

  • Aliased dependencies should handle semver logic identically to non-aliased dependencies.

Example 1

All aliased dependencies use semver logic.

Given:

dependencies:
  - name: mariadb
    repository: https://kubernetes-charts.storage.googleapis.com
    version: ~> 0.7.X
    alias: foo
  - name: mariadb
    repository: https://kubernetes-charts.storage.googleapis.com
    version: ~> 0.7.X
    alias: bar
  - name: mariadb
    repository: https://kubernetes-charts.storage.googleapis.com
    version: ~> 0.7.X
    alias: baz

Produces

# Source: requirement-test/charts/mariadb/templates/secrets.yaml
# Source: requirement-test/charts/mariadb/templates/configmap.yaml
# Source: requirement-test/charts/mariadb/templates/pvc.yaml
# Source: requirement-test/charts/mariadb/templates/svc.yaml
# Source: requirement-test/charts/mariadb/templates/deployment.yaml

Example 2

Only one aliased dependency uses hardcoded version logic.

Given:

dependencies:
  - name: mariadb
    repository: https://kubernetes-charts.storage.googleapis.com
    version: ~> 0.7.X
    alias: foo
  - name: mariadb
    repository: https://kubernetes-charts.storage.googleapis.com
    version: ~> 0.7.X
    alias: bar
  - name: mariadb
    repository: https://kubernetes-charts.storage.googleapis.com
    version: 0.7.0
    alias: baz

Produces:

# Source: requirement-test/charts/baz/templates/secrets.yaml
# Source: requirement-test/charts/baz/templates/configmap.yaml
# Source: requirement-test/charts/baz/templates/pvc.yaml
# Source: requirement-test/charts/baz/templates/svc.yaml
# Source: requirement-test/charts/baz/templates/deployment.yaml

Example 3

Mix of semver logic and hard coded versions.

Given:

dependencies:
  - name: mariadb
    repository: https://kubernetes-charts.storage.googleapis.com
    version: ~> 0.7.X
    alias: foo
  - name: mariadb
    repository: https://kubernetes-charts.storage.googleapis.com
    version: ~> 0.7.X
    alias: bar
  - name: mariadb
    repository: https://kubernetes-charts.storage.googleapis.com
    version: 0.7.0
    alias: baz
  - name: mariadb
    repository: https://kubernetes-charts.storage.googleapis.com
    version: 0.7.0
    alias: fizz

Produces:

# Source: requirement-test/charts/fizz/templates/secrets.yaml
# Source: requirement-test/charts/baz/templates/secrets.yaml
# Source: requirement-test/charts/fizz/templates/configmap.yaml
# Source: requirement-test/charts/baz/templates/configmap.yaml
# Source: requirement-test/charts/fizz/templates/pvc.yaml
# Source: requirement-test/charts/baz/templates/pvc.yaml
# Source: requirement-test/charts/baz/templates/svc.yaml
# Source: requirement-test/charts/fizz/templates/svc.yaml
# Source: requirement-test/charts/fizz/templates/deployment.yaml
# Source: requirement-test/charts/baz/templates/deployment.yaml
@apeschel apeschel changed the title Dependency aliases not working when using semver logic Dependency aliases not working with semver logic Aug 10, 2017
llsheldon pushed a commit to llsheldon/helm that referenced this issue Aug 17, 2017
The alias functionality only works when a hardcoded version
is used. Any use of semver logic causes unexpected behavior.
I use version.IsCompatibleRange to check the dependency version.

Closes helm#2794
lllsheldon pushed a commit to lllsheldon/helm that referenced this issue Aug 25, 2017
The alias functionality only works when a hardcoded version
is used. Any use of semver logic causes unexpected behavior.
I use version.IsCompatibleRange to check the dependency version.
Closes helm#2794
lllsheldon pushed a commit to lllsheldon/helm that referenced this issue Aug 25, 2017
The alias functionality only works when a hardcoded version
is used. Any use of semver logic causes unexpected behavior.
I use version.IsCompatibleRange to check the dependency version.
Closes helm#2794
lllsheldon pushed a commit to lllsheldon/helm that referenced this issue Aug 25, 2017
The alias functionality only works when a hardcoded version
is used. Any use of semver logic causes unexpected behavior.
I use version.IsCompatibleRange to check the dependency version.
Closes helm#2794
lllsheldon pushed a commit to lllsheldon/helm that referenced this issue Aug 25, 2017
The alias functionality only works when a hardcoded version
is used. Any use of semver logic causes unexpected behavior.
I use version.IsCompatibleRange to check the dependency version.

Closes helm#2794
llsheldon added a commit to llsheldon/helm that referenced this issue Aug 25, 2017
The alias functionality only works when a hardcoded version
is used. Any use of semver logic causes unexpected behavior.
I use version.IsCompatibleRange to check the dependency version.

Closes helm#2794
llsheldon added a commit to llsheldon/helm that referenced this issue Aug 28, 2017
The alias functionality only works when a hardcoded version
is used. Any use of semver logic causes unexpected behavior.
I use version.IsCompatibleRange to check the dependency version.

Closes helm#2794
llsheldon added a commit to llsheldon/helm that referenced this issue Sep 1, 2017
The alias functionality only works when a hardcoded version
is used. Any use of semver logic causes unexpected behavior.
I use version.IsCompatibleRange to check the dependency version.

Closes helm#2794
llsheldon added a commit to llsheldon/helm that referenced this issue Sep 7, 2017
The alias functionality only works when a hardcoded version
is used. Any use of semver logic causes unexpected behavior.
I use version.IsCompatibleRange to check the dependency version.

Closes helm#2794
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants