История изменений
Исправление gagarin0, (текущая версия) :
для решения подобных задач мне потребовалось накостылить ужасную связку между execfuse + оторванные куски jinja template из ansible + yaml
ниже пример при запуске команды ls в точке монтирования fuse сервер запустит текстовый браузер, который получит таблицу Менделеева с википедии и отразит ее в виде файлового дерева.
# /mnt/periodic_table/Ca
# ├── density
# ├── image
# ├── melt
# ├── name
# ├── number
# ├── period
# └── phase
# $ cat /mnt/periodic_table/Ca/period
# 4
fs:
"/":
readdir:
sh: |
lynx -nonumbers -dump -width 256 https://en.wikipedia.org/wiki/List_of_chemical_elements | grep -E '^ [0-9]+ [A-Z]' | awk '{print $2}'
getattr:
sh: *dir
"/[A-Za-z]+": # # /<element_name>
cache: 3600000 #in second
name: element_name
getattr:
sh: *dir
readdir:
list:
- name
- density
- melt
- number
- period
- phase
- image
"/image":
cache: 9600 # in seconds
read_file:
sh: |
curl https://www.inorganicventures.com/pub/media/inorganicperiodictable/elements/${element_name}.gif | convert gif:- png:-
getattr:
sh: *file
Исправление gagarin0, :
для решения подобных задач мне потребовалось накостылить ужасную связку между execfuse + оторванные куски jinja template из ansible + yaml
ниже пример при запуске команды ls в точке монтирования fuse сервер запустит текстовый браузер, который получит таблицу Менделеева с википедии и отразит ее в виде файлового дерева.
# /mnt/periodic_table/Ca
# ├── density
# ├── image
# ├── melt
# ├── name
# ├── number
# ├── period
# └── phase
# $ cat /tmp/p/Ca/period
# 4
fs:
"/":
readdir:
sh: |
lynx -nonumbers -dump -width 256 https://en.wikipedia.org/wiki/List_of_chemical_elements | grep -E '^ [0-9]+ [A-Z]' | awk '{print $2}'
getattr:
sh: *dir
"/[A-Za-z]+": # # /<element_name>
cache: 3600000 #in second
name: element_name
getattr:
sh: *dir
readdir:
list:
- name
- density
- melt
- number
- period
- phase
- image
"/image":
cache: 9600 # in seconds
read_file:
sh: |
curl https://www.inorganicventures.com/pub/media/inorganicperiodictable/elements/${element_name}.gif | convert gif:- png:-
getattr:
sh: *file
Исходная версия gagarin0, :
для решения подобных задач мне потребовалось накостылить ужасную связку между jinja2 template + yaml + execfuse
ниже пример при запуске команды ls в точке монтирования fuse сервер запустит текстовый браузер, который получит таблицу Менделеева с википедии и отразит ее в виде файлового дерева.
# /mnt/periodic_table/Ca
# ├── density
# ├── image
# ├── melt
# ├── name
# ├── number
# ├── period
# └── phase
# $ cat /tmp/p/Ca/period
# 4
fs:
"/":
readdir:
sh: |
lynx -nonumbers -dump -width 256 https://en.wikipedia.org/wiki/List_of_chemical_elements | grep -E '^ [0-9]+ [A-Z]' | awk '{print $2}'
getattr:
sh: *dir
"/[A-Za-z]+": # # /<element_name>
cache: 3600000 #in second
name: element_name
getattr:
sh: *dir
readdir:
list:
- name
- density
- melt
- number
- period
- phase
- image
"/image":
cache: 9600 # in seconds
read_file:
sh: |
curl https://www.inorganicventures.com/pub/media/inorganicperiodictable/elements/${element_name}.gif | convert gif:- png:-
getattr:
sh: *file