{"id":48684062,"url":"https://github.com/klauern/remy","last_synced_at":"2026-04-11T03:47:47.819Z","repository":{"id":57510513,"uuid":"42243632","full_name":"klauern/remy","owner":"klauern","description":"CLI for interacting with the WebLogic Server RESTful Management Services","archived":false,"fork":false,"pushed_at":"2018-09-05T14:20:16.000Z","size":115,"stargazers_count":12,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-11T03:47:44.152Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/klauern.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}},"created_at":"2015-09-10T12:40:28.000Z","updated_at":"2025-10-08T23:53:14.000Z","dependencies_parsed_at":"2022-09-26T17:50:56.651Z","dependency_job_id":null,"html_url":"https://github.com/klauern/remy","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/klauern/remy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauern%2Fremy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauern%2Fremy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauern%2Fremy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauern%2Fremy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/klauern","download_url":"https://codeload.github.com/klauern/remy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauern%2Fremy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31668050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"2026-04-11T03:47:47.038Z","updated_at":"2026-04-11T03:47:47.777Z","avatar_url":"https://github.com/klauern.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# remy\nCLI for interacting with the WebLogic Server RESTful Management Services.\n\n[![Go Report Card](https://goreportcard.com/badge/klauern/remy)](https://goreportcard.com/report/klauern/remy)\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fklauern%2Fremy.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fklauern%2Fremy?ref=badge_shield)\n\n[![wercker status](https://app.wercker.com/status/fe26b6defa4f97dde747ae1f1fbcb815/m \"wercker status\")](https://app.wercker.com/project/bykey/fe26b6defa4f97dde747ae1f1fbcb815)\n\n`remy` is an application I wrote to learn a little about [golang](http://www.golang.org) as well as to itch a little\nscratch I had with WebLogic servers.  WebLogic has a feature called *[RESTful Management Extensions](http://docs.oracle.com/cd/E23943_01/web.1111/e24682/toc.htm#RESTS149)*, which lets you query\nan AdminServer's domain for various pieces of information it knows about Servers, Clusters, Datasources, and Applications\nthat it is resposnible for.  This is pretty useful if you are interested in writing a lot of small scripts to quickly get\nthe status of some datasource in your cluster without having to resort to connecting, setting up, and maintaining your own\ncopy of a WebLogic Scripting Tool (WLST) interface.\n\nThis application provides a fancy command-line interface over top of this REST API, allowing you to quickly ascertain\nhow a server or cluster is doing without having to maintain all the complexity of an entire WLS domain locally just\nto `connect(url=\"t3://server:7001\", username=\"weblogic\", password=\"welcome1\")`, etc., etc.\n\n# Installation\n\n## Releases\n\nThe latest version I put out there is `v0.2.1`, and that can be found on the releases page: [v0.2.1 release](https://github.com/klauern/remy/releases/tag/v0.2.1)\n\n## From Source\n\nFor the die-hard coder in you:\n\n```sh\ngo get -u github.com/klauern/remy/cmd/remy\n```\n\n# Usage\n\nRunning `remy help` will show you your options:\n\n```\nC:\\\u003e remy help\nQuery a WebLogic Domain's resources, including Datasources, Applications, Clusters, and Servers by using the WebLogic RESTful Management Extensions API\n\nUsage:\n  remy [command]\n\nAvailable Commands:\n  applications Query applications deployed under AdminServer\n  config       Configure the credentials and server to default REST connections to\n  clusters     Query clusters under AdminServer\n  datasources  Query datasources under AdminServer\n  servers      Display Server information\n  version      Show the version of this command\n\nFlags:\n  -s, --adminurl=\"http://localhost:7001\": Url for the Admin Server\n  -f, --full-format[=false]: Return full format from REST server\n  -p, --password=\"welcome1\": Password for the user\n  -u, --username=\"weblogic\": Username with privileges to access AdminServer\n\nUse \"remy [command] --help\" for more information about a command.\n```\n\n## Configuration and Authentication\n\nEvery command to query for information must inclue a set of credentials to\n\n* The AdminServer the WebLogic Domain resides on\n* Username\n* Password\n\nThese can be provided by a number of options:\n\n1. Command-line flags:\n   * `--adminurl=\"http://server:7001\"`\n   * `--username=\"weblogic\"`\n   * `--password=\"welcome1\"`\n2. Environment Variables:\n   * `export WLS_ADMINURL='http://server:7001'`\n   * `export WLS_USERNAME='weblogic'`\n   * `export WLS_PASSWORD='welcome1'`\n3. Local directory `wlsrest.toml` config file\n4. Home directory (~/, $HOME) `.wlsrest.toml` config file\n\nAn example `wlsrest.toml` or `.wlsrest.toml` config file:\n\n```\n[/home/user/] $ cat ~/.wlsrest.toml\nAdminURL = \"http://homeserver:7001\"\nUsername = \"homeuser\"\nPassword = \"homepassword\"\n```\n\n### Generating Configuration for the above\n\nBoth the local directory and Home (`~/`) directory config files can be generated for you with `remy config`.  This\nprovides the added benefit of encrypting the password for you:\n\n```\n$ remy config -h\nConfigure what Username, Password, and Admin Server:Port you want to send REST requests to when submitting calls on any of the other commands\n\nUsage:\n  remy config [flags]\n\nFlags:\n      --environment[=false]: Set the WLS_* environment variables\n      --home[=false]: Generate/Update the ~/$HOME config file\n      --local[=false]: Generate/Update the local directory's config file\n\nGlobal Flags:\n  -s, --adminurl=\"http://localhost:7001\": Url for the Admin Server\n  -f, --full-format[=false]: Return full format from REST server\n  -p, --password=\"welcome1\": Password for the user\n  -u, --username=\"weblogic\": Username with privileges to access AdminServer\n```\n\nUsing it is pretty straightforward:\n\n```\n$ remy config --local --adminurl=\"http://localserver:7001\" --username=\"weblogic\" --password=\"welcome1\"\nUsing the Local directory to set the ./wlsrest.toml file\n$ cat wlsrest.toml\nAdminURL = \"http://localserver:7001\"\nUsername = \"weblogic\"\nPassword = \"{AES}VHQVFwN72jWgRYzWbnJQugUfCa6LAU0W\"\n```\n\nNOTE: Do not attempt to assume there's some inherent security in this.  The password is generated with AES, but the default\n`key` is stored in code.  You can optionally override the default key with an environment variable `WLS_REMYKEY`:\n\n```\n$ export WLS_REMYKEY=\"My very very very awesome key!!!\" # (MUST be 32 bytes in length EXACTLY)\n$ remy config --local\n$ cat .\\wlsrest.toml\nAdminURL = \"http://localhost:7001\"\nUsername = \"weblogic\"\nPassword = \"{AES}BM1uj9uv1bD7KV6BXapCf1kucxDYbCU6\"\n```\n\n# Query Examples\n\nBelow are sample outputs provided by the tool itself.  This is a rudimentary **1.0** of the output.  I hope to provide\n some options for different output at some point, such as rendering a widget for use with [`termui`](https://github.com/gizak/termui).\n Any help would be appreciated.\n\n## Servers\n\n### All Servers (short form)\n\n```sh\n$ remy servers\nFinding all Servers\nUsing Full Format? false\nName:        AdminServer   | State:           RUNNING       | Health:        HEALTH_OK\nCluster:                   | CurrentMachine:                | JVM Load:      0\nSockets #:   0             | Heap Sz Cur:     0             | Heap Free Cur: 0\nJava Ver:                  | OS Name:                       | OS Version:\nWLS Version:\n\nName:        WLS_WSM1      | State:           RUNNING       | Health:        HEALTH_OK\nCluster:                   | CurrentMachine:                | JVM Load:      0\nSockets #:   0             | Heap Sz Cur:     0             | Heap Free Cur: 0\nJava Ver:                  | OS Name:                       | OS Version:\nWLS Version:\n\nName:        WLS_SOA1      | State:           RUNNING       | Health:        HEALTH_OK\nCluster:                   | CurrentMachine:                | JVM Load:      0\nSockets #:   0             | Heap Sz Cur:     0             | Heap Free Cur: 0\nJava Ver:                  | OS Name:                       | OS Version:\nWLS Version:\n\nName:        WLS_OSB1      | State:           RUNNING       | Health:        HEALTH_OK\nCluster:                   | CurrentMachine:                | JVM Load:      0\nSockets #:   0             | Heap Sz Cur:     0             | Heap Free Cur: 0\nJava Ver:                  | OS Name:                       | OS Version:\nWLS Version:\n```\n\n### Individual Server (always full-format)\n\n```sh\n$ remy servers AdminServer\nFinding Server information for AdminServer\nServer AdminServer:\nName:        AdminServer   | State:           RUNNING       | Health:        HEALTH_OK\nCluster:                   | CurrentMachine:  localhost     | JVM Load:      0\nSockets #:   8             | Heap Sz Cur:     3151495168    | Heap Free Cur: 423742888\nJava Ver:    1.7.0_80      | OS Name:         Linux         | OS Version:    2.6......\nWLS Version: WebLogic Server 10.3.6.0  Tue Nov 15 08:52:36 PST 2011 1441050\n```\n\n## Clusters\n\n### All Clusters (short form)\n\n```sh\n$ remy clusters\nFinding All Clusters\nUsing Full Format? false\nName: WSM-PM_Cluster\nState:             RUNNING       | Health:               HEALTH_OK     | Cluster Master?       false         | Drop Out Freq:\nResend Req. Count: 0             | Fragments Sent Count: 0             | Fragments Recv Count: 0\n\nName: SOA_Cluster\nState:             RUNNING       | Health:               HEALTH_OK     | Cluster Master?       false         | Drop Out Freq:\nResend Req. Count: 0             | Fragments Sent Count: 0             | Fragments Recv Count: 0\n\nName: OSB_Cluster\nState:             RUNNING       | Health:               HEALTH_OK     | Cluster Master?       false         | Drop Out Freq:\nResend Req. Count: 0             | Fragments Sent Count: 0             | Fragments Recv Count: 0\n```\n\n### Individual Cluster (always full-format)\n\n```sh\n$ remy clusters SOA_Cluster\nFinding Cluster information for SOA_Cluster\nName: SOA_Cluster\nState:             RUNNING       | Health:               HEALTH_OK     | Cluster Master?       false         | Drop Out Freq:\nResend Req. Count: 0             | Fragments Sent Count: 127690        | Fragments Recv Count: 0\n```\n\n\n## Datasources\n\nTODO\n\n## Applications\n\n### All Applications (short form)\n\n```\n$ remy applications\nFinding All Applications\nUsing Full Format? false\nName: FileAdapter                                       |AppType: rar  |State: STATE_ACTIVE|Health: HEALTH_OK\nName: DbAdapter                                         |AppType: rar  |State: STATE_ACTIVE|Health: HEALTH_OK\nName: JmsAdapter                                        |AppType: rar  |State: STATE_ACTIVE|Health: HEALTH_OK\nName: AqAdapter                                         |AppType: rar  |State: STATE_ACTIVE|Health: HEALTH_OK\nName: FtpAdapter                                        |AppType: rar  |State: STATE_ACTIVE|Health: HEALTH_OK\nName: SocketAdapter                                     |AppType: rar  |State: STATE_ACTIVE|Health: HEALTH_OK\n...\nName: b2bui                                             |AppType: ear  |State: STATE_ACTIVE|Health: HEALTH_OK\nName: Healthcare UI                                     |AppType: ear  |State:             |Health:\nName: DefaultToDoTaskFlow                               |AppType: ear  |State: STATE_ACTIVE|Health: HEALTH_OK\nName: composer                                          |AppType: ear  |State: STATE_ACTIVE|Health: HEALTH_OK\n...\n```\n\n### Individual Application (always full-format)\n\nIn an application, we don't output sections where there is nothing, hence there are pieces missing from this particular\napplication.  You may see a lot more data or a lot less depending.\n\n```\n$ remy applications composer\nFinding application information for composer\nName: composer                                          |AppType: ear  |State: STATE_ACTIVE|Health: HEALTH_OK\nTarget States\n        Target: SOA_Cluster                             |State: STATE_ACTIVE\nWork Managers\n        Name: default                                   |Server: WLS_SOA1      |Pending Requests: 0             |Completed Requests: 0\n        Name: wm/SOAWorkManager                         |Server: WLS_SOA1      |Pending Requests: 0             |Completed Requests: 0\n```\n\n# TODO List Prior to `1.0.0`\n\n- [ ] TONS more tests (test-first is hard for me, sorry guys)\n  - [ ] Command-Line Flag parsing Tests\n  - [X] Configuration Parsing / Flag handling\n- [ ] Pretty print formatting for responses\n  - [ ] Possible `termui` implementation\n- [ ] Enrich documentation across the board\n- [X] Configure downloadable releases\n\n# Contributing\n\nPull requests are welcome.  If you find this useful, please share and share alike.\n\n# Contact\n\nI can be reached on Twitter [@klauern](https://twitter.com/klauern) as well as on this repo.\n\n\n\n## License\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fklauern%2Fremy.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fklauern%2Fremy?ref=badge_large)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklauern%2Fremy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fklauern%2Fremy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklauern%2Fremy/lists"}