Forum Discussion

Aaron_Forster_3's avatar
Aaron_Forster_3
Historic F5 Account
Sep 22, 2012

Cross Platform Mac/Linux/Windows iRule Editor in Java is real

 

new iRule editor anyone?

 

 

Welcome Njord, an iRule editor written in Java. Has been known to run on Linux, Mac and yes, even Windows.

 

 

It has syntax highlighting, command completion(with ctrl+space) iRules documentation and even supports code templates for all that stuff you write OVER AND OVER again (if DEBUG log anyone?) Read the attached "What is Njord?" for directions on making code templates work.

 

 

Like iRuler, the F5 editor, in order to get the full benefit out of it you'll have to be connected to a BIGIP but it has support for creating and saving to local files as well you just don't get any notices of syntax errors.

 

It's still a little bit of an early app but I think I have all the major bugs eliminated and minimum feature set implemented. It's not quite as full featured as the windows one but I think it's pretty decent.

 

Let's call it "requires java 1.6 or later" You're welcome to try 1.5 but there have been reports of it not running.

 

Any comments or questions should be posted here rather than emailing me directly. I will do my best to get to them but this is a side project I have been working on in my spare time. My regular full time job does get in the way from time to time.

 

And no Sam, I have no intention of porting it to iPhone. ^_^

 

 

 

-Aaron

 

 

Njord - runnable jar file. Download this and put it anywhere on your machine. If you have Java installed you should be able to double click it to run it.

 

What is Njord? - something a little like documentation but sparse enough that I find the word 'documentation' misleading.

 

WhatIsNjor.txt - The exact same information as the previous link except in .txt format instead of .docx. Uglier but no office required.

 

9 Replies

  • Hey Aaron,

     

     

    This looks really promising. I'm excited to test it out. Thanks for your efforts!

     

     

    Aaron
  • a little clunky but certainly has potential, thanks!
  • Aaron_Forster_3's avatar
    Aaron_Forster_3
    Historic F5 Account
    Brent: I have a suggestion.

     

    Aaron: Yeah?

     

    Brent: Do not make your platform agnostic code documented by microsoft word

     

    Aaron: AAAAAAAAAAAAAAAhahahahahahaa, I have to go make fun of myself on DevCentral now.

     

     

     

     

    Updated the original post with WhatIsNjord.txt. 100% text only version of the .docx file which is still attached. Because it's prettier.
  • Hamish's avatar
    Hamish
    Icon for Cirrocumulus rankCirrocumulus
    Didn't work for me... But I was trying on windoze... Will try again on something decent.

     

     

    H
  • Aaron_Forster_3's avatar
    Aaron_Forster_3
    Historic F5 Account
    Informal poll (because I don't see a way to create a formal one in DevCentral.)

     

     

    What is the most egregious bug/missing feature of Njord?

     

     

    1. Have command/keyword completion work automagically instead of requiring ctrl+click.

     

    2. Make the 'New iRule' dialog a bit more comprehensive. Specifically being able to create local iRules while connected to a BIGIP instead of only when disconnected and having a few code templates.

     

    3. Make the DevCentral links in the iRules documentation tooltips clicable

     

    4. Something completely different.
  • Aaron_Forster_3's avatar
    Aaron_Forster_3
    Historic F5 Account
    Hamish you're a stitch. What do you mean by 'Didn't work' It should run even on windows. Wouldn't open, wouldn't fetch iRules?
  • Great work Aaron, but I can't get it to work.

     

    JDK 1.5.0.22 - won't start at all

     

    JDK1.6.0.20 - Will start but when you click "Connect" or "Get iRules" the app hangs.

     

    -Joe

     

  • Aaron_Forster_3's avatar
    Aaron_Forster_3
    Historic F5 Account
    I definately need some sort of 'first run' dialog to get bigip connection information when people first give this a try.

     

     

    If it hangs on connect that means it's trying to connect and waiting. It should say 'connecting' in the notices box. Obviously I need to make that more obvious.

     

     

    Fetching the iRules obviously requires you have an initialized connection so if you haven't hit connect separately it goes ahead and does it for you. Apparently that's just as confusing as it is helpful. I need to add a popup dialog when connecting to make this much more obvious.

     

     

    Go to file->edit connection settings to configure which BIGIP you are going to talk to.

     

     

    I'll modify the original post and call it "requires java 1.6 or higher." I've run it with both 1.6 and 1.7 but haven't tested with 1.5 thanks for the info.
  • Hi Aaron, I've just tried out your client and I'm really impressed. I run a Linux desktop and had no luck getting iRule editor running on Wine or Crossover, and the Vim client is a little clunky (and misses a few features we use daily). iRule editor is about the only thing which makes me boot up a Windows VM.

     

     

    So, I've found a few bugs, and also have some feature requests:

     

     

    Bugs:

     

     

    "Get iRules" pulls down 10 rules (we have something like 100 rules on each of our F5s). Is this a bug or a config setting I have missed somewhere?

     

     

    Feature requests:

     

     

    Assign iRule to VIP. We use iRules to create site maintenance pages, and can quickly assign the iRule to multiple VIPs in iRule editor by right clicking the rule in the left hand menu, and going to properties to bring a dialogue of which VIPs to add the iRule to.

     

    Validate without saving. This would be useful for testing syntax (although I do appreciate the correct way of doing this is to create a local rule)

     

    Multiple F5s. At the moment I can add each of my F5 IPs as I connect, but it would be nice if they were saved somewhere and when the program loaded it asked which I wanted to connect to.

     

     

    Anyway, big thanks for the effort so far!