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

Add license interceptor in automate gateway #8439

Merged
merged 29 commits into from
May 20, 2024

Conversation

YashviJain01
Copy link
Collaborator

@YashviJain01 YashviJain01 commented Apr 30, 2024

🔩 Description: What code changed, and why?

If the license is not applied or expired, a error will be sent via tha api or cli which are passed throguh gateway.

A exceptions list is also added for the allowed apis, which helps in deployment via airgap or cli.

⛓️ Related Resources

https://chefio.atlassian.net/browse/CHEF-11671
https://chefio.atlassian.net/browse/CHEF-11670

👍 Definition of Done

A license interceptor has been added in automate gateway which will block the requests if the license is invalid.

👟 How to Build and Test the Change

rebuild components/automate-gateway

✅ Checklist

All PRs must tick these:

With occasional exceptions, all PRs from Progress employees must tick these:

  • Is the code clear? (complicated code or lots of comments--subdivide and use well-named methods, meaningful variable names, etc.)
  • Consistency checked? (user notifications, user prompts, visual patterns, code patterns, variable names)
  • Repeated code blocks eliminated? (adapt and reuse existing components, blocks, functions, etc.)
  • Spelling, grammar, typos checked? (at a minimum use make spell in any component directory)
  • Code well-formatted? (indents, line breaks, etc. improve rather than hinder readability)

All PRs from Progress employees should tick these if appropriate:

  • Tests added/updated? (all new code needs new tests)
  • Docs added/updated? (all customer-facing changes)

Please add a note next to any checkbox above if you are NOT ticking it.

📷 Screenshots, if applicable

APi Demo video:-

https://progresssoftware.sharepoint.com/:v:/s/ChefCoreC/EY6Pbs1E2PlBgfKjwPjbA_sBi6KTnX8HIRPZnudCi8clVg?e=VUvhAF

If the license is expired (UI):-

image

Copy link

netlify bot commented Apr 30, 2024

👷 Deploy Preview for chef-automate processing.

Name Link
🔨 Latest commit 69c32f5
🔍 Latest deploy log https://app.netlify.com/sites/chef-automate/deploys/6642eaf3dd1a9d000818724e

@YashviJain01 YashviJain01 requested a review from Dmaddu May 14, 2024 05:06
@YashviJain01 YashviJain01 marked this pull request as ready for review May 14, 2024 05:51
@YashviJain01 YashviJain01 changed the title Yashvi/chef 11671 Add license interceptor in automate gateway May 14, 2024
@YashviJain01 YashviJain01 changed the base branch from main to feature/CHEF-11824 May 14, 2024 05:55
Yashvi Jain and others added 24 commits May 15, 2024 15:31
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
…i in api allow list

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Durga Sarat Chandra Maddu <dmaddu@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Yashvi Jain added 3 commits May 15, 2024 15:31
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

SonarQube Quality Gate

Quality Gate failed

Failed condition 34.9% 34.9% Coverage on New Code (is less than 80%)

See analysis details on SonarQube

@YashviJain01 YashviJain01 changed the base branch from feature/CHEF-11824 to main May 15, 2024 11:21
@YashviJain01 YashviJain01 changed the base branch from main to feature/CHEF-11824 May 15, 2024 11:21
Yashvi Jain added 2 commits May 16, 2024 12:52
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
@Dmaddu Dmaddu merged commit ce92a88 into feature/CHEF-11824 May 20, 2024
3 of 5 checks passed
@Dmaddu Dmaddu deleted the yashvi/CHEF-11671 branch May 20, 2024 06:13
YashviJain01 added a commit that referenced this pull request May 20, 2024
* Adding the intercerptors with error only for license

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Removing the function, will create another PR for this

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Removing interface, will create another PR for this

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding the function for interceptor

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding interceptor layer for license

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding allow api list if the license needs to be applied from backend

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license apply

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license function in default deploy

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Removing unwanted loggers

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license apply command in pipelines, and adding create token api in api allow list

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Applying license at various location to unblock the pipeline

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding changes

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding Applying license in do_dploy for chef server

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* updating the temp license

Signed-off-by: Durga Sarat Chandra Maddu <dmaddu@progress.com>

* Adding A2_license as a variable from vault

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding A2_license as a environment variable

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding A2 license in the pipeline

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license in studio pipelines

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license data

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license data

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license data

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding licrnse in dev from command

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license from vault and applying it

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license in gateway intergation

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license in gateway intergation

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license key in the pipeline

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license after upgrade

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* commenting jq line for print

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

---------

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Durga Sarat Chandra Maddu <dmaddu@progress.com>
Co-authored-by: Yashvi Jain <yashvi.jain@progress.com>
Co-authored-by: dmaddu <dmaddu@progress.com>
swatiganesh pushed a commit that referenced this pull request Jun 4, 2024
* Adding the intercerptors with error only for license

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Removing the function, will create another PR for this

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Removing interface, will create another PR for this

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding the function for interceptor

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding interceptor layer for license

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding allow api list if the license needs to be applied from backend

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license apply

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license function in default deploy

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Removing unwanted loggers

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license apply command in pipelines, and adding create token api in api allow list

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Applying license at various location to unblock the pipeline

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding changes

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding Applying license in do_dploy for chef server

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* updating the temp license

Signed-off-by: Durga Sarat Chandra Maddu <dmaddu@progress.com>

* Adding A2_license as a variable from vault

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding A2_license as a environment variable

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding A2 license in the pipeline

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license in studio pipelines

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license data

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license data

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license data

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding licrnse in dev from command

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license from vault and applying it

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license in gateway intergation

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license in gateway intergation

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license key in the pipeline

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license after upgrade

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* commenting jq line for print

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

---------

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Durga Sarat Chandra Maddu <dmaddu@progress.com>
Co-authored-by: Yashvi Jain <yashvi.jain@progress.com>
Co-authored-by: dmaddu <dmaddu@progress.com>
YashviJain01 added a commit that referenced this pull request Jun 5, 2024
* Adding the intercerptors with error only for license

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Removing the function, will create another PR for this

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Removing interface, will create another PR for this

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding the function for interceptor

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding interceptor layer for license

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding allow api list if the license needs to be applied from backend

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license apply

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license function in default deploy

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Removing unwanted loggers

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license apply command in pipelines, and adding create token api in api allow list

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Applying license at various location to unblock the pipeline

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding changes

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding Applying license in do_dploy for chef server

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* updating the temp license

Signed-off-by: Durga Sarat Chandra Maddu <dmaddu@progress.com>

* Adding A2_license as a variable from vault

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding A2_license as a environment variable

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding A2 license in the pipeline

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license in studio pipelines

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license data

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license data

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license data

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding licrnse in dev from command

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license from vault and applying it

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license in gateway intergation

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license in gateway intergation

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license key in the pipeline

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* Adding license after upgrade

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

* commenting jq line for print

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>

---------

Signed-off-by: Yashvi Jain <yashvi.jain@progress.com>
Signed-off-by: Durga Sarat Chandra Maddu <dmaddu@progress.com>
Co-authored-by: Yashvi Jain <yashvi.jain@progress.com>
Co-authored-by: dmaddu <dmaddu@progress.com>
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

Successfully merging this pull request may close these issues.

None yet

2 participants