diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c5fb061d27f52f66347cc1f16b4ba97316a8ea40..baf78a6ea627499041af9aa9a79d073543cebd47 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,432 @@ -# The Docker image that will be used to build your app +include: + - local: deploy/build_env/services-linux/gitlab-ci-build-docker.yml + - local: deploy/build_env/services-windows/gitlab-ci-build-docker.yml + - local: deploy/build_env/centos/gitlab-ci-build-docker.yml + - local: deploy/build_env/debians/gitlab-ci-build-docker.yml + - local: deploy/build_env/ubuntu/gitlab-ci-build-docker.yml + - local: deploy/build_env/manylinux2014/gitlab-ci-build-docker.yml + - local: deploy/build_env/site/gitlab-ci-build-docker.yml + - local: deploy/secondary_services/fluentd_elastic/gitlab-ci-build-docker.yml + +.go-cache: + variables: + GOPATH: $CI_PROJECT_DIR/.go + before_script: + - mkdir -p .go + cache: + paths: + - .go/pkg/mod/ + +.client-packages: + stage: build + script: + - mkdir $CI_PROJECT_DIR/build + - cd $CI_PROJECT_DIR/build + - PACKAGE_UP=${PACKAGE_TYPE^^} + - PACKAGE_LOW=${PACKAGE_TYPE,,} + - > + if [ -z "$WITH_LIBFABRIC" ]; then + ENABLE_LIBFABRIC="OFF" + else + ENABLE_LIBFABRIC="ON" + fi + - > + if [ -z "$WITH_PYTHON2" ]; then + BUILD_PYTHON2="OFF" + else + BUILD_PYTHON2="ON" + fi + - cmake -DCMAKE_BUILD_TYPE="Release" -DENABLE_LIBFABRIC=$ENABLE_LIBFABRIC -DINSTALL_EXAMPLES=ON -DBUILD_CLIENTS_ONLY=ON -DPACKAGE_RELEASE_SUFFIX=$OS_SUFFIX -DBUILD_PYTHON=OFF -DCPACK_PACKAGE_NAME="asapo-devel" -DCPACK_GENERATOR=$PACKAGE_UP .. + - make -j 4 + - make package + - rm -f CMakeCache.txt + - cmake -DCMAKE_BUILD_TYPE="Release" -DENABLE_LIBFABRIC=$ENABLE_LIBFABRIC -DBUILD_CLIENTS_ONLY=ON -DNUMPY_VERSION=0 -DBUILD_PYTHON=ON -DPACKAGE_RELEASE_SUFFIX=$OS_SUFFIX -DBUILD_PYTHON_PACKAGES="source;${PACKAGE_LOW}" -DBUILD_PYTHON2_PACKAGES=$BUILD_PYTHON2 -DBUILD_PYTHON_DOCS=OFF .. + - make -j 1 + - mkdir -p $CI_PROJECT_DIR/linux_packages/$PACKAGE_FOLDER + - cp $CI_PROJECT_DIR/build/asapo-devel* $CI_PROJECT_DIR/linux_packages/$PACKAGE_FOLDER + - cp $CI_PROJECT_DIR/build/*/api/python/dist_linux/dist/* $CI_PROJECT_DIR/linux_packages/$PACKAGE_FOLDER + tags: + - kubernetes-executor + rules: + - when: on_success + artifacts: + paths: + - linux_packages + expire_in: 3 hrs + +.client-packages-manylinux: + image: + name: $CI_REGISTRY_IMAGE/asapo-packages-manylinux-build-env:latest + entrypoint: [""] + stage: build + script: + - python_bin=$PYTHON_PATH/bin/python + - pip_bin=$PYTHON_PATH/bin/pip + - $pip_bin install cython numpy==$NUMPY_VERSION + - mkdir $CI_PROJECT_DIR/build + - cd $CI_PROJECT_DIR/build + - cmake -DENABLE_LIBFABRIC=ON -DCMAKE_BUILD_TYPE="Release" -DBUILD_CLIENTS_ONLY=ON -DPython_EXECUTABLE=$python_bin -DBUILD_PYTHON_PACKAGES=source -DBUILD_PYTHON2_PACKAGES=OFF -DNUMPY_VERSION=$NUMPY_VERSION .. + - cd $CI_PROJECT_DIR/build/consumer/api/python/dist_linux + - make python-dist-consumer + - $pip_bin wheel dist/*.tar.gz --no-deps + - cd $CI_PROJECT_DIR/build/producer/api/python/dist_linux + - make python-dist-producer + - $pip_bin wheel dist/*.tar.gz --no-deps + - mkdir -p $CI_PROJECT_DIR/wheel_packages/$WHEEL_FOLDER + - cp $CI_PROJECT_DIR/build/*/api/python/dist_linux/*.whl $CI_PROJECT_DIR/wheel_packages/$WHEEL_FOLDER + tags: + - kubernetes-executor + rules: + - when: on_success + artifacts: + paths: + - wheel_packages + expire_in: 3 hrs + +build-services-linux-debug: + extends: .go-cache + image: + name: $CI_REGISTRY_IMAGE/asapo-services-linux-build-env:latest + entrypoint: [""] + stage: build + script: + - mkdir $CI_PROJECT_DIR/build + - cd $CI_PROJECT_DIR/build + - cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=ON -DBUILD_INTEGRATION_TESTS=ON -DBUILD_EXAMPLES=ON -DBUILD_CONSUMER_TOOLS=ON -DENABLE_LIBFABRIC=ON -DENABLE_LIBFABRIC_LOCALHOST=ON -DBUILD_EVENT_MONITOR_PRODUCER=ON -DSTOP_BUILD_ON_WARNINGS=ON -DENABLE_NEW_RECEIVER_MONITORING=ON .. + - make -j 4 + tags: + - kubernetes-executor + rules: + - when: always + artifacts: + paths: + - build + exclude: + - build/**/CMakeFiles/**/*.o + - build/**/CMakeFiles/**/*.gcno + - build/**/CMakeFiles/**/*.gcda + - build/**/CMakeFiles/**/*.objlib + - build/**/CMakeFiles/**/*.includecache + - build/**/*.a + expire_in: 3 hrs + +test-services-linux-debug: + extends: .go-cache + image: + name: $CI_REGISTRY_IMAGE/asapo-services-linux-build-env:latest + stage: test + script: + - bash /services_start.sh + # - cd $CI_PROJECT_DIR/build/tests/automatic/common_scripts + # - bash start_services.sh + - cd $CI_PROJECT_DIR/build + - ctest --no-compress-output -T Test -L "unit|memcheck_unit|coverage" --output-on-failure --output-junit testResult.xml + tags: + - kubernetes-executor + rules: + - when: on_success + dependencies: + - build-services-linux-debug + artifacts: + reports: + junit: build/testResult.xml + +build-services-linux-release: + extends: .go-cache + image: + name: $CI_REGISTRY_IMAGE/asapo-services-linux-build-env:latest + entrypoint: [""] + variables: + CI_REGISTRY_IMAGE_USERNAME: "asapo-dev-registry" + CI_REGISTRY_IMAGE_PASSWORD: ${asapo_dev_registry_password} + stage: build + script: + - mkdir $CI_PROJECT_DIR/build + - cd $CI_PROJECT_DIR/build + - cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=ON -DBUILD_CONSUMER_TOOLS=ON -DBUILD_BROKER=ON -DBUILD_INTEGRATION_TESTS=ON -DENABLE_LIBFABRIC=ON -DBUILD_EVENT_MONITOR_PRODUCER=ON -DSTOP_BUILD_ON_WARNINGS=ON -DENABLE_NEW_RECEIVER_MONITORING=ON .. + - make -j 4 + - mv $CI_PROJECT_DIR/build/docs/doxygen/html $CI_PROJECT_DIR/build/doxygen-cpp + tags: + - kubernetes-executor + rules: + - when: on_success + artifacts: + paths: + - build + exclude: + - build/**/CMakeFiles/**/* + - build/**/*.a + expire_in: 3 hrs + +build-packages-centos7: + extends: .client-packages + image: + name: $CI_REGISTRY_IMAGE/asapo-packages-centos7-build-env:latest + entrypoint: [""] + variables: + PACKAGE_TYPE: "RPM" + WITH_LIBFABRIC: "YES" + WITH_PYTHON2: "YES" + OS_SUFFIX: "1.el7" + PACKAGE_FOLDER: "centos7.9.2009" + +build-packages-centos8: + extends: .client-packages + image: + name: $CI_REGISTRY_IMAGE/asapo-packages-centos8-build-env:latest + entrypoint: [""] + variables: + PACKAGE_TYPE: "RPM" + WITH_LIBFABRIC: "YES" + OS_SUFFIX: "1.el8" + PACKAGE_FOLDER: "centos8.3.2011" + +build-packages-debian9: + extends: .client-packages + image: + name: $CI_REGISTRY_IMAGE/asapo-packages-debian9-build-env:latest + entrypoint: [""] + variables: + PACKAGE_TYPE: "DEB" + WITH_PYTHON2: "YES" + OS_SUFFIX: "debian9.13" + PACKAGE_FOLDER: "debian9.13" + +build-packages-debian10: + extends: .client-packages + image: + name: $CI_REGISTRY_IMAGE/asapo-packages-debian10-build-env:latest + entrypoint: [""] + variables: + PACKAGE_TYPE: "DEB" + WITH_LIBFABRIC: "YES" + WITH_PYTHON2: "YES" + OS_SUFFIX: "debian10.11" + PACKAGE_FOLDER: "debian10.11" + +build-packages-debian11: + extends: .client-packages + image: + name: $CI_REGISTRY_IMAGE/asapo-packages-debian11-build-env:latest + entrypoint: [""] + variables: + PACKAGE_TYPE: "DEB" + WITH_LIBFABRIC: "YES" + OS_SUFFIX: "debian11.3" + PACKAGE_FOLDER: "debian11.3" + +build-packages-ubuntu1804: + extends: .client-packages + image: + name: $CI_REGISTRY_IMAGE/asapo-packages-ubuntu1804-build-env:latest + entrypoint: [""] + variables: + PACKAGE_TYPE: "DEB" + WITH_LIBFABRIC: "YES" + OS_SUFFIX: "ubuntu18.04" + PACKAGE_FOLDER: "ubuntu18.04" + +build-packages-ubuntu2004: + extends: .client-packages + image: + name: $CI_REGISTRY_IMAGE/asapo-packages-ubuntu2004-build-env:latest + entrypoint: [""] + variables: + PACKAGE_TYPE: "DEB" + WITH_LIBFABRIC: "YES" + OS_SUFFIX: "ubuntu20.04" + PACKAGE_FOLDER: "ubuntu20.04" + +build-packages-python36: + extends: .client-packages-manylinux + variables: + PYTHON_PATH: /opt/python/cp36-cp36m + NUMPY_VERSION: 1.12.1 + WHEEL_FOLDER: python36 + +build-packages-python37: + extends: .client-packages-manylinux + variables: + PYTHON_PATH: /opt/python/cp37-cp37m + NUMPY_VERSION: 1.14.5 + WHEEL_FOLDER: python37 + +build-packages-python38: + extends: .client-packages-manylinux + variables: + PYTHON_PATH: /opt/python/cp38-cp38 + NUMPY_VERSION: 1.17.3 + WHEEL_FOLDER: python38 + +build-packages-python39: + extends: .client-packages-manylinux + variables: + PYTHON_PATH: /opt/python/cp39-cp39 + NUMPY_VERSION: 1.19.3 + WHEEL_FOLDER: python39 + +build-packages-python310: + extends: .client-packages-manylinux + variables: + PYTHON_PATH: /opt/python/cp310-cp310 + NUMPY_VERSION: 1.23.4 + WHEEL_FOLDER: python310 + +build-docs: + image: + name: $CI_REGISTRY_IMAGE/asapo-services-linux-build-env:latest + entrypoint: [""] + stage: build + script: + - mkdir $CI_PROJECT_DIR/build + - cd $CI_PROJECT_DIR/build + - cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_CPP_DOCS=ON -DBUILD_PYTHON_DOCS=ON .. + - cd $CI_PROJECT_DIR/build/docs/doxygen + - make -j 4 + - cd $CI_PROJECT_DIR/build/docs/sphinx + - make -j 4 + - mkdir -p $CI_PROJECT_DIR/public + - mv $CI_PROJECT_DIR/build/docs/doxygen/html $CI_PROJECT_DIR/public/cpp + - mv $CI_PROJECT_DIR/build/docs/sphinx/sphinx/build/html $CI_PROJECT_DIR/public/python + tags: + - kubernetes-executor + rules: + - when: on_success + artifacts: + paths: + - public + expire_in: 3 hrs +.build-services-docker-template: + image: + name: gcr.io/kaniko-project/executor:debug + entrypoint: [""] + stage: deploy + script: + - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json + - services="broker authorizer discovery receiver file-transfer" + - > + for service in $services; do + service_dir=${service//"-"/"_"} + /kaniko/executor --cache=false --context $CI_PROJECT_DIR/build/${service_dir} --dockerfile $CI_PROJECT_DIR/build/${service_dir}/Dockerfile --destination $CI_REGISTRY_IMAGE/asapo-${service}${CONTAINER_TAG} + done + - /kaniko/executor --cache=false --context $CI_PROJECT_DIR/build/monitoring/monitoring_server --dockerfile $CI_PROJECT_DIR/monitoring/monitoring_server/docker/Dockerfile --destination $CI_REGISTRY_IMAGE/asapo-monitoring-server${CONTAINER_TAG} + - /kaniko/executor --cache=false --context $CI_PROJECT_DIR/monitoring/monitoring_ui --dockerfile $CI_PROJECT_DIR/monitoring/monitoring_ui/Dockerfile --destination $CI_REGISTRY_IMAGE/asapo-monitoring-ui${CONTAINER_TAG} + - /kaniko/executor --cache=false --context $CI_PROJECT_DIR/build/deploy/asapo_services --dockerfile $CI_PROJECT_DIR/build/deploy/asapo_services/Dockerfile --destination $CI_REGISTRY_IMAGE/asapo-cluster${CONTAINER_TAG} --destination $CI_REGISTRY_IMAGE/asapo-cluster${CONTAINER_TAG_LATEST} + tags: + - kubernetes-executor + dependencies: + - build-services-linux-release + +build-services-docker-dev: + extends: .build-services-docker-template + rules: + - if: $CI_COMMIT_REF_NAME == "develop" + when: on_success + - when: never + variables: + CONTAINER_TAG: "-dev:${CI_COMMIT_SHORT_SHA}" + CONTAINER_TAG_LATEST: "-dev:latest" + +build-services-docker-release: + extends: .build-services-docker-template + only: + - tags + variables: + CONTAINER_TAG: ":${CI_COMMIT_TAG}" + CONTAINER_TAG_LATEST: ":latest" + +.upload-client-packages-template: + image: + name: $CI_REGISTRY_IMAGE/asapo-services-linux-build-env:latest + entrypoint: [""] + stage: deploy + variables: + GIT_STRATEGY: none + script: + - > + for dist in $(ls $CI_PROJECT_DIR/linux_packages); do + files="asapo-devel python-asapo python3-asapo" + for file in $files; do + if ls $CI_PROJECT_DIR/linux_packages/${dist}/${file}* 1> /dev/null 2>&1; then + PACKAGE_ID=$(curl -s -G --header "JOB-TOKEN: $CI_JOB_TOKEN" ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages -d package_name=$file-$dist -d package_type=generic | jq -c ".[] | select(.pipeline.ref | contains(\"$CI_COMMIT_REF_NAME\")) | (.id)") + if ! [ -z "$PACKAGE_ID" ]; then + echo Removing Package ${PACKAGE_ID} + curl --request DELETE --header "JOB-TOKEN: $CI_JOB_TOKEN" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/${PACKAGE_ID}" + fi + for distfile in $(ls $CI_PROJECT_DIR/linux_packages/$dist/${file}*); do + DIST_FILE=${distfile//"~"/"_"} + curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file $distfile "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/$file-$dist/$DIST_VERSION/$(basename $DIST_FILE)" + done + fi + done + done + tags: + - kubernetes-executor + dependencies: + - build-packages-centos7 + - build-packages-centos8 + - build-packages-debian9 + - build-packages-debian10 + - build-packages-debian11 + - build-packages-ubuntu1804 + - build-packages-ubuntu2004 + +upload-client-packages-dev: + extends: .upload-client-packages-template + rules: + - if: $CI_COMMIT_REF_NAME == "develop" + when: on_success + - when: never + variables: + DIST_VERSION: "100.0.dev" + +upload-client-packages-release: + extends: .upload-client-packages-template + only: + - tags + variables: + DIST_VERSION: ${CI_COMMIT_TAG} + +upload-python-packages: + image: + name: python:latest + entrypoint: [""] + stage: deploy + variables: + GIT_STRATEGY: none + script: + - mkdir -p ~/.ssh + - echo "$NIMS_SSH_KNOWN_HOST" >> ~/.ssh/known_hosts + - chmod 600 $NIMS_SSH_PRIVATE_KEY + - pip install twine + - > + for pac_id in $(curl -s -G --header "JOB-TOKEN: $CI_JOB_TOKEN" ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages -d package_type=pypi | python -c "import sys, json; [print(x['id']) for x in json.load(sys.stdin) if ('pipeline' in x) and ('ref' in x['pipeline']) and (x['pipeline']['ref'] == '$CI_COMMIT_REF_NAME')]"); do + echo Removing package ${pac_id} + curl --request DELETE --header "JOB-TOKEN: $CI_JOB_TOKEN" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/${pac_id}" + done + - > + for dist in $(ls $CI_PROJECT_DIR/wheel_packages); do + TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python -m twine upload --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi $CI_PROJECT_DIR/wheel_packages/${dist}/* + echo "put $CI_PROJECT_DIR/wheel_packages/${dist}/* asapo/linux_wheels/" | sftp -vvvv -i $NIMS_SSH_PRIVATE_KEY -P 2022 asapo@it-fs5.desy.de + done + - wget -q -O- http://it-fs5.desy.de/cgi-bin/asapoSync.cgi + tags: + - DESY-intern + rules: + - if: $CI_COMMIT_REF_NAME == "develop" + when: on_success + - if: $CI_COMMIT_TAG + when: on_success + - when: never + dependencies: + - build-packages-python36 + - build-packages-python37 + - build-packages-python38 + - build-packages-python39 + - build-packages-python310 + + image: $CI_REGISTRY_IMAGE/asapo-site-build-env:latest -# Functions that should be executed before the build script is run pages: stage: deploy script: @@ -19,3 +445,6 @@ pages: - public rules: - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH + dependencies: + - build-docs + diff --git a/deploy/build_env/services-linux/Dockerfile b/deploy/build_env/services-linux/Dockerfile index 8a2f3abd82332d9bd88369c9c6f2ceb28e2b8377..d86e0eb58a662b78e51a0ae2df937d100e06f3df 100644 --- a/deploy/build_env/services-linux/Dockerfile +++ b/deploy/build_env/services-linux/Dockerfile @@ -22,6 +22,7 @@ RUN set -eux; \ grpc-proto \ python3-dev \ python3-numpy \ + pip \ cython3 \ lcov \ nomad \ @@ -36,6 +37,7 @@ RUN set -eux; \ libprotobuf-dev \ jq \ ; \ + pip install sphinx; \ apt-get install -y --no-install-recommends cmake/bullseye-backports; \ DEBIAN_FRONTEND=noninteractive apt-get install -y slapd; \ rm -rf /var/lib/apt/lists/* diff --git a/docs/site/docs/consumer-clients.md b/docs/site/docs/consumer-clients.md index eb5c635d13814dbca51617ae52d5cdbc6abca1fe..d94119b240c25694c222e68ea54b2678d84b85b7 100644 --- a/docs/site/docs/consumer-clients.md +++ b/docs/site/docs/consumer-clients.md @@ -27,8 +27,6 @@ All of the above functions can return only metadata part of the message, so that :::note In case of dataset family of functions, only list of dataset messages is returned, the data can be retrieved in a separate call. ::: - -Please refer to [C++](http://asapo.desy.de/cpp/) and [Python](http://asapo.desy.de/python/) documentation for specific details (available from DESY intranet only). - +Please refer to [C++](https://asapo.pages.desy.de/asapo/cpp/) and [Python](https://asapo.pages.desy.de/asapo/python/) documentation for specific details (available from DESY intranet only). diff --git a/docs/site/docs/cookbook/overview.md b/docs/site/docs/cookbook/overview.md index 795571affe514dbc8fe9b56c1064d6b62ec7a40c..7018767ff1a6b04f7b84f70fce56bece66b98bf4 100644 --- a/docs/site/docs/cookbook/overview.md +++ b/docs/site/docs/cookbook/overview.md @@ -6,7 +6,7 @@ Here you can find the code examples for various common asapo usecases. Make sure For the most basic usecase, see the [Simple Producer](simple-producer) and [Simple Consumer](simple-consumer). There are also the basic examples of CMake and makefile configurations for client compilation. -The API documentation can be found [here](http://asapo.desy.de/cpp) (for C++) or [here](http://asapo.desy.de/python) (for python). +The API documentation can be found [here](https://asapo.pages.desy.de/asapo/cpp) (for C++) or [here](https://asapo.pages.desy.de/asapo/python) (for python). :::tip You can see more examples in ASAPO [source code](https://gitlab.desy.de/asapo/asapo/-/tree/develop/examples) diff --git a/docs/site/docs/producer-clients.md b/docs/site/docs/producer-clients.md index 89b421a9960e77bf8495e59b3595ac39e4fb5dea..ccc0f1c952f61e3f2abf88cb262a57e33364ab63 100644 --- a/docs/site/docs/producer-clients.md +++ b/docs/site/docs/producer-clients.md @@ -17,7 +17,7 @@ multiple instances can be created (also within a single application) to send dat - retransfer will be attempted in case of system failure - a callback function can be provided to react after data was sent/process error -Please refer to [C++](http://asapo.desy.de/cpp/) and [Python](http://asapo.desy.de/python/) documentation for specific details (available from DESY intranet only). +Please refer to [C++](https://asapo.pages.desy.de/asapo/cpp/) and [Python](https://asapo.pages.desy.de/asapo/python/) documentation for specific details (available from DESY intranet only). diff --git a/docs/site/docusaurus.config.js b/docs/site/docusaurus.config.js index df2d8a613feae431bf2c6ebef09523454dbd826b..aba71e72e151979d5bf9b94b404298ad883817de 100644 --- a/docs/site/docusaurus.config.js +++ b/docs/site/docusaurus.config.js @@ -35,11 +35,11 @@ module.exports = { items: [ { label: 'C++', - href: 'http://asapo.desy.de/cpp/', + href: 'https://asapo.pages.desy.de/asapo/cpp/', }, { label: 'Python', - href: 'http://asapo.desy.de/python/', + href: 'https://asapo.pages.desy.de/asapo/python/', }, ], }, diff --git a/docs/site/versioned_docs/version-21.06.0/consumer-clients.md b/docs/site/versioned_docs/version-21.06.0/consumer-clients.md index d04c14034585b2ef69f335b0104b2bfafddf69d1..e59a7df1cd81bb9e787b50559ee5aad485750427 100644 --- a/docs/site/versioned_docs/version-21.06.0/consumer-clients.md +++ b/docs/site/versioned_docs/version-21.06.0/consumer-clients.md @@ -26,8 +26,6 @@ All of the above functions can return only metadata part of the message, so that :::note In case of dataset family of functions, only list of dataset messages is returned, the data can be retrieved in a separate call. ::: - -Please refer to [C++](http://asapo.desy.de/cpp/) and [Python](http://asapo.desy.de/python/) documentation for specific details (available from DESY intranet only). - +Please refer to [C++](https://asapo.pages.desy.de/asapo/cpp/) and [Python](https://asapo.pages.desy.de/asapo/python/) documentation for specific details (available from DESY intranet only). diff --git a/docs/site/versioned_docs/version-21.06.0/getting-started.mdx b/docs/site/versioned_docs/version-21.06.0/getting-started.mdx index 39b2cc4fb4649364891e0b330378e3374f2ea0c9..28b9883f6651b44bd6e07cfd10e773ae258a3455 100644 --- a/docs/site/versioned_docs/version-21.06.0/getting-started.mdx +++ b/docs/site/versioned_docs/version-21.06.0/getting-started.mdx @@ -114,7 +114,7 @@ Now you can install Python packages or C++ libraries for ASAPO Producer and Cons }> <TabItem value="python"> -Now you can write a Producer client (API documentation [here](http://asapo.desy.de/python/producer.html)). +Now you can write a Producer client (API documentation [here](https://asapo.pages.desy.de/asapo/python/producer.html)). ```shell content="./versioned_examples/version-21.06.0/python/produce.py" ``` @@ -129,7 +129,7 @@ $ python3 produce.py <TabItem value="cpp"> -Now you can write a Producer client (API documentation [here](http://asapo.desy.de/cpp/producer)). +Now you can write a Producer client (API documentation [here](https://asapo.pages.desy.de/asapo/cpp/producer/classasapo_1_1Producer.html)). ```shell content="./versioned_examples/version-21.06.0/cpp/produce.cpp" ``` @@ -171,7 +171,7 @@ A consumer data that reads the message ingested during step 3. Note that a token }> <TabItem value="python"> -Complete API documentation [here](http://asapo.desy.de/python/consumer.html) +Complete API documentation [here](https://asapo.pages.desy.de/asapo/python/consumer.html) ```shell content="./versioned_examples/version-21.06.0/python/consume.py" ``` @@ -186,6 +186,8 @@ $ python3 consumer.py <TabItem value="cpp"> +Complete API documentation [here](https://asapo.pages.desy.de/asapo/cpp/consumer/classasapo_1_1Consumer.html) + ```shell content="./versioned_examples/version-21.06.0/cpp/consume.cpp" ``` diff --git a/docs/site/versioned_docs/version-21.06.0/producer-clients.md b/docs/site/versioned_docs/version-21.06.0/producer-clients.md index d74adb0b60e04ae6cf0ab5b9c2b264a25c46419a..45bf6bd8c5b7feca1ffd3a2decea884b3634a5b8 100644 --- a/docs/site/versioned_docs/version-21.06.0/producer-clients.md +++ b/docs/site/versioned_docs/version-21.06.0/producer-clients.md @@ -17,7 +17,7 @@ multiple instances can be created (also within a single application) to send dat - retransfer will be attempted in case of system failure - a callback function can be provided to react after data was sent/process error -Please refer to [C++](http://asapo.desy.de/cpp/) and [Python](http://asapo.desy.de/python/) documentation for specific details (available from DESY intranet only). +Please refer to [C++](https://asapo.pages.desy.de/asapo/cpp/) and [Python](https://asapo.pages.desy.de/asapo/python/) documentation for specific details (available from DESY intranet only). diff --git a/docs/site/versioned_docs/version-21.09.0/consumer-clients.md b/docs/site/versioned_docs/version-21.09.0/consumer-clients.md index d04c14034585b2ef69f335b0104b2bfafddf69d1..d1264f1d85c762020b95a970ec9492702c9d0c3b 100644 --- a/docs/site/versioned_docs/version-21.09.0/consumer-clients.md +++ b/docs/site/versioned_docs/version-21.09.0/consumer-clients.md @@ -27,7 +27,7 @@ All of the above functions can return only metadata part of the message, so that In case of dataset family of functions, only list of dataset messages is returned, the data can be retrieved in a separate call. ::: -Please refer to [C++](http://asapo.desy.de/cpp/) and [Python](http://asapo.desy.de/python/) documentation for specific details (available from DESY intranet only). +Please refer to [C++](https://asapo.pages.desy.de/asapo/cpp/) and [Python](https://asapo.pages.desy.de/asapo/python/) documentation for specific details (available from DESY intranet only). diff --git a/docs/site/versioned_docs/version-21.09.0/cookbook/overview.md b/docs/site/versioned_docs/version-21.09.0/cookbook/overview.md index 795571affe514dbc8fe9b56c1064d6b62ec7a40c..7018767ff1a6b04f7b84f70fce56bece66b98bf4 100644 --- a/docs/site/versioned_docs/version-21.09.0/cookbook/overview.md +++ b/docs/site/versioned_docs/version-21.09.0/cookbook/overview.md @@ -6,7 +6,7 @@ Here you can find the code examples for various common asapo usecases. Make sure For the most basic usecase, see the [Simple Producer](simple-producer) and [Simple Consumer](simple-consumer). There are also the basic examples of CMake and makefile configurations for client compilation. -The API documentation can be found [here](http://asapo.desy.de/cpp) (for C++) or [here](http://asapo.desy.de/python) (for python). +The API documentation can be found [here](https://asapo.pages.desy.de/asapo/cpp) (for C++) or [here](https://asapo.pages.desy.de/asapo/python) (for python). :::tip You can see more examples in ASAPO [source code](https://gitlab.desy.de/asapo/asapo/-/tree/develop/examples) diff --git a/docs/site/versioned_docs/version-21.09.0/producer-clients.md b/docs/site/versioned_docs/version-21.09.0/producer-clients.md index d74adb0b60e04ae6cf0ab5b9c2b264a25c46419a..45bf6bd8c5b7feca1ffd3a2decea884b3634a5b8 100644 --- a/docs/site/versioned_docs/version-21.09.0/producer-clients.md +++ b/docs/site/versioned_docs/version-21.09.0/producer-clients.md @@ -17,7 +17,7 @@ multiple instances can be created (also within a single application) to send dat - retransfer will be attempted in case of system failure - a callback function can be provided to react after data was sent/process error -Please refer to [C++](http://asapo.desy.de/cpp/) and [Python](http://asapo.desy.de/python/) documentation for specific details (available from DESY intranet only). +Please refer to [C++](https://asapo.pages.desy.de/asapo/cpp/) and [Python](https://asapo.pages.desy.de/asapo/python/) documentation for specific details (available from DESY intranet only). diff --git a/docs/site/versioned_docs/version-21.12.0/consumer-clients.md b/docs/site/versioned_docs/version-21.12.0/consumer-clients.md index d04c14034585b2ef69f335b0104b2bfafddf69d1..d1264f1d85c762020b95a970ec9492702c9d0c3b 100644 --- a/docs/site/versioned_docs/version-21.12.0/consumer-clients.md +++ b/docs/site/versioned_docs/version-21.12.0/consumer-clients.md @@ -27,7 +27,7 @@ All of the above functions can return only metadata part of the message, so that In case of dataset family of functions, only list of dataset messages is returned, the data can be retrieved in a separate call. ::: -Please refer to [C++](http://asapo.desy.de/cpp/) and [Python](http://asapo.desy.de/python/) documentation for specific details (available from DESY intranet only). +Please refer to [C++](https://asapo.pages.desy.de/asapo/cpp/) and [Python](https://asapo.pages.desy.de/asapo/python/) documentation for specific details (available from DESY intranet only). diff --git a/docs/site/versioned_docs/version-21.12.0/cookbook/overview.md b/docs/site/versioned_docs/version-21.12.0/cookbook/overview.md index 795571affe514dbc8fe9b56c1064d6b62ec7a40c..7018767ff1a6b04f7b84f70fce56bece66b98bf4 100644 --- a/docs/site/versioned_docs/version-21.12.0/cookbook/overview.md +++ b/docs/site/versioned_docs/version-21.12.0/cookbook/overview.md @@ -6,7 +6,7 @@ Here you can find the code examples for various common asapo usecases. Make sure For the most basic usecase, see the [Simple Producer](simple-producer) and [Simple Consumer](simple-consumer). There are also the basic examples of CMake and makefile configurations for client compilation. -The API documentation can be found [here](http://asapo.desy.de/cpp) (for C++) or [here](http://asapo.desy.de/python) (for python). +The API documentation can be found [here](https://asapo.pages.desy.de/asapo/cpp) (for C++) or [here](https://asapo.pages.desy.de/asapo/python) (for python). :::tip You can see more examples in ASAPO [source code](https://gitlab.desy.de/asapo/asapo/-/tree/develop/examples) diff --git a/docs/site/versioned_docs/version-21.12.0/producer-clients.md b/docs/site/versioned_docs/version-21.12.0/producer-clients.md index d74adb0b60e04ae6cf0ab5b9c2b264a25c46419a..45bf6bd8c5b7feca1ffd3a2decea884b3634a5b8 100644 --- a/docs/site/versioned_docs/version-21.12.0/producer-clients.md +++ b/docs/site/versioned_docs/version-21.12.0/producer-clients.md @@ -17,7 +17,7 @@ multiple instances can be created (also within a single application) to send dat - retransfer will be attempted in case of system failure - a callback function can be provided to react after data was sent/process error -Please refer to [C++](http://asapo.desy.de/cpp/) and [Python](http://asapo.desy.de/python/) documentation for specific details (available from DESY intranet only). +Please refer to [C++](https://asapo.pages.desy.de/asapo/cpp/) and [Python](https://asapo.pages.desy.de/asapo/python/) documentation for specific details (available from DESY intranet only). diff --git a/docs/site/versioned_docs/version-22.03.0/consumer-clients.md b/docs/site/versioned_docs/version-22.03.0/consumer-clients.md index eb5c635d13814dbca51617ae52d5cdbc6abca1fe..514c5c8418c68cc6ab71992edc813d442149d26b 100644 --- a/docs/site/versioned_docs/version-22.03.0/consumer-clients.md +++ b/docs/site/versioned_docs/version-22.03.0/consumer-clients.md @@ -28,7 +28,7 @@ All of the above functions can return only metadata part of the message, so that In case of dataset family of functions, only list of dataset messages is returned, the data can be retrieved in a separate call. ::: -Please refer to [C++](http://asapo.desy.de/cpp/) and [Python](http://asapo.desy.de/python/) documentation for specific details (available from DESY intranet only). +Please refer to [C++](https://asapo.pages.desy.de/asapo/cpp/) and [Python](https://asapo.pages.desy.de/asapo/python/) documentation for specific details (available from DESY intranet only). diff --git a/docs/site/versioned_docs/version-22.03.0/cookbook/overview.md b/docs/site/versioned_docs/version-22.03.0/cookbook/overview.md index 795571affe514dbc8fe9b56c1064d6b62ec7a40c..7018767ff1a6b04f7b84f70fce56bece66b98bf4 100644 --- a/docs/site/versioned_docs/version-22.03.0/cookbook/overview.md +++ b/docs/site/versioned_docs/version-22.03.0/cookbook/overview.md @@ -6,7 +6,7 @@ Here you can find the code examples for various common asapo usecases. Make sure For the most basic usecase, see the [Simple Producer](simple-producer) and [Simple Consumer](simple-consumer). There are also the basic examples of CMake and makefile configurations for client compilation. -The API documentation can be found [here](http://asapo.desy.de/cpp) (for C++) or [here](http://asapo.desy.de/python) (for python). +The API documentation can be found [here](https://asapo.pages.desy.de/asapo/cpp) (for C++) or [here](https://asapo.pages.desy.de/asapo/python) (for python). :::tip You can see more examples in ASAPO [source code](https://gitlab.desy.de/asapo/asapo/-/tree/develop/examples) diff --git a/docs/site/versioned_docs/version-22.03.0/producer-clients.md b/docs/site/versioned_docs/version-22.03.0/producer-clients.md index 89b421a9960e77bf8495e59b3595ac39e4fb5dea..ccc0f1c952f61e3f2abf88cb262a57e33364ab63 100644 --- a/docs/site/versioned_docs/version-22.03.0/producer-clients.md +++ b/docs/site/versioned_docs/version-22.03.0/producer-clients.md @@ -17,7 +17,7 @@ multiple instances can be created (also within a single application) to send dat - retransfer will be attempted in case of system failure - a callback function can be provided to react after data was sent/process error -Please refer to [C++](http://asapo.desy.de/cpp/) and [Python](http://asapo.desy.de/python/) documentation for specific details (available from DESY intranet only). +Please refer to [C++](https://asapo.pages.desy.de/asapo/cpp/) and [Python](https://asapo.pages.desy.de/asapo/python/) documentation for specific details (available from DESY intranet only).