Skip to content

Commit

Permalink
[RELEASE] Morpheus v24.06.00 (#1796)
Browse files Browse the repository at this point in the history
<!--
SPDX-FileCopyrightText: Copyright (c) 2023-2024, NVIDIA CORPORATION &
AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

## ❄️ Code freeze for `branch-24.06` and `v24.06` release

### What does this mean?
Only critical/hotfix level issues should be merged into `branch-24.06`
until release (merging of this PR).

All other development PRs should be retargeted towards the next release
branch: `branch-24.10`.

### What is the purpose of this PR?
- Update documentation
- Allow testing for the new release
- Enable a means to merge `branch-24.06` into `main` for the release
  • Loading branch information
dagardner-nv authored Jul 4, 2024
2 parents 39afa4f + 79bf91d commit 226f190
Show file tree
Hide file tree
Showing 413 changed files with 13,518 additions and 5,825 deletions.
92 changes: 89 additions & 3 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: Copyright (c) 2022-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-FileCopyrightText: Copyright (c) 2020-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -13,6 +13,92 @@
# See the License for the specific language governing permissions and
# limitations under the License.

FROM rapidsai/devcontainers:23.12-cpp-cuda12.1-mambaforge-ubuntu22.04 AS base
ARG BASE
ARG PYTHON_PACKAGE_MANAGER

ENV PATH="${PATH}:/workspaces/morpheus/.devcontainer/bin"
FROM node:22 as node

FROM ${BASE} as base

# ===== install common packages ==================================================================

RUN <<EOF

set -x

apt-get update;

rm -rf /tmp/*;
rm -rf /var/tmp/*;
rm -rf /var/cache/apt/*;
rm -rf /var/lib/apt/lists/*;

EOF

# ===== install node + camouflage ================================================================

COPY --from=node /usr/local/bin/node /usr/local/bin/node
COPY --from=node /usr/local/include/node /usr/local/include/node
COPY --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules
COPY --from=node /opt/yarn-v*/bin/* /usr/local/bin/
COPY --from=node /opt/yarn-v*/lib/* /usr/local/lib/

RUN \
<<EOF

bash -c 'echo -e "
fund=false\n
audit=false\n
save-prefix=\n
--omit=optional\n
save-exact=true\n
package-lock=false\n
update-notifier=false\n
scripts-prepend-node-path=true\n
registry=https://registry.npmjs.org/\n
" | tee /root/.npmrc >/dev/null'

ln -s /usr/local/bin/node /usr/local/bin/nodejs
ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx

echo "node version: $(node --version)"
echo " npm version: $(npm --version)"
echo "yarn version: $(yarn --version)"

npm install -g [email protected]

EOF


FROM base as pip-base

ENV DEFAULT_VIRTUAL_ENV=morpheus

FROM base as conda-base

ENV DEFAULT_CONDA_ENV=morpheus

FROM ${PYTHON_PACKAGE_MANAGER}-base

ENV PROJECT_MANIFEST_YML="/home/coder/morpheus/manifest.yaml"
ENV PATH="${PATH}:/home/coder/morpheus/.devcontainer/bin"

ARG CUDA
ENV CUDAARCHS="RAPIDS"
ENV CUDA_VERSION="${CUDA_VERSION:-${CUDA}}"

ARG RAPIDS
ENV RAPIDS=${RAPIDS}

ARG PYTHON_PACKAGE_MANAGER
ENV PYTHON_PACKAGE_MANAGER="${PYTHON_PACKAGE_MANAGER}"

ENV SCCACHE_REGION="us-east-2"
ENV SCCACHE_BUCKET="rapids-sccache-devs"
ENV VAULT_HOST="https://vault.ops.k8s.rapids.ai"
ENV HISTFILE="/home/coder/.cache/._bash_history"

ENV MORPHEUS_SUPPORT_DOCA=ON
COPY ./docker/optional_deps docker/optional_deps
RUN ./docker/optional_deps/doca.sh /tmp/doca
112 changes: 112 additions & 0 deletions .devcontainer/cuda12.1-conda/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
{
"build": {
"context": "${localWorkspaceFolder}/.devcontainer",
"dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile",
"args": {
"CUDA": "12.1",
"PYTHON_PACKAGE_MANAGER": "conda",
"BASE": "rapidsai/devcontainers:24.06-cpp-mambaforge-ubuntu22.04"
}
},
"privileged": true,
"hostRequirements": {
"gpu": "optional"
},
"capAdd": [
"SYS_NICE",
"SYS_PTRACE"
],
"securityOpt": [
"seccomp=unconfined"
],
"runArgs": [
"--network=morpheus"
],
"containerEnv": {
"HOST_MORPHEUS_ROOT": "${localWorkspaceFolder}",
"MORPHEUS_ROOT": "${containerWorkspaceFolder}/morpheus",
"DISPLAY": "${localEnv:DISPLAY:-}",
"XAUTHORITY": "${localEnv:XAUTHORITY:-}",
"XDG_SESSION_TYPE": "${localEnv:XDG_SESSION_TYPE:-}",
"XDG_RUNTIME_DIR": "${localEnv:XDG_RUNTIME_DIR:-}",
"DBUS_SESSION_BUS_ADDRESS": "${localEnv:DBUS_SESSION_BUS_ADDRESS:-}"
},
"features": {
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:24.6": {},
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {},
"ghcr.io/devcontainers/features/dotnet:1": {
"version": "6.0",
"installUsingApt": false
}
},
"overrideFeatureInstallOrder": [
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils",
"ghcr.io/devcontainers/features/docker-outside-of-docker",
"ghcr.io/devcontainers/features/dotnet"
],
"initializeCommand": [
"/bin/bash",
"-c",
"${localWorkspaceFolder}/.devcontainer/initialize-command.sh && mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda12.1-envs}"
],
"postAttachCommand": [
"/bin/bash",
"-c",
"if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"
],
"workspaceFolder": "/home/coder",
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/morpheus,type=bind,consistency=consistent",
"mounts": [
"source=/tmp/.X11-unix,target=/tmp/.X11-unix,type=bind",
"source=${localEnv:XDG_RUNTIME_DIR},target=${localEnv:XDG_RUNTIME_DIR},type=bind",
"source=/run/dbus/system_bus_socket,target=/run/dbus/system_bus_socket,type=bind",
"source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind",
"source=/dev/hugepages,target=/dev/hugepages,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.conda/pkgs,target=/home/coder/.conda/pkgs,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename}-cuda12.1-envs,target=/home/coder/.conda/envs,type=bind,consistency=consistent"
],
"customizations": {
"vscode": {
"extensions": [
"cschlosser.doxdocgen", // Adding docstrings to C++ code
"eamodio.gitlens", // Enhanced Git support
"eeyore.yapf", // Python code formatter
"josetr.cmake-language-support-vscode", // CMake language support
"llvm-vs-code-extensions.vscode-clangd",
"llvm-vs-code-extensions.vscode-clangd", // Clangd language server for C++
"matepek.vscode-catch2-test-adapter",
"mechatroner.rainbow-csv", // Colorizing CSV files
"mhutchie.git-graph", // Visualizing Git history and branching
"ms-azuretools.vscode-docker", // Docker support
"ms-python.debugpy", // Python debugger
"ms-python.flake8", // Python linter
"ms-python.isort", // Python import sorter
"ms-python.pylint", // Python linter
"ms-python.python", // Python language support
"ms-python.vscode-pylance", // Python language server
"ms-toolsai.jupyter", // Jupyter notebook support
"ms-vscode.cmake-tools", // CMake support for building Morpheus
"ms-vscode.cpptools", // C++ language support
"njpwerner.autodocstring", // Adding docstrings to python code
"nvidia.nsight-vscode-edition", // CUDA integration and debugging
"stkb.rewrap", // Wrapping all text in any language
"twxs.cmake",
"vadimcn.vscode-lldb", // LLDB debugger (better than GDB for C++ debugging)
"xaver.clang-format"
],
"settings": {
"cmake.cmakePath": "/tmp/.current-conda-env/bin/cmake",
"C_Cpp.intelliSenseEngine": "disabled",
"python.terminal.activateEnvironment": false,
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/.cache/**": true
}
}
}
}
}
127 changes: 0 additions & 127 deletions .devcontainer/devcontainer.json

This file was deleted.

7 changes: 3 additions & 4 deletions .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.

version: "3"

services:

triton:
Expand All @@ -29,6 +27,7 @@ services:
volumes:
- ${HOST_MORPHEUS_ROOT}/models:/models
- ${HOST_MORPHEUS_ROOT}/examples/abp_pcap_detection/abp-pcap-xgb:/models/triton-model-repo/abp-pcap-xgb
- ${HOST_MORPHEUS_ROOT}/examples/ransomware_detection/models/ransomw-model-short-rf:/models/triton-model-repo/ransomw-model-short-rf

zookeeper:
image: bitnami/zookeeper:latest
Expand All @@ -54,5 +53,5 @@ services:

networks:
default:
external:
name: morpheus
name: morpheus
external: true
Loading

0 comments on commit 226f190

Please sign in to comment.