Migrate the Chef repo to Cinc Workstation #692

Merged
raucao merged 13 commits from chore/cinc into master 2026-11-04 10:00:08 +00:00
13 Commits
Author SHA1 Message Date
raucao d256f7c865 Merge remote-tracking branch 'origin/master' into chore/cinc
# Conflicts:
#	AGENTS.md
#	site-cookbooks/kosmos_gitea/CHANGELOG.md
2026-11-04 13:55:42 +04:00
raucao 11afecdff8 Merge pull request 'Use an isolated network per Gitea Actions job' (#694) from fix/gitea-actions-network into chore/cinc
Reviewed-on: #694
2026-11-03 16:48:04 +00:00
raucao 8a60ef2aea Use an isolated network per Gitea Actions job
Job containers were pinned to a single shared `gitea-actions` bridge
network, added with the Actions cache to give service containers DNS and a
fixed gateway for the built-in cache server. Because every job of every run
attached to that one network, concurrent jobs' service containers collided
on hostnames: two simultaneous jobs that both expose a `redis` service meant
either could resolve the other's container, causing intermittent cross-job
CI failures that vanished when runs did not overlap.

Set `container.network` back to empty so the runner auto-creates an isolated
user-defined network per job. Embedded DNS still works on each per-job
network, so service containers remain reachable by name, but jobs can no
longer resolve each other's containers.

`cache.host` is left empty for auto-detection; the runner here is a host
binary (systemd), not containerized, so the detected address is reachable
from job containers. The cache port stays fixed per runner. The cache
firewall rule now allows Docker's default address pool (172.16.0.0/12)
because per-job subnets are dynamic, and the now-unused `gitea-actions`
network is removed on converge once idle.
2026-11-03 20:46:50 +04:00
raucao 3883fbc3e5 Update nodes 2026-11-02 12:05:40 +04:00
raucao a96a49c633 Cinc Client: install the current stable release, not a floating pin
The migration script installed Cinc with no version, which floated and
triggered omnitruck's "You are installing a package without a version pin"
warning. Pass -v latest so omnitruck resolves the current stable build for
the node's platform (20.04 -> 19.2.12, 22.04+/24.04/26.04 -> 19.4.46) and
the warning is suppressed. Document the behavior in the README.

Drop the stale chef_version: 18.2.7 pins from the Test Kitchen suites:
dokken defaults chef_version to "latest", so passing -v is what actually
tracks the current stable client.

Add the missing provisioner.product_name: cinc to the deno and strfry
submodule suites so they run Cinc instead of the license-gated Chef Infra
Client.

Submodule pointers:
  site-cookbooks/deno   3795c9e -> c78bc66
  site-cookbooks/strfry 9c04b39 -> 8107b1e
2026-11-02 11:38:19 +04:00
raucao 7de46b6115 nodes: track mail.kosmos.org after the Cinc Client migration 2026-11-01 23:15:22 +04:00
raucao 5f4c902e95 nodes: track garage-11 after the Cinc Client migration
Points the submodule at the re-converged garage-11 node object (Cinc
Client 19.4.46). Normal attributes (knife_zero, vm_host) are unchanged.
2026-11-01 18:42:19 +04:00
raucao 87d4305c0d scripts: add migrate_node_to_cinc.sh
One-shot, idempotent helper that prepares an existing (Chef) node for
Cinc Workstation management: installs Cinc Client, points /etc/cinc at
the existing /etc/chef config, drops the deprecated attribute lists, and
pre-seeds the allowed_* attribute lists so the first converge does not
filter node attributes (e.g. vm_host). The node can then be converged as
usual. Verified against drone-1.
2026-11-01 18:35:44 +04:00
raucao f2b4834112 nodes: track drone-1 after the Cinc Client migration
Points the submodule at the re-converged drone-1 node object (Cinc
Client 19.2.12). The node's normal attributes (knife_zero, vm_host)
are unchanged.
2026-11-01 18:28:56 +04:00
raucao fd21e09342 test-kitchen: fix Berksfiles and the rskj pin; document open tasks
- kosmos_email: add the missing Berksfile so its declared dependencies
  (hostname/unbound/postfix) resolve
- kosmos_garage: add local path deps for the internal cookbooks so
  Berkshelf stops fetching them from Supermarket
- kosmos_rsk: bump rskj to 9.0.4~<codename> (current ppa:rsksmart/rskj
  build) and update the matching InSpec assertion; suite now passes 9/9
- document the remaining suite work in doc/test-kitchen-open-tasks.md
2026-11-01 18:28:54 +04:00
raucao f6b9d55c58 test-kitchen: provision Cinc Client instead of Chef Infra Client
Set `product_name: cinc` on the dokken provisioner so kitchen-dokken
uses cincproject/cinc and skips the Chef license prompt, and pin
chef_version where it was missing.
2026-11-01 18:28:50 +04:00
raucao b9e16876f9 Remove Vagrant and the vagrant-based Test Kitchen suites
The root Vagrantfile used the license-gated chef_zero provisioner, and
Vagrant's built-in chef provisioner cannot provision Cinc. The
kosmos-bitcoin suite converged nothing (no run_list) and tor-full
targeted long-EOL platforms, so drop both rather than port them.
2026-11-01 18:28:46 +04:00
raucao 470dcb82ee Migrate the Chef repo to Cinc Workstation
Cinc Workstation replaces Chef Workstation for driving knife-zero and
Test Kitchen; nodes run (or are moving to) Cinc Client.

- Pin .ruby-version to cinc-workstation
- Move knife config from .chef/ to .cinc/ (Cinc's USER_CONF_DIR) and
  update .gitignore, README, AGENTS and docs accordingly. On-node config
  now lives in /etc/cinc
- Drop the Gemfile/Gemfile.lock; install knife-zero into Cinc
  Workstation's user gem dir with `cinc gem install knife-zero`
- README: rewrite setup/usage for Cinc Workstation
- scripts/postgresql/switch_primary.sh: drop `bundle exec`
2026-11-01 18:28:44 +04:00