Skip to content

Allow ddclient.conf to be served from read-only filesystem #29

Description

@rhuss

Expected Behavior

This is a feature request. It would be cool, if this image would allow a ddclient.conf which is store on read-only filesystem. The use case here, that if you use this image within Kubernetes and provide the configuration from a ConfigMap / Secret, then the file is mounted read-only.

A sample K8s deployment would look like:

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: ddclient
  name: ddclient
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ddclient
  template:
    metadata:
      labels:
        app: ddclient
      name: ddclient
    spec:
      containers:
      - image: linuxserver/ddclient:3.9.0-ls23
        name: ddclient
        env:
        - name: TZ
          value: Europe/Berlin
        - name: PUID
          value: "1000"
        - name: PGID
          value: "1000"
        command:
        volumeMounts:
        - mountPath: /config
          name: ddclient-config
      volumes:
      - name: ddclient-config
        secret:
          secretName: ddclient-config

where the config is stored in a secrtet named ddclient-config.

It would be awesome to not raise in error in this setup.

Current Behavior

Currently it looks like that it works, but some errors are shown on the console:

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing...
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing...

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
We gratefully accept donations at:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    1000
-------------------------------------

chown: changing ownership of '/config': Read-only file system
[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 30-config: executing...
chown: changing ownership of '/config/..data': Read-only file system
chown: changing ownership of '/config/ddclient.conf': Read-only file system
chown: changing ownership of '/config/..2020_01_06_08_57_18.599307433/ddclient.conf': Read-only file system
chown: changing ownership of '/config/..2020_01_06_08_57_18.599307433': Read-only file system
chown: changing ownership of '/config': Read-only file system
chmod: changing permissions of '/config': Read-only file system
chmod: changing permissions of '/config/..2020_01_06_08_57_18.599307433': Read-only file system
chmod: changing permissions of '/config/..2020_01_06_08_57_18.599307433/ddclient.conf': Read-only file system
[cont-init.d] 30-config: exited 1.
[cont-init.d] 99-custom-files: executing...
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-files: exited 0.
[cont-init.d] done.
[services.d] starting services
Setting up watches.
Watches established.
[services.d] done.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions