Git Product home page Git Product logo

Comments (16)

xirixiz avatar xirixiz commented on July 19, 2024 1

Getest en toegevoegd aan de nieuwe release.

  • README bijgewerkt
  • Structuur bruikbaar voor S6-overlay geimplementeerd

from dsmr-reader-docker.

xirixiz avatar xirixiz commented on July 19, 2024

Hi @frankforpresident, this is an out of the box feature of Docker, and not related to this image specifically.

Maybe this helps: https://medium.com/@laura_67852/docker-secrets-an-introductory-guide-with-examples-d25be5fc8e50

from dsmr-reader-docker.

frankforpresident avatar frankforpresident commented on July 19, 2024

Ah ok cool, thanks!

from dsmr-reader-docker.

frankforpresident avatar frankforpresident commented on July 19, 2024

@xirixiz,

Are you sure this is an out of the box feature?

https://docs.docker.com/engine/swarm/secrets/#build-support-for-docker-secrets-into-your-images.

I've tried it on an image of my own but it does not seem to populate the regular variable with the content of the _FILE variable.

from dsmr-reader-docker.

xirixiz avatar xirixiz commented on July 19, 2024

Hi @frankforpresident, yes I`m 100% certain about this 😄

Maybe this link helps in a better way
https://earthly.dev/blog/docker-secrets/

Are you running Docker in swarm mode?
Are you using Docker, or are you using Podman? Podman support it, but it works differently (config).

from dsmr-reader-docker.

frankforpresident avatar frankforpresident commented on July 19, 2024

I'm using docker swarm with docker compose. I had a look at the blog post but they reference to the same

To make use of the secret, your application should read the contents from the in-memory, the temporary filesystem created under /run/secrets/secure-key

I was hoping that docker would store the contents of DJANGO_DATABASE_PASSWORD_FILE in DJANGO_DATABASE_PASSWORD in-memory but it doesn't seem to work this way? I hope I'm doing something wrong because I would like to enable this for every container in my deployment

When I have some time this weekend I will give it another shot with the image of this repo including a reproduction scenario. I will check Podman as well 👍

from dsmr-reader-docker.

frankforpresident avatar frankforpresident commented on July 19, 2024

FYI, it looks like i'm not the only one with this issue. https://stackoverflow.com/a/70006074

from dsmr-reader-docker.

xirixiz avatar xirixiz commented on July 19, 2024

Yeah, I was checking it out, and it's a poor implementation of Docker I notice 😂, hence the solution in the link you've send. I'll have a look later, but as there isn't much demand for secrets, I'm not sure if it's valuable spending effort on this.

from dsmr-reader-docker.

frankforpresident avatar frankforpresident commented on July 19, 2024

@xirixiz,

I've implemented Docker secrets support in PR 354. Could you kindly review and confirm the modifications? I've conducted local testing, and the functionality appears to be functioning as expected.

from dsmr-reader-docker.

xirixiz avatar xirixiz commented on July 19, 2024

Hi @frankforpresident ik heb jou PR gemerged in de main branch.

Omdat ik voor de dev branch over bent gestapt naar s6-verlay v3 zijn er een aantal wijzigingen doorgevoerd.
Ik heb zojuist nog eea aangepast. Zou jij het eens kunnen testen met de development image en even willen laten weten of de Docker secrets nu nog naar behoren werkt. Beste test zou zijn:

  • Geen secrets
  • 1 secret
  • 2 of meer secrets

Wanneer bovenstaande werkt, dan komt er maandag of dinsdag een nieuwe DSMR Reader Docker release met:

  • S6-overlay v3
  • Alpine 3.19
  • PostrgeSQL 16 support
  • Laatste HASSIO support (PG16 en s6-overlay v3 dependency).
  • En Docker secrets support dan uiteraard 😄

Thanks!

Build pipeline: https://github.com/xirixiz/dsmr-reader-docker/actions/runs/8678690182
Image: ghcr.io/xirixiz/dsmr-reader-docker:development

from dsmr-reader-docker.

frankforpresident avatar frankforpresident commented on July 19, 2024

Goed dat ik het even nakijk want de scripts zitten er niet in. Zal het gelijk even terug toevoegen en nog wat documentatie schrijven.

from dsmr-reader-docker.

xirixiz avatar xirixiz commented on July 19, 2024

Nee, die zitten er wel in, alleen heb ik het onderdeel gemaakt van S6-overlay, anders gaat het niet goed samen.
rootfs/etc/s6-overlay/s6-rc.d/docker-entrypoint

En dit deel:

function _docker_secrets {
# shellcheck source=/dev/null
. /etc/s6-overlay/s6-rc.d/docker-entrypoint.d/.env-from-docker-secrets
if /usr/bin/find "/etc/s6-overlay/s6-rc.d/docker-entrypoint.d/" -mindepth 1 -maxdepth 1 -type f -print -quit 2>/dev/null | read -r v; then
_info "/etc/s6-overlay/s6-rc.d/docker-entrypoint.d/ is not empty, will attempt to perform configuration"
_info "Looking for shell scripts in /etc/s6-overlay/s6-rc.d/docker-entrypoint.d/"
find "/etc/s6-overlay/s6-rc.d/docker-entrypoint.d/" -follow -type f -print | sort -V | while read -r f; do
case "$f" in
*.sh)
if [ -x "$f" ]; then
_info "Launching Docker secret $f"
"$f"
else
# warn on shell scripts without exec bit
_warn "Ignoring Docker secret $f, not executable"
fi
;;
*) _info "Ignoring Docker secret $f" ;;
esac
done

from dsmr-reader-docker.

frankforpresident avatar frankforpresident commented on July 19, 2024

@xirixiz ,

Dockerfile was ook aangepast, zit dit ook ergens in de s6-overlay?

Wat moet ik uit mijn PR halen?

from dsmr-reader-docker.

frankforpresident avatar frankforpresident commented on July 19, 2024

Net even met de development tag getest en daar werkt het niet zoals verwacht

from dsmr-reader-docker.

xirixiz avatar xirixiz commented on July 19, 2024

@xirixiz ,

Dockerfile was ook aangepast, zit dit ook ergens in de s6-overlay?

Wat moet ik uit mijn PR halen?

Hi Frank, ik zal even kijken of ik het kan fixen. S6-overlay (meer info: https://github.com/just-containers/s6-overlay).
Je hoeft idd in de Dockerfile niets aan te passen.

Ik zie wel dit voorbij komen in de development tag:

[ INFO ] /etc/s6-overlay/s6-rc.d/docker-entrypoint/docker-entrypoint.d/ is not empty, will attempt to perform configuration
[ INFO ] Looking for shell scripts in /etc/s6-overlay/s6-rc.d/docker-entrypoint/docker-entrypoint.d/
[ INFO ] Ignoring Docker secret /etc/s6-overlay/s6-rc.d/docker-entrypoint/docker-entrypoint.d/.gitkeep
[ INFO ] Ignoring Docker secret /etc/s6-overlay/s6-rc.d/docker-entrypoint/docker-entrypoint.d/.env-from-docker-secrets
[ INFO ] Docker secrets configuration complete; ready for start up...

Dus ik denk dat het eenvoudig is op te lossen 👍

from dsmr-reader-docker.

xirixiz avatar xirixiz commented on July 19, 2024

Hoi @frankforpresident , ik heb even de docu erop nageslagen en volg graag het pad dat linuxserver.io ook gebruikt:

In de baseimage is een script voor het uitlezen van de secrets:

In een andere image staat uitgelegd hoe daar gebruik van te maken (readme):

Ik heb het zojuist geimplementeerd in de development image en ben nu een nieuwe image aan het bouwen zodat het getest kan worden.

from dsmr-reader-docker.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.