Made some progress on one of my distraction projects over the past couple days. I’d been working on creating an Ansible role to deploy a Prometheus container with persistent data backed by NFS on my rPi cluster. Getting the NFS mount to work with Prometheus was a challenge. Relevant stanzas from the role’s main.yml
:
- name: "Creates named docker volume for prometheus persistent data" docker_volume: volume_name: prometheus_persist state: present driver_options: type: nfs o: "addr={{ nfs_server }},rw" device: ":{{ prometheus_nfs_path }}" - name: "Deploy prometheus container" docker_container: name: prometheus hostname: prometheus image: prom/prometheus restart_policy: always state: started ports: 9090:9090 volumes: - "{{ prometheus_config_path }}:/etc/prometheus" mounts: - source: prometheus_persist target: /prometheus read_only: no type: volume comparisons: env: strict
However I was getting permission denied
on /prometheus
when deploying the container. A redditor pointed me in the direction of the solution. Since NFS is provided by my Synology, I can’t set no_root_squash
, but by mapping all users to admin in the share’s squashing settings, I could allow the container to set permissions appropriately. Progress!