Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Documentation Guidelines

## UI Label Formatting

Use _italics_ for UI labels and navigation paths:
- Format: `_Settings > Manage Credentials_`
- Separator: `>` (not `->`)
- Examples: `_Add Package > By Url_`, `_Mirroring_`, `_Authentication Tokens_`

Don't use backticks for UI labels - backticks are for code/commands only.

## Links

Do NOT include `.md` file extensions in links:
- ✅ `[Guide](mirror-magento-marketplace)`
- ❌ `[Guide](mirror-magento-marketplace.md)`
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Alternatively you can copy the SSH public key for your organization on the same

### Add packages

If your organization is synchronized Private Packagist will have created packages for all of your private repositories containing a composer.json. Otherwise or if you would like to add additional packages you can add them in the _Packages_ section of your organization with the Add button. Follow the instructions to pick the right option for your package.
If your organization is synchronized Private Packagist will have created packages for all of your private repositories containing a composer.json. Otherwise or if you would like to add additional packages you can add them in the _Packages_ section of your organization with the _Add_ button. Follow the instructions to pick the right option for your package.

### Configure your project to use Private Packagist

Expand Down
22 changes: 11 additions & 11 deletions docs/centralized-authentication-and-sso.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,21 +27,21 @@ you can skip this step. Otherwise, the first step is making sure your users can
OAuth authentication with the cloud versions of the default code hosting platforms (github.com, bitbucket.org and gitlab.com) is
preconfigured on Private Packagist Cloud, but not on Private Packagist Self-Hosted.

Go to _Settings > Integrations_ and press the "Add Integration" button.
Go to _Settings > Integrations_ and press the _Add Integration_ button.

![Create an integration](/Resources/public/img/docs/articles/centralized-authentication-and-sso/configure-integration.png)

### 2 - Connect your account via OAuth

Go to your [profile](/profile) and find the _Connected Accounts_ section. Click on the "Connect" button to go through the OAuth authentication
Go to your [profile](/profile) and find the _Connected Accounts_ section. Click on the _Connect_ button to go through the OAuth authentication
flow, and associate your Private Packagist account with your GitHub, GitLab or Bitbucket account.

![Connect your account via OAuth](/Resources/public/img/docs/articles/centralized-authentication-and-sso/profile-connect.png)

### 3 - Set up the synchronization

Now we can continue to set up the synchronization. In your organization, go to _Settings > Synchronizations_ and press the
"Add Synchronization" button. Follow the steps to complete the configuration.
Now we can continue to set up the synchronization. In your organization, go to _Settings > Synchronizations_ and press the
_Add Synchronization_ button. Follow the steps to complete the configuration.

![Create a synchronization](/Resources/public/img/docs/articles/centralized-authentication-and-sso/configure-synchronization.png)

Expand All @@ -52,9 +52,9 @@ once they log in via OAuth. Only users who have logged into Private Packagist us
Whether or not you are using automatic user provisioning, Private Packagist will always manage the same users as those provisioned
in your code hosting platform. If a user is removed, that same user will also be removed from Private Packagist.

If you want to control which of your users should be allowed to access Private Packagist at all, you can opt to deactivate
users discovered by the synchronization by default. Then, only users that you activate manually will be able to log in.
To enable this behavior, go to the _Teams_ tab, and click on "View and manage all members of this organization" and check the box:
If you want to control which of your users should be allowed to access Private Packagist at all, you can opt to deactivate
users discovered by the synchronization by default. Then, only users that you activate manually will be able to log in.
To enable this behavior, go to the _Teams_ tab, and click on _View and manage all members of this organization_ and check the box:

![Deactivate users discovered by synchronization](/Resources/public/img/docs/articles/centralized-authentication-and-sso/deactivate-sync-members.png)

Expand All @@ -64,20 +64,20 @@ Now we can enforce OAuth authentication for all users in the organization, to en
identity system configured on the code hosting platform in order to access Private Packagist and cannot use an alternative
method to log into Private Packagist.

Go to _Settings > Access_ and apply the changes. From now on, everyone - including yourself - will be required to
Go to _Settings > Access_ and apply the changes. From now on, everyone - including yourself - will be required to
authenticate via your configured integration.

![Enforce OAuth authentication](/Resources/public/img/docs/articles/centralized-authentication-and-sso/enforce-oauth.png)

### 5 - Share the organization-specific login link

If you set up your own integration in Step 1, the final step is sharing your organization-specific login link with your users.
Look for the "Login link" button in _Settings > Integrations_ page.
If you set up your own integration in Step 1, the final step is sharing your organization-specific login link with your users.
Look for the _Login link_ button in _Settings > Integrations_ page.

![Login link settings](/Resources/public/img/docs/articles/centralized-authentication-and-sso/login-link-settings.png)

This link presents the option to authenticate with your configured integration. Once the user clicks on the
"Log in with <integration name>" button, the authentication process is initiated and your users are redirected to your
_Log in with <integration name>_ button, the authentication process is initiated and your users are redirected to your
code-hosting platform to log in.

![Login link example](/Resources/public/img/docs/articles/centralized-authentication-and-sso/login-link-example.png)
Expand Down
16 changes: 8 additions & 8 deletions docs/cloud/bitbucket-server-oauth1-integration-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ To allow your users to authenticate to Private Packagist with their Bitbucket Da
first need to create an integration in Private Packagist. This document walks you through the required steps.

## Open the Add Integration form
From the organization settings page, select the "Integrations" subtab.
Hit the "Add Integration" button on the integrations listing page to get to the form below.
From the organization settings page, select the _Integrations_ subtab.
Hit the _Add Integration_ button on the integrations listing page to get to the form below.
To set up a Bitbucket Data Center / Server integration with Private Packagist, start by selecting "Bitbucket Data Center / Server"
as the platform, enter the URL of your on-premise Bitbucket Data Center / Server into the base URL field and select OAuth 1 as the OAuth version as seen in the example below.

Expand All @@ -38,17 +38,17 @@ Submit the form to see the additional information.
![Packagist Form](/Resources/public/img/docs/integration-setup/cloud/bitbucket-server-oauth1-02-packagist-details-20250103.png)

## Configure Application link
Click on the link to setup an Application Link on Bitbucket Data Center / Server. You will need the "Client Id" and the "Public Key" shown in the form.
Click on the link to setup an Application Link on Bitbucket Data Center / Server. You will need the _Client Id_ and the _Public Key_ shown in the form.

![Bitbucket Data Center / Server Configure Application Link](/Resources/public/img/docs/integration-setup/bitbucket-server-oauth1-03-bitbucket-configure-application-link.png)

For Bitbucket Data Center versions 7.21 and newer, select "Atlassian product" and not "External application" to be able to set up an OAuth1 link.

After you hit the button to create a new Application Link a configuration window may appear. If it does, verify that the url matches the "Application URL for Link" (_https://packagist.com_) and hit "Continue", otherwise skip this step.
After you hit the button to create a new Application Link a configuration window may appear. If it does, verify that the url matches the _Application URL for Link_ (_https://packagist.com_) and hit _Continue_, otherwise skip this step.

![Bitbucket Data Center / Server Invalid Url](/Resources/public/img/docs/integration-setup/bitbucket-server-oauth1-04-bitbucket-invalid-url.png)

Now setup a "Generic Application". The only field required is the "Application Name". Submit the form to finish creating the Application Link.
Now setup a _Generic Application_. The only field required is the _Application Name_. Submit the form to finish creating the Application Link.

![Bitbucket Data Center / Server Setup Link](/Resources/public/img/docs/integration-setup/bitbucket-server-oauth1-05-bitbucket-setup-link.png)

Expand All @@ -58,12 +58,12 @@ Click on the pen icon to the right of the application you just created to edit t

![Bitbucket Data Center / Server Incoming Auth](/Resources/public/img/docs/integration-setup/bitbucket-server-oauth1-07-bitbucket-incoming-auth.png)

This is where we will need the "Client ID" and the "Public Key" that were previously generated on the Private Packagist integration form.
Enter the "Client ID" into the "Consumer Key" field, make sure the entire content of the "Public Key" field gets copied and the "Consumer Callback" field stays empty.
This is where we will need the _Client ID_ and the _Public Key_ that were previously generated on the Private Packagist integration form.
Enter the _Client ID_ into the _Consumer Key_ field, make sure the entire content of the _Public Key_ field gets copied and the _Consumer Callback_ field stays empty.
Submit the form and go back to the list of integrations in Private Packagist.

### Share the Bitbucket login link
The final step is sharing your organization-specific login link with your users. Look for the "Login link" button next to
The final step is sharing your organization-specific login link with your users. Look for the _Login link_ button next to
your newly created Bitbucket Data Center / Server integration on the integrations page, and copy the URL.

![Bitbucket Data Center / Server integrations](/Resources/public/img/docs/integration-setup/cloud/bitbucket-server-oauth1-08-integrations-overview.png)
Expand Down
10 changes: 5 additions & 5 deletions docs/dependabot-for-private-packagist.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This guide explains how to configure and set up Dependabot if you want to use it

## Enable Dependabot in GitHub

Start in your GitHub repository and go to “Settings”. In the “Security” section of the sidebar go to “Code security and analysis”, where you can enable Dependabot. In this process, you will create a dependabot.yaml [as shown as below](#dependabotyaml). Follow [this guide on GitHub](https://docs.github.com/en/code-security/getting-started/dependabot-quickstart-guide#enabling-dependabot-for-your-repository) for the complete steps to enable Dependabot.
Start in your GitHub repository and go to _Settings_. In the _Security_ section of the sidebar go to _Code security and analysis_, where you can enable Dependabot. In this process, you will create a dependabot.yaml [as shown as below](#dependabotyaml). Follow [this guide on GitHub](https://docs.github.com/en/code-security/getting-started/dependabot-quickstart-guide#enabling-dependabot-for-your-repository) for the complete steps to enable Dependabot.

![enable dependabot](/Resources/public/img/docs/articles/dependabot-secret.png)

Expand Down Expand Up @@ -37,19 +37,19 @@ registries:

Replace the Composer URL `https://repo.packagist.com/acme/` with your organization's Composer URL on packagist.com. The example URL is for the organization named `acme`.

To grant Dependabot access to the packages on Private Packagist, you need to provide the secret `PRIVATE_PACKAGIST_AUTH_TOKEN` to your GitHub repository. In Settings, under the section “Security,” there is a “Secrets and Variables” page for Dependabot.
To grant Dependabot access to the packages on Private Packagist, you need to provide the secret `PRIVATE_PACKAGIST_AUTH_TOKEN` to your GitHub repository. In _Settings_, under the section _Security_, there is a _Secrets and Variables_ page for Dependabot.

![Dependabot Secrets](/Resources/public/img/docs/articles/dependabot-secret.png)

Now, on Private Packagist, create an authentication token with update access under “Settings” and “Authentication Tokens”. Copy the secret token into the GitHub form.
Now, on Private Packagist, create an authentication token with update access under _Settings_ and _Authentication Tokens_. Copy the secret token into the GitHub form.

## Troubleshooting

To check if Dependabot is able to access your packages, navigate to “Insights” on your GitHub repository, then “Dependency Graph” and then activate the tab “Dependabot”.
To check if Dependabot is able to access your packages, navigate to _Insights_ on your GitHub repository, then _Dependency Graph_ and then activate the tab _Dependabot_.

![Dependabot Insights](/Resources/public/img/docs/articles/dependabot-insights.png)

There is a link “Recent update jobs”, that will show the last jobs from Dependabot and logs. The last job should be green now.
There is a link _Recent update jobs_, that will show the last jobs from Dependabot and logs. The last job should be green now.

![Dependabot Jobs](/Resources/public/img/docs/articles/dependabot-jobs.png)

Expand Down
14 changes: 7 additions & 7 deletions docs/mirror-magento-marketplace.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,34 @@ Private Packagist supports mirroring Composer repositories which require authent

Mirrored packages show up in your Private Packagist search results, your [License Review](../features/license-review.d), and can be installed from your Private Packagist repository with Composer. Their distribution files are cached in your Private Packagist organization to make downloads redundant and faster.

To setup credentials for a repository, Magento Marketplace in our example, head to Settings > Manage Credentials in your Private Packagist organization. Afterwards you can add a new mirrored third party repository under Settings as well. From then on packages can be manually or automatically mirrored based on your configuration.
To setup credentials for a repository, "Magento Marketplace" in our example, head to _Settings > Manage Credentials_ in your Private Packagist organization. Afterwards you can add a new mirrored third party repository under _Settings_ as well. From then on packages can be manually or automatically mirrored based on your configuration.

## Magento Marketplace Walkthrough
Start by hitting “Manage Credentials” in your organizations settings. My organization is called ACME Company.
Start by hitting _Manage Credentials_ in your organizations settings. My organization is called "ACME Company".

![Manage Credentials](/Resources/public/img/docs/features/magento/Magento-Credentials-20200723.png)

Next enter a description, Im going with Magento Marketplace Credentials, and select Magento Marketplace as the authentication type. The domain repo.magento.com will be filled in automatically. Now we need the Magento Marketplace Public and Private Key, well click on “My Access Keys” to get to the Magento Marketplace website.
Next enter a description, I'm going with "Magento Marketplace Credentials", and select "Magento Marketplace" as the authentication type. The domain "repo.magento.com" will be filled in automatically. Now we need the Magento Marketplace Public and Private Key, we'll click on _My Access Keys_ to get to the Magento Marketplace website.

![Create Credentials](/Resources/public/img/docs/features/magento/Magento-Credentials-Edit-20200723.png)

Make sure youre on the Magento 2 Access Keys page, and then copy and paste the Private and Public keys into the respective fields on Private Packagist. Once youre done, hit “Create” on the Private Packagist Credentials page.
Make sure you're on the Magento 2 Access Keys page, and then copy and paste the Private and Public keys into the respective fields on Private Packagist. Once you're done, hit _Create_ on the Private Packagist Credentials page.

![Magento Access Keys](/Resources/public/img/docs/features/magento/Magento-Access-Keys.png)

With the credentials set up we can now mirror a new Composer repository under Settings in the Private Packagist organization.
With the credentials set up we can now mirror a new Composer repository under _Settings_ in the Private Packagist organization.

![Mirror Settings](/Resources/public/img/docs/features/magento/Magento-Settings-Mirror-20200723.png)

Pick a name for the repository, I picked “Magento Marketplace”, enter the URL “https://repo.magento.com” and pick the credentials we just set up for authentication with this repository. You can choose whether you would like packages to be mirrored automatically when someone tries to access them through composer update, or if you would like to add them yourself manually.

![Mirror Add](/Resources/public/img/docs/features/magento/Magento-Mirror-Add-20200723.png)

Under Packages we can now add a package “From Mirror”.
Under Packages we can now add a package _From Mirror_.

![Packages Add](/Resources/public/img/docs/features/magento/Magento-Packages-Add-2020723.png)

Im going to enter just one package for the demo, but you can add as many as you like here. Im going with magento/module-catalog. Make sure to select the Magento Marketplace Mirror repository underneath, and hit “Add”.
I'm going to enter just one package for the demo, but you can add as many as you like here. I'm going with "magento/module-catalog". Make sure to select the "Magento Marketplace" Mirror repository underneath, and hit _Add_.

![Packages Add Proxied](/Resources/public/img/docs/features/magento/Magento-Add-Mirrored-20200723.png)

Expand Down
2 changes: 1 addition & 1 deletion docs/notifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Notification channels allow you to receive notifications via other means than em
- **Microsoft Teams Webhook**: Sends notifications to your configured Microsoft Teams channel
- **Webhook**: Sends an HTTP POST request to a defined URL optionally signed with a user supplied secret.

Notification channels can be added on your organization’s settings page under *Notification Channels -> Add Notification Channel*.
Notification channels can be added on your organization’s settings page under _Notification Channels -> Add Notification Channel_.

### Receiving Webhook Notifications

Expand Down
2 changes: 1 addition & 1 deletion docs/security-monitoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Organizations using subroganizations have the option to disable security monitor
Every user receives security notifications by email for all projects they have access to by default.
Users can unsubscribe either from individual projects or from all security notifications if they do not wish to receive any email notifications.

[Notification channels](./notifications.md) allow you to receive security notifications via email to other addresses, on Slack, on Microsoft Teams or through a webhook to an endpoint of your choice. They can be configured on your organization’s settings page under *Notification Channels -> Add Notification Channel*.
[Notification channels](./notifications.md) allow you to receive security notifications via email to other addresses, on Slack, on Microsoft Teams or through a webhook to an endpoint of your choice. They can be configured on your organization’s settings page under _Notification Channels -> Add Notification Channel_.

Once you create a notification channel, you can assign it to the packages to be monitored on the organization's security settings.

Expand Down
Loading