Skip to content

Releases: OpenCHAMI/coresmd

v0.6.1

31 Mar 20:31
v0.6.1
7eb33ce

Choose a tag to compare

Updates

CoreDHCP/CoreSMD

Add netmask/cidr action to set DHCP option 1 (network mask) per-rule. (Also add more unit tests, fixes, and docs updates.)

Rule documentation is now at examples/coredhcp/rules.md.

What's Changed

  • feat(coresmd/coredhcp): add per-rule netmask action (and fixes/docs updates) by @synackd in #59

Full Changelog: v0.6.0...v0.6.1

v0.6.0

30 Mar 14:19
v0.6.0
49e5a33

Choose a tag to compare

Updates

CoreDHCP/CoreSMD

New Rich Rules

Specify DHCP settings to set for specific nodes based on matching specifiers using rule= setting. Logging levels can be specified with rule_log=. See examples/coredhcp/hostnames.md for more details as well as examples/coredhcp/coredhcp*.yaml for examples.

node_pattern and bmc_pattern are deprecated, and are automatically converted to rules if specified in the config file. See here for steps on how to migrate.

What's Changed

  • Add Configurable Hostname Policy Feature based on Component Type for DHCPv4 by @davidallendj in #47
  • chore: add Makefile; REUSE v3.3 compliance, update README by @synackd in #48
  • feat(coredhcp): support config comments by @synackd in #49
  • refactor(coredhcp/coresmd): separate functionality into separate packages by @synackd in #51
  • build(deps): bump github.com/coredns/coredns from 1.13.1 to 1.14.2 by @dependabot[bot] in #54
  • build(deps): bump google.golang.org/grpc from 1.79.1 to 1.79.3 by @dependabot[bot] in #55
  • feat(coredhcp/coresmd): implement flexible hostname policy by @synackd in #52

New Contributors

Full Changelog: v0.5.7...v0.6.0

v0.5.7

23 Feb 17:22
v0.5.7
fc6c997

Choose a tag to compare

What's Changed

Full Changelog: v0.5.6...v0.5.7

v0.5.6

12 Jan 21:52
v0.5.6
b334b09

Choose a tag to compare

What's Changed

  • feat: add DHCPv6 support and enhance documentation for dual-stack configuration by @alexlovelltroy in #41
  • feat(coredns): add header plugin by @synackd in #42

Full Changelog: v0.5.0...v0.5.6

v0.5.0

10 Dec 23:51
v0.5.0
c6e3742

Choose a tag to compare

Updates

CoreDHCP:

bootloop and coresmd Plugins

  • BREAKING CHANGE: New key-value format replaces positional arguments for CoreDHCP plugins.
    • See here for how to migrate to the new format.
    • See here for a full, commented CoreDHCP config.
    • (coresmd) New tftp_port and tftp_dir keys introduced to configure custom TFTP listen port and TFTP server root, respectively.

coresmd Plugin

  • Custom hostname patterns introduced via optional node_pattern, bmc_pattern, and domain keys.
    • Configure custom hostnames for nodes and BMCs using optional placeholders in format strings.
    • See here for detailed documentation on pattern format.
    • See coredhcp.yaml example config for full example.

What's Changed

  • ci: clean and add testing by @synackd in #39
  • feat(coredhcp/coresmd)!: introduce key value config by @synackd in #37
  • feat(coredhcp/coresmd): introduce hostname patterns by @synackd in #38

Full Changelog: v0.4.2...v0.5.0

v0.4.2

10 Dec 17:29
v0.4.2
0fe8859

Choose a tag to compare

What's Changed

  • fix: use fully-qualified container name in Dockerfile; bump CoreDNS to v1.13.1 by @synackd in #31
  • ci: add container builds for PRs by @synackd in #32
  • refactor: reorganize repo and fix auto-building PR containers by @synackd in #35
  • hotfix: remove coredns go.mod and fix repo go.mod by @synackd in #36
  • feat(coredns): add ipv6 support by @alexlovelltroy in #33

Full Changelog: v0.4.1...v0.4.2

v0.4.1

02 Dec 21:30
v0.4.1
da7fe8f

Choose a tag to compare

What's Changed

  • feat: add k8s_gateway plugin to coredns by @rainest in #29

Full Changelog: v0.4.0...v0.4.1

v0.4.0

29 Aug 17:14
v0.4.0
ca34fe0

Choose a tag to compare

Updates

Container Name Change

Instead of the container's path being ghcr.io/openchami/coredhcp, it is now ghcr.io/openchami/coresmd. Pull this version via:

podman pull ghcr.io/openchami/coresmd:v0.4.0

This name change is because CoreSMD now supports CoreDNS in addition to CoreDHCP and uses the same image for both.

New CoreDNS Plugin

CoreDNS functionality is now here!

This can be hooked into an existing OpenCHAMI installation. For instance, use the following quadlet:

[Unit]
Description=The coredns container
Wants=haproxy.service
After=haproxy.service
PartOf=openchami.target

[Container]
ContainerName=coredns

HostName=coresmd
Image=ghcr.io/openchami/coresmd:v0.4.0

Exec=/coredns

#Capabilities
AddCapability=NET_ADMIN
AddCapability=NET_RAW

# Volumes
Volume=/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem:/root_ca/root_ca.crt:ro,Z
Volume=/opt/shared/coresmd/Corefile:/Corefile

# Networks for the Container to use
Network=host

# Unsupported by generator options
# Proxy settings
PodmanArgs=--http-proxy=false

[Service]
Restart=always

Example Corefile (/opt/shared/coresmd/Corefile in quadlet above):

# Basic CoreSMD CoreDNS Configuration
# This configuration provides DNS resolution for OpenCHAMI cluster components

.:53 {
    ready
    bind 172.16.0.254
    coresmd {
        smd_url https://demo.openchami.cluster:8443
        ca_cert /root_ca/root_ca.crt
        cache_duration 30s
        zone openchami.cluster {
            nodes de{03d}
        }
    }
    prometheus 0.0.0.0:9153
    forward . 8.8.8.8
}

With the above:

  • Resolve nodes using NID:
    $ dig @172.16.0.254 re002.openchami.cluster
    de002.openchami.cluster.     60      IN      A       172.16.0.2
    
  • Resolve nodes via xname:
    $ dig @172.16.0.254 x3000c0s0b1n0.openchami.cluster
    x3000c0s0b1n0.openchami.cluster. 60  IN      A       172.16.0.2
    
  • Reverse lookup a node's IP:
    $ dig @172.16.0.254 -x 172.16.0.2
    2.0.16.172.in-addr.arpa. 60     IN      PTR     x3000c0s0b1n0.openchami.cluster.
    
  • Resolve BMCs via xname:
    $ dig @172.16.0.254 x3000c0s0b1.openchami.cluster
    x3000c0s0b1.openchami.cluster. 60    IN      A       172.16.0.102
    
  • Reverse lookup a BMC's IP:
    $ dig @172.16.0.254 -x 172.16.0.102
    102.0.16.172.in-addr.arpa. 60   IN      PTR     x3000c0s0b1.openchami.cluster.
    

What's Changed

Full Changelog: v0.3.1...v0.4.0

v0.3.1

27 May 16:12
v0.3.1
7e526a7

Choose a tag to compare

What's Changed

  • Update README.md by @yogi4 in #16
  • build(docker): add dhcping to container by @synackd in #23
  • ci: use GitHub release notes and release as draft by @synackd in #24

New Contributors

  • @yogi4 made their first contribution in #16

Full Changelog: v0.3.0...v0.3.1

v0.3.0

08 Jan 19:51
v0.3.0
ba9b7bc

Choose a tag to compare

Changelog

  • ba9b7bc Merge pull request #15 from OpenCHAMI/synackd/fix-version