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

QG 4 checks (Release 3.2) #215

Closed
39 of 77 tasks
tomaszbarwicki opened this issue Aug 17, 2023 · 8 comments
Closed
39 of 77 tasks

QG 4 checks (Release 3.2) #215

tomaszbarwicki opened this issue Aug 17, 2023 · 8 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@tomaszbarwicki
Copy link

tomaszbarwicki commented Aug 17, 2023

QG checks

Please keep this issue open until QG 4 is concluded and will be managed by the Issue Creator!
We will inform you about finding and proposals in separated issues, this issue here is for the Overview of the Checks!

Please keep this issue open until QG 4 is concluded!

Product Name: Portal Frontend
Product Owner: @jjeroch
Dev SPOC: @evegufy
Helm Chart Version: 1.6.0-RC8
App Version: 1.6.0-RC8
QG5 Approval: yes/no

Check of Tractus-X Release Guidelines

This QG 4 Check is depending on the mandatory information from our current Release Guidelines.

TRG 1 Documentation

TRG 2 Git

  • TRG 2.01 default branch is named main

  • TRG 2.03 repository structure

    Checks within TRG 2.03
    • TRG 2.03 /docs directory contains detailed product related documentation for the Tractus-X product
    • TRG 2.03 /charts directory contains the Helm chart for the Tractus-X product IF available
    • TRG 2.03 AUTHORS.md file (optional) (TRG 2.03)
    • TRG 2.03 CODE_OF_CONDUCT.md file (TRG 2.03)
    • TRG 2.03 CONTRIBUTING.md file (TRG 2.03)
    • TRG 2.03 DEPENDENCIES file(s) with up to date content (Dash tool generated) (TRG 2.03)
    • TRG 2.03 LICENSE file (TRG 2.03)
    • TRG 2.03 NOTICE.md file (TRG 2.03)
    • TRG 2.03 SECURITY.md file (TRG 2.03)
  • TRG 2.04 Leading product repository

    Checks within TRG 2.04
    • TRG 2.04 repository name must be productname without prefix or suffix
    • TRG 2.04 should contain the release
    • TRG 2.04 references/urls to the product's other repositories
    • TRG 2.04 might contain product helm chart(s)
    • TRG 2.04 README.md: contains the urls for the underlying applications
  • TRG 2.05 .tractusx metafile in a proper format

TRG 3 Kubernetes

  • TRG 3.02 PersistentVolume and PersistentVolumeClaim is used when needed

TRG 4 Container

  • TRG 4.01 semantic versioning and tagging

  • TRG 4.02 top level README.md file, that contains information about the used base image

  • TRG 4.03 Image has USER command and Non Root Container

    Checks within TRG 4.03
    • TRG 4.03 deployment.yaml has runAsUser and allowPrivilegeEscalation: false properly set
  • TRG 4.05 released image must be place DockerHub as mandatory container registry; remove GHCR references

  • TRG 4.06 Notice File for DockerHub has all necessary information

    Checks within TRG 4.06
    • TRG 4.06 Link to the source of your base image (Container registry and GitHub if available)
    • TRG 4.06 Link to your product image on DockerHub
    • TRG 4.06 Link to your repository on GitHub
    • TRG 4.06 Direct link to the Dockerfile used to build your image
    • TRG 4.06 Link to LICENCE file in your repo as Project License (make clear, that this is the PROJECT licence, not an image license

TRG 5 Helm

  • TRG 5.01 Helm chart must be released

    Checks within TRG 5.01
    • TRG 5.01 appropriate semantic versioning for version and appVersion has to be used in Chart.yaml
    • TRG 5.01 must not contain any environment specific values-xyz.yaml
    • TRG 5.01 values.yaml file must contain proper default values/placeholders
    • TRG 5.01 No hostname provided for ingress
    • TRG 5.01 Ingress is disabled
    • TRG 5.01 No references to any secret engine service (e.g.: Hashicorp Vault)
    • TRG 5.01 Dependencies should be prefixed with the nameOverride and/or fullnameOverride properties
    • TRG 5.01 Image tag is set to the Chart.yaml appVersion property
    • TRG 5.01 must be deployable to any environment without overwriting default values with a simple helm install command
    • TRG 5.01 dependencies have to be declared in Chart.yaml NOT requirements.yml
  • TRG 5.02 Helm chart location in /charts directory and correct structure

    Checks within TRG 5.02
    • TRG 5.02 each file must contain the Apache 2.0 Licence
    • TRG 5.02 latest tag is not used in helm chart be default
    charts/ 
        chartNameA/
          Chart.yaml
          ... 
        chartNameB/
          Chart.yaml
          ...
    AUTHORS.md 
    DEPENDENCIES.md 
    LICENCE 
    README.md 
  • TRG 5.04 CPU and memory limits and requests are properly set

  • TRG 5.06 application must be configurable through the Helm chart

  • TRG 5.07 dependencies are present in the Chart.yaml they are properly configured

  • TRG 5.08 a product has a single deployable helm chart that contains all components

    Checks within TRG 5.08
    • TRG 5.08 name of the Chart should be just the product-name without prefix or suffix
    • TRG 5.08 values file should contain all available variables (even from subcharts) with default values and comments about what they do
    • TRG 5.08 helm install command should successfully install the chart to any supported Kubernetes version cluster (without overwriting default values)
    • TRG 5.08 helm test runs without errors
  • TRG 5.09 Helm Test running properly

    Checks within TRG 5.09
    • TRG 5.09 A GitHub action exist which builds or uses the helm chart which gets released
    • TRG 5.09 The GitHub action can be triggered manually through Github WebUI manually running a workflow
    • TRG 5.09 Helm test verifies that the application is up and running
  • TRG 5.10 Products need to support 3 versions at a time

    Checks within TRG 5.10
    • TRG 5.10 latest (K8s version 1.25)
    • TRG 5.10 latest - 1 (K8s version 1.24)
    • TRG 5.10 latest - 2 (K8s version 1.23)
  • TRG 5.11 Upgradeability PRERELEASE

    Checks within TRG 5.11
    • TRG 5.11 Based on the Helm test workflow, you must provide a GitHub action which takes the latest released helm chart, does an installation of it and then execute the upgrade to the current / new version.

TRG 6 Released Helm Chart

TRG 7 Open Source Governance

  • TRG 7.01 Legal Documentation

  • TRG 7.02 License and copyright header

  • TRG 7.03 IP checks for project content

  • TRG 7.04 IP checks for 3rd party content

    Checks within TRG 7.04
    • TRG 7.04 DEPENDENCIES file is up-to-date and reflects the current use of the 3rd party content
    • TRG 7.04 all libraries listed there should have the status "approved"
    • TRG 7.04 no libraries with status "rejected"
    • TRG 7.04 for libraries with status "restricted", the according IP issues must be present (issue number in the source column)
  • TRG 7.05 Legal information for distributions

  • TRG 7.06 Legal information for end user content

  • TRG 7.07 Legal notice for documentation

Hints

Information Sharing

@tomaszbarwicki tomaszbarwicki added the documentation Improvements or additions to documentation label Aug 17, 2023
@tomaszbarwicki
Copy link
Author

Hi @evegufy,

This issue is for portal frontend, please confirm on below:

Product Owner: @jjeroch
Dev SPOC: @evegufy

and provide following:

Helm Chart Version:
App Version:

@tomaszbarwicki
Copy link
Author

Certain files missing copyright headers, created issue: #218

@tomaszbarwicki
Copy link
Author

Hey @evegufy, since it seems like a frontend component, can you please confirm you follow TRG 7.06 Legal information for end user content ?

@evegufy
Copy link
Contributor

evegufy commented Aug 18, 2023

Hey @evegufy, since it seems like a frontend component, can you please confirm you follow TRG 7.06 Legal information for end user content ?

Hi @tomaszbarwicki yes, I can confirm that, our team actually provided the reference implementation for this TRG:
eclipse-tractusx/eclipse-tractusx.github.io#256

This also applies to portal-frontend-registration and portal-assets (also containing frontend components).

#40
#38

eclipse-tractusx/portal-frontend-registration#22
eclipse-tractusx/portal-frontend-registration#24

eclipse-tractusx/portal-assets#26
eclipse-tractusx/portal-assets#32

@tomaszbarwicki
Copy link
Author

Portal-frontend repository is part of Portal product with portal-cd as leading repository which keeps main helm chart installing all required components hence skipping TRG 5.x & TRG 6.x for this specific repo.

@tomaszbarwicki
Copy link
Author

Since #218 is closed, considering QG4 for this component as completed.

@evegufy
Copy link
Contributor

evegufy commented Aug 22, 2023

Hi @tomaszbarwicki regarding final RC version for QG4:
Helm Chart Version: 1.6.0-RC8
App Version: 1.6.0-RC8

@tomaszbarwicki
Copy link
Author

Checks completed, issue closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants