Set up your Nexus
Configuring your Nexus repository to connect to Deque's Agora artifact repository
Follow these steps when you want to connect to Deque's Agora artifact repository from your Nexus repository instance. Setting up this authenticated remote repository within Nexus allows your users to access Axe DevTools components through your own software distribution network.
Prerequisites
You must have Agora login credentials and admin credentials for your Nexus instance to configure this repository connection. Deque recommends using an Agora service account for those credentials rather than a personal account.
Using a Service Account
Deque recommends that you authenticate this connection with an Agora service account rather than with your own Agora login. A service account is an Agora account that belongs to your team rather than a personal account that belongs to only one team member.
Your repository manager — the server that hosts the remote repository you are setting up — stores the service account's credentials and uses them whenever it needs to reach Agora. It does not download the packages ahead of time. The first time one of your developers or build pipelines installs an Axe DevTools package, the remote repository fetches that package from Agora and keeps a copy, and later installs are served from the copy. Your developers and automated systems only ever request packages from your repository manager, so they never need their own Agora accounts.
A connection built on a single person's login depends on that person keeping Agora access. If they leave your organization, no one can sign in to their account to recreate the Identity Token when it expires, and installs then fail for everyone. A service account does not depend on one person.
Looking After the Service Account
Treat the service account's Identity Token — the password-like credential Agora issues for the account — as a shared infrastructure credential, and manage it following your organization's security and credential policies. Store it in a secrets manager or your CI provider's secret store and reference it from your repository manager's configuration, rather than committing it to source control. Ask Deque to scope the service account to only the read access it needs when you request it, and ask us to revoke and reissue the token if it may have been exposed or when the account owner changes.
Assign an owner to the account from within your organization. Identity Tokens expire (usually after a year), so the account owner must recreate the token before it expires. Whoever recreates it must also update the stored token that your repository manager uses to connect to Agora, because your repository manager cannot download new and updated packages until the stored token is updated.
To request a service account, contact your Deque representative directly, ask us via our support desk, or send us an email. We'll be happy to help you set one up.
Creating an Identity Token
To begin, sign in to Agora as the service account, so that the Identity Token belongs to the service account rather than to a personal account. If you are not using a service account, sign in as yourself. Click the Welcome button in the top right corner to open the profile page. Generate an Identity Token there and copy it.
Remember to copy your Identity Token's value when creating it, as this will be your only opportunity. Otherwise, you'll have to create a new token.
Identity Tokens expire (usually after a year), so you'll need to recreate your token periodically.
Connecting to Agora
- Sign in to your Nexus Repository Manager with your admin credentials.
- Select the cog icon in the header of Nexus repository manager. The repository administration page should display with the left sidebar refreshed to display the Administration menu.
- Select Repositories (Repository administration) to display the repositories page.
- Select Create repository at the top of the repositories page.
- The repositories page should display a listing of recipes. Select a proxy version of the language you wish to use Axe DevTools with in the Select Recipe table.
- The Create Repository page should display a form. We recommend using the default settings except for the following:
- Remote storage location for Axe DevTools:
Recipe Use this Artifactory URL (triple click to select) npm (proxy) https://agora.dequecloud.com/artifactory/api/npm/devtools-npm/maven2 (proxy) https://agora.dequecloud.com/artifactory/devtools-maven/nuget (proxy) https://agora.dequecloud.com/artifactory/api/nuget/devtools-nuget/rubygems (proxy) https://agora.dequecloud.com/artifactory/devtools-gems/pypi (proxy) https://agora.dequecloud.com/artifactory/api/pypi/devtools-python/simple/ - Verify selection of the authentication box and note that the authentication type menu displays the Username list option in the HTTP section.
- Enter the service account's email address as the username and the Identity Token you copied as the password. If you are not using a service account, enter the email address of the Agora account you signed in with.
- Remote storage location for Axe DevTools:
- Select Create repository at the bottom left corner of the Create Repository: <recipe you selected> page.
- If successful, a message will display indicating remote repository creation.
