Software Package Release References
Supported Artefact Types
The SKAO aims to maintain Nexus repositories with native interface support for the core languages and frameworks used for software development within the project. This includes:
Docker (OCI Images)
Helm (Charts)
PyPi (Wheels/Source Distributions)
Conan (C/C++)
NPM (Node)
Maven (Java)
GitLFS (Large File Support)
Apt (Debian)
Yum (Fedora)
Additionally, there are also upstream proxy/caching facilities available for:
Docker (OCI Images - only available inside AWS VPC)
Helm - helm-proxy repository (from https://charts.helm.sh/stable)
PyPi - pypi-all repository (from pypi.python.org and include pypi-internal)
Conda - conda-proxy repository (from https://repo.continuum.io/pkgs/)
Conan - conan-proxy repository (from https://conan.bintray.com)
NPM - npm-all repository (from https://registry.npmjs.org and include npm-internal which is not active yet)
Maven - maven-public repository (from maven-release, maven-snapshots, https://repo1.maven.org/maven2/)
Apt - ubuntu-archive repository, ubuntu18.04-proxy repository, ubuntu20.04-proxy repository and ubuntu22.04-proxy repository (from http://archive.ubuntu.com/ubuntu/)
Yum - yum_centos_7-internal repository (from http://download.fedoraproject.org/pub/epel/7/x86_64) and yum_centos_8-internal repository (from http://download.fedoraproject.org/pub/epel/8/Everything/x86_64)
Go Lang - go-proxy repository (from https://golang.org/pkg/)
Finally, there are repositories that utilise the Nexus Raw format to provide library space for the following:
Ansible
Raw objects (binary, text etc.)
RPM packages
Metadata
To be declared as valid, an artefact must be decorated with a set of metadata which certify its origin. Since all the artefacts are published from gitlab pipelines, all the relevant information must be attached. Please ensure that the below information is included in the metadata:
CI_COMMIT_AUTHOR
CI_COMMIT_REF_NAME
CI_COMMIT_REF_SLUG
CI_COMMIT_SHA
CI_COMMIT_SHORT_SHA
CI_COMMIT_TIMESTAMP
CI_JOB_ID
CI_JOB_URL
CI_PIPELINE_ID
CI_PIPELINE_IID
CI_PIPELINE_URL
CI_PROJECT_ID
CI_PROJECT_PATH_SLUG
CI_PROJECT_URL
CI_RUNNER_ID
CI_RUNNER_REVISION
CI_RUNNER_TAGS
GITLAB_USER_NAME
GITLAB_USER_EMAIL
GITLAB_USER_LOGIN
GITLAB_USER_ID
"Labels": {
"CI_COMMIT_AUTHOR": "Ugur Yilmaz <ugur.yilmaz@skao.int>",
"CI_COMMIT_REF_NAME": "0.9.0",
"CI_COMMIT_REF_SLUG": "0-9-0",
"CI_COMMIT_SHA": "9262f0d42fffff549d85a0f93f102bc7ae8f4f6f",
"CI_COMMIT_SHORT_SHA": "9262f0d4",
"CI_COMMIT_TIMESTAMP": "2023-07-26T12:30:15+00:00",
"CI_JOB_ID": "4744388752",
"CI_JOB_URL": "https://gitlab.com/ska-telescope/ska-cicd-k8s-tools/-/jobs/4744388752",
"CI_PIPELINE_ID": "946033414",
"CI_PIPELINE_IID": "531",
"CI_PIPELINE_URL": "https://gitlab.com/ska-telescope/ska-cicd-k8s-tools/-/pipelines/946033414",
"CI_PROJECT_ID": "24071551",
"CI_PROJECT_PATH_SLUG": "ska-telescope-ska-cicd-k8s-tools",
"CI_PROJECT_URL": "https://gitlab.com/ska-telescope/ska-cicd-k8s-tools",
"CI_RUNNER_ID": "25177620",
"CI_RUNNER_REVISION": "85586bd1",
"CI_RUNNER_TAGS": "[\"k8srunner\"]",
"GITLAB_USER_EMAIL": "ugur.yilmaz@skao.int",
"GITLAB_USER_ID": "3049864",
"GITLAB_USER_LOGIN": "limonkufu",
"GITLAB_USER_NAME": "Ugur Yilmaz",
"author": "Matteo Di Carlo <matteo.dicarlo@inaf.it>",
"description": "This image includes tools for the deployment of a chart and the execution of pytest",
"int.skao.application": "SKA Deploy",
"license": "BSD-3-Clause",
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.version": "22.04",
"org.skatelescope.team": "Systems Team",
"org.skatelescope.version": "1.0.0",
"registry": "/ska-cicd-build-deploy"
}
More information can be found in Predefined variables reference. The procedure for including these metadata is documented in Deploying Artefacts.
Todo
Deploying Artefacts to be linked to Ugur’s How-to page on this
Global Gitlab Variables for the Central Artefact Repository (CAR)
This section describes the global variables, CAR related, that are presently being used as part of the GitLab CI/CD infrastructure.
Key |
Description |
---|---|
|
Is the FQDN of the Central Artefact Repository - artefact.skao.int |
|
OCI Image Publishing user name |
|
OCI Publishing user password |
|
Python Package Artefact Repository URL - https://artefact.skao.int/repository/pypi-internal/ |
|
PyPi Publishing user name |
|
PyPi user password |
|
Helm Artefact Repository URL - https://artefact.skao.int/repository/helm-internal |
|
Helm Chart Publishing user name |
|
Helm Chart Publishing user password |
|
Ansible Collections Repository URL - https://artefact.skao.int/repository/ansible-internal |
|
Ansible role/collection Publishing user name |
|
Ansible role/collection Publishing user password |
|
Raw Artefact Repository URL - https://artefact.skao.int/repository/raw-internal |
|
Raw Repository Publishing user name |
|
Raw Repository Publishing user password |
|
Conan Artefact Repository URL - https://artefact.skao.int/repository/conan-internal |
|
Conan Repository Publishing user name |
|
Conan Repository Publishing user password |