{ "version": 4, "terraform_version": "1.15.6", "serial": 19, "lineage": "e4ea037b-4cc0-6b11-c7c6-7c3c1f968e04", "outputs": { "explorer_url": { "value": "http://localhost:30088", "type": "string" }, "fleet": { "value": { "drones": 5, "flight_duration_s": 300, "speedup": 2 }, "type": [ "object", { "drones": "number", "flight_duration_s": "number", "speedup": "number" } ] }, "grafana_url": { "value": "http://localhost:30300", "type": "string" }, "prometheus_url": { "value": "http://localhost:30990", "type": "string" } }, "resources": [ { "mode": "managed", "type": "kubernetes_config_map", "name": "grafana_dashboard", "provider": "provider[\"registry.terraform.io/hashicorp/kubernetes\"]", "instances": [ { "schema_version": 0, "attributes": { "binary_data": {}, "data": { "swarm.json": "{\n \"uid\": \"swarm-fleet\",\n \"title\": \"Swarm Fleet — generated data\",\n \"tags\": [\"swarm\"],\n \"timezone\": \"utc\",\n \"schemaVersion\": 39,\n \"version\": 1,\n \"refresh\": \"5s\",\n \"time\": { \"from\": \"now-15m\", \"to\": \"now\" },\n \"panels\": [\n {\n \"id\": 1, \"type\": \"stat\", \"title\": \"Telemetry rows\",\n \"gridPos\": { \"h\": 5, \"w\": 4, \"x\": 0, \"y\": 0 },\n \"datasource\": { \"type\": \"prometheus\", \"uid\": \"swarm-prom\" },\n \"targets\": [{ \"expr\": \"sum(swarm_rows_total)\", \"instant\": true, \"refId\": \"A\" }],\n \"options\": { \"reduceOptions\": { \"calcs\": [\"lastNotNull\"] }, \"colorMode\": \"value\" },\n \"fieldConfig\": { \"defaults\": { \"unit\": \"short\", \"color\": { \"mode\": \"fixed\", \"fixedColor\": \"blue\" } }, \"overrides\": [] }\n },\n {\n \"id\": 2, \"type\": \"stat\", \"title\": \"Detections\",\n \"gridPos\": { \"h\": 5, \"w\": 4, \"x\": 4, \"y\": 0 },\n \"datasource\": { \"type\": \"prometheus\", \"uid\": \"swarm-prom\" },\n \"targets\": [{ \"expr\": \"sum(swarm_detections_total)\", \"instant\": true, \"refId\": \"A\" }],\n \"options\": { \"reduceOptions\": { \"calcs\": [\"lastNotNull\"] }, \"colorMode\": \"value\" },\n \"fieldConfig\": { \"defaults\": { \"unit\": \"short\", \"color\": { \"mode\": \"fixed\", \"fixedColor\": \"green\" } }, \"overrides\": [] }\n },\n {\n \"id\": 3, \"type\": \"stat\", \"title\": \"Pose frames (sent+received)\",\n \"gridPos\": { \"h\": 5, \"w\": 4, \"x\": 8, \"y\": 0 },\n \"datasource\": { \"type\": \"prometheus\", \"uid\": \"swarm-prom\" },\n \"targets\": [{ \"expr\": \"sum(swarm_state_frames_total)\", \"instant\": true, \"refId\": \"A\" }],\n \"options\": { \"reduceOptions\": { \"calcs\": [\"lastNotNull\"] }, \"colorMode\": \"value\" },\n \"fieldConfig\": { \"defaults\": { \"unit\": \"short\" }, \"overrides\": [] }\n },\n {\n \"id\": 4, \"type\": \"stat\", \"title\": \"Parquet on disk\",\n \"gridPos\": { \"h\": 5, \"w\": 4, \"x\": 12, \"y\": 0 },\n \"datasource\": { \"type\": \"prometheus\", \"uid\": \"swarm-prom\" },\n \"targets\": [{ \"expr\": \"sum(swarm_parquet_bytes)\", \"instant\": true, \"refId\": \"A\" }],\n \"options\": { \"reduceOptions\": { \"calcs\": [\"lastNotNull\"] }, \"colorMode\": \"value\" },\n \"fieldConfig\": { \"defaults\": { \"unit\": \"bytes\", \"color\": { \"mode\": \"fixed\", \"fixedColor\": \"purple\" } }, \"overrides\": [] }\n },\n {\n \"id\": 5, \"type\": \"stat\", \"title\": \"Parquet files\",\n \"gridPos\": { \"h\": 5, \"w\": 4, \"x\": 16, \"y\": 0 },\n \"datasource\": { \"type\": \"prometheus\", \"uid\": \"swarm-prom\" },\n \"targets\": [{ \"expr\": \"swarm_parquet_files\", \"instant\": true, \"refId\": \"A\" }],\n \"options\": { \"reduceOptions\": { \"calcs\": [\"lastNotNull\"] } },\n \"fieldConfig\": { \"defaults\": { \"unit\": \"short\" }, \"overrides\": [] }\n },\n {\n \"id\": 6, \"type\": \"gauge\", \"title\": \"Fleet battery (min)\",\n \"gridPos\": { \"h\": 5, \"w\": 4, \"x\": 20, \"y\": 0 },\n \"datasource\": { \"type\": \"prometheus\", \"uid\": \"swarm-prom\" },\n \"targets\": [{ \"expr\": \"min(swarm_battery_pct)\", \"instant\": true, \"refId\": \"A\" }],\n \"fieldConfig\": {\n \"defaults\": {\n \"unit\": \"percent\", \"min\": 0, \"max\": 100,\n \"thresholds\": { \"mode\": \"absolute\", \"steps\": [\n { \"color\": \"red\", \"value\": null }, { \"color\": \"yellow\", \"value\": 30 }, { \"color\": \"green\", \"value\": 60 }\n ] }\n }, \"overrides\": []\n }\n },\n {\n \"id\": 7, \"type\": \"timeseries\", \"title\": \"Telemetry rows by drone\",\n \"gridPos\": { \"h\": 8, \"w\": 12, \"x\": 0, \"y\": 5 },\n \"datasource\": { \"type\": \"prometheus\", \"uid\": \"swarm-prom\" },\n \"targets\": [{ \"expr\": \"sum by (drone) (swarm_rows_total)\", \"legendFormat\": \"{{drone}}\", \"refId\": \"A\" }],\n \"fieldConfig\": { \"defaults\": { \"unit\": \"short\", \"custom\": { \"fillOpacity\": 12 } }, \"overrides\": [] }\n },\n {\n \"id\": 8, \"type\": \"timeseries\", \"title\": \"Rows by sensor (fleet)\",\n \"gridPos\": { \"h\": 8, \"w\": 12, \"x\": 12, \"y\": 5 },\n \"datasource\": { \"type\": \"prometheus\", \"uid\": \"swarm-prom\" },\n \"targets\": [{ \"expr\": \"sum by (sensor) (swarm_rows_total)\", \"legendFormat\": \"{{sensor}}\", \"refId\": \"A\" }],\n \"fieldConfig\": { \"defaults\": { \"unit\": \"short\", \"custom\": { \"fillOpacity\": 12 } }, \"overrides\": [] }\n },\n {\n \"id\": 9, \"type\": \"timeseries\", \"title\": \"Battery per drone\",\n \"gridPos\": { \"h\": 8, \"w\": 8, \"x\": 0, \"y\": 13 },\n \"datasource\": { \"type\": \"prometheus\", \"uid\": \"swarm-prom\" },\n \"targets\": [{ \"expr\": \"swarm_battery_pct\", \"legendFormat\": \"{{drone}}\", \"refId\": \"A\" }],\n \"fieldConfig\": { \"defaults\": { \"unit\": \"percent\", \"min\": 0, \"max\": 100 }, \"overrides\": [] }\n },\n {\n \"id\": 10, \"type\": \"timeseries\", \"title\": \"RSSI per link\",\n \"gridPos\": { \"h\": 8, \"w\": 8, \"x\": 8, \"y\": 13 },\n \"datasource\": { \"type\": \"prometheus\", \"uid\": \"swarm-prom\" },\n \"targets\": [{ \"expr\": \"swarm_rssi_dbm\", \"legendFormat\": \"{{drone}} ← {{peer}}\", \"refId\": \"A\" }],\n \"fieldConfig\": { \"defaults\": { \"unit\": \"dBm\" }, \"overrides\": [] }\n },\n {\n \"id\": 11, \"type\": \"timeseries\", \"title\": \"Inter-drone distance\",\n \"gridPos\": { \"h\": 8, \"w\": 8, \"x\": 16, \"y\": 13 },\n \"datasource\": { \"type\": \"prometheus\", \"uid\": \"swarm-prom\" },\n \"targets\": [{ \"expr\": \"swarm_peer_distance_m\", \"legendFormat\": \"{{drone}} ↔ {{peer}}\", \"refId\": \"A\" }],\n \"fieldConfig\": { \"defaults\": { \"unit\": \"lengthm\" }, \"overrides\": [] }\n },\n {\n \"id\": 12, \"type\": \"bargauge\", \"title\": \"Detections by class\",\n \"gridPos\": { \"h\": 7, \"w\": 12, \"x\": 0, \"y\": 21 },\n \"datasource\": { \"type\": \"prometheus\", \"uid\": \"swarm-prom\" },\n \"targets\": [{ \"expr\": \"sum by (cls) (swarm_detections_total)\", \"legendFormat\": \"{{cls}}\", \"instant\": true, \"refId\": \"A\" }],\n \"options\": { \"displayMode\": \"gradient\", \"orientation\": \"horizontal\", \"reduceOptions\": { \"calcs\": [\"lastNotNull\"] } },\n \"fieldConfig\": { \"defaults\": { \"unit\": \"short\", \"color\": { \"mode\": \"continuous-GrYlRd\" } }, \"overrides\": [] }\n },\n {\n \"id\": 13, \"type\": \"timeseries\", \"title\": \"Pose frames by direction\",\n \"gridPos\": { \"h\": 7, \"w\": 12, \"x\": 12, \"y\": 21 },\n \"datasource\": { \"type\": \"prometheus\", \"uid\": \"swarm-prom\" },\n \"targets\": [{ \"expr\": \"sum by (drone, direction) (swarm_state_frames_total)\", \"legendFormat\": \"{{drone}} {{direction}}\", \"refId\": \"A\" }],\n \"fieldConfig\": { \"defaults\": { \"unit\": \"short\", \"custom\": { \"fillOpacity\": 8 } }, \"overrides\": [] }\n }\n ]\n}\n" }, "id": "swarm/grafana-dashboard", "immutable": false, "metadata": [ { "annotations": {}, "generate_name": "", "generation": 0, "labels": {}, "name": "grafana-dashboard", "namespace": "swarm", "resource_version": "476", "uid": "31523ebd-1116-4e3e-a9a0-cdb01d4b8e37" } ] }, "sensitive_attributes": [], "identity_schema_version": 1, "identity": { "api_version": "v1", "kind": "ConfigMap", "name": "grafana-dashboard", "namespace": "swarm" }, "private": "bnVsbA==", "dependencies": [ "kubernetes_namespace.swarm" ] } ] }, { "mode": "managed", "type": "kubernetes_config_map", "name": "grafana_provisioning", "provider": "provider[\"registry.terraform.io/hashicorp/kubernetes\"]", "instances": [ { "schema_version": 0, "attributes": { "binary_data": {}, "data": { "dashboards.yml": "apiVersion: 1\nproviders:\n - name: swarm\n folder: \"\"\n type: file\n options:\n path: /var/lib/grafana/dashboards\n", "datasource.yml": "apiVersion: 1\ndatasources:\n - name: Prometheus\n type: prometheus\n access: proxy\n url: http://prometheus:9090\n isDefault: true\n" }, "id": "swarm/grafana-provisioning", "immutable": false, "metadata": [ { "annotations": {}, "generate_name": "", "generation": 0, "labels": {}, "name": "grafana-provisioning", "namespace": "swarm", "resource_version": "475", "uid": "a26bceb4-8ae8-42c5-ba0b-99f2e66f8765" } ] }, "sensitive_attributes": [], "identity_schema_version": 1, "identity": { "api_version": "v1", "kind": "ConfigMap", "name": "grafana-provisioning", "namespace": "swarm" }, "private": "bnVsbA==", "dependencies": [ "kubernetes_namespace.swarm" ] } ] }, { "mode": "managed", "type": "kubernetes_config_map", "name": "prometheus", "provider": "provider[\"registry.terraform.io/hashicorp/kubernetes\"]", "instances": [ { "schema_version": 0, "attributes": { "binary_data": {}, "data": { "prometheus.yml": "global:\n scrape_interval: 5s\nscrape_configs:\n - job_name: swarm\n static_configs:\n - targets: [\"exporter:9105\"]\n" }, "id": "swarm/prometheus-config", "immutable": false, "metadata": [ { "annotations": {}, "generate_name": "", "generation": 0, "labels": {}, "name": "prometheus-config", "namespace": "swarm", "resource_version": "477", "uid": "07c719f5-19df-4761-af3e-6c847ea1fbc7" } ] }, "sensitive_attributes": [], "identity_schema_version": 1, "identity": { "api_version": "v1", "kind": "ConfigMap", "name": "prometheus-config", "namespace": "swarm" }, "private": "bnVsbA==", "dependencies": [ "kubernetes_namespace.swarm" ] } ] }, { "mode": "managed", "type": "kubernetes_deployment", "name": "explorer", "provider": "provider[\"registry.terraform.io/hashicorp/kubernetes\"]", "instances": [ { "schema_version": 1, "attributes": { "id": "swarm/explorer", "metadata": [ { "annotations": {}, "generate_name": "", "generation": 2, "labels": { "app.kubernetes.io/part-of": "swarm-sim" }, "name": "explorer", "namespace": "swarm", "resource_version": "6307", "uid": "b20f626f-fe4d-4052-9d65-ed938b359ad5" } ], "spec": [ { "min_ready_seconds": 0, "paused": false, "progress_deadline_seconds": 600, "replicas": "1", "revision_history_limit": 10, "selector": [ { "match_expressions": [], "match_labels": { "app": "explorer" } } ], "strategy": [ { "rolling_update": [ { "max_surge": "25%", "max_unavailable": "25%" } ], "type": "RollingUpdate" } ], "template": [ { "metadata": [ { "annotations": {}, "generate_name": "", "generation": 0, "labels": { "app": "explorer", "app.kubernetes.io/part-of": "swarm-sim" }, "name": "", "namespace": "", "resource_version": "", "uid": "" } ], "spec": [ { "active_deadline_seconds": 0, "affinity": [], "automount_service_account_token": true, "container": [ { "args": [], "command": [ "python", "explorer/server.py" ], "env": [ { "name": "DATA_DIR", "value": "/data", "value_from": [] }, { "name": "EXPLORER_PORT", "value": "8088", "value_from": [] } ], "env_from": [], "image": "swarm-house/simulator:dev", "image_pull_policy": "Never", "lifecycle": [], "liveness_probe": [], "name": "explorer", "port": [ { "container_port": 8088, "host_ip": "", "host_port": 0, "name": "", "protocol": "TCP" } ], "readiness_probe": [], "resources": [ { "limits": {}, "requests": {} } ], "security_context": [], "startup_probe": [], "stdin": false, "stdin_once": false, "termination_message_path": "/dev/termination-log", "termination_message_policy": "File", "tty": false, "volume_device": [], "volume_mount": [ { "mount_path": "/data", "mount_propagation": "None", "name": "lake", "read_only": true, "sub_path": "", "sub_path_expr": "" } ], "working_dir": "" } ], "dns_config": [], "dns_policy": "ClusterFirst", "enable_service_links": true, "host_aliases": [], "host_ipc": false, "host_network": false, "host_pid": false, "hostname": "", "image_pull_secrets": [], "init_container": [], "node_name": "", "node_selector": {}, "os": [], "priority_class_name": "", "readiness_gate": [], "restart_policy": "Always", "runtime_class_name": "", "scheduler_name": "default-scheduler", "security_context": [], "service_account_name": "", "share_process_namespace": false, "subdomain": "", "termination_grace_period_seconds": 30, "toleration": [], "topology_spread_constraint": [], "volume": [ { "aws_elastic_block_store": [], "azure_disk": [], "azure_file": [], "ceph_fs": [], "cinder": [], "config_map": [], "csi": [], "downward_api": [], "empty_dir": [], "ephemeral": [], "fc": [], "flex_volume": [], "flocker": [], "gce_persistent_disk": [], "git_repo": [], "glusterfs": [], "host_path": [ { "path": "/data", "type": "" } ], "iscsi": [], "local": [], "name": "lake", "nfs": [], "persistent_volume_claim": [], "photon_persistent_disk": [], "projected": [], "quobyte": [], "rbd": [], "secret": [], "vsphere_volume": [] } ] } ] } ] } ], "timeouts": null, "wait_for_rollout": true }, "sensitive_attributes": [], "identity_schema_version": 1, "identity": { "api_version": "apps/v1", "kind": "Deployment", "name": "explorer", "namespace": "swarm" }, "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", "dependencies": [ "kubernetes_namespace.swarm" ] } ] }, { "mode": "managed", "type": "kubernetes_deployment", "name": "exporter", "provider": "provider[\"registry.terraform.io/hashicorp/kubernetes\"]", "instances": [ { "schema_version": 1, "attributes": { "id": "swarm/exporter", "metadata": [ { "annotations": {}, "generate_name": "", "generation": 2, "labels": { "app.kubernetes.io/part-of": "swarm-sim" }, "name": "exporter", "namespace": "swarm", "resource_version": "6311", "uid": "60740b0c-e61d-4577-878e-929ee27ce6d7" } ], "spec": [ { "min_ready_seconds": 0, "paused": false, "progress_deadline_seconds": 600, "replicas": "1", "revision_history_limit": 10, "selector": [ { "match_expressions": [], "match_labels": { "app": "exporter" } } ], "strategy": [ { "rolling_update": [ { "max_surge": "25%", "max_unavailable": "25%" } ], "type": "RollingUpdate" } ], "template": [ { "metadata": [ { "annotations": {}, "generate_name": "", "generation": 0, "labels": { "app": "exporter", "app.kubernetes.io/part-of": "swarm-sim" }, "name": "", "namespace": "", "resource_version": "", "uid": "" } ], "spec": [ { "active_deadline_seconds": 0, "affinity": [], "automount_service_account_token": true, "container": [ { "args": [], "command": [ "python", "monitoring/exporter.py" ], "env": [ { "name": "DATA_DIR", "value": "/data", "value_from": [] }, { "name": "EXPORTER_PORT", "value": "9105", "value_from": [] } ], "env_from": [], "image": "swarm-house/simulator:dev", "image_pull_policy": "Never", "lifecycle": [], "liveness_probe": [], "name": "exporter", "port": [ { "container_port": 9105, "host_ip": "", "host_port": 0, "name": "", "protocol": "TCP" } ], "readiness_probe": [], "resources": [ { "limits": {}, "requests": {} } ], "security_context": [], "startup_probe": [], "stdin": false, "stdin_once": false, "termination_message_path": "/dev/termination-log", "termination_message_policy": "File", "tty": false, "volume_device": [], "volume_mount": [ { "mount_path": "/data", "mount_propagation": "None", "name": "lake", "read_only": true, "sub_path": "", "sub_path_expr": "" } ], "working_dir": "" } ], "dns_config": [], "dns_policy": "ClusterFirst", "enable_service_links": true, "host_aliases": [], "host_ipc": false, "host_network": false, "host_pid": false, "hostname": "", "image_pull_secrets": [], "init_container": [], "node_name": "", "node_selector": {}, "os": [], "priority_class_name": "", "readiness_gate": [], "restart_policy": "Always", "runtime_class_name": "", "scheduler_name": "default-scheduler", "security_context": [], "service_account_name": "", "share_process_namespace": false, "subdomain": "", "termination_grace_period_seconds": 30, "toleration": [], "topology_spread_constraint": [], "volume": [ { "aws_elastic_block_store": [], "azure_disk": [], "azure_file": [], "ceph_fs": [], "cinder": [], "config_map": [], "csi": [], "downward_api": [], "empty_dir": [], "ephemeral": [], "fc": [], "flex_volume": [], "flocker": [], "gce_persistent_disk": [], "git_repo": [], "glusterfs": [], "host_path": [ { "path": "/data", "type": "" } ], "iscsi": [], "local": [], "name": "lake", "nfs": [], "persistent_volume_claim": [], "photon_persistent_disk": [], "projected": [], "quobyte": [], "rbd": [], "secret": [], "vsphere_volume": [] } ] } ] } ] } ], "timeouts": null, "wait_for_rollout": true }, "sensitive_attributes": [], "identity_schema_version": 1, "identity": { "api_version": "apps/v1", "kind": "Deployment", "name": "exporter", "namespace": "swarm" }, "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", "dependencies": [ "kubernetes_namespace.swarm" ] } ] }, { "mode": "managed", "type": "kubernetes_deployment", "name": "grafana", "provider": "provider[\"registry.terraform.io/hashicorp/kubernetes\"]", "instances": [ { "schema_version": 1, "attributes": { "id": "swarm/grafana", "metadata": [ { "annotations": {}, "generate_name": "", "generation": 1, "labels": { "app.kubernetes.io/part-of": "swarm-sim" }, "name": "grafana", "namespace": "swarm", "resource_version": "665", "uid": "32db5903-64e3-45aa-a6a2-432004b59cd9" } ], "spec": [ { "min_ready_seconds": 0, "paused": false, "progress_deadline_seconds": 600, "replicas": "1", "revision_history_limit": 10, "selector": [ { "match_expressions": [], "match_labels": { "app": "grafana" } } ], "strategy": [ { "rolling_update": [ { "max_surge": "25%", "max_unavailable": "25%" } ], "type": "RollingUpdate" } ], "template": [ { "metadata": [ { "annotations": {}, "generate_name": "", "generation": 0, "labels": { "app": "grafana", "app.kubernetes.io/part-of": "swarm-sim" }, "name": "", "namespace": "", "resource_version": "", "uid": "" } ], "spec": [ { "active_deadline_seconds": 0, "affinity": [], "automount_service_account_token": true, "container": [ { "args": [], "command": [], "env": [ { "name": "GF_AUTH_ANONYMOUS_ENABLED", "value": "true", "value_from": [] }, { "name": "GF_AUTH_ANONYMOUS_ORG_ROLE", "value": "Admin", "value_from": [] }, { "name": "GF_AUTH_DISABLE_LOGIN_FORM", "value": "true", "value_from": [] }, { "name": "GF_ANALYTICS_REPORTING_ENABLED", "value": "false", "value_from": [] }, { "name": "GF_ANALYTICS_CHECK_FOR_UPDATES", "value": "false", "value_from": [] }, { "name": "GF_ANALYTICS_CHECK_FOR_PLUGIN_UPDATES", "value": "false", "value_from": [] } ], "env_from": [], "image": "grafana/grafana:11.1.0", "image_pull_policy": "IfNotPresent", "lifecycle": [], "liveness_probe": [], "name": "grafana", "port": [ { "container_port": 3000, "host_ip": "", "host_port": 0, "name": "", "protocol": "TCP" } ], "readiness_probe": [], "resources": [ { "limits": {}, "requests": {} } ], "security_context": [], "startup_probe": [], "stdin": false, "stdin_once": false, "termination_message_path": "/dev/termination-log", "termination_message_policy": "File", "tty": false, "volume_device": [], "volume_mount": [ { "mount_path": "/etc/grafana/provisioning/datasources", "mount_propagation": "None", "name": "provisioning-datasources", "read_only": false, "sub_path": "", "sub_path_expr": "" }, { "mount_path": "/etc/grafana/provisioning/dashboards", "mount_propagation": "None", "name": "provisioning-dashboards", "read_only": false, "sub_path": "", "sub_path_expr": "" }, { "mount_path": "/var/lib/grafana/dashboards", "mount_propagation": "None", "name": "dashboards", "read_only": false, "sub_path": "", "sub_path_expr": "" } ], "working_dir": "" } ], "dns_config": [], "dns_policy": "ClusterFirst", "enable_service_links": true, "host_aliases": [], "host_ipc": false, "host_network": false, "host_pid": false, "hostname": "", "image_pull_secrets": [], "init_container": [], "node_name": "", "node_selector": {}, "os": [], "priority_class_name": "", "readiness_gate": [], "restart_policy": "Always", "runtime_class_name": "", "scheduler_name": "default-scheduler", "security_context": [], "service_account_name": "", "share_process_namespace": false, "subdomain": "", "termination_grace_period_seconds": 30, "toleration": [], "topology_spread_constraint": [], "volume": [ { "aws_elastic_block_store": [], "azure_disk": [], "azure_file": [], "ceph_fs": [], "cinder": [], "config_map": [ { "default_mode": "0644", "items": [ { "key": "datasource.yml", "mode": "", "path": "datasource.yml" } ], "name": "grafana-provisioning", "optional": false } ], "csi": [], "downward_api": [], "empty_dir": [], "ephemeral": [], "fc": [], "flex_volume": [], "flocker": [], "gce_persistent_disk": [], "git_repo": [], "glusterfs": [], "host_path": [], "iscsi": [], "local": [], "name": "provisioning-datasources", "nfs": [], "persistent_volume_claim": [], "photon_persistent_disk": [], "projected": [], "quobyte": [], "rbd": [], "secret": [], "vsphere_volume": [] }, { "aws_elastic_block_store": [], "azure_disk": [], "azure_file": [], "ceph_fs": [], "cinder": [], "config_map": [ { "default_mode": "0644", "items": [ { "key": "dashboards.yml", "mode": "", "path": "dashboards.yml" } ], "name": "grafana-provisioning", "optional": false } ], "csi": [], "downward_api": [], "empty_dir": [], "ephemeral": [], "fc": [], "flex_volume": [], "flocker": [], "gce_persistent_disk": [], "git_repo": [], "glusterfs": [], "host_path": [], "iscsi": [], "local": [], "name": "provisioning-dashboards", "nfs": [], "persistent_volume_claim": [], "photon_persistent_disk": [], "projected": [], "quobyte": [], "rbd": [], "secret": [], "vsphere_volume": [] }, { "aws_elastic_block_store": [], "azure_disk": [], "azure_file": [], "ceph_fs": [], "cinder": [], "config_map": [ { "default_mode": "0644", "items": [], "name": "grafana-dashboard", "optional": false } ], "csi": [], "downward_api": [], "empty_dir": [], "ephemeral": [], "fc": [], "flex_volume": [], "flocker": [], "gce_persistent_disk": [], "git_repo": [], "glusterfs": [], "host_path": [], "iscsi": [], "local": [], "name": "dashboards", "nfs": [], "persistent_volume_claim": [], "photon_persistent_disk": [], "projected": [], "quobyte": [], "rbd": [], "secret": [], "vsphere_volume": [] } ] } ] } ] } ], "timeouts": null, "wait_for_rollout": true }, "sensitive_attributes": [], "identity_schema_version": 1, "identity": { "api_version": "apps/v1", "kind": "Deployment", "name": "grafana", "namespace": "swarm" }, "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", "dependencies": [ "kubernetes_config_map.grafana_dashboard", "kubernetes_config_map.grafana_provisioning", "kubernetes_namespace.swarm" ] } ] }, { "mode": "managed", "type": "kubernetes_deployment", "name": "prometheus", "provider": "provider[\"registry.terraform.io/hashicorp/kubernetes\"]", "instances": [ { "schema_version": 1, "attributes": { "id": "swarm/prometheus", "metadata": [ { "annotations": {}, "generate_name": "", "generation": 1, "labels": { "app.kubernetes.io/part-of": "swarm-sim" }, "name": "prometheus", "namespace": "swarm", "resource_version": "653", "uid": "2b48ee10-c5fa-422a-9843-2ed54be51015" } ], "spec": [ { "min_ready_seconds": 0, "paused": false, "progress_deadline_seconds": 600, "replicas": "1", "revision_history_limit": 10, "selector": [ { "match_expressions": [], "match_labels": { "app": "prometheus" } } ], "strategy": [ { "rolling_update": [ { "max_surge": "25%", "max_unavailable": "25%" } ], "type": "RollingUpdate" } ], "template": [ { "metadata": [ { "annotations": {}, "generate_name": "", "generation": 0, "labels": { "app": "prometheus", "app.kubernetes.io/part-of": "swarm-sim" }, "name": "", "namespace": "", "resource_version": "", "uid": "" } ], "spec": [ { "active_deadline_seconds": 0, "affinity": [], "automount_service_account_token": true, "container": [ { "args": [], "command": [], "env": [], "env_from": [], "image": "prom/prometheus:v2.53.0", "image_pull_policy": "IfNotPresent", "lifecycle": [], "liveness_probe": [], "name": "prometheus", "port": [ { "container_port": 9090, "host_ip": "", "host_port": 0, "name": "", "protocol": "TCP" } ], "readiness_probe": [], "resources": [ { "limits": {}, "requests": {} } ], "security_context": [], "startup_probe": [], "stdin": false, "stdin_once": false, "termination_message_path": "/dev/termination-log", "termination_message_policy": "File", "tty": false, "volume_device": [], "volume_mount": [ { "mount_path": "/etc/prometheus", "mount_propagation": "None", "name": "config", "read_only": false, "sub_path": "", "sub_path_expr": "" } ], "working_dir": "" } ], "dns_config": [], "dns_policy": "ClusterFirst", "enable_service_links": true, "host_aliases": [], "host_ipc": false, "host_network": false, "host_pid": false, "hostname": "", "image_pull_secrets": [], "init_container": [], "node_name": "", "node_selector": {}, "os": [], "priority_class_name": "", "readiness_gate": [], "restart_policy": "Always", "runtime_class_name": "", "scheduler_name": "default-scheduler", "security_context": [], "service_account_name": "", "share_process_namespace": false, "subdomain": "", "termination_grace_period_seconds": 30, "toleration": [], "topology_spread_constraint": [], "volume": [ { "aws_elastic_block_store": [], "azure_disk": [], "azure_file": [], "ceph_fs": [], "cinder": [], "config_map": [ { "default_mode": "0644", "items": [], "name": "prometheus-config", "optional": false } ], "csi": [], "downward_api": [], "empty_dir": [], "ephemeral": [], "fc": [], "flex_volume": [], "flocker": [], "gce_persistent_disk": [], "git_repo": [], "glusterfs": [], "host_path": [], "iscsi": [], "local": [], "name": "config", "nfs": [], "persistent_volume_claim": [], "photon_persistent_disk": [], "projected": [], "quobyte": [], "rbd": [], "secret": [], "vsphere_volume": [] } ] } ] } ] } ], "timeouts": null, "wait_for_rollout": true }, "sensitive_attributes": [], "identity_schema_version": 1, "identity": { "api_version": "apps/v1", "kind": "Deployment", "name": "prometheus", "namespace": "swarm" }, "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9", "dependencies": [ "kubernetes_config_map.prometheus", "kubernetes_namespace.swarm" ] } ] }, { "mode": "managed", "type": "kubernetes_namespace", "name": "swarm", "provider": "provider[\"registry.terraform.io/hashicorp/kubernetes\"]", "instances": [ { "schema_version": 0, "attributes": { "id": "swarm", "metadata": [ { "annotations": {}, "generate_name": "", "generation": 0, "labels": { "app.kubernetes.io/part-of": "swarm-sim" }, "name": "swarm", "resource_version": "472", "uid": "9d9c3037-f53f-496a-afea-9b3673909789" } ], "timeouts": null, "wait_for_default_service_account": false }, "sensitive_attributes": [], "identity_schema_version": 1, "identity": { "api_version": "v1", "kind": "Namespace", "name": "swarm" }, "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjozMDAwMDAwMDAwMDB9fQ==" } ] }, { "mode": "managed", "type": "kubernetes_service", "name": "explorer", "provider": "provider[\"registry.terraform.io/hashicorp/kubernetes\"]", "instances": [ { "schema_version": 1, "attributes": { "id": "swarm/explorer", "metadata": [ { "annotations": {}, "generate_name": "", "generation": 0, "labels": {}, "name": "explorer", "namespace": "swarm", "resource_version": "490", "uid": "ffd1b5de-cb46-4f2d-9efb-557e3cdbcf2c" } ], "spec": [ { "allocate_load_balancer_node_ports": true, "cluster_ip": "10.43.195.143", "cluster_ips": [ "10.43.195.143" ], "external_ips": [], "external_name": "", "external_traffic_policy": "Cluster", "health_check_node_port": 0, "internal_traffic_policy": "Cluster", "ip_families": [ "IPv4" ], "ip_family_policy": "SingleStack", "load_balancer_class": "", "load_balancer_ip": "", "load_balancer_source_ranges": [], "port": [ { "app_protocol": "", "name": "", "node_port": 30088, "port": 8088, "protocol": "TCP", "target_port": "8088" } ], "publish_not_ready_addresses": false, "selector": { "app": "explorer" }, "session_affinity": "None", "session_affinity_config": [], "type": "NodePort" } ], "status": [ { "load_balancer": [ { "ingress": [] } ] } ], "timeouts": null, "wait_for_load_balancer": true }, "sensitive_attributes": [], "identity_schema_version": 1, "identity": { "api_version": "v1", "kind": "Service", "name": "explorer", "namespace": "swarm" }, "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDB9LCJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", "dependencies": [ "kubernetes_namespace.swarm" ] } ] }, { "mode": "managed", "type": "kubernetes_service", "name": "exporter", "provider": "provider[\"registry.terraform.io/hashicorp/kubernetes\"]", "instances": [ { "schema_version": 1, "attributes": { "id": "swarm/exporter", "metadata": [ { "annotations": {}, "generate_name": "", "generation": 0, "labels": {}, "name": "exporter", "namespace": "swarm", "resource_version": "482", "uid": "3d541a97-c8db-4d3f-9713-8f000eefbc99" } ], "spec": [ { "allocate_load_balancer_node_ports": true, "cluster_ip": "10.43.102.73", "cluster_ips": [ "10.43.102.73" ], "external_ips": [], "external_name": "", "external_traffic_policy": "", "health_check_node_port": 0, "internal_traffic_policy": "Cluster", "ip_families": [ "IPv4" ], "ip_family_policy": "SingleStack", "load_balancer_class": "", "load_balancer_ip": "", "load_balancer_source_ranges": [], "port": [ { "app_protocol": "", "name": "", "node_port": 0, "port": 9105, "protocol": "TCP", "target_port": "9105" } ], "publish_not_ready_addresses": false, "selector": { "app": "exporter" }, "session_affinity": "None", "session_affinity_config": [], "type": "ClusterIP" } ], "status": [ { "load_balancer": [ { "ingress": [] } ] } ], "timeouts": null, "wait_for_load_balancer": true }, "sensitive_attributes": [], "identity_schema_version": 1, "identity": { "api_version": "v1", "kind": "Service", "name": "exporter", "namespace": "swarm" }, "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDB9LCJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", "dependencies": [ "kubernetes_namespace.swarm" ] } ] }, { "mode": "managed", "type": "kubernetes_service", "name": "grafana", "provider": "provider[\"registry.terraform.io/hashicorp/kubernetes\"]", "instances": [ { "schema_version": 1, "attributes": { "id": "swarm/grafana", "metadata": [ { "annotations": {}, "generate_name": "", "generation": 0, "labels": {}, "name": "grafana", "namespace": "swarm", "resource_version": "492", "uid": "e97550f8-5a8b-4cd1-aef0-1b3455b463d6" } ], "spec": [ { "allocate_load_balancer_node_ports": true, "cluster_ip": "10.43.215.97", "cluster_ips": [ "10.43.215.97" ], "external_ips": [], "external_name": "", "external_traffic_policy": "Cluster", "health_check_node_port": 0, "internal_traffic_policy": "Cluster", "ip_families": [ "IPv4" ], "ip_family_policy": "SingleStack", "load_balancer_class": "", "load_balancer_ip": "", "load_balancer_source_ranges": [], "port": [ { "app_protocol": "", "name": "", "node_port": 30300, "port": 3000, "protocol": "TCP", "target_port": "3000" } ], "publish_not_ready_addresses": false, "selector": { "app": "grafana" }, "session_affinity": "None", "session_affinity_config": [], "type": "NodePort" } ], "status": [ { "load_balancer": [ { "ingress": [] } ] } ], "timeouts": null, "wait_for_load_balancer": true }, "sensitive_attributes": [], "identity_schema_version": 1, "identity": { "api_version": "v1", "kind": "Service", "name": "grafana", "namespace": "swarm" }, "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDB9LCJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", "dependencies": [ "kubernetes_namespace.swarm" ] } ] }, { "mode": "managed", "type": "kubernetes_service", "name": "prometheus", "provider": "provider[\"registry.terraform.io/hashicorp/kubernetes\"]", "instances": [ { "schema_version": 1, "attributes": { "id": "swarm/prometheus", "metadata": [ { "annotations": {}, "generate_name": "", "generation": 0, "labels": {}, "name": "prometheus", "namespace": "swarm", "resource_version": "481", "uid": "52e5a8d4-deb4-4054-a335-7a84d41a620a" } ], "spec": [ { "allocate_load_balancer_node_ports": true, "cluster_ip": "10.43.224.73", "cluster_ips": [ "10.43.224.73" ], "external_ips": [], "external_name": "", "external_traffic_policy": "Cluster", "health_check_node_port": 0, "internal_traffic_policy": "Cluster", "ip_families": [ "IPv4" ], "ip_family_policy": "SingleStack", "load_balancer_class": "", "load_balancer_ip": "", "load_balancer_source_ranges": [], "port": [ { "app_protocol": "", "name": "", "node_port": 30990, "port": 9090, "protocol": "TCP", "target_port": "9090" } ], "publish_not_ready_addresses": false, "selector": { "app": "prometheus" }, "session_affinity": "None", "session_affinity_config": [], "type": "NodePort" } ], "status": [ { "load_balancer": [ { "ingress": [] } ] } ], "timeouts": null, "wait_for_load_balancer": true }, "sensitive_attributes": [], "identity_schema_version": 1, "identity": { "api_version": "v1", "kind": "Service", "name": "prometheus", "namespace": "swarm" }, "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDB9LCJzY2hlbWFfdmVyc2lvbiI6IjEifQ==", "dependencies": [ "kubernetes_namespace.swarm" ] } ] }, { "mode": "managed", "type": "kubernetes_stateful_set", "name": "drone", "provider": "provider[\"registry.terraform.io/hashicorp/kubernetes\"]", "instances": [ { "schema_version": 1, "attributes": { "id": "swarm/drone", "metadata": [ { "annotations": {}, "generate_name": "", "generation": 1, "labels": { "app.kubernetes.io/part-of": "swarm-sim" }, "name": "drone", "namespace": "swarm", "resource_version": "6209", "uid": "ba8b7adf-7d13-4682-bce1-b77739f4e573" } ], "spec": [ { "min_ready_seconds": 0, "persistent_volume_claim_retention_policy": [ { "when_deleted": "Retain", "when_scaled": "Retain" } ], "pod_management_policy": "Parallel", "replicas": "5", "revision_history_limit": 0, "selector": [ { "match_expressions": [], "match_labels": { "app": "drone" } } ], "service_name": "drone", "template": [ { "metadata": [ { "annotations": {}, "generate_name": "", "generation": 0, "labels": { "app": "drone", "app.kubernetes.io/part-of": "swarm-sim" }, "name": "", "namespace": "", "resource_version": "", "uid": "" } ], "spec": [ { "active_deadline_seconds": 0, "affinity": [], "automount_service_account_token": true, "container": [ { "args": [], "command": [], "env": [ { "name": "DRONE_ID", "value": "", "value_from": [ { "config_map_key_ref": [], "field_ref": [ { "api_version": "v1", "field_path": "metadata.name" } ], "resource_field_ref": [], "secret_key_ref": [] } ] }, { "name": "DURATION_S", "value": "300", "value_from": [] }, { "name": "SPEEDUP", "value": "2", "value_from": [] }, { "name": "DATA_DIR", "value": "/data", "value_from": [] } ], "env_from": [], "image": "swarm-house/simulator:dev", "image_pull_policy": "Never", "lifecycle": [], "liveness_probe": [], "name": "drone", "port": [], "readiness_probe": [], "resources": [ { "limits": { "cpu": "500m", "memory": "512Mi" }, "requests": { "cpu": "50m", "memory": "128Mi" } } ], "security_context": [], "startup_probe": [], "stdin": false, "stdin_once": false, "termination_message_path": "/dev/termination-log", "termination_message_policy": "File", "tty": false, "volume_device": [], "volume_mount": [ { "mount_path": "/data", "mount_propagation": "None", "name": "lake", "read_only": false, "sub_path": "", "sub_path_expr": "" } ], "working_dir": "" } ], "dns_config": [], "dns_policy": "ClusterFirst", "enable_service_links": true, "host_aliases": [], "host_ipc": false, "host_network": false, "host_pid": false, "hostname": "", "image_pull_secrets": [], "init_container": [], "node_name": "", "node_selector": {}, "os": [], "priority_class_name": "", "readiness_gate": [], "restart_policy": "Always", "runtime_class_name": "", "scheduler_name": "default-scheduler", "security_context": [], "service_account_name": "", "share_process_namespace": false, "subdomain": "", "termination_grace_period_seconds": 30, "toleration": [], "topology_spread_constraint": [], "volume": [ { "aws_elastic_block_store": [], "azure_disk": [], "azure_file": [], "ceph_fs": [], "cinder": [], "config_map": [], "csi": [], "downward_api": [], "empty_dir": [], "ephemeral": [], "fc": [], "flex_volume": [], "flocker": [], "gce_persistent_disk": [], "git_repo": [], "glusterfs": [], "host_path": [ { "path": "/data", "type": "" } ], "iscsi": [], "local": [], "name": "lake", "nfs": [], "persistent_volume_claim": [], "photon_persistent_disk": [], "projected": [], "quobyte": [], "rbd": [], "secret": [], "vsphere_volume": [] } ] } ] } ], "update_strategy": [], "volume_claim_template": [] } ], "timeouts": null, "wait_for_rollout": true }, "sensitive_attributes": [], "identity_schema_version": 1, "identity": { "api_version": "apps/v1", "kind": "StatefulSet", "name": "drone", "namespace": "swarm" }, "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJyZWFkIjo2MDAwMDAwMDAwMDAsInVwZGF0ZSI6NjAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIxIn0=", "dependencies": [ "kubernetes_namespace.swarm" ] } ] } ], "check_results": [ { "object_kind": "var", "config_addr": "var.drone_count", "status": "pass", "objects": [ { "object_addr": "var.drone_count", "status": "pass" } ] } ] }