Git Product home page Git Product logo

Comments (11)

raphendyr avatar raphendyr commented on August 11, 2024 1

Just as a workaround, @tiagoposse you could configure two containers to be run inside a pod (see docs. This way you could setup nginx proxy as a sidecar and use a unix socket for communication between the app and the proxy. I would also use a memory backing for the volume.

from drone-convert-pathschanged.

hwittenborn avatar hwittenborn commented on August 11, 2024

Would a reverse proxy like NGINX do the job? I use it personally, and it doesn't seem to add much of any performance overhead.

from drone-convert-pathschanged.

tiagoposse avatar tiagoposse commented on August 11, 2024

Unfortunately we need end-to-end encryption, so the reverse proxy wouldn't cut it :(

from drone-convert-pathschanged.

hwittenborn avatar hwittenborn commented on August 11, 2024

Could you explain what you mean by end-to-end encryption (are you talking about SSL)? Where/How do you plan on using it?

from drone-convert-pathschanged.

tiagoposse avatar tiagoposse commented on August 11, 2024

Sorry, should've been clearer. I'm indeed talking about SSL. Using a different pod as a reverse proxy still leaves the traffic between that pod and this plugin unencrypted. We want all possible traffic inside a cluster to be encrypted if possible.

from drone-convert-pathschanged.

hwittenborn avatar hwittenborn commented on August 11, 2024

When you say using a different pod, is the reverse proxy still on the same machine as the drone-convert-pathschanged image? (Not very familiar with Kubernetes)

from drone-convert-pathschanged.

tiagoposse avatar tiagoposse commented on August 11, 2024

There are ways of enforcing that both pods exist in the same node, but even then, pods in the same node would have access to the traffic

from drone-convert-pathschanged.

hwittenborn avatar hwittenborn commented on August 11, 2024

Would both pods being on the same node not create enough security between the two?

If I'm not mistaken, the pods would just be communicating with each other over localhost. (They would just communicate in a similar fashion to Docker networks, right?)

from drone-convert-pathschanged.

tiagoposse avatar tiagoposse commented on August 11, 2024

Although I can't speak with 100% confidence, I think this would work different.

  • Docker creates an overlay network and you put 2 containers in the same network, isolated from the other containers.
  • In kubernetes, if 10 pods are in the same node, they share the local network.

A set of other reasons why I think supporting TLS here would be better:

  • Paying for an additional pod to be running 24/7 for this purpose is unnecessary
  • Supporting TLS at the app level is the only way to achieve end-to-end encryption
  • In case of cluster stress or node failure, a situation can arise where there is no node that could accommodate both nginx and converter pods, creating a failure unnecessarily (of course there would be more pressing matters here, but this is still valid)

from drone-convert-pathschanged.

hwittenborn avatar hwittenborn commented on August 11, 2024

That explains it well - I'm assuming you use the Kubernetes feature similar to what some Cloud providers offer?

In that case I see it working well, just not something I thought much of.

from drone-convert-pathschanged.

tiagoposse avatar tiagoposse commented on August 11, 2024

Sure. I'd do it a different way considering we've spent more time on justifications than we'd actually spend fixing this "natively". But I understand there's a satisfying workaround, so closing this now :)

from drone-convert-pathschanged.

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.