
stackrox v4.11.3-rc.4
Платформа безопасности Kubernetes StackRox выполняет анализ рисков контейнерной среды, обеспечивает видимость и оповещения в реальном времени, а также предоставляет рекомендации для упреждающего повышения безопасности за счет укрепления среды.
Содержание
- Платформа безопасности StackRox для Kubernetes
Платформа безопасности StackRox для Kubernetes
Платформа безопасности StackRox для Kubernetes выполняет анализ рисков контейнерной среды, предоставляет информацию и оповещения в реальном времени, а также дает рекомендации для упреждающего повышения безопасности путем усиления защиты среды. StackRox интегрируется на каждом этапе жизненного цикла контейнера: сборка, развертывание и работа.
Платформа безопасности StackRox для Kubernetes построена на основе продукта, ранее известного как Prevent, который сам назывался Mitigate и Apollo. Вы можете встретить ссылки на эти предыдущие названия в коде или документации.
Сообщество
Вы можете связаться с нами через Slack (#stackrox). Для альтернативных способов зайдите в наш Community Hub stackrox.io.
Для обновлений о мероприятиях, блогов и других ресурсов следите за сайтом сообщества StackRox на stackrox.io.
О Кодексе поведения StackRox.
Чтобы сообщить об уязвимости или ошибке.
Развертывание StackRox
Установка с помощью оператора
Начиная с версии 4.10 возможно установить StackRox с помощью оператора.
[!WARNING] Следующие методы установки устарели.
Быстрая установка с помощью Helm
StackRox предлагает быструю установку с помощью Helm Charts. Следуйте Руководству по установке Helm, чтобы получить CLI helm в вашей системе.
Затем запустите скрипт быстрой установки Helm или перейдите к разделу Ручная установка с помощью Helm для получения вариантов конфигурации.
Установка StackRox через скрипт установки Helm
```sh /bin/bash <(curl -fsSL https://raw.githubusercontent.com/stackrox/stackrox/master/scripts/quick-helm-install.sh) ``` Развертывание StackRox по умолчанию имеет определенные запросы CPU и памяти и может завершиться ошибкой на небольших (например, для разработки) кластерах, если недостаточно ресурсов. Вы можете использовать опцию командной строки `--small`, чтобы установить StackRox на более мелких кластерах с ограниченными ресурсами. Использование этой опции не рекомендуется для рабочих развертываний.```sh /bin/bash <(curl -fsSL https://raw.githubusercontent.com/stackrox/stackrox/master/scripts/quick-helm-install.sh) --small ``` Скрипт добавляет репозиторий Helm StackRox, генерирует пароль администратора, устанавливает stackrox-central-services, создает init bundle для предоставления stackrox-secured-cluster-services и, наконец, устанавливает stackrox-secured-cluster-services на тот же кластер.Наконец, скрипт автоматически откроет браузер и выполнит вход в StackRox. Может отобразиться предупреждение о сертификате, поскольку сертификат является самоподписанным. См. раздел Доступ к пользовательскому интерфейсу StackRox (UI), чтобы узнать больше о предупреждениях. После аутентификации вы сможете получить доступ к панели управления по адресу https://localhost:8000/main/dashboard.
Ручная установка с помощью Helm
Следуйте Руководству по установке Helm, чтобы получить CLI helm в вашей системе.
Развертывание с помощью Helm состоит из 4 шагов
- Добавьте репозиторий StackRox в Helm
- Запустите StackRox Central Services с помощью helm
- Создайте конфигурацию кластера и идентификатор службы (init bundle)
- Разверните StackRox Secured Cluster Services, используя эту конфигурацию и эти учетные данные (этот шаг можно выполнить несколько раз, чтобы добавить больше кластеров в StackRox Central Service)
Установка StackRox Central Services
Сначала StackRox Central Services будут добавлены в ваш кластер Kubernetes. Это включает пользовательский интерфейс и сканер. Для начала добавьте репозиторий stackrox/helm-charts/opensource в Helm.```sh helm repo add stackrox https://raw.githubusercontent.com/stackrox/helm-charts/main/opensource/
Чтобы увидеть все доступные диаграммы Helm в репозитории, выполните (вы также можете добавить опцию `--devel`, чтобы показать нерелизные сборки).```sh
helm search repo stackrox
Для установки stackrox-central-services потребуется надежный пароль. Этот пароль понадобится позже для входа в UI и при создании init bundle.```sh ROX_ADMIN_PASSWORD="$(openssl rand -base64 20 | tr -d '/=+')"
Отсюда вы можете установить stackrox-central-services, чтобы развернуть компоненты Central и Scanner в вашем кластере.
> **Примечание:**
> Вам нужен только один экземпляр развертывания stackrox-central-services, даже если вы планируете защищать несколько кластеров.
Для выполнения установки выберите одну из следующих команд в зависимости от размера вашего кластера.
#### Установка Central по умолчанию
Если вы устанавливаете в кластер достаточного размера, используйте команду установки по умолчанию:```sh
helm upgrade --install -n stackrox --create-namespace stackrox-central-services \
stackrox/stackrox-central-services \
--set central.adminPassword.value="${ROX_ADMIN_PASSWORD}" \
--set central.persistence.none="true"
Центральная установка в кластерах с ограниченными ресурсами
Если вы устанавливаете в одноузловом кластере или стандартная установка приводит к зависанию подов в состоянии ожидания из-за нехватки ресурсов, используйте следующую команду для снижения требований к ресурсам stackrox-central-services. Имейте в виду, что эти уменьшенные настройки ресурсов не подходят для рабочей среды.```sh
helm upgrade --install -n stackrox --create-namespace stackrox-central-services
stackrox/stackrox-central-services
--set central.adminPassword.value="${ROX_ADMIN_PASSWORD}"
--set central.persistence.none="true"
--set central.resources.requests.memory=1Gi
--set central.resources.requests.cpu=1
--set central.resources.limits.memory=4Gi
--set central.resources.limits.cpu=1
--set central.db.resources.requests.memory=1Gi
--set central.db.resources.requests.cpu=500m
--set central.db.resources.limits.memory=4Gi
--set central.db.resources.limits.cpu=1
--set scanner.autoscaling.disable=true
--set scanner.replicas=1
--set scanner.resources.requests.memory=500Mi
--set scanner.resources.requests.cpu=500m
--set scanner.resources.limits.memory=2500Mi
--set scanner.resources.limits.cpu=2000m
</details>
<details><summary>Установка служб защищённого кластера StackRox</summary>
Далее потребуется развернуть компонент защищённого кластера для сбора информации с узлов Kubernetes.
Задайте осмысленное имя кластера для вашего защищённого кластера в переменной оболочки `CLUSTER_NAME`. Кластер будет идентифицироваться по этому имени в списке кластеров пользовательского интерфейса StackRox.```sh
CLUSTER_NAME="my-secured-cluster"
Установите конечную точку Central, с которой должны взаимодействовать Службы защищенных кластеров. Если вы развертываете stackrox-secured-cluster-services в том же кластере, что и stackrox-central-services, оставьте значение как указано, в противном случае измените значение на конечную точку, через которую доступен Central.```sh CENTRAL_ENDPOINT="central.stackrox.svc:443"
Сгенерируйте начальный пакет, содержащий секреты инициализации. Начальный пакет будет сохранён в `stackrox-init-bundle.yaml`, и вы будете использовать его для развёртывания защищённых кластеров, как показано ниже.```sh
echo "$ROX_ADMIN_PASSWORD" | \
kubectl -n stackrox exec -i deploy/central -- bash -c 'ROX_ADMIN_PASSWORD=$(cat) roxctl --insecure-skip-tls-verify \
central init-bundles generate stackrox-init-bundle --output -' > stackrox-init-bundle.yaml
Затем установите stackrox-secured-cluster-services (с init bundle, который вы только что создали).
Чтобы выполнить установку, выберите одну из следующих команд в зависимости от размера вашего кластера.
Установка служб защищенного кластера по умолчанию
Если вы устанавливаете в кластер разумного размера, используйте команду установки по умолчанию:```sh
helm upgrade --install -n stackrox --create-namespace stackrox-secured-cluster-services
stackrox/stackrox-secured-cluster-services
-f stackrox-init-bundle.yaml
--set clusterName="$CLUSTER_NAME"
--set centralEndpoint="$CENTRAL_ENDPOINT"
#### Установка защищенных кластерных сервисов в кластерах с ограниченными ресурсами
Если вы устанавливаете в одноузловом кластере, или установка по умолчанию приводит к зависанию pods в состоянии ожидания из-за нехватки ресурсов, используйте следующую команду для снижения требований к ресурсам stackrox-secured-cluster-services. Имейте в виду, что эти сниженные настройки ресурсов не подходят для производственной среды.```sh
helm upgrade --install -n stackrox --create-namespace stackrox-secured-cluster-services \
stackrox/stackrox-secured-cluster-services \
-f stackrox-init-bundle.yaml \
--set clusterName="$CLUSTER_NAME" \
--set centralEndpoint="$CENTRAL_ENDPOINT" \
--set sensor.resources.requests.memory=500Mi \
--set sensor.resources.requests.cpu=500m \
--set sensor.resources.limits.memory=500Mi \
--set sensor.resources.limits.cpu=500m
Дополнительная информация о Helm-чартах
Для дальнейшей настройки установки Helm обратитесь к следующим документам:
Установка через скрипты
Скрипт deploy выполняет следующее:
- Запускает центральные службы StackRox
- Создает конфигурацию кластера и идентификатор службы
- Развертывает защищенные кластерные службы StackRox с использованием этой конфигурации и этих учетных данных
Вы можете установить переменную окружения MAIN_IMAGE_TAG в вашей оболочке, чтобы убедиться, что вы получаете нужную версию.
Если вы переключитесь на определенный коммит, скрипты по умолчанию запустят образ, соответствующий этому коммиту. При необходимости образ будет загружен.
Дальнейшие шаги зависят от оркестратора.
Дистрибутивы Kubernetes (EKS, AKS, GKE)
Нажмите, чтобы развернуть
Следуйте приведенному ниже руководству, чтобы быстро развернуть определенную версию StackRox в вашем кластере Kubernetes в пространстве имен stackrox. Если вы хотите установить конкретную версию, обязательно определите/задайте ее в MAIN_IMAGE_TAG, в противном случае будет установлена последняя ночная сборка.
Выполните следующее в рабочем каталоге по вашему выбору:``` git clone [email protected]:stackrox/stackrox.git cd stackrox MAIN_IMAGE_TAG=VERSION_TO_USE ./deploy/deploy.sh
Через несколько минут все ресурсы будут развернуты.
**Учётные данные для пользователя 'admin' можно найти в файле `./deploy/k8s/central-deploy/password`.**
> **Примечание:**
> Файл с паролем хранится в открытом виде в вашей локальной файловой системе, но Secret Kubernetes, который StackRox создаёт из него, зашифрован. Вы не сможете изменить пароль во время выполнения. Если вы потеряете пароль, вам придётся повторно развернуть central.
</details>
#### OpenShift
<details><summary>Нажмите, чтобы развернуть</summary>
Перед развёртыванием в OpenShift убедитесь, что у вас установлен [oc - интерфейс командной строки OpenShift](https://github.com/openshift/oc).
Следуйте инструкции ниже, чтобы быстро развернуть определённую версию StackRox в вашем кластере OpenShift в пространстве имён `stackrox`. Не забудьте указать самую последнюю версию в переменной `MAIN_IMAGE_TAG`.
Выполните следующее в вашей рабочей директории:```
git clone [email protected]:stackrox/stackrox.git
cd stackrox
MAIN_IMAGE_TAG=VERSION_TO_USE ./deploy/deploy.sh
Через несколько минут все ресурсы должны быть развернуты. Процесс завершится этим сообщением.
Учетные данные для пользователя 'admin' можно найти в файле ./deploy/openshift/central-deploy/password.
Примечание: Хотя файл пароля хранится в открытом виде в вашей локальной файловой системе, секрет Kubernetes, используемый StackRox, зашифрован, и вы не сможете изменить его во время выполнения. Если вы потеряете пароль, вам придется повторно развернуть central.
Docker Desktop, Colima или minikube
Нажмите, чтобы развернуть
Выполните следующее в рабочем каталоге по вашему выбору:``` git clone [email protected]:stackrox/stackrox.git cd stackrox MAIN_IMAGE_TAG=latest ./deploy/deploy-local.sh
Через несколько минут все ресурсы должны быть развёрнуты.
**Учётные данные для пользователя 'admin' можно найти в файле `./deploy/k8s/deploy-local/password`.**
</details>
## Доступ к пользовательскому интерфейсу StackRox (UI)
<details><summary>Нажмите, чтобы развернуть</summary>
После завершения развёртывания (оператор, Helm или установка через скрипт) должна существовать переадресация портов, чтобы вы могли подключиться к https://localhost:8000/. Выполните следующее```sh
kubectl port-forward -n 'stackrox' svc/central "8000:443"
Затем перейдите по адресу https://localhost:8000/ в вашем веб-браузере.
Имя пользователя = Пользователь по умолчанию — admin
Пароль (Helm) = Пароль находится в $ROX_ADMIN_PASSWORD после ручной установки, или выводится в конце скрипта быстрой установки.
Пароль (Скрипт) = Пароль будет находиться в папке /deploy/<orchestrator>/central-deploy/password.txt при установке через скрипт.
Разработка
- Начните с руководства по pull request, если планируете внести вклад
- Ознакомьтесь с шефством для нетривиальных отправок кода
- Ознакомьтесь с нашей политикой использования ИИ
- Руководство по стилю Go: go-coding-style.md
- Документация по UI: Обратитесь к ui/README.md
- Документация по E2E: Обратитесь к qa-tests-backend/README.md
Быстрый старт
Инструменты сборки
Для тестирования кода и сборки образов необходимы следующие инструменты:
Нажмите, чтобы развернуть
- Make
- Go
- Различные линтеры Go, которые можно установить с помощью
make reinstall-dev-tools. - Инструменты сборки UI, указанные в ui/README.md.
- Docker
- Примечание: Docker Desktop теперь требует платной подписки для крупных предприятий.
- Некоторые разработчики StackRox рекомендуют Colima
- Инструменты командной строки Xcode (только macOS)
- Bats используется для запуска некоторых shell-тестов. Вы можете получить его с помощью
brew install batsилиnpm install -g bats. - oc инструмент командной строки OpenShift
- shellcheck для линтинга shell-скриптов.
Xcode - Только macOS
Обычно они уже установлены через brew. Однако, если вы получаете ошибку при сборке golang x/tools, сначала убедитесь, что вы приняли лицензионное соглашение, выполнив следующие действия:
- запустите Xcode
- создайте новый пустой проект приложения
- запустите пустой проект приложения в эмуляторе
- закройте эмулятор и Xcode, затем
- выполните следующие команды: ```bash xcode-select --install sudo xcode-select --switch /Library/Developer/CommandLineTools # Enable command line tools sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
Для получения дополнительной информации см. <https://github.com/nodejs/node-gyp/issues/569>
</details>
#### Клонировать StackRox
<details><summary>Нажмите, чтобы развернуть</summary>```bash
# Create a GOPATH: this is the location of your Go "workspace".
# (Note that it is not – and must not – be the same as the path Go is installed to.)
# The default is to have it in ~/go/, or ~/development, but anything you prefer goes.
# Whatever you decide, create the directory, set GOPATH, and update PATH:
export GOPATH=$HOME/go # Change this if you choose to use a different workspace.
export PATH=$PATH:$GOPATH/bin
# You probably want to permanently set these by adding the following commands to your shell
# configuration (e.g. ~/.bash_profile)
cd $GOPATH
mkdir -p bin pkg
mkdir -p src/github.com/stackrox
cd src/github.com/stackrox
git clone [email protected]:stackrox/stackrox.git
Локальная разработка
Нажмите, чтобы развернуть
Чтобы улучшить ваш опыт, заранее установите скрипты рабочего процесса.```bash $ cd $GOPATH/src/github.com/stackrox/stackrox $ make install-dev-tools $ make image
Теперь вам нужно самостоятельно поднять кластер Kubernetes, прежде чем продолжить.
Разработка может вестись в GCP или локально с помощью
[Docker Desktop](https://docs.docker.com/desktop/kubernetes/), [Colima](https://github.com/abiosoft/colima#kubernetes), [minikube](https://minikube.sigs.k8s.io/docs/start/).
> **Note:**
> Docker Desktop и Colima больше подходят для разработки на macOS, поскольку кластер будет иметь доступ к образам, собранным с помощью `make image` локально, без дополнительной настройки. Кроме того, Collector имеет лучшую поддержку этих инструментов по сравнению с minikube, где драйверы могут быть недоступны.```bash
# To keep the StackRox Central's Postgres DB state between database upgrades and restarts, set:
$ export STORAGE=pvc
# To save time on rebuilds by skipping UI builds, set:
$ export SKIP_UI_BUILD=1
# To save time on rebuilds by skipping CLI builds, set:
$ export SKIP_CLI_BUILD=1
# When you deploy locally make sure your kube context points to the desired kubernetes cluster,
# for example Docker Desktop.
# To check the current context you can call a workflow script:
$ roxkubectx
# To deploy locally, call:
$ ./deploy/deploy-local.sh
# Now you can access StackRox dashboard at https://localhost:8000
# or simply call another workflow script:
$ logmein
Смотрите Установка через скрипты для дальнейшего чтения. Чтобы узнать больше о переменных окружения, обратитесь к deploy/README.md.
Общие цели Makefile
Нажмите, чтобы развернуть
```bash # Build image, this will create `stackrox/main` with a tag defined by `make tag`. $ make imageCompile all binaries
$ make main-build-dockerized
Displays the docker image tag which would be generated
$ make tag
Note: there are integration tests in some components, and we currently
run those manually. They will be re-enabled at some point.
$ make test
Apply and check style standards in Go and JavaScript
$ make style
enable pre-commit hooks for style checks
$ make init-githooks
Compile and restart only central
$ make fast-central
Compile only sensor
$ make fast-sensor
Only compile protobuf
$ make proto-generated-srcs
</details>
#### Productivity
<details><summary>Нажмите, чтобы развернуть</summary>
Репозиторий [workflow](https://github.com/stackrox/workflow) содержит несколько вспомогательных скриптов, которые поддерживают наш рабочий процесс разработки. Изучите больше команд с помощью `roxhelp --list-all`.```bash
# Change directory to rox root
$ cdrox
# Handy curl shortcut for your StackRox central instance
# Uses https://localhost:8000 by default or ROX_BASE_URL env variable
# Also uses the admin credentials from your last deployment via deploy.sh
$ roxcurl /v1/metadata
# Run quickstyle checks, faster than stackrox's "make style"
$ quickstyle
# The workflow repository includes some tools for supporting
# working with multiple inter-dependent branches.
# Examples:
$ smart-branch <branch-name> # create new branch
... work on branch...
$ smart-rebase # rebase from parent branch
... continue working on branch...
$ smart-diff # check diff relative to parent branch
... git push, etc.
Настройка GoLand
Нажмите, чтобы развернуть
Если вы используете GoLand для разработки, следующее может помочь улучшить работу.
Убедитесь, что плагин Protocol Buffers установлен. Плагин устанавливается по умолчанию в GoLand.
Если нет, используйте Help | Find Action..., введите Plugins и нажмите Enter, затем переключитесь на Marketplace, введите его имя и установите плагин.
Этот плагин не знает, где искать импорты .proto по умолчанию в GoLand, поэтому вам нужно явно настроить пути для этого плагина. См. https://github.com/jvolkman/intellij-protobuf-editor#path-settings.
- Перейдите в
GoLand | Preferences | Languages & Frameworks | Protocol Buffers. - Снимите флажок
Configure automatically. - Нажмите кнопку
+, перейдите и выберите каталог./protoв корне репозитория. - Опционально, также добавьте
$HOME/go/pkg/mod/github.com/gogo/[email protected]и$HOME/go/pkg/mod/github.com/gogo/[email protected]/. - Для проверки: используйте меню
Navigate | File..., введите любое имя файла.proto, напримерalert_service.proto, и убедитесь, что все строки импорта отображаются зеленым, а не красным.
Запуск тестов sql_integration
Нажмите, чтобы развернуть
Go-тесты, помеченные //go:build sql_integration, требуют сервер PostgreSQL, прослушивающий порт 5432.
Из-за того, как настроена аутентификация в коде, проще всего запустить Postgres в контейнере следующим образом:```bash
$ docker run --rm --env POSTGRES_USER="$USER" --env POSTGRES_HOST_AUTH_METHOD=trust --publish 5432:5432 docker.io/library/postgres:15
С этим, работающим в фоне, тесты `sql_integration` можно запускать из IDE или командной строки.
</details>
#### Отладка
<details><summary>Нажмите, чтобы развернуть</summary>
**Настройка отладчика Kubernetes**
В GoLand вы можете естественным образом использовать точки останова и отладчик при запуске модульных тестов в IDE.
Если вы хотите отлаживать локальное или даже удалённое развёртывание, следуйте процедуре ниже.
1. Создайте отладочную сборку локально, установив `DEBUG_BUILD=yes`: ```bash
$ DEBUG_BUILD=yes make image
Альтернативно, отладочная сборка также будет создана, если имя ветки содержит подстроку -debug. Это работает локально с помощью make image и в CI.
2. Разверните образ, используя инструкции из этого файла README. Работает как с deploy-local.sh, так и с deploy.sh.
3. Запустите отладчик (и переадресацию портов) в целевом модуле с помощью команды roxdebug из репозитория workflow. ```bash
For Central
$ roxdebug
For Sensor
$ roxdebug deploy/sensor
See usage help
$ roxdebug --help
4. Настройте GoLand для удаленной отладки (должно быть сделано только один раз):
1. Откройте `Run | Edit Configurations …`, нажмите на значок `+` для добавления новой конфигурации, выберите шаблон `Go Remote`.
2. Выберите `Host:` `localhost` и `Port:` `40000`. Дайте этой конфигурации какое-нибудь имя.
3. Выберите `On disconnect:` `Leave it running` (это предотвращает забывание точек останова GoLand при повторном подключении).
5. Подключите GoLand к порту отладки: выберите `Run | Debug…` и выберите созданную вами конфигурацию.
Если все сделано правильно, вы должны увидеть сообщение `Connected` в окне `Debug | Debugger | Variables` в нижней части экрана.
6. Установите несколько точек останова в коде, инициируйте соответствующие действия и приятной отладки!
См. [Отладка Go-кода, работающего в Kubernetes](https://github.com/stackrox/dev-docs/blob/main/docs/knowledge-base/%5BBE%5D%20Debugging-go-code-running-in-Kubernetes.md) для получения дополнительной информации.
</details>
## Создание переносимых установщиков
<details><summary>Kubernetes</summary>```bash
docker run -i --rm quay.io/stackrox-io/main:<tag> central generate interactive > k8s.zip
Это проведет вас через установщик и создаст файл k8s.zip.```bash
unzip k8s.zip -d k8s
No input content to translate.```bash
bash k8s/central.sh
Теперь Central развернут. Используйте интерфейс для развертывания Sensor.
OpenShift
Примечание: Если вы используете монтирование хоста, вам необходимо разрешить контейнеру доступ к нему с помощью
sudo chcon -Rt svirt_sandbox_file_t <полный путь к тому>
Возьмите скрипт image-setup.sh из этого репозитория и запустите его для выполнения pull/push в локальный реестр OpenShift. Это необходимое условие для каждого нового кластера.```bash bash image-setup.sh
- **NTLM Relay** - Релейная передача попыток аутентификации NTLM по различным протоколам (SMB, HTTP, LDAP и т.д.).
- **Kerberos Relay** - Релейная передача попыток аутентификации Kerberos (между областями, делегирование и т.д.).
- **Coercion** - Принуждение к аутентификации от контроллеров домена или других систем через различные протоколы (MS-RPRN, MS-EFSRPC и т.д.).```bash
docker run -i --rm quay.io/stackrox-io/main:<tag> central generate interactive > openshift.zip
Это проведет вас через установщик и создаст файл openshift.zip.```bash
unzip openshift.zip -d openshift
См. [документацию](https://github.com/CybercentreCanada/assemblyline-docs/tree/master/ansible) для получения дополнительной информации.
# Сборка компонентов из командной строки
Просто используйте bazel для сборки компонентов:
```bash
# From the root of the source
bazel build -c opt //pkg/al/...
Вы найдете все пакеты в /home/${USER}/.cache/bazel/...
Поскольку bazel автоматически создает символические ссылки, вам не нужно копировать файлы после сборки, вы можете запускать прямо из директории bazel. Например:
# You can skip the `bazel build` step and just do this to run `al`
bazel run -c opt //pkg/al -- --help
Кроме того, чтобы собрать все инфраструктурные компоненты (включая компоненты не на Go, такие как UI или сервисы Python), используйте сборку docker-compose:
docker compose build
Запуск среды разработки
Предупреждаем, при первом запуске среды разработки сборка займет много времени (30-60 минут) и потребует значительного объема трафика (~30 ГБ). Другими словами, не запускайте это на мобильном интернете. Сделайте кофе, расслабьтесь и подождите.
Из корня исходного кода
docker compose up -d
Для вас будет создан пользователь по умолчанию admin с паролем admin. Система будет доступна по адресу https://localhost
Примечание: Если вы хотите сбросить среду разработки, просто остановите окружение docker-compose командой
docker compose downи удалите директориюdeployment/, затем начните заново.```bash bash openshift/central.sh
</details>
## Зависимости и рекомендации по запуску StackRox
<details><summary>Нажмите, чтобы развернуть</summary>
Следующая информация собрана, чтобы помочь с установкой и эксплуатацией проекта с открытым исходным кодом StackRox. Эти рекомендации были разработаны для продукта [Red Hat Advanced Cluster Security for Kubernetes](https://www.redhat.com/en/resources/advanced-cluster-security-for-kubernetes-datasheet) и не были протестированы с оригинальным проектом StackRox.
**Рекомендуемые дистрибутивы Kubernetes**
Платформы Kubernetes, на которых StackRox был развернут с минимальными проблемами, перечислены ниже.
- Red Hat OpenShift Dedicated (OSD)
- Azure Red Hat OpenShift (ARO)
- Red Hat OpenShift Service on AWS (ROSA)
- Amazon Elastic Kubernetes Service (EKS)
- Google Kubernetes Engine (GKE)
- Microsoft Azure Kubernetes Service (AKS)
Если вы развертываетесь в дистрибутиве Kubernetes, отличном от перечисленных выше, у вас могут возникнуть проблемы.
**Рекомендуемые операционные системы**
Известно, что StackRox работает на последних версиях следующих операционных систем.
- Ubuntu
- Debian
- Red Hat Enterprise Linux (RHEL)
- CentOS
- Fedora CoreOS
- Flatcar Container Linux
- Google COS
- Amazon Linux
- Garden Linux
**Рекомендуемые веб-браузеры**
Следующая таблица перечисляет браузеры, которые могут просматривать веб-интерфейс пользователя StackRox.
- Google Chrome 88.0 (64-bit)
- Microsoft Internet Explorer Edge
- Version 44 and later (Windows)
- Version 81 (Official build) (64-bit)
- Safari on MacOS (Mojave) - Version 14.0
- Mozilla Firefox Version 82.0.2 (64-bit)
</details>
---