Changelog 1.0.0
UI
Changelog v1.0.0
[#1021] Resolve an error with component policies on validation
Bug fixes
Fixed the CUE string sent to the backend which had some syntax errors.
Related issue
Closes #1021
[#1018] Update query to retrieve display_name_field
New features and improvements
Replace urn with new resource_display_name
field inside policy tests.
Related issue
Closes #1018 #972
[#1020] Insert displayName in the control panel
New features and improvements
Add displayName in the result of validation.
Related issue
Closes #1020
[#1019] Out of policy flag to registry navigation is broken
Bug fixes
Fixed registry navigation in the breadcrumbs.
Related issue
Closes #1019
[#994] policies in "grace" state are not editable
New features and improvements
- Add disabled grace status to policies/metrics
- The status filter will filter the policies/metric for bot disabled and disabled_grace status when the disabled option is selected
Related issue
Closes #994
[#1001] Version in YAML is not consistent with release version
New features and improvements
The Preview descriptor window will refresh automatically after each of the operations: commit
, release
, or new snapshot
.
Related issue
Closes #1001
[#1015] Enable the functionality to change the name of a policy
Bug fixes
Enable changing the name of the policy during the edit.
Related issue
Closes #1015
[#1008] Bad cron expression does not block going to the next step
Bug fixes
Fix bug on bad cron expression validation. It is related to two problems:
- Mismatch configuration on the libraries we used for cron expression (one to validate, one to parse)
- Form validation was applied only on the first library but not on the second one
Related issue
Closes #1008
[#1007] Fix execution strategy not editable
Bug fixes
Removed disabled from execution strategy field
Related issue
Closes #1007
[#938] Uppercase column names in sample visualizations (output ports) in the marketplace
Bug fixes
Remove the "capitalize" style from the VAR TYPE column
Related issue
Closes #938
[#985] DP Dependency graph: cropped External Resource name
Bug fixes
Added a tooltip to dependency graph elements
Related issue
Closes #985
[#995] Resolve confusing policy results page
Bug fixes
- Fix Test row style
- Add version to policy
- Updated icon's color for non-blocking results
Related issue
Closes #995 #992
[#972] "Policy test panel improvements"
New features and improvements
- Hide compliant/not compliant test results if they are empty.
- Remove ID from result
Bug fixes
- Hide "no resource found" during test results polling.
Related issue
Closes #972
[#1003] Fix mkdocs dependency
New features and improvements
- mkdocs dependent packages were moved to stage 2 of dockerfile
Bug fixes
Accessing observability info should correctly redirect to mkdocs
Related issue
Closes #1003
[#969] Refactor ControlPanel response provisioninplan API
Bug fixes
Align Test section with the Get provisioningplan api format
Related issue
Closes #969 #966
[#878] Autotest improvement (CGP suite)
New features and improvements
- Improvements to the auto testing system
- Getting rid of the "builder_governance_policies" suite. (Moved it to the deprecated stance ./wdio/test/pageobjects/helper/deprecated tests).
- Added a new test suit "builder_policies" with one test script for the CGP module instead of the outdated suit "builder_governance_policies".
- Added some drafts for new tests
Related issue
Closes #878
[#983] Refactor regular expression picker
New features and improvements
Refactoring RegexPicker to be more generic and allow future extensions.
Related issue
Closes #983
[#975] Fix policy result view on ko results
Bug fixes
Fix bug on test cue script editor.
Related issue
Closes #975
[#948] CGP review the policies results page
New features and improvements
Added tags column on top 10 failed policies table in the results page
Bug fixes
Fixed env query on evaluations report
Related issue
Closes #948
[#856] Fix notifications errors
Bug fixes
- Updated the witboost logo for informative notifications.
- Fixed informative notifications with an empty body, now they are not collapsed and expandable. Fixed
Accordion
component style. - Fixed and moved the
Mark as read
button for each individual notification. - Removed unread-to-read notification status update on click (that was making unread notifications disappear without the possibility to open and interact with them).
- Fixed
NotificationProvider
andNotificationsIcon
in order to have a unique globalNotificationProvider
to be used by bothNotificationsIcon
andNotificationPage
. In this way the shown notification data will be aligned among all the components that use them.
New features and improvements
- Implemented a new
Mark all as read
feature to improve the user experience and allow them to mark all the notifications as read at once.
Related issue
Closes #856
[#826] Data product lifecycle image
New features and improvements
Added a new image to display the data product lifecycle
Related issue
Closes #826
[#968] Disable name change when editing a policy
New features and improvements
Disable policy name field on edit.
Related issue
Closes #968
[#970] Marketplace API - remove publish endpoint from documentation
New features and improvements
- removed the
/publish
endpoint description from the Marketplace API summary
Related issue
Closes #970
[#964] Send notifications after question answered in Marketplace
Bug fixes
- Notify the user when a question he asked has been answered.
Related issue
Closes #964
[#883] Create new pickers for paths and URLs
New features and improvements
- Added a custom validation error for URI format to return a custom error message
- Added a RegexPicker and introduced a new picker for folder path that validate that using a regex for Linux and Windows Systems
Related issue
Closes #883
[#949] Make graphs in the Mesh Supervision page configurable
New features and improvements
Add configuration to hide graphs inside the mesh supervision page
Related issue
Closes #949
[#962] CGP small UI Fixes on the Control panel
Bug fixes
- Remove the round border on test rows
- Fix selection highlight
- Fix test with warnings
Related issue
Closes #962
[#951] Add a new metrics page
New features and improvements
- Add a page to create new metrics
- Add picker to add thresholds (waiting for @Emilio.Cassanese feedback)
- Handle routing
- Add types to handle creating metric request
- Handle validation on threshold ranges (min cannot exceed max).
Related issue
Closes #951
#### [#947] Upgrade the multi stage build
New features and improvements
This change attempts to improve/decrease the size of docker image for UI microservice
Breaking changes
Docker host build was converted to multistage build
Related issue
Closes #947
[#961] Fix query GET_INSPECTOR_RESULTS
Bug fixes
Fix environment query on evaluation results
Related issue
Closes #961
[#889] Wrong text color on control Panel selected test in Poste theme
Bug fixes
Fix the selected row hover style in the control panel
Related issue
Closes #889
[#960] Default ordering of policies should be newest to oldest
Bug fixes
Sort the policies by creation date desc
Related issue
Closes #960
[#959] Cue script not shown on Policy Test page
Bug fixes
Fix breaking changes policies Cue script
Related issue
Closes #959
[#921] Restyle the control panel validation page
New features and improvements
Update the status visualization of the test validation results
Related issue
Closes #921
[#954] CUE script editor pane displayed on policies
Bug fixes
- Show Cue Script for Breaking Changes policies
- Set to be open by default for non-CUE policies
Related issue
Closes #953 #954
[#956] fix Version generator script
New features and improvements
Added Checks for symbols at the end of the string and removel.
Bug fixes
Crash of deployment on dev
Related issue
Closes #956
[#945] CGP tags review
New features and improvements
Added tags chips and modal on policies registry
Related issue
Closes #945
[#952] Align UI a new EvaluationReport
New features and improvements
- Update label 'Completed' in test.
- Update enum 'TestStatus'
Related issue
Closes #952
[#950] CGP display error messages in a clearer way
New features and improvements
Refactor Test Detail component
Bug fixes
- Fix preprocessing empty value
- Show Cue script editor only to cue script policy
Related issue
Closes #950
[#946] Marketplace raises an error when clicking on column flag
Bug fixes
The marketplace catalog table raises an error trying to sort the flag column. To fix the bug, we disabled sorting on this column.
Related issue
Closes #946
[#936] Better handling for dependsOn and identifiers
New features and improvements
This feature is meant to allow backward compatibility for the use cases where URNs that we are generating for dependsOnField are always lower_case but we had some old components that still have the camelCaseUrn
Related issue
Closes #936
[#788] RBAC error not so meaningful while registering a domain
Bug fixes
When you do not have permission to view an entity, display a Warning: Not found error instead of a not user-friendly error message.
Related issue
Closes #788
[#924] [CGP] Resource type values of the form are static
Bug fixes
Fixed static resource type on policy wizard form
Related issue
Closes #924
[#927] "Policy wizard improvements"
New features and improvements
- Add more constraints to policy wizard.
- Add spaces among wizard inputs.
- Change cron validator configuration to match with BE
Bug fixes
Enable cron expression field during policy editing if it was custom.
Related issue
Closes #927
[#940] [CGP] Confusion with updating after using the "save" button
Bug fixes
Fixed policy editor not showing last updated policy content
Related issue
Closes #940
[#944] [CGP] Ability to interact with the text of the descriptor in the test menu
Bug fixes
Make descriptor not editable
Related issue
Closes #944
[#916] Trigger Downstream pipeline
New features and improvements
- added new job to trigger a Downstream pipeline
Related issue
Closes #916
[846] New Metric list page
New features and improvements
- Add new types to handle metrics
- Add metrics list
- Add a new flag to enable/disable the metric section
Related issue
Closes #846
[#912] Error message is not showing well-formed
Bug fixes
- Fixed error message parsing from response.
Related issue
Closes #912
[#928] Cron selector improvements in the wizard
New features and improvements
Add a list of presets to fill the cron expression field. The user still has the possibility to add a custom one. Presets are:
- Every 12 hours
0 0 */12 ? * *
- Every day at noon
0 0 12 * * ?
- Every 2 days at noon
0 0 12 */2 * ?
- Every week at noon
0 0 12 */7 * ?
Related issue
Closes #928
[#922] Add support for component CUE policies
New features and improvements
Add preprocessing field to the policy form that enables the definition of CUE component policies.
Related issue
Closes #922
[#923] Fix the image name
Bug fixes
Fixed the image name that made it unavailable for some versions.
Related issue
Closes #923
[#842] Fix the components fields overlapping
New features and improvements
The owner field in the data product/components page is now of ellipsis type so that it can be hidden but we had to wrap it inside a paragraph to do so
Related issue
Closes #842
[#932] fix marketplace query to retrieve evaluation result
Bug fixes
This MR fix a graphQL query to retrieve evaluation result of policies.
the dataProductUrn
indicated in the query must be retrieved from the field DataProduct.external_id
Related issue
Closes #932
[#925] Add Data Catalog documentation
New features and improvements
Docs for data catalog plugin
Related issue
Closes #925
[#932] Fix marketplace query to retrieve evaluation result
Bug fixes
This MR fix a graphQL query to retrieve evaluation result of policies.
the dataProductUrn
indicated in the query must be retrieved from the field DataProduct.external_id
Related issue
Closes #932
[#926] Fix query to visualize tha lat flag in marketplace details
Bug fixes
This PR fix the graphQL query in a marketplace dataproduct details section to retrieve the last execution result of policies.
Related issue
Closes #926
[#893] CGP progress bar is stuck to zero on noncompliant policies
Bug fixes
- Fixed bug that prevented the progress bar from completing when resources were not compliant
Related issue
Closes #893
[#919] Flag and Score info is not displayed correctly"
Bug fixes
Fix resource_type in graphql query
Related issue
Closes #919
[#855] CI Package stage too slow
New features and improvements
Improved the overall build time of the pipeline.
Related issue
Closes #855
[#913] Refactoring models for metrics and policies
New features and improvements
Since we have to implement the metrics page, it's necessary to create new types, to be ready to accept new future changes. In addition, currently, all types were stored inside one long single file. I added the following folders, trying to have a good division:
- resource type
- policy
- metric
- environment
- evaluation report
- evaluation result
- common
- insight
All enums are now listed inside one shared file.
Related issue
Closes #913
[#904] Fix some UX problems
Bug fixes
Corrected some UI bugs:
- improved the details shown for each policy
- better displayed the summary of the create/edit wizard
- added ellipses and a tooltip in the results
- better display of the interaction type
Related issue
Closes #904
[#910] Fix React error with environments
Bug fixes
Remove warning on pagination when policies count is zero
Related issue
Closes #910
[#918] Add confirmation dialog for Draft to Grace policy status update
New features and improvements
- Added a confirmation dialog when updating a policy from Draft to Grace state to highlight that after that update, it won't be possible anymore to edit the policy, but only to disable it.
Related issue
Closes #918
[#908] Going forward and backward in the policy form is bugged
Bug fixes
- Fixed cronExpression reset when going forward and backward
- Added a check for passive executionStrategy and runtime timing
Related issue
Closes #908
[#917] Fix not shown descriptor when validation has some errors
New features and improvements
- Removed NOT_STARTED filter
- Added warning icon for NOT_STARTED tasks
- Fixed returned type in useTestCard method
Related issue
Closes #917
[#914] Policy save button must not always be enabled
Bug fixes
Fixed the save button behavior for the policy editor.
Related issue
Closes #914
[#915] Modify the test visualization
Bug fixes
This MR allows you to view all the results of the policies applied to the descriptor. Previously, only the result of the first policy was displayed
Related issue
Closes #915
[#911] Remove old policy section
New features and improvements
Remove the old policy section
Related issue
Closes #911
[#906] Buttons disappear when selecting 'Breaking change' during policy creation
Bug fixes
It is possible create a policy of type "Breaking Change"
Related issue
Closes #906
[#909] Problem with cron expression field
Bug fixes
Fix cron validation
Related issue
Closes #909
[#881] Add "Save" button on test policy detail
New features and improvements
Add a save button on the policy cue script editor in registry testing
Related issue
Closes #881 #891
[#892] Fix policy deletion fo CGP policies
Bug fixes
- Added
Delete
menu entry for policies in every state. - Added confirmation dialog for policy deletion.
Related issue
Closes #892
[#907] Invalid interaction type for passive policies
Bug fixes
- Added cron expression in the coordinator request
- Added error message when creating a a policy with execution strategy Passive and interaction type user2user
Related issue
Closes #907, #902
[#897] review enum in severity fields
Bug fixes
Remove value "OK" from End2End test
Related issue
Closes #897
[#887] Environments not shown in review and create page
Bug fixes
Add missing environments to review section
Related issue
Closes #887
[#900] Creating policy leads to a blank page
Bug fixes
Fix routing to avoid blank page after:
- create new policy
- edit new policy
- click on breadcrumbs
Related issue
Closes #900
[#895] Fix requests to CGP error handling
Bug fixes
- Removed the dependency on the
builder-backend
plugin. - Added a new
sendRequestToCgp
function that is working as expected for the interaction with the CGP endpoints. This change will fix the mismatching HTTP response status and the error messages displayed on the FE side. - Updated the
getErrorMessage
function on the FE side to handle all the possible error cases coming from the CGP endpoints.
Related issue
Closes #895
[#818] "Update Control Panel interaction to handle CGP policies in results"
New features and improvements
Update control panel test setion with CGP result
Related issue
Closes #818
[#864] RBAC group name is case sensitive
Bug fixes
- Add some explanation to the documentation about the RBAC group name
Related issue
Closes #864
[#896] Change add/edit/list for boolean policy
New features and improvements
- Rewrite queries to adapt to new schema
- Add mappers to add/edit actions to easily convert data to new schema
- Add query fragment to have only one data source
- Change types
- Remove "OK" status from governance policy
Breaking changes
- Policy table severity has been moved inside "content" field as key/value
- Add and edit actions now requires new fields ("booleanSpecific", "metricSpecific") to correctly handle metrics
Related issue
Closes #896
[#899] Remove resource_type from policy top failed query
Bug fixes
Fixed useless query parameter
Related issue
Closes #899
[#898] Fix that the three dots menu has only one option
Bug fixes
Allow edit on the governance policy row menu
Related issue
Closes #898
[#894] CGP name and description input field accepts too many characters
New features and improvements
- Added some detailed descriptions of all the fields in the policy editor wizard.
- Set a limit to name and description lengths.
Bug fixes
- Changed the cron field evaluator to be six-values-based instead of seven.
Related issue
Closes #894 #890 #882
[#824] New policies summary page
New features and improvements
- Add policy results page
- Add filters component
- Add insights table and relative components
- Add chart bar component
- Add the Top failed policy table and relative components
- Add utils for CGP policy results components
- Add CGP results page types and interfaces
- Add results page to Governance header menu
Related issue
Closes #824
[#880] Resolved a problem with pagination in the policies list
New features and improvements
- Add order by inside policies list query to improve readability
- Reset pagination when the policy is deleted
Bug fixes
Fix bug on pagination when policy status change
Related issue
Closes #880
[#874] Improvement graphics in 'Test policy against DP' section
New features and improvements
- Improve graphics of test policy when there are not resources.
- Change environments handling
- Move test panel label inside header
- Change launch tests query to adapt to new schema
Related issue
Closes #874
[#879] Solve dependency graph minor issues
New features and improvements
Use Roboto font and hide placeholders
Bug fixes
- Remove the wrong font weight on domain labels
- Remove placeholders from the graph sidebar
Breaking changes
Bump dependency graph version to 2.0.2
Related issue
Closes #879
[#816] Align string preprocessing between MarketplaceDomainPreprocessor and the method used to build the final descriptor
Bug fixes
- Updated the domain id generation when adding a new domain in order to match the value coming from the Data Product descriptor when deploying a Data Product.
Migrations
Note: in order to make this fix work you need to refresh all the affected domain entities using the Witboost UI. This action will trigger the domain insert with the updated value.
Related issue
Closes #816
[#875] CGP APIs wiring - policy status change & new version
New features and improvements
- Linked the FE to the new BE API to update the policy status.
- Linked the FE to the new BE API to create a new policy version.
Bug fixes
- Removed
Edit
option from policies inGrace
state. - Fixed the response parsing in case of errors to display them in a human-readable format inside the notification alert.
Related issue
Closes #875
[#852] Remove the "v" present everywhere as a prefix of many labels
New features and improvements
Letter "v" or "V" that stands for version everywhere on the control panel is removed (before any version value e.g. v0.1-SNAPSHOT becomes 0.1-SNAPSHOT)
Related issue
Closes #852
[#877] Removed wrong prefix for error messages in the dialogs
New features and improvements
Patched the error message to "Error" instead of reading the class name (this.constructor.name
) as they do in the source library.
Bug fixes
Strange letters will not appear before any error on the frontend.
Related issue
Closes #877
[#858] Autotest for CGP module
New features and improvements
Add new suit 10 for CGP module, contains test scenario that checks:
- clickable and existing "Add new policy" button;
- search feature;
- filtering feature;
- existence and the ability to move through the tabs of Policies, Scores and Metrics;
- workable menu for switching the environment (dropdown menu)
Also, it contains the chrome version update to ^111
Related issue
Closes #858
[#872] APIs wiring - policy new version
New features and improvements
- Added the policy new version API.
Related issue
Closes #872
[#804] Integrate the new dependency graph version
New features and improvements
- Integrate version 2.0.1 of the dependency graph.
- Properties and configurations are still the same since inherit from the previous version.
Related issue
Closes #804
[#847] Fixes for Dynamic Analysis Result
New features and improvements
Removed the moment
library and replaced it with luxon
Related issue
Closes #847
[#860] Creates API backend side to change policy status
New features and improvements
- Added the update policy status API.
Bug fixes
- Updated the evaluate policy API to be compliant to the defined specification.
- Fixed the policy update API to return correctly 400 in case of request validation error.
Related issue
Closes #860
[#873] Adapt queries to CGP updated schema
New features and improvements
Adapt queries to CGP updated schema
Related issue
Closes #873
[#870] Changes to some fields are not received on create/modify of a policy
New features and improvements
- Handle policy selector
- Handle policy tags
Related issue
Closes #870
[#861] Marketplace tab needs catalog.entity.read permission
Bug fixes
- Fix authorization request denied before checking if the entity requested needs no auth
Related issue
Closes #861
[#857] Commits and Snapshots are not created correctly
New features and improvements
The commit
and the new snapshot
operations were based on Backstage data, unlike descriptor generation which pulls the data from GitLab. With this refactor you can be sure that what you see on Preview Descriptor and on GitLab will also be committed/created with a new snapshot operation.
Bug fixes
The descriptor is now updated correctly when creating new snapshots or commits. This behavior is fixed for both commits and also with new snapshots.
Related issue
Closes #857
[#868] 'Add new policy' button does not work from time to time
Bug fixes
Fix bug on Add new policy button
Related issue
Closes #868
[#866] Manage no_resource outcome as a result of a policy test
New features and improvements
- Handle new
no_resource
outcome - Show OK and KO icons on evaluation results
- Reset test panel when launch a new test
Related issue
Closes #866
[#859] CGP APIs wiring - edit policy
New features and improvements
- Create proxy BE to BE to call coordinator update policy API
- Add wiring
Related issue
Closes #831 #859
[#867] Fix test-delpoy tests
New features and improvements
- 3-3 test has steps with deployment, and in fact, it should fail, but it works because every DP is passing the check for now. The biggest part of the test is working well except few moves.
- 3-5 tests. Negative tests are expected to fail in the deploy step (just to check up on the error), but while all tests are passed we can't get an error, so this step is skipped.
- 4-3 Test has some not working steps with policy validation check
Related issue
Closes #867
[#862] Fix create policy validation error
New features and improvements
- Created a new
platform-backend
plugin to contain all the services and utilities shared among all the backend plugins. - Moved the
ZodErrorHandler
express middleware to theplatform-backend
plugin to be used by multiple backend plugins and updated all the related references.
Bug fixes
- Fixed the policy create API that was returning 500 instead of 400 in case of request validation errors.
Related issue
Closes #862
[#805] Add marketplace policies and metrics result panel
New features and improvements
Insert the flags in the marketplace to give information on the result of the last run of each policy for each instance of the dataproduct present in the marketplace
Warning: Still missing version filter, can be fixed in another issue
Related issue
Closes #805 #808
[#863] Helm chart push to registry
New features and improvements
Updated ci pipeline to push Helm chart to Gitlab registry
Related issue
Closes #863
[#819] Handle policies scheduling in the create/edit panel
New features and improvements
- Add missing field to policy add form
- Wiring Add with api
- Fixing types
Related issue
Closes #819
[#790] Alphabetical order not always respected
Bug fixes
Order by on Domain name was ordering on the wrong column
Related issue
Closes #790
[#843] readsFrom and dependsOn urn are not updated when a new version is created
Bug fixes
This MR fixes a bug in a new version
process.
The MR allows you to evolve the versions of the components also contained in the readsFrom
and dependsOn
fields
Related issue
Closes #843
[#741] Change management email sending
New features and improvements
- Used Nodemailer library to deliver notifications by email
- Implemented new EmailService to handle email notification sending
- Added the config part related to the email configuration and authentication
- Added a fixed email template customizable using the related configuration section
- Supported both login and oauth2 (2LO, 3-legged) authentication methods
Related issue
Closes #741
[#832] CGP APIs wiring - policy test
New features and improvements
- Add
cgp.dump.sql
to seed database - Add environment field inside test page (related to #836)
- Add queries to fetch policy to test and related environments
- Add url parameter to get current policy environment
- Handle navigation error if user try to reach policies test page passing wrong parameters
Breaking changes
- Change types, to include new fields as you can see inside cgp tables schemas
- Add new interaction type enumerative (user2user, user2platform)
TBD
- Add API call to provisioning coordinator
/evaluate
to get evaluation report id. (Waiting for Marco MR)
Related issue
Closes #832 #836
[#850] Review Helm Chart for Best Practices
New features and improvements
refactored Helm chart:
- removed postgresql dependency
- added securityContext spec (optional)
- added resources spec (optional)
- added readinessProbe spec (optional)
- added livenessProbe spec (optional)
- added recommended labels
- removed service account token auto-mount
Related issue
Closes #850
[#848] Remove dependencies vulnerabilities in Witboost
Bug fixes
Removed all the HIGH and CRITICAL vulnerabilities found by Trivy scan of the application.
Related issue
Closes #848
[#845] Creates API backend side to test a policy
New features and improvements
- Added new API to contact CGP, launch policy test and retrieve the report id.
- Added new CGP endpoint parser.
Related issue
Closes #845
[#803] Catalog-info updates are not mapped in DP release
Bug fixes
When the input YAML contains multiple fields with the same names (differing only for casing) the catalog backend plugin rejects the registration by raising an error. Sadly, this affects also arrays where all the elements are strings, so an array like ["Test", "test"] would make the entity ingestion process fail.
Created a patch for @backstage/plugin-catalog-backend to avoid casing issues on the array.
Related issue
Closes #803
[#851] Autotest improvements (suites 3-5)
New features and improvements
- improvements for the autotests suites 3-5
Related issue
Closes #851
[#844] Creates API backend side to creates new policy
New features and improvements
- Connected policy creation to the corresponding CGP API
Related issue
Closes #844
[#853] Typos in docs and UI
Bug fixes
- UI: "For Request access" instead of "To request access"
- Docs: Markdown not correctly formatted.
Related issue
Closes #853
[#849] New helm chart
New features and improvements
Adds a new version of the helm chart without deleting the previous one.
Related issue
Closes #849
[#829] CGP APIs wiring - policies' list
New features and improvements
Added GRAPHQL queries for:
- get policies list
- get resource types
- get environments
Handle search by text with "name" OR "description" with debounce
Added governance-registry.dump.sql to seed:
- policy table
- policy_environment table
Delete previous implementation with REST api
Related issue
Closes #829
[#840] UI does not display data catalog and data product validation errors
Bug fixes
- Added the possibility to display the data product and data catalog validation errors.
Related issue
Closes #840
[#839] Fix control page async test id
Bug fixes
Fix control page async test id
Related issue
Closes #839
[#835] Data Sharing Agreement not displayed metadata
Bug fixes
- Fixed
DataSharingAgreement
field: changed all the occurrences ofDataSharingAgreements
with the version without the finals
Related issue
Closes #835
[#825] Improvements in part of the control panel test
New features and improvements
- Added fix when runner launch test in the control panel
- Improve existing tests
Related issue
Closes #825
[#833] Fix incorrect the name of the process
Bug fixes
- Fixed deploy/undeploy label now displayed consistently
- Fixed steps order that was changing at each deploy status update (now fixed sorted order)
- Fixed 4 warnings related to rendering issues
Related issue
Closes #833
[#821] Improve Policy test page
New features and improvements
- Refactor results/filters
- Add mock policy detail
Related issue
Closes #821
[#823] Make all the CGP UI pages read-only in case there is no permission
New features and improvements
Added check on governance permissions in the frontend
Related issue
Closes #823
[#820] Picker with except condition
New features and improvements
Entity Picker can now filter out unnecessary data/entries using code as shown:
domain:
title: Domain
type: string
description: the Domain of the Data Product
ui:field: EntityPicker
ui:options:
allowArbitraryValues: false
allowedKinds:
- Domain
excludeValues:
- domain:DPU
- domain:it
Related issue
Closes #820
[#768] New policy result page
New features and improvements
- Added error info box component
- Added utils for extracting information from compliant errors
- Added custom hook to handle scroll on uncontrolled editor component
- Updated policy detail component to handle compliant errors
- Added new interfaces for compliant errors
- Added class name extension on codemirror editor (to make highlighting possible)
- Added highlight functionalities to the text area editor
Related issue
Closes #768
[#822] Fix async validation FAILED status
Bug fixes
Fix polling trigger
Related issue
Closes #822
[#817] Autotests improvement
New features and improvements
Fixed problems:
- access control (question and notification) in the suite 06
- the stage when fixing descriptor before deploying in suite 03
- policies validating different suits
Closes #817
[#800] Create new autotests for the blueprint
New features and improvements
Adding a new test suit to the autotests blueprint feature
Related issue
Closes #800
[#814] Fix error when launch test in control panel
Bug fixes
Fix broken keyframe style
Related issue
Closes #814
[#770] Integration with async validation
New features and improvements
Add Async validation support to the control panel test card. To enable/disable asynchronous validation simply change the relative configuration
catalog:
enableAsyncValidation: true
Breaking changes
Updated provisioning coordinator endpoints in configuration with the respective version.
Migration
Update the configurations with the new coordinator endpoints. In particular, an existing configuration like
mesh:
provisioner:
baseUrl: http://localhost:8088/datamesh.provisioningcoordinator/v1
must be updated to something like
mesh:
provisioner:
baseUrl: http://localhost:8088/datamesh.provisioningcoordinator
Related issue
Closes #770
[#767] New policy testing page
New features and improvements
- Add icons for each action of the governance registry policies list
- Add new governance policy test page
- Mock API to retrieve tests for one policy
- Add polling to get tests already processed
Related issue
Closes #767
[#813] Template info doc
New features and improvements
Added a tutorial for adding documentation to entities
Related issue
Closes #813
[#715] Make change management customizable for customers
New features and improvements
- Implemented a notification event system: plugins can now trigger informative events by specifying the event name and the relevant entity reference.
- Customization options available for each event: can now personalize the text message, recipients, email, and notification sending settings for each event.
- It is now simpler to add functions to retrieve recipients and create new events.
- Known issues and future improvements*
- During the registration of a new entity it is not available in the catalog yet, so the display name cannot be retrieved.
- When creating the new version of a data product, both the new version event and the new register event are called, resulting in a double notification.
- We can explore further customization of the notification text.
Related issue
Closes #715
[#798] Wrong rendering of subtitle in docs
Bug fixes
Remove non-breaking space characters to correctly render documentation and readme.
Related issue
Closes #798
[#812] Cannot deploy a new version on Bitbucket
Bug fixes
Fix control panel actions for bitbucket.
Creating the url to fetch files from the repository no longer happens using backstage.io/source-location
annotations. The repoContentsUrl
method of the RepositoryManager
is used for which there is an implementation for each integration.
Related issue
Closes #812
[#809] Policies list page improvements
New features and improvements
- add icons to state and severity
- change labels of the column names
- remove "deleted" policies
- change the filters to add a clearable select
- add an ellipsis to the description (with a tooltip)
- add the date as described in the UI sketches
- add the icon to the menu entry
Related issue
Closes #809
[#731] Fix global policy that succeeds instead of failing
Bug fixes
- Fixed the Data Sharing Agreement naming convention to match the global policy
Related issue
Closes #731
[#811] Update chromedriver in wdio
Breaking changes
Updated crhomedriver version
Closes #811
[#799] Wrong json parsing during audit
Bug fixes
Catch the error when the parser fails to decode the json to collect the information for the audit.
Related issue
Closes #799
[#787] Policies insert/edit component
New features and improvements
Add Edit/Create policy page in the Registry section
Related issue
Closes #787
[#810] Fix Blueprint selected data product value
Bug fixes
Fix Blueprint selected data product value
Related issue
Closes #810
[#801] Enable new policies list page from app config
New features and improvements
Show/hide new policies list page from app-config.yaml
Related issue
Closes #801
[#802] Fix missing token in template blueprint processor
Bug fixes
Add missing token in template blueprint processor step
Related issue
Closes #802
[#769] New policy details component
New features and improvements
- Added new policy detail component
- Added new policy overview component (Accordion)
- Added new policy editor component
Related issue
Closes #769
[#795] Autotest improvements
New features and improvements
- Added severity to "it" blocks
- Added features description to "it" blocks
- Existing tests improved
Related issue
Closes #795
[#793] Resolve "Blueprint using error"
Bug fixes
- Added token on catalog API get entity call
- Updated relations on blueprint entity dependency graph Added new logo
Related issue
Closes #793
[#766] New policies list page
New features and improvements
Add the following plugins:
- wb-governance, which includes a new registry page
- wb-governance-backend, with proxy to send a request to the coordinator (data is mocked since the real one is still in progress)
- wb-governance-common, to share types among other plugins
The data model has been created following the interface specification
Related issue
Closes #766
[#790] Add custom sorting for the description column to ignore case
Bug fixes
Added a custom sorting on the description column on the data product catalog to sort ignoring case
Related issue
Closes #790
[#780] Authenticate catalog-extension calls only with server-to-server token
New features and improvements
- Authentication for
catalog-extension-backend
routes only for calls coming from the backend. - Getting groups ancestors in getDataProductAccess is now done by a route in catalog-extension-backend
Related issue
Closes #780
[#774] Add a new test to check accesses and requests
New features and improvements
- Adding a new test which makes requests and asks a question
- Fixing existing tests
Related issue
Closes #774
[#792] Make notifications and marketplace routers able to handle backstage entity refs
New features and improvements
- Notifications and marketplace routers now take as input backstage entity refs (
user:default/name.surname...
) and transform them into compact entity refs (user:name.surname...
) - Improve error messages in the marketplace
Related issue
Closes #792
[#789] Error when trying to ask a question
Bug fixes
Fix user entity format in the Data Products page
Related issue
Closes #789
[#783] New version pop-up error
Bug fixes
- Fix a bug where the new version fails if there are no consumers
- Add a check for an empty array in the Knex query
- Remove unused code which retrieved data product access requests, now handled by ACL router
Related issue
Closes #783
[#764] Use Zod as the validator in notification-backend
New features and improvements
Use zod
as the validator for objects in the notification backend plugin
Related issue
Closes #764
[#772] Schema in OP details is not scrollable
Bug fixes
Fix OP schema scroll
Related issue
Closes #772
[#778] Fix "could not load user information" error flashing
Bug fixes
- Fix "could not load user information" error flashing
- Fix "Could not load Data Product Instance" display error
Related issue
Closes #778 #735
[#777] Update favicon
Bug fixes
Updated favicon
Related issue
Closes #777
[#744] Create the new Blueprint pages
New features and improvements
Implement the new Blueprint page
Related issue
Closes #744
[#775] Fix external-secrets typo
Bug fixes
Fix secret name typo
Related issue
Closes #775
[#755] Migrate from vault to external secrets
New features and improvements
This MR drops hashicorp vault as secret backend and uses external secrets
Related issue
Closes #755
[#773] Add trim in IdentifierPicker
New features and improvements
The trailing and leading dashes are removed from the identifier when there is a leading/trailing space in the name
Related issue
Closes #773
[#763] Newsletter of pipeline results
New features and improvements
- Fix 05_04 test
- Small errors correction in the README file
- Prepare page object files for the new test 06
Closes #763
[#694] Notify DP owners when a new domain, template, or data product is registered
New features and improvements
- Send an informative notification when a new location is registered and the entity type is domain, template, or system (data product).
- Remove unused code in the notification router, add some minor improvements
- Move NotificationApi to wb-notification-common
- Create
wb-catalog-extension-backend
, a new plugin that exposes GET routes and is able to directly access therelations
DB.
Related issue
Closes #694
[#752] Registering more than one component from one template
New features and improvements
Publishing in multiple repositories
It is possible to publish to more than one repository starting from one template. In that case, you would probably want to create two separate fetch
, publish
and register
phases. Here we are introducing the input.sourcePath
value in the publish phase which is used to read from the folder specified in the input.targetPath
of the fetch phase so these two variables must be an exact match. An example of this is:
steps:
- id: templateOne
name: Fetch Skeleton + Template
action: fetch:template
input:
url: ./skeleton
targetPath: '${{ parameters.rootDirectory }}'
values:
...
identifier: '${{ parameters.identifier }}One'
destination: '${{ parameters.repoUrl | parseRepoUrl }}One'
...
- id: publishOne
name: Publish
action: witboostMeshComponent:publish:gitlab
input:
allowedHosts: ['gitlab.com']
description: 'This is ${{ parameters.name }}'
repoUrl: '${{ parameters.repoUrl }}'
rootDirectory: '${{ parameters.rootDirectory }}'
dataproduct: '${{ parameters.dataproduct }}'
- id: registerOne
name: Register
action: catalog:register
input:
repoContentsUrl: '${{ steps.publishOne.output.repoContentsUrl }}'
catalogInfoPath: '/${{ parameters.rootDirectory }}/catalog-info.yaml'
- id: templateTwo
name: Fetch Skeleton + Template
action: fetch:template
input:
url: ./skeleton
targetPath: '${{ parameters.rootDirectory }}/two'
values:
...
identifier: '${{ parameters.identifier }}Two'
destination: '${{ parameters.repoUrl | parseRepoUrl }}Two'
...
- id: publishTwo
name: Publish
action: witboostMeshComponent:publish:gitlab
input:
allowedHosts: ['gitlab.com']
description: 'This is ${{ parameters.name }}'
repoUrl: '${{ parameters.repoUrl }}Two'
rootDirectory: '${{ parameters.rootDirectory }}'
dataproduct: '${{ parameters.dataproduct }}'
sourcePath: 'two'
- id: registerTwo
name: Register
action: catalog:register
input:
repoContentsUrl: '${{ steps.publishTwo.output.repoContentsUrl }}'
catalogInfoPath: '/${{ parameters.rootDirectory }}/catalog-info.yaml'
output:
links:
- title: Repository
url: '${{ steps.publish.output.remoteUrl }}'
- title: Open in catalog
icon: catalog
entityRef: '${{ steps.register.output.entityRef }}'
- title: Repository
url: '${{ steps.publishTwo.output.remoteUrl }}'
- title: Open in catalog
icon: catalog
entityRef: '${{ steps.registerTwo.output.entityRef }}'
Be really careful NOT to use special characters(for example -
) in the id of the publish phase!
Breaking changes
Introduced input.sourcePath
value in the publish
phase which is a new reserved keyword.
For old templates, check that they are not using it already in order not to break them.
Related issue
Closes #752
[#743] Define the new Blueprint entity
New features and improvements
- Created a new blueprint entity
- Added processor
- Updated the builder
- Refactoring catalog relation mapping
Related issue
Closes #743
[#757] Add a new section in README for autotest
New features and improvements
- A new section in the README document that describes and defines the impact of autotests
- Fix 03_03 test
Related issue
Closes #757
[#762] Add authorization in GET dataProductAccess
Bug fixes
Add authorization when calling GET dataProductAccess
Related issue
Closes #762
[#758] Error message is not displayed when accessing to Governance Policy section
Bug fixes
Show an error message if the governance policy section doesn't work properly.
Related issue
Closes #758
[#760] Super domain temp in Marketplace's DP Graph
Bug fixes
- In the Dp Graph handle the case when a domain contains no data product but only other domains.
Related issue
Closes #760
[#761] Rectify provisioning coordinator url in config files
Bug fixes
Update provisioning coordinator URL in local config files.
Related issue
Closes #761
[#759] Technical Information card displayed on values not handled
Bug fixes
- Fixed a bug where inconsistent data is rendered when we have invalid data inside the descriptor
- Updated documentation to better explain how the technical information part works
Related issue
Closes #759
[#529] DependsOn and identifiers mismatch
Bug fixes
Fix bug on wrong identifiers generated for capital case letters found in domain entities
Related issue
Closes #529
[#756] Update the build yarn script command in the GETTINGSTARTED
New features and improvements
Updated details of the GETTINGSTARTED document.
Related issue
Closes #756
[#749] Autotest to check removing release after deletion
New features and improvements
- Added a new test to check that release will be deleted after deleting the relevant DP
- Fix test 01_02 (update selectors of extensions)
Closes #749
[#662] Use the same token guard in all the APIs
New features and improvements
Delete duplicate bearer token getter method. We discarded other proposed solutions since they don't fit our needs, and all the catalog APIs already check if the current user is authenticated.
Related issue
Closes #662
Provisioning Coordinator
Changelog v1.0.0
[#387] Add validation task display name
New features and improvements
Add displayName in table task
Related issue
Closes #387
[#389] CGP fix migration script
Bug fixes
- Added UUID extension in validation policies migration script
- Fixed
cgp.
missing in some tables references
Related issue
Closes #389
[#388] introduce a resourceDisplayName in evaluation result
New features and improvements
Add configuration to identify which fields make up the resource-display-name fields. The new configuration is
resource-types = [
{
name = "data_product"
configuration = {
resource-name = "id"
resource-display-name = ["domain", "name", "version"]
resource-filter = "version"
}
resolver-configuration = {
url = "http://localhost:8088/datamesh.provisioningcoordinator"
path = "v1/resolve"
}
}
]
Add new column in evaluation_result
table to insert this information (resource_display_name
)
Related issue
Closes #388
[#382] Additional transitions for policies in grace status
New features and improvements
- Added disabled-grace status, new version release of policy is possible from that status.
Breaking changes
- Breaking change to the UI, it needs to add disabled-grace status for displaying and as a transition to and from grace status
Migration
- Removed unique (name, version) constraint from the DB
Bug fixes
- Fixed releasing a new version of the policy when that same version number was already deleted.
Related issue
Closes #382
[#381] Breaking change policy returns error when executing on a not yet deployed data product
Bug fixes
Breaking change policy does not fail for non deployed data products
Related issue
Closes #381
[#383] Change the coordinator error
Bug fixes
- Fixed the error message in case of exception
Related issue
Closes #383
[#310] Persist policy history
New features and improvements
Policy updates history is persisted
Related issue
Closes #310
[#332] CGP documentation
New features and improvements
Introduced the documentation for the CGP module.
Related issue
Closes #332
[#380] Remove FailedWithError and insert in result the error message
Bug fixes
- Removed FailedWithError status
Related issue
Closes #380
[#379] Refactor ExecutionEvent
New features and improvements
This PR tries to simplify the code.
- use
ExecutorResult
insteadExecutionEvent
- change level at
NotExecuted
outcome. NotExecuted causes the report to beCompletedWithError
- empty policy return a outcome
ok
in evaluation_result
Related issue
Closes #379
[#378] /v1/provisioningplan return a wrong count in pagination
Bug fixes
- Fixed count for provisioning plans
- Refactored code
- Fixed limit not displayed in the PaginationModel
Related issue
Closes #378
[#343] CGP - Processing values added as a selector
Bug fixes
- Fixed resource selectors
Related issue
Closes #343
[#373] Fix the NotExecuted and Pending result encoder
Bug fixes
- Moved the outcome field from the body of NotExecutedEvaluationResult and PendingEvaluationResult to the attribute list.
Related issue
Closes #373
[#369] The name of the policy is not unique
New features and improvements
- Added check for unique policy name
Related issue
Closes #369
[#351] Move the model conversion outside the scheduler
Breaking changes
- The UI must be aligned with the returning object of
/v1/provisioningplan
API
Bug fixes
- Moved the EvaluationReport conversion outside the CueValidationTask
- Now the value that is saved in the database is a complete report
Related issue
Closes #351
[#333] Get total count of Provisioning Plans in the get response
New features and improvements
Modifies the returned object of GET v1/provisioningplan
to include the pagination results
Breaking changes
The schema of the returned object of the mentioned endpoint will change
Migration
Modify the logic of the caller to accept the correct object
Related issue
Closes #333
[#337] Evaluation report: multiple evaluation results with same policy id and resource name
New features and improvements
- Added validation to the push of evaluation results so a single resource cannot have multiple results from the same policy
- Added functionalities to Outcome enum
Breaking changes
- The couple (policyId, resource.name) must be unique among the list of sent evaluation results
Bug fixes
- Fixes an error where Outcome enum parsing in the CGP could throw an error rather than being handled accordingly
Related issue
Closes #337
[#371] [CGP] Environment and result_filter fields not filled in the database
Bug fixes
- Now the CGP module saves the result_filter in the evaluation_result table
- We can avoid to save also the environment since it is a already saved in the evaluation_report table
Related issue
Closes #371
[#370] fix Version generator script
New features and improvements
Added Checks for symbols at the end of the string and removal.
Bug fixes
Crash of deployment on dev
Related issue
Closes #370
[#368] Pushing evaluation results with errors to boolean policy results in error
New features and improvements
- The satifiesPolicy attribute of an EvaluationResultDto is now set depending on the existence of errors on a EvaluationResult
Bug fixes
- Fixes a bug where the CGP would throw an error when pushing evaluation results with non-empty errors to a boolean policy
Related issue
Closes #368
[#350] Fix 'validate' feature on a specific resource
New features and improvements
This PR contains the following changes:
- EvaluationResult has a new column
policy_status
- EvaluationResult has a new outcome value
ERROR_NOT_BLOCKING
- Removes outcome 'no_resource'. Each Report contains a list of EvaluationResult, one for each Resource. If there are no resources, the list is empty.
Related issue
Closes #350
[#360] feature: Generalize marketplace-compliant services
New features and improvements
- Implementation: is now possible to define more than one marketplace service in the coordinator's configuration
- Implementation:
isBlocking
(default:true
) flag on task commands. If false and the corresponding task returns an error, it will not cause the provisioning plan to fail - Modification:
MarketplaceTaskFunction
andMarketplaceAclTaskFunction
have been replaced byMarketplaceTasksBuilder
Related issue
Closes #360
[#358] hotfix: Missing checks for passive policies
New features and improvements
- Added checks for the creation of passive policies
- Added checks for the presence of metric/boolean specific values according the resultType field value
Bug fixes
- A Passive Policy can now be either a metric or boolean policy
- A Passive Policy will now be created only if it has timing runtime without a cron expression
- Fixes a bug where the CGP accepted as valid a metric policy with boolean specific values and viceversa
Related issue
Closes #358
[#361] Breaking change - resource composition is not configurable
New features and improvements
Now how the breaking change executor compose the two resources is configurable
Related issue
Closes #361
[#366] [CGP] Cron expression: fix DayOfWeek range
New features and improvements
- Modification: new cron expression converter's DayOfWeek range: 0-6
Related issue
Closes #366
[#338] Persist data catalog info
New features and improvements
- Data catalog now takes enriched component descriptors (with deploy info from specific provisioners)
- Data catalog can further enrich deploy info with its data
Related issue
Closes #338
[#349] Cannot create policy new version
New features and improvements
- Moved logic for new version to domain layer
Migration
- Removed the unique constraint on (groupId, version) for policies
Bug fixes
- Can now release a new version correctly, from the latest version
- Deleting a policy doesn't throw an error
Related Issues
Closes #349
[#347] Trigger Downstream pipeline
New features and improvements
- added new job to trigger a Downstream pipeline
Related issue
Closes #347
[#359] "Clarify error messages for CGP policy executions"
New features and improvements
PolicyExecutionResult
has been split into ExecutorResult
and ExecutionEvent
.
When an evaluation ends without any internal error or anomaly, i.e. outcome is ok, error, info, warning, an EvaluationResult
will be created and an ExecutorResult
will describe the details in case there is a non compliant descriptor.
When an unexpected error occurs or no resources are found, a NotExecutedEvaluationResult
will be created and an ExecutionEvent
will explain what happened (platform failures included).
Breaking changes
- Introduced outcome
not_executed
. On UI side, this is not handled but it is not causing any issue
Related issue
Closes #359
[#365] Cron expression: always convert star-slash notation
New features and improvements
- Modification: the cron star-slash notation is now always converted to its equivalent extended form
Related issue
Closes #365
[#356] Thresholds of external metric policy are not being persisted
Bug fixes
Metric specific values (i.e. thresholds) are now correctly persisted
Related issue
Closes #356
[#345] Ability to roll-back policy status
New features and improvements
- Added the possibility to filter in and out deleted policies from the query by policyId
- Update of a policy can now be made only when in Draft status and doesn't modify the status of it
Bug fixes
- Fixes a bug where it allowed the user to update the policy in any stage
- Fixes a bug where it allowed the user to "revive" a deleted policy by editing it
- Fixes a bug where querying for a deleted policy would actually retrieve it
Related issue
Closes #345
[#354] Set UTC as cron scheduler fixed time zone
New features and improvements
Modification: the cron scheduler now uses the UTC time zone instead of the system default one
Related issue
Closes #354
[#353] add severity to passive policy
New features and improvements
Add severity to passive policy
Related issue
Closes #353
[#352] Resolve "Preprocessing should generate a list of resources"
New features and improvements
- Added unpacking feature for
CuePreprocessStep
. If the cue script returns a list of elements, the pre-process step will create one resource per item
Related issue
Closes #352
[#344] preprocessor script boundaries
Bug fixes
- Added brackets around user code for cue pre-process
- Fixed evaluation report not to end up as completed when all results are ended with status error
- Fixed invalid temp file name for cue export executor
Related issue
Closes #344 UI#901
[#348] Modify the ValidationResult object to save in the database
Bug fixes
CueValidationTask return a list of result, one for each applied policy
Related issue
Closes #348
[#334] Valid cron expression is invalidated
Bug fixes
Adds a custom converter to adjust cron expressions to the format cron4s uses
Related issue
Closes #334
[#340] CGP endless test launch
Bug fixes
- Fixed report being pending when an error occurs in an evaluation task
- Fixed TransformStep error at start up time
Related issue
Closes #340
[#346] "fix creation breaking change policy"
Bug fixes
Fix decode for breaking_change value.
Related issue
Closes #346
[#341] External policy unable to find resource-name config when testing
New features and improvements
- Removed table from the supported resource_type values, since it not supported yet
Breaking changes
All policies that have resource_type=table will be invalidated
Migration
Edit all policies with resource_type=table to resource_type=data_product or delete them
Related issue
Closes #341
[#318] Coordinator should send specific provisioner results to CGP
New features and improvements
- Implementation: scheduler task to send validation results to the cgp (it can be integrated in the validation workflow when EvaluatorReportPort.save() is ready and fully functional)
- Modification: validation task results decoding methods are now grouped into a decoder object
Related issue
Closes #318
[#335] Fix policy deletion (update status API)
Bug fixes
A policy can now be deleted regardless of the status it's in
Related issue
Closes #335
[#339] Remove "tag" doesn't work
Bug fixes
Remove tag from policies
Related issue
Closes #339
[#308] CGP is allowing to evaluate a non-evaluable policy
New features and improvements
- Policy is now creating an EvaluationResult whenever a precondition fails (e.g. policy status does not allow for evaluation/testing)
Related issue
Closes #308
[#330] CGP - Refactor metrics management
New features and improvements
refactoring metrics management
Related issue
Closes #330
[#336] CGP - execute selectors before preprocessing
New features and improvements
- Switched operands order of selectors and preprocessing in Evaluator
Related issue
Closes #336
[#323] Coordinator have to throw validation error if cue is not present
New features and improvements
- Refactored the method for decoding the CGP validation result
- Aligned current validation results with the one returned by /v1/provisioningplan
Related issue
Closes #323
[#326] Fix policy new version API error
New features and improvements
- Release version API now returns 400 on validation error
Related issue
Closes #326
[#329] Mockito fails randomly during ci
Bug fixes
fix mockito random fail
Related issue
Closes #329
[#327] Exclude non-evaluable policies from scheduled execution
New features and improvements
The PolicySchedulingService doesn't schedule anymore (or unschedules, in case of policy updates) policies in a non-evaluable status.
Related issue
Closes #327
[#325] Refactor multi-jvm-tests
New features and improvements
multi-jvm to single-jvm integration tests
Related issue
Closes #325
[#312] A grace or deprecated policy should only throw warnings
New features and improvements
- Added
info
,warning
anderror
to the outcome of aEvaluationResult
. - Outcome is chosen based on severity and the status of the Policy
Closes #312
[#316] The V4 migration script does not work
New features and improvements
- added relation to table evaluation_result to policy using policy_id
- added relation to table evaluation_result to resource_type using resource_type field
Related issue
Closes #316
[#322] Evaluation result should have a generic free json field
New features and improvements
added details json field to evaluation result
Related issue
Closes #322
[#315] Improve error message in create/edit policy
New features and improvements
- Modified policy lifecycle error handling, to give more detailed errors
- Modified evaluation report lifecycle, to give more detailed and accurate errors
Related issue
Closes #315
[#305] Return an error in case of disabled data-deletion configuration
New features and improvements
Return a validation error instead of defaulting the removeData
flag to false, when the data-deletion
configuration is not enabled
Related issue
Closes #305
[#299] CGP Cron Scheduler - Persist scheduled jobs in the database
New features and improvements
- Modification: scheduled jobs are now persisted in a database table
- Implementation: cron jobs table and repository
- Implementation: cron job specification domain concept
- Implementation: policy execution job domain concept
- Implementation: local cron job factory
- Implementation:
reload-on-start
cron policies configuration - Implementation: reload cron policies endpoint
Related issue
Closes #299
[#309] Return whole policy object on creation
New features and improvements
- Modified the return of the POST /policies and PUT /policies/{policyId} endpoints to return the whole newly created policy
Migration
- Modify the parsing of the response of the endpoints to adjust to the new returned schema
Related issue
Closes #309
[#321] the configuration name should be 'reference.conf'
Closes #321
[#307] Push Evaluation Report is not persisting in the db
Bug fixes
- Called upsert method at the end of the save method
- Refactored save method
Related issue
Closes #307
[#302] CGP add preprocess into policy
New features and improvements
Preprocessing configuration for policies
Related issue
Closes #302
[#311] Fixed state transition
Bug fixes
- Fixed state transition from disabled to enabled.
Closes #311
[#262] Initialize a Database seeding script for local testing
New features and improvements
- Created a database seeding SQL script for local testing, according to migration V15
- Created a Postman collection for CGP endpoints
Bug fixes
- Fixed a bug where filtering by environments would always return an empty list of policies
- Fixed a bug where the outcome enumeration was all caps in some parts and in lowercase in others, causing conflicts.
Related issue
Closes #262
[#314] resource_type doesn't have a foreign key relationship in db
New features and improvements
Policy table has a reference to resource_type table
Related issue
Closes #314
[#303] Missing cron expression field in PolicyCreationModel
Bug fixes
It is now possible to pass a cron expression as an optional filed in the PolicyCreationModel
Related issue
Closes #303
[#313] A grace policy shouldn't be editable
Bug fixes
update forbidden for policies in status "grace"
Related issue
Closes #313
[#306] Missing Validation task action mapping
Bug fixes
Added missing mapping for VALIDATION plans
Related issue
Closes #306
[#297] Insert the version field in the evaluation_report table
New features and improvements
- Added result_filter migration
- Changed "enrichWithName" method in order to include the version
- Fetched resource-filter and resource-name from configuration
Related issue
Closes #297
[#288] Passive policies
New features and improvements
- Added passive policies in the domain layer.
- Added a check for the validity of the passive policy(interactionType and timing fields).
- Evaluation a passive policy returns an error.
Related issue
Closes #288
[289] Fix CGP selectors run by evaluator
Bug fixes
Policy selectors are now always being run by the Evaluator
Related issue
Closes #289
[#304] Helm chart push to registry
New features and improvements
Updated ci pipeline to push Helm chart to Gitlab registry
Related issue
Closes #304
[#301] CGP - create interface specification for external services
New features and improvements
Interface specification for perimeter resolver services and external policies providers
Related issue
Closes #301
[#222] Switch coordinator validation to new CGP
New features and improvements
- Introduced cgp.evaluate for the "Launch test"
- Introduced migration script for migrating old validations_policies to cgp
- Added waitForCompletion method while executing CueValidationTask
Related issue
Closes #222, #273
[#281] Application and domain model names are conflicting
New features and improvements
- Created a new ADR to address the naming convention of the CGP application and domain layer models
- Modified the application layer models to follow the ADR decision
- Separated API Service implementation in two classes, one for coordinator and one for governance platform
Breaking changes
- All of the models will now follow the naming convention, so most of the class names will change accordingly (specially the ones defined in the interface specification)
- New API for CGP will have the new "GovernancePlatform" tag and the implementation will be done in the GovernancePlatformApiServiceImpl rather than the provisioning coordinator
Migration
When developing, have in mind the name change and work with the new names. When developing new classes in the future, follow the guidelines given in the ADR
Related issue
Closes #281
[#290] Evaluate error trying to decode value on failed cursor
New features and improvements
- Evaluation result can now contain optionally have a resource
- Evaluation result can assume status NO_RESOURCE
Bug fixes
- Fixed a bug causing evaluation report to be on status Complete, while still having pending results
Related issue
Closes #290
[#263] CGP scheduler should accept environment field
New features and improvements
The policy scheduler now schedules a cron policy in all the policy's environments
Related issue
Closes #263
[#284] Dependencies' vulnerabilities in witboost
New features and improvements
Changed the Scala version and some dependencies versions to resolve some of the major known vulnerabilities of the code. The code was updated accordingly to remove deprecations.
A known vulnerability linked to the snakeyaml
library was not solved since circe
and jackson
did not release a fixed version yet.
Related issue
Closes #284
[#293] CGP resource types upsert is not working
Bug fixes
upsert resource type now works
Related issue
Closes #293
[#294] Metric policies are saved with wrong executionStrategy
Bug fixes
Metric policy has now the correct execution strategy
Related issue
Closes #294
[#267] Modify the update API request
New features and improvements
- Updated the interface-specification and consequently all the affected files to include all the expected policy fields for the update policy API.
Related issue
Closes #267
[#286] Review Helm Chart for Best Practices
New features and improvements
refactored Helm chart:
- added securityContext spec (optional)
- added resources spec (optional)
- added readinessProbe spec (optional)
- added livenessProbe spec (optional)
- added recommended labels
- removed service account token auto-mount
Related issue
Closes #286
[#292] fix pipeline
Bug fixes
- Added coalesce
Related issue
Closes #292
[#256] send to specific provisioner the previous descriptor (with additional logic)
New features and improvements
- Modified: Scheduler soft dependencies to make them tolerant to NotStarted parents
- Modified: ProvisioningOperationStatePersistenceTask in order to merge deploy info in case of not started provisioning tasks
- Implemented: partial undeploy
- Implemented: deploy cleanup tasks
- Implemented: 'removeData' field and 'data-deletion' configuration
Related issue
Closes #256
[#287] Add the version field in the execution_plan table
New features and improvements
- Added version field in execution_plan table
- Modified CRUD operations for version field
- Modified /v1/provisioningplan API in order to include version filter
Related issue
Closes #287
[#258] Check field missing and add implementation logic
New features and improvements
- Persisted context, timing and interaction type attributes for the policy, integrating them in all the lifecycle layers
- When retrieving the policies to schedule, only the policies with Timing runtime will be retrieved
- When retrieving the policies to evaluate a resource, only the policies with the Timing deployment will be retrieved
Breaking changes
- The Policy classes and companion objects now accept the new attribute values
- Policies with runtime timing now must contain a cron expression to be valid, and deployment policies must not have one
Related issue
Closes #258
[#279] CGP async evaluator
New features and improvements
- Evaluations are now performed asynchronously
Related issue
Closes #279
[#285] CGP - add selectors field
New features and improvements
Persisted selectors
Related issue
Closes #285
[#283] Paginate GET v1/provisioningplan
New features and improvements
Added optional offset, limit and ordering parameters to v1/provisioningplan get method. Default ordering is descending, if either offset or limit (or both) is left out, pagination is not applied.
Related issue
Closes #283
[#261] Initialize a Postman collection
New features and improvements
Initialized coordinator's postman collection
Related issue
Closes #261
[#282] CGP - add tags filters
New features and improvements
Tag support for policies
Related issue
Closes #282
[#280] CGP - add status column on evaluation result
New features and improvements
Changed the implementation of EvaluationResult outcome. Values are ok
, error
and pending
, before they were ok
, info
, warn
, error
.
Added an outcome field to the evaluation_result table.
Closes #280
[#278] Bug on Policy evaluate post API
Bug fixes
- remove hard coded environment in ´getResources´ method
- used the yaml parser to parse the content of the perimeterResolver response
Related issue
Closes #278
[#270] parametric async validate
New features and improvements
Configurable async validate during deployment
Related issue
Closes #270
[#254] Evaluator results and reports should have an environment field
New features and improvements
Added the environment field to the evaluation report, to all layers(infra, domain, api)
Related issue
Closes #254
[#275] improve tests
New features and improvements
Improved overall testing
Related issue
Closes #275
[#276] Improvement Test
New features and improvements
This PR simplifies test maintainability.
A builder was created for the instantiated CuePolicy class. In this way you will have a centralized place where the CuePolicy is created and in case of modification of the field you have only one point to act
To create a instance of CuePolicy:
val cuePolicy = CuePolicyFaker().build()
To create a instance of CuePolicy with specific value for some fields:
CuePolicyFaker()
.withPolicyId("policyId-5")
.withStatus(Status.draft)
.withEnvironments(List(devEnv, prodEnv))
.build()
Related issue
Closes #276
[#274] Create a mock of a Data Catalog
New features and improvements
- Data Catalog plugin now has a launchable mock.
Related issue
Closes #274
[#264] CGP selectors should be run by evaluator
New features and improvements
- Added a filtering layer on the resource perimeter resolver
Related issue
Closes #264
[#249] CGP - Retrieve evaluation report and results
New features and improvements
- Save evaluation results now accepts a list of results
- Retrieve evaluation report and its results by id
- Retrieve all evaluation reports
- Retrieve all evaluation reports related to a single policy given the policy id
Related issue
Closes #249
[#266] Modify the creation API request
New features and improvements
- Modified create API
Related issue
Closes #266
[#272] New helm chart
New features and improvements
This MR adds a new helm chart, which will be dependency of the umbrella chart
Related issue
Closes #272
[#271] Resolve "Test Policy"
New features and improvements
This MR Contains a series of improvements and fixes to successfully terminate an endToEnd test to evaluate a policy on deployed resources present in the system.
Breaking changes
- The API /v1/resolve require a new query params environment
Migration
- The key
resource-types.[].resolver-configuration.query-format
is no longer required in the coordinator configuration
Related issue
Closes #271
[#257] Breaking change policy uses environment
Related issue
Closes #257
[#268] cgp - refactoring mapping application layer -> domain layer
New features and improvements
Better mapping between layers
Related issue
Closes #268
[#221] CGP - metrics management
New features and improvements
- metrics management
- external executor
Related issue
Closes #221
[#265] Resource resolver should send a proper json on not found
Bug fixes
- Now the resolver receives a proper json when fetching resources from external endpoint
Related issue
Closes #265
[#245] CGP - create policy test endpoint
New features and improvements
- Added endpoint for testing policies
/v1/governance-platform/policies/{id}/evaluate
. will return a report id
Bug fixes
- Fixed bug in create policy and select environment by policy id. join key was wrong.
Related issue
Closes #245
[#217] CGP - scheduled policies
New features and improvements
- Local cron job scheduler based on fs2-cron library
- Policy scheduling service
Related issue
Closes #217
[#252] remove policyinfrastructureport
Related issue
Closes #252
[#228] CGP - Define filter
New features and improvements
- Added filters to policy query
Related issue
Closes #228
[#219] CGP - breaking change discovery
New features and improvements
Breaking change policies
Related issue
Closes #219
[#250] Add policyId relation between evaluation_result and policy table
Bug fixes
- Added policy_id foreign key relation
Related issue
Closes #250
[#235] CGP Policies can be filtered by environment
New features and improvements
- Added environment's tables in CGP module
- Added repositories relative to the above tables
- Modified query for creation and update in order to include the environments field
- Update the interface-specification in order to include the environments in the DTOs
- Added seeding method for environment table
Related issue
Closes #235
[#239] Deployment unit
New features and improvements
The coordinator now can deploy single components
Related issue
Closes #239
[#248] Fix environment override in configuration
Related issue
Closes #248
[#248] CGP transactor not started in coordinator main
Bug fixes
The cgp related tables are now created
Related issue
Closes #248
[#246] Async validation must return a result also with FAILED status
Bug fixes
- Fixed decodeAsyncValidation method
Related issue
Closes #246
[#218] CGP - preprocessing
New features and improvements
- Added
TransformStep
trait, which allows to supply a specific resourceType a list of transformation steps - Added
CueTransformStep
implementation to applycue export
functionality to descriptors - Added
CueExecutor
as a common ground executor for Cue scripts, both foreval
andexport
commands
Related issue
Closes #218
[#236] Enable the functionality to release a new policy version
Related issue
Closes #236
[#241] Unit Test Bug on Windows - SchedulerV2Spec
Bug fixes
Fixed non-deterministically failing SchedulerV2Spec tests
Related issue
Closes #241
[#207] Send to specific provisioner it's own previous completed descriptor
New features and improvements
When calling the provision/unprovison endpoint of a specific provisioner, the coordinator will now send the latest enriched (with provisioning info) data product descriptor, resulting from the last (un)provisioning operation (if any)
Related issue
Closes #207
[#243] Check resource type existence when creating related objects
New features and improvements
- Added check for existence of resource type when creating or updating a Policy or an EvaluationReport
- Improved error handling in policy lifecycle
Related issue
Closes #243
[#244] Modify the specific provisioners endpoints for async validation
Bug fixes
- Added missing v2 prefix to getStatus endpoint of async validation.
Related issue
Closes #244
[#229] CGP - push validation result use case
New features and improvements
- New endpoint to push result report
Related issue
Closes #229
[#242] Remove old scheduler implementation
Bug fixes
Removed old scheduler
Related issue
Closes #242
[#231] CGP - listing resource types
New features and improvements
- Introduced new API GET /resource-types to query the existing resource types
- Modified the structure of the API endpoints to be more RESTful friendly
- Fixed some errors
Breaking changes
- New API endpoint names
Migration
- Check the new interface specification and modify the API URLs of the calls accordingly
Related issue
Closes #231
[#227] CGP - Modify policy model - add id
Related issue
Closes #227
[#213] Include the status field for SpecificProvisionerHttpTask
New features and improvements
- Added status field for async validations
- Added v1 and v2 to the requestPaths
Related issue
Closes #213
[#240] hotfix: Bug - UpdateACL workflow
Bug fixes
Fixed some minor misalignments between v1 tasks and v2 ones.
Related issue
Closes #240
[#226] CGP - Logic of policy fetch is incorrect
Bug fixes
- Lifecycle port now correctly handles offset and limit.
- Lifecycle port now correctly retrieves policies (i.e. it filters out policies which are deleted from the result set)
Related issue
Closes #226
[#205] Store the complete provisioning result
New features and improvements
- Implementations for storing a complete aggregate of the provisioning results returned by each specific provisioner
- Migration from v1 tasks to v2 tasks
Related issue
Closes #205, #233, #220
[#238] configure resource type definition
New features and improvements
- Refactored ResolverConfiguration to integrate it with ResourceType
Related issue
Closes #238
[#232] CGP - Cue fields validation not done
New features and improvements
- Added
BetterEnum
trait to handle case insensitive serialization and deserialization of enums to/from strings
Bug fixes
- Cue policies now require that at least an empty cue script is passed.
Related issue
Closes #232
[#237] Master branch build docker push fails
Bug fixes
Disable the push image sbt task for the cgp module
Related issue
Closes #237
[#164] Add Coordinator flow documentation
Related issue
Closes #164
[#195] Fix swagger link
New features and improvements
- General restyling of the README
- Removal of useless sections
Bug fixes
- Fixed broken swagger link
Related issue
Closes #195
[#224] CGP domain and infra layer
Features
- Added domain layer including: evaluator, resolver, lifecycle manager
- Added infrastructure layer: evaluator adapters, resolver adapters, lifecycle manager adapters
Closes #193 #194 #191 #189 #224
[#204] 1 to N relationship between template and specific provisioner
New features and improvements
- Handled sub components relation in deploy, undeploy, validate and update ACL
Related issue
Closes #204
[#216] Refactor config external files management
Breaking changes
This MR changes the way configs and cert are managed
Related issue
Closes #216
[#214] Bump helm chart version
New features and improvements
This MR bumps the helm chart version to include external secrets
Related issue
Closes #214
[#212] Fix async validation getStatus bug
Bug fixes
- Added check for data product and data catalog level provisioning
- Added a test for the getExecutionPlanById
Related issue
Closes #212
[#208] Cue latest version vet command does not support useful functionalities
Bug fixes
- set the cue version to 0.4.3 in every docker image used
- changed cue command, from "vet" to "eval"
Related issue
Closes #208
[#187] Validate as an async endpoint
New features and improvements- Introducing the new Scheduler
- Creating the async validation plan with the new scheduler
- Exposed two APIs in the coordinator's interface-specification: POST /v2/validate and GET /v2/validate/{token}/status
- Exposed two APIs in the specific provisioner's interface-specification: POST /v2/validate and GET /v2/validate/{token}/status
- Renamed from DeployInfo to Info in the interface-specification of the coordinator and specific provisioner
Related issue
Closes #187 #151
[#201] Migrate from vault to external secrets
New features and improvements
This MR switches the secret backend from vault to external secrets.
Related issue
Closes #201
[#202] Refactor task creation to make explicit when a task will be executed
New features and improvements
- Refactored - for better clarity - the task creation logic in the provisioning and validation workflows
- Added tests to cover the behaviors of the following application configuration flags:
- data-product-level-provisioning
- data-catalog-provisioning
Related issue
Closes #202
[#203] Add Windows + WSL + VSCode instructions in the README
New features and improvements
- README updated with instructions for the setup of the local dev environment on Windows with WSL and VSCode
Related issue
Closes #203
[#196] Specific Provisioner Documentation
New features and improvements
Improved descriptions in the OpenAPI interface specification for the specific provisioner
Related issue
Closes #196
Marketplace Plugin
Changelog v1.0.0
[#62] Remove the unused publish endpoint
New features and improvements
Removed the /v1/publish
endpoint and its references
Related issue
Closes #62
[#61] fix Version generator script
New features and improvements
Added Checks for symbols at the end of the string and removed them.
Bug fixes
Cash of deployment on dev
Related issue
Closes #61
[#58] Fix missing bash command for deployment
Bug fixes
Added a RUN step in the dockerfile to install bash.
Related issue
Closes #58
[#56] Dependencies' vulnerabilities in witboost
New features and improvements
Changed the Scala version and some dependencies versions to resolve some of the major known vulnerabilities of the code.
Changed also the base image to use an alpine-based one instead of the ubuntu-based one.
A known vulnerability linked to the snakeyaml
library was not solved since circe
and jackson
did not release a fixed version yet.
Related issue
Closes #56
[#54] Review Helm Chart for Best Practices
New features and improvements
refactored Helm chart:
- added securityContext spec (optional)
- added resources spec (optional)
- added readinessProbe spec (optional)
- added livenessProbe spec (optional)
- added recommended labels
- removed service account token auto-mount
Related issue
Closes #54
[#53] New helm chart
New features and improvements
This MR adds a new helm chart that will be used by the umbrella chart
Related issue
Closes #53
[#52] Refactor external files management
Breaking changes
This MR changes how configs are injected. All external configs are placed in the same configmap.
Related issue
Closes #52
[#38] Error when Observability is defined for a Data Product
New features and improvements
Add 'specific' field in the descriptor on Hasura
Related issue
Closes #38
[#49] Migrate from vault to external secrets
New features and improvements
This MR introduces external secrets backed by Gitlab secret manager
Related issue
Closes #49