Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iRule CRD and allow attaching iRule to Virtual Server Resources #1571

Closed
mitchellmaler opened this issue Nov 12, 2020 · 11 comments
Closed

iRule CRD and allow attaching iRule to Virtual Server Resources #1571

mitchellmaler opened this issue Nov 12, 2020 · 11 comments

Comments

@mitchellmaler
Copy link

Title

iRule CRD and allow attaching iRule to Virtual Servers

Description

The ability to create iRules from Kubernetes Custom Resources and attaching those to Virtual Servers.

Actual Problem

We have some specific routing logic that the ability to manage these at the k8s layer along with allowing tenants to write their own using custom resources would make it a smooth process.

Solution Proposed

Custom Resources for iRules and allow attaching those to Virtual Server Custom Resources.

Alternatives

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

@mdditt2000
Copy link
Contributor

@mitchellmaler Good morning. You looking for something like the following?

apiVersion: "cis.f5.com/v1"
kind: CRD
metadata:
  name: my-crd
spec:
  virtualServerAddress: "172.16.3.4"
  iRules:
    - /Common/test-irule.  --------------------- add here!
  selector:
    matchLabels:
      app: nginx

If this is what you want i can get this added. Please let me know.

@mdditt2000 mdditt2000 added awaiting response Awaiting response and removed untriaged no JIRA created labels Nov 12, 2020
@mitchellmaler
Copy link
Author

Yes being able to add irules to Virtual Servers would be perfect.

Another idea is also the ability to author irules from kubernetes using a new custom resource definition like below. This would allow tenants to write their own rules and then attach to virtual server resources all from k8s.

apiVersion: "cis.f5.com/v1"
kind: iRule
metadata:
  name: my-new-irule
  namespace: my-namespace
spec:
  ruleDefinition: |
    when HTTP_REQUEST {
        if { [HTTP::uri] starts_with "/abc/" } {
            HTTP::uri [string map {"/abc/" "/xyz/"} [HTTP::uri]]
        }
    }

@mdditt2000
Copy link
Contributor

@mitchellmaler nice. Would you prefer the CRD to create the iRule as shown in your example or simply reference the iRule form BIG-IP? Referencing the iRule is way easier but that object would need to be on BIG-IP or CIS would receive a 422 error

@mitchellmaler
Copy link
Author

I think both options should be available. At least for starters/short-term the ability to reference existing iRules on the Big-IP would be great. Then if in the future or part of this request the ability to author brand new irules using a kubernetes custom resource and then reference those would allow tenants to create and use their own without the need to add it to the bigip outside kubernetes before creating the virtual server.

@mdditt2000
Copy link
Contributor

@mitchellmaler created internal Jira for PM tracking [CRD] iRule reference for CRD CONTCNTR-2252. Sprint planning is next week. Would like to get into next release.

@mdditt2000 mdditt2000 added JIRA and removed awaiting response Awaiting response labels Nov 12, 2020
@mdditt2000
Copy link
Contributor

@mitchellmaler on a side note are you using GTM/DNS with LTM?

@mdditt2000
Copy link
Contributor

iRule support for TransportServer CRD #1570

@mitchellmaler
Copy link
Author

@mdditt2000 Today we are currently only using Big-IP LTM pairs for our environments.

@mitchellmaler
Copy link
Author

@mdditt2000 Is there an update on adding iRule Reference to VS and a new iRule CRD support?

@mdditt2000
Copy link
Contributor

@mitchellmaler flagged for CIS 2.3.

@trinaths
Copy link
Contributor

This issue is fixed with CIS v2.3

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

No branches or pull requests

3 participants