Files
swarm-house/infra/terraform/sim-env/terraform.tfstate
T
eSlider cb4664f5ee feat: add IaC layer with shared var/t1 and var/t3 data paths
Ansible provisions the k3d cluster and Flux controllers; Terraform
modules deploy the simulated fleet and ground warehouse. Compose and
k3d share var/t1 (live lake) and var/t3 (warehouse). The prototype
gains a live mode fed by the explorer read-only SQL API.
2026-07-08 20:17:32 +01:00

1792 lines
73 KiB
JSON

{
"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"
}
]
}
]
}