{"id":20334180,"url":"https://github.com/dumpysquare/iapps","last_synced_at":"2026-02-25T08:32:46.046Z","repository":{"id":124034636,"uuid":"222001429","full_name":"DumpySquare/iapps","owner":"DumpySquare","description":"All about F5 TCL iApps","archived":false,"fork":false,"pushed_at":"2020-02-17T12:19:22.000Z","size":125,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-19T01:53:10.838Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Roff","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DumpySquare.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-15T20:52:50.000Z","updated_at":"2020-02-17T12:19:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"7c6e7556-d4ce-4dcd-b0bf-02d0baf6a501","html_url":"https://github.com/DumpySquare/iapps","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DumpySquare/iapps","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DumpySquare%2Fiapps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DumpySquare%2Fiapps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DumpySquare%2Fiapps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DumpySquare%2Fiapps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DumpySquare","download_url":"https://codeload.github.com/DumpySquare/iapps/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DumpySquare%2Fiapps/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29815022,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T05:36:42.804Z","status":"ssl_error","status_checked_at":"2026-02-25T05:36:31.934Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T20:36:15.407Z","updated_at":"2026-02-25T08:32:46.019Z","avatar_url":"https://github.com/DumpySquare.png","language":"Roff","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iapps\nAll about F5 TCL iApps\n\nYa know, I have a ton to say about iapps...  \nFor now, let's just stick with documenting what I've learned, what's been written, and maybe it will help someone at some point.\n\nBasically, at it's core, if you can issue tmsh commands, you can write an iapp.\n\n\niApps are based on TCL, TMOS is based in TCL, iRules are TCL.\n\n##############################################\n\nHow do I currently write iapps?  A little about my setup\n\nVScode is the core of all my coding.  It's a great tool with tons of really great plugins.  It does way more than I thought I needed it to do.  Mayby I should write something about it sometime...\n\nWith VSCode, there are plug-ins to help with F5 stuff, like TCL and iApps, get them, syntax highlighting, auto complete, good stuff.\n*** idea: write a vscode plugin to manage irules like the irules editor - would need to be able to connect to F5s, grab config options and save them back to the F5 when done - I know there is a TCL extension, let's see what it can do and/or if it can be extended ***\n\nhttps://marketplace.visualstudio.com/items?itemName=bitwisecook.iapp\nhttps://marketplace.visualstudio.com/items?itemName=bitwisecook.irule\nhttps://marketplace.visualstudio.com/items?itemName=bitwisecook.tcl\n\nThe best VSCode plugins:  Microsoft Remote Development pack\n - This pack allows you to connect to linux machines over SSH (including F5s), docker containers or WSL\n https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack\n \n So, get VSCode connected to your DEV F5, do not connect it to a production F5.  Remote VSCode installs itself on the f5, including any modules needed for development, like python linters and the stuff needed for the remote connection.  For now, it all gets installed in the user directory, which can fill up quickly and cause things to start gettin goofy...\n \n\n \u003e **** add link to document on getting VScode connect to an F5 - make bash script in future ***\n \n Once connected to F5, I suggest setting your directory to /config, then you can see all the main config files.  Create a folder to work in.  I typically call it /config/iapps/  or /config/deving/.  Then I can copy and paste in an iapp to start to modify or, create a new blank iapp in the gui, copy/paste the object from the /config/bigip_script.conf\n \n tmsh create sys application template \u003cname\u003e - drops you right into an editor to create a new iapp\n  - it's vim'ish so, just ESC, :x to save and quit, then \"Y\" to save the changes to the config.\n tmsh list sys application template \u003cnew_iapp_name\u003e\n \nshortcut:  \n```\ntmsh list sys application template new_test_iapp \u003e\u003e /config/iapps/new_test_iapp.tmpl\n```\n\nOpen the new file in VSCode, edit away, save.\n\nThen merge it back into the running config:  \n```\ntmsh load sys config file /config/iapps/new_test_iapp.tmpl\n```\n\nIf it loads, you're halfway there!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdumpysquare%2Fiapps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdumpysquare%2Fiapps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdumpysquare%2Fiapps/lists"}