A Pulumi NGINX Ingress Controller component

Pulumi NGINX Ingress Controller Component

This repo contains the Pulumi NGINX Ingress Controller component for Kubernetes. This ingress controller uses NGINX as a reverse proxy and load balancer.

This component wraps the official NGINX Ingress Controller, and offers a Pulumi-friendly and strongly-typed way to manage ingress controller installations.

After installing this component to your cluster, you can use it by adding the kubernetes.io/ingress.class: nginx annotation to your Ingress resources.

For examples of usage, see the official documentation, or refer to the examples in this repo.

To Use

To use this component, first install the Pulumi Package:

Afterwards, import the library and instantiate it within your Pulumi program:

Configuration

This component supports all of the configuration options of the official Helm chart, except that these are strongly typed so you will get IDE support and static error checking.

The Helm deployment uses reasonable defaults, including the chart name and repo URL, however, if you need to override them, you may do so using the helmOptions parameter. Refer to the API docs for the kubernetes:helm/v3:Release Pulumi type for a full set of choices.

For complete details, refer to the Pulumi Package details within the Pulumi Registry.

Comments
  • Issue #16 was not fixed

    Issue #16 was not fixed

    What happened?

    Issue #16 was not fixed. The builds are failing and I cannot pull with go mod tidy the new version of the package. See here: https://github.com/pulumi/pulumi-kubernetes-ingress-nginx/runs/7341405439?check_suite_focus=true

    Steps to reproduce

    Just to go mod tidy

    Expected Behavior

    To get a new version with latest fixes.

    Actual Behavior

    I got the old version.

    Versions used

    Latest

    Additional context

    No response

    Contributing

    Vote on this issue by adding a 👍 reaction. To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

  • undefined:

    undefined: "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/core/v1".TolerationPtrOutput

    Hello!

    • Vote on this issue by adding a 👍 reaction
    • To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already)

    Issue details

    hello, i've met a compiling issue on my laptop:

         Type                 Name                    Plan     Info
         pulumi:pulumi:Stack  test-runtime-test-base           1 error; 6 messages
    
    Diagnostics:
      pulumi:pulumi:Stack (test-runtime-test-base):
        # github.com/pulumi/pulumi-kubernetes-ingress-nginx/sdk/go/kubernetes
        /Users/yazhou/go/pkg/mod/github.com/pulumi/[email protected]/sdk/go/kubernetes/pulumiTypes.go:1745:14: undefined: "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/core/v1".TolerationPtrInput
        /Users/yazhou/go/pkg/mod/github.com/pulumi/[email protected]/sdk/go/kubernetes/pulumiTypes.go:2115:41: undefined: "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/core/v1".TolerationPtrOutput
        /Users/yazhou/go/pkg/mod/github.com/pulumi/[email protected]/sdk/go/kubernetes/pulumiTypes.go:2116:83: undefined: "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/core/v1".TolerationPtrOutput
        /Users/yazhou/go/pkg/mod/github.com/pulumi/[email protected]/sdk/go/kubernetes/pulumiTypes.go:2735:44: undefined: "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/core/v1".TolerationPtrOutput
        /Users/yazhou/go/pkg/mod/github.com/pulumi/[email protected]/sdk/go/kubernetes/pulumiTypes.go:2741:6: undefined: "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/core/v1".TolerationPtrOutput
    
        error: an unhandled error occurred: program exited with non-zero exit code: 2
    

    go version:

    ╰─$ go version                                                                                                               130 ↵
    go version go1.17.2 darwin/arm64
    

    Steps to reproduce

    pulumi preview
    
  • undefined:

    undefined: "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/core/v1".TolerationPtrInput

    What happened?

    It is not possible to create the NGINX controller with this package in Go, because every time when you try to run pulumi up you will got the error: undefined: "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/core/v1".TolerationPtrInput

    Steps to reproduce

    To reproduce this bug you can just do:

    $ mkdir myproject && cd myproject $ pulumi new go $ pulumi up

    Add some new code in main.go

    package main
    
    import (
    	"github.com/pulumi/pulumi-kubernetes-ingress-nginx/sdk/go/kubernetes-ingress-nginx"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := kubernetesingressnginx.NewIngressController(ctx, "test", &kubernetesingressnginx.IngressControllerArgs{
    			Controller: &kubernetesingressnginx.ControllerArgs{
    				PublishService: &kubernetesingressnginx.ControllerPublishServiceArgs{
    					Enabled: pulumi.BoolPtr(true),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    And after that just run:

    $ pulumi up

    Expected Behavior

    The expected behavior is to compile the Go program without any error and after that to deploy the new NGINX ingress pods.

    Actual Behavior

    Actual Behavior leads into a compilation error that is described above.

    Versions used

    go 1.17
    
    require (
    	github.com/pulumi/pulumi-kubernetes-ingress-nginx v0.0.6
    	github.com/pulumi/pulumi/sdk/v3 v3.35.3
    )
    

    Additional context

    Here are the errors: pulumiTypes.go#L1745 pulumiTypes.go#L2115 pulumiTypes.go#L2116 pulumiTypes.go#L2735 pulumiTypes.go#L2741

    Contributing

    Vote on this issue by adding a 👍 reaction. To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

  • Can't install package with npm

    Can't install package with npm

    What happened?

    npm install -S @pulumi/kubernetes-ingress-nginx gives

     $ npm i -S @pulumi/kubernetes-ingress-nginx
    npm ERR! code 1
    npm ERR! path ...node_modules/@pulumi/kubernetes-ingress-nginx
    npm ERR! command failed
    npm ERR! command sh -c node scripts/install-pulumi-plugin.js resource kubernetes-ingress-nginx v0.0.2
    npm ERR! node:internal/modules/cjs/loader:936
    npm ERR!   throw err;
    npm ERR!   ^
    npm ERR! 
    npm ERR! Error: Cannot find module '...node_modules/@pulumi/kubernetes-ingress-nginx/scripts/install-pulumi-plugin.js'
    npm ERR!     at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    npm ERR!     at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    npm ERR!     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    npm ERR!     at node:internal/main/run_main_module:17:47 {
    npm ERR!   code: 'MODULE_NOT_FOUND',
    npm ERR!   requireStack: []
    npm ERR! }
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     .../.npm/_logs/2022-05-19T14_05_56_319Z-debug.log
    

    It looks like the scripts directory is missing from the npm package: Screen Shot 2022-05-19 at 10 08 11 AM

    Steps to reproduce

    npm i -S @pulumi/kubernetes-ingress-nginx

    Expected Behavior

    package is installed :)

    Actual Behavior

    error in terminal on package install

    Versions used

    $ p about
    CLI          
    Version      3.32.1
    Go Version   go1.18.1
    Go Compiler  gc
    
    Plugins
    NAME        VERSION
    aws         4.23.0
    aws         0.16.10
    docker      3.2.0
    docker      0.16.4
    eks         0.37.1
    kubernetes  3.17.0
    nodejs      unknown
    
    Host     
    OS       darwin
    Version  12.3.1
    Arch     x86_64
    

    Additional context

    I think the scripts directory just needs to be added to the package.

    Contributing

    Vote on this issue by adding a 👍 reaction. To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

  • Following the docs results in a warning

    Following the docs results in a warning

    What happened?

    Getting warning: resource plugin kubernetes-ingress-nginx is expected to have version >=0.0.5, but has 0.0.1; the wrong version may be on your path, or this may be a bug in the plugin

    Steps to reproduce

    From the docs:

    new nginx.IngressController("controller", {
      controller: {
        publishService: {
          enabled: true,
        },
      },
    })
    

    Expected Behavior

    Following the docs and doing nothing fancy shouldn't produce this warning.

    Actual Behavior

    warning: resource plugin kubernetes-ingress-nginx is expected to have version >=0.0.5, but has 0.0.1; the wrong version may be on your path, or this may be a bug in the plugin

    Versions used

    CLI          
    Version      3.34.1
    Go Version   go1.17.11
    Go Compiler  gc
    
    Plugins
    NAME                      VERSION
    civo                      2.2.2
    kubernetes                3.19.3
    kubernetes-ingress-nginx  0.0.5
    nodejs                    unknown
    
    Host     
    OS       darwin
    Version  12.3.1
    Arch     arm64
    
    This project is written in nodejs: executable='/Users/***REDACTED***/.nvm/versions/node/v16.15.0/bin/node' version='v16.15.0'
    
    Backend        
    Name           pulumi.com
    URL            https://app.pulumi.com/***REDACTED***
    User           ***REDACTED***
    Organizations  ***REDACTED***
    
    Dependencies:
    NAME                              VERSION
    @pulumi/civo                      2.2.2
    @pulumi/kubernetes-ingress-nginx  0.0.5
    @pulumi/pulumi                    3.34.1
    @types/node                       17.0.45
    typescript                        4.7.3
    

    Additional context

    No response

    Contributing

    Vote on this issue by adding a 👍 reaction. To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

  • Updating helmbase, kubernetes, and pulumi dependencies, fixes #4

    Updating helmbase, kubernetes, and pulumi dependencies, fixes #4

    ❯ pulumi up
    Please choose a stack, or create a new one: dev
    Previewing update (dev)
    
    View Live: https://app.pulumi.com/richard-shade/simple-nginx-ts/dev/previews/2dd60ff3-ba1e-4df6-8bb4-91af24b31f76
    
         Type                                                 Name                  Plan
     +   pulumi:pulumi:Stack                                  simple-nginx-ts-dev   create
     +   ├─ kubernetes:core/v1:Namespace                      sandbox-ns            create
     +   ├─ kubernetes:core/v1:Service                        hello-k8s-first-svc   create
     +   ├─ kubernetes:apps/v1:Deployment                     hello-k8s-first-dep   create
     +   ├─ kubernetes:core/v1:Service                        hello-k8s-second-svc  create
     +   ├─ kubernetes:networking.k8s.io/v1:Ingress           hello-k8s-ingress     create
     +   ├─ kubernetes:apps/v1:Deployment                     hello-k8s-second-dep  create
     +   └─ kubernetes-ingress-nginx:index:IngressController  myctrl                create
     +      └─ kubernetes:helm.sh/v3:Release                  myctrl-helm           create
    
    
    Resources:
        + 9 to create
    
    Do you want to perform this update? yes
    Updating (dev)
    
    View Live: https://app.pulumi.com/richard-shade/simple-nginx-ts/dev/updates/3
    
         Type                                                 Name                  Status
     +   pulumi:pulumi:Stack                                  simple-nginx-ts-dev   created
     +   ├─ kubernetes:core/v1:Namespace                      sandbox-ns            created
     +   ├─ kubernetes:core/v1:Service                        hello-k8s-first-svc   created
     +   ├─ kubernetes:core/v1:Service                        hello-k8s-second-svc  created
     +   ├─ kubernetes:apps/v1:Deployment                     hello-k8s-second-dep  created
     +   ├─ kubernetes:networking.k8s.io/v1:Ingress           hello-k8s-ingress     created
     +   ├─ kubernetes:apps/v1:Deployment                     hello-k8s-first-dep   created
     +   └─ kubernetes-ingress-nginx:index:IngressController  myctrl                created
     +      └─ kubernetes:helm.sh/v3:Release                  myctrl-helm           created
    
    Outputs:
        appStatuses     : [
            [0]: {
            }
            [1]: {
            }
        ]
        controllerStatus: {
            appVersion: "1.2.0"
            chart     : "ingress-nginx"
            name      : "myctrl-helm-a9f61ae2"
            namespace : "sandbox-ns-c9e54f01"
            revision  : 1
            status    : "deployed"
            version   : "4.1.1"
        }
    
    Resources:
        + 9 created
    
    Duration: 1m19s
    
  • Can't get this to work with a namespace

    Can't get this to work with a namespace

    I'm trying use the namespaces from the docs but running into an exception:

    Code:

    var clusterServicesNamespace = new Namespace("cluster-services");
            var appServicesNamespace = new Namespace("app-services");
            var appsNamespace = new Namespace("apps");
    
            var ingress = new IngressController("nginx", new IngressControllerArgs
            {
                HelmOptions = new ReleaseArgs
                {
                    Namespace = appServicesNamespace.Metadata.Apply(x => x.Name)
                },
                Controller = new ControllerArgs
                {
                    PublishService = new ControllerPublishServiceArgs
                    {
                        Enabled = true
                    }
                }
            });
    

    Exception:

     Grpc.Core.RpcException: Status(StatusCode="Unknown", Detail="setting args: copying input "helmOptions": provider.IngressControllerArgs.HelmOptions is typed as *helm.ReleaseType but must be a type that implements pulumi.Input or pulumi.Output for input with dependencies", DebugException="Grpc.Core.Internal.CoreErrorDetailException: {"created":"@1640177851.418000000","description":"Error received from peer ipv4:127.0.0.1:57681","file":"..\..\..\src\core\lib\surface\call.cc","file_line":1068,"grpc_message":"setting args: copying input "helmOptions": provider.IngressControllerArgs.HelmOptions is typed as *helm.ReleaseType but must be a type that implements pulumi.Input or pulumi.Output for input with dependencies","grpc_status":2}")
           at async Task<RegisterResourceResponse> Pulumi.GrpcMonitor.RegisterResourceAsync(Resource resource, RegisterResourceRequest request)
           at async Task<(string urn, string id, Struct data, ImmutableDictionary<string, ImmutableHashSet<Resource>> dependencies)> Pulumi.Deployment.RegisterResourceAsync(Resource resource, bool remote, Func<string, Resource> newDependency, ResourceArgs args, ResourceOptions options)
           at async Task<(string urn, string id, Struct data, ImmutableDictionary<string, ImmutableHashSet<Resource>> dependencies)> Pulumi.Deployment.ReadOrRegisterResourceAsync(Resource resource, bool remote, Func<string, Resource> newDependency, ResourceArgs args, ResourceOptions options)
           at async Task Pulumi.Deployment.CompleteResourceAsync(Resource resource, bool remote, Func<string, Resource> newDependency, ResourceArgs args, ResourceOptions options, ImmutableDictionary<string, IOutputCompletionSource> completionSources)
    
    

    Any ideas?

  • chore: adjust readme to clarify NGINX KIC as K8 maintained

    chore: adjust readme to clarify NGINX KIC as K8 maintained

    Just a minor modification to the README to change the description of the NGINX Ingress KIC to clarify that it is the upstream Kubernetes NGINX and not the NGINX supported KIC in order to (hopefully) reduce some confusion.

    Happy to discuss / make changes if necessary.

  • Fixing map of maps for controller configs. This is mentioned in ticke…

    Fixing map of maps for controller configs. This is mentioned in ticke…

    This is mentioned in ticke #22.

    With the maps of maps, it is not possible to create valid configurations as per: https://github.com/kubernetes/ingress-nginx/blob/main/charts/ingress-nginx/values.yaml.

  • Why controller.config and controller.configAnnotations are map of maps?

    Why controller.config and controller.configAnnotations are map of maps?

    What happened?

    The creation of the resource with the valid controller.config results in an error.

    Steps to reproduce

    Here is a part of the original config in Yaml format:

      nginx-ctrl:
        type: kubernetes-ingress-nginx:IngressController
        properties:
          controller:
            config:
              http-snippet: |
                proxy_cache_path /tmp/nginx-cache levels=1:2 keys_zone=static-cache:2m max_size=100m inactive=15m use_temp_path=off;
                proxy_cache_key $scheme$proxy_host$request_uri;
                proxy_cache_lock on;
                proxy_cache_use_stale updating;
    

    Expected Behavior

    Helm chart with a valid ConfigMap should be deployed successfully.

    Actual Behavior

    Diagnostics:
      pulumi:pulumi:Stack (infra-root):
        error: kubernetes-ingress-nginx:index:Controller is not assignable from {config: {http-snippet: string}}
        
          on Pulumi.yaml line 154:
         154:       controller:
        
        Cannot assign '{config: {http-snippet: string}}' to 'kubernetes-ingress-nginx:index:Controller':
          config: Cannot assign '{http-snippet: string}' to 'Map<Map<string>>':
            http-snippet: Cannot assign type 'string' to type 'Map<string>'
    

    Output of pulumi about

    CLI
    Version 3.39.1 Go Version go1.19 Go Compiler gc

    Plugins NAME VERSION azure-native unknown kubernetes unknown kubernetes-ingress-nginx unknown yaml unknown

    Host
    OS darwin Version 12.5 Arch x86_64

    This project is written in yaml

    Additional context

    No response

    Contributing

    Vote on this issue by adding a 👍 reaction. To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

  • Fix ControllerService.loadBalancerIP key

    Fix ControllerService.loadBalancerIP key

    Closes https://github.com/pulumi/pulumi-kubernetes-ingress-nginx/issues/12

    The schema seems out of sync with the docs on more properties, not sure if the schema is auto generated or not. https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx#values there

  • Examples for Go

    Examples for Go

    One working example for Go

    • Vote on this issue by adding a 👍 reaction
    • If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

    Issue details

    In the docs / example folder there is no example for Go like for other resources, and I think it would be useful to have some basic working examples for Go.

  • Unable to specify loadBalancerIp

    Unable to specify loadBalancerIp

    What happened?

    const ingressExternalIp = new gcp.compute.Address('ingress-external-ip', {
        addressType: 'EXTERNAL',
        purpose: 'SHARED_LOADBALANCER_VIP',
    });
    
    const ingressNginxController = new ingressNginx.IngressController('ingress-nginx-controller', {
      controller: {
          publishService: {
              enabled: true,
          },
          service: {
              loadBalancerIPs: ingressExternalIp.address,
          },
      }
    })
    

    Then I got this error:

    warning: resource plugin kubernetes-ingress-nginx is expected to have version >=0.0.5, but has 0.0.1; the wrong version may be on your path, or this may be a bug in the plugin warning: resource plugin kubernetes-ingress-nginx is expected to have version >=0.0.5, but has 0.0.1; the wrong version may be on your path, or this may be a bug in the plugin error: Error: failed to register new resource ingress-nginx-controller [kubernetes-ingress-nginx:index:IngressController]: 2 UNKNOWN: setting args: copying input "controller": expected destination type to implement pulumi.Input or pulumi.Output, got string at Object.registerResource (/Users/chao.yang/Private/stackbase/node_modules/@pulumi/runtime/resource.ts:293:27) at new Resource (/Users/chao.yang/Private/stackbase/node_modules/@pulumi/resource.ts:393:13) at new ComponentResource (/Users/chao.yang/Private/stackbase/node_modules/@pulumi/resource.ts:881:9) at new IngressController (/Users/chao.yang/Private/stackbase/node_modules/@pulumi/ingressController.ts:62:9)

    Steps to reproduce

    the above code

    Expected Behavior

    Should be able to specify the IP address

    Actual Behavior

    Error when run preview

    Versions used

    No response

    Additional context

    No response

    Contributing

    Vote on this issue by adding a 👍 reaction. To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

nginx exporter for Prometheus copy code from ingress-nginx use for monit nginx
nginx exporter for Prometheus copy code from ingress-nginx use for monit nginx

nginx_exporter 介绍 从ingress-nginx官方代码中的expoter迁移出来 用来监控虚拟机上的nginx的expoter 基于官方 controller-v0.49.3 版本移植的代码 软件架构 nginx_socket 通过lua模块monitor.lua 将nginx l

Dec 20, 2021
An implementation of an Ingress controller for NGINX and NGINX Plus

?? Help make the NGINX Ingress Controller better by participating in our survey!

Dec 9, 2022
K8s-ingress-health-bot - A K8s Ingress Health Bot is a lightweight application to check the health of the ingress endpoints for a given kubernetes namespace.

k8s-ingress-health-bot A K8s Ingress Health Bot is a lightweight application to check the health of qualified ingress endpoints for a given kubernetes

Jan 2, 2022
An Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer

NGINX Ingress Controller Overview ingress-nginx is an Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer. Learn more a

Nov 15, 2021
Simple HPA base NGINX Ingress

Simple HPA Base Ingress Access Log Support NGINX Ingress How to Use Requirement Kubernetes NGINX Ingress Quick Start 1. Deploy Change deploy.yamlENV,

Dec 12, 2022
kubectl plugin for generating nginx-ingress compatible basic-auth secrets on kubernetes clusters

kubectl-htpasswd kubectl plugin for easily generating hashed basic auth secrets. Supported hash algorithms bcrypt Examples Create the secret on the cl

Jul 17, 2022
Pulumi-tencentcloud - Pulumi provider for tencentcloud

Terraform Bridge Provider Boilerplate This repository contains boilerplate code

Dec 30, 2021
Pulumi-awscontroltower - A Pulumi provider for AWS Control Tower

Terraform Bridge Provider Boilerplate This repository contains boilerplate code

Nov 14, 2022
Pulumi-hcp - A Pulumi provider for interacting with the Hashicorp Cloud Platform

Terraform Bridge Provider Boilerplate This repository contains boilerplate code

Dec 5, 2022
Go-gke-pulumi - A simple example that deploys a GKE cluster and an application to the cluster using pulumi

This example deploys a Google Cloud Platform (GCP) Google Kubernetes Engine (GKE) cluster and an application to it

Jan 25, 2022
Pulumi-k8s-operator-example - OpenGitOps Compliant Pulumi Kubernetes Operator Example

Pulumi GitOps Example OpenGitOps Compliant Pulumi Kubernetes Operator Example Pr

May 6, 2022
A Pulumi Kubernetes CertManager component

Pulumi Cert Manager Component This repo contains the Pulumi Cert Manager component for Kubernetes. This add-on automates the management and issuance o

Nov 30, 2022
A Pulumi Kubernetes CoreDNS component

Pulumi Kubernetes CoreDNS Component This repo contains the Pulumi CoreDNS component for Kubernetes. CoreDNS is a fast and flexible DNS server, providi

Dec 1, 2021
expose controller, when deployment created service and ingress will be created

expose-controller expose controller, when deployment created service and ingress will be created How to test git clone repository cd expose-controller

Dec 23, 2021
Sesame: an Ingress controller for Kubernetes that works by deploying the Envoy proxy as a reverse proxy and load balancer

Sesame Overview Sesame is an Ingress controller for Kubernetes that works by dep

Dec 28, 2021
Image clone controller is a kubernetes controller to safe guard against the risk of container images disappearing

Image clone controller image clone controller is a kubernetes controller to safe guard against the risk of container images disappearing from public r

Oct 10, 2021
A Controller written in kubernetes sample-controller style which watches a custom resource named Bookstore

bookstore-sample-controller A Controller written in kubernetes sample-controller style which watches a custom resource named Bookstore. A resource cre

Jan 20, 2022
Bootstrap curated Kubernetes stacks. Logging, metrics, ingress and more - delivered with gitops.

Gimlet Stack Bootstrap curated Kubernetes stacks. Logging, metrics, ingress and more - delivered with gitops. You can install logging aggregators, met

Dec 1, 2021
Traefik-redirect-operator is created to substitute manual effort of creating an ingress and service type External.
Traefik-redirect-operator is created to substitute manual effort of creating an ingress and service type External.

Overview Traefik Redirect Operator is used to help creating a combination of Ingress of Traefik controller along with Service's ExternalName type. The

Sep 22, 2021