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

CloudFront integration v2 #198

Merged
merged 56 commits into from
Feb 29, 2024
Merged

CloudFront integration v2 #198

merged 56 commits into from
Feb 29, 2024

Conversation

sshelomentsev
Copy link
Contributor

No description provided.

Sergey Shelomentsev and others added 30 commits February 26, 2024 17:49
* feat: implement single CloudFormation template

* fix: remove old templates

* fix: remove whitespaces

* feat: attach domain name and its certificate to CloudFront distribution

* feat: add condition to attach aliases

* fix: add NoValue for default properties

* chore: minor change

* chore: fix description

* feat: ability to specify multiple domain names

* fix: replace secret's JSON creation to basic join func

* fix: don't ask for secret region, use us-east-1 by default

* fix: domainName to domainNames

* feat: add cfn-guard rules for the template

* feat: add GitHub action for cfn validation

* fix: fix call

* fix: fix paths

---------

Co-authored-by: Sergey Shelomentsev <sergey.shelomentsev@fingerprint.com>
Orkuncakilkaya and others added 14 commits February 26, 2024 17:49
* chore: remove usage of Winston logger

* chore: remove Winston dependency

* feat: set log level

---------

Co-authored-by: Sergey Shelomentsev <sergey.shelomentsev@fingerprint.com>
Co-authored-by: Sergey Shelomentsev <sergey.shelomentsev@fingerprint.com>
…186)

Co-authored-by: Sergey Shelomentsev <sergey.shelomentsev@fingerprint.com>
* chore: fix CloudFormation template

* chore: update guard rules

---------

Co-authored-by: Sergey Shelomentsev <sergey.shelomentsev@fingerprint.com>
* chore: switch to pnpm

* chore: fix external dependencies exclusion

* chore: add types

* chore: update dependencies to latest versions

* chore: update husky

* chore: install @fingerprint dx dependencies

* chore: update commitlint config

* chore: use @fingerprint dx eslint plugin

* chore: extend typescript config with dx config

* chore: add pnpm workspace

* chore: fix eslint

* chore: remove eslint dependencies

* chore: update tsconfig

---------

Co-authored-by: Sergey Shelomentsev <sergey.shelomentsev@fingerprint.com>
* chore: update eslint and prettier configs

* chore: lint code

---------

Co-authored-by: Sergey Shelomentsev <sergey.shelomentsev@fingerprint.com>
@sshelomentsev sshelomentsev changed the title Feature/rollout as code rebased CloudFront integration v2 Feb 29, 2024
Copy link
Contributor

Coverage report

St.
Category Percentage Covered / Total
🟢 Statements 94.81% 530/559
🟢 Branches 88.89% 136/153
🟢 Functions 92.04% 104/113
🟢 Lines 94.91% 503/530

Test suite run success

126 tests passing in 18 suites.

Report generated by 🧪jest coverage report action from 4f8196d

Show full coverage report
St File % Stmts % Branch % Funcs % Lines Uncovered Line #s
🟢 All files 94.81 88.88 92.03 94.9
🟢  mgmt-lambda 98.83 93.33 100 98.83
🟢   DefaultSettings.ts 100 100 100 100
🟢   app.ts 97.87 95 100 97.87 25
🟢   auth.ts 100 100 100 100
🟢   exceptions.ts 100 66.66 100 100 15
🟢  mgmt-lambda/handlers 94.17 81.81 92.85 94.11
🟢   errorHandlers.ts 100 71.42 100 100 22,41
🟢   statusHandler.ts 85.71 100 100 85.71 21
🟢   updateHandler.ts 93.67 84.61 88.88 93.58 83,86-89
🟢  proxy/handlers 87.35 85.71 89.65 87.95
🟢   handleAgentDowloading.ts 96 66.66 100 95.83 26
🟡   handleResult.ts 76.19 100 76.92 77.5 88-103
🟢   handleStatus.ts 100 100 100 100
🟡  proxy/test 77.77 100 50 71.42
🟡   aws.ts 77.77 100 50 71.42 4-5
🟢  proxy/test/utils/customer-variables 100 100 100 100
🟢   in-memory-customer-variables.ts 100 100 100 100
🟢  proxy/utils 98.55 84.61 96.42 98.41
🟢   buffer.ts 100 100 100 100
🟢   cache-control.ts 100 100 100 100
🟢   cookie.ts 100 100 100 100
🟢   headers.ts 100 100 100 100
🔴   is-blob.ts 0 0 0 0 6-7
🟢   log.ts 100 50 100 100 5-6
🟢   request.ts 100 100 100 100
🟢   routing.ts 100 100 100 100
🟢   traffic.ts 100 100 100 100
🟢  proxy/utils/customer-variables 100 100 100 100
🟢   customer-variables.ts 100 100 100 100
🟢   defaults.ts 100 100 100 100
🟢   header-customer-variables.ts 100 100 100 100
🟢   maybe-obfuscate-variable.ts 100 100 100 100
🟢   selectors.ts 100 100 100 100
🟢   types.ts 100 100 100 100
🟢  proxy/utils/customer-variables/secrets-manager 89.39 100 84.61 90.76
🔴   normalize-secret.ts 0 100 0 0 1-4
🟢   retrieve-secret.ts 100 100 100 100
🟢   secrets-manager-variables.ts 86.95 100 100 86.95 32,54-59
🟢   validate-secret.ts 100 100 100 100

Copy link
Contributor

This PR will create a major release 🚀

2.0.0 (2024-02-29)

⚠ BREAKING CHANGES

  • use node 20

Features

  • add endpoints structure and error handlers (c473539)
  • add event and ctx types (82c053b)
  • add lambda function update (38b445f)
  • add settings secret, update mgmt lambda permissions (#162) (ab3caa5)
  • improve error handling in mgmt-lambda (3736d14)
  • increase timeout for Fingerprint lambda (1e0ae54)
  • introduce deployment settings (ec13d5f)
  • introduce mgmt-token scheme for authorization (#176) (c884027)
  • mgmt-lambda-update: introduce error codes (6929756)
  • pass AWS clients into handlers (1aa3dc8)
  • rework logging (#184) (a88941c)
  • reworked getting env, updated tests (0b29764)
  • rollout as a code (#161) (0636c1a)
  • update all cache behavior that has fingerprint pro association (#186) (2970364)
  • update lambda existence check (403680c)
  • update package management (#189) (5135b1b)
  • update secrets manager to V3, retrieve secret in mgmt-lambda (a60bee4)
  • upgrade Lambda functions runtime to Node 20 (2818c30)
  • use AWS SDK v3 Client mock for testing (0bb22ce)

Bug Fixes

  • cloudformation templatex (#188) (a32e4ff)
  • remove aws-sdk v2 usage (b1d0d72)
  • remove CodePipeline client (ed7d52d)
  • remove CodePipeline part from mgmt code (fb79578)
  • set correct type for public URL events (379ec65)
  • update handleResult tests with comparing hrefs (aeb49c8)
  • update logging (07664bc)

@ilfa ilfa merged commit dc1fd94 into rc Feb 29, 2024
13 checks passed
@ilfa ilfa deleted the feature/rollout-as-code-rebased branch February 29, 2024 13:41
@ilfa
Copy link
Member

ilfa commented Feb 29, 2024

🎉 This PR is included in version 2.0.0-rc.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

@ilfa
Copy link
Member

ilfa commented Mar 1, 2024

🎉 This PR is included in version 2.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@ilfa ilfa added the released label Mar 1, 2024
@fingerprint-dx-team
Copy link
Contributor

🎉 This PR is included in version 2.0.0-rc.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

2 similar comments
@fingerprint-dx-team
Copy link
Contributor

🎉 This PR is included in version 2.0.0-rc.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

@fingerprint-dx-team
Copy link
Contributor

🎉 This PR is included in version 2.0.0-rc.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

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.

3 participants