Round 196: MQTT, Redis, MongoDB, Elasticsearch, Prometheus, Grafana, AWS, Azure, GCP commands
ober
5155cf83baf008d08639c787b84e7fb01dfc9ce0
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | ebib-import-file | :orange_circle: | Import file into Ebib | | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer | +### Round 196 — MQTT, Redis, MongoDB, Elasticsearch, Prometheus, Grafana, AWS, Azure, GCP + +| Feature | Status | Notes | +|---|---|---| +| mqtt-publish-message | :orange_circle: | Publish MQTT message | +| mqtt-subscribe-topic | :orange_circle: | Subscribe to MQTT topic | +| mqtt-disconnect | :orange_circle: | Disconnect from MQTT broker | +| redis-send-command | :orange_circle: | Send Redis command | +| redis-send-region | :orange_circle: | Send region to Redis | +| redis-cli-mode | :orange_circle: | Toggle Redis CLI mode | +| mongodb-find | :orange_circle: | Run MongoDB find query | +| mongodb-insert | :orange_circle: | Insert MongoDB document | +| mongodb-shell-mode | :orange_circle: | Toggle MongoDB shell mode | +| elasticsearch-query | :orange_circle: | Run Elasticsearch query | +| elasticsearch-index-list | :orange_circle: | List Elasticsearch indices | +| prometheus-query | :orange_circle: | Execute PromQL query | +| prometheus-targets | :orange_circle: | List Prometheus targets | +| grafana-dashboard-list | :orange_circle: | List Grafana dashboards | +| grafana-dashboard-open | :orange_circle: | Open Grafana dashboard | +| aws-ec2-list-instances | :orange_circle: | List AWS EC2 instances | +| aws-s3-list-buckets | :orange_circle: | List AWS S3 buckets | +| aws-lambda-list-functions | :orange_circle: | List AWS Lambda functions | +| azure-resource-list | :orange_circle: | List Azure resources | +| gcp-project-list | :orange_circle: | List GCP projects | + ### Round 195 — Docker-ext, Docker-compose-ext, Kubernetes-ext, Vagrant-ext, Puppet-ext, Chef-ext, Saltstack-ext | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -17990,3 +17990,48 @@ (def (cmd-saltstack-apply app) (let* ((echo (app-state-echo app))) (echo-message! echo "Saltstack: applying state..."))) + +;; Round 196 — Elasticsearch-ext, Prometheus, Grafana, AWS, Azure, GCP +(def (cmd-elasticsearch-index-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Elasticsearch: listing indices"))) + +(def (cmd-prometheus-query app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "PromQL query: " + (lambda (q) + (echo-message! echo (str "Prometheus: executing " q)))))) + +(def (cmd-prometheus-targets app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Prometheus: listing targets"))) + +(def (cmd-grafana-dashboard-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Grafana: listing dashboards"))) + +(def (cmd-grafana-dashboard-open app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Dashboard name: " + (lambda (name) + (echo-message! echo (str "Grafana: opening dashboard " name)))))) + +(def (cmd-aws-ec2-list-instances app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "AWS EC2: listing instances"))) + +(def (cmd-aws-s3-list-buckets app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "AWS S3: listing buckets"))) + +(def (cmd-aws-lambda-list-functions app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "AWS Lambda: listing functions"))) + +(def (cmd-azure-resource-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Azure: listing resources"))) + +(def (cmd-gcp-project-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GCP: listing projects"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -18623,3 +18623,62 @@ (def (cmd-docker-compose-pull app) (let* ((echo (app-state-echo app))) (echo-message! echo "Docker Compose: pulling images..."))) + +;; Round 196 — MQTT, Redis, MongoDB, Elasticsearch, Prometheus, Grafana +(def (cmd-mqtt-publish-message app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "MQTT topic: " + (lambda (topic) + (echo-read-string echo "Message: " + (lambda (msg) + (echo-message! echo (str "MQTT: published to " topic)))))))) + +(def (cmd-mqtt-subscribe-topic app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Subscribe to MQTT topic: " + (lambda (topic) + (echo-message! echo (str "MQTT: subscribed to " topic)))))) + +(def (cmd-mqtt-disconnect app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "MQTT: disconnected from broker"))) + +(def (cmd-redis-send-command app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Redis command: " + (lambda (cmd) + (echo-message! echo (str "Redis: " cmd)))))) + +(def (cmd-redis-send-region app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Redis: sent region to server"))) + +(def (cmd-redis-cli-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'redis-cli) + (if (mode-enabled? app 'redis-cli) + (echo-message! echo "Redis CLI mode enabled") + (echo-message! echo "Redis CLI mode disabled")))) + +(def (cmd-mongodb-find app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "MongoDB query: " + (lambda (q) + (echo-message! echo (str "MongoDB: find " q)))))) + +(def (cmd-mongodb-insert app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "MongoDB: inserted document"))) + +(def (cmd-mongodb-shell-mode app) + (let* ((echo (app-state-echo app))) + (toggle-mode! app 'mongodb-shell) + (if (mode-enabled? app 'mongodb-shell) + (echo-message! echo "MongoDB shell mode enabled") + (echo-message! echo "MongoDB shell mode disabled")))) + +(def (cmd-elasticsearch-query app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Elasticsearch query: " + (lambda (q) + (echo-message! echo (str "Elasticsearch: querying " q)))))) --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -5549,4 +5549,25 @@ (register-command! 'puppet-lint cmd-puppet-lint) (register-command! 'chef-resource-lookup cmd-chef-resource-lookup) (register-command! 'saltstack-apply cmd-saltstack-apply) + ;; Round 196 + (register-command! 'mqtt-publish-message cmd-mqtt-publish-message) + (register-command! 'mqtt-subscribe-topic cmd-mqtt-subscribe-topic) + (register-command! 'mqtt-disconnect cmd-mqtt-disconnect) + (register-command! 'redis-send-command cmd-redis-send-command) + (register-command! 'redis-send-region cmd-redis-send-region) + (register-command! 'redis-cli-mode cmd-redis-cli-mode) + (register-command! 'mongodb-find cmd-mongodb-find) + (register-command! 'mongodb-insert cmd-mongodb-insert) + (register-command! 'mongodb-shell-mode cmd-mongodb-shell-mode) + (register-command! 'elasticsearch-query cmd-elasticsearch-query) + (register-command! 'elasticsearch-index-list cmd-elasticsearch-index-list) + (register-command! 'prometheus-query cmd-prometheus-query) + (register-command! 'prometheus-targets cmd-prometheus-targets) + (register-command! 'grafana-dashboard-list cmd-grafana-dashboard-list) + (register-command! 'grafana-dashboard-open cmd-grafana-dashboard-open) + (register-command! 'aws-ec2-list-instances cmd-aws-ec2-list-instances) + (register-command! 'aws-s3-list-buckets cmd-aws-s3-list-buckets) + (register-command! 'aws-lambda-list-functions cmd-aws-lambda-list-functions) + (register-command! 'azure-resource-list cmd-azure-resource-list) + (register-command! 'gcp-project-list cmd-gcp-project-list) )