How-To's

Space Packages Update. Project Repositories

Space Packages are receiving a number of important updates. If you’re a Packages user, please read this blog post carefully.

Until recently, Space Packages was an organization-wide (top-level) module, which led to some inconveniences:

  • The Packages page showed you all repositories at once.
  • It was not possible to filter for repositories related to a certain project.
  • Organization-wide Packages didn’t support permissions, so all users had access to all organization-wide repositories.

In light of these shortcomings, we decided to:

  • Make Packages a project-wide module with permissions support.
  • Get rid of organization-wide Packages.

Project-wide Packages

  • Every project in Space now has its own Packages page.
  • The URL of each repository now has additional path segments indicating that the repository belongs to a project, and showing which project it belongs to. For example:
    Before: mycompany.registry.jetbrains.space/mydocker/myimage
    After: mycompany.registry.jetbrains.space/p/projectkey/mydocker/myimage
  • Now when you create or edit a repository, you can specify the Access to repository settings:
    • Private – only authenticated users can access private repositories. By default, Project Members have Read, Write, and Create permissions, while Organization Members only have the Read permission. You can change this in Project Settings | Access | Package Repositories.
    • Public – all unauthenticated users have the Read permission for public repositories.
      The Automation Service has Read and Write permissions for both repository types.
      JetBrains Space. Public and Private package repositories

Organization-wide Packages have been deprecated

  • Organization-wide repositories will continue to work. You can still use them to push and pull packages.
  • You can still access the top-level Packages page using the button on the vertical menu on the left-hand side of the interface.
  • You can no longer create organization-wide repositories – the New repository button is no longer there.

How to convert an organization-wide repository to a project repository

  1. Find the organization-wide repository you want to convert, choose Move to a project, and specify the destination project:
    JetBrains Space. Move repo to a project
    JetBrains Space. Move repo to a project
  2. Make sure that your authentication method provides you access to the converted repository:
    • If you used a user account to access the repository, make sure it is included as a Project Member. To check this:
      1. Open the project.
      2. Open Project Settings | Access.
      3. Select Project Member in Predefined Roles and switch to the Members tab. Here you will find the list of current project members. As mentioned in the previous section, members should have Read and Write permissions by default in Package Repositories.
        JetBrains Space. Project Members
    • If you used a personal token to access the repository, first make sure that the user account this token belongs to is included in the project as a Project Member (as described above). Then:
      1. Find the token in My Profile | Personal Tokens.
      2. Click Update.
      3. If your token had Limited access, make sure it has ReadRepository and WriteRepository permissions. If not, add them.
        JetBrains Space. Update personal token
        Note that permissions are not shown on the list. To see them, just start typing:
        JetBrains Space. Limited access permissions
    • If you used a service account to access the repository, grant it Read and Write permissions for this particular project:
      1. Open the service account in Administration | Applications.
      2. Open Requested Rights and select Read and Write permissions in Package Repositories.
        JetBrains Space. Package Repositories permissions
      3. Open Authorizations, click Add project, and specify the required project.
        JetBrains Space. Project rights
  3. As the repository URL has changed, don’t forget to update your scripts with the new URL.

That’s all for today! Should you have any comments or questions, please post them below.

image description