Comments (5)
When you remove the ingress
relation, it must be able to tell you that you no longer have that URL available, and that is what None
is for, which the requirer charm must read as "I have no (longer?) an ingress URL". We could probably change it so that, if the relation is established (relation_created
and relation_joined
), the event does not fire in the requirer until you have an URL, but given #28 in flight, I think we need to see how that affects the behavior first.
from traefik-k8s-operator.
In spite of the fact that this is a great example to discuss if we should condense 2 situations (add a relation and remove a relation) in only one custom event (ingress_changed
), the problem I see is that we are emitting not one, but three events when a relation is created.
As you said, maybe we can avoid emitting the event until we have an URL. But if we do that, we are still emitting two events with the same information.
from traefik-k8s-operator.
The reason to have one event, is that most charms I can think off, will react to it the same way: "Got some configs to change". Having multiple events that are reacted to the same way, seems like unnecessary complication to me.
from traefik-k8s-operator.
For example: Grafana, Prometheus and Alertmanager, likely even Loki: they mostly need to change a parameter that sets their externally visible URL. The value to set changes on whether you get an ingress URL or not, but the logic is 95% the same.
from traefik-k8s-operator.
For example: Grafana, Prometheus and Alertmanager, likely even Loki: they mostly need to change a parameter that sets their externally visible URL. The value to set changes on whether you get an ingress URL or not, but the logic is 95% the same.
from traefik-k8s-operator.
Related Issues (20)
- chore: update libraries to new major versions
- [traefik-route] middleware in router tls is removed HOT 9
- show-proxied-endpoints is bork on ingress v2
- Traefik unable to push certificate HOT 4
- Config option tls-ca is always required, even when tls-cert is signed by a trusted 3rd party CA
- [traefik-route] There's no "route departed/broken" for TraefikRouteRequirer HOT 1
- Traefik's server_cert_sans_dns has unexpected contents HOT 1
- Traefik generates TLS config only for the first defined HTTP router
- Unable to use Load Balancer's IP address for the ingress gateway HOT 7
- Traefik is stuck executing after the setup of some ingress relation failed HOT 1
- warn on `proxied_endpoints` in the separate ingress providers
- Allow traefik to use ACME http challenge for letsencrypt certificates
- changing ipaddress pool needs a good way to propagate into traefik service HOT 3
- Traefik blocks when get svc only returns hostname, not ip address HOT 2
- `traefik_route_k8s` lib should be owned by traefik-k8s-operator
- cert expiration monitoring HOT 3
- pydantic deprecation warnings HOT 3
- issue with TLS and tracing HOT 1
- add an action to export the server cert and ca cert HOT 2
- error on `start` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from traefik-k8s-operator.