Как автоматизировать конфигурацию

После установки Discourse многие настройки (как основные функции Discourse, так и плагины) требуют ручной конфигурации через интерфейс настроек. Это подразумевает множество действий по вводу данных и нажатию кнопок, а также необходимость помнить, где находятся все эти параметры.
Возможно ли определить эти настройки в рамках процесса развёртывания, например, с помощью параметризуемого скрипта, который можно запустить после завершения начального развёртывания?

Вы можете легко создать плагин для настройки «любых и всех» параметров сайта.

Надеюсь, это поможет.

Это возможно, но мой вопрос: зачем вам это нужно? Вы разворачиваете множество сайтов?

Для создания идентичной копии сайта на другом сервере достаточно резервной копии сайта и файла app.yml.

Кроме того, настройки сохраняются при повторной сборке, поэтому беспокоиться о локальных обновлениях на том же сервере не нужно.

Если вам нужно создать шаблон сайта, я полагаю, это можно сделать с помощью одной резервной копии и шаблона app.yml. При желании вы можете изменить настройки сайта в файле app.yml.

Мы создаем ряд сайтов, для каждого из которых требуются различные настройки (брендинг, конфигурация безопасности и т.д.).
Наборы настроек каждый раз одинаковы, различаются только их значения.

Наша инфраструктура построена на контейнерах Bitnami, развернутых в Kubernetes с помощью Ansible.

Тогда вы также можете создать шаблон YAML, как было предложено, и включить свой шаблон с пользовательскими настройками сайта в ваш файл контейнера.

Или сделайте что-то подобное с плагином, прочитав специфичные для сайта настройки из файла в вашей общей директории или из удаленного расположения.

Все настройки сайта можно задать через переменные окружения (например, DISCOURSE_SETTING_NAME=xxx). Вы можете изменить всё через API. И иногда, как предлагает NoBugsBunny, хорошим решением будет использование плагина.

Это выходит за рамки бесплатной поддержки, которую я здесь предоставляю. Я не рекомендую Bitnami, но работал с клиентами, которые её используют. Я выполнял несколько развёртываний в GKE (используя поддерживаемые контейнеры, собранные через ./launcher) и имею опыт развёртывания и управления Discourse с помощью Ansible. Если вам нужна помощь и у вас есть бюджет, пожалуйста, свяжитесь с jay@literatecomputing.com.