Codeship-services.yml does not fully support ports directive (/udp)

services
jet

#1

In docker-compose.yml it’s possible to expose ports such as

statsd:
  build: ./docker/statsd/
  ports:
    - "8125:8125/udp"

In jet I get:

strconv.ParseInt: parsing "8125/udp": invalid syntax

So you seem to be splitting on the : and doing a ParseInt and I think that’s going to break for some of the other port formats docker supports too, such as port ranges:

1234-1236:1234-1236

the /udp syntax has been in docker since 2014 (http://stackoverflow.com/a/27596415/202168) so I think it’s not a compose v2 feature.


#2

Hey, there -

You are correct that we are not parsing this correctly at the moment. Thanks for bringin this to our attention.

We will have this resolved once we begin to roll out V2 support upcoming.


#3

@Ethan_Jones any updates? It’s been 4-5 months.


#4

hi @Brian_Henderson i’m afraid it’ll take a bit longer yet, before we get to adding networking support.
It is on our near-term list, but behind a couple of other larger changes. My best guess at the moment is late summer.


#5

Hi,

Any update on this? I wanted to run “kubectl proxy” for other services in the build to access cluster - and found that exposing ports is not implemented.


#6

Hey, there -

No update as of now. I will keep you posted as we look at this over the next month and determine viability and ETA.


#7

Hey, there -

To provide an update, this has now been changed a bit. With a recent release (https://blog.codeship.com/isolated-networks-container-discoverability-and-code-upgrades-at-codeship/) we have fully depracated host port usage and you will now see an error in build logs accordingly.


#8

@Ethan_Jones - I don’t see any concerns with the deprecated host port usage in the Codeship hosted build environment however for local debugging this concerns me.

A subset of our tests rely on a selenium/chrome-standalone container.

Locally we occasionally run selenium/chrome-standalone-debug so that we can see and debug test failures via vnc.

If i correctly understand the deprecation this will no longer be possible.

Thoughts?


#9

Hey, there -

You can definitely still use Selenium, just without mapping a host port.

The other part of the release is the isolated, per-step networks which mean containers are bidirectionally discoverable by default now!

If you have any issues with it, just let me know.