Skip to content

feat: adding umbrella chart with 8 components#24

Open
venkatamutyala wants to merge 3 commits into
mainfrom
demo-previews
Open

feat: adding umbrella chart with 8 components#24
venkatamutyala wants to merge 3 commits into
mainfrom
demo-previews

Conversation

@venkatamutyala

Copy link
Copy Markdown
Contributor

No description provided.

@codiumai-pr-agent-free

Copy link
Copy Markdown

Failed to generate code suggestions for PR

Copilot AI review requested due to automatic review settings October 4, 2025 08:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR transforms a single Helm chart into an umbrella chart by adding 8 component dependencies, allowing multiple application instances to be deployed together as a unified package.

  • Added 8 dependencies referencing the same "app" chart with different aliases (component-1 through component-8)
  • Updated chart version from 0.4.0 to 0.6.0-vapor to reflect the new umbrella chart structure

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread Chart.yaml
apiVersion: v2
description: A Helm chart template for applications
version: 0.4.0
version: 0.6.1-vapor

Copilot AI Oct 4, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The version format '0.6.0-vapor' doesn't follow semantic versioning conventions. Consider using a pre-release format like '0.6.0-alpha' or '0.6.0-beta' instead of 'vapor'.

Suggested change
version: 0.6.1-vapor
version: 0.6.0-alpha

Copilot uses AI. Check for mistakes.
Comment thread Chart.yaml
Comment on lines +9 to +39
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-1
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-2
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-3
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-4
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-5
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-6
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-7
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template

Copilot AI Oct 4, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The dependencies section contains significant code duplication. Consider using a YAML anchor and reference pattern to reduce repetition and make version updates easier to maintain.

Suggested change
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-1
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-2
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-3
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-4
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-5
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-6
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-7
- name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
- &app_dep
name: app
version: 0.8.1
repository: https://helm.gpkg.io/project-template
alias: component-1
- <<: *app_dep
alias: component-2
- <<: *app_dep
alias: component-3
- <<: *app_dep
alias: component-4
- <<: *app_dep
alias: component-5
- <<: *app_dep
alias: component-6
- <<: *app_dep
alias: component-7
- <<: *app_dep

Copilot uses AI. Check for mistakes.
@codiumai-pr-agent-free

Copy link
Copy Markdown

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: k8s-test

Failed stage: Checks [❌]

Failure summary:

The action failed during the testing phase with error code 2. The specific failure occurred when
running helm template on the directory
/home/runner/work/project-template-helm-chart-app/project-template-helm-chart-app/examples/configmap.
The error message indicates missing chart dependencies:

"Error: An error occurred while checking for chart dependencies. You may need to run helm dependency
build to fetch missing dependencies: found in Chart.yaml, but missing in charts/ directory: app,
app, app, app, app, app, app, app"

This suggests that the Helm chart is missing required dependencies that are defined in Chart.yaml
but not present in the charts/ directory.

Relevant error logs:
1:  ##[group]Runner Image Provisioner
2:  Hosted Compute Agent
...

324:  ##[endgroup]
325:  ##[group]Run sigstore/cosign-installer@11086d25041f77fe8fe7b9ea4e48e3b9192b8f19
326:  with:
327:  cosign-release: v2.2.0
328:  install-dir: $HOME/.cosign
329:  use-sudo: false
330:  env:
331:  KUBECONFIG: /home/runner/.kube/config
332:  ##[endgroup]
333:  ##[group]Run #!/bin/bash
334:  �[36;1m#!/bin/bash�[0m
335:  �[36;1m# cosign install script�[0m
336:  �[36;1mshopt -s expand_aliases�[0m
337:  �[36;1mif [ -z "$NO_COLOR" ]; then�[0m
338:  �[36;1m  alias log_info="echo -e \"\033[1;32mINFO\033[0m:\""�[0m
339:  �[36;1m  alias log_error="echo -e \"\033[1;31mERROR\033[0m:\""�[0m
340:  �[36;1melse�[0m
341:  �[36;1m  alias log_info="echo \"INFO:\""�[0m
342:  �[36;1m  alias log_error="echo \"ERROR:\""�[0m
343:  �[36;1mfi�[0m
...

353:  �[36;1m  exit 0�[0m
354:  �[36;1mfi�[0m
355:  �[36;1m�[0m
356:  �[36;1mshaprog() {�[0m
357:  �[36;1m  case Linux in�[0m
358:  �[36;1m    Linux)�[0m
359:  �[36;1m      sha256sum $1 | cut -d' ' -f1�[0m
360:  �[36;1m      ;;�[0m
361:  �[36;1m    macOS)�[0m
362:  �[36;1m      shasum -a256 $1 | cut -d' ' -f1�[0m
363:  �[36;1m      ;;�[0m
364:  �[36;1m    Windows)�[0m
365:  �[36;1m      powershell -command "(Get-FileHash $1 -Algorithm SHA256 | Select-Object -ExpandProperty Hash).ToLower()"�[0m
366:  �[36;1m      ;;�[0m
367:  �[36;1m    *)�[0m
368:  �[36;1m      log_error "unsupported OS Linux"�[0m
369:  �[36;1m      exit 1�[0m
...

391:  �[36;1m        bootstrap_filename='cosign-linux-amd64'�[0m
392:  �[36;1m        bootstrap_sha=${bootstrap_linux_amd64_sha}�[0m
393:  �[36;1m        desired_cosign_filename='cosign-linux-amd64'�[0m
394:  �[36;1m        # v0.6.0 had different filename structures from all other releases�[0m
395:  �[36;1m        if [[ v2.2.0 == 'v0.6.0' ]]; then�[0m
396:  �[36;1m          desired_cosign_filename='cosign_linux_amd64_0.6.0_linux_amd64'�[0m
397:  �[36;1m          desired_cosign_v060_signature='cosign_linux_amd64_0.6.0_linux_amd64.sig'�[0m
398:  �[36;1m        fi�[0m
399:  �[36;1m        ;;�[0m
400:  �[36;1m�[0m
401:  �[36;1m      ARM)�[0m
402:  �[36;1m        bootstrap_filename='cosign-linux-arm'�[0m
403:  �[36;1m        bootstrap_sha=${bootstrap_linux_arm_sha}�[0m
404:  �[36;1m        desired_cosign_filename='cosign-linux-arm'�[0m
405:  �[36;1m        if [[ v2.2.0 == 'v0.6.0' ]]; then�[0m
406:  �[36;1m          log_error "linux-arm build not available at v0.6.0"�[0m
407:  �[36;1m          exit 1�[0m
408:  �[36;1m        fi�[0m
409:  �[36;1m        ;;�[0m
410:  �[36;1m�[0m
411:  �[36;1m      ARM64)�[0m
412:  �[36;1m        bootstrap_filename='cosign-linux-arm64'�[0m
413:  �[36;1m        bootstrap_sha=${bootstrap_linux_arm64_sha}�[0m
414:  �[36;1m        desired_cosign_filename='cosign-linux-arm64'�[0m
415:  �[36;1m        if [[ v2.2.0 == 'v0.6.0' ]]; then�[0m
416:  �[36;1m          log_error "linux-arm64 build not available at v0.6.0"�[0m
417:  �[36;1m          exit 1�[0m
418:  �[36;1m        fi�[0m
419:  �[36;1m        ;;�[0m
420:  �[36;1m�[0m
421:  �[36;1m      *)�[0m
422:  �[36;1m        log_error "unsupported architecture $arch"�[0m
423:  �[36;1m        exit 1�[0m
...

438:  �[36;1m        fi�[0m
439:  �[36;1m        ;;�[0m
440:  �[36;1m�[0m
441:  �[36;1m      ARM64)�[0m
442:  �[36;1m        bootstrap_filename='cosign-darwin-arm64'�[0m
443:  �[36;1m        bootstrap_sha=${bootstrap_darwin_arm64_sha}�[0m
444:  �[36;1m        desired_cosign_filename='cosign-darwin-arm64'�[0m
445:  �[36;1m        # v0.6.0 had different filename structures from all other releases�[0m
446:  �[36;1m        if [[ v2.2.0 == 'v0.6.0' ]]; then�[0m
447:  �[36;1m          desired_cosign_filename='cosign_darwin_arm64_0.6.0_darwin_arm64'�[0m
448:  �[36;1m          desired_cosign_v060_signature='cosign_darwin_arm64_0.6.0_darwin_arm64.sig'�[0m
449:  �[36;1m        fi�[0m
450:  �[36;1m        ;;�[0m
451:  �[36;1m�[0m
452:  �[36;1m      *)�[0m
453:  �[36;1m        log_error "unsupported architecture $arch"�[0m
454:  �[36;1m        exit 1�[0m
...

458:  �[36;1m�[0m
459:  �[36;1m  Windows)�[0m
460:  �[36;1m    case X64 in�[0m
461:  �[36;1m      X64)�[0m
462:  �[36;1m        bootstrap_filename='cosign-windows-amd64.exe'�[0m
463:  �[36;1m        bootstrap_sha=${bootstrap_windows_amd64_sha}�[0m
464:  �[36;1m        desired_cosign_filename='cosign-windows-amd64.exe'�[0m
465:  �[36;1m        cosign_executable_name=cosign.exe�[0m
466:  �[36;1m        # v0.6.0 had different filename structures from all other releases�[0m
467:  �[36;1m        if [[ v2.2.0 == 'v0.6.0' ]]; then�[0m
468:  �[36;1m          desired_cosign_filename='cosign_windows_amd64_0.6.0_windows_amd64.exe'�[0m
469:  �[36;1m          desired_cosign_v060_signature='cosign_windows_amd64_0.6.0_windows_amd64.exe.sig'�[0m
470:  �[36;1m        fi�[0m
471:  �[36;1m        ;;�[0m
472:  �[36;1m      *)�[0m
473:  �[36;1m        log_error "unsupported architecture $arch"�[0m
474:  �[36;1m        exit 1�[0m
475:  �[36;1m        ;;�[0m
476:  �[36;1m    esac�[0m
477:  �[36;1m    ;;�[0m
478:  �[36;1m  *)�[0m
479:  �[36;1m    log_error "unsupported architecture $arch"�[0m
480:  �[36;1m    exit 1�[0m
481:  �[36;1m    ;;�[0m
482:  �[36;1mesac�[0m
483:  �[36;1m�[0m
484:  �[36;1mSUDO=�[0m
485:  �[36;1mif [[ "false" == "true" ]] && command -v sudo >/dev/null; then�[0m
486:  �[36;1m  SUDO=sudo�[0m
487:  �[36;1mfi�[0m
488:  �[36;1m�[0m
489:  �[36;1mexpected_bootstrap_version_digest=${bootstrap_sha}�[0m
490:  �[36;1mlog_info "Downloading bootstrap version '${bootstrap_version}' of cosign to verify version to be installed...\n      https://github.com/sigstore/cosign/releases/download/${bootstrap_version}/${bootstrap_filename}"�[0m
491:  �[36;1m$SUDO curl -sL https://github.com/sigstore/cosign/releases/download/${bootstrap_version}/${bootstrap_filename} -o ${cosign_executable_name}�[0m
492:  �[36;1mshaBootstrap=$(shaprog ${cosign_executable_name});�[0m
493:  �[36;1mif [[ $shaBootstrap != ${expected_bootstrap_version_digest} ]]; then�[0m
494:  �[36;1m  log_error "Unable to validate cosign version: 'v2.2.0'"�[0m
495:  �[36;1m  exit 1�[0m
496:  �[36;1mfi�[0m
497:  �[36;1m$SUDO chmod +x ${cosign_executable_name}�[0m
498:  �[36;1m�[0m
499:  �[36;1m# If the bootstrap and specified `cosign` releases are the same, we're done.�[0m
500:  �[36;1mif [[ v2.2.0 == ${bootstrap_version} ]]; then�[0m
501:  �[36;1m  log_info "bootstrap version successfully verified and matches requested version so nothing else to do"�[0m
502:  �[36;1m  exit 0�[0m
503:  �[36;1mfi�[0m
504:  �[36;1m�[0m
505:  �[36;1msemver='^v([0-9]+\.){0,2}(\*|[0-9]+)(-?r?c?)(\.[0-9]+)$'�[0m
506:  �[36;1mif [[ v2.2.0 =~ $semver ]]; then�[0m
507:  �[36;1m  log_info "Custom cosign version 'v2.2.0' requested"�[0m
508:  �[36;1melse�[0m
509:  �[36;1m  log_error "Unable to validate requested cosign version: 'v2.2.0'"�[0m
510:  �[36;1m  exit 1�[0m
...

624:  KUBECONFIG: /home/runner/.kube/config
625:  CT_CONFIG_DIR: /opt/hostedtoolcache/ct/3.10.1/amd64/etc
626:  VIRTUAL_ENV: /opt/hostedtoolcache/ct/3.10.1/amd64/venv
627:  ##[endgroup]
628:  ct lint --chart-dirs=. --all --validate-maintainers=false
629:  Linting charts...
630:  Version increment checking disabled.
631:  ------------------------------------------------------------------------------------------------------------------------
632:  No chart changes detected.
633:  ------------------------------------------------------------------------------------------------------------------------
634:  All charts linted successfully
635:  helm lint
636:  ==> Linting .
637:  [INFO] Chart.yaml: icon is recommended
638:  [WARNING] /home/runner/work/project-template-helm-chart-app/project-template-helm-chart-app: chart directory is missing these dependencies: app,app,app,app,app,app,app,app
639:  1 chart(s) linted, 0 chart(s) failed
640:  ##[group]Run sudo apt-get update -yqq
...

723:  of: Deployment
724:  ---
725:  Put the test files in "tests" directory under your chart
726:  with suffix "_test.yaml", and run:
727:  $ helm unittest my-chart
728:  Or specify the suite files glob path pattern:
729:  $ helm unittest -f 'my-tests/*.yaml' my-chart
730:  Check https://github.com/helm-unittest/helm-unittest for more
731:  details about how to write tests.
732:  Usage:
733:  unittest [flags] CHART [...]
734:  Flags:
735:  --chart-tests-path string   chart-tests-path the folder location relative to the chart where a helm chart to render test suites is located
736:  --color                     enforce printing colored output even stdout is not a tty. Set to false to disable color
737:  -d, --debugPlugin               enable verbose output
738:  -q, --failfast                  actually directly quit testing, when a test is failed
739:  -f, --file stringArray          glob paths of test files location, default to tests/*_test.yaml
...

881:  CT_CONFIG_DIR: /opt/hostedtoolcache/ct/3.10.1/amd64/etc
882:  VIRTUAL_ENV: /opt/hostedtoolcache/ct/3.10.1/amd64/venv
883:  CI: true
884:  ##[endgroup]
885:  ct lint --chart-dirs=. --all --validate-maintainers=false
886:  Linting charts...
887:  Version increment checking disabled.
888:  ------------------------------------------------------------------------------------------------------------------------
889:  No chart changes detected.
890:  ------------------------------------------------------------------------------------------------------------------------
891:  All charts linted successfully
892:  helm lint
893:  ==> Linting .
894:  [INFO] Chart.yaml: icon is recommended
895:  [WARNING] /home/runner/work/project-template-helm-chart-app/project-template-helm-chart-app: chart directory is missing these dependencies: app,app,app,app,app,app,app,app
896:  1 chart(s) linted, 0 chart(s) failed
897:  helm unittest  . 
...

906:  PASS  Keda TriggerAuthentication	tests/keda_triggerauthentication_test.yaml
907:  PASS  PodDisruptionBudget	tests/pdb_test.yaml
908:  PASS  persistentVolumeClaim	tests/pvc_test.yaml
909:  PASS  Service	tests/service_test.yaml
910:  PASS  ServiceAccount	tests/serviceaccount_test.yaml
911:  PASS  StatefulSet	tests/statefulset_test.yaml
912:  PASS  WAF	tests/waf_test.yaml
913:  Charts:      1 passed, 1 total
914:  Test Suites: 14 passed, 14 total
915:  Tests:       71 passed, 71 total
916:  Snapshot:    0 passed, 0 total
917:  Time:        191.727485ms
918:  cd examples && bash test.sh
919:  configmap/
920:  [INFO] helm template on directory: /home/runner/work/project-template-helm-chart-app/project-template-helm-chart-app/examples/configmap
921:  Error: An error occurred while checking for chart dependencies. You may need to run `helm dependency build` to fetch missing dependencies: found in Chart.yaml, but missing in charts/ directory: app, app, app, app, app, app, app, app
922:  make: *** [Makefile:14: test] Error 1
923:  ##[error]Process completed with exit code 2.
924:  Post job cleanup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants