Comments (1)
@vdice nice catch. I've put this to the test and have been able to reproduce... however, I believe this is actually a controller bug.
two domains are added to an app, domainA and domainB
a previously added cert is attached to both domains
Manually putting this to the test, at this stage, the service for such an application contains the following relevant annotations:
metadata:
annotations:
router.deis.io/certificates: domain-a.foo.com:foo-wildcard,domain-b.foo.com:foo-wildcard
router.deis.io/domains: timely-odometer,domain-a.foo.com,domain-b.foo.com
And the certificate in question is visible in the app's namespace:
$ kubectl get secrets --namespace=timely-odometer
NAME TYPE DATA AGE
default-token-ja4wo kubernetes.io/service-account-token 2 53m
foo-wildcard-cert Opaque 2 21s
minio-user Opaque
the cert is detached from only domainA
After detachment of the foo-wildcard
certificate from domain-b.foo.com
, the annotations on the service appear correct:
metadata:
annotations:
router.deis.io/certificates: domain-b.foo.com:foo-wildcard
router.deis.io/domains: timely-odometer,domain-a.foo.com,domain-b.foo.com
The problem, however, is that the secret that contains the cert has disappeared:
$ kubectl get secrets --namespace=timely-odometer
NAME TYPE DATA AGE
default-token-ja4wo kubernetes.io/service-account-token 2 58m
minio-user Opaque 2 58m
I would theorize that in the controller, the detachment is removing the secret from the namespace without regard for whether the cert contained within might also be attached to other domains of the same app (therefore in the same namespace).
I will open a separate issue against the controller and reference this one. This issue has also brought to light that the router isn't logging any sort of warning when a secret containing a cert that is expected to exist is not found. I will close this and open a separate issue for that.
from router.
Related Issues (20)
- need annotation for nginx proxy_buffer_size HOT 5
- When using proxy protocol, X-Forwarded-For header should be set to $proxy_protocol_addr HOT 4
- TCP support for Deis applications HOT 22
- HPKP Public-Key-Pins Header HOT 7
- Per domain real_ip_header HOT 1
- When <sub>.example.com domain is added to app on example.com cluster, ssl configuration is missing HOT 1
- Clickjacking prevention header? X-Frame-Options HOT 2
- Random 502 bad gateway HOT 10
- There's no point in having Travis build HOT 5
- Proxy Protocol Port not used to determine Access Scheme HOT 7
- Trouble setting service_annotations via chart values file HOT 4
- Proposal: Add aws load balancer timeout override to service template HOT 2
- Router makes zombies permanently HOT 9
- Claiming a reserved name for the router HOT 3
- Documentation still has some references to Helm Classic HOT 3
- GKE Failed: Create Address error` HOT 2
- Custom "Site Maintenance" page HOT 3
- Deis router picks up non-Deis traffic HOT 15
- Config builder silently fails with missing annotations HOT 2
- Support non-HTTP, streaming apps HOT 2
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 router.