# config

Published articles for config.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Unlock a LUKS root over SSH on Fedora and Red Hat Enterprise Linux

DevFeed: [Unlock a LUKS root over SSH on Fedora and Red Hat Enterprise Linux](<https://devfeed.tech/articles/unlock-a-luks-root-over-ssh-on-fedora-and-red-hat-enterprise-linux-12355.md>)

Original publisher: [Read original article](<https://developers.redhat.com/articles/2026/09/11/unlock-a-luks-root-over-ssh-on-fedora-and-red-hat-enterprise-linux>)

Author: Josephine Pfeiffer

Published: 2026-09-11T13:01:51Z

Content type: tutorial

Language: en

Sources: [Red Hat](<https://devfeed.tech/sources/red-hat.md>), [Red Hat Developer](<https://devfeed.tech/sources/red-hat-developer.md>)

Topics: [Fedora](<https://devfeed.tech/topics/fedora.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [OpenSSH](<https://devfeed.tech/topics/openssh.md>), [ssh](<https://devfeed.tech/topics/ssh.md>), [systemd](<https://devfeed.tech/topics/systemd.md>), [datacenter](<https://devfeed.tech/topics/datacenter.md>), [Network](<https://devfeed.tech/topics/network.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [config](<https://devfeed.tech/tags/config.md>), [datacenter](<https://devfeed.tech/tags/datacenter.md>), [developer](<https://devfeed.tech/tags/developer.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [linux](<https://devfeed.tech/tags/linux.md>), [network](<https://devfeed.tech/tags/network.md>), [red-hat](<https://devfeed.tech/tags/red-hat.md>), [remote](<https://devfeed.tech/tags/remote.md>), [rhel](<https://devfeed.tech/tags/rhel.md>), [server](<https://devfeed.tech/tags/server.md>), [ssh](<https://devfeed.tech/tags/ssh.md>), [systemd](<https://devfeed.tech/tags/systemd.md>)

### AI overview

This tutorial explains how to unlock an encrypted LUKS root remotely over SSH on Fedora and Red Hat Enterprise Linux. It describes adding NetworkManager and an SSH server to the dracut initramfs, configuring networking, rebuilding the initramfs, and using the rd.neednet=1 kernel argument.

### Source excerpt

An encrypted server in a datacenter reboots and stops in the initramfs, waiting for a passphrase at a console nobody is sitting at. 3 commands and a kernel argument get NetworkManager and sshd into a Fedora or Red Hat Enterprise Linux (RHEL) initramfs, so a remote server with an encrypted root can be unlocked over the network. The post Unlock a LUKS root over SSH on Fedora and Red Hat Enterprise Linux appeared first on Red Hat Developer.

## 【kube-apiserver】运维与升级：HA、flags、graceful shutdown 与 etcd 联检

DevFeed: [【kube-apiserver】运维与升级：HA、flags、graceful shutdown 与 etcd 联检](<https://devfeed.tech/articles/kube-apiserver-ha-flags-graceful-shutdown-etcd-33970.md>)

Original publisher: [Read original article](<https://quant67.com/post/apiserver/14-ops-upgrade/14-ops-upgrade.html>)

Author: Liao Tonglang

Published: 2026-08-28T00:00:00Z

Content type: tutorial

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apiserver](<https://devfeed.tech/tags/apiserver.md>), [audit](<https://devfeed.tech/tags/audit.md>), [backend](<https://devfeed.tech/tags/backend.md>), [config](<https://devfeed.tech/tags/config.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [flag](<https://devfeed.tech/tags/flag.md>), [graceful-shutdown](<https://devfeed.tech/tags/graceful-shutdown.md>), [ha](<https://devfeed.tech/tags/ha.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [leader-election](<https://devfeed.tech/tags/leader-election.md>), [load-balancer](<https://devfeed.tech/tags/load-balancer.md>), [operations](<https://devfeed.tech/tags/operations.md>), [retry](<https://devfeed.tech/tags/retry.md>), [servers](<https://devfeed.tech/tags/servers.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [v1-30-3](<https://devfeed.tech/tags/v1-30-3.md>)

### AI overview

This Chinese-language operations tutorial explains kube-apiserver high availability and upgrades for Kubernetes v1.30.3. It clarifies that multiple apiserver instances run concurrently without internal leader election, sharing an etcd cluster, and covers key flags, graceful shutdown, encryption configuration, audit webhooks, upgrade checks, and version-skew guidance.

### Source excerpt

kube-apiserver 高可用模式：多实例共享 etcd、无需内部 leader election；核心 flag 语义（--etcd-servers、--etcd-servers-overrides、--shutdown-delay-duration、encryption-provider-config）；与 etcd/14 的联合升级检查单；Kubernetes 版本偏差策略与 etcd 矩阵指针。

## Six Heroku CLI Commands for Improving Terminal Workflows

DevFeed: [Six Heroku CLI Commands for Improving Terminal Workflows](<https://devfeed.tech/articles/6-lesser-known-heroku-cli-commands-you-probably-aren-t-using-26361.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/6-lesser-known-heroku-cli-commands/>)

Author: Andy Smith

Published: 2026-08-25T16:28:53Z

Content type: tutorial

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Heroku](<https://devfeed.tech/topics/heroku.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [code productivity](<https://devfeed.tech/topics/code-productivity.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [commands](<https://devfeed.tech/tags/commands.md>), [config](<https://devfeed.tech/tags/config.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [ecosystem](<https://devfeed.tech/tags/ecosystem.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [heroku-postgres](<https://devfeed.tech/tags/heroku-postgres.md>), [productivity](<https://devfeed.tech/tags/productivity.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [tools](<https://devfeed.tech/tags/tools.md>), [variables](<https://devfeed.tech/tags/variables.md>)

### AI overview

This tutorial presents six Heroku CLI commands intended to reduce context switching and improve terminal-based workflows. The supplied content discusses exporting app configuration for local environments and checking active Heroku Postgres database queries, while warning about production configuration handling and credential leaks.

### Source excerpt

Improving developer experience in the command line relies on minimizing context switches. While most engineers use the Heroku CLI strictly for basic tasks like pushing code, it contains a powerful suite of command line tools built to optimize your workflow. If you want to keep your focus locked on writing code, these six Heroku CLI commands will instantly upgrade your daily productivity. The post 6 Lesser-Known Heroku CLI Commands You Probably Aren't Using appeared first on Heroku.

## Environment variables now use Config and Secret types

DevFeed: [Environment variables now use Config and Secret types](<https://devfeed.tech/articles/environment-variables-now-use-config-and-secret-types-917.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/environment-variables-now-use-config-and-secret-types>)

Author: Brooke Mosby

Published: 2026-08-24T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [configuration](<https://devfeed.tech/topics/configuration.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>), [Security](<https://devfeed.tech/topics/security.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [API keys](<https://devfeed.tech/topics/api-keys.md>), [passwords](<https://devfeed.tech/topics/passwords.md>)

Tags: [config](<https://devfeed.tech/tags/config.md>), [development](<https://devfeed.tech/tags/development.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [passwords](<https://devfeed.tech/tags/passwords.md>), [policy](<https://devfeed.tech/tags/policy.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [security](<https://devfeed.tech/tags/security.md>), [tokens](<https://devfeed.tech/tags/tokens.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel now uses Config and Secret types for environment variables instead of the Sensitive toggle. Config values remain readable to authorized members, while Secret values remain available to deployments but cannot be viewed or retrieved after saving. The update also introduces a policy for separating Production secret values and adds CLI support through visibility settings.

### Source excerpt

When you add or edit an environment variable in Vercel, you now choose Config or Secret instead of using the Sensitive toggle. Existing variables marked Sensitive are automatically treated as Secrets and continue to work without migration. Config: The value remains readable after saving for members with access. Use Config for non-sensitive values you may need to inspect later, such as variables with a public framework prefix. Secret: The value remains available to your deployments and can be replaced, but members cannot view or retrieve it after saving. Use Secret for passwords, API keys, and tokens. You can select an environment or Preview branch for each value. The environment variable list in the dashboard shows each variable's type and where it applies. Team policy changes The Enforce Sensitive Environment Variables team policy is deprecated with this update. When enabled, it required every environment variable created by a team member to be Sensitive, including non-sensitive configuration. With Config and Secret types, members can choose the appropriate type for each variable. A new Separate Production Secret Values policy is available in your Security settings. When enabled, the Production value for a Secret must differ from the values used for the same key in Preview, Development, and custom environments. If your team had the legacy policy enabled, confirm whether the Separate Production Secret Values policy should be enabled for your team. The deprecated policy is no longer enforced by the Vercel CLI. Set variable types from the CLI To choose whether an environment variable is a Config or Secret from the CLI, pass --visibility config or --visibility secret to vercel env add or vercel env update: The existing flags continue to work. When --visibility is omitted, --no-sensitive maps to Config and --sensitive maps to Secret. After adding or updating a variable, the CLI output shows its type under Visibility. Learn more in the Environment Variables documentation

## nixos-telemetry: A NixOS flake for opt-in observability pipelines

DevFeed: [nixos-telemetry: A NixOS flake for opt-in observability pipelines](<https://devfeed.tech/articles/nixos-telemetry-flake-31359.md>)

Original publisher: [Read original article](<https://discourse.nixos.org/t/nixos-telemetry-flake/79704>)

Author: palo

Published: 2026-08-23T08:27:36Z

Content type: article

Language: en

Sources: [Announcements - NixOS Discourse](<https://devfeed.tech/sources/announcements-nixos-discourse.md>)

Topics: [telemetry](<https://devfeed.tech/topics/telemetry.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [log management](<https://devfeed.tech/topics/log-management.md>), [Prometheus](<https://devfeed.tech/topics/prometheus.md>), [Grafana](<https://devfeed.tech/topics/grafana.md>), [Grafana Alloy](<https://devfeed.tech/topics/grafana-alloy.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [collector](<https://devfeed.tech/tags/collector.md>), [config](<https://devfeed.tech/tags/config.md>), [grafana](<https://devfeed.tech/tags/grafana.md>), [grafana-alloy](<https://devfeed.tech/tags/grafana-alloy.md>), [loki](<https://devfeed.tech/tags/loki.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [prometheus](<https://devfeed.tech/tags/prometheus.md>), [telemetry](<https://devfeed.tech/tags/telemetry.md>)

### AI overview

A discussion introduces nixos-telemetry, a NixOS flake that uses an OpenTelemetry collector to connect opt-in scrapers, storage, and visualization components. It supports local stacks, remote forwarding, and fan-out to multiple sinks through a unified option tree.

### Source excerpt

Hi everyone, I'd like to share nixos-telemetry, a NixOS flake that makes setting up observability in your infrastructure easy. An OpenTelemetry collector sits at the center of each machine. Scrapers, storage, and visualization are all opt-in. You enable what you need; the collector wires the pipeline together automatically. Why? Wiring up telemetry in NixOS today means gluing together Telegraf, Prometheus, Loki, Grafana, Alloy, each with its own config format, ports, and inter-service dependencies. nixos-telemetry puts all of that behind a single telemetry.* option tree: Turn on the system with telemetry.enable = true. Every app is opt-in. Nothing starts that you didn't ask for. The collector starts automatically once a complete pipeline exists, a matching source and sink for the same signal type. No sink? It waits. Forward to a remote collector, run a full local stack, or both. Fan-out to multiple sinks is supported. What it looks like Full local stack on one machine: { telemetry.enable = true; telemetry.telegraf.enable = true; # host metrics telemetry.alloy.enable = true; # journald logs telemetry.prometheus.enable = true; # metrics storage telemetry.loki.enable = true; # logs storage telemetry.grafana.enable = true; # visualization (datasources auto-provisioned) } Forward to a remote collector: # machine 1 { telemetry.enable = true; telemetry.telegraf.enable = true; telemetry.opentelemetry.exporter.endpoints.remote = "100.64.0.1:4317"; } # machine 2 { telemetry.enable = true; telemetry.opentelemetry.receiver.endpoint = "0.0.0.0:4317"; } Full option reference: OPTIONS.md Thanks! Regarding Discourse LLM Policy : I must disclose that substantial parts of this project are llm generated. And because I coppied parts of the README in this post, substantial parts of this announcmement too. 27 posts - 7 participants Read full topic

## Incremental backup on AWS Glacier with rustic

DevFeed: [Incremental backup on AWS Glacier with rustic](<https://devfeed.tech/articles/incremental-backup-on-aws-glacier-with-rustic-39783.md>)

Original publisher: [Read original article](<https://anuragbhatia.com/post/2026/08/incremental-backup-on-aws-glacier/>)

Published: 2026-08-19T21:04:01Z

Content type: tutorial

Language: en

Sources: [Personal blog of Anurag Bhatia](<https://devfeed.tech/sources/personal-blog-of-anurag-bhatia.md>)

Topics: [backups](<https://devfeed.tech/topics/backups.md>), [restic](<https://devfeed.tech/topics/restic.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Feathers](<https://devfeed.tech/topics/feathers.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-glacier-deep-archive](<https://devfeed.tech/tags/aws-glacier-deep-archive.md>), [backblaze-b2](<https://devfeed.tech/tags/backblaze-b2.md>), [backup](<https://devfeed.tech/tags/backup.md>), [backups](<https://devfeed.tech/tags/backups.md>), [client](<https://devfeed.tech/tags/client.md>), [config](<https://devfeed.tech/tags/config.md>), [cost](<https://devfeed.tech/tags/cost.md>), [data](<https://devfeed.tech/tags/data.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [encryption-at-rest](<https://devfeed.tech/tags/encryption-at-rest.md>), [incremental](<https://devfeed.tech/tags/incremental.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [password](<https://devfeed.tech/tags/password.md>), [restic](<https://devfeed.tech/tags/restic.md>), [restore](<https://devfeed.tech/tags/restore.md>), [rust](<https://devfeed.tech/tags/rust.md>), [rustic](<https://devfeed.tech/tags/rustic.md>), [s3](<https://devfeed.tech/tags/s3.md>), [snapshots](<https://devfeed.tech/tags/snapshots.md>)

### AI overview

A practical guide to using rustic, a Rust implementation compatible with restic, for incremental backups with AWS Glacier cold storage. It explains keeping backup data in cold storage while maintaining metadata in S3 Standard or Backblaze B2 so snapshots, incremental backups, and targeted restores remain possible.

### Source excerpt

I have been a heavy restic user for several years. In Jan of this year, I tried making restic work with AWS Glacier deep archive but it did not work out. AWS Glacier Deep Archive, for those who may not know, is one of the cheapest storage options, with costs as low as $1/TB, but with very expensive retrieval due to high egress charges from AWS, in addition to retrieval fees, API charges, etc. It can act as a backup of last resort, kind of like insurance if everything else fails, since it costs roughly 1/7th of what Backblaze B2 charges for the same data ($6.95/TB/month). Restic by design is not compatible with Glacier because it stores a mix of data blobs and tree blobs inside /data. Thus, as AWS lifecycle rules move data from S3 Standard to Glacier, basic repo operations start failing. They do have some experimental support as per FAQ, but it did not work out for me when I tried in Jan. A few days back, I came across an open-source project named rustic -- it's a restic implementation in Rust and supports cold storage. The rustic client is compatible with a traditional restic repo. Rustic and cold storage Rustic supports AWS Glacier as well as OVH cold storage. The way it works is: they keep all data in cold storage and a copy of the metadata in hot storage. This additional copy of metadata in hot storage allows operations like incremental backups, viewing snapshots, and requesting restores where only the specific data blobs needed for the restore are pulled from Glacier. This additional hot storage can sit on S3 standard or even Backblaze B2 (which I prefer due to zero API cost). Demo 1) Create repo Let's create two buckets - one in S3 (to store data in Glacier) and one on Backblaze B2 to hold an additional copy of metadata. > rclone mkdir s3:rustic-demo-cold > rclone mkdir b2:rustic-demo-hot 2) Create rustic config profile This file will define the cold and hot repo locations, along with the password file location, restoration command syntax, etc. [repository] repo

## Vim wants you to control, VSCode wants you to consume

DevFeed: [Vim wants you to control, VSCode wants you to consume](<https://devfeed.tech/articles/vim-wants-you-to-control-vscode-wants-you-to-consume-25508.md>)

Original publisher: [Read original article](<https://buttondown.com/hillelwayne/archive/vim-wants-you-to-control-vscode-wants-you-to/>)

Author: Hillel Wayne

Published: 2026-08-18T16:26:05Z

Content type: opinion

Language: en

Sources: [Newsletter feed for Hillel Wayne's Newsletter](<https://devfeed.tech/sources/newsletter-feed-for-hillel-wayne-s-newsletter.md>)

Topics: [Vim](<https://devfeed.tech/topics/vim.md>), [Neovim](<https://devfeed.tech/topics/neovim.md>), [Visual Studio Code](<https://devfeed.tech/topics/visual-studio-code.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Emacs](<https://devfeed.tech/topics/emacs.md>)

Tags: [command-line](<https://devfeed.tech/tags/command-line.md>), [config](<https://devfeed.tech/tags/config.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [vim](<https://devfeed.tech/tags/vim.md>), [vscode](<https://devfeed.tech/tags/vscode.md>)

### AI overview

The article contrasts Vim and Neovim's programmable, state-oriented configuration with VSCode's static configuration and fixed built-in commands. It argues that Vim-based editors provide substantially more direct control over editor behavior, while also requiring more configuration and commitment.

### Source excerpt

Newsletter updates were sporadic in July because of two weddings, two conferences (with two different talks!), and finishing Logic for Programmers. Huge thank you to everybody who bought a copy, as well as for your patience with the schedule. There's some podcast appearances, a conf talk, and a book sale at the end of this post. Newsletter updates will be sporadic in August because I just started my Developer Educator job at Antithesis. I'll have less time to write because I'll be working 40 hour workweeks, about 8 hours of which being actual work and the other 32 being bashing my head against NixOS. NixOS is the standard developer OS at the company. It's also a notoriously difficult distro to learn even for Linux heads, and I'm coming from Windows. The only way I am going to get anywhere is to go all in and commit fully to the NixOS philosophy.1 For one, I'm seeing how long I can last without my customary 2000-line Neovim config. Which immediately raises the question as to why I have 2000 lines of Neovim config. It's because Vim2 (and Emacs) think of configuration in a very different way than more popular editors do. Control and Consumption Say we want to make ctrl+n to save the current file. In VSCode, you put this in keybindings.json: [ { "key": "ctrl+n", "command": "workbench.action.files.save" } ] In Neovim, you put this in init.lua: vim.keymap.set('n', '<c-n>', function() vim.cmd.write() end) Now, a couple of differences to see. First, the VSCode example is invoking a fixed, built-in command, while Neovim can bind an arbitrary function. Second, in VSCode you edit a static configuration file with static data, while in Neovim you execute a command that edits the running editor state. In fact, it doesn't even need to be in a configuration file: you can add a new keymap directly from the command line. Though you'd probably instead do that command in the OG Vim way: map <c-n> :w<CR> And that does something different than a function: it makes pressing ctrl+n mean "d

## How Playwright Frameworks get configured with playwright.config.ts

DevFeed: [How Playwright Frameworks get configured with playwright.config.ts](<https://devfeed.tech/articles/how-playwright-frameworks-get-configured-with-playwright-config-ts-22418.md>)

Original publisher: [Read original article](<https://www.tjmaher.com/2026/08/how-playwright-frameworks-get.html>)

Author: T.J. Maher (noreply@blogger.com)

Published: 2026-08-15T02:30:20Z

Content type: tutorial

Language: en

Sources: [T.J. Maher](<https://devfeed.tech/sources/t-j-maher.md>)

Topics: [Playwright](<https://devfeed.tech/topics/playwright.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [browsers](<https://devfeed.tech/tags/browsers.md>), [bun](<https://devfeed.tech/tags/bun.md>), [bun-create-playwright](<https://devfeed.tech/tags/bun-create-playwright.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [config](<https://devfeed.tech/tags/config.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This tutorial examines the playwright.config.ts file generated by `bun create playwright`. It explains default test settings, browser projects for Chromium, Firefox, and WebKit, mobile and branded browser configurations, and how retries differ between local runs and CI/CD pipelines.

### Source excerpt

When we installed bun, a new package manager owned by Anthropic, then ran "bun create playwright", a new automation framework was stood up, along with sample tests, and a Playwright configuration file. In this post, we will be examining the file generated: playwright.config.ts. Personally, I find the pre-generated file very hard to scan... there are so many options and documentation in the comments, it is difficult for me to focus on the code. Let's examine just the code generated below. If you need to see the whole file, you can see it here: https://playwright.dev/docs/test-configuration Playwright.dev / Configuration mentions, "Playwright has many options to configure how your tests are run. You can specify these options in the configuration file". What is Configured By Default? import { defineConfig, devices } from '@playwright/test'; export default defineConfig({ testDir: './tests', fullyParallel: true, forbidOnly: !!process.env.CI, retries: process.env.CI ? 2 : 0, workers: process.env.CI ? 1 : undefined, reporter: 'html', // baseURL: 'http://localhost:3000', /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on-first-retry', }, /* Configure projects for major browsers */ projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'] }, }, { name: 'firefox', use: { ...devices['Desktop Firefox'] }, }, { name: 'webkit', use: { ...devices['Desktop Safari'] }, }, }); I know what you are thinking ... What the heck is process.env.CI ? 2 : 0? This is know as a ternary operator. It is a shorthand for: "If A then B, else C". You can run tests two ways: Locally, on your local machine, or through a CI / CD Pipeline like Jenkins, GitHub Actions, or GitLab. If you are running tests on CI / CD, the process.env.CI would automatically get set. Since A is true, the value of retries would be "2". If you are running tests locally, the process.env.CI would NOT get set. Since A is false, the value "0" would be selected. CI /

## Super-comma-nix: A Rust helper for Nix shell and run commands with sandboxing

DevFeed: [Super-comma-nix: A Rust helper for Nix shell and run commands with sandboxing](<https://devfeed.tech/articles/llm-for-code-super-comma-nix-nix-shell-and-run-helper-with-multiverse-support-sandboxing-and-more-31352.md>)

Original publisher: [Read original article](<https://discourse.nixos.org/t/llm-for-code-super-comma-nix-nix-shell-and-run-helper-with-multiverse-support-sandboxing-and-more/79582>)

Author: ksvivek

Published: 2026-08-14T08:01:27Z

Content type: article

Language: en

Sources: [Announcements - NixOS Discourse](<https://devfeed.tech/sources/announcements-nixos-discourse.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [ci](<https://devfeed.tech/topics/ci.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [ci](<https://devfeed.tech/tags/ci.md>), [code](<https://devfeed.tech/tags/code.md>), [command](<https://devfeed.tech/tags/command.md>), [commands](<https://devfeed.tech/tags/commands.md>), [config](<https://devfeed.tech/tags/config.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [environments](<https://devfeed.tech/tags/environments.md>), [integrations](<https://devfeed.tech/tags/integrations.md>), [runner](<https://devfeed.tech/tags/runner.md>), [rust](<https://devfeed.tech/tags/rust.md>), [shell](<https://devfeed.tech/tags/shell.md>)

### AI overview

Super-comma-nix is a Rust command-runner helper for Nix that shortens common nix shell, nix run, and version-checking commands. It integrates with nix-output-monitor and landrun, supports configurable environment variables, and can produce commands without running them.

### Source excerpt

Hi All super-comma is an ultra-fast, zero-dependency Nix command runner helper written in Rust and powered directly by nixpkgs-multiverse. It is inspired by the project comma nix. But my project is loaded with batteries and much more DX(Developer eXperience). You'll love it. This project makes the consumption easier for nix shell, nix run commands and versions list all with simple handy commands like ,(nix run) ,s(nix shell) ,v(versions checking) . The project have some cool flags and also integrations like nix-output-monitor and landrun for sandboxing all with just few flags. Dont want to type these nom and sandboxing flags verbose? U can add it to env variable for session or globally as like config. Go read the README, you'll love it. Though plenty of features, I sticked to this principle: Simple by default and powerful when needed So learn as u go. Want more integrations? Please feel free to raise an issue Sandboxing is pretty cool, u want to try a software but dont want it to connect to inernet? This project enables some real adhoc shell environments and with the sandboxing etc figure out the possibilities for everyday usage, CI etc The project has zero dependencies for rust. Coz this project just makes u type short commands and the program just does some splitting and joining of strings. So please feel free to unslop some logic written by the LLM there if u think it can be simplified. Skeptic coz LLM(though it'll change in future)? just use the program with -o flag and u can just use the program to give you the final command without running. The Github README is carefully crafted to explain all the features, so take your time there. I'm a nix and nixos user since 2024, so I know some nix and the project design and integration of nom and landrun etc purely my design and idea and instructed the llm with my knowledge. But i'm not having good rust knowledge, so that part is covered by LLM. I wanted to write it with PF languages like haskell etc, but I wanted to qui

## SecretSpec 0.19: Moving and importing secrets between providers

DevFeed: [SecretSpec 0.19: Moving and importing secrets between providers](<https://devfeed.tech/articles/secretspec-0-19-moving-and-importing-secrets-between-providers-31365.md>)

Original publisher: [Read original article](<https://discourse.nixos.org/t/secretspec-0-19-moving-and-importing-secrets-between-providers/79536>)

Author: domenkozar

Published: 2026-08-11T23:15:09Z

Content type: release

Language: en

Sources: [Announcements - NixOS Discourse](<https://devfeed.tech/sources/announcements-nixos-discourse.md>)

Topics: [configuration](<https://devfeed.tech/topics/configuration.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [servers](<https://devfeed.tech/topics/servers.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [config](<https://devfeed.tech/tags/config.md>), [generate](<https://devfeed.tech/tags/generate.md>), [json](<https://devfeed.tech/tags/json.md>), [moving](<https://devfeed.tech/tags/moving.md>), [providers](<https://devfeed.tech/tags/providers.md>), [release](<https://devfeed.tech/tags/release.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [servers](<https://devfeed.tech/tags/servers.md>), [verify](<https://devfeed.tech/tags/verify.md>)

### AI overview

SecretSpec 0.19 introduces provider-specific secret storage layouts, safer imports with verification before deletion, value transformations, configuration stored alongside secrets, ephemeral values and runtime prompts, Passbolt support, and faster remote-provider operations.

### Source excerpt

Hey all, secretspec 0.19 is out with highlights: Provider-specific storage layouts: map one application variable to each provider's native item, field, vault, or path. Safer imports: preflight every source and destination, verify copied values, and only then delete the source. Value transforms: decode Base64 or hexadecimal values and extract fields from JSON documents. Config in secrets: resolve committed, profile-specific configuration alongside provider-backed secrets. Ephemeral values and runtime prompts: generate or securely request values that should exist for only one invocation. Passbolt support: read and write secrets in self-hosted Passbolt servers. Faster remote providers: attach local caches directly to authoritative providers and batch 1Password field reads. Read the full release post: SecretSpec 0.19: Moving and importing secrets between providers | SecretSpec Disclaimer: LLMs have been used 1 post - 1 participant Read full topic

## AGENTS.md vs. skills: How to steer a coding agent

DevFeed: [AGENTS.md vs. skills: How to steer a coding agent](<https://devfeed.tech/articles/agents-md-vs-skills-how-to-steer-a-coding-agent-13348.md>)

Original publisher: [Read original article](<https://circleci.com/blog/agents-md-vs-skills/>)

Author: Jacob Schmitt

Published: 2026-08-11T16:00:00Z

Content type: article

Language: en

Sources: [The CircleCI Blog Feed | CircleCI](<https://devfeed.tech/sources/the-circleci-blog-feed-circleci.md>)

Topics: [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [coding](<https://devfeed.tech/topics/coding.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [anthropic](<https://devfeed.tech/topics/anthropic.md>)

Tags: [ai-development](<https://devfeed.tech/tags/ai-development.md>), [anthropic](<https://devfeed.tech/tags/anthropic.md>), [coding](<https://devfeed.tech/tags/coding.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [config](<https://devfeed.tech/tags/config.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [evals](<https://devfeed.tech/tags/evals.md>), [openai](<https://devfeed.tech/tags/openai.md>)

### AI overview

This article compares AGENTS.md and skills as ways to steer coding agents. AGENTS.md provides always-on repository context, while skills are modular instruction bundles loaded on demand for specialized or procedural tasks. The article recommends using a concise AGENTS.md for stable, broadly applicable guidance and skills for situational procedures, with reproducible evaluations used to determine whether the guidance changes agent behavior.

### Source excerpt

AGENTS.md or skills? The format matters less than whether your steering actually changes agent behavior. Learn how to test agent config with reproducible evals in your pipeline.

## Linux nameservers and DNS Resolution

DevFeed: [Linux nameservers and DNS Resolution](<https://devfeed.tech/articles/linux-nameservers-and-dns-resolution-20869.md>)

Original publisher: [Read original article](<https://linuxblog.io/linux-nameservers-dns-resolution/>)

Author: Hayden James

Published: 2026-08-10T10:56:20Z

Content type: tutorial

Language: en

Sources: [Hayden James](<https://devfeed.tech/sources/hayden-james.md>)

Topics: [Linux](<https://devfeed.tech/topics/linux.md>), [systemd](<https://devfeed.tech/topics/systemd.md>), [Network](<https://devfeed.tech/topics/network.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [config](<https://devfeed.tech/tags/config.md>), [dns](<https://devfeed.tech/tags/dns.md>), [errors](<https://devfeed.tech/tags/errors.md>), [guide](<https://devfeed.tech/tags/guide.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [linux](<https://devfeed.tech/tags/linux.md>), [network](<https://devfeed.tech/tags/network.md>), [security](<https://devfeed.tech/tags/security.md>), [server](<https://devfeed.tech/tags/server.md>), [sysadmins](<https://devfeed.tech/tags/sysadmins.md>), [systemd](<https://devfeed.tech/tags/systemd.md>)

### AI overview

A practical guide to DNS resolution on Linux, covering how /etc/nsswitch.conf and /etc/resolv.conf determine hostname lookup behavior, how systemd-resolved manages resolver configuration, and how to inspect and troubleshoot nameserver failures.

### Source excerpt

A practical guide to DNS resolution on Linux: how /etc/resolv.conf, systemd-resolved, and dig work together, and how to troubleshoot common nameserver failures. Continue reading...

## What your AI SRE can't see (and what you can do about it)

DevFeed: [What your AI SRE can't see (and what you can do about it)](<https://devfeed.tech/articles/what-your-ai-sre-can-t-see-and-what-you-can-do-about-it-11736.md>)

Original publisher: [Read original article](<https://www.gremlin.com/blog/what-your-ai-sre-cant-see-and-what-you-can-do-about-it>)

Author: Ryan Detwiller

Published: 2026-08-06T00:00:00Z

Content type: opinion

Language: en

Sources: [Gremlin Blog](<https://devfeed.tech/sources/gremlin-blog.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [SRE](<https://devfeed.tech/topics/sre.md>), [incident](<https://devfeed.tech/topics/incident.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [availability](<https://devfeed.tech/tags/availability.md>), [config](<https://devfeed.tech/tags/config.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [latency](<https://devfeed.tech/tags/latency.md>), [load-balancer](<https://devfeed.tech/tags/load-balancer.md>), [memory](<https://devfeed.tech/tags/memory.md>), [outage](<https://devfeed.tech/tags/outage.md>), [outages](<https://devfeed.tech/tags/outages.md>), [sre](<https://devfeed.tech/tags/sre.md>)

### AI overview

The article argues that AI SRE tools can speed up triage, reduce alert fatigue, and automate frontline incident response, but they do not solve all reliability problems. It identifies gaps including acting only after failures begin and being unable to predict sudden failures without detectable warning signals.

### Source excerpt

AI SRE is having a moment. And let's be honest: faster triage, less alert fatigue, and automated frontline response are wins for understaffed teams. But there are still five gaps in their capabilities, and if you don't understand those gaps before you deploy, you'll find out during an outage.

## Hpf-passwd: Easily change passwords while using \`hashedPasswordFile\`

DevFeed: [Hpf-passwd: Easily change passwords while using \`hashedPasswordFile\`](<https://devfeed.tech/articles/hpf-passwd-easily-change-passwords-while-using-hashedpasswordfile-31351.md>)

Original publisher: [Read original article](<https://discourse.nixos.org/t/hpf-passwd-easily-change-passwords-while-using-hashedpasswordfile/79254>)

Author: Anomalocaris

Published: 2026-07-31T01:54:54Z

Content type: article

Language: en

Sources: [Announcements - NixOS Discourse](<https://devfeed.tech/sources/announcements-nixos-discourse.md>)

Topics: [passwords](<https://devfeed.tech/topics/passwords.md>), [passwd](<https://devfeed.tech/topics/passwd.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [account](<https://devfeed.tech/topics/account.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [config](<https://devfeed.tech/tags/config.md>), [passwd](<https://devfeed.tech/tags/passwd.md>), [passwords](<https://devfeed.tech/tags/passwords.md>), [script](<https://devfeed.tech/tags/script.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

The author introduces hpf-passwd, a standalone script for changing passwords for NixOS user accounts configured with hashedPasswordFile. It imitates passwd's semantics but is not a complete drop-in replacement and currently lacks features such as password expiration management.

### Source excerpt

For a while, I've used users.users.*.hashedPasswordFile with users.mutableUsers = true to minimize configuration drift. However, as far as I could tell, no one had created a convenient way to set or change these passwords, so I wrote a quick and dirty script and called it a day. More recently, I was reworking this script and realized I could decouple it completely from my config, spin it off into its own project, and polish it up so other people could benefit from it. The result is hpf-passwd. Currently, it's a single script that mainly just lets you change the password of a given user account, provided it has users.users.<username>.hashedPasswordFile set. Befitting its name, it tries to mimic passwd's semantics to try to be intuitive. However, it can never be a 1:1 drop-in replacement. As far as I am aware, there is no way to set things like expiration dates for passwords managed like this. I plan to eventually add some more features, like a chpasswd-style script, and features that ensure all the users with hashedPasswordFile have a password set to help with bootstrapping, but it's currently pretty barebones. However, it is enough for my personal needs at the moment and so I figure it is a good time to get some more eyes on it. github.com GitHub - Anomalocaridid/hpf-passwd: Manage passwords on NixOS systems that use... Manage passwords on NixOS systems that use `hashedPasswordFile` 1 post - 1 participant Read full topic

## Port Product Updates: December 2023

DevFeed: [Port Product Updates: December 2023](<https://devfeed.tech/articles/port-product-updates-december-2023-12283.md>)

Original publisher: [Read original article](<https://www.port.io/blog/port-product-updates-december-2023>)

Author: Dudi Elhadad

Published: 2026-07-30T10:15:06Z

Content type: release

Language: en

Sources: [Developer Experience & Platform Engineering Blog | Port](<https://devfeed.tech/sources/developer-experience-platform-engineering-blog-port.md>)

Topics: [internal developer portal](<https://devfeed.tech/topics/internal-developer-portal.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [API](<https://devfeed.tech/topics/api.md>), [Terraform](<https://devfeed.tech/topics/terraform.md>), [incident management](<https://devfeed.tech/topics/incident-management.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [community](<https://devfeed.tech/tags/community.md>), [config](<https://devfeed.tech/tags/config.md>), [dashboards](<https://devfeed.tech/tags/dashboards.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [incident-management](<https://devfeed.tech/tags/incident-management.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [product](<https://devfeed.tech/tags/product.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [terraform](<https://devfeed.tech/tags/terraform.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

Port's December 2023 product updates introduce engineering scorecard and initiative dashboards, improvements to Kubernetes integration management and visualization, an action-run history widget, new ServiceNow and Terraform Cloud integrations, and a dynamic "Me" table filter.

### Source excerpt

2023 was a breakout year for Port, and these release notes mark the end of a year that was spent making Port better, together with our community.

## Vercel Sandbox supports forking

DevFeed: [Vercel Sandbox supports forking](<https://devfeed.tech/articles/vercel-sandbox-supports-forking-1184.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/vercel-sandbox-supports-forking>)

Author: Harpreet Arora

Published: 2026-07-28T04:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Vercel](<https://devfeed.tech/topics/vercel.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Template](<https://devfeed.tech/topics/template.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [cli](<https://devfeed.tech/tags/cli.md>), [config](<https://devfeed.tech/tags/config.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [fork](<https://devfeed.tech/tags/fork.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [source](<https://devfeed.tech/tags/source.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel Sandbox now supports forking through Sandbox.fork(), allowing a sandbox to be created from the source's latest saved snapshot while inheriting configuration and environment variables. Forks can be used with the SDK or CLI and support overriding inherited parameters.

### Source excerpt

Vercel Sandbox now supports forking with Sandbox.fork(). The fork starts from the source's current snapshot and inherits its config and environment variables. If the source is running, it forks the latest saved state, not the live in-memory state. If the source has no snapshot, it falls back to a fresh create, using the source's runtime and config. Any parameter you pass overrides the inherited value. A fork takes about the same time as creating a sandbox, with the same limits. Use it to branch an agent from a shared base, give each tenant its own copy of a template, or run variations of one setup in parallel. To fork a sandbox with the SDK: To fork a sandbox with the CLI: To get started, upgrade to the latest version: pnpm install @vercel/sandbox@latest # SDK pnpm install -g sandbox@latest # CLI Learn more in the Sandbox documentation. Read more

## How to scale GitOps in the enterprise: From single cluster to fleet management

DevFeed: [How to scale GitOps in the enterprise: From single cluster to fleet management](<https://devfeed.tech/articles/how-to-scale-gitops-in-the-enterprise-from-single-cluster-to-fleet-management-12171.md>)

Original publisher: [Read original article](<https://platformengineering.org/blog/how-to-scale-gitops-in-the-enterprise>)

Author: Artem Lajko

Published: 2026-07-23T05:40:01Z

Content type: tutorial

Language: en

Sources: [Platform Engineering Blog](<https://devfeed.tech/sources/platform-engineering-blog.md>)

Topics: [GitOps](<https://devfeed.tech/topics/gitops.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Git](<https://devfeed.tech/topics/git.md>), [YAML](<https://devfeed.tech/topics/yaml.md>), [flux](<https://devfeed.tech/topics/flux.md>)

Tags: [complexity](<https://devfeed.tech/tags/complexity.md>), [config](<https://devfeed.tech/tags/config.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [developers](<https://devfeed.tech/tags/developers.md>), [git](<https://devfeed.tech/tags/git.md>), [guide](<https://devfeed.tech/tags/guide.md>), [helm](<https://devfeed.tech/tags/helm.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kubectl](<https://devfeed.tech/tags/kubectl.md>), [learn](<https://devfeed.tech/tags/learn.md>), [operational](<https://devfeed.tech/tags/operational.md>), [platform](<https://devfeed.tech/tags/platform.md>), [reconciliation](<https://devfeed.tech/tags/reconciliation.md>), [scale](<https://devfeed.tech/tags/scale.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [secrets-management](<https://devfeed.tech/tags/secrets-management.md>), [workflow](<https://devfeed.tech/tags/workflow.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

This guide explains how to scale GitOps from a single cluster to enterprise fleet management across 50 or more clusters. It focuses on architectural patterns, state store strategies, multi-cluster topology, secrets and policy management, configuration sprawl, repository performance, reconciliation delays, and the organizational discipline required for reliable operations.

### Source excerpt

Learn how to scale GitOps from 1 to 50+ clusters using advanced state store patterns (OCI, ConfigHub), multi-cluster topology, and enterprise secrets/policy management

## GitHub tools are now an installable eve extension

DevFeed: [GitHub tools are now an installable eve extension](<https://devfeed.tech/articles/github-tools-are-now-an-installable-eve-extension-951.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/github-tools-eve-extension>)

Author: Ben Sabic

Published: 2026-07-23T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [GitHub](<https://devfeed.tech/topics/github.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [Code review](<https://devfeed.tech/topics/code-review.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [auth](<https://devfeed.tech/tags/auth.md>), [code](<https://devfeed.tech/tags/code.md>), [config](<https://devfeed.tech/tags/config.md>), [extension](<https://devfeed.tech/tags/extension.md>), [github](<https://devfeed.tech/tags/github.md>), [review](<https://devfeed.tech/tags/review.md>), [scope](<https://devfeed.tech/tags/scope.md>), [tokens](<https://devfeed.tech/tags/tokens.md>), [tool](<https://devfeed.tech/tags/tool.md>), [tools](<https://devfeed.tech/tags/tools.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel introduces GitHub tools as an installable eve extension. The package registers a code-review toolset with connector-backed authentication, scoped short-lived GitHub tokens, configurable presets, approval rules, namespacing, versioning, and import-time schema validation.

### Source excerpt

You can now add GitHub tools to your eve agent as an extension. Add the package, drop one file in agent/extensions/, and your agent gets every tool with Vercel Connect auth, presets, and approval rules built in. Install @github-tools/eve-extension: Then register it from a file in agent/extensions/: Connector-backed auth: Pass a Vercel Connect connector and the extension mints short-lived, scoped GitHub tokens at runtime. Presets scope the toolset: code-review, issue-triage, repo-explorer, ci-ops, and maintainer map to Connect scopes automatically, so tokens carry only the permissions the tools need. Approval rules travel with the config: Every write tool requires approval by default. Gate individual tools with always, once, or an input-dependent predicate, like approving comments only outside your own org. Namespaced and versioned: The filename sets the namespace, so tools run in the agent as github__addPullRequestComment. Upgrade the package to pick up new tools and fixes, and the config schema is validated on import. Get started by creating a GitHub connector and reading the documentation. Read more

## How An Incident Agent Would Handle A Port Incident

DevFeed: [How An Incident Agent Would Handle A Port Incident](<https://devfeed.tech/articles/how-an-incident-agent-would-handle-a-port-incident-12229.md>)

Original publisher: [Read original article](<https://www.port.io/blog/how-ai-would-have-handled-a-real-incident-at-port>)

Author: Zohar Einy

Published: 2026-07-22T11:10:11Z

Content type: article

Language: en

Sources: [Developer Experience & Platform Engineering Blog | Port](<https://devfeed.tech/sources/developer-experience-platform-engineering-blog-port.md>)

Topics: [incident](<https://devfeed.tech/topics/incident.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [DevOps](<https://devfeed.tech/topics/devops.md>), [Slack](<https://devfeed.tech/topics/slack.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [article](<https://devfeed.tech/tags/article.md>), [automation](<https://devfeed.tech/tags/automation.md>), [autonomous](<https://devfeed.tech/tags/autonomous.md>), [building](<https://devfeed.tech/tags/building.md>), [config](<https://devfeed.tech/tags/config.md>), [customer](<https://devfeed.tech/tags/customer.md>), [devops](<https://devfeed.tech/tags/devops.md>), [github](<https://devfeed.tech/tags/github.md>), [incident](<https://devfeed.tech/tags/incident.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [on-call](<https://devfeed.tech/tags/on-call.md>), [production](<https://devfeed.tech/tags/production.md>), [scale](<https://devfeed.tech/tags/scale.md>), [slack](<https://devfeed.tech/tags/slack.md>), [ui](<https://devfeed.tech/tags/ui.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

The article examines a real incident at Port in which three teams independently investigated the same production problem after a customer generated 1.7 million automation runs in 90 minutes. It describes duplicated investigation, ineffective service restarts, fragmented communication, and slow manual coordination, then considers how an incident agent could connect signals and support autonomous resolution.

### Source excerpt

Explore how AI could have handled a real incident at Port, improving response times, automation, and decision-making in production.

## Harness AI Configs for Runtime Controls of AI Behavior

DevFeed: [Harness AI Configs for Runtime Controls of AI Behavior](<https://devfeed.tech/articles/harness-ai-configs-for-runtime-controls-of-ai-behavior-13364.md>)

Original publisher: [Read original article](<https://www.harness.io/blog/announcing-ai-config-management>)

Author: Nico Zelaya

Published: 2026-07-21T00:00:00Z

Content type: article

Language: en

Sources: [Harness Blog](<https://devfeed.tech/sources/harness-blog.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [feature flags](<https://devfeed.tech/topics/feature-flags.md>), [experiments](<https://devfeed.tech/topics/experiments.md>), [Model Routing](<https://devfeed.tech/topics/model-routing.md>), [Inference](<https://devfeed.tech/topics/inference.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [blog](<https://devfeed.tech/tags/blog.md>), [config](<https://devfeed.tech/tags/config.md>), [experimentation](<https://devfeed.tech/tags/experimentation.md>), [inference](<https://devfeed.tech/tags/inference.md>), [policy](<https://devfeed.tech/tags/policy.md>), [routing](<https://devfeed.tech/tags/routing.md>)

### AI overview

Harness AI Config Management provides a governed runtime configuration layer for changing prompts, models, routing, inference parameters, and other AI behavior without redeploying code. It supports targeting, experimentation, approvals, policy controls, versioning, and audit trails.

### Source excerpt

Harness AI Config Management helps teams change prompts, models, and AI behavior at runtime with targeting, experimentation, approvals, policy, and audit trails | Blog

## Chat SDK adds Discord Components V2 support

DevFeed: [Chat SDK adds Discord Components V2 support](<https://devfeed.tech/articles/chat-sdk-adds-discord-components-v2-support-834.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/chat-sdk-adds-discord-components-v2-support>)

Author: Ben Sabic

Published: 2026-07-15T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Discord](<https://devfeed.tech/topics/discord.md>), [Discord bot](<https://devfeed.tech/topics/discord-bot.md>), [Bot](<https://devfeed.tech/topics/bot.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [bots](<https://devfeed.tech/tags/bots.md>), [community](<https://devfeed.tech/tags/community.md>), [components](<https://devfeed.tech/tags/components.md>), [config](<https://devfeed.tech/tags/config.md>), [discord](<https://devfeed.tech/tags/discord.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [release](<https://devfeed.tech/tags/release.md>), [sdk](<https://devfeed.tech/tags/sdk.md>)

### AI overview

Chat SDK now supports Discord Components V2, an opt-in layout system for arranging text, images, files, buttons, and other native Discord components. The release also adds thread renaming, improved global-mention handling, and more precise bot-mention detection.

### Source excerpt

You can now send Discord bot messages with Components V2, an opt-in layout system that treats text, images, files, and buttons as flexible components you can arrange in any order. Set the adapter's contentFormat option to ComponentsV2 and cards render with native containers, sections, media galleries, separators, buttons, and string selects. Embeds remain the default, so existing bots work unchanged. Individual sections can carry their own actions, markdown renders correctly inside components, and the adapter enforces Discord's platform limits for you, including the 40-component cap per message. This release also includes several other Discord adapter improvements: Rename threads: A new setThreadTitle()method renames native Discord thread channels. Your bot needs the Manage Threads permission to use it. Ignore global pings: Bots running in gateway mode no longer treat @everyone and @here announcements as mentions. A new respondToGlobalMentions config option (default false) lets you opt back in. Direct mentions, role mentions, and replies to the bot are unaffected. Precise mention detection: Mentions of similarly named users no longer trigger false matches. A message with @bot-dev no longer counts as a bot tag. Read the documentation to get started or browse the adapter directory. Special thanks to community contributors DeanMauro, onmax, FarazPatankar, and sivchari for laying the groundwork for these improvements. Read more

## Endform joins the Vercel Marketplace

DevFeed: [Endform joins the Vercel Marketplace](<https://devfeed.tech/articles/endform-joins-the-vercel-marketplace-913.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/endform-joins-the-vercel-marketplace>)

Author: Sam Halstead

Published: 2026-07-14T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Vercel](<https://devfeed.tech/topics/vercel.md>), [Playwright](<https://devfeed.tech/topics/playwright.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Traces](<https://devfeed.tech/topics/traces.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [config](<https://devfeed.tech/tags/config.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [flaky](<https://devfeed.tech/tags/flaky.md>), [traces](<https://devfeed.tech/tags/traces.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Endform is now available through the Vercel Marketplace and Vercel CLI. It runs Playwright tests in parallel on isolated machines, integrates with existing tests without configuration changes, links deployment checks to traces in its dashboard, and identifies flaky tests from historical results.

### Source excerpt

Endform is now available on the Vercel Marketplace. It runs your Playwright tests in parallel, so your suite finishes in the time of your slowest test. Key capabilities: Run every test on its own isolated machine Bring your existing Playwright tests with no config changes Get a pass/fail check on every production and preview deployment, linked to full traces in the Endform dashboard Spot flaky tests by tracking results across historical runs Pay only for the test runtime you use Install Endform on the Vercel Marketplace or with the Vercel CLI: vc i endform. Read more

## Deep Dive into SASL PLAIN and SCRAM in Kafka: Login Modules and Config Hot-Reload

DevFeed: [Deep Dive into SASL PLAIN and SCRAM in Kafka: Login Modules and Config Hot-Reload](<https://devfeed.tech/articles/deep-dive-into-sasl-plain-and-scram-in-kafka-login-modules-and-config-hot-reload-11553.md>)

Original publisher: [Read original article](<https://www.confluent.io/blog/kafka-authentication-sasl-plain-scram-config-hot-reload/>)

Author: Pratul Yadav

Published: 2026-07-06T09:43:40Z

Content type: article

Language: en

Sources: [Confluent: Data in motion](<https://devfeed.tech/sources/confluent-data-in-motion.md>)

Topics: [Kafka](<https://devfeed.tech/topics/kafka.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [TLS (Transport Layer Security)](<https://devfeed.tech/topics/tls.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [config](<https://devfeed.tech/tags/config.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [confluent-platform](<https://devfeed.tech/tags/confluent-platform.md>), [credential-theft](<https://devfeed.tech/tags/credential-theft.md>), [cryptographic](<https://devfeed.tech/tags/cryptographic.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [operational](<https://devfeed.tech/tags/operational.md>), [password](<https://devfeed.tech/tags/password.md>), [production](<https://devfeed.tech/tags/production.md>), [tls](<https://devfeed.tech/tags/tls.md>)

### AI overview

This article explains Kafka authentication with SASL PLAIN and SASL SCRAM, focusing on login modules, credential storage, and configuration hot-reload. It compares their security and operational characteristics and describes how hot-reload enables credential changes without restarting brokers.

### Source excerpt

Deep Dive into SASL PLAIN and SCRAM in Kafka: Login Modules and Config Hot-Reload

## Home Assistant timezone and configuration override issues

DevFeed: [Home Assistant timezone and configuration override issues](<https://devfeed.tech/articles/two-nasty-surprises-in-home-assistant-s-config-18922.md>)

Original publisher: [Read original article](<https://blog.frankel.ch/home-assistant/9/>)

Author: Nicolas Fränkel

Published: 2026-07-05T00:00:00Z

Content type: opinion

Language: en

Sources: [Nicolas Fränkel](<https://devfeed.tech/sources/nicolas-frankel.md>)

Topics: [Home Assistant](<https://devfeed.tech/topics/home-assistant.md>), [timezone](<https://devfeed.tech/topics/timezone.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [bug](<https://devfeed.tech/topics/bug.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [YAML](<https://devfeed.tech/topics/yaml.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [config](<https://devfeed.tech/tags/config.md>), [home-assistant](<https://devfeed.tech/tags/home-assistant.md>), [locale](<https://devfeed.tech/tags/locale.md>), [technical](<https://devfeed.tech/tags/technical.md>), [timezone](<https://devfeed.tech/tags/timezone.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

The author describes Home Assistant shutter automations that ran an hour late during summer time because the instance timezone appeared as Paris/+1. Overriding the timezone in configuration removed UI-set settings, requiring all settings to be specified again in YAML.

### Source excerpt

Last year, I motorized the rolling shutters on the southern façade of my apartment. My idea was to manage them via Home Assistant. I had a couple of automations in mind: In the evening, roll down the shutters of my bedroomIn the morning:If it's too hot outside, roll down all shuttersIf it's too cold outside, roll down all shuttersIn other cases, roll up all shutters but my bedroom's Living in France, I added the official Météo France integration.

[Next page](<https://devfeed.tech/tags/config.md?cursor=WyIyMDI2LTA3LTA1VDAwOjAwOjAwKzAwOjAwIiwgIjE0OThkMjY2LTA4OWYtNDczNi1iNzI1LTQ4ODc2NWM1YTZhMyJd>)