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.

Следующие шаги

После успешной установки:

  1. Создайте первый репозиторий
  2. Настройте политики очистки
  3. Создайте пользователей и назначьте роли
Страница была полезна?