KANIF.CONF(5)
π KANIF.CONF β the kanif.conf config file for kanif, bestie edition π
okay so this is the manual page for kanif.conf (manual section 5, if u were wondering), and it's literally just the config file for kanif. sit down, grab a strawberry, we're gonna go through it together π
β¨ NAME β¨
kanif.conf β the configuration file for kanif. that's it, that's the name, she's simple and she knows it π
β¨ SYNOPSIS β¨
$HOME/.kanif.conf, /etc/kanif.conf or /etc/c3.conf
that's the three places she lives. home sweet home, the system-wide one, or the C3 classic π
β¨ DESCRIPTION β¨
okay so kanif.conf is the config file for kanif. it's optional β like, u don't have to use it β and it only exists to help manage static clusters, aka the configs that don't really change much over time. she mimics the syntax of the C3 configuration file, so if u know C3 ur basically already fluent, no cap π
the file is made of a sequence of one or more cluster definitions. each cluster definition is the word cluster, then the cluster name, then a pair of curly braces { } holding everything. and inside those braces u get:
- the front node specification π β and this is either:
- a simple hostname that can be reached from the inside of the cluster (the compute nodes).
- two names separated by a colon. the first name is what u use from the outside to log on the front node (kanif does not use this one), and the second is the name the cluster compute nodes use to reach the front node.
- a hostname with a colon prepended β this one is for indirect clusters, which are not supported by kanif at this time. so, iconic in theory, unusable in practice π
- zero or more compute nodes specifications π¦:
- a simple hostname (basically anything that isn't one of the following forms).
- an host set made of a prefix, a range and a suffix.
- an
excludedirective, which must follow an host set or another exclude directive. it's the wordexcludefollowed, on the same line, by either a single number or an interval between brackets. this applies to the range of the preceding host set. and if the exclusion is an interval, the separator between the wordexcludeand the exclusion itself is optional β choose ur own adventure β¨ - a dead node: the word
deadfollowed by the name of the dead node, on the same line.
β οΈ ok so important notice bestie: all nodes that get excluded (whether via exclude directives or via dead nodes) will not take part in the deployment. BUT β and this is the whole point β they're still taken into account in cluster ranges when u give machine specifications to kanif. they're kind of like placeholders, holding their lil spot in the lineup π«Ά that's literally the reason u'd mark a node as dead or excluded instead of just deleting it from the definitions. u keep the shape of the cluster intact. genius tbh.
π EXAMPLE π
this is the whole thing verbatim, drink it in:
cluster megacluster { # The # character introduce comments
megacluster-dev
megacluster0[1-9]
megacluster[10-64]
}
cluster supercluster {
super-ext:super-int
exclude # The host "exclude"
super[01-99]
exclude 02 # "super02" is excluded
exclude[90-95] # "super90" to "super95" are excluded
dead # The host "dead"
dead othernode # "othernode" is dead
}
see how super-ext:super-int is doing the two-name front node thing? and how the bare exclude and dead lines are literally just hosts named "exclude" and "dead"? yeah. the word only becomes a directive when there's something after it on the same line. she's subtle like that π
π SEE ALSO π
go read those too, they're the friends of this page fr fr
π AUTHOR π
the author of kanif and current maintainer of the package is Guillaume Huard. and shoutout acknowledgements to Lucas Nussbaum for coming up with the idea of the name "kanif" β the name is a whole vibe and we respect it πΈ
β COPYRIGHT β
kanif is provided under the terms of the GNU General Public License version 2 or later. periodt π
and that's the page!! this was perl v5.34.0, dated 2022-07-28 β go configure ur cluster bestie, ur gonna slay πβ¨π¦
π¦ where this page comes from
- debian bookworm: kanif 1.2.2-4 Β· GPL-2.0-or-later
- debian trixie: kanif 1.2.2-4 Β· GPL-2.0-or-later
- ubuntu noble: kanif 1.2.2-4 Β· GPL-2.0-or-later
- ubuntu questing: kanif 1.2.2-4
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms