Data Science & AI Workbench supports the use of an external version control repository for user-created projects. Anaconda recommends connecting to this external version control repository at time of installation, however you are also able to migrate from one version control repository to another after installation is complete.

  • To provide permission granularity and maintain parity with your external version control repository, Workbench grants individual platform users access to individual repositories. To prevent default permissions being applied to all users within a group, users cannot belong to the given organization or group.
  • Platform users are prompted for their access token before they create their first project in Workbench. Anaconda recommends you advise users to create an ever-lasting token, to retain permanent access to their files from within Workbench. For more information about auth token permissions, see Configuring user access to external version control.

Anaconda recommends that you collect the following information before you begin:

  • If necessary, the fully qualified domain name (FQDN) of your version control server.
  • The organization, team, or group name associated with your service account.
  • The username of the administrator for the organization, team, or group.
  • The personal access token or password required to connect to your version control repository.

Supported external git versions

Workbench supports integration with the following external repositories:

External repositorySupported versions
GitHub Enterprise Server2.15 through 3.14.1
GitHub Enterprise Cloudgithub.com
Bitbucket Server/Data Center5.9.1 through 8.9.0
Bitbucket Cloudbitbucket.org
GitLab Self-Managed10.4.2 through 17.4
GitLab Cloudgitlab.com

GitHub

  1. Create a backup copy of the anaconda-enterprise-anaconda-platform.yml configmap.

  2. Open the anaconda-enterprise-anaconda-platform.yml configmap for editing.

  3. Locate the git: section of the file.

  4. Uncomment (remove the # from the start of lines in) the Example external repo configuration section.

  5. Comment out (add a # to the start of) the remaining lines in the git: section.

  6. Configure the Example external repo configuration values as follows:

    AttributeDescription
    nameA descriptive name for the GitHub service your organization uses.
    typeSpecifies the API version for accessing GitHub repositories. GitHub uses github-v3-api
    urlThe URL of the version control server API. For example: https://your-domain.com/api/v3/
    credential-urlThe hostname of the GitHub server used to manage user credentials. For example: https://your-domain.com/api/path/
    organizationThe name of your GitHub organization.
    usernameSpecifies a username for a GitHub account. This account must have Owner permissions for your GitHub organization.
    auth-tokenThe personal access token associated with the username GitHub account.

    The url and credential-url attributes must contain all lowercase characters.

  7. Save your changes.

  8. Delete and restart system pods by running the following command:

    # Replace <NAMESPACE> with your Workbench cluster namespace
    kubectl delete -n <NAMESPACE> --wait=false $(kubectl get pods -o name|grep ap-)
    

Once all pods have returned to a running state, users are prompted to add their personal access token after logging into the platform.

GitLab

  1. Create a backup copy of the anaconda-enterprise-anaconda-platform.yml configmap.

  2. Open the anaconda-enterprise-anaconda-platform.yml configmap for editing.

  3. Locate the git: section of the file.

  4. Uncomment (remove the # from the start of lines in) the Example external repo configuration section.

  5. Comment out (add a # to the start of) the remaining lines in the git: section.

  6. Configure the Example external repo configuration values as follows:

    AttributeDescription
    nameA descriptive name for the GitLab service your organization uses.
    typeSpecifies the API version for accessing GitLab repositories. GitLab Enterprise (Self-Managed) uses gitlab-v4-api
    urlThe URL of the version control server API. For example: https://your-gitlab-domain.com
    credential-urlThe hostname of the Bitbucket server used to manage user credentials. For example: https://your-gitlab-domain.com
    organizationThe name of your GitLab group.
    usernameSpecifies a username for a GitLab account. This account must have Administrator permissions for your GitLab Server.
    auth-tokenThe personal access token associated with the username GitLab Administrator account.

    The url and credential-url attributes must contain all lowercase characters.

  7. Save your changes.

  8. Restart system pods with the following command for changes to take effect:

     # Replace <NAMESPACE> with your Workbench cluster namespace
     kubectl delete -n <NAMESPACE> --wait=false $(kubectl get pods -o name|grep ap-)
    

Once all pods have returned to a running state, users should now be prompted to add their personal access token after logging into the platform.

Bitbucket

By default, Bitbucket uses master as its default Git branch. Workbench uses main as its default Git branch. You must update the system-wide default branch name in Bitbucket to target main. If you do not, your deployments will fail.

  1. Create a backup copy of the anaconda-enterprise-anaconda-platform.yml configmap.

  2. Open the anaconda-enterprise-anaconda-platform.yml configmap for editing.

  3. Locate the git: section of the file.

  4. Uncomment (remove the # from the start of lines in) the Example external repo configuration section.

  5. Comment out (add a # to the start of) the remaining lines in the git: section.

  6. Configure the Example external repo configuration values as follows:

    AttributeDescription
    nameA descriptive name for the Bitbucket Server/Data Center service your organization uses.
    typeSpecifies the API version for accessing Bitbucket repositories. Bitbucket Server/Data Center uses bitbutcket-v1-api
    urlThe URL of the version control server API. For example: https://your-bitbucket-server-domain:7990
    credential-urlThe hostname of the Bitbucket server used to manage user credentials. For example: https://your-bitbucket-server-domain:7990
    organizationThe name of your Bitbucket team.
    usernameSpecifies a username for a Bitbucket account. This account must have Admin level permissions for your Bitbucket Server.
    auth-tokenThe password associated with the username Bitbucket account.

    The url and credential-url attributes must contain all lowercase characters.

  7. Save your changes.

  8. Restart system pods with the following command for changes to take effect:

    # Replace <NAMESPACE> with your Workbench cluster namespace
    kubectl delete -n <NAMESPACE> --wait=false $(kubectl get pods -o name|grep ap-)
    

Once all pods have returned to a running state, users should now be prompted to add their personal access token after logging into the platform.