One of Those Guys

Feb. 5th, 2026 03:40 pm
diffrentcolours: (Default)
[personal profile] diffrentcolours

Last night, after a very pleasurable theatre trip with [personal profile] cosmolinguist, I ended up messing around a bit with the smart plugs I bought ages ago.

I have actually been using these plugs somewhat. They're on the house WiFi and that lets me remote-control them through a browser and set timers for them. They also have a mechanical button if you want to interact with them in a more traditional manner - that's basically a hard requirement for any home automation stuff I do, after the time I visited a friend and had to poop in the darkness because the bathroom lights couldn't be switched on until he reinstalled a Raspberry Pi.

But having resurrected Home Assistant on my fileserver I figured it was time to actually get these things talking to each other. I still find HA overly complicated, and I'm not quite sure what the difference is between an "app" and an "integration". I hit a few dead ends following this guide but eventually got to the point where I could use the Home Assistant web UI to control the plugs rather than the built-in web UI.

That doesn't sound like much of an improvement but it's actually quite exciting, because now anything I can do with Home Assistant, I can do with the plugs. I installed up simple speech-to-text and text-to-speech integrations in HA, and now I can talk to the HA app on my phone, tell it to turn the plugs on or off, and it does so! And tells me it's done it in a northern voice called Alan!

It's another small step on the HA journey and I'm still not thinking about temperature monitoring around the house, but it gave me a nice little dopamine hit.

(by this time it was 2am and E prodded me to come to bed, so I excitedly demonstrated this to him and then went to sleep)

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: 0c56d95cb6eee98db461ea2ac573c4c005441e2b https://github.com/dreamwidth/dreamwidth/commit/0c56d95cb6eee98db461ea2ac573c4c005441e2b Author: Mark Smith mark@dreamwidth.org Date: 2026-02-04 (Wed, 04 Feb 2026)

Changed paths: M terraform/load-balancing.tf M terraform/locals.tf M terraform/web.tf

Log Message:


Configure Starman (port 8080) target groups for canary and shop

  • Update ECS services to register with -2 target groups on port 8080 (Starman) instead of 6081 (Varnish) for canary and shop
  • Enable traffic to -2 target groups by setting weights to 100
  • Refactor target group references to use resource refs instead of hardcoded ARNs, allowing proper dependency tracking
  • Remove ignore_changes from shop and canary listener rules to allow Terraform to manage weights
  • Fix canary listener rule condition to match AWS (cookie-based routing)

Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

github: shadowy octopus with the head of a robot, emblazoned with the Dreamwidth swirl (Default)
[personal profile] github posting in [site community profile] changelog

Branch: refs/heads/main Home: https://github.com/dreamwidth/dreamwidth Commit: 74c1d9d89f13516a90c1feda8564e18a27111d6b https://github.com/dreamwidth/dreamwidth/commit/74c1d9d89f13516a90c1feda8564e18a27111d6b Author: Mark Smith mark@dreamwidth.org Date: 2026-02-04 (Wed, 04 Feb 2026)

Changed paths: M .github/workflows/tasks/web-canary-service.json A .github/workflows/web22-build.yml A .github/workflows/web22-deploy.yml A etc/docker/web22/Dockerfile A etc/docker/web22/config/.dir_scope A etc/docker/web22/config/dreamwidth-dev.conf A etc/docker/web22/config/dreamwidth-prod.conf A etc/docker/web22/config/etc/apache2/apache2.conf A etc/docker/web22/config/etc/apache2/conf-available/charset.conf A etc/docker/web22/config/etc/apache2/conf-available/localized-error-pages.conf A etc/docker/web22/config/etc/apache2/conf-available/other-vhosts-access-log.conf A etc/docker/web22/config/etc/apache2/conf-available/security.conf A etc/docker/web22/config/etc/apache2/conf-available/serve-cgi-bin.conf A etc/docker/web22/config/etc/apache2/conf-enabled/security.conf A etc/docker/web22/config/etc/apache2/envvars A etc/docker/web22/config/etc/apache2/magic A etc/docker/web22/config/etc/apache2/mods-available/access_compat.load A etc/docker/web22/config/etc/apache2/mods-available/actions.conf A etc/docker/web22/config/etc/apache2/mods-available/actions.load A etc/docker/web22/config/etc/apache2/mods-available/alias.conf A etc/docker/web22/config/etc/apache2/mods-available/alias.load A etc/docker/web22/config/etc/apache2/mods-available/allowmethods.load A etc/docker/web22/config/etc/apache2/mods-available/apreq2.load A etc/docker/web22/config/etc/apache2/mods-available/asis.load A etc/docker/web22/config/etc/apache2/mods-available/auth_basic.load A etc/docker/web22/config/etc/apache2/mods-available/auth_digest.load A etc/docker/web22/config/etc/apache2/mods-available/auth_form.load A etc/docker/web22/config/etc/apache2/mods-available/authn_anon.load A etc/docker/web22/config/etc/apache2/mods-available/authn_core.load A etc/docker/web22/config/etc/apache2/mods-available/authn_dbd.load A etc/docker/web22/config/etc/apache2/mods-available/authn_dbm.load A etc/docker/web22/config/etc/apache2/mods-available/authn_file.load A etc/docker/web22/config/etc/apache2/mods-available/authn_socache.load A etc/docker/web22/config/etc/apache2/mods-available/authnz_fcgi.load A etc/docker/web22/config/etc/apache2/mods-available/authnz_ldap.load A etc/docker/web22/config/etc/apache2/mods-available/authz_core.load A etc/docker/web22/config/etc/apache2/mods-available/authz_dbd.load A etc/docker/web22/config/etc/apache2/mods-available/authz_dbm.load A etc/docker/web22/config/etc/apache2/mods-available/authz_groupfile.load A etc/docker/web22/config/etc/apache2/mods-available/authz_host.load A etc/docker/web22/config/etc/apache2/mods-available/authz_owner.load A etc/docker/web22/config/etc/apache2/mods-available/authz_user.load A etc/docker/web22/config/etc/apache2/mods-available/autoindex.conf A etc/docker/web22/config/etc/apache2/mods-available/autoindex.load A etc/docker/web22/config/etc/apache2/mods-available/buffer.load A etc/docker/web22/config/etc/apache2/mods-available/cache.load A etc/docker/web22/config/etc/apache2/mods-available/cache_disk.conf A etc/docker/web22/config/etc/apache2/mods-available/cache_disk.load A etc/docker/web22/config/etc/apache2/mods-available/cache_socache.load A etc/docker/web22/config/etc/apache2/mods-available/cern_meta.load A etc/docker/web22/config/etc/apache2/mods-available/cgi.load A etc/docker/web22/config/etc/apache2/mods-available/cgid.conf A etc/docker/web22/config/etc/apache2/mods-available/cgid.load A etc/docker/web22/config/etc/apache2/mods-available/charset_lite.load A etc/docker/web22/config/etc/apache2/mods-available/data.load A etc/docker/web22/config/etc/apache2/mods-available/dav.load A etc/docker/web22/config/etc/apache2/mods-available/dav_fs.conf A etc/docker/web22/config/etc/apache2/mods-available/dav_fs.load A etc/docker/web22/config/etc/apache2/mods-available/dav_lock.load A etc/docker/web22/config/etc/apache2/mods-available/dbd.load A etc/docker/web22/config/etc/apache2/mods-available/deflate.conf A etc/docker/web22/config/etc/apache2/mods-available/deflate.load A etc/docker/web22/config/etc/apache2/mods-available/dialup.load A etc/docker/web22/config/etc/apache2/mods-available/dir.conf A etc/docker/web22/config/etc/apache2/mods-available/dir.load A etc/docker/web22/config/etc/apache2/mods-available/dump_io.load A etc/docker/web22/config/etc/apache2/mods-available/echo.load A etc/docker/web22/config/etc/apache2/mods-available/env.load A etc/docker/web22/config/etc/apache2/mods-available/expires.load A etc/docker/web22/config/etc/apache2/mods-available/ext_filter.load A etc/docker/web22/config/etc/apache2/mods-available/file_cache.load A etc/docker/web22/config/etc/apache2/mods-available/filter.load A etc/docker/web22/config/etc/apache2/mods-available/headers.load A etc/docker/web22/config/etc/apache2/mods-available/heartbeat.load A etc/docker/web22/config/etc/apache2/mods-available/heartmonitor.load A etc/docker/web22/config/etc/apache2/mods-available/http2.load A etc/docker/web22/config/etc/apache2/mods-available/ident.load A etc/docker/web22/config/etc/apache2/mods-available/imagemap.load A etc/docker/web22/config/etc/apache2/mods-available/include.load A etc/docker/web22/config/etc/apache2/mods-available/info.conf A etc/docker/web22/config/etc/apache2/mods-available/info.load A etc/docker/web22/config/etc/apache2/mods-available/lbmethod_bybusyness.load A etc/docker/web22/config/etc/apache2/mods-available/lbmethod_byrequests.load A etc/docker/web22/config/etc/apache2/mods-available/lbmethod_bytraffic.load A etc/docker/web22/config/etc/apache2/mods-available/lbmethod_heartbeat.load A etc/docker/web22/config/etc/apache2/mods-available/ldap.conf A etc/docker/web22/config/etc/apache2/mods-available/ldap.load A etc/docker/web22/config/etc/apache2/mods-available/log_debug.load A etc/docker/web22/config/etc/apache2/mods-available/log_forensic.load A etc/docker/web22/config/etc/apache2/mods-available/lua.load A etc/docker/web22/config/etc/apache2/mods-available/macro.load A etc/docker/web22/config/etc/apache2/mods-available/mime.conf A etc/docker/web22/config/etc/apache2/mods-available/mime.load A etc/docker/web22/config/etc/apache2/mods-available/mime_magic.conf A etc/docker/web22/config/etc/apache2/mods-available/mime_magic.load A etc/docker/web22/config/etc/apache2/mods-available/mpm_event.conf A etc/docker/web22/config/etc/apache2/mods-available/mpm_event.load A etc/docker/web22/config/etc/apache2/mods-available/mpm_prefork.conf A etc/docker/web22/config/etc/apache2/mods-available/mpm_prefork.load A etc/docker/web22/config/etc/apache2/mods-available/mpm_worker.conf A etc/docker/web22/config/etc/apache2/mods-available/mpm_worker.load A etc/docker/web22/config/etc/apache2/mods-available/negotiation.conf A etc/docker/web22/config/etc/apache2/mods-available/negotiation.load A etc/docker/web22/config/etc/apache2/mods-available/perl.load A etc/docker/web22/config/etc/apache2/mods-available/proxy.conf A etc/docker/web22/config/etc/apache2/mods-available/proxy.load A etc/docker/web22/config/etc/apache2/mods-available/proxy_ajp.load A etc/docker/web22/config/etc/apache2/mods-available/proxy_balancer.conf A etc/docker/web22/config/etc/apache2/mods-available/proxy_balancer.load A etc/docker/web22/config/etc/apache2/mods-available/proxy_connect.load A etc/docker/web22/config/etc/apache2/mods-available/proxy_express.load A etc/docker/web22/config/etc/apache2/mods-available/proxy_fcgi.load A etc/docker/web22/config/etc/apache2/mods-available/proxy_fdpass.load A etc/docker/web22/config/etc/apache2/mods-available/proxy_ftp.conf A etc/docker/web22/config/etc/apache2/mods-available/proxy_ftp.load A etc/docker/web22/config/etc/apache2/mods-available/proxy_hcheck.load A etc/docker/web22/config/etc/apache2/mods-available/proxy_html.conf A etc/docker/web22/config/etc/apache2/mods-available/proxy_html.load A etc/docker/web22/config/etc/apache2/mods-available/proxy_http.load A etc/docker/web22/config/etc/apache2/mods-available/proxy_http2.load A etc/docker/web22/config/etc/apache2/mods-available/proxy_scgi.load A etc/docker/web22/config/etc/apache2/mods-available/proxy_wstunnel.load A etc/docker/web22/config/etc/apache2/mods-available/ratelimit.load A etc/docker/web22/config/etc/apache2/mods-available/reflector.load A etc/docker/web22/config/etc/apache2/mods-available/remoteip.load A etc/docker/web22/config/etc/apache2/mods-available/reqtimeout.conf A etc/docker/web22/config/etc/apache2/mods-available/reqtimeout.load A etc/docker/web22/config/etc/apache2/mods-available/request.load A etc/docker/web22/config/etc/apache2/mods-available/rewrite.load A etc/docker/web22/config/etc/apache2/mods-available/sed.load A etc/docker/web22/config/etc/apache2/mods-available/session.load A etc/docker/web22/config/etc/apache2/mods-available/session_cookie.load A etc/docker/web22/config/etc/apache2/mods-available/session_crypto.load A etc/docker/web22/config/etc/apache2/mods-available/session_dbd.load A etc/docker/web22/config/etc/apache2/mods-available/setenvif.conf A etc/docker/web22/config/etc/apache2/mods-available/setenvif.load A etc/docker/web22/config/etc/apache2/mods-available/slotmem_plain.load A etc/docker/web22/config/etc/apache2/mods-available/slotmem_shm.load A etc/docker/web22/config/etc/apache2/mods-available/socache_dbm.load A etc/docker/web22/config/etc/apache2/mods-available/socache_memcache.load A etc/docker/web22/config/etc/apache2/mods-available/socache_shmcb.load A etc/docker/web22/config/etc/apache2/mods-available/speling.load A etc/docker/web22/config/etc/apache2/mods-available/ssl.conf A etc/docker/web22/config/etc/apache2/mods-available/ssl.load A etc/docker/web22/config/etc/apache2/mods-available/status.conf A etc/docker/web22/config/etc/apache2/mods-available/status.load A etc/docker/web22/config/etc/apache2/mods-available/substitute.load A etc/docker/web22/config/etc/apache2/mods-available/suexec.load A etc/docker/web22/config/etc/apache2/mods-available/unique_id.load A etc/docker/web22/config/etc/apache2/mods-available/userdir.conf A etc/docker/web22/config/etc/apache2/mods-available/userdir.load A etc/docker/web22/config/etc/apache2/mods-available/usertrack.load A etc/docker/web22/config/etc/apache2/mods-available/vhost_alias.load A etc/docker/web22/config/etc/apache2/mods-available/xml2enc.load A etc/docker/web22/config/etc/apache2/mods-enabled/access_compat.load A etc/docker/web22/config/etc/apache2/mods-enabled/alias.conf A etc/docker/web22/config/etc/apache2/mods-enabled/alias.load A etc/docker/web22/config/etc/apache2/mods-enabled/apreq2.load A etc/docker/web22/config/etc/apache2/mods-enabled/auth_basic.load A etc/docker/web22/config/etc/apache2/mods-enabled/authn_core.load A etc/docker/web22/config/etc/apache2/mods-enabled/authn_file.load A etc/docker/web22/config/etc/apache2/mods-enabled/authz_core.load A etc/docker/web22/config/etc/apache2/mods-enabled/authz_host.load A etc/docker/web22/config/etc/apache2/mods-enabled/authz_user.load A etc/docker/web22/config/etc/apache2/mods-enabled/autoindex.conf A etc/docker/web22/config/etc/apache2/mods-enabled/autoindex.load A etc/docker/web22/config/etc/apache2/mods-enabled/deflate.conf A etc/docker/web22/config/etc/apache2/mods-enabled/deflate.load A etc/docker/web22/config/etc/apache2/mods-enabled/dir.conf A etc/docker/web22/config/etc/apache2/mods-enabled/dir.load A etc/docker/web22/config/etc/apache2/mods-enabled/env.load A etc/docker/web22/config/etc/apache2/mods-enabled/filter.load A etc/docker/web22/config/etc/apache2/mods-enabled/mime.conf A etc/docker/web22/config/etc/apache2/mods-enabled/mime.load A etc/docker/web22/config/etc/apache2/mods-enabled/mpm_prefork.conf A etc/docker/web22/config/etc/apache2/mods-enabled/mpm_prefork.load A etc/docker/web22/config/etc/apache2/mods-enabled/negotiation.conf A etc/docker/web22/config/etc/apache2/mods-enabled/negotiation.load A etc/docker/web22/config/etc/apache2/mods-enabled/perl.load A etc/docker/web22/config/etc/apache2/mods-enabled/reqtimeout.conf A etc/docker/web22/config/etc/apache2/mods-enabled/reqtimeout.load A etc/docker/web22/config/etc/apache2/mods-enabled/setenvif.conf A etc/docker/web22/config/etc/apache2/mods-enabled/setenvif.load A etc/docker/web22/config/etc/apache2/mods-enabled/status.conf A etc/docker/web22/config/etc/apache2/mods-enabled/status.load A etc/docker/web22/config/etc/apache2/ports.conf A etc/docker/web22/config/etc/apache2/sites-available/000-default.conf A etc/docker/web22/config/etc/apache2/sites-available/default-ssl.conf A etc/docker/web22/config/etc/apache2/sites-enabled/dreamwidth.conf A etc/docker/web22/config/etc/varnish/dreamwidth.vcl A etc/docker/web22/scripts/setup.sh A etc/docker/web22/scripts/startup-dev.sh A etc/docker/web22/scripts/startup-prod.sh

Log Message:


Move canary to ubuntu 22.04

This builds canary (ONLY) on the base22 image, which we use for shop, so we can start testing and make sure that Ubuntu 22.04 works with the main service.

To unsubscribe from these emails, change your notification settings at https://github.com/dreamwidth/dreamwidth/settings/notifications

Profile

venta: (Default)
venta

December 2025

S M T W T F S
 123456
78910111213
14151617181920
212223 24252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 19th, 2026 12:33 am
Powered by Dreamwidth Studios