apicurio / apicurio-epics Goto Github PK
View Code? Open in Web Editor NEWRepository to hold issues representing high level Apicurio team epics.
Repository to hold issues representing high level Apicurio team epics.
This issue is for tracking and discussion of issues related to maintenance of RHOSR, for example during database upgrades.
Topics to triage:
Resources:
This epic is all about adding support for artifact references in Apicurio Registry. For more information see the Epic Brief.
Note: when done, we can call upon Stephen Nimmo to test some real world use-cases! Reference/reproducer repository: https://github.com/kubetrade/kubetrade-schema
We have a number of cloud services in the Apicurio community that do not currently handle PII warnings in a compliant way. We also do not require the user to agree to any Terms and Conditions, which limits how we can use their data.
Keycloak can support the signing of T&C. Other aspects of privacy/cookie warnings may need to be handled in other ways.
Link to Keycloak docs: https://www.keycloak.org/docs/latest/server_development/#_auth_spi
This epic tracks improvements we would like to make to the RHOSR deployment. This is a catch all for miscellaneous improvements to how we deploy and run RHOSR.
The following repositories need to be rewritten as pure Insights (consoleDot) apps:
I think each of these should become pure Insights applications that statically pull in UI components from the upstream repositories. We should move the real UI components into upstream and then export them to be used by the Insights apps. This is the easiest way to share functionality between upstream and downstream, in my opinion.
I don't think using Federated Modules to share e.g. data plane components with srs-ui is a winning strategy. It allows us to separately deploy changes to the data plane UI, but I don't know why we would care about that, since both the control plane and data plane UIs are owned by our team.
This epic is about implementing per-tenant dynamic configuration properties in Apicurio Registry.
Note: The current search needs refactor as well, if we decide to keep SQL search.
Possible tasks we can tackle prior to Phase 2 availability:
Factorized Fleet Manager presentation
Note: we should collaborate with the Smart Events team. They are working on a java version of a fleet manager. They have started on a template.
Whenever an artifact is created, the group metadata must be created if it does not exist yet.
This epic is all about improving the support we have for our core artifact types. These core types include:
These core types have different versions (e.g. OpenAPI has versions 2.0, 3.0, 3.1). We do not currently support all versions of all types.
Tasks in this epic:
We support references in registry already, but really only in the API. We have some good ideas to improve support for references. Some ideas:
Add references in the UI, for display and when adding/updating artifacts.
Here is the UX design iterations
We have no designs for this, but it sure would be nice. There's probably some overlap between what we can do with the maven plugin and what we can do with the CLI (regarding registration of a collection of self-referencing local files).
It would nice to have an option in the REST API to dereference the content when downloading it. This could make it much easier for consumers that don't support external references. Challenge: this needs to be implemented for each artifact type. We currently have this implemented in OpenAPI and AsyncAPI only.
We have basic maven plugin support now. But it would be really nice to be able to just point the maven plugin to a bunch of repository files (that reference each other) and have it figure out how to properly add the content to the registry including appropriate reference mappings.
Extend the use case of https://github.com/Apicurio/apicurio-registry-content-sync-operator to create an artifact synchronization engine that would be extendable for different use-cases (sources), such as:
I need to reserve a chunk of time to implement several requested features for the Operator and publish a new release.
Make the integration tests use Quarkus capabilities for integration testing.
RHOSAK is currently working on support for allowing customers to provision a Kafka cluster on their own OSD (not yet on customer deployed OpenShift clusters). We can assume this might become a requirement for RHOSR as well.
This task is to explore and document an architecture for how this could work for us. What are the system interactions? Component and/or architecture diagrams, etc.
Users of Service Delivery's Sentry deployment,
Please be advised that Service Delivery's deployment of Sentry will be decommissioned in 2023. Our target date for decommissioning Sentry is April 30, 2023. Engineering teams that will continue to need error-tracking functionality are asked to start thinking about - and planning for - migrating from Sentry to Glitchtip. At the end of this email, please find a list of resources that describes how to transition from Sentry to Glitchtip.
If you have questions or concerns about any of this, please post a question in the #sd-app-sre Slack channel, or email me directly.
Glitchtip Transition Resources:
Task: https://github.com/Apicurio/apicurio-tasks/issues/196
Some analysis from another team: https://issues.redhat.com/browse/MGDSTRM-10346
Please use this instead: https://github.com/orgs/Apicurio/projects/6/views/1 (work in progress)
A list of breaking changes to consider when we start planning for v3:
RegistryStorage
interface and related concepts. For example:
version
entity, but RegistryStorage
interface does not have a separate public method for creating versions. They can be only created using the createArtifact*
method. This should be separated, and we should have a higher-level layer that does the current functionality of createArtifact*
. There is a private method createArtifactVersion
that IMHO should not be private. Consider same with content.labels
and properties
into separate tables, instead of using string serialization (see SqlUtil.serializeProperties
method).updateArtifactVersionMetaData
takes EditableArtifactMetaDataDto
. Consider having a separate metadata table for metadata.RegistryStorage
interface, but this model can be wider and include classes currently in the common module.apicurio-registry-schema-util-*
via apicurio-registry-schema-util-provider
. This can also be done for storage implementations.predecessor
field in every version, to be able to reconstruct the ordering. This will also facilitate git-like versioning (i.e. allow for git-like version trees).Also consider Svelte for performance reasons.
Updated designs for the OpenAPI editor: https://marvelapp.com/folder/tScuDsZQRw
This includes the upstream release of Fleet Manager and all other components, Kubernetes/Openshift templates and documentation.
There was also a suggestion to do this as a hackathon.
/latest
endpoint to match a specific version template (e.g. latest version where the major component is 2, e.g. /latest?match="1.x"
.This epic is about updating the Registry user interface to support displaying and editing of artifact properties (key/value pairs). For more information read the epic brief.
Registry:
This epic is "pinned" and tracks the blog posts we would like to write. For each blog post we should create a GH issue in the apicurio-tasks repo and also add a link to it below.
In Q3 of 2022 (roughly mid/end of September, 2022) we intend to release version 2.3 of RHI-Service Registry. This will require the following tasks to be completed:
This epic lists tasks that help us prevent and/or detect potential issues in MAS, before they fall on our heads.
Includes:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.