Giter Club home page Giter Club logo

ir2proxy's People

Contributors

davecheney avatar jpeach avatar miciah avatar stevesloka avatar youngnick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ir2proxy's Issues

Update CRD versions

We should update the HTTPProxy CRD spec, it will mean that no empty status: {} fields are output, now that there is a status subresource.

Empty status field on HTTPProxy objects fails CRD validation

From @moderation:

The empty status: {} stanza at the end of a converted IngressRoute object causes the following deployment failures in our environment:

error: error validating "kube\\kustomize\\overlays\\local": error validating data: [ValidationError(HTTPProxy.status): missing required field "currentStatus" in io.projectcontour.v1.HTTPProxy.status, ValidationError(HTTPProxy.status): missing required field "description" in io.projectcontour.v1.HTTPProxy.status]; if you choose to ignore these errors, turn validation off with --validate=false

YAML output includes `currentTimestamp` field

The YAML output of the HTTPProxy includes the currentTimestamp field, although we don't initialise it, so it should be set to a zero value. By the ObjectMeta spec, this field should not be set by users (it will actually be thrown away by kubectl apply, I think).

This issue is to look into either:

  • Changing the YAML marshaller to a Kubernetes one that doesn't do this
  • Some other way of filtering this field.

Reduce CPU architectures for released artifacts

The goreleaser artifacts include both i386 and x86_64 builds for Windows, Linux and macOS. i386 isn't a working architecture for macOS, and I'd bet that x86_64 is sufficient for the other platforms.

Handle non-root IngressRoutes

Currently, ir2proxy does not handle non-root IngressRoute objects.

The issue here is that IngressRoute objects contain the full path, including any delegation prefixes, while HTTPProxy objects don't. So we need a way to guess at what the include path for a non-root IngressRoute was.

I suspect a largest common substring across all prefixes in an Ingressroute may work, but will need to experiment to check.

TCPProxy support does not work

Logged by @slguarderas in projectcontour/contour#2564:

When using the conversion tool, it failed to migrate the tcpproxy portion of the IngressRoute.

Here is the input:

---
apiVersion: contour.heptio.com/v1beta1
kind: IngressRoute
metadata:
  name: tls-edge-terminate-prometheus-k8s-thanos
spec:
  virtualhost:
    fqdn: "tls-edge-terminate-prometheus-k8s-thanos{{ domain_apps }}"
    tls:
      secretName: "{{ default_contour_cert }}"
  tcpproxy:
    services:
    - name: prometheus-k8s-thanos
      port: 10901

Output:

apiVersion: projectcontour.io/v1
kind: HTTPProxy
metadata:
  name: tls-edge-terminate-prometheus-k8s-thanos
spec:
  virtualhost:
    fqdn: tls-edge-terminate-prometheus-k8s-thanos{{ domain_apps }}
    tls:
      secretName: '{{ default_contour_cert }}'

What did you expect to happen:
The tcpproxy should have been included in the generated HttpProxy, as in:

apiVersion: projectcontour.io/v1
kind: HTTPProxy
metadata:
  name: tls-edge-terminate-prometheus-k8s-thanos
spec:
  virtualhost:
    fqdn: tls-edge-terminate-prometheus-k8s-thanos{{ domain_apps }}
    tls:
      secretName: '{{ default_contour_cert }}'
  tcpproxy:
    services:
    - name: prometheus-k8s-thanos
      port: 10901

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Environment:

  • Contour version:
  • Kubernetes version: (use kubectl version): v1.15.3+vmware.1
  • Kubernetes installer & version: VMware
  • Cloud provider or hardware configuration:
  • OS (e.g. from /etc/os-release):

Create other installation options

ir2proxy should be able to be installed from homebrew, rpms, debs, etc.

This issue covers setting up goreleaser to generate those things.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.