У меня это работало, но больше не работает, и я несколько подозреваю проблему с томом докера, а также несколько подозреваю проблему с разрешениями, а также несколько подозреваю обновление ОС. Но я действительно не знаю, в чем проблема.
Внутри контейнера splunk я вижу:
[root@splunk splunk]# cat /opt/splunk/etc/apps/splunk_httpinput/local/inputs.conf
[http]
disabled = 0
[http://splunk_hec_token]
disabled = 0
token = really-big-token-thingie
Чего я на самом деле не хочу.
И вне контейнера splunk (на стороне MacOS) я вижу:
$ cat splunk-files/opt-splunk-etc-apps-splunk_httpinput-local/inputs.conf
cmd output started 2022 Mon May 02 04:19:43 PM PDT
[http]
disabled = 0
[http://splunk_hec_token]
disabled = 0
token = really-big-token-thingie
index = dev_game-publishing
Это то, что я хочу.
В моей докер-композиции у меня есть (среди прочего):
volumes:
- ./splunk-files/opt-splunk-etc-apps-splunk_httpinput-local/ /opt/splunk/etc/apps/splunk_httpinput/local/
(Эта длинная строка тома состоит из одной строки. Она может быть перенесена, а может и нет, когда вы ее просматриваете, хотя в этом редакторе она переносится)
Я пробовал настроить том как для всего каталога, так и только для одного файла. Я слышал, что создание всего каталога, как правило, более надежно, но оба они потерпели неудачу одинаково.
Каталог, содержащий файл, принадлежит splunk и имеет ограничительные разрешения:
[ansible@splunk splunk]$ cat /opt/splunk/etc/apps/splunk_httpinput/local/inputs.conf
cat: /opt/splunk/etc/apps/splunk_httpinput/local/inputs.conf: Permission denied
[ansible@splunk splunk]$ ls -l /opt/splunk/etc/apps/splunk_httpinput/
total 12
drwxr-xr-x 2 splunk splunk 4096 Jan 15 03:31 default
drwx------ 2 splunk splunk 4096 May 2 22:14 local
drwx------ 2 splunk splunk 4096 May 2 22:14 metadata
[ansible@splunk splunk]$
Это объясняет, почему ansible-пользователь не может это выполнить. Но может ли ansible загнать себя в угол и лишить себя возможности внести все нужные мне изменения?
Я также обновился с MacOS 11.x до 12.3 в период между тем, когда это работало, и когда оно останавливалось. Не знаю связано это или нет.
Как я могу автоматически получить желаемый контент внутри контейнера?
Спасибо за любые предложения!
Ваша спецификация объема выглядит нарушенной. Обычно вы присоединяете путь хоста к пути контейнера двоеточием.
volumes:
- ./splunk-files/opt-splunk-etc-apps-splunk_httpinput-local:/opt/splunk/etc/apps/splunk_httpinput/local
Я думаю, именно поэтому внутри изображения вы видите содержимое этого каталога по умолчанию, поскольку ваш локальный каталог никогда не монтируется должным образом.