Skip to content

Make listener address configurable & Add support for IPv6#405

Merged
mbecker20 merged 3 commits intomoghtech:1.17.1from
vosdev:add-ipv6-support
Apr 14, 2025
Merged

Make listener address configurable & Add support for IPv6#405
mbecker20 merged 3 commits intomoghtech:1.17.1from
vosdev:add-ipv6-support

Conversation

@vosdev
Copy link
Contributor

@vosdev vosdev commented Apr 11, 2025

This PR makes the listener address configurable for both Core and Periphery through the following env vars:

CORE_LISTENER_ADDRESS
PERIPHERY_LISTENER_ADDRESS

But the main purpose of this PR is to add support for IPv6.

Before:

ss -tulpn | grep 120
tcp   LISTEN 0      1024              0.0.0.0:9120       0.0.0.0:*    users:(("core",pid=4694,fd=13))          
tcp   LISTEN 0      1024              0.0.0.0:8120       0.0.0.0:*    users:(("periphery",pid=4702,fd=10))

After:

ss -tulpn | grep 120
tcp   LISTEN 0      1024                      *:8120             *:*    users:(("periphery",pid=163028,fd=9))    
tcp   LISTEN 0      1024                      *:9120             *:*    users:(("core",pid=163036,fd=15))

Fixes #313

@mbecker20 mbecker20 changed the base branch from main to 1.17.1 April 12, 2025 21:13
Copy link
Member

@mbecker20 mbecker20 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! I've just updated it to merge to 1.17.1 branch so I can include it in the next release.

I do have a change to request, I think the name listener_address may lead to some confusion about what this does, and may lead to users inputing their server's local IP address or something like that. I think my preferred term is bind_ip. This more closely matches the mongo configuration for example, they use bindIp for this: https://www.mongodb.com/docs/manual/reference/configuration-options/#net-options.

I also left a couple comments clarifying the inline docs.

@vosdev
Copy link
Contributor Author

vosdev commented Apr 14, 2025

Made the requested changes :)

Copy link
Member

@mbecker20 mbecker20 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect, thanks!

@mbecker20 mbecker20 merged commit df153dd into moghtech:1.17.1 Apr 14, 2025
@mbecker20 mbecker20 mentioned this pull request Apr 14, 2025
mbecker20 added a commit that referenced this pull request Apr 14, 2025
* interpolate into slack / discord url

* fix js client docs

* js client should be type: module

* click table tags to toggle tag filter

* git token helper early return when empty provider

* reorder Stack fields

* action support interpolation doc

* Fix for the {account} login fails when the account name contains '$' (#385)

* GetDeploymentsSummary (#386)

* added GetDockerContainersSummary endpoint in rust api

* typescript stuff

* more autogenned typescript stuff

* fixed comments to be in line with actual behaviour

* fixed ReadResponse for GetDockerContainersSummary

* I64 -> u32 for response types

* more accurate error context

* backend for build files on host / ui defined

* core api supports non repo based build

* Ntfy as Alerter (#404)

* add ntfy alerter

* add ntfy alerter

* add ntfy alerter

---------

Co-authored-by: GFXSpeed <github@schafhaupt.com>

* Improve docs around running periphery in a container (#402)

* Add ports that need to be exposed if periphery is remote from core

* Spelling: overide -> override

* Add info about using a custom config file when running periphery in docker

* clean up ntfy alerter

* clean up ResourceSyncConfig

* update build cache after create / update

* refresh stack cache log

* Build UI Defined / file on host frontend

* update clap + rustls

* don't cleanup build files

* clean up dockerfile full path

* update BuildListItemInfo + UI table

* add Other Resources page

* add 5 second ws reconnection timeout

* Make listener address configurable & Add support for IPv6 (#405)

* Make listener address configurable

* Make listener address configurable for periphery

* rename listener_address -> bind_ip

---------

Co-authored-by: Jacky Fong <hello@huzky.dev>
Co-authored-by: Alex Shore <kntrllr@gmail.com>
Co-authored-by: Niklas <108990063+GFXSpeed@users.noreply.github.com>
Co-authored-by: GFXSpeed <github@schafhaupt.com>
Co-authored-by: theRAAPster <theraapster@gmail.com>
Co-authored-by: Daniel Vos <45820840+vosdev@users.noreply.github.com>
@Fisiu
Copy link

Fisiu commented Jun 8, 2025

@vosdev, why did you make IPv6 as default?
As a result, you may encounter errors:

komodo-periphery  | 2025-06-08T14:21:58.222636Z  INFO periphery: Komodo Periphery starting on https://[::]:8120
komodo-periphery  | Error: Address family not supported by protocol (os error 97)
komodo-core       | 2025-06-08T14:21:55.535186Z  INFO core: Komodo Core starting on http://[::]:9120
komodo-core       | Error: failed to start http server
komodo-core       | 
komodo-core       | Caused by:
komodo-core       |     Address family not supported by protocol (os error 97)

With IPv6 as the default, users must adjust their configurations to include the KOMODO_BIND_IP and PERIPHERY_BIND_IP environment variables. Adding these to the .env file is straightforward, but the setup documentation does not cover this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

core & periphery only listen on IPv4, not IPv6

3 participants