Hosted-инсталляция CodeScoring.Save
Hosted-вариант разворачивается в k3s и использует SQLite-профиль. Такой вариант подходит для тестирования, демонстрации возможностей, небольших команд и быстрого старта без отдельной инфраструктуры PostgreSQL и S3.
Установка k3s
# Установка k3s
curl -sfL https://get.k3s.io | sh -
# Проверка статуса
sudo systemctl status k3s
# Настройка kubectl
mkdir -p ~/.kube
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown $USER:$USER ~/.kube/config
export KUBECONFIG=~/.kube/config
# Проверка кластера
kubectl get nodes
Подготовка Helm и пространства имен
Адрес Helm-репозитория и реестра контейнерных образов CodeScoring.Save предоставляет вендор. В примерах ниже используются плейсхолдеры <HELM_REPOSITORY_URL> и <REGISTRY_HOST>.
# Добавление Helm-репозитория CodeScoring
helm repo add codescoring <HELM_REPOSITORY_URL>
helm repo update
# Создание пространства имен
kubectl create namespace codescoring-save --dry-run=client -o yaml | kubectl apply -f -
Создайте imagePullSecret для доступа к приватному реестру. Имя секрета должно совпадать со значением image.pullSecrets в values.yaml.
kubectl create secret docker-registry codescoring-pvt-regcred \
--namespace codescoring-save \
--docker-server=<REGISTRY_HOST> \
--docker-username=<USERNAME> \
--docker-password=<PASSWORD> \
--dry-run=client -o yaml | kubectl apply -f -
Конфигурация SQLite
Для SQLite-варианта отключите встроенный PostgreSQL и S3:
postgres:
enabled: false
minio:
enabled: false
В image укажите реестр, тег и pull secret для образов Save:
image:
registry: <REGISTRY_HOST>
tag: <SAVE_VERSION>
pullSecrets:
- name: codescoring-pvt-regcred
Переменные окружения задаются в envs. Чтобы они попали в Pod, включите ConfigMap envs и подключите его к deployments:
envs:
DATABASE_DRIVER: "sqlite"
STORAGE_TYPE: "filesystem"
DATABASE_SQLITE_PATH: "./data/repository_manager.db"
configMaps:
envs:
enabled: true
deploymentsGeneral:
envConfigmaps:
- envs
deployments:
auth:
containers:
- name: auth
image:
repository: repository-manager-auth
env:
- name: DATABASE_DRIVER
value: "sqlite"
- name: DATABASE_SQLITE_PATH
value: "/app/data/auth.db"
Установка
helm install codescoring-save codescoring/save \
--namespace codescoring-save \
--create-namespace \
--values values.yaml
Проверка установки
# Проверка статуса подов
kubectl get pods -n codescoring-save
# Проверка логов backend
kubectl logs -n codescoring-save -l app=backend --tail=100
# Проверка логов auth
kubectl logs -n codescoring-save -l app=auth --tail=100
# Проверка логов frontend
kubectl logs -n codescoring-save -l app=frontend --tail=100
# Проверка сервисов
kubectl get svc -n codescoring-save
# Проверка ingress
kubectl get ingress -n codescoring-save
Первоначальная настройка
Пароль администратора задаётся в переменной AUTH_ADMIN_PASSWORD:
envs:
AUTH_ADMIN_PASSWORD: <STRONG_PASSWORD>
После установки откройте веб-интерфейс по адресу, указанному в настройках ingress.
Следующие шаги
После успешной установки:
- Создайте первый репозиторий
- Настройте политики очистки
- Создайте пользователей и назначьте роли