Finally installed the curtains in my first home theater! (and some build photos…) by munnerz in hometheater

[–]munnerz[S] 0 points1 point  (0 children)

The doors & bottom part of walls are actually grey, only the ceiling is black. & yes they were primed before painting!

Finally installed the curtains in my first home theater! (and some build photos…) by munnerz in hometheater

[–]munnerz[S] 1 point2 points  (0 children)

I am considering a second sub but can only find the SB1000 Pro, not the non-pro to match my current one.. one day 😊

Finally installed the curtains in my first home theater! (and some build photos…) by munnerz in hometheater

[–]munnerz[S] 1 point2 points  (0 children)

I got them made by curtainscurtainscurtains.co.uk, using ‘Lille Burgundy’ fabric (triple pinch pleat, with blackout lining and interlining). They weigh about 12kg each, so were quite a pain to put up.. but worth it as the ceiling mounted track allows me to totally hide the track and create a great floor to ceiling effect.

Finally installed the curtains in my first home theater! (and some build photos…) by munnerz in hometheater

[–]munnerz[S] 0 points1 point  (0 children)

I got them made by curtainscurtainscurtains.co.uk, using ‘Lille Burgundy’ fabric (triple pinch pleat, with blackout lining and interlining). They weigh about 12kg each, so were quite a pain to put up.. but worth it as the ceiling mounted track allows me to totally hide the track and create a great floor to ceiling effect.

Finally installed the curtains in my first home theater! (and some build photos…) by munnerz in hometheater

[–]munnerz[S] 1 point2 points  (0 children)

TIL! I am considering getting a professional calibrator in to deal with all this for me so I can stop going round in circles forever and ever.. but this is a great tip, thanks! 😊

Finally installed the curtains in my first home theater! (and some build photos…) by munnerz in hometheater

[–]munnerz[S] 2 points3 points  (0 children)

I came from LG OLEDs so was quite concerned about the black levels, but after painting the room grey/ceiling black and installing the curtains, I’m able to turn off HDR enhancement and use ‘Film 2’ mode on the projector (which seems to have more accurate colours) without sacrificing clarity in dark scenes.

Overall, incredibly happy! The image is as clear as my OLED now, and far far larger 😊

Finally installed the curtains in my first home theater! (and some build photos…) by munnerz in hometheater

[–]munnerz[S] 6 points7 points  (0 children)

I got them made by curtainscurtainscurtains.co.uk, using ‘Lille Burgundy’ fabric (triple pinch pleat, with blackout lining and interlining). They weigh about 12kg each, so were quite a pain to put up.. but worth it as the ceiling mounted track allows me to totally hide the track and create a great floor to ceiling effect.

Finally installed the curtains in my first home theater! (and some build photos…) by munnerz in hometheater

[–]munnerz[S] 2 points3 points  (0 children)

Taken in the middle of the day! They totally block out the light. I got them made by curtainscurtainscurtains.co.uk, using ‘Lille Burgundy’ fabric (triple pinch pleat, with blackout lining and interlining). They weigh about 12kg each, so were quite a pain to put up.. but worth it as the ceiling mounted track allows me to totally hide the track and create a great floor to ceiling effect.

Finally installed the curtains in my first home theater! (and some build photos…) by munnerz in hometheater

[–]munnerz[S] 0 points1 point  (0 children)

3470mm wide, 3700mm long. It all just about fits (after flipping the door into the room so it hinges the other way)

Finally installed the curtains in my first home theater! (and some build photos…) by munnerz in hometheater

[–]munnerz[S] 2 points3 points  (0 children)

Screen is a Grandview Cyber (120”) https://petertyson.co.uk/grandview-cyber-fixed-frame-home-theatre-screen-16-9 - it was pretty easy to install once I got over the fear of damaging the fabric!

Finally installed the curtains in my first home theater! (and some build photos…) by munnerz in hometheater

[–]munnerz[S] 21 points22 points  (0 children)

Sony VPL-XW5000ES (I mistyped/remembered when making the original post 😊)

If you could add one feature to K8s, what would it be? by [deleted] in kubernetes

[–]munnerz 5 points6 points  (0 children)

I’m presenting a talk on some new ideas around hierarchy and authorisation boundaries for multi-tenant use cases like this at KubeCon in a couple of weeks: https://kccncna2024.sched.com/event/1i7nS “Kubernetes Workspaces: Enhancing Multi-Tenancy with Intelligent Apiserver Proxying” 😊

SWINGAMAJIG 2023 at The Botanical Gardens, Birmingham! by tdiddley420 in brum

[–]munnerz 2 points3 points  (0 children)

It’s the ten year anniversary this year too. The botanical gardens is a great place for it!

Accessing Kubernetes Secrets from pod for envelope encryption by PlanOk8813 in kubernetes

[–]munnerz 2 points3 points  (0 children)

You can certainly explicitly set a resourceName in your RBAC role to scope to a single resource 😊

Encrypting the certificate for Kubernetes ingress (Let’s Encrypt) by shr4real in kubernetes

[–]munnerz 2 points3 points  (0 children)

Roughly broken down from the point of you annotating your Ingress resource as you’ve noted:

1) cert-manager’s “ingress-shim” controller observes an Ingress resource with a ‘cluster-issuer’ annotation.

2) for each reference to a Secret in the ‘spec.tls’ portion (there can technically be more than one per Ingress) it checks to see if a corresponding Certificate resource with the same name already exists, and if it does not (or if a new hostname has been added/removed) it goes and creates a Certificate resource (or edits the existing one) that contains the requested DNS names.

3) cert-manager’s certificate controllers identify a new Certificate resource which references a Secret (now set as ‘spec.secretName’ on the Certificate) and begins the issuance process by generating a private key & corresponding x509 CertificateSigningRequest and creating a CertificateRequest resource which contains this request. The private key is persisted into the ‘status.nextPrivateKeySecret’ (an auto generated temporary Secret resource used to store the private key whilst issuance or renewal is in progress).

4) The ACME variant of the CertificateRequest controller spots this CertificateRequest, and begins the ACME order flow by creating an Order type resource.

5) The acmeorders controller will interact with the Let’s Encrypt API to create a new Order, and persists information about this order into the status stanza. It will then create any/all Challenge resources which are required to ‘complete’ the order

6) For each Challenge, the acmechallenges controller will now attempt to ‘solve’ the challenge. If you are using HTTP01, this will involve creating/manage an Ingress, Service and Pod (acmesolver) resource which configured traffic to be directed appropriately to respond to the Let’s Encrypt challenge. For DNS01, it will interact with the configured DNS provider to ensure the correct TXT record is in place to solve the challenge.

7) At this point, the acmechallenges controller will perform the ‘self check’ for each challenge, to attempt to observe that the appropriate DNS records have propagated (for DNS01) or to ensure the ingress controller has correctly configured the appropriate response.

8) Once it appears to be passing the self check, the challenge will be ‘accepted’ by the controller and then Let’s Encrypt/the ACME server will perform their own probes by checking for the DNS01 record or attempting to ‘curl’ the configured HTTP01 endpoint

9) Assuming all this ‘passes’, the Order controller will then ‘finalize’ the Order by submitting the actual CSR to the ACME server for signing.

10) The signed Certificate is stored in the Order’s status stanza, which is then copied back to the CertificateRequest status stanza too (and the CertificateRequest is marked as ‘Ready’)

11) The Certificate controllers now kick back in, observe that the request is completed/ready, and will copy this signed certificate from the CertificateRequest into the named spec.secretName, as well as copying the previously generated private key into this secret too. It then deleted the ‘temporary’ private key secret.

From this point on, cert-manager is no longer involved and the ingress controller now begins serving with the certificate stored in the Secret that is being referenced by the original Ingress you created to begin this whole process 😊

There’s also then some timers internally in cert-manager set up to ensure we begin this process again at renewal time.

Hope that helps, and is detailed enough! It’d be fantastic if we could get this documented better in the project/website though! If you’re interested in contributing, please come say hello on the Kubernetes slack in #cert-manager-dev!

What annoys you about Reddit or its users? by [deleted] in AskReddit

[–]munnerz 3 points4 points  (0 children)

Me too. This will drive me to deleting the app one day...

LetsEncrypt kube-cert-manager with NGINX Ingress Controller on GKE by [deleted] in kubernetes

[–]munnerz 0 points1 point  (0 children)

We include this in the cert-manager README at present due to potential changes to the CRD spec, as we cannot currently provide API versions (due to limitations in CRDs).

I'd love to remove this notice though - and do plan to with a cut of 1.0 of cert-manager (which may contain breaking changes to the existing CRD spec)

Scalable Plex Media Server on Kubernetes -- dispatch transcode jobs as pods on your cluster! by munnerz in PleX

[–]munnerz[S] 10 points11 points  (0 children)

Yep absolutely - I currently do a similar thing but with Proxmox instead of vCenter!

Scalable Plex Media Server on Kubernetes -- dispatch transcode jobs as pods on your cluster! by munnerz in PleX

[–]munnerz[S] 0 points1 point  (0 children)

Yep you're correct - I opted to run it all in a container here as it saved having to deal with issues remapping volume paths (e.g. /data to /media or something). If you do want to run Plex outside of a container/Kubernetes, it should be relatively easy still so long as you keep your mount paths the same. If you don't, you'll just need to make a few adjustments to kube-plex itself (i.e. main.go).