Skip to content

@ir2proxy-bot ir2proxy-bot released this Jan 10, 2020

We are proud to present the first version of ir2proxy, the IngressRoute to HTTPProxy conversion tool for Contour.

Features

irp2roxy can convert all working IngressRoute features to HTTPProxy features, with some caveats:

  • The Delegation model was changed to Inclusion as part of the change from IngressRoute to HTTPProxy. ir2proxy will do its best to determine how nonroot IngressRoutes should be translated to HTTPProxies, but these should be checked.
  • Healthchecks moved from a service-level construct in IngressRoute to a route-level one in HTTPProxy, so ir2proxy takes the first one it sees.
  • Similarly, Load Balancing Policies moved from a service-level to a route-level construct. ir2proxy will take the first one of these it sees as the route-level one.

In all three of these cases, a warning will be output on stderr and as a comment in the file output by the tool.

Usage

ir2proxy is intended for taking a yaml file containing one or more valid IngressRoute objects, and then outputting translated HTTPProxy objects to stdout.

Logging is done to stderr.

To use the tool, just run it with a filename as input.

$ ir2proxy basic.ingressroute.yaml
---
apiVersion: projectcontour.io/v1
kind: HTTPProxy
metadata:
  name: basic
  namespace: default
spec:
  routes:
  - conditions:
    - prefix: /
    services:
    - name: s1
      port: 80
  virtualhost:
    fqdn: foo-basic.bar.com
status: {}

It's intended mode of operation is in a one-file-at-a-time manner, so it's easier to use it in a Unix pipe.

Installation

Homebrew

Add the ir2proxy tap (located at homebrew-ir2proxy):

brew tap projectcontour/ir2proxy

Then install ir2proxy:

brew install ir2proxy

To upgrade, use

brew upgrade ir2proxy

Non-homebrew

Go to the releases page and download the latest version.

Assets 6
Jan 6, 2020
ir2proxy v0.2.3

@ir2proxy-bot ir2proxy-bot released this Jan 6, 2020 · 6 commits to master since this release

Changelog

f4de395 Update release.yaml to use correct token

Assets 6

@github-actions github-actions released this Jan 6, 2020 · 7 commits to master since this release

Changelog

b73a4f6 Update Github action to use Go 1.13.x :sigh:

Assets 6

@ir2proxy-bot ir2proxy-bot released this Jan 5, 2020 · 8 commits to master since this release

Fixed issues

  • #18 IngressRoute prefix rewrites are not currently handled.
  • #19 nonroot IngressRoutes are not translated at all.
  • #21 Reduce number of released artifacts
  • #25 Warnings should be added to generated YAMLs as well as logged.

Changelog

89d32ef Add Prefix rewrite support
406e015 Add homebrew and reduce generated CPU architectures for release
87a40c8 Add support for nonroot IngressRoutes
317d298 Add warnings to files output by ir2proxy
5ad0441 Document known conversion problems in README
0685914 Fix HTTPProcy capitalization.
0721c64 Update HTTPProxy CRD definitions, and fix tests

Assets 6

@ir2proxy-bot ir2proxy-bot released this Dec 10, 2019 · 15 commits to master since this release

ir2proxy allows you to translate IngressRoute objects to HTTPProxy ones.

Known issues

  • #18 IngressRoute prefix rewrites are not currently handled.
  • #19 nonroot IngressRoutes are not translated at all.

Changelog

57f5f67 Add basic include functionality
a23acbf Add code of conduct and update README
f2e0086 Add goreleaser for releasing
f0e4e52 Add lots of translate functionality, with tests.
37dffbc Add yamllint and fix issues
d98c954 Fix TravisCI link.
cb0d9fc Fix broken README link
1ca4d16 Fix missed PR feedback
1ec2fe5 Initial commit
afda097 Initial commit
ebe6a60 Makefile: remove build -tags
5dc0eab Refactor and add tests
dbef126 Remove createdTimestamp field from all output
67102a2 Rename translate to translator
e782e90 Small main.go update
67fdca5 Update README
c573fe7 Update translate tests to clarify logic
9c63c67 Update with initial test of HTTPProxy conversion
35327a3 translate: Add more functions and tests

Assets 9
You can’t perform that action at this time.