Round 258: Prometheus ext, Grafana ext, AWS ext, GCP ext, Azure ext (20 commands)
ober
bdee867840f65a9044743c88b89add86670c58da
--- 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 258 — Prometheus ext, Grafana ext, AWS ext, GCP ext, Azure ext + +| Command | Status | Description | +|---------|--------|-------------| +| prometheus-alerts | :orange_circle: | List active Prometheus alerts | +| prometheus-rules | :orange_circle: | List Prometheus rules | +| prometheus-graph | :orange_circle: | Graph a PromQL query | +| grafana-panel-view | :orange_circle: | View a Grafana panel | +| grafana-alert-rules | :orange_circle: | List Grafana alert rules | +| grafana-datasource-list | :orange_circle: | List Grafana datasources | +| grafana-annotation-add | :orange_circle: | Add a Grafana annotation | +| aws-cloudwatch-logs | :orange_circle: | View AWS CloudWatch logs | +| aws-iam-list-users | :orange_circle: | List AWS IAM users | +| aws-sns-list-topics | :orange_circle: | List AWS SNS topics | +| aws-sqs-list-queues | :orange_circle: | List AWS SQS queues | +| aws-rds-list-instances | :orange_circle: | List AWS RDS instances | +| aws-ecs-list-clusters | :orange_circle: | List AWS ECS clusters | +| gcp-compute-list | :orange_circle: | List GCP compute instances | +| gcp-storage-list | :orange_circle: | List GCP storage buckets | +| gcp-pubsub-topics | :orange_circle: | List GCP Pub/Sub topics | +| gcp-functions-list | :orange_circle: | List GCP Cloud Functions | +| gcp-iam-roles | :orange_circle: | List GCP IAM roles | +| azure-vm-list | :orange_circle: | List Azure virtual machines | +| azure-storage-list | :orange_circle: | List Azure storage accounts | + ### Round 257 — Chef ext, Salt ext, Nix ext, Guix ext | Command | Status | Description | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -20905,4 +20905,46 @@ (def (cmd-guix-describe app) (let* ((echo (app-state-echo app))) - (echo-message! echo "Guix: describing current profile"))) \ No newline at end of file + (echo-message! echo "Guix: describing current profile"))) + +;;; Round 258 — AWS ext, GCP ext, Azure ext (batch 2) + +(def (cmd-aws-sqs-list-queues app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "AWS: listing SQS queues"))) + +(def (cmd-aws-rds-list-instances app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "AWS: listing RDS instances"))) + +(def (cmd-aws-ecs-list-clusters app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "AWS: listing ECS clusters"))) + +(def (cmd-gcp-compute-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GCP: listing compute instances"))) + +(def (cmd-gcp-storage-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GCP: listing storage buckets"))) + +(def (cmd-gcp-pubsub-topics app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GCP: listing Pub/Sub topics"))) + +(def (cmd-gcp-functions-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GCP: listing Cloud Functions"))) + +(def (cmd-gcp-iam-roles app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GCP: listing IAM roles"))) + +(def (cmd-azure-vm-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Azure: listing virtual machines"))) + +(def (cmd-azure-storage-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Azure: listing storage accounts"))) \ No newline at end of file --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -21522,3 +21522,53 @@ (let* ((echo (app-state-echo app))) (echo-message! echo "Salt: listing grains"))) +;;; Round 258 — Prometheus ext, Grafana ext, AWS ext, GCP ext, Azure ext (batch 1) + +(def (cmd-prometheus-alerts app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Prometheus: listing active alerts"))) + +(def (cmd-prometheus-rules app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Prometheus: listing rules"))) + +(def (cmd-prometheus-graph app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "PromQL query: " + (lambda (query) + (echo-message! echo (str "Prometheus: graphing " query)))))) + +(def (cmd-grafana-panel-view app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Panel ID: " + (lambda (id) + (echo-message! echo (str "Grafana: viewing panel " id)))))) + +(def (cmd-grafana-alert-rules app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Grafana: listing alert rules"))) + +(def (cmd-grafana-datasource-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Grafana: listing datasources"))) + +(def (cmd-grafana-annotation-add app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Annotation text: " + (lambda (text) + (echo-message! echo (str "Grafana: added annotation: " text)))))) + +(def (cmd-aws-cloudwatch-logs app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Log group: " + (lambda (group) + (echo-message! echo (str "AWS: viewing CloudWatch logs for " group)))))) + +(def (cmd-aws-iam-list-users app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "AWS: listing IAM users"))) + +(def (cmd-aws-sns-list-topics app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "AWS: listing SNS topics"))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -6835,4 +6835,25 @@ (register-command! 'guix-system-shepherd-status cmd-guix-system-shepherd-status) (register-command! 'guix-size cmd-guix-size) (register-command! 'guix-describe cmd-guix-describe) + ;; Round 258 + (register-command! 'prometheus-alerts cmd-prometheus-alerts) + (register-command! 'prometheus-rules cmd-prometheus-rules) + (register-command! 'prometheus-graph cmd-prometheus-graph) + (register-command! 'grafana-panel-view cmd-grafana-panel-view) + (register-command! 'grafana-alert-rules cmd-grafana-alert-rules) + (register-command! 'grafana-datasource-list cmd-grafana-datasource-list) + (register-command! 'grafana-annotation-add cmd-grafana-annotation-add) + (register-command! 'aws-cloudwatch-logs cmd-aws-cloudwatch-logs) + (register-command! 'aws-iam-list-users cmd-aws-iam-list-users) + (register-command! 'aws-sns-list-topics cmd-aws-sns-list-topics) + (register-command! 'aws-sqs-list-queues cmd-aws-sqs-list-queues) + (register-command! 'aws-rds-list-instances cmd-aws-rds-list-instances) + (register-command! 'aws-ecs-list-clusters cmd-aws-ecs-list-clusters) + (register-command! 'gcp-compute-list cmd-gcp-compute-list) + (register-command! 'gcp-storage-list cmd-gcp-storage-list) + (register-command! 'gcp-pubsub-topics cmd-gcp-pubsub-topics) + (register-command! 'gcp-functions-list cmd-gcp-functions-list) + (register-command! 'gcp-iam-roles cmd-gcp-iam-roles) + (register-command! 'azure-vm-list cmd-azure-vm-list) + (register-command! 'azure-storage-list cmd-azure-storage-list) )