mirror of
https://github.com/jlengrand/moderne-docs.git
synced 2026-03-10 08:31:21 +00:00
Standardize capitalization of Moderne Platform
This commit is contained in:
@@ -46,7 +46,7 @@
|
||||
* [OpenRewrite recipe authoring workshop](user-documentation/workshops/recipe-authoring.md)
|
||||
* [Moderne CLI workshop](user-documentation/workshops/moderne-cli-exercise.md)
|
||||
* [Air-gapped Moderne CLI workshop](user-documentation/workshops/air-gapped-cli.md)
|
||||
* [Moderne platform exercise](user-documentation/workshops/moderne-platform-exercise.md)
|
||||
* [Moderne Platform exercise](user-documentation/workshops/moderne-platform-exercise.md)
|
||||
* [Migrate your own project](user-documentation/workshops/migrate-your-own-project.md)
|
||||
* [Community office hours](user-documentation/community-office-hours.md)
|
||||
|
||||
|
||||
@@ -251,7 +251,7 @@ java -jar moderne-dx-{version}.jar \
|
||||
|
||||
### Step 4: (Optionally) Configure the Organizations service
|
||||
|
||||
Many organizations desire the ability to control the organizational structure of their repositories within the Moderne platform in a dynamic way. To facilitate this need, Moderne provides an optional integration with an Organizations service that is hosted inside of your environment.
|
||||
Many organizations desire the ability to control the organizational structure of their repositories within the Moderne Platform in a dynamic way. To facilitate this need, Moderne provides an optional integration with an Organizations service that is hosted inside of your environment.
|
||||
|
||||
If you want to set up this service, please see the [organizations service setup instructions](../../moderne-platform/how-to-guides/organizations-service.md). Then, once it has been set up, please [configure the Moderne DX service to connect with the organization service](configure-dx-org-service.md).
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ Moderne DX includes a centralized, internal service you install to manage Modern
|
||||
|
||||
### Capabilities
|
||||
|
||||
| | Moderne DX | Moderne Platform Enterprise |
|
||||
| | Moderne DX | Moderne platform Enterprise |
|
||||
| ------------------------------------ | :------------------: | :-------------------------: |
|
||||
| SCA - auto search and remediation | :white\_check\_mark: | :white\_check\_mark: |
|
||||
| SAST - auto search and remediation | :white\_check\_mark: | :white\_check\_mark: |
|
||||
@@ -21,7 +21,7 @@ Moderne DX includes a centralized, internal service you install to manage Modern
|
||||
|
||||
### Features
|
||||
|
||||
| | Moderne DX | Moderne Platform Enterprise |
|
||||
| | Moderne DX | Moderne platform Enterprise |
|
||||
| ------------------------------ | :------------------: | :-------------------------: |
|
||||
| Moderne CLI – multi-repo DevEx | :white\_check\_mark: | :white\_check\_mark: |
|
||||
| IDE plugin | :white\_check\_mark: | :white\_check\_mark: |
|
||||
@@ -38,7 +38,7 @@ Moderne DX includes a centralized, internal service you install to manage Modern
|
||||
|
||||
### Implementation
|
||||
|
||||
| | Moderne DX | Moderne Platform Enterprise |
|
||||
| | Moderne DX | Moderne platform Enterprise |
|
||||
| ---------------------------------------------------- | :------------------: | :-------------------------: |
|
||||
| SSO integration for login | :white\_check\_mark: | :white\_check\_mark: |
|
||||
| VCS (GitHub, GitLab, Bitbucket) integration | :white\_check\_mark: | :white\_check\_mark: |
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Moderne Platform
|
||||
# Moderne platform
|
||||
|
||||
* [Getting started](getting-started/)
|
||||
* [How to guides](how-to-guides/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Admin pages explained
|
||||
|
||||
As an administrator (admin) in the Moderne platform, you have access to a variety of admin pages that let you manage and control various aspects of the platform. To help ensure you can perform your administrative tasks efficiently and effectively, let's walk through each of these pages.
|
||||
As an administrator (admin) in the Moderne Platform, you have access to a variety of admin pages that let you manage and control various aspects of the platform. To help ensure you can perform your administrative tasks efficiently and effectively, let's walk through each of these pages.
|
||||
|
||||
## Navigating to the admin pages
|
||||
|
||||
@@ -44,7 +44,7 @@ Workers are configured by Moderne and are servers that run recipes. As Moderne c
|
||||
|
||||
## Quarantine page
|
||||
|
||||
As an admin, you can quarantine repositories in the Moderne platform. This prevents recipes from being run on said repositories.
|
||||
As an admin, you can quarantine repositories in the Moderne Platform. This prevents recipes from being run on said repositories.
|
||||
|
||||
Consider the case where you have some old repositories that aren't building. Instead of having error messages appear when you run recipes or having the DevCenter provide warnings about repositories not building, you can quarantine these repositories until they're fixed or removed.
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ The idea is for all of these types of updates to become a continuous process for
|
||||
## Proof of value (POV) Steps
|
||||
|
||||
1. To begin the process, please fill out [this questionnaire](https://lq7oxv9ggnm.typeform.com/to/r1ib8ecu?typeform-source=www.google.com) so that we can provision the appropriate services for your organization.
|
||||
2. Once you've filled out the form, we will provision an isolated Moderne platform in the cloud provider and region of your choice. Deployment is fully automated and takes approximately one hour. Please let us know which cloud provider and region you prefer.
|
||||
2. Once you've filled out the form, we will provision an isolated Moderne Platform in the cloud provider and region of your choice. Deployment is fully automated and takes approximately one hour. Please let us know which cloud provider and region you prefer.
|
||||
3. Please follow the instructions in our [on-premise agent configuration doc](../how-to-guides/agent-configuration/agent-configuration.md). The agent is a single docker image or JAR that can run on a Virtual Machine, Kubernetes, or Cloud Foundry. It controls the encryption key and connects to on-prem systems such as your source code manager (SCM) and artifact repository. To ensure the agent functions correctly, you will need to create a read-only service account for your artifact repository and your SCM. This will allow developers to authenticate with your SCM for access control and commits/PRs (if commits are enabled for your tenant). The installation process typically takes less than an hour once the service accounts and SCM configurations are in place.
|
||||
4. To enable SSO for Moderne, you will need to connect to your Identity Provider (IdP). This is done in a 30-minute meeting with Moderne to exchange metadata. If requested, a username/password can also be used during the POV process instead of SSO.
|
||||
5. Next, you'll need to [set up the ingestion pipeline](../how-to-guides/mass-ingest.md). This pipeline will build and publish LST artifacts for the repositories you specify to your artifact repository. From there, the Moderne agent will find these LST artifacts, encrypt them, and ship them to the Moderne cloud.
|
||||
|
||||
@@ -264,7 +264,7 @@ The below table shows the key differences between the two types of configuration
|
||||
| Is not tied to a particular vendor. | Can only be used with Artifactory. |
|
||||
| Serves BOTH recipe artifacts and LST artifacts. | Serves ONLY LST artifacts. Requires Maven configuration to serve recipe artifacts. |
|
||||
| Recipe artifacts are immediately available for [deployment to Moderne](../importing-external-recipes.md) upon publishing to the Maven formatted repository. | Can not serve recipe artifacts without Maven configuration. |
|
||||
| LST artifacts may be served if an index in the [Maven Indexer](https://maven.apache.org/maven-indexer/) format is regularly published to the repository. There will be a considerable delay between when an LST is published to the Maven repository and when it shows up in Moderne. This delay is approximately the delay between updates to the index – which is controlled by a batch process that your artifact repository executes on a schedule. | LST artifacts will show up in near-real time (within a minute or two) in the Moderne platform when they are published to Artifactory. This is because Artifactory configuration uses [Artifactory Query Language](https://www.jfrog.com/confluence/display/JFROG/Artifactory+Query+Language) (AQL) to identify recently published artifacts. AQL queries Artifactory's internal relational database for information about artifacts rather than using an index produced in a batch process. |
|
||||
| LST artifacts may be served if an index in the [Maven Indexer](https://maven.apache.org/maven-indexer/) format is regularly published to the repository. There will be a considerable delay between when an LST is published to the Maven repository and when it shows up in Moderne. This delay is approximately the delay between updates to the index – which is controlled by a batch process that your artifact repository executes on a schedule. | LST artifacts will show up in near-real time (within a minute or two) in the Moderne Platform when they are published to Artifactory. This is because Artifactory configuration uses [Artifactory Query Language](https://www.jfrog.com/confluence/display/JFROG/Artifactory+Query+Language) (AQL) to identify recently published artifacts. AQL queries Artifactory's internal relational database for information about artifacts rather than using an index produced in a batch process. |
|
||||
|
||||
Please ensure you've followed either the [Maven](configure-an-agent-with-maven-repository-access.md) or [Artifactory](configure-an-agent-with-artifactory-access.md) instructions before continuing.
|
||||
|
||||
@@ -342,7 +342,7 @@ java -jar moderne-agent-{version}.jar \
|
||||
|
||||
### Step 7: (Optionally) Configure the Organizations service
|
||||
|
||||
Many organizations desire the ability to control the organizational structure of their repositories within the Moderne platform in a dynamic way. To facilitate this need, Moderne provides an optional integration with an Organizations service that is hosted inside of your environment.
|
||||
Many organizations desire the ability to control the organizational structure of their repositories within the Moderne Platform in a dynamic way. To facilitate this need, Moderne provides an optional integration with an Organizations service that is hosted inside of your environment.
|
||||
|
||||
If you want to set up this service, please follow [these instructions](../../../../architecture/organizations-service/). Then, once it has been set up, please configure the agent by following [these instructions](configure-organizations-service.md).
|
||||
|
||||
|
||||
@@ -263,7 +263,7 @@ To create these cards you need two things:
|
||||
1. A `visualizationId` that identifies which visualization you want to include (e.g., `io.moderne.DependencyUsageViolin`).
|
||||
2. Options for the visualization (if any exist).
|
||||
|
||||
The `visualizationId` can be found on any visualization card you run in the Moderne platform:
|
||||
The `visualizationId` can be found on any visualization card you run in the Moderne Platform:
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ If you want to ensure Moderne removes old LSTs without incurring any downtime, y
|
||||
|
||||
* Get the set of all artifacts for all repositories that exist in Moderne
|
||||
* Ask your artifact repository if those still exist over there
|
||||
* If they don't, make a request to remove those LSTs from the Moderne platform
|
||||
* If they don't, make a request to remove those LSTs from the Moderne Platform
|
||||
|
||||
You could then run this custom script once a week or so.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Configuring the Organizations service
|
||||
|
||||
Many organizations desire the ability to dynamically control the organizational structure (repository groupings) of their repositories within the Moderne platform. To facilitate this need, Moderne provides an optional integration with an Organizations service that is hosted in your environment.
|
||||
Many organizations desire the ability to dynamically control the organizational structure (repository groupings) of their repositories within the Moderne Platform. To facilitate this need, Moderne provides an optional integration with an Organizations service that is hosted in your environment.
|
||||
|
||||
Let's walk through everything you need to know to build and integrate such a service with Moderne.
|
||||
|
||||
@@ -15,7 +15,7 @@ In order to dynamically control the organizational structure in Moderne, you wil
|
||||
|
||||
You have two main options for building this service. You can:
|
||||
|
||||
1. (**Recommended**) Fork our [Organizations service template](https://github.com/moderneinc/moderne-organizations) and modify it to meet your needs. Please see the [README](https://github.com/moderneinc/moderne-organizations/blob/main/README.md) for how to spin this up quickly. It can be as simple as updating a JSON file that you get from the Moderne platform.
|
||||
1. (**Recommended**) Fork our [Organizations service template](https://github.com/moderneinc/moderne-organizations) and modify it to meet your needs. Please see the [README](https://github.com/moderneinc/moderne-organizations/blob/main/README.md) for how to spin this up quickly. It can be as simple as updating a JSON file that you get from the Moderne Platform.
|
||||
2. Build your own service that fulfills the [GraphQL contract](https://github.com/moderneinc/moderne-organizations/blob/main/src/main/resources/schema/moderne-organizations.graphqls) using any GraphQL stack (e.g., NodeJS, Rust, C#, etc.)
|
||||
|
||||
We generally recommend forking the template and modifying it as, in most cases, that will be faster and easier than building it yourself. Regardless of which one you choose, however, some developer time will be required on your end.
|
||||
@@ -32,7 +32,7 @@ How you deploy the service is largely up to your company. With that being said,
|
||||
|
||||
### If the Organizations service stops responding (e.g., the service is down), what is the expected behavior?
|
||||
|
||||
The organizations a user can see in the Moderne platform are determined by the `userOrganizations` query. If the service is down, then organizations and repositories will be unavailable and recipes would, therefore, be unable to run.
|
||||
The organizations a user can see in the Moderne Platform are determined by the `userOrganizations` query. If the service is down, then organizations and repositories will be unavailable and recipes would, therefore, be unable to run.
|
||||
|
||||
### How do you restrict which commit options are available in the UI?
|
||||
|
||||
@@ -40,7 +40,7 @@ You can change this in the `commitOptions` array in your JSON resource. ([Exampl
|
||||
|
||||
### What would happen if the service returned an empty `commitOptions` array? Would that disable commit capabilities for these organizations?
|
||||
|
||||
Violating the GraphQL contract will cause errors and make it so the Moderne platform will not function as expected. Since the GraphQL contract expects `commitOptions` to be populated, the query will error if no options are returned. In turn, users won't be able to run recipes.
|
||||
Violating the GraphQL contract will cause errors and make it so the Moderne Platform will not function as expected. Since the GraphQL contract expects `commitOptions` to be populated, the query will error if no options are returned. In turn, users won't be able to run recipes.
|
||||
|
||||
### If no Organizations service is active/configured, would it be possible to change the default commit options and repositories in the Moderne UI?
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Moderne architecture
|
||||
|
||||
To help you understand how the Moderne platform works and how it interacts with your environment and services, this document will:
|
||||
To help you understand how the Moderne Platform works and how it interacts with your environment and services, this document will:
|
||||
|
||||
* [Explain how Moderne fits into the typical software development lifecycle](architecture.md#how-moderne-fits-into-the-software-development-lifecycle)
|
||||
* [Provide you with an architecture diagram that shows how data flows through the core components in both Moderne's environment and yours](architecture.md#architecture-diagram)
|
||||
|
||||
@@ -41,9 +41,9 @@ If you want to see specific examples of Java LSTs, please read our [Java LST Exa
|
||||
4. Once the recipe has finished running, the **modified LST will be discarded** and the code itself **will not** be changed. Instead, different patch files will be created depending on whether the recipe found or changed anything. For example, a search recipe will produce a `search.patch` file, whereas a recipe that changes the code will produce a `fix.patch` file. These patch files are saved to disk and the locations are output by the CLI.
|
||||
5. You can review the patch files with your favorite editor or you can apply them directly to the code (via the `mod apply` command). Regardless of what you do, it's important to note that the LST itself **will not** have been updated. If you go to run another recipe at this point, it will be run against the original LST and will not have any of the changes the previous recipe made. If you want future recipe runs to have the updates from previous ones, you must re-build the LST (via the `mod build` command).
|
||||
|
||||
### With the Moderne Platform
|
||||
### With the Moderne platform
|
||||
|
||||
1. Before you can run a recipe against a repository in the Moderne Platform, you must build the LST for said repository. This is typically done by [setting up mass ingestion with the Moderne CLI](/administrator-documentation/moderne-platform/how-to-guides/mass-ingest.md).
|
||||
1. Before you can run a recipe against a repository in the Moderne platform, you must build the LST for said repository. This is typically done by [setting up mass ingestion with the Moderne CLI](/administrator-documentation/moderne-platform/how-to-guides/mass-ingest.md).
|
||||
2. When you go to run a recipe, the LST artifact will be downloaded from your artifact repository. These LSTs are continuously uploaded/updated over time as long as you've set up ingestion for your repositories.
|
||||
3. As the recipe runs, it will make transformations on the downloaded LST. This could be as simple as adding a search marker (`~~>`) if the recipe is a search recipe -- or it could be as complex as adding classes and methods throughout the repository.
|
||||
4. Once the recipe has finished running, the **modified LST will be discarded** and the code **will not** be changed. Instead, you will be [provided with a list of the changes it would make](../../../../user-documentation/moderne-platform/getting-started/running-your-first-recipe.md#step-6-run-the-recipe). You can [review them](../../../../user-documentation/moderne-platform/getting-started/running-your-first-recipe.md#step-7-view-the-results) and [choose what to do with them](../../../../user-documentation/moderne-platform/getting-started/running-your-first-recipe.md#step-8-commit-your-changes).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Interactions with git when applying changes
|
||||
|
||||
The Moderne platform consists of a set of serialized Lossless Semantic Trees (LSTs). Inside each LST is a record of the repository that the LST was produced from as well as the branch and commit that it was produced from.
|
||||
The Moderne Platform consists of a set of serialized Lossless Semantic Trees (LSTs). Inside each LST is a record of the repository that the LST was produced from as well as the branch and commit that it was produced from.
|
||||
|
||||
When a recipe is run against that LST, a diff is produced that assumes the starting point for the change is the commit that the LST was produced from. However, there could have been further commits on that branch head since the LST was built.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: >-
|
||||
Moderne platform documentation. Learn about the Moderne platform along with
|
||||
Moderne Platform documentation. Learn about the Moderne Platform along with
|
||||
user and administrator documentation.
|
||||
layout:
|
||||
title:
|
||||
@@ -21,9 +21,9 @@ With [Moderne](https://moderne.io), you can fix security vulnerabilities, standa
|
||||
|
||||
{% embed url="https://www.youtube.com/watch?v=nz29-DWeV44" %}
|
||||
|
||||
## The Moderne platform
|
||||
## The Moderne Platform
|
||||
|
||||
The Moderne platform is an enterprise-ready, private Software as a Service (SaaS) solution that provides automated code remediation at scale. The platform asynchronously ingests detailed artifacts of your codebase ([Lossless Semantic Trees](administrator-documentation/moderne-platform/references/concepts/lossless-semantic-trees.md)) that can be quickly and precisely searched. Then, your organization's source code can be transformed by running "[recipes](https://docs.openrewrite.org/concepts-and-explanations/recipes)" across repositories of your choosing. These recipes can be created by your team, or you can take advantage of the hundreds of recipes already defined in [OpenRewrite](https://docs.openrewrite.org/) – an open-source project managed by Moderne.
|
||||
The Moderne Platform is an enterprise-ready, private Software as a Service (SaaS) solution that provides automated code remediation at scale. The platform asynchronously ingests detailed artifacts of your codebase ([Lossless Semantic Trees](administrator-documentation/moderne-platform/references/concepts/lossless-semantic-trees.md)) that can be quickly and precisely searched. Then, your organization's source code can be transformed by running "[recipes](https://docs.openrewrite.org/concepts-and-explanations/recipes)" across repositories of your choosing. These recipes can be created by your team, or you can take advantage of the hundreds of recipes already defined in [OpenRewrite](https://docs.openrewrite.org/) – an open-source project managed by Moderne.
|
||||
|
||||
The platform offers a clean UI that enables anyone in your organization to run recipes, create PRs, or generate detailed reports about your codebase – all without writing a line of code. It also provides a recommendation engine to help you discover new recipes based on an analysis of your code.
|
||||
|
||||
|
||||
@@ -1857,7 +1857,7 @@ In addition to search markers, we will render info/debug, warnings, and errors i
|
||||
|
||||
#### Improved recipe deployment
|
||||
|
||||
Deploying recipe artifacts now has an improved asynchronous experience. We've added the recipe artifact state and last deployment time to increase the visibility around the freshness of a recipe artifact.Notable changes to the Moderne platform
|
||||
Deploying recipe artifacts now has an improved asynchronous experience. We've added the recipe artifact state and last deployment time to increase the visibility around the freshness of a recipe artifact.Notable changes to the Moderne Platform
|
||||
|
||||
<figure><img src="../.gitbook/assets/recipe-deploy.png" alt=""><figcaption><p>View recipe artifact state and last deployment time.</p></figcaption></figure>
|
||||
|
||||
|
||||
@@ -244,8 +244,8 @@ You can find each of the office hours sessions below along with a summary of wha
|
||||
* We released a bunch of new videos on our YouTube channel:
|
||||
* [Upgrading a Maven parent pom version](https://www.youtube.com/watch?v=LyQsQYfUlwI)
|
||||
* [Writing dynamic recipe tests when the result of a recipe is dependent on an external system state](https://www.youtube.com/watch?v=O9o4y\_2TO0w)
|
||||
* [Find YAML properties on the Moderne platform](https://www.youtube.com/watch?v=MIEc9IOnfBc)
|
||||
* [Regex support on the Moderne platform](https://www.youtube.com/watch?v=fkcDyLRGOUA)
|
||||
* [Find YAML properties on the Moderne Platform](https://www.youtube.com/watch?v=MIEc9IOnfBc)
|
||||
* [Regex support on the Moderne Platform](https://www.youtube.com/watch?v=fkcDyLRGOUA)
|
||||
* OpenRewrite v8.21.0 was released which includes bug fixes and some new recipes from some of our awesome community members.
|
||||
* The [find and fix vulnerable dependencies recipe](https://app.moderne.io/recipes/org.openrewrite.java.dependencies.DependencyVulnerabilityCheck) was updated to fix the version of transitive dependencies on top of direct dependencies.
|
||||
* We then welcomed Scott and Kyle as guest presenters to talk about JavaScript codemods. They are both senior developers here at Moderne, and they primarily specialize in frontend development. They:
|
||||
@@ -322,7 +322,7 @@ You can find each of the office hours sessions below along with a summary of wha
|
||||
#### Summary and related links
|
||||
|
||||
* As normal, we started off by going over new things that occurred over the past week:
|
||||
* We added [95 Quarkus 3 & Camel migration recipes](https://app.moderne.io/marketplace/io.quarkus) to the Moderne platform.
|
||||
* We added [95 Quarkus 3 & Camel migration recipes](https://app.moderne.io/marketplace/io.quarkus) to the Moderne Platform.
|
||||
* We demonstrated how you can use Refaster recipes to make your code clearer and more readable (e.g., [optimizing your use of the Java time APIs](https://app.moderne.io/recipes/tech.picnic.errorprone.refasterrules.TimeRulesRecipes))
|
||||
* In really exciting news, IntelliJ IDEA has added OpenRewrite to their early access branch. What this means is that you get native editor support for [OpenRewrite YAML recipes](https://docs.openrewrite.org/authoring-recipes/types-of-recipes#declarative-recipes) and you can run recipes directly from your IDE. We'll have more information about this when it fully releases.
|
||||
* We added a [bunch of reference recipes](https://github.com/moderneinc/rewrite-recipe-starter?tab=readme-ov-file#reference-recipes) to the [rewrite-recipe-starter repository](https://github.com/moderneinc/rewrite-recipe-starter) so that it's easier to find a recipe to get started with. We also added [Maven configuration](https://github.com/moderneinc/rewrite-recipe-starter/blob/main/pom.xml) for those users who prefer to use that over Gradle.
|
||||
@@ -343,8 +343,8 @@ You can find each of the office hours sessions below along with a summary of wha
|
||||
|
||||
* We started off by highlighting some of the big changes/additions since the last office hours:
|
||||
* We [created a new video showing how to scale JavaScript Codemods with Moderne](https://www.youtube.com/watch?v=lXVPwW30fFk).
|
||||
* You can find [the curated list of Codemods in the Moderne platform](https://app.moderne.io/marketplace/org.openrewrite.codemods).
|
||||
* We recently [added a bunch of Error Prone recipes to the Moderne platform](https://app.moderne.io/marketplace/tech.picnic.errorprone.refasterrules).
|
||||
* You can find [the curated list of Codemods in the Moderne Platform](https://app.moderne.io/marketplace/org.openrewrite.codemods).
|
||||
* We recently [added a bunch of Error Prone recipes to the Moderne Platform](https://app.moderne.io/marketplace/tech.picnic.errorprone.refasterrules).
|
||||
* There were some great community additions such [as this new recipe on migrating away from Swagger to SpringDoc or OpenAPI](https://app.moderne.io/recipes/org.openrewrite.java.springdoc.SwaggerToSpringDoc).
|
||||
* We added [the ability to bump transitive dependencies in Gradle](https://docs.moderne.io/user-documentation/moderne-platform/how-to-guides/transitive-dependencies).
|
||||
* We [updated our Spring 3.2 blog](https://www.moderne.io/blog/speed-your-spring-boot-3-0-migration) to contain the latest Spring changes and also discuss Java 21 changes.
|
||||
|
||||
@@ -13,7 +13,7 @@ To ensure you can use the Moderne CLI successfully, in this guide, we will:
|
||||
|
||||
To install the Moderne CLI please:
|
||||
|
||||
1. Go to the [Moderne platform](https://app.moderne.io/) and sign in.
|
||||
1. Go to the [Moderne Platform](https://app.moderne.io/) and sign in.
|
||||
2. Click on help in the bottom left-hand corner and select the version of the CLI you want to download. Then select the way you'd like to install it:
|
||||
|
||||

|
||||
|
||||
@@ -28,7 +28,7 @@ The following diagram shows the flow of what checks will happen when you attempt
|
||||
Some important details about the license check:
|
||||
|
||||
* The license **check does NOT make any call home requests to Moderne** (the public key packaged inside of the CLI is enough to verify the integrity of the signature).
|
||||
* Verification of the Moderne tenant configuration only makes a call to the Moderne tenant. If you are using DX, this is a call to inside of your private network. If you are using the Moderne Platform, this is a call to your isolated tenant (and not Moderne as a whole).
|
||||
* Verification of the Moderne tenant configuration only makes a call to the Moderne tenant. If you are using DX, this is a call to inside of your private network. If you are using the Moderne platform, this is a call to your isolated tenant (and not Moderne as a whole).
|
||||
* If you have configured a license key, no network calls will ever be made to GitHub to check to see if a repository is public.
|
||||
{% endhint %}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Moderne Platform
|
||||
# Moderne platform
|
||||
|
||||
* [Getting started](getting-started/)
|
||||
* [How to guides](how-to-guides/)
|
||||
|
||||
@@ -24,7 +24,7 @@ The security issues present in the above example are tests we've created for dem
|
||||
|
||||
### Organizational ownership
|
||||
|
||||
The organization ownership section gives you a high-level view of your organization. It tells you how many repositories the organization is composed of, how many developers have contributed any amount of code to those repositories in the last 90 days, and how many lines of code have been ingested into the Moderne platform.
|
||||
The organization ownership section gives you a high-level view of your organization. It tells you how many repositories the organization is composed of, how many developers have contributed any amount of code to those repositories in the last 90 days, and how many lines of code have been ingested into the Moderne Platform.
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Visualizations provide a unique way of looking at the data generated by specific recipes. A visualization could be a complex image that you can zoom in and out of to examine connections between nodes or it could be as simple as a text-based table that you can filter or search (see the [examples section](visualizations.md#visualization-examples) to see what these look like).
|
||||
|
||||
In this guide, we will explain everything you need to know to find, use, and create visualizations in the Moderne platform.
|
||||
In this guide, we will explain everything you need to know to find, use, and create visualizations in the Moderne Platform.
|
||||
|
||||
{% embed url="https://www.youtube.com/watch?v=ez1i1g7z6MM" %}
|
||||
Get an in-depth look at some of the most popular visualizations
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: >-
|
||||
An introduction to type-aware code search within the Moderne platform. Learn
|
||||
An introduction to type-aware code search within the Moderne Platform. Learn
|
||||
about using a search recipe and finding type-aware search recipes.
|
||||
layout:
|
||||
title:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Moderne Recipe catalog search
|
||||
|
||||
In order to get the most out of the Moderne platform, it's a good idea to understand how you can effectively search for recipes.
|
||||
In order to get the most out of the Moderne Platform, it's a good idea to understand how you can effectively search for recipes.
|
||||
|
||||
Let's walk through some tips and tricks you might not be aware of when searching for recipes in Moderne.
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ When running recipes, there may come a time when you want to restrict which file
|
||||
|
||||
This is what preconditions were designed for. **They are a way of restricting where a recipe is run**.
|
||||
|
||||
In this guide, we'll walk through how preconditions work and how you can use them in the Moderne platform.
|
||||
In this guide, we'll walk through how preconditions work and how you can use them in the Moderne Platform.
|
||||
|
||||
{% embed url="https://www.youtube.com/watch?v=7jRuXiX3xuw" %}
|
||||
A deep dive into preconditions
|
||||
@@ -30,7 +30,7 @@ The first precondition recipe could be provided with a path such as `mono-repo/y
|
||||
|
||||
With the preconditions being done, the core recipe you're wanting to run will then step through the files and only make changes to the ones that were marked by _both_ of the preconditions. Please note that these marks _do not_ appear in the final results.
|
||||
|
||||
## How to use preconditions in the Moderne platform
|
||||
## How to use preconditions in the Moderne Platform
|
||||
|
||||
From the [recipe marketplace](https://app.moderne.io/marketplace), find the recipe you'd like to use as a precondition. Once you've found it, click on the triangle drop-down next to the text `Add to builder` and select `Add as precondition`.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Moderne tokens
|
||||
|
||||
There are three types of tokens used throughout the Moderne platform:
|
||||
There are three types of tokens used throughout the Moderne Platform:
|
||||
|
||||
1. [A JSON Web Token (JWT) that is created when a user logs in to Moderne](moderne-tokens.md#login-token)
|
||||
2. [A personal access token used for programmatically accessing the Moderne GraphQL API](moderne-tokens.md#personal-access-tokens)
|
||||
@@ -14,13 +14,13 @@ The tokens described in this doc have the same permissions as `everyone` in the
|
||||
|
||||
## Login token
|
||||
|
||||
When a user logs in to the Moderne platform, a JWT is created for them by Keycloak. This token is then used by the UI to authenticate against various Moderne APIs for things like displaying recipe categories.
|
||||
When a user logs in to the Moderne Platform, a JWT is created for them by Keycloak. This token is then used by the UI to authenticate against various Moderne APIs for things like displaying recipe categories.
|
||||
|
||||
{% hint style="warning" %}
|
||||
This token _is not_ used for accessing or viewing source code. That is done via the [SCM Token](moderne-tokens.md#source-code-manager-scm-token)
|
||||
{% endhint %}
|
||||
|
||||
Users can find this token by clicking on the GraphQL icon in the top middle of the Moderne platform once they are logged in:
|
||||
Users can find this token by clicking on the GraphQL icon in the top middle of the Moderne Platform once they are logged in:
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
* [OpenRewrite recipe authoring workshop](recipe-authoring.md)
|
||||
* [Moderne CLI workshop](moderne-cli-exercise.md)
|
||||
* [Air-gapped Moderne CLI workshop](air-gapped-cli.md)
|
||||
* [Moderne platform exercise](moderne-platform-exercise.md)
|
||||
* [Moderne Platform exercise](moderne-platform-exercise.md)
|
||||
* [Migrate your own project](migrate-your-own-project.md)
|
||||
|
||||
@@ -8,7 +8,7 @@ After that, we'll provide some additional examples that show other capabilities
|
||||
|
||||
#### Download and configure the Moderne CLI
|
||||
|
||||
1. Go to the [Moderne platform](https://app.moderne.io) and sign in. If you don't have an account, you can sign up for free.
|
||||
1. Go to the [Moderne Platform](https://app.moderne.io) and sign in. If you don't have an account, you can sign up for free.
|
||||
2. Click on help in the bottom left-hand corner and select the version of the CLI you want to download. Then select the way you'd like to install it:
|
||||
|
||||

|
||||
@@ -1180,7 +1180,7 @@ In the previous example, we used the Moderne CLI to run a recipe against a repos
|
||||
|
||||
Fortunately, the Moderne CLI offers the ability to work on groups of repositories. This can be especially helpful when you're working on debugging a new recipe and want to test it against many repositories at once.
|
||||
|
||||
For this exercise, we have prepared a list of Spring 2.x open-source repositories from the `spring-projects` GitHub organization that can be migrated. These repositories have been added to the Moderne platform and put inside the `Spring Projects 2.x` organization.
|
||||
For this exercise, we have prepared a list of Spring 2.x open-source repositories from the `spring-projects` GitHub organization that can be migrated. These repositories have been added to the Moderne Platform and put inside the `Spring Projects 2.x` organization.
|
||||
|
||||
{% embed url="https://www.youtube.com/watch?v=cs-6FJ_mtro" %}
|
||||
|
||||
@@ -1212,7 +1212,7 @@ drwxr-xr-x@ 14 mikesol staff 448 Apr 8 14:15 spring-session-data-mongodb-exa
|
||||
|
||||
</details>
|
||||
|
||||
Now that you have the repositories locally, you can run a recipe against all of them at once. Since all of these repositories have their LSTs published onto the Moderne platform, the build operation will download the LSTs without having to build the repositories locally. This will save you a lot of time!
|
||||
Now that you have the repositories locally, you can run a recipe against all of them at once. Since all of these repositories have their LSTs published onto the Moderne Platform, the build operation will download the LSTs without having to build the repositories locally. This will save you a lot of time!
|
||||
|
||||
```bash
|
||||
mod build $HOME/workshop
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Moderne platform exercise
|
||||
# Moderne Platform exercise
|
||||
|
||||
In this exercise, you will utilize the [Moderne platform](https://app.moderne.io/) to:
|
||||
In this exercise, you will utilize the [Moderne Platform](https://app.moderne.io/) to:
|
||||
|
||||
* Run static code analysis recipes across repositories from different GitHub organizations
|
||||
* Fix security vulnerabilities across hundreds of open-source projects.
|
||||
@@ -9,7 +9,7 @@ In this exercise, you will utilize the [Moderne platform](https://app.moderne.io
|
||||
|
||||
Go to [https://app.moderne.io/](https://app.moderne.io/) and register with your GitHub account. Once you've signed in, you'll find more than 31,000 open-source repositories that can be used to test OpenRewrite recipes without you having to configure anything.
|
||||
|
||||
### Running recipes with the Moderne platform
|
||||
### Running recipes with the Moderne Platform
|
||||
|
||||
1. Once you're logged in to [Moderne](https://app.moderne.io/), you will see that the `Default` organization (a grouping of repositories) is selected in the sidebar.
|
||||
|
||||
@@ -38,14 +38,14 @@ The default group has a small set of repositories so recipes will run quickly. I
|
||||
<figure><img src="../../../.gitbook/assets/why-did-this-change.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% hint style="warning" %}
|
||||
Please, do not create pull requests with the results produced by the Moderne platform if you are not an active contributor of those repositories.
|
||||
Please, do not create pull requests with the results produced by the Moderne Platform if you are not an active contributor of those repositories.
|
||||
{% endhint %}
|
||||
|
||||
### Fixing security vulnerabilities with the Moderne platform
|
||||
### Fixing security vulnerabilities with the Moderne Platform
|
||||
|
||||
Another substantial use case for the Moderne platform is detecting and potentially resolving CVEs in your projects and their dependencies. Since the Moderne platform supports complex refactoring recipes (such as the Spring Boot 3 migration), the community can contribute and provide recipes for other major migrations that do more than bump a dependency version.
|
||||
Another substantial use case for the Moderne Platform is detecting and potentially resolving CVEs in your projects and their dependencies. Since the Moderne Platform supports complex refactoring recipes (such as the Spring Boot 3 migration), the community can contribute and provide recipes for other major migrations that do more than bump a dependency version.
|
||||
|
||||
In this part of the exercise, let's use the Moderne platform to get a list of vulnerabilities in open-source repositories.
|
||||
In this part of the exercise, let's use the Moderne Platform to get a list of vulnerabilities in open-source repositories.
|
||||
|
||||
1. Begin by navigating to the [Check for dependency vulnerabilities recipe](https://app.moderne.io/recipes/org.openrewrite.java.dependencies.DependencyVulnerabilityCheck).
|
||||
2. Select `compile` for the first option (`scope`), `true`, for the second option (`override managed version`), and leave the third option as blank (`add markers`).
|
||||
|
||||
Reference in New Issue
Block a user