Skip to content

Artifact Registry: Set Up for Development

Docker

You will need to have docker installed and configured on your machine. If you don't have docker on your machine, you should contact the IT Service Desk to have it installed.

Authenticating to Jax Artifact Registry

The recommended authentication method for our internal Docker Artifact Registry uses gcloud, and you will likely want to install this.

With gcloud installed follow the authentication process provided here. In brief:

gcloud auth login
gcloud auth configure-docker us-docker.pkg.dev,us-east1-docker.pkg.dev

If you do not want to install gcloud, follow the authentication process specified here.

Python

This process depends both on using and developing with python3, as well as the gcloud command line tool for Google Cloud.

Poetry

If you're using poetry, make sure you're on at least version 1.2.0.

Poetry 1.2.0 Docs

You can check your poetry version with:

poetry --version

Once you've upgraded poetry to at least version 1.2.0, you will be able to add the keyrings.google-artifactregistry-auth package to poetry itself so that it can authenticate to Artifact Registry with credentials provided by gcloud or GOOGLE_APPLICATION_CREDENTIALS.

poetry self add "keyrings.google-artifactregistry-auth==1.1.1"

In your project's pyproject.toml you will want to add the following, if it is not present already.

[[tool.poetry.source]]
name = "jax-cs-registry"
url = "https://us-python.pkg.dev/jax-cs-registry/python/simple"
default = false
secondary = true

Finally, provide credentials for the keyring to use, either from Application Default Credentials, or by using gcloud auth. All @jax.org users have read access to the production registry, if you do not have a service account, using gcloud auth will work for you on your local machine.

Application Default Credentials
export GOOGLE_APPLICATION_CREDENTIALS=/Users/me/path/to/my/service-account.json
Gcloud Auth
gcloud auth application-default login

You should now be able to install private python package from Jax's Artifact Registry.

poetry add jax-cs-storage

PIP

The process when using PIP is similar to the process when using poetry. First, you will need to install the keyring in your virtual environment to make it available to be used when downloading packages.

Google Official Docs: PIP

You will again have the option of using either Application Default Credentials or gcloud auth to provide the actual credentails to the keyring.

Application Default Credentials
export GOOGLE_APPLICATION_CREDENTIALS=/Users/me/path/to/my/service-account.json
Gcloud Auth
gcloud auth application-default login

NPM

Attention

Seeking content contributors for this section.

Java Maven

Attention

Seeking content contributors for this section.