Initial commit
First attempt at using Pulumi for cloud infrastructure management. To start with, the project deploys an ECS cluster that runs two containers, _blackbox-exporter_ and _vmagent_. Together, these will monitor the publicly-accessible web sites.main
commit
28a05a3164
|
@ -0,0 +1,5 @@
|
|||
*.egg-info/
|
||||
.pulumi/backups/
|
||||
__pycache__/
|
||||
*.py[co]
|
||||
*.bak*
|
|
@ -0,0 +1,959 @@
|
|||
{
|
||||
"version": 3,
|
||||
"checkpoint": {
|
||||
"stack": "organization/dch/aws-prod",
|
||||
"latest": {
|
||||
"manifest": {
|
||||
"time": "2025-01-19T11:16:00.999728742-06:00",
|
||||
"magic": "7c53c69df7094e39d5562ed2abf1e12099c2c54a7b9b411faca1dcb7ec1fef8a",
|
||||
"version": "v3.145.0"
|
||||
},
|
||||
"secrets_providers": {
|
||||
"type": "passphrase",
|
||||
"state": {
|
||||
"salt": "v1:wIs83/E0Mwc=:v1:lhrRAZ9Ho6AD9yVX:Ikzlp62zFZ+jvwHVerWLNuQhfqIcZg=="
|
||||
}
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2",
|
||||
"custom": true,
|
||||
"id": "1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"type": "pulumi:providers:aws",
|
||||
"inputs": {
|
||||
"__internal": {},
|
||||
"region": "us-east-2",
|
||||
"skipCredentialsValidation": "false",
|
||||
"skipRegionValidation": "true",
|
||||
"version": "6.66.2"
|
||||
},
|
||||
"outputs": {
|
||||
"region": "us-east-2",
|
||||
"skipCredentialsValidation": "false",
|
||||
"skipRegionValidation": "true",
|
||||
"version": "6.66.2"
|
||||
},
|
||||
"created": "2025-01-19T17:15:31.200019676Z",
|
||||
"modified": "2025-01-19T17:15:31.200019676Z"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"custom": false,
|
||||
"type": "pulumi:pulumi:Stack",
|
||||
"created": "2025-01-19T17:15:31.201175036Z",
|
||||
"modified": "2025-01-19T17:15:31.201175036Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi/runtime/stack.py#140"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:iam/serviceLinkedRole:ServiceLinkedRole::ecs",
|
||||
"custom": true,
|
||||
"id": "arn:aws:iam::566967686773:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS",
|
||||
"type": "aws:iam/serviceLinkedRole:ServiceLinkedRole",
|
||||
"inputs": {
|
||||
"__defaults": [],
|
||||
"awsServiceName": "ecs.amazonaws.com"
|
||||
},
|
||||
"outputs": {
|
||||
"arn": "arn:aws:iam::566967686773:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS",
|
||||
"awsServiceName": "ecs.amazonaws.com",
|
||||
"createDate": "2025-01-19T17:15:33Z",
|
||||
"customSuffix": "",
|
||||
"description": "",
|
||||
"id": "arn:aws:iam::566967686773:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS",
|
||||
"name": "AWSServiceRoleForECS",
|
||||
"path": "/aws-service-role/ecs.amazonaws.com/",
|
||||
"uniqueId": "AROAYIAPIKZ2Q6DBBXYXO"
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"awsServiceName": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:34.064087492Z",
|
||||
"modified": "2025-01-19T17:15:34.064087492Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/iam/service_linked_role.py#335"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:iam/role:Role::ecs-ec2-instance-role",
|
||||
"custom": true,
|
||||
"id": "ecs-ec2-instance-role-5dff09b",
|
||||
"type": "aws:iam/role:Role",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"forceDetachPolicies",
|
||||
"maxSessionDuration",
|
||||
"name",
|
||||
"path"
|
||||
],
|
||||
"assumeRolePolicy": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\"\n }\n }\n ]\n}",
|
||||
"forceDetachPolicies": false,
|
||||
"managedPolicyArns": [
|
||||
"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role"
|
||||
],
|
||||
"maxSessionDuration": 3600,
|
||||
"name": "ecs-ec2-instance-role-5dff09b",
|
||||
"path": "/"
|
||||
},
|
||||
"outputs": {
|
||||
"arn": "arn:aws:iam::566967686773:role/ecs-ec2-instance-role-5dff09b",
|
||||
"assumeRolePolicy": "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"ec2.amazonaws.com\"}}],\"Version\":\"2012-10-17\"}",
|
||||
"createDate": "2025-01-19T17:15:33Z",
|
||||
"description": "",
|
||||
"forceDetachPolicies": false,
|
||||
"id": "ecs-ec2-instance-role-5dff09b",
|
||||
"inlinePolicies": [],
|
||||
"managedPolicyArns": [
|
||||
"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role"
|
||||
],
|
||||
"maxSessionDuration": 3600,
|
||||
"name": "ecs-ec2-instance-role-5dff09b",
|
||||
"namePrefix": "",
|
||||
"path": "/",
|
||||
"permissionsBoundary": "",
|
||||
"uniqueId": "AROAYIAPIKZ2XCYHIOU4U"
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"assumeRolePolicy": [],
|
||||
"managedPolicyArns": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:34.339301047Z",
|
||||
"modified": "2025-01-19T17:15:34.339301047Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/iam/role.py#875"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::pulumi:providers:std::default_1_7_3",
|
||||
"custom": true,
|
||||
"id": "96aa9316-0253-4eeb-86ae-f44b8e1f3735",
|
||||
"type": "pulumi:providers:std",
|
||||
"inputs": {
|
||||
"__internal": {},
|
||||
"version": "1.7.3"
|
||||
},
|
||||
"outputs": {
|
||||
"version": "1.7.3"
|
||||
},
|
||||
"created": "2025-01-19T17:15:34.621408378Z",
|
||||
"modified": "2025-01-19T17:15:34.621408378Z"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:ecs/taskDefinition:TaskDefinition::blackbox-exporter",
|
||||
"custom": true,
|
||||
"id": "blackbox",
|
||||
"type": "aws:ecs/taskDefinition:TaskDefinition",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"skipDestroy",
|
||||
"trackLatest"
|
||||
],
|
||||
"containerDefinitions": "[{\"name\": \"blackbox\", \"image\": \"quay.io/prometheus/blackbox-exporter\", \"essential\": true, \"user\": \"9115:9115\", \"readonlyRootFilesystem\": true, \"portMappings\": [{\"containerPort\": 9115, \"hostPort\": 9115}], \"logConfiguration\": {\"logDriver\": \"awslogs\", \"options\": {\"awslogs-group\": \"ecs-blackbox\", \"awslogs-stream-prefix\": \"blackbox-exporter\", \"awslogs-region\": \"us-east-2\"}}}]",
|
||||
"family": "blackbox",
|
||||
"memory": "64",
|
||||
"networkMode": "host",
|
||||
"skipDestroy": false,
|
||||
"trackLatest": false
|
||||
},
|
||||
"outputs": {
|
||||
"__meta": "{\"schema_version\":\"1\"}",
|
||||
"arn": "arn:aws:ecs:us-east-2:566967686773:task-definition/blackbox:10",
|
||||
"arnWithoutRevision": "arn:aws:ecs:us-east-2:566967686773:task-definition/blackbox",
|
||||
"containerDefinitions": "[{\"environment\":[],\"essential\":true,\"image\":\"quay.io/prometheus/blackbox-exporter\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-region\":\"us-east-2\",\"awslogs-stream-prefix\":\"blackbox-exporter\",\"awslogs-group\":\"ecs-blackbox\"}},\"mountPoints\":[],\"name\":\"blackbox\",\"portMappings\":[{\"containerPort\":9115,\"hostPort\":9115,\"protocol\":\"tcp\"}],\"readonlyRootFilesystem\":true,\"systemControls\":[],\"user\":\"9115:9115\",\"volumesFrom\":[]}]",
|
||||
"cpu": "",
|
||||
"ephemeralStorage": null,
|
||||
"executionRoleArn": "",
|
||||
"family": "blackbox",
|
||||
"id": "blackbox",
|
||||
"inferenceAccelerators": [],
|
||||
"ipcMode": "",
|
||||
"memory": "64",
|
||||
"networkMode": "host",
|
||||
"pidMode": "",
|
||||
"placementConstraints": [],
|
||||
"proxyConfiguration": null,
|
||||
"requiresCompatibilities": null,
|
||||
"revision": 10,
|
||||
"runtimePlatform": null,
|
||||
"skipDestroy": false,
|
||||
"taskRoleArn": "",
|
||||
"trackLatest": false,
|
||||
"volumes": []
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"containerDefinitions": [],
|
||||
"family": [],
|
||||
"memory": [],
|
||||
"networkMode": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:34.76199393Z",
|
||||
"modified": "2025-01-19T17:15:34.76199393Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/ecs/task_definition.py#1240"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:cloudwatch/logGroup:LogGroup::blackbox",
|
||||
"custom": true,
|
||||
"id": "ecs-blackbox",
|
||||
"type": "aws:cloudwatch/logGroup:LogGroup",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"retentionInDays",
|
||||
"skipDestroy"
|
||||
],
|
||||
"name": "ecs-blackbox",
|
||||
"retentionInDays": 0,
|
||||
"skipDestroy": false
|
||||
},
|
||||
"outputs": {
|
||||
"arn": "arn:aws:logs:us-east-2:566967686773:log-group:ecs-blackbox",
|
||||
"id": "ecs-blackbox",
|
||||
"kmsKeyId": "",
|
||||
"logGroupClass": "STANDARD",
|
||||
"name": "ecs-blackbox",
|
||||
"namePrefix": "",
|
||||
"retentionInDays": 0,
|
||||
"skipDestroy": false
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"name": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:34.851712338Z",
|
||||
"modified": "2025-01-19T17:15:34.851712338Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/cloudwatch/log_group.py#404"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket",
|
||||
"custom": true,
|
||||
"id": "964e1f9c-20250119171534638700000001",
|
||||
"type": "aws:s3/bucketV2:BucketV2",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"forceDestroy"
|
||||
],
|
||||
"bucketPrefix": "964e1f9c-",
|
||||
"forceDestroy": false
|
||||
},
|
||||
"outputs": {
|
||||
"__meta": "{\"e2bfb730-ecaa-11e6-8f88-34363bc7c4c0\":{\"create\":1200000000000,\"delete\":3600000000000,\"read\":1200000000000,\"update\":1200000000000}}",
|
||||
"accelerationStatus": "",
|
||||
"acl": null,
|
||||
"arn": "arn:aws:s3:::964e1f9c-20250119171534638700000001",
|
||||
"bucket": "964e1f9c-20250119171534638700000001",
|
||||
"bucketDomainName": "964e1f9c-20250119171534638700000001.s3.amazonaws.com",
|
||||
"bucketPrefix": "964e1f9c-",
|
||||
"bucketRegionalDomainName": "964e1f9c-20250119171534638700000001.s3.us-east-2.amazonaws.com",
|
||||
"corsRules": [],
|
||||
"forceDestroy": false,
|
||||
"grants": [
|
||||
{
|
||||
"id": "1914118b6f2b10bbf071d99814216df33dd32657754ff781464facf268624c21",
|
||||
"permissions": [
|
||||
"FULL_CONTROL"
|
||||
],
|
||||
"type": "CanonicalUser",
|
||||
"uri": ""
|
||||
}
|
||||
],
|
||||
"hostedZoneId": "Z2O1EMRO9K5GLX",
|
||||
"id": "964e1f9c-20250119171534638700000001",
|
||||
"lifecycleRules": [],
|
||||
"loggings": [],
|
||||
"objectLockConfiguration": null,
|
||||
"objectLockEnabled": false,
|
||||
"policy": "",
|
||||
"region": "us-east-2",
|
||||
"replicationConfigurations": [],
|
||||
"requestPayer": "BucketOwner",
|
||||
"serverSideEncryptionConfigurations": [
|
||||
{
|
||||
"rules": [
|
||||
{
|
||||
"applyServerSideEncryptionByDefaults": [
|
||||
{
|
||||
"kmsMasterKeyId": "",
|
||||
"sseAlgorithm": "AES256"
|
||||
}
|
||||
],
|
||||
"bucketKeyEnabled": false
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"versionings": [
|
||||
{
|
||||
"enabled": false,
|
||||
"mfaDelete": false
|
||||
}
|
||||
],
|
||||
"websiteDomain": null,
|
||||
"websiteEndpoint": null,
|
||||
"websites": []
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"bucketPrefix": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:35.761453802Z",
|
||||
"modified": "2025-01-19T17:15:35.761453802Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/s3/bucket_v2.py#1065"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:ecs/taskDefinition:TaskDefinition::vmagent",
|
||||
"custom": true,
|
||||
"id": "vmagent",
|
||||
"type": "aws:ecs/taskDefinition:TaskDefinition",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"skipDestroy",
|
||||
"trackLatest"
|
||||
],
|
||||
"containerDefinitions": "[{\"name\": \"init\", \"image\": \"docker.io/library/busybox\", \"command\": [\"chown\", \"-R\", \"-v\", \"8429:8429\", \"/data\"], \"essential\": false, \"readonlyRootFilesystem\": true, \"mountPoints\": [{\"sourceVolume\": \"vmagent-data\", \"containerPath\": \"/data\"}], \"logConfiguration\": {\"logDriver\": \"awslogs\", \"options\": {\"awslogs-group\": \"ecs-blackbox\", \"awslogs-stream-prefix\": \"vmagent\", \"awslogs-region\": \"us-east-2\"}}}, {\"name\": \"vmagent\", \"image\": \"docker.io/victoriametrics/vmagent\", \"command\": [\"-remoteWrite.url=https://metrics.pyrocufflink.blue/insert/1/prometheus/api/v1/write\", \"-remoteWrite.tmpDataPath=/data\", \"-promscrape.config=https://964e1f9c-20250119171534638700000001.s3.us-east-2.amazonaws.com/scrape.yml\"], \"essential\": true, \"user\": \"8429:8429\", \"readonlyRootFilesystem\": true, \"mountPoints\": [{\"sourceVolume\": \"vmagent-data\", \"containerPath\": \"/data\"}], \"logConfiguration\": {\"logDriver\": \"awslogs\", \"options\": {\"awslogs-group\": \"ecs-blackbox\", \"awslogs-stream-prefix\": \"vmagent\", \"awslogs-region\": \"us-east-2\"}}, \"dependsOn\": [{\"containerName\": \"init\", \"condition\": \"SUCCESS\"}]}]",
|
||||
"family": "vmagent",
|
||||
"memory": "128",
|
||||
"networkMode": "host",
|
||||
"skipDestroy": false,
|
||||
"trackLatest": false,
|
||||
"volumes": [
|
||||
{
|
||||
"__defaults": [],
|
||||
"dockerVolumeConfiguration": {
|
||||
"__defaults": [],
|
||||
"autoprovision": true,
|
||||
"scope": "shared"
|
||||
},
|
||||
"name": "vmagent-data"
|
||||
}
|
||||
]
|
||||
},
|
||||
"outputs": {
|
||||
"__meta": "{\"schema_version\":\"1\"}",
|
||||
"arn": "arn:aws:ecs:us-east-2:566967686773:task-definition/vmagent:19",
|
||||
"arnWithoutRevision": "arn:aws:ecs:us-east-2:566967686773:task-definition/vmagent",
|
||||
"containerDefinitions": "[{\"command\":[\"chown\",\"-R\",\"-v\",\"8429:8429\",\"/data\"],\"environment\":[],\"essential\":false,\"image\":\"docker.io/library/busybox\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-region\":\"us-east-2\",\"awslogs-stream-prefix\":\"vmagent\",\"awslogs-group\":\"ecs-blackbox\"}},\"mountPoints\":[{\"containerPath\":\"/data\",\"sourceVolume\":\"vmagent-data\"}],\"name\":\"init\",\"portMappings\":[],\"readonlyRootFilesystem\":true,\"systemControls\":[],\"volumesFrom\":[]},{\"command\":[\"-remoteWrite.url=https://metrics.pyrocufflink.blue/insert/1/prometheus/api/v1/write\",\"-remoteWrite.tmpDataPath=/data\",\"-promscrape.config=https://964e1f9c-20250119171534638700000001.s3.us-east-2.amazonaws.com/scrape.yml\"],\"dependsOn\":[{\"condition\":\"SUCCESS\",\"containerName\":\"init\"}],\"environment\":[],\"essential\":true,\"image\":\"docker.io/victoriametrics/vmagent\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"ecs-blackbox\",\"awslogs-region\":\"us-east-2\",\"awslogs-stream-prefix\":\"vmagent\"}},\"mountPoints\":[{\"containerPath\":\"/data\",\"sourceVolume\":\"vmagent-data\"}],\"name\":\"vmagent\",\"portMappings\":[],\"readonlyRootFilesystem\":true,\"systemControls\":[],\"user\":\"8429:8429\",\"volumesFrom\":[]}]",
|
||||
"cpu": "",
|
||||
"ephemeralStorage": null,
|
||||
"executionRoleArn": "",
|
||||
"family": "vmagent",
|
||||
"id": "vmagent",
|
||||
"inferenceAccelerators": [],
|
||||
"ipcMode": "",
|
||||
"memory": "128",
|
||||
"networkMode": "host",
|
||||
"pidMode": "",
|
||||
"placementConstraints": [],
|
||||
"proxyConfiguration": null,
|
||||
"requiresCompatibilities": null,
|
||||
"revision": 19,
|
||||
"runtimePlatform": null,
|
||||
"skipDestroy": false,
|
||||
"taskRoleArn": "",
|
||||
"trackLatest": false,
|
||||
"volumes": [
|
||||
{
|
||||
"configureAtLaunch": false,
|
||||
"dockerVolumeConfiguration": {
|
||||
"autoprovision": true,
|
||||
"driver": "local",
|
||||
"driverOpts": {},
|
||||
"labels": {},
|
||||
"scope": "shared"
|
||||
},
|
||||
"efsVolumeConfiguration": null,
|
||||
"fsxWindowsFileServerVolumeConfiguration": null,
|
||||
"hostPath": "",
|
||||
"name": "vmagent-data"
|
||||
}
|
||||
]
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"containerDefinitions": [
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket"
|
||||
],
|
||||
"family": [],
|
||||
"memory": [],
|
||||
"networkMode": [],
|
||||
"volumes": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:35.901917093Z",
|
||||
"modified": "2025-01-19T17:15:35.901917093Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/ecs/task_definition.py#1240"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:s3/bucketObject:BucketObject::scrape-yml",
|
||||
"custom": true,
|
||||
"id": "scrape.yml",
|
||||
"type": "aws:s3/bucketObject:BucketObject",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"acl",
|
||||
"forceDestroy"
|
||||
],
|
||||
"acl": "private",
|
||||
"bucket": "964e1f9c-20250119171534638700000001",
|
||||
"forceDestroy": false,
|
||||
"key": "scrape.yml",
|
||||
"source": {
|
||||
"4dabf18193072939515e22adb298388d": "c44067f5952c0a294b673a41bacd8c17",
|
||||
"hash": "34b7658086c3bc4f7cf9d3348929613a6c2c745717d9d980909c348121108f94",
|
||||
"path": "blackbox/scrape.yml"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"acl": "private",
|
||||
"arn": "arn:aws:s3:::964e1f9c-20250119171534638700000001/scrape.yml",
|
||||
"bucket": "964e1f9c-20250119171534638700000001",
|
||||
"bucketKeyEnabled": false,
|
||||
"cacheControl": "",
|
||||
"content": null,
|
||||
"contentBase64": null,
|
||||
"contentDisposition": "",
|
||||
"contentEncoding": "",
|
||||
"contentLanguage": "",
|
||||
"contentType": "application/octet-stream",
|
||||
"etag": "7116e02aa24424125f80e1b31d097831",
|
||||
"forceDestroy": false,
|
||||
"id": "scrape.yml",
|
||||
"key": "scrape.yml",
|
||||
"kmsKeyId": null,
|
||||
"metadata": null,
|
||||
"objectLockLegalHoldStatus": "",
|
||||
"objectLockMode": "",
|
||||
"objectLockRetainUntilDate": "",
|
||||
"serverSideEncryption": "AES256",
|
||||
"source": {
|
||||
"4dabf18193072939515e22adb298388d": "c44067f5952c0a294b673a41bacd8c17",
|
||||
"hash": "34b7658086c3bc4f7cf9d3348929613a6c2c745717d9d980909c348121108f94",
|
||||
"path": "blackbox/scrape.yml"
|
||||
},
|
||||
"sourceHash": null,
|
||||
"storageClass": "STANDARD",
|
||||
"versionId": "",
|
||||
"websiteRedirect": ""
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"bucket": [
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket"
|
||||
],
|
||||
"key": [],
|
||||
"source": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:35.927307449Z",
|
||||
"modified": "2025-01-19T17:15:35.927307449Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/s3/bucket_object.py#1183"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:s3/bucketPolicy:BucketPolicy::config-bucket",
|
||||
"custom": true,
|
||||
"id": "964e1f9c-20250119171534638700000001",
|
||||
"type": "aws:s3/bucketPolicy:BucketPolicy",
|
||||
"inputs": {
|
||||
"__defaults": [],
|
||||
"bucket": "964e1f9c-20250119171534638700000001",
|
||||
"policy": "{\"Version\": \"2012-10-17\", \"Statement\": [{\"Principal\": \"*\", \"Action\": [\"s3:GetObject\", \"s3:ListBucket\"], \"Effect\": \"Allow\", \"Resource\": [\"arn:aws:s3:::964e1f9c-20250119171534638700000001\", \"arn:aws:s3:::964e1f9c-20250119171534638700000001/*\"], \"Condition\": {\"StringEquals\": {\"aws:sourceVpce\": \"vpce-06b8f872ece84f6cc\"}}}]}"
|
||||
},
|
||||
"outputs": {
|
||||
"bucket": "964e1f9c-20250119171534638700000001",
|
||||
"id": "964e1f9c-20250119171534638700000001",
|
||||
"policy": "{\"Statement\":[{\"Action\":[\"s3:GetObject\",\"s3:ListBucket\"],\"Condition\":{\"StringEquals\":{\"aws:sourceVpce\":\"vpce-06b8f872ece84f6cc\"}},\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":[\"arn:aws:s3:::964e1f9c-20250119171534638700000001\",\"arn:aws:s3:::964e1f9c-20250119171534638700000001/*\"]}],\"Version\":\"2012-10-17\"}"
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"bucket": [
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket"
|
||||
],
|
||||
"policy": [
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket"
|
||||
]
|
||||
},
|
||||
"created": "2025-01-19T17:15:36.085996879Z",
|
||||
"modified": "2025-01-19T17:15:36.085996879Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/s3/bucket_policy.py#208"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:iam/instanceProfile:InstanceProfile::ecs-ec2-instance-profile",
|
||||
"custom": true,
|
||||
"id": "ecs-ec2-instance-profile-30b3240",
|
||||
"type": "aws:iam/instanceProfile:InstanceProfile",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"name",
|
||||
"path"
|
||||
],
|
||||
"name": "ecs-ec2-instance-profile-30b3240",
|
||||
"path": "/",
|
||||
"role": "ecs-ec2-instance-role-5dff09b"
|
||||
},
|
||||
"outputs": {
|
||||
"arn": "arn:aws:iam::566967686773:instance-profile/ecs-ec2-instance-profile-30b3240",
|
||||
"createDate": "2025-01-19T17:15:34Z",
|
||||
"id": "ecs-ec2-instance-profile-30b3240",
|
||||
"name": "ecs-ec2-instance-profile-30b3240",
|
||||
"namePrefix": "",
|
||||
"path": "/",
|
||||
"role": "ecs-ec2-instance-role-5dff09b",
|
||||
"uniqueId": "AIPAYIAPIKZ24DKQ43O6E"
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:iam/role:Role::ecs-ec2-instance-role"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"role": [
|
||||
"urn:pulumi:aws-prod::dch::aws:iam/role:Role::ecs-ec2-instance-role"
|
||||
]
|
||||
},
|
||||
"created": "2025-01-19T17:15:40.108600183Z",
|
||||
"modified": "2025-01-19T17:15:40.108600183Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/iam/instance_profile.py#370"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:ecs/cluster:Cluster::default",
|
||||
"custom": true,
|
||||
"id": "arn:aws:ecs:us-east-2:566967686773:cluster/default",
|
||||
"type": "aws:ecs/cluster:Cluster",
|
||||
"inputs": {
|
||||
"__defaults": [],
|
||||
"name": "default"
|
||||
},
|
||||
"outputs": {
|
||||
"arn": "arn:aws:ecs:us-east-2:566967686773:cluster/default",
|
||||
"configuration": null,
|
||||
"id": "arn:aws:ecs:us-east-2:566967686773:cluster/default",
|
||||
"name": "default",
|
||||
"serviceConnectDefaults": null,
|
||||
"settings": [
|
||||
{
|
||||
"name": "containerInsights",
|
||||
"value": "disabled"
|
||||
}
|
||||
]
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"name": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:44.329231643Z",
|
||||
"modified": "2025-01-19T17:15:44.329231643Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/ecs/cluster.py#518"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:ecs/service:Service::blackbox-exporter",
|
||||
"custom": true,
|
||||
"id": "arn:aws:ecs:us-east-2:566967686773:service/default/blackbox-exporter",
|
||||
"type": "aws:ecs/service:Service",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"availabilityZoneRebalancing",
|
||||
"deploymentMaximumPercent",
|
||||
"deploymentMinimumHealthyPercent",
|
||||
"enableEcsManagedTags",
|
||||
"enableExecuteCommand",
|
||||
"schedulingStrategy",
|
||||
"waitForSteadyState"
|
||||
],
|
||||
"availabilityZoneRebalancing": "DISABLED",
|
||||
"cluster": "arn:aws:ecs:us-east-2:566967686773:cluster/default",
|
||||
"deploymentMaximumPercent": 200,
|
||||
"deploymentMinimumHealthyPercent": 100,
|
||||
"desiredCount": 1,
|
||||
"enableEcsManagedTags": false,
|
||||
"enableExecuteCommand": false,
|
||||
"name": "blackbox-exporter",
|
||||
"schedulingStrategy": "REPLICA",
|
||||
"taskDefinition": "arn:aws:ecs:us-east-2:566967686773:task-definition/blackbox:10",
|
||||
"waitForSteadyState": false
|
||||
},
|
||||
"outputs": {
|
||||
"__meta": "{\"e2bfb730-ecaa-11e6-8f88-34363bc7c4c0\":{\"create\":1200000000000,\"delete\":1200000000000,\"update\":1200000000000},\"schema_version\":\"1\"}",
|
||||
"alarms": null,
|
||||
"availabilityZoneRebalancing": "DISABLED",
|
||||
"capacityProviderStrategies": [],
|
||||
"cluster": "arn:aws:ecs:us-east-2:566967686773:cluster/default",
|
||||
"deploymentCircuitBreaker": {
|
||||
"enable": false,
|
||||
"rollback": false
|
||||
},
|
||||
"deploymentController": {
|
||||
"type": "ECS"
|
||||
},
|
||||
"deploymentMaximumPercent": 200,
|
||||
"deploymentMinimumHealthyPercent": 100,
|
||||
"desiredCount": 1,
|
||||
"enableEcsManagedTags": false,
|
||||
"enableExecuteCommand": false,
|
||||
"forceDelete": null,
|
||||
"forceNewDeployment": null,
|
||||
"healthCheckGracePeriodSeconds": 0,
|
||||
"iamRole": null,
|
||||
"id": "arn:aws:ecs:us-east-2:566967686773:service/default/blackbox-exporter",
|
||||
"launchType": "EC2",
|
||||
"loadBalancers": [],
|
||||
"name": "blackbox-exporter",
|
||||
"networkConfiguration": null,
|
||||
"orderedPlacementStrategies": [],
|
||||
"placementConstraints": [],
|
||||
"platformVersion": "",
|
||||
"propagateTags": "NONE",
|
||||
"schedulingStrategy": "REPLICA",
|
||||
"serviceConnectConfiguration": null,
|
||||
"serviceRegistries": null,
|
||||
"taskDefinition": "arn:aws:ecs:us-east-2:566967686773:task-definition/blackbox:10",
|
||||
"triggers": {},
|
||||
"volumeConfiguration": null,
|
||||
"vpcLatticeConfigurations": [],
|
||||
"waitForSteadyState": false
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/cluster:Cluster::default",
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/taskDefinition:TaskDefinition::blackbox-exporter"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"cluster": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/cluster:Cluster::default"
|
||||
],
|
||||
"desiredCount": [],
|
||||
"name": [],
|
||||
"taskDefinition": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/taskDefinition:TaskDefinition::blackbox-exporter"
|
||||
]
|
||||
},
|
||||
"created": "2025-01-19T17:15:44.682984184Z",
|
||||
"modified": "2025-01-19T17:15:44.682984184Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/ecs/service.py#1409"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:ecs/service:Service::vmagent",
|
||||
"custom": true,
|
||||
"id": "arn:aws:ecs:us-east-2:566967686773:service/default/vmagent",
|
||||
"type": "aws:ecs/service:Service",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"availabilityZoneRebalancing",
|
||||
"deploymentMaximumPercent",
|
||||
"deploymentMinimumHealthyPercent",
|
||||
"enableEcsManagedTags",
|
||||
"enableExecuteCommand",
|
||||
"waitForSteadyState"
|
||||
],
|
||||
"availabilityZoneRebalancing": "DISABLED",
|
||||
"cluster": "arn:aws:ecs:us-east-2:566967686773:cluster/default",
|
||||
"deploymentMaximumPercent": 200,
|
||||
"deploymentMinimumHealthyPercent": 100,
|
||||
"desiredCount": 1,
|
||||
"enableEcsManagedTags": false,
|
||||
"enableExecuteCommand": false,
|
||||
"forceNewDeployment": true,
|
||||
"name": "vmagent",
|
||||
"schedulingStrategy": "DAEMON",
|
||||
"taskDefinition": "arn:aws:ecs:us-east-2:566967686773:task-definition/vmagent:19",
|
||||
"triggers": {
|
||||
"config": "b1015f1e9fec36e05405032e6da76707885f37f5c8ebb780f709ee421d83aa1240fb76749e81cc8c26449dc87413fbda89e7847d2e392c37fa6f0ba934fa27cf"
|
||||
},
|
||||
"waitForSteadyState": false
|
||||
},
|
||||
"outputs": {
|
||||
"__meta": "{\"e2bfb730-ecaa-11e6-8f88-34363bc7c4c0\":{\"create\":1200000000000,\"delete\":1200000000000,\"update\":1200000000000},\"schema_version\":\"1\"}",
|
||||
"alarms": null,
|
||||
"availabilityZoneRebalancing": "DISABLED",
|
||||
"capacityProviderStrategies": [],
|
||||
"cluster": "arn:aws:ecs:us-east-2:566967686773:cluster/default",
|
||||
"deploymentCircuitBreaker": {
|
||||
"enable": false,
|
||||
"rollback": false
|
||||
},
|
||||
"deploymentController": {
|
||||
"type": "ECS"
|
||||
},
|
||||
"deploymentMaximumPercent": 100,
|
||||
"deploymentMinimumHealthyPercent": 0,
|
||||
"desiredCount": 0,
|
||||
"enableEcsManagedTags": false,
|
||||
"enableExecuteCommand": false,
|
||||
"forceDelete": null,
|
||||
"forceNewDeployment": true,
|
||||
"healthCheckGracePeriodSeconds": 0,
|
||||
"iamRole": null,
|
||||
"id": "arn:aws:ecs:us-east-2:566967686773:service/default/vmagent",
|
||||
"launchType": "EC2",
|
||||
"loadBalancers": [],
|
||||
"name": "vmagent",
|
||||
"networkConfiguration": null,
|
||||
"orderedPlacementStrategies": [],
|
||||
"placementConstraints": [],
|
||||
"platformVersion": "",
|
||||
"propagateTags": "NONE",
|
||||
"schedulingStrategy": "DAEMON",
|
||||
"serviceConnectConfiguration": null,
|
||||
"serviceRegistries": null,
|
||||
"taskDefinition": "arn:aws:ecs:us-east-2:566967686773:task-definition/vmagent:19",
|
||||
"triggers": {
|
||||
"config": "b1015f1e9fec36e05405032e6da76707885f37f5c8ebb780f709ee421d83aa1240fb76749e81cc8c26449dc87413fbda89e7847d2e392c37fa6f0ba934fa27cf"
|
||||
},
|
||||
"volumeConfiguration": null,
|
||||
"vpcLatticeConfigurations": [],
|
||||
"waitForSteadyState": false
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/cluster:Cluster::default",
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/taskDefinition:TaskDefinition::vmagent",
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketObject:BucketObject::scrape-yml"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"cluster": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/cluster:Cluster::default"
|
||||
],
|
||||
"desiredCount": [],
|
||||
"forceNewDeployment": [],
|
||||
"name": [],
|
||||
"schedulingStrategy": [],
|
||||
"taskDefinition": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/taskDefinition:TaskDefinition::vmagent"
|
||||
],
|
||||
"triggers": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:44.777817662Z",
|
||||
"modified": "2025-01-19T17:15:44.777817662Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/ecs/service.py#1409"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:ec2/launchTemplate:LaunchTemplate::ecs-default",
|
||||
"custom": true,
|
||||
"id": "lt-0d79ac75c26aae2e6",
|
||||
"type": "aws:ec2/launchTemplate:LaunchTemplate",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"name"
|
||||
],
|
||||
"iamInstanceProfile": {
|
||||
"__defaults": [],
|
||||
"arn": "arn:aws:iam::566967686773:instance-profile/ecs-ec2-instance-profile-30b3240"
|
||||
},
|
||||
"imageId": "ami-08764537c19a18266",
|
||||
"instanceType": "t4g.nano",
|
||||
"keyName": "dustin@rosalina",
|
||||
"name": "ecs-default-7d65794"
|
||||
},
|
||||
"outputs": {
|
||||
"arn": "arn:aws:ec2:us-east-2:566967686773:launch-template/lt-0d79ac75c26aae2e6",
|
||||
"blockDeviceMappings": [],
|
||||
"capacityReservationSpecification": null,
|
||||
"cpuOptions": null,
|
||||
"creditSpecification": null,
|
||||
"defaultVersion": 1,
|
||||
"description": "",
|
||||
"disableApiStop": false,
|
||||
"disableApiTermination": false,
|
||||
"ebsOptimized": "",
|
||||
"elasticGpuSpecifications": [],
|
||||
"elasticInferenceAccelerator": null,
|
||||
"enclaveOptions": null,
|
||||
"hibernationOptions": null,
|
||||
"iamInstanceProfile": {
|
||||
"arn": "arn:aws:iam::566967686773:instance-profile/ecs-ec2-instance-profile-30b3240",
|
||||
"name": ""
|
||||
},
|
||||
"id": "lt-0d79ac75c26aae2e6",
|
||||
"imageId": "ami-08764537c19a18266",
|
||||
"instanceInitiatedShutdownBehavior": "",
|
||||
"instanceMarketOptions": null,
|
||||
"instanceRequirements": null,
|
||||
"instanceType": "t4g.nano",
|
||||
"kernelId": "",
|
||||
"keyName": "dustin@rosalina",
|
||||
"latestVersion": 1,
|
||||
"licenseSpecifications": [],
|
||||
"maintenanceOptions": null,
|
||||
"metadataOptions": null,
|
||||
"monitoring": null,
|
||||
"name": "ecs-default-7d65794",
|
||||
"namePrefix": "",
|
||||
"networkInterfaces": [],
|
||||
"placement": null,
|
||||
"privateDnsNameOptions": null,
|
||||
"ramDiskId": "",
|
||||
"securityGroupNames": null,
|
||||
"tagSpecifications": [],
|
||||
"updateDefaultVersion": null,
|
||||
"userData": "",
|
||||
"vpcSecurityGroupIds": null
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:iam/instanceProfile:InstanceProfile::ecs-ec2-instance-profile"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"iamInstanceProfile": [
|
||||
"urn:pulumi:aws-prod::dch::aws:iam/instanceProfile:InstanceProfile::ecs-ec2-instance-profile"
|
||||
],
|
||||
"imageId": [],
|
||||
"instanceType": [],
|
||||
"keyName": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:45.704214638Z",
|
||||
"modified": "2025-01-19T17:15:45.704214638Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/ec2/launch_template.py#1439"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:autoscaling/group:Group::ecs-default",
|
||||
"custom": true,
|
||||
"id": "ecs-default-ab2a7bc",
|
||||
"type": "aws:autoscaling/group:Group",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"forceDelete",
|
||||
"forceDeleteWarmPool",
|
||||
"healthCheckGracePeriod",
|
||||
"ignoreFailedScalingActivities",
|
||||
"metricsGranularity",
|
||||
"name",
|
||||
"protectFromScaleIn",
|
||||
"waitForCapacityTimeout"
|
||||
],
|
||||
"forceDelete": false,
|
||||
"forceDeleteWarmPool": false,
|
||||
"healthCheckGracePeriod": 300,
|
||||
"ignoreFailedScalingActivities": false,
|
||||
"instanceRefresh": {
|
||||
"__defaults": [],
|
||||
"strategy": "Rolling"
|
||||
},
|
||||
"launchTemplate": {
|
||||
"__defaults": [],
|
||||
"id": "lt-0d79ac75c26aae2e6",
|
||||
"version": "1"
|
||||
},
|
||||
"maxSize": 1,
|
||||
"metricsGranularity": "1Minute",
|
||||
"minSize": 1,
|
||||
"name": "ecs-default-ab2a7bc",
|
||||
"protectFromScaleIn": false,
|
||||
"tags": [
|
||||
{
|
||||
"__defaults": [],
|
||||
"key": "AmazonECSManaged",
|
||||
"propagateAtLaunch": true,
|
||||
"value": "true"
|
||||
}
|
||||
],
|
||||
"vpcZoneIdentifiers": [
|
||||
"subnet-866df8ef"
|
||||
],
|
||||
"waitForCapacityTimeout": "10m"
|
||||
},
|
||||
"outputs": {
|
||||
"__meta": "{\"e2bfb730-ecaa-11e6-8f88-34363bc7c4c0\":{\"delete\":600000000000,\"update\":600000000000},\"schema_version\":\"1\"}",
|
||||
"arn": "arn:aws:autoscaling:us-east-2:566967686773:autoScalingGroup:64fc27f8-8a05-4a2d-9aa1-39488d8890e1:autoScalingGroupName/ecs-default-ab2a7bc",
|
||||
"availabilityZoneDistribution": {
|
||||
"capacityDistributionStrategy": "balanced-best-effort"
|
||||
},
|
||||
"availabilityZones": [
|
||||
"us-east-2a"
|
||||
],
|
||||
"capacityRebalance": false,
|
||||
"context": "",
|
||||
"defaultCooldown": 300,
|
||||
"defaultInstanceWarmup": 0,
|
||||
"desiredCapacity": 1,
|
||||
"desiredCapacityType": "",
|
||||
"enabledMetrics": null,
|
||||
"forceDelete": false,
|
||||
"forceDeleteWarmPool": false,
|
||||
"healthCheckGracePeriod": 300,
|
||||
"healthCheckType": "EC2",
|
||||
"id": "ecs-default-ab2a7bc",
|
||||
"ignoreFailedScailingActivities": false,
|
||||
"ignoreFailedScalingActivities": false,
|
||||
"initialLifecycleHooks": [],
|
||||
"instanceMaintenancePolicy": null,
|
||||
"instanceRefresh": {
|
||||
"preferences": null,
|
||||
"strategy": "Rolling",
|
||||
"triggers": null
|
||||
},
|
||||
"launchConfiguration": "",
|
||||
"launchTemplate": {
|
||||
"id": "lt-0d79ac75c26aae2e6",
|
||||
"name": "ecs-default-7d65794",
|
||||
"version": "1"
|
||||
},
|
||||
"loadBalancers": [],
|
||||
"maxInstanceLifetime": 0,
|
||||
"maxSize": 1,
|
||||
"metricsGranularity": "1Minute",
|
||||
"minElbCapacity": null,
|
||||
"minSize": 1,
|
||||
"mixedInstancesPolicy": null,
|
||||
"name": "ecs-default-ab2a7bc",
|
||||
"namePrefix": "",
|
||||
"placementGroup": "",
|
||||
"predictedCapacity": 0,
|
||||
"protectFromScaleIn": false,
|
||||
"serviceLinkedRoleArn": "arn:aws:iam::566967686773:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling",
|
||||
"suspendedProcesses": null,
|
||||
"tags": [
|
||||
{
|
||||
"key": "AmazonECSManaged",
|
||||
"propagateAtLaunch": true,
|
||||
"value": "true"
|
||||
}
|
||||
],
|
||||
"targetGroupArns": [],
|
||||
"terminationPolicies": null,
|
||||
"trafficSources": [],
|
||||
"vpcZoneIdentifiers": [
|
||||
"subnet-866df8ef"
|
||||
],
|
||||
"waitForCapacityTimeout": "10m",
|
||||
"waitForElbCapacity": null,
|
||||
"warmPool": null,
|
||||
"warmPoolSize": 0
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ec2/launchTemplate:LaunchTemplate::ecs-default"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"instanceRefresh": [],
|
||||
"launchTemplate": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ec2/launchTemplate:LaunchTemplate::ecs-default"
|
||||
],
|
||||
"maxSize": [],
|
||||
"minSize": [],
|
||||
"tags": [],
|
||||
"vpcZoneIdentifiers": []
|
||||
},
|
||||
"created": "2025-01-19T17:16:00.752562867Z",
|
||||
"modified": "2025-01-19T17:16:00.752562867Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/autoscaling/group.py#2499"
|
||||
}
|
||||
],
|
||||
"metadata": {}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{"user.cache_control":"","user.content_disposition":"","user.content_encoding":"","user.content_language":"","user.content_type":"text/plain; charset=utf-8","user.metadata":null,"md5":"5BSgAlMtCMQviDBxFwSpUA=="}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"kind": "update",
|
||||
"startTime": 1737306923,
|
||||
"message": "",
|
||||
"environment": {
|
||||
"exec.kind": "cli",
|
||||
"pulumi.arch": "amd64",
|
||||
"pulumi.flag.stack": "set",
|
||||
"pulumi.os": "linux",
|
||||
"pulumi.version": "v3.145.0",
|
||||
"stack.environments": "[]",
|
||||
"updatePlan": "false"
|
||||
},
|
||||
"config": {
|
||||
"aws:region": "us-east-2"
|
||||
},
|
||||
"version": 0,
|
||||
"result": "succeeded",
|
||||
"endTime": 1737306961,
|
||||
"resourceChanges": {
|
||||
"create": 15
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{"user.cache_control":"","user.content_disposition":"","user.content_encoding":"","user.content_language":"","user.content_type":"text/plain; charset=utf-8","user.metadata":null,"md5":"w2aPeANea125tAL7MxYpSQ=="}
|
|
@ -0,0 +1 @@
|
|||
version: 1
|
|
@ -0,0 +1 @@
|
|||
{"user.cache_control":"","user.content_disposition":"","user.content_encoding":"","user.content_language":"","user.content_type":"text/plain; charset=utf-8","user.metadata":null,"md5":"EaRWdV65+nlqCnYlI4a4Wg=="}
|
|
@ -0,0 +1,959 @@
|
|||
{
|
||||
"version": 3,
|
||||
"checkpoint": {
|
||||
"stack": "organization/dch/aws-prod",
|
||||
"latest": {
|
||||
"manifest": {
|
||||
"time": "2025-01-19T11:16:00.999728742-06:00",
|
||||
"magic": "7c53c69df7094e39d5562ed2abf1e12099c2c54a7b9b411faca1dcb7ec1fef8a",
|
||||
"version": "v3.145.0"
|
||||
},
|
||||
"secrets_providers": {
|
||||
"type": "passphrase",
|
||||
"state": {
|
||||
"salt": "v1:wIs83/E0Mwc=:v1:lhrRAZ9Ho6AD9yVX:Ikzlp62zFZ+jvwHVerWLNuQhfqIcZg=="
|
||||
}
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2",
|
||||
"custom": true,
|
||||
"id": "1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"type": "pulumi:providers:aws",
|
||||
"inputs": {
|
||||
"__internal": {},
|
||||
"region": "us-east-2",
|
||||
"skipCredentialsValidation": "false",
|
||||
"skipRegionValidation": "true",
|
||||
"version": "6.66.2"
|
||||
},
|
||||
"outputs": {
|
||||
"region": "us-east-2",
|
||||
"skipCredentialsValidation": "false",
|
||||
"skipRegionValidation": "true",
|
||||
"version": "6.66.2"
|
||||
},
|
||||
"created": "2025-01-19T17:15:31.200019676Z",
|
||||
"modified": "2025-01-19T17:15:31.200019676Z"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"custom": false,
|
||||
"type": "pulumi:pulumi:Stack",
|
||||
"created": "2025-01-19T17:15:31.201175036Z",
|
||||
"modified": "2025-01-19T17:15:31.201175036Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi/runtime/stack.py#140"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:iam/serviceLinkedRole:ServiceLinkedRole::ecs",
|
||||
"custom": true,
|
||||
"id": "arn:aws:iam::566967686773:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS",
|
||||
"type": "aws:iam/serviceLinkedRole:ServiceLinkedRole",
|
||||
"inputs": {
|
||||
"__defaults": [],
|
||||
"awsServiceName": "ecs.amazonaws.com"
|
||||
},
|
||||
"outputs": {
|
||||
"arn": "arn:aws:iam::566967686773:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS",
|
||||
"awsServiceName": "ecs.amazonaws.com",
|
||||
"createDate": "2025-01-19T17:15:33Z",
|
||||
"customSuffix": "",
|
||||
"description": "",
|
||||
"id": "arn:aws:iam::566967686773:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS",
|
||||
"name": "AWSServiceRoleForECS",
|
||||
"path": "/aws-service-role/ecs.amazonaws.com/",
|
||||
"uniqueId": "AROAYIAPIKZ2Q6DBBXYXO"
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"awsServiceName": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:34.064087492Z",
|
||||
"modified": "2025-01-19T17:15:34.064087492Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/iam/service_linked_role.py#335"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:iam/role:Role::ecs-ec2-instance-role",
|
||||
"custom": true,
|
||||
"id": "ecs-ec2-instance-role-5dff09b",
|
||||
"type": "aws:iam/role:Role",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"forceDetachPolicies",
|
||||
"maxSessionDuration",
|
||||
"name",
|
||||
"path"
|
||||
],
|
||||
"assumeRolePolicy": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": \"sts:AssumeRole\",\n \"Principal\": {\n \"Service\": \"ec2.amazonaws.com\"\n }\n }\n ]\n}",
|
||||
"forceDetachPolicies": false,
|
||||
"managedPolicyArns": [
|
||||
"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role"
|
||||
],
|
||||
"maxSessionDuration": 3600,
|
||||
"name": "ecs-ec2-instance-role-5dff09b",
|
||||
"path": "/"
|
||||
},
|
||||
"outputs": {
|
||||
"arn": "arn:aws:iam::566967686773:role/ecs-ec2-instance-role-5dff09b",
|
||||
"assumeRolePolicy": "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"ec2.amazonaws.com\"}}],\"Version\":\"2012-10-17\"}",
|
||||
"createDate": "2025-01-19T17:15:33Z",
|
||||
"description": "",
|
||||
"forceDetachPolicies": false,
|
||||
"id": "ecs-ec2-instance-role-5dff09b",
|
||||
"inlinePolicies": [],
|
||||
"managedPolicyArns": [
|
||||
"arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role"
|
||||
],
|
||||
"maxSessionDuration": 3600,
|
||||
"name": "ecs-ec2-instance-role-5dff09b",
|
||||
"namePrefix": "",
|
||||
"path": "/",
|
||||
"permissionsBoundary": "",
|
||||
"uniqueId": "AROAYIAPIKZ2XCYHIOU4U"
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"assumeRolePolicy": [],
|
||||
"managedPolicyArns": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:34.339301047Z",
|
||||
"modified": "2025-01-19T17:15:34.339301047Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/iam/role.py#875"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::pulumi:providers:std::default_1_7_3",
|
||||
"custom": true,
|
||||
"id": "96aa9316-0253-4eeb-86ae-f44b8e1f3735",
|
||||
"type": "pulumi:providers:std",
|
||||
"inputs": {
|
||||
"__internal": {},
|
||||
"version": "1.7.3"
|
||||
},
|
||||
"outputs": {
|
||||
"version": "1.7.3"
|
||||
},
|
||||
"created": "2025-01-19T17:15:34.621408378Z",
|
||||
"modified": "2025-01-19T17:15:34.621408378Z"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:ecs/taskDefinition:TaskDefinition::blackbox-exporter",
|
||||
"custom": true,
|
||||
"id": "blackbox",
|
||||
"type": "aws:ecs/taskDefinition:TaskDefinition",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"skipDestroy",
|
||||
"trackLatest"
|
||||
],
|
||||
"containerDefinitions": "[{\"name\": \"blackbox\", \"image\": \"quay.io/prometheus/blackbox-exporter\", \"essential\": true, \"user\": \"9115:9115\", \"readonlyRootFilesystem\": true, \"portMappings\": [{\"containerPort\": 9115, \"hostPort\": 9115}], \"logConfiguration\": {\"logDriver\": \"awslogs\", \"options\": {\"awslogs-group\": \"ecs-blackbox\", \"awslogs-stream-prefix\": \"blackbox-exporter\", \"awslogs-region\": \"us-east-2\"}}}]",
|
||||
"family": "blackbox",
|
||||
"memory": "64",
|
||||
"networkMode": "host",
|
||||
"skipDestroy": false,
|
||||
"trackLatest": false
|
||||
},
|
||||
"outputs": {
|
||||
"__meta": "{\"schema_version\":\"1\"}",
|
||||
"arn": "arn:aws:ecs:us-east-2:566967686773:task-definition/blackbox:10",
|
||||
"arnWithoutRevision": "arn:aws:ecs:us-east-2:566967686773:task-definition/blackbox",
|
||||
"containerDefinitions": "[{\"environment\":[],\"essential\":true,\"image\":\"quay.io/prometheus/blackbox-exporter\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-region\":\"us-east-2\",\"awslogs-stream-prefix\":\"blackbox-exporter\",\"awslogs-group\":\"ecs-blackbox\"}},\"mountPoints\":[],\"name\":\"blackbox\",\"portMappings\":[{\"containerPort\":9115,\"hostPort\":9115,\"protocol\":\"tcp\"}],\"readonlyRootFilesystem\":true,\"systemControls\":[],\"user\":\"9115:9115\",\"volumesFrom\":[]}]",
|
||||
"cpu": "",
|
||||
"ephemeralStorage": null,
|
||||
"executionRoleArn": "",
|
||||
"family": "blackbox",
|
||||
"id": "blackbox",
|
||||
"inferenceAccelerators": [],
|
||||
"ipcMode": "",
|
||||
"memory": "64",
|
||||
"networkMode": "host",
|
||||
"pidMode": "",
|
||||
"placementConstraints": [],
|
||||
"proxyConfiguration": null,
|
||||
"requiresCompatibilities": null,
|
||||
"revision": 10,
|
||||
"runtimePlatform": null,
|
||||
"skipDestroy": false,
|
||||
"taskRoleArn": "",
|
||||
"trackLatest": false,
|
||||
"volumes": []
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"containerDefinitions": [],
|
||||
"family": [],
|
||||
"memory": [],
|
||||
"networkMode": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:34.76199393Z",
|
||||
"modified": "2025-01-19T17:15:34.76199393Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/ecs/task_definition.py#1240"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:cloudwatch/logGroup:LogGroup::blackbox",
|
||||
"custom": true,
|
||||
"id": "ecs-blackbox",
|
||||
"type": "aws:cloudwatch/logGroup:LogGroup",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"retentionInDays",
|
||||
"skipDestroy"
|
||||
],
|
||||
"name": "ecs-blackbox",
|
||||
"retentionInDays": 0,
|
||||
"skipDestroy": false
|
||||
},
|
||||
"outputs": {
|
||||
"arn": "arn:aws:logs:us-east-2:566967686773:log-group:ecs-blackbox",
|
||||
"id": "ecs-blackbox",
|
||||
"kmsKeyId": "",
|
||||
"logGroupClass": "STANDARD",
|
||||
"name": "ecs-blackbox",
|
||||
"namePrefix": "",
|
||||
"retentionInDays": 0,
|
||||
"skipDestroy": false
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"name": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:34.851712338Z",
|
||||
"modified": "2025-01-19T17:15:34.851712338Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/cloudwatch/log_group.py#404"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket",
|
||||
"custom": true,
|
||||
"id": "964e1f9c-20250119171534638700000001",
|
||||
"type": "aws:s3/bucketV2:BucketV2",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"forceDestroy"
|
||||
],
|
||||
"bucketPrefix": "964e1f9c-",
|
||||
"forceDestroy": false
|
||||
},
|
||||
"outputs": {
|
||||
"__meta": "{\"e2bfb730-ecaa-11e6-8f88-34363bc7c4c0\":{\"create\":1200000000000,\"delete\":3600000000000,\"read\":1200000000000,\"update\":1200000000000}}",
|
||||
"accelerationStatus": "",
|
||||
"acl": null,
|
||||
"arn": "arn:aws:s3:::964e1f9c-20250119171534638700000001",
|
||||
"bucket": "964e1f9c-20250119171534638700000001",
|
||||
"bucketDomainName": "964e1f9c-20250119171534638700000001.s3.amazonaws.com",
|
||||
"bucketPrefix": "964e1f9c-",
|
||||
"bucketRegionalDomainName": "964e1f9c-20250119171534638700000001.s3.us-east-2.amazonaws.com",
|
||||
"corsRules": [],
|
||||
"forceDestroy": false,
|
||||
"grants": [
|
||||
{
|
||||
"id": "1914118b6f2b10bbf071d99814216df33dd32657754ff781464facf268624c21",
|
||||
"permissions": [
|
||||
"FULL_CONTROL"
|
||||
],
|
||||
"type": "CanonicalUser",
|
||||
"uri": ""
|
||||
}
|
||||
],
|
||||
"hostedZoneId": "Z2O1EMRO9K5GLX",
|
||||
"id": "964e1f9c-20250119171534638700000001",
|
||||
"lifecycleRules": [],
|
||||
"loggings": [],
|
||||
"objectLockConfiguration": null,
|
||||
"objectLockEnabled": false,
|
||||
"policy": "",
|
||||
"region": "us-east-2",
|
||||
"replicationConfigurations": [],
|
||||
"requestPayer": "BucketOwner",
|
||||
"serverSideEncryptionConfigurations": [
|
||||
{
|
||||
"rules": [
|
||||
{
|
||||
"applyServerSideEncryptionByDefaults": [
|
||||
{
|
||||
"kmsMasterKeyId": "",
|
||||
"sseAlgorithm": "AES256"
|
||||
}
|
||||
],
|
||||
"bucketKeyEnabled": false
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"versionings": [
|
||||
{
|
||||
"enabled": false,
|
||||
"mfaDelete": false
|
||||
}
|
||||
],
|
||||
"websiteDomain": null,
|
||||
"websiteEndpoint": null,
|
||||
"websites": []
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"bucketPrefix": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:35.761453802Z",
|
||||
"modified": "2025-01-19T17:15:35.761453802Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/s3/bucket_v2.py#1065"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:ecs/taskDefinition:TaskDefinition::vmagent",
|
||||
"custom": true,
|
||||
"id": "vmagent",
|
||||
"type": "aws:ecs/taskDefinition:TaskDefinition",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"skipDestroy",
|
||||
"trackLatest"
|
||||
],
|
||||
"containerDefinitions": "[{\"name\": \"init\", \"image\": \"docker.io/library/busybox\", \"command\": [\"chown\", \"-R\", \"-v\", \"8429:8429\", \"/data\"], \"essential\": false, \"readonlyRootFilesystem\": true, \"mountPoints\": [{\"sourceVolume\": \"vmagent-data\", \"containerPath\": \"/data\"}], \"logConfiguration\": {\"logDriver\": \"awslogs\", \"options\": {\"awslogs-group\": \"ecs-blackbox\", \"awslogs-stream-prefix\": \"vmagent\", \"awslogs-region\": \"us-east-2\"}}}, {\"name\": \"vmagent\", \"image\": \"docker.io/victoriametrics/vmagent\", \"command\": [\"-remoteWrite.url=https://metrics.pyrocufflink.blue/insert/1/prometheus/api/v1/write\", \"-remoteWrite.tmpDataPath=/data\", \"-promscrape.config=https://964e1f9c-20250119171534638700000001.s3.us-east-2.amazonaws.com/scrape.yml\"], \"essential\": true, \"user\": \"8429:8429\", \"readonlyRootFilesystem\": true, \"mountPoints\": [{\"sourceVolume\": \"vmagent-data\", \"containerPath\": \"/data\"}], \"logConfiguration\": {\"logDriver\": \"awslogs\", \"options\": {\"awslogs-group\": \"ecs-blackbox\", \"awslogs-stream-prefix\": \"vmagent\", \"awslogs-region\": \"us-east-2\"}}, \"dependsOn\": [{\"containerName\": \"init\", \"condition\": \"SUCCESS\"}]}]",
|
||||
"family": "vmagent",
|
||||
"memory": "128",
|
||||
"networkMode": "host",
|
||||
"skipDestroy": false,
|
||||
"trackLatest": false,
|
||||
"volumes": [
|
||||
{
|
||||
"__defaults": [],
|
||||
"dockerVolumeConfiguration": {
|
||||
"__defaults": [],
|
||||
"autoprovision": true,
|
||||
"scope": "shared"
|
||||
},
|
||||
"name": "vmagent-data"
|
||||
}
|
||||
]
|
||||
},
|
||||
"outputs": {
|
||||
"__meta": "{\"schema_version\":\"1\"}",
|
||||
"arn": "arn:aws:ecs:us-east-2:566967686773:task-definition/vmagent:19",
|
||||
"arnWithoutRevision": "arn:aws:ecs:us-east-2:566967686773:task-definition/vmagent",
|
||||
"containerDefinitions": "[{\"command\":[\"chown\",\"-R\",\"-v\",\"8429:8429\",\"/data\"],\"environment\":[],\"essential\":false,\"image\":\"docker.io/library/busybox\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-region\":\"us-east-2\",\"awslogs-stream-prefix\":\"vmagent\",\"awslogs-group\":\"ecs-blackbox\"}},\"mountPoints\":[{\"containerPath\":\"/data\",\"sourceVolume\":\"vmagent-data\"}],\"name\":\"init\",\"portMappings\":[],\"readonlyRootFilesystem\":true,\"systemControls\":[],\"volumesFrom\":[]},{\"command\":[\"-remoteWrite.url=https://metrics.pyrocufflink.blue/insert/1/prometheus/api/v1/write\",\"-remoteWrite.tmpDataPath=/data\",\"-promscrape.config=https://964e1f9c-20250119171534638700000001.s3.us-east-2.amazonaws.com/scrape.yml\"],\"dependsOn\":[{\"condition\":\"SUCCESS\",\"containerName\":\"init\"}],\"environment\":[],\"essential\":true,\"image\":\"docker.io/victoriametrics/vmagent\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"ecs-blackbox\",\"awslogs-region\":\"us-east-2\",\"awslogs-stream-prefix\":\"vmagent\"}},\"mountPoints\":[{\"containerPath\":\"/data\",\"sourceVolume\":\"vmagent-data\"}],\"name\":\"vmagent\",\"portMappings\":[],\"readonlyRootFilesystem\":true,\"systemControls\":[],\"user\":\"8429:8429\",\"volumesFrom\":[]}]",
|
||||
"cpu": "",
|
||||
"ephemeralStorage": null,
|
||||
"executionRoleArn": "",
|
||||
"family": "vmagent",
|
||||
"id": "vmagent",
|
||||
"inferenceAccelerators": [],
|
||||
"ipcMode": "",
|
||||
"memory": "128",
|
||||
"networkMode": "host",
|
||||
"pidMode": "",
|
||||
"placementConstraints": [],
|
||||
"proxyConfiguration": null,
|
||||
"requiresCompatibilities": null,
|
||||
"revision": 19,
|
||||
"runtimePlatform": null,
|
||||
"skipDestroy": false,
|
||||
"taskRoleArn": "",
|
||||
"trackLatest": false,
|
||||
"volumes": [
|
||||
{
|
||||
"configureAtLaunch": false,
|
||||
"dockerVolumeConfiguration": {
|
||||
"autoprovision": true,
|
||||
"driver": "local",
|
||||
"driverOpts": {},
|
||||
"labels": {},
|
||||
"scope": "shared"
|
||||
},
|
||||
"efsVolumeConfiguration": null,
|
||||
"fsxWindowsFileServerVolumeConfiguration": null,
|
||||
"hostPath": "",
|
||||
"name": "vmagent-data"
|
||||
}
|
||||
]
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"containerDefinitions": [
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket"
|
||||
],
|
||||
"family": [],
|
||||
"memory": [],
|
||||
"networkMode": [],
|
||||
"volumes": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:35.901917093Z",
|
||||
"modified": "2025-01-19T17:15:35.901917093Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/ecs/task_definition.py#1240"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:s3/bucketObject:BucketObject::scrape-yml",
|
||||
"custom": true,
|
||||
"id": "scrape.yml",
|
||||
"type": "aws:s3/bucketObject:BucketObject",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"acl",
|
||||
"forceDestroy"
|
||||
],
|
||||
"acl": "private",
|
||||
"bucket": "964e1f9c-20250119171534638700000001",
|
||||
"forceDestroy": false,
|
||||
"key": "scrape.yml",
|
||||
"source": {
|
||||
"4dabf18193072939515e22adb298388d": "c44067f5952c0a294b673a41bacd8c17",
|
||||
"hash": "34b7658086c3bc4f7cf9d3348929613a6c2c745717d9d980909c348121108f94",
|
||||
"path": "blackbox/scrape.yml"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
"acl": "private",
|
||||
"arn": "arn:aws:s3:::964e1f9c-20250119171534638700000001/scrape.yml",
|
||||
"bucket": "964e1f9c-20250119171534638700000001",
|
||||
"bucketKeyEnabled": false,
|
||||
"cacheControl": "",
|
||||
"content": null,
|
||||
"contentBase64": null,
|
||||
"contentDisposition": "",
|
||||
"contentEncoding": "",
|
||||
"contentLanguage": "",
|
||||
"contentType": "application/octet-stream",
|
||||
"etag": "7116e02aa24424125f80e1b31d097831",
|
||||
"forceDestroy": false,
|
||||
"id": "scrape.yml",
|
||||
"key": "scrape.yml",
|
||||
"kmsKeyId": null,
|
||||
"metadata": null,
|
||||
"objectLockLegalHoldStatus": "",
|
||||
"objectLockMode": "",
|
||||
"objectLockRetainUntilDate": "",
|
||||
"serverSideEncryption": "AES256",
|
||||
"source": {
|
||||
"4dabf18193072939515e22adb298388d": "c44067f5952c0a294b673a41bacd8c17",
|
||||
"hash": "34b7658086c3bc4f7cf9d3348929613a6c2c745717d9d980909c348121108f94",
|
||||
"path": "blackbox/scrape.yml"
|
||||
},
|
||||
"sourceHash": null,
|
||||
"storageClass": "STANDARD",
|
||||
"versionId": "",
|
||||
"websiteRedirect": ""
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"bucket": [
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket"
|
||||
],
|
||||
"key": [],
|
||||
"source": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:35.927307449Z",
|
||||
"modified": "2025-01-19T17:15:35.927307449Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/s3/bucket_object.py#1183"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:s3/bucketPolicy:BucketPolicy::config-bucket",
|
||||
"custom": true,
|
||||
"id": "964e1f9c-20250119171534638700000001",
|
||||
"type": "aws:s3/bucketPolicy:BucketPolicy",
|
||||
"inputs": {
|
||||
"__defaults": [],
|
||||
"bucket": "964e1f9c-20250119171534638700000001",
|
||||
"policy": "{\"Version\": \"2012-10-17\", \"Statement\": [{\"Principal\": \"*\", \"Action\": [\"s3:GetObject\", \"s3:ListBucket\"], \"Effect\": \"Allow\", \"Resource\": [\"arn:aws:s3:::964e1f9c-20250119171534638700000001\", \"arn:aws:s3:::964e1f9c-20250119171534638700000001/*\"], \"Condition\": {\"StringEquals\": {\"aws:sourceVpce\": \"vpce-06b8f872ece84f6cc\"}}}]}"
|
||||
},
|
||||
"outputs": {
|
||||
"bucket": "964e1f9c-20250119171534638700000001",
|
||||
"id": "964e1f9c-20250119171534638700000001",
|
||||
"policy": "{\"Statement\":[{\"Action\":[\"s3:GetObject\",\"s3:ListBucket\"],\"Condition\":{\"StringEquals\":{\"aws:sourceVpce\":\"vpce-06b8f872ece84f6cc\"}},\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":[\"arn:aws:s3:::964e1f9c-20250119171534638700000001\",\"arn:aws:s3:::964e1f9c-20250119171534638700000001/*\"]}],\"Version\":\"2012-10-17\"}"
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"bucket": [
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket"
|
||||
],
|
||||
"policy": [
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketV2:BucketV2::config-bucket"
|
||||
]
|
||||
},
|
||||
"created": "2025-01-19T17:15:36.085996879Z",
|
||||
"modified": "2025-01-19T17:15:36.085996879Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/s3/bucket_policy.py#208"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:iam/instanceProfile:InstanceProfile::ecs-ec2-instance-profile",
|
||||
"custom": true,
|
||||
"id": "ecs-ec2-instance-profile-30b3240",
|
||||
"type": "aws:iam/instanceProfile:InstanceProfile",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"name",
|
||||
"path"
|
||||
],
|
||||
"name": "ecs-ec2-instance-profile-30b3240",
|
||||
"path": "/",
|
||||
"role": "ecs-ec2-instance-role-5dff09b"
|
||||
},
|
||||
"outputs": {
|
||||
"arn": "arn:aws:iam::566967686773:instance-profile/ecs-ec2-instance-profile-30b3240",
|
||||
"createDate": "2025-01-19T17:15:34Z",
|
||||
"id": "ecs-ec2-instance-profile-30b3240",
|
||||
"name": "ecs-ec2-instance-profile-30b3240",
|
||||
"namePrefix": "",
|
||||
"path": "/",
|
||||
"role": "ecs-ec2-instance-role-5dff09b",
|
||||
"uniqueId": "AIPAYIAPIKZ24DKQ43O6E"
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:iam/role:Role::ecs-ec2-instance-role"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"role": [
|
||||
"urn:pulumi:aws-prod::dch::aws:iam/role:Role::ecs-ec2-instance-role"
|
||||
]
|
||||
},
|
||||
"created": "2025-01-19T17:15:40.108600183Z",
|
||||
"modified": "2025-01-19T17:15:40.108600183Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/iam/instance_profile.py#370"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:ecs/cluster:Cluster::default",
|
||||
"custom": true,
|
||||
"id": "arn:aws:ecs:us-east-2:566967686773:cluster/default",
|
||||
"type": "aws:ecs/cluster:Cluster",
|
||||
"inputs": {
|
||||
"__defaults": [],
|
||||
"name": "default"
|
||||
},
|
||||
"outputs": {
|
||||
"arn": "arn:aws:ecs:us-east-2:566967686773:cluster/default",
|
||||
"configuration": null,
|
||||
"id": "arn:aws:ecs:us-east-2:566967686773:cluster/default",
|
||||
"name": "default",
|
||||
"serviceConnectDefaults": null,
|
||||
"settings": [
|
||||
{
|
||||
"name": "containerInsights",
|
||||
"value": "disabled"
|
||||
}
|
||||
]
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"name": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:44.329231643Z",
|
||||
"modified": "2025-01-19T17:15:44.329231643Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/ecs/cluster.py#518"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:ecs/service:Service::blackbox-exporter",
|
||||
"custom": true,
|
||||
"id": "arn:aws:ecs:us-east-2:566967686773:service/default/blackbox-exporter",
|
||||
"type": "aws:ecs/service:Service",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"availabilityZoneRebalancing",
|
||||
"deploymentMaximumPercent",
|
||||
"deploymentMinimumHealthyPercent",
|
||||
"enableEcsManagedTags",
|
||||
"enableExecuteCommand",
|
||||
"schedulingStrategy",
|
||||
"waitForSteadyState"
|
||||
],
|
||||
"availabilityZoneRebalancing": "DISABLED",
|
||||
"cluster": "arn:aws:ecs:us-east-2:566967686773:cluster/default",
|
||||
"deploymentMaximumPercent": 200,
|
||||
"deploymentMinimumHealthyPercent": 100,
|
||||
"desiredCount": 1,
|
||||
"enableEcsManagedTags": false,
|
||||
"enableExecuteCommand": false,
|
||||
"name": "blackbox-exporter",
|
||||
"schedulingStrategy": "REPLICA",
|
||||
"taskDefinition": "arn:aws:ecs:us-east-2:566967686773:task-definition/blackbox:10",
|
||||
"waitForSteadyState": false
|
||||
},
|
||||
"outputs": {
|
||||
"__meta": "{\"e2bfb730-ecaa-11e6-8f88-34363bc7c4c0\":{\"create\":1200000000000,\"delete\":1200000000000,\"update\":1200000000000},\"schema_version\":\"1\"}",
|
||||
"alarms": null,
|
||||
"availabilityZoneRebalancing": "DISABLED",
|
||||
"capacityProviderStrategies": [],
|
||||
"cluster": "arn:aws:ecs:us-east-2:566967686773:cluster/default",
|
||||
"deploymentCircuitBreaker": {
|
||||
"enable": false,
|
||||
"rollback": false
|
||||
},
|
||||
"deploymentController": {
|
||||
"type": "ECS"
|
||||
},
|
||||
"deploymentMaximumPercent": 200,
|
||||
"deploymentMinimumHealthyPercent": 100,
|
||||
"desiredCount": 1,
|
||||
"enableEcsManagedTags": false,
|
||||
"enableExecuteCommand": false,
|
||||
"forceDelete": null,
|
||||
"forceNewDeployment": null,
|
||||
"healthCheckGracePeriodSeconds": 0,
|
||||
"iamRole": null,
|
||||
"id": "arn:aws:ecs:us-east-2:566967686773:service/default/blackbox-exporter",
|
||||
"launchType": "EC2",
|
||||
"loadBalancers": [],
|
||||
"name": "blackbox-exporter",
|
||||
"networkConfiguration": null,
|
||||
"orderedPlacementStrategies": [],
|
||||
"placementConstraints": [],
|
||||
"platformVersion": "",
|
||||
"propagateTags": "NONE",
|
||||
"schedulingStrategy": "REPLICA",
|
||||
"serviceConnectConfiguration": null,
|
||||
"serviceRegistries": null,
|
||||
"taskDefinition": "arn:aws:ecs:us-east-2:566967686773:task-definition/blackbox:10",
|
||||
"triggers": {},
|
||||
"volumeConfiguration": null,
|
||||
"vpcLatticeConfigurations": [],
|
||||
"waitForSteadyState": false
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/cluster:Cluster::default",
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/taskDefinition:TaskDefinition::blackbox-exporter"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"cluster": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/cluster:Cluster::default"
|
||||
],
|
||||
"desiredCount": [],
|
||||
"name": [],
|
||||
"taskDefinition": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/taskDefinition:TaskDefinition::blackbox-exporter"
|
||||
]
|
||||
},
|
||||
"created": "2025-01-19T17:15:44.682984184Z",
|
||||
"modified": "2025-01-19T17:15:44.682984184Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/ecs/service.py#1409"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:ecs/service:Service::vmagent",
|
||||
"custom": true,
|
||||
"id": "arn:aws:ecs:us-east-2:566967686773:service/default/vmagent",
|
||||
"type": "aws:ecs/service:Service",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"availabilityZoneRebalancing",
|
||||
"deploymentMaximumPercent",
|
||||
"deploymentMinimumHealthyPercent",
|
||||
"enableEcsManagedTags",
|
||||
"enableExecuteCommand",
|
||||
"waitForSteadyState"
|
||||
],
|
||||
"availabilityZoneRebalancing": "DISABLED",
|
||||
"cluster": "arn:aws:ecs:us-east-2:566967686773:cluster/default",
|
||||
"deploymentMaximumPercent": 200,
|
||||
"deploymentMinimumHealthyPercent": 100,
|
||||
"desiredCount": 1,
|
||||
"enableEcsManagedTags": false,
|
||||
"enableExecuteCommand": false,
|
||||
"forceNewDeployment": true,
|
||||
"name": "vmagent",
|
||||
"schedulingStrategy": "DAEMON",
|
||||
"taskDefinition": "arn:aws:ecs:us-east-2:566967686773:task-definition/vmagent:19",
|
||||
"triggers": {
|
||||
"config": "b1015f1e9fec36e05405032e6da76707885f37f5c8ebb780f709ee421d83aa1240fb76749e81cc8c26449dc87413fbda89e7847d2e392c37fa6f0ba934fa27cf"
|
||||
},
|
||||
"waitForSteadyState": false
|
||||
},
|
||||
"outputs": {
|
||||
"__meta": "{\"e2bfb730-ecaa-11e6-8f88-34363bc7c4c0\":{\"create\":1200000000000,\"delete\":1200000000000,\"update\":1200000000000},\"schema_version\":\"1\"}",
|
||||
"alarms": null,
|
||||
"availabilityZoneRebalancing": "DISABLED",
|
||||
"capacityProviderStrategies": [],
|
||||
"cluster": "arn:aws:ecs:us-east-2:566967686773:cluster/default",
|
||||
"deploymentCircuitBreaker": {
|
||||
"enable": false,
|
||||
"rollback": false
|
||||
},
|
||||
"deploymentController": {
|
||||
"type": "ECS"
|
||||
},
|
||||
"deploymentMaximumPercent": 100,
|
||||
"deploymentMinimumHealthyPercent": 0,
|
||||
"desiredCount": 0,
|
||||
"enableEcsManagedTags": false,
|
||||
"enableExecuteCommand": false,
|
||||
"forceDelete": null,
|
||||
"forceNewDeployment": true,
|
||||
"healthCheckGracePeriodSeconds": 0,
|
||||
"iamRole": null,
|
||||
"id": "arn:aws:ecs:us-east-2:566967686773:service/default/vmagent",
|
||||
"launchType": "EC2",
|
||||
"loadBalancers": [],
|
||||
"name": "vmagent",
|
||||
"networkConfiguration": null,
|
||||
"orderedPlacementStrategies": [],
|
||||
"placementConstraints": [],
|
||||
"platformVersion": "",
|
||||
"propagateTags": "NONE",
|
||||
"schedulingStrategy": "DAEMON",
|
||||
"serviceConnectConfiguration": null,
|
||||
"serviceRegistries": null,
|
||||
"taskDefinition": "arn:aws:ecs:us-east-2:566967686773:task-definition/vmagent:19",
|
||||
"triggers": {
|
||||
"config": "b1015f1e9fec36e05405032e6da76707885f37f5c8ebb780f709ee421d83aa1240fb76749e81cc8c26449dc87413fbda89e7847d2e392c37fa6f0ba934fa27cf"
|
||||
},
|
||||
"volumeConfiguration": null,
|
||||
"vpcLatticeConfigurations": [],
|
||||
"waitForSteadyState": false
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/cluster:Cluster::default",
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/taskDefinition:TaskDefinition::vmagent",
|
||||
"urn:pulumi:aws-prod::dch::aws:s3/bucketObject:BucketObject::scrape-yml"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"cluster": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/cluster:Cluster::default"
|
||||
],
|
||||
"desiredCount": [],
|
||||
"forceNewDeployment": [],
|
||||
"name": [],
|
||||
"schedulingStrategy": [],
|
||||
"taskDefinition": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ecs/taskDefinition:TaskDefinition::vmagent"
|
||||
],
|
||||
"triggers": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:44.777817662Z",
|
||||
"modified": "2025-01-19T17:15:44.777817662Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/ecs/service.py#1409"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:ec2/launchTemplate:LaunchTemplate::ecs-default",
|
||||
"custom": true,
|
||||
"id": "lt-0d79ac75c26aae2e6",
|
||||
"type": "aws:ec2/launchTemplate:LaunchTemplate",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"name"
|
||||
],
|
||||
"iamInstanceProfile": {
|
||||
"__defaults": [],
|
||||
"arn": "arn:aws:iam::566967686773:instance-profile/ecs-ec2-instance-profile-30b3240"
|
||||
},
|
||||
"imageId": "ami-08764537c19a18266",
|
||||
"instanceType": "t4g.nano",
|
||||
"keyName": "dustin@rosalina",
|
||||
"name": "ecs-default-7d65794"
|
||||
},
|
||||
"outputs": {
|
||||
"arn": "arn:aws:ec2:us-east-2:566967686773:launch-template/lt-0d79ac75c26aae2e6",
|
||||
"blockDeviceMappings": [],
|
||||
"capacityReservationSpecification": null,
|
||||
"cpuOptions": null,
|
||||
"creditSpecification": null,
|
||||
"defaultVersion": 1,
|
||||
"description": "",
|
||||
"disableApiStop": false,
|
||||
"disableApiTermination": false,
|
||||
"ebsOptimized": "",
|
||||
"elasticGpuSpecifications": [],
|
||||
"elasticInferenceAccelerator": null,
|
||||
"enclaveOptions": null,
|
||||
"hibernationOptions": null,
|
||||
"iamInstanceProfile": {
|
||||
"arn": "arn:aws:iam::566967686773:instance-profile/ecs-ec2-instance-profile-30b3240",
|
||||
"name": ""
|
||||
},
|
||||
"id": "lt-0d79ac75c26aae2e6",
|
||||
"imageId": "ami-08764537c19a18266",
|
||||
"instanceInitiatedShutdownBehavior": "",
|
||||
"instanceMarketOptions": null,
|
||||
"instanceRequirements": null,
|
||||
"instanceType": "t4g.nano",
|
||||
"kernelId": "",
|
||||
"keyName": "dustin@rosalina",
|
||||
"latestVersion": 1,
|
||||
"licenseSpecifications": [],
|
||||
"maintenanceOptions": null,
|
||||
"metadataOptions": null,
|
||||
"monitoring": null,
|
||||
"name": "ecs-default-7d65794",
|
||||
"namePrefix": "",
|
||||
"networkInterfaces": [],
|
||||
"placement": null,
|
||||
"privateDnsNameOptions": null,
|
||||
"ramDiskId": "",
|
||||
"securityGroupNames": null,
|
||||
"tagSpecifications": [],
|
||||
"updateDefaultVersion": null,
|
||||
"userData": "",
|
||||
"vpcSecurityGroupIds": null
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:iam/instanceProfile:InstanceProfile::ecs-ec2-instance-profile"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"iamInstanceProfile": [
|
||||
"urn:pulumi:aws-prod::dch::aws:iam/instanceProfile:InstanceProfile::ecs-ec2-instance-profile"
|
||||
],
|
||||
"imageId": [],
|
||||
"instanceType": [],
|
||||
"keyName": []
|
||||
},
|
||||
"created": "2025-01-19T17:15:45.704214638Z",
|
||||
"modified": "2025-01-19T17:15:45.704214638Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/ec2/launch_template.py#1439"
|
||||
},
|
||||
{
|
||||
"urn": "urn:pulumi:aws-prod::dch::aws:autoscaling/group:Group::ecs-default",
|
||||
"custom": true,
|
||||
"id": "ecs-default-ab2a7bc",
|
||||
"type": "aws:autoscaling/group:Group",
|
||||
"inputs": {
|
||||
"__defaults": [
|
||||
"forceDelete",
|
||||
"forceDeleteWarmPool",
|
||||
"healthCheckGracePeriod",
|
||||
"ignoreFailedScalingActivities",
|
||||
"metricsGranularity",
|
||||
"name",
|
||||
"protectFromScaleIn",
|
||||
"waitForCapacityTimeout"
|
||||
],
|
||||
"forceDelete": false,
|
||||
"forceDeleteWarmPool": false,
|
||||
"healthCheckGracePeriod": 300,
|
||||
"ignoreFailedScalingActivities": false,
|
||||
"instanceRefresh": {
|
||||
"__defaults": [],
|
||||
"strategy": "Rolling"
|
||||
},
|
||||
"launchTemplate": {
|
||||
"__defaults": [],
|
||||
"id": "lt-0d79ac75c26aae2e6",
|
||||
"version": "1"
|
||||
},
|
||||
"maxSize": 1,
|
||||
"metricsGranularity": "1Minute",
|
||||
"minSize": 1,
|
||||
"name": "ecs-default-ab2a7bc",
|
||||
"protectFromScaleIn": false,
|
||||
"tags": [
|
||||
{
|
||||
"__defaults": [],
|
||||
"key": "AmazonECSManaged",
|
||||
"propagateAtLaunch": true,
|
||||
"value": "true"
|
||||
}
|
||||
],
|
||||
"vpcZoneIdentifiers": [
|
||||
"subnet-866df8ef"
|
||||
],
|
||||
"waitForCapacityTimeout": "10m"
|
||||
},
|
||||
"outputs": {
|
||||
"__meta": "{\"e2bfb730-ecaa-11e6-8f88-34363bc7c4c0\":{\"delete\":600000000000,\"update\":600000000000},\"schema_version\":\"1\"}",
|
||||
"arn": "arn:aws:autoscaling:us-east-2:566967686773:autoScalingGroup:64fc27f8-8a05-4a2d-9aa1-39488d8890e1:autoScalingGroupName/ecs-default-ab2a7bc",
|
||||
"availabilityZoneDistribution": {
|
||||
"capacityDistributionStrategy": "balanced-best-effort"
|
||||
},
|
||||
"availabilityZones": [
|
||||
"us-east-2a"
|
||||
],
|
||||
"capacityRebalance": false,
|
||||
"context": "",
|
||||
"defaultCooldown": 300,
|
||||
"defaultInstanceWarmup": 0,
|
||||
"desiredCapacity": 1,
|
||||
"desiredCapacityType": "",
|
||||
"enabledMetrics": null,
|
||||
"forceDelete": false,
|
||||
"forceDeleteWarmPool": false,
|
||||
"healthCheckGracePeriod": 300,
|
||||
"healthCheckType": "EC2",
|
||||
"id": "ecs-default-ab2a7bc",
|
||||
"ignoreFailedScailingActivities": false,
|
||||
"ignoreFailedScalingActivities": false,
|
||||
"initialLifecycleHooks": [],
|
||||
"instanceMaintenancePolicy": null,
|
||||
"instanceRefresh": {
|
||||
"preferences": null,
|
||||
"strategy": "Rolling",
|
||||
"triggers": null
|
||||
},
|
||||
"launchConfiguration": "",
|
||||
"launchTemplate": {
|
||||
"id": "lt-0d79ac75c26aae2e6",
|
||||
"name": "ecs-default-7d65794",
|
||||
"version": "1"
|
||||
},
|
||||
"loadBalancers": [],
|
||||
"maxInstanceLifetime": 0,
|
||||
"maxSize": 1,
|
||||
"metricsGranularity": "1Minute",
|
||||
"minElbCapacity": null,
|
||||
"minSize": 1,
|
||||
"mixedInstancesPolicy": null,
|
||||
"name": "ecs-default-ab2a7bc",
|
||||
"namePrefix": "",
|
||||
"placementGroup": "",
|
||||
"predictedCapacity": 0,
|
||||
"protectFromScaleIn": false,
|
||||
"serviceLinkedRoleArn": "arn:aws:iam::566967686773:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling",
|
||||
"suspendedProcesses": null,
|
||||
"tags": [
|
||||
{
|
||||
"key": "AmazonECSManaged",
|
||||
"propagateAtLaunch": true,
|
||||
"value": "true"
|
||||
}
|
||||
],
|
||||
"targetGroupArns": [],
|
||||
"terminationPolicies": null,
|
||||
"trafficSources": [],
|
||||
"vpcZoneIdentifiers": [
|
||||
"subnet-866df8ef"
|
||||
],
|
||||
"waitForCapacityTimeout": "10m",
|
||||
"waitForElbCapacity": null,
|
||||
"warmPool": null,
|
||||
"warmPoolSize": 0
|
||||
},
|
||||
"parent": "urn:pulumi:aws-prod::dch::pulumi:pulumi:Stack::dch-aws-prod",
|
||||
"dependencies": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ec2/launchTemplate:LaunchTemplate::ecs-default"
|
||||
],
|
||||
"provider": "urn:pulumi:aws-prod::dch::pulumi:providers:aws::default_6_66_2::1b844c5b-dee9-4ca1-9b76-69023765533d",
|
||||
"propertyDependencies": {
|
||||
"instanceRefresh": [],
|
||||
"launchTemplate": [
|
||||
"urn:pulumi:aws-prod::dch::aws:ec2/launchTemplate:LaunchTemplate::ecs-default"
|
||||
],
|
||||
"maxSize": [],
|
||||
"minSize": [],
|
||||
"tags": [],
|
||||
"vpcZoneIdentifiers": []
|
||||
},
|
||||
"created": "2025-01-19T17:16:00.752562867Z",
|
||||
"modified": "2025-01-19T17:16:00.752562867Z",
|
||||
"sourcePosition": "project:///.venv/lib64/python3.12/site-packages/pulumi_aws/autoscaling/group.py#2499"
|
||||
}
|
||||
],
|
||||
"metadata": {}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{"user.cache_control":"","user.content_disposition":"","user.content_encoding":"","user.content_language":"","user.content_type":"text/plain; charset=utf-8","user.metadata":null,"md5":"5BSgAlMtCMQviDBxFwSpUA=="}
|
|
@ -0,0 +1,3 @@
|
|||
encryptionsalt: v1:wIs83/E0Mwc=:v1:lhrRAZ9Ho6AD9yVX:Ikzlp62zFZ+jvwHVerWLNuQhfqIcZg==
|
||||
config:
|
||||
aws:region: us-east-2
|
|
@ -0,0 +1,8 @@
|
|||
name: dch
|
||||
main: dch_cloud/__main__.py
|
||||
runtime:
|
||||
name: python
|
||||
options:
|
||||
toolchain: pip
|
||||
typechecker: pyright
|
||||
virtualenv: .venv
|
|
@ -0,0 +1 @@
|
|||
import dch_cloud.blackbox
|
|
@ -0,0 +1,137 @@
|
|||
import hashlib
|
||||
import json
|
||||
from typing import Any
|
||||
|
||||
import pulumi
|
||||
import pulumi_std as std
|
||||
import pulumi_aws as aws
|
||||
import yaml
|
||||
|
||||
from dch_cloud.common import aws_region
|
||||
from dch_cloud.default_vpc import s3_endpoint
|
||||
from dch_cloud.ecs import cluster
|
||||
|
||||
|
||||
Json = dict[str, Any]
|
||||
|
||||
|
||||
def patch_container_def(ctrdef: list[Json], **args: Any) -> list[Json]:
|
||||
for ctr in ctrdef:
|
||||
if logcfg := ctr.get('logConfiguration'):
|
||||
if logcfg['logDriver'] == 'awslogs':
|
||||
logcfg['options'].setdefault('awslogs-region', aws_region)
|
||||
if ctr['name'] == 'vmagent':
|
||||
ctr['command'].append(
|
||||
f'-promscrape.config=https://{args["bucket"]}.s3.{aws_region}.amazonaws.com/scrape.yml',
|
||||
)
|
||||
return ctrdef
|
||||
|
||||
|
||||
log_group = aws.cloudwatch.LogGroup(
|
||||
'blackbox',
|
||||
name='ecs-blackbox',
|
||||
)
|
||||
|
||||
config_bucket = aws.s3.BucketV2(
|
||||
'config-bucket',
|
||||
bucket_prefix='964e1f9c-',
|
||||
)
|
||||
|
||||
scrape_yml = pulumi.FileAsset('blackbox/scrape.yml')
|
||||
|
||||
scrape_yml_hash = hashlib.blake2b(
|
||||
std.file(scrape_yml.path).result.encode('utf-8')
|
||||
).hexdigest()
|
||||
|
||||
s3_scrape_yml = aws.s3.BucketObject(
|
||||
'scrape-yml',
|
||||
bucket=config_bucket.id,
|
||||
key='scrape.yml',
|
||||
source=scrape_yml,
|
||||
)
|
||||
|
||||
exporter_def = yaml.safe_load(std.file('blackbox/blackbox.yaml').result)
|
||||
|
||||
exporter_task = aws.ecs.TaskDefinition(
|
||||
'blackbox-exporter',
|
||||
family='blackbox',
|
||||
container_definitions=json.dumps(patch_container_def(exporter_def)),
|
||||
memory='64',
|
||||
network_mode='host',
|
||||
)
|
||||
|
||||
vmagent_def = yaml.safe_load(std.file('blackbox/vmagent.yaml').result)
|
||||
|
||||
vmagent_task = aws.ecs.TaskDefinition(
|
||||
'vmagent',
|
||||
family='vmagent',
|
||||
container_definitions=config_bucket.id.apply(
|
||||
lambda b: json.dumps(patch_container_def(vmagent_def, bucket=b))
|
||||
),
|
||||
memory='128',
|
||||
network_mode='host',
|
||||
volumes=[
|
||||
aws.ecs.TaskDefinitionVolumeArgs(
|
||||
name='vmagent-data',
|
||||
docker_volume_configuration=aws.ecs.TaskDefinitionVolumeDockerVolumeConfigurationArgs(
|
||||
autoprovision=True,
|
||||
scope='shared',
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
exporter_svc = aws.ecs.Service(
|
||||
'blackbox-exporter',
|
||||
name='blackbox-exporter',
|
||||
cluster=cluster.id,
|
||||
task_definition=exporter_task.arn,
|
||||
desired_count=1,
|
||||
)
|
||||
|
||||
vmagent_svc = aws.ecs.Service(
|
||||
'vmagent',
|
||||
name='vmagent',
|
||||
cluster=cluster.id,
|
||||
task_definition=vmagent_task.arn,
|
||||
desired_count=1,
|
||||
scheduling_strategy='DAEMON',
|
||||
force_new_deployment=True,
|
||||
triggers={
|
||||
'config': scrape_yml_hash,
|
||||
},
|
||||
opts=pulumi.ResourceOptions(
|
||||
depends_on=s3_scrape_yml,
|
||||
),
|
||||
)
|
||||
|
||||
config_bucket_policy = aws.s3.BucketPolicy(
|
||||
'config-bucket',
|
||||
bucket=config_bucket.id,
|
||||
policy=config_bucket.arn.apply(
|
||||
lambda a: json.dumps(
|
||||
{
|
||||
'Version': '2012-10-17',
|
||||
'Statement': [
|
||||
{
|
||||
'Principal': '*',
|
||||
'Action': [
|
||||
's3:GetObject',
|
||||
's3:ListBucket',
|
||||
],
|
||||
'Effect': 'Allow',
|
||||
'Resource': [
|
||||
a,
|
||||
f'{a}/*',
|
||||
],
|
||||
'Condition': {
|
||||
'StringEquals': {
|
||||
'aws:sourceVpce': s3_endpoint.id,
|
||||
}
|
||||
},
|
||||
}
|
||||
],
|
||||
}
|
||||
)
|
||||
),
|
||||
)
|
|
@ -0,0 +1,13 @@
|
|||
- name: blackbox
|
||||
image: quay.io/prometheus/blackbox-exporter
|
||||
essential: true
|
||||
user: '9115:9115'
|
||||
readonlyRootFilesystem: true
|
||||
portMappings:
|
||||
- containerPort: 9115
|
||||
hostPort: 9115
|
||||
logConfiguration:
|
||||
logDriver: awslogs
|
||||
options:
|
||||
awslogs-group: ecs-blackbox
|
||||
awslogs-stream-prefix: blackbox-exporter
|
|
@ -0,0 +1,38 @@
|
|||
scrape_configs:
|
||||
- job_name: cloud-vmagent
|
||||
static_configs:
|
||||
- targets:
|
||||
- localhost:8429
|
||||
|
||||
- job_name: blackbox-metrics
|
||||
static_configs:
|
||||
- targets:
|
||||
- localhost:9115
|
||||
|
||||
- job_name: websites
|
||||
scrape_interval: 5m
|
||||
metrics_path: /probe
|
||||
params:
|
||||
module:
|
||||
- http_2xx
|
||||
static_configs:
|
||||
- targets:
|
||||
- https://dustin.hatch.name/
|
||||
- https://darkchestofwonders.us/
|
||||
- http://nratonpass.com/
|
||||
- http://pyrocufflink.net/
|
||||
- http://ebonfire.com/
|
||||
- http://chmod777.sh/
|
||||
- https://nextcloud.pyrocufflink.net/index.php
|
||||
- https://bitwarden.pyrocufflink.net/
|
||||
- https://git.pyrocufflink.net/
|
||||
- https://tabitha.biz/
|
||||
- https://dustinandtabitha.com/
|
||||
- https://hatchlearningcenter.org/
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
target_label: __param_target
|
||||
- source_labels: [__param_target]
|
||||
target_label: instance
|
||||
- target_label: __address__
|
||||
replacement: localhost:9115
|
|
@ -0,0 +1,38 @@
|
|||
- name: init
|
||||
image: docker.io/library/busybox
|
||||
command:
|
||||
- chown
|
||||
- '-R'
|
||||
- '-v'
|
||||
- '8429:8429'
|
||||
- '/data'
|
||||
essential: false
|
||||
readonlyRootFilesystem: true
|
||||
mountPoints:
|
||||
- sourceVolume: vmagent-data
|
||||
containerPath: /data
|
||||
logConfiguration:
|
||||
logDriver: awslogs
|
||||
options:
|
||||
awslogs-group: ecs-blackbox
|
||||
awslogs-stream-prefix: vmagent
|
||||
|
||||
- name: vmagent
|
||||
image: docker.io/victoriametrics/vmagent
|
||||
command:
|
||||
- '-remoteWrite.url=https://metrics.pyrocufflink.blue/insert/1/prometheus/api/v1/write'
|
||||
- '-remoteWrite.tmpDataPath=/data'
|
||||
essential: true
|
||||
user: '8429:8429'
|
||||
readonlyRootFilesystem: true
|
||||
mountPoints:
|
||||
- sourceVolume: vmagent-data
|
||||
containerPath: /data
|
||||
logConfiguration:
|
||||
logDriver: awslogs
|
||||
options:
|
||||
awslogs-group: ecs-blackbox
|
||||
awslogs-stream-prefix: vmagent
|
||||
dependsOn:
|
||||
- containerName: init
|
||||
condition: SUCCESS
|
|
@ -0,0 +1,19 @@
|
|||
import pulumi_aws as aws
|
||||
|
||||
instance_assume_role_policy = aws.iam.get_policy_document(
|
||||
statements=[
|
||||
{
|
||||
'actions': ['sts:AssumeRole'],
|
||||
'principals': [
|
||||
{
|
||||
'type': 'Service',
|
||||
'identifiers': ['ec2.amazonaws.com'],
|
||||
}
|
||||
],
|
||||
}
|
||||
]
|
||||
)
|
||||
|
||||
aws_region = aws.get_region().name
|
||||
|
||||
account_id = aws.get_caller_identity().account_id
|
|
@ -0,0 +1,3 @@
|
|||
import pulumi
|
||||
|
||||
config = pulumi.Config()
|
|
@ -0,0 +1,20 @@
|
|||
import pulumi_aws as aws
|
||||
|
||||
from .common import aws_region
|
||||
|
||||
|
||||
default_vpc = aws.ec2.get_vpc(default=True)
|
||||
|
||||
subnets = aws.ec2.get_subnets(
|
||||
filters=[
|
||||
aws.ec2.GetSubnetsFilterArgs(
|
||||
name="vpc-id",
|
||||
values=[default_vpc.id],
|
||||
)
|
||||
]
|
||||
)
|
||||
|
||||
s3_endpoint = aws.ec2.get_vpc_endpoint(
|
||||
vpc_id=default_vpc.id,
|
||||
service_name=f'com.amazonaws.{aws_region}.s3',
|
||||
)
|
|
@ -0,0 +1,67 @@
|
|||
import pulumi
|
||||
import pulumi_aws as aws
|
||||
|
||||
from .common import instance_assume_role_policy
|
||||
from .default_vpc import subnets
|
||||
|
||||
|
||||
iam_role = aws.iam.Role(
|
||||
'ecs-ec2-instance-role',
|
||||
assume_role_policy=instance_assume_role_policy.json,
|
||||
managed_policy_arns=[
|
||||
aws.iam.get_policy(name='AmazonEC2ContainerServiceforEC2Role').arn,
|
||||
],
|
||||
)
|
||||
|
||||
instance_profile = aws.iam.InstanceProfile(
|
||||
'ecs-ec2-instance-profile',
|
||||
role=iam_role.name,
|
||||
)
|
||||
|
||||
svc_linked_role = aws.iam.ServiceLinkedRole(
|
||||
'ecs',
|
||||
aws_service_name='ecs.amazonaws.com',
|
||||
)
|
||||
|
||||
cluster = aws.ecs.Cluster(
|
||||
'default',
|
||||
name='default',
|
||||
)
|
||||
|
||||
ami = aws.ec2.get_ami(
|
||||
most_recent=True,
|
||||
owners=['amazon'],
|
||||
filters=[
|
||||
aws.ec2.GetAmiFilterArgs(name='name', values=['al2023-ami-ecs-hvm-*']),
|
||||
aws.ec2.GetAmiFilterArgs(name='architecture', values=['arm64']),
|
||||
],
|
||||
)
|
||||
|
||||
launch_tmpl = aws.ec2.LaunchTemplate(
|
||||
'ecs-default',
|
||||
image_id=ami.id,
|
||||
instance_type='t4g.nano',
|
||||
key_name='dustin@rosalina',
|
||||
iam_instance_profile={'arn': instance_profile.arn},
|
||||
)
|
||||
|
||||
asg = aws.autoscaling.Group(
|
||||
'ecs-default',
|
||||
max_size=1,
|
||||
min_size=1,
|
||||
vpc_zone_identifiers=[subnets.ids[0]],
|
||||
launch_template=aws.autoscaling.GroupLaunchTemplateArgs(
|
||||
id=launch_tmpl.id,
|
||||
version=launch_tmpl.latest_version.apply(str),
|
||||
),
|
||||
instance_refresh=aws.autoscaling.GroupInstanceRefreshArgs(
|
||||
strategy='Rolling',
|
||||
),
|
||||
tags=[
|
||||
{
|
||||
'key': 'AmazonECSManaged',
|
||||
'value': 'true',
|
||||
'propagate_at_launch': True,
|
||||
}
|
||||
],
|
||||
)
|
|
@ -0,0 +1,33 @@
|
|||
import json
|
||||
|
||||
import pulumi_aws as aws
|
||||
|
||||
from dch_cloud.config import config
|
||||
|
||||
|
||||
admin_role_trust_policy = {
|
||||
'Version': '2012-10-17',
|
||||
'Statement': [
|
||||
{
|
||||
'Effect': 'Allow',
|
||||
'Principal': {
|
||||
'AWS': 'arn:aws:iam::566967686773:root',
|
||||
},
|
||||
'Action': 'sts:AssumeRole',
|
||||
'Condition': {},
|
||||
}
|
||||
],
|
||||
}
|
||||
|
||||
if source_ip := config.get('source_ip'):
|
||||
admin_role_trust_policy['Statement'][0]['Condition'] = {
|
||||
'IpAddress': {
|
||||
'aws:SourceIp': f'{source_ip}/32',
|
||||
}
|
||||
}
|
||||
|
||||
admin_role = aws.iam.Role(
|
||||
'admin_role',
|
||||
name='admin',
|
||||
assume_role_policy=json.dumps(admin_role_trust_policy),
|
||||
)
|
|
@ -0,0 +1,37 @@
|
|||
[project]
|
||||
name = "dch-cloud"
|
||||
authors = [
|
||||
{name = "Dustin C. Hatch", email = "dustin@hatch.name"},
|
||||
]
|
||||
description = "Dustin's cloud infrastructure as code"
|
||||
requires-python = ">=3.12"
|
||||
license = {text = "0BSD"}
|
||||
classifiers = [
|
||||
"License :: OSI Approved :: Zero-Clause BSD (0BSD)",
|
||||
"Programming Language :: Python :: 3",
|
||||
]
|
||||
dependencies = [
|
||||
"pulumi-aws>=6.66.2",
|
||||
"pulumi>=3.145.0",
|
||||
"pulumi-std>=1.7.3",
|
||||
]
|
||||
dynamic = ["version"]
|
||||
|
||||
[build-system]
|
||||
requires = ["setuptools", "setuptools-scm"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[tool.setuptools_scm]
|
||||
|
||||
[tool.pyright]
|
||||
venvPath = '.'
|
||||
venv = '.venv'
|
||||
|
||||
[tool.black]
|
||||
line-length = 79
|
||||
skip-string-normalization = true
|
||||
|
||||
[dependency-groups]
|
||||
dev = [
|
||||
"pyright>=1.1.391",
|
||||
]
|
|
@ -0,0 +1,251 @@
|
|||
version = 1
|
||||
requires-python = ">=3.12"
|
||||
|
||||
[[package]]
|
||||
name = "arpeggio"
|
||||
version = "2.0.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/12/c4/516bb54456f85ad1947702ea4cef543a59de66d31a9887dbc3d9df36e3e1/Arpeggio-2.0.2.tar.gz", hash = "sha256:c790b2b06e226d2dd468e4fbfb5b7f506cec66416031fde1441cf1de2a0ba700", size = 766643 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/f7/4f/d28bf30a19d4649b40b501d531b44e73afada99044df100380fd9567e92f/Arpeggio-2.0.2-py2.py3-none-any.whl", hash = "sha256:f7c8ae4f4056a89e020c24c7202ac8df3e2bc84e416746f20b0da35bb1de0250", size = 55287 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "attrs"
|
||||
version = "24.3.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/48/c8/6260f8ccc11f0917360fc0da435c5c9c7504e3db174d5a12a1494887b045/attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff", size = 805984 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/89/aa/ab0f7891a01eeb2d2e338ae8fecbe57fcebea1a24dbb64d45801bfab481d/attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308", size = 63397 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dch-cloud"
|
||||
version = "0.1.dev0+d20250116"
|
||||
source = { editable = "." }
|
||||
dependencies = [
|
||||
{ name = "pulumi" },
|
||||
{ name = "pulumi-aws" },
|
||||
{ name = "pulumi-std" },
|
||||
]
|
||||
|
||||
[package.dev-dependencies]
|
||||
dev = [
|
||||
{ name = "pyright" },
|
||||
]
|
||||
|
||||
[package.metadata]
|
||||
requires-dist = [
|
||||
{ name = "pulumi", specifier = ">=3.145.0" },
|
||||
{ name = "pulumi-aws", specifier = ">=6.66.2" },
|
||||
{ name = "pulumi-std", specifier = ">=1.7.3" },
|
||||
]
|
||||
|
||||
[package.metadata.requires-dev]
|
||||
dev = [{ name = "pyright", specifier = ">=1.1.391" }]
|
||||
|
||||
[[package]]
|
||||
name = "debugpy"
|
||||
version = "1.8.11"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/bc/e7/666f4c9b0e24796af50aadc28d36d21c2e01e831a934535f956e09b3650c/debugpy-1.8.11.tar.gz", hash = "sha256:6ad2688b69235c43b020e04fecccdf6a96c8943ca9c2fb340b8adc103c655e57", size = 1640124 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/c6/ae/2cf26f3111e9d94384d9c01e9d6170188b0aeda15b60a4ac6457f7c8a26f/debugpy-1.8.11-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:84e511a7545d11683d32cdb8f809ef63fc17ea2a00455cc62d0a4dbb4ed1c308", size = 2498756 },
|
||||
{ url = "https://files.pythonhosted.org/packages/b0/16/ec551789d547541a46831a19aa15c147741133da188e7e6acf77510545a7/debugpy-1.8.11-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce291a5aca4985d82875d6779f61375e959208cdf09fcec40001e65fb0a54768", size = 4219136 },
|
||||
{ url = "https://files.pythonhosted.org/packages/72/6f/b2b3ce673c55f882d27a6eb04a5f0c68bcad6b742ac08a86d8392ae58030/debugpy-1.8.11-cp312-cp312-win32.whl", hash = "sha256:28e45b3f827d3bf2592f3cf7ae63282e859f3259db44ed2b129093ca0ac7940b", size = 5224440 },
|
||||
{ url = "https://files.pythonhosted.org/packages/77/09/b1f05be802c1caef5b3efc042fc6a7cadd13d8118b072afd04a9b9e91e06/debugpy-1.8.11-cp312-cp312-win_amd64.whl", hash = "sha256:44b1b8e6253bceada11f714acf4309ffb98bfa9ac55e4fce14f9e5d4484287a1", size = 5264578 },
|
||||
{ url = "https://files.pythonhosted.org/packages/2e/66/931dc2479aa8fbf362dc6dcee707d895a84b0b2d7b64020135f20b8db1ed/debugpy-1.8.11-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:8988f7163e4381b0da7696f37eec7aca19deb02e500245df68a7159739bbd0d3", size = 2483651 },
|
||||
{ url = "https://files.pythonhosted.org/packages/10/07/6c171d0fe6b8d237e35598b742f20ba062511b3a4631938cc78eefbbf847/debugpy-1.8.11-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c1f6a173d1140e557347419767d2b14ac1c9cd847e0b4c5444c7f3144697e4e", size = 4213770 },
|
||||
{ url = "https://files.pythonhosted.org/packages/89/f1/0711da6ac250d4fe3bf7b3e9b14b4a86e82a98b7825075c07e19bab8da3d/debugpy-1.8.11-cp313-cp313-win32.whl", hash = "sha256:bb3b15e25891f38da3ca0740271e63ab9db61f41d4d8541745cfc1824252cb28", size = 5223911 },
|
||||
{ url = "https://files.pythonhosted.org/packages/56/98/5e27fa39050749ed460025bcd0034a0a5e78a580a14079b164cc3abdeb98/debugpy-1.8.11-cp313-cp313-win_amd64.whl", hash = "sha256:d8768edcbeb34da9e11bcb8b5c2e0958d25218df7a6e56adf415ef262cd7b6d1", size = 5264166 },
|
||||
{ url = "https://files.pythonhosted.org/packages/77/0a/d29a5aacf47b4383ed569b8478c02d59ee3a01ad91224d2cff8562410e43/debugpy-1.8.11-py2.py3-none-any.whl", hash = "sha256:0e22f846f4211383e6a416d04b4c13ed174d24cc5d43f5fd52e7821d0ebc8920", size = 5226874 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dill"
|
||||
version = "0.3.9"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/70/43/86fe3f9e130c4137b0f1b50784dd70a5087b911fe07fa81e53e0c4c47fea/dill-0.3.9.tar.gz", hash = "sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c", size = 187000 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/46/d1/e73b6ad76f0b1fb7f23c35c6d95dbc506a9c8804f43dda8cb5b0fa6331fd/dill-0.3.9-py3-none-any.whl", hash = "sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a", size = 119418 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "grpcio"
|
||||
version = "1.66.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/71/d1/49a96df4eb1d805cf546247df40636515416d2d5c66665e5129c8b4162a8/grpcio-1.66.2.tar.gz", hash = "sha256:563588c587b75c34b928bc428548e5b00ea38c46972181a4d8b75ba7e3f24231", size = 12489713 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/6b/5c/c4da36b7a77dbb15c4bc72228dff7161874752b2c6bddf7bb046d9da1b90/grpcio-1.66.2-cp312-cp312-linux_armv7l.whl", hash = "sha256:802d84fd3d50614170649853d121baaaa305de7b65b3e01759247e768d691ddf", size = 5002933 },
|
||||
{ url = "https://files.pythonhosted.org/packages/a0/d5/b631445dff250a5301f51ff56c5fc917c7f955cd02fa55379f158a89abeb/grpcio-1.66.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:80fd702ba7e432994df208f27514280b4b5c6843e12a48759c9255679ad38db8", size = 10793953 },
|
||||
{ url = "https://files.pythonhosted.org/packages/c8/1c/2179ac112152e92c02990f98183edf645df14aa3c38b39f1a3a60358b6c6/grpcio-1.66.2-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:12fda97ffae55e6526825daf25ad0fa37483685952b5d0f910d6405c87e3adb6", size = 5499791 },
|
||||
{ url = "https://files.pythonhosted.org/packages/0b/53/8d7ab865fbd983309c8242930f00b28a01047f70c2b2e4c79a5c92a46a08/grpcio-1.66.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:950da58d7d80abd0ea68757769c9db0a95b31163e53e5bb60438d263f4bed7b7", size = 6109606 },
|
||||
{ url = "https://files.pythonhosted.org/packages/86/e9/3dfb5a3ff540636d46b8b723345e923e8c553d9b3f6a8d1b09b0d915eb46/grpcio-1.66.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e636ce23273683b00410f1971d209bf3689238cf5538d960adc3cdfe80dd0dbd", size = 5762866 },
|
||||
{ url = "https://files.pythonhosted.org/packages/f1/cb/c07493ad5dd73d51e4e15b0d483ff212dfec136ee1e4f3b49d115bdc7a13/grpcio-1.66.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:a917d26e0fe980b0ac7bfcc1a3c4ad6a9a4612c911d33efb55ed7833c749b0ee", size = 6446819 },
|
||||
{ url = "https://files.pythonhosted.org/packages/ff/5f/142e19db367a34ea0ee8a8451e43215d0a1a5dbffcfdcae8801f22903301/grpcio-1.66.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:49f0ca7ae850f59f828a723a9064cadbed90f1ece179d375966546499b8a2c9c", size = 6040273 },
|
||||
{ url = "https://files.pythonhosted.org/packages/5c/3b/12fcd752c55002e4b0e0a7bd5faec101bc0a4e3890be3f95a43353142481/grpcio-1.66.2-cp312-cp312-win32.whl", hash = "sha256:31fd163105464797a72d901a06472860845ac157389e10f12631025b3e4d0453", size = 3537988 },
|
||||
{ url = "https://files.pythonhosted.org/packages/f1/70/76bfea3faa862bfceccba255792e780691ff25b8227180759c9d38769379/grpcio-1.66.2-cp312-cp312-win_amd64.whl", hash = "sha256:ff1f7882e56c40b0d33c4922c15dfa30612f05fb785074a012f7cda74d1c3679", size = 4275553 },
|
||||
{ url = "https://files.pythonhosted.org/packages/72/31/8708a8dfb3f1ac89926c27c5dd17412764157a2959dbc5a606eaf8ac71f6/grpcio-1.66.2-cp313-cp313-linux_armv7l.whl", hash = "sha256:3b00efc473b20d8bf83e0e1ae661b98951ca56111feb9b9611df8efc4fe5d55d", size = 5004245 },
|
||||
{ url = "https://files.pythonhosted.org/packages/8b/37/0b57c3769efb3cc9ec97fcaa9f7243046660e7ed58c0faebc4ef315df92c/grpcio-1.66.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1caa38fb22a8578ab8393da99d4b8641e3a80abc8fd52646f1ecc92bcb8dee34", size = 10756749 },
|
||||
{ url = "https://files.pythonhosted.org/packages/bf/5a/425e995724a19a1b110340ed653bc7c5de8019d9fc84b3798a0f79c3eb31/grpcio-1.66.2-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:c408f5ef75cfffa113cacd8b0c0e3611cbfd47701ca3cdc090594109b9fcbaed", size = 5499666 },
|
||||
{ url = "https://files.pythonhosted.org/packages/2e/e4/86a5c5ec40a6b683671a1d044ebca433812d99da8fcfc2889e9c43cecbd4/grpcio-1.66.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c806852deaedee9ce8280fe98955c9103f62912a5b2d5ee7e3eaa284a6d8d8e7", size = 6109578 },
|
||||
{ url = "https://files.pythonhosted.org/packages/2f/86/a86742f3deaa22385c3bff984c5947fc62d47d3fab26c508730037d027e5/grpcio-1.66.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f145cc21836c332c67baa6fc81099d1d27e266401565bf481948010d6ea32d46", size = 5763274 },
|
||||
{ url = "https://files.pythonhosted.org/packages/c3/61/b9a2a4345dea0a354c4ed8ac7aacbdd0ff986acbc8f92680213cf3d2faa3/grpcio-1.66.2-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:73e3b425c1e155730273f73e419de3074aa5c5e936771ee0e4af0814631fb30a", size = 6450416 },
|
||||
{ url = "https://files.pythonhosted.org/packages/50/b9/ad303ce75d8cd71d855a661519aa160ce42f27498f589f1ae6d9f8c5e8ac/grpcio-1.66.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:9c509a4f78114cbc5f0740eb3d7a74985fd2eff022971bc9bc31f8bc93e66a3b", size = 6040045 },
|
||||
{ url = "https://files.pythonhosted.org/packages/ac/b3/8db1873e3240ef1672ba87b89e949ece367089e29e4d221377bfdd288bd3/grpcio-1.66.2-cp313-cp313-win32.whl", hash = "sha256:20657d6b8cfed7db5e11b62ff7dfe2e12064ea78e93f1434d61888834bc86d75", size = 3537126 },
|
||||
{ url = "https://files.pythonhosted.org/packages/a2/df/133216989fe7e17caeafd7ff5b17cc82c4e722025d0b8d5d2290c11fe2e6/grpcio-1.66.2-cp313-cp313-win_amd64.whl", hash = "sha256:fb70487c95786e345af5e854ffec8cb8cc781bcc5df7930c4fbb7feaa72e1cdf", size = 4278018 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nodeenv"
|
||||
version = "1.9.1"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "parver"
|
||||
version = "0.5"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "arpeggio" },
|
||||
{ name = "attrs" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/cc/e5/1c774688a90f0b76e872e30f6f1ba3f5e14056cd0d96a684047d4a986226/parver-0.5.tar.gz", hash = "sha256:b9fde1e6bb9ce9f07e08e9c4bea8d8825c5e78e18a0052d02e02bf9517eb4777", size = 26908 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/0f/4c/f98024021bef4d44dce3613feebd702c7ad8883f777ff8488384c59e9774/parver-0.5-py3-none-any.whl", hash = "sha256:2281b187276c8e8e3c15634f62287b2fb6fe0efe3010f739a6bd1e45fa2bf2b2", size = 15172 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pip"
|
||||
version = "24.3.1"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/f4/b1/b422acd212ad7eedddaf7981eee6e5de085154ff726459cf2da7c5a184c1/pip-24.3.1.tar.gz", hash = "sha256:ebcb60557f2aefabc2e0f918751cd24ea0d56d8ec5445fe1807f1d2109660b99", size = 1931073 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/ef/7d/500c9ad20238fcfcb4cb9243eede163594d7020ce87bd9610c9e02771876/pip-24.3.1-py3-none-any.whl", hash = "sha256:3790624780082365f47549d032f3770eeb2b1e8bd1f7b2e02dace1afa361b4ed", size = 1822182 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "protobuf"
|
||||
version = "4.25.5"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/67/dd/48d5fdb68ec74d70fabcc252e434492e56f70944d9f17b6a15e3746d2295/protobuf-4.25.5.tar.gz", hash = "sha256:7f8249476b4a9473645db7f8ab42b02fe1488cbe5fb72fddd445e0665afd8584", size = 380315 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/00/35/1b3c5a5e6107859c4ca902f4fbb762e48599b78129a05d20684fef4a4d04/protobuf-4.25.5-cp310-abi3-win32.whl", hash = "sha256:5e61fd921603f58d2f5acb2806a929b4675f8874ff5f330b7d6f7e2e784bbcd8", size = 392457 },
|
||||
{ url = "https://files.pythonhosted.org/packages/a7/ad/bf3f358e90b7e70bf7fb520702cb15307ef268262292d3bdb16ad8ebc815/protobuf-4.25.5-cp310-abi3-win_amd64.whl", hash = "sha256:4be0571adcbe712b282a330c6e89eae24281344429ae95c6d85e79e84780f5ea", size = 413449 },
|
||||
{ url = "https://files.pythonhosted.org/packages/51/49/d110f0a43beb365758a252203c43eaaad169fe7749da918869a8c991f726/protobuf-4.25.5-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:b2fde3d805354df675ea4c7c6338c1aecd254dfc9925e88c6d31a2bcb97eb173", size = 394248 },
|
||||
{ url = "https://files.pythonhosted.org/packages/c6/ab/0f384ca0bc6054b1a7b6009000ab75d28a5506e4459378b81280ae7fd358/protobuf-4.25.5-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:919ad92d9b0310070f8356c24b855c98df2b8bd207ebc1c0c6fcc9ab1e007f3d", size = 293717 },
|
||||
{ url = "https://files.pythonhosted.org/packages/05/a6/094a2640be576d760baa34c902dcb8199d89bce9ed7dd7a6af74dcbbd62d/protobuf-4.25.5-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fe14e16c22be926d3abfcb500e60cab068baf10b542b8c858fa27e098123e331", size = 294635 },
|
||||
{ url = "https://files.pythonhosted.org/packages/33/90/f198a61df8381fb43ae0fe81b3d2718e8dcc51ae8502c7657ab9381fbc4f/protobuf-4.25.5-py3-none-any.whl", hash = "sha256:0aebecb809cae990f8129ada5ca273d9d670b76d9bfc9b1809f0a9c02b7dbf41", size = 156467 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pulumi"
|
||||
version = "3.145.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "debugpy" },
|
||||
{ name = "dill" },
|
||||
{ name = "grpcio" },
|
||||
{ name = "pip" },
|
||||
{ name = "protobuf" },
|
||||
{ name = "pyyaml" },
|
||||
{ name = "semver" },
|
||||
{ name = "six" },
|
||||
]
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/45/2a/c2f4537811ef6851df16234965bd9ea6f0ec25bbc640ce343a2a83440ad3/pulumi-3.145.0-py3-none-any.whl", hash = "sha256:5ef1e73e8c07fd25fcfa2e5a68d03e84141d23e584153915c328ec1de6f14611", size = 297250 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pulumi-aws"
|
||||
version = "6.66.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "parver" },
|
||||
{ name = "pulumi" },
|
||||
{ name = "semver" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/e0/87/3b901397a3daa5422d1d900d4a6db6b7640563b50e79e7ad96d185805c50/pulumi_aws-6.66.2.tar.gz", hash = "sha256:a6b692f9f6074ad526244828d1ce6f22edf4680aaa5c7bd087ecfce2d0fbe05d", size = 7320945 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/8b/78/4b73a4c1d9d8ec1d014e301da9540a6dfb3ebda179889365273a91b06514/pulumi_aws-6.66.2-py3-none-any.whl", hash = "sha256:526c2f3c689f2e1850254275421f9fd8d2e11c2063117b6cfd6fb1a884ccd78b", size = 10010717 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pulumi-std"
|
||||
version = "1.7.3"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "parver" },
|
||||
{ name = "pulumi" },
|
||||
{ name = "semver" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/00/a8/b6031fea63b4f67d9116e8c933cb0b025f272df2c09924ac37d5551a18fe/pulumi_std-1.7.3.tar.gz", hash = "sha256:0561a03ab1a630f765a77e6c9ac5a5b592d3e77bca245f6497dbfbf42fc9bc3c", size = 23336 }
|
||||
|
||||
[[package]]
|
||||
name = "pyright"
|
||||
version = "1.1.391"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
dependencies = [
|
||||
{ name = "nodeenv" },
|
||||
{ name = "typing-extensions" },
|
||||
]
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/11/05/4ea52a8a45cc28897edb485b4102d37cbfd5fce8445d679cdeb62bfad221/pyright-1.1.391.tar.gz", hash = "sha256:66b2d42cdf5c3cbab05f2f4b76e8bec8aa78e679bfa0b6ad7b923d9e027cadb2", size = 21965 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/ad/89/66f49552fbeb21944c8077d11834b2201514a56fd1b7747ffff9630f1bd9/pyright-1.1.391-py3-none-any.whl", hash = "sha256:54fa186f8b3e8a55a44ebfa842636635688670c6896dcf6cf4a7fc75062f4d15", size = 18579 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pyyaml"
|
||||
version = "6.0.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 },
|
||||
{ url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 },
|
||||
{ url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 },
|
||||
{ url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 },
|
||||
{ url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 },
|
||||
{ url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 },
|
||||
{ url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 },
|
||||
{ url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 },
|
||||
{ url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 },
|
||||
{ url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 },
|
||||
{ url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 },
|
||||
{ url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 },
|
||||
{ url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 },
|
||||
{ url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 },
|
||||
{ url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 },
|
||||
{ url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 },
|
||||
{ url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 },
|
||||
{ url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "semver"
|
||||
version = "2.13.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/31/a9/b61190916030ee9af83de342e101f192bbb436c59be20a4cb0cdb7256ece/semver-2.13.0.tar.gz", hash = "sha256:fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f", size = 45816 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/0b/70/b84f9944a03964a88031ef6ac219b6c91e8ba2f373362329d8770ef36f02/semver-2.13.0-py2.py3-none-any.whl", hash = "sha256:ced8b23dceb22134307c1b8abfa523da14198793d9787ac838e70e29e77458d4", size = 12901 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "six"
|
||||
version = "1.17.0"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "typing-extensions"
|
||||
version = "4.12.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 },
|
||||
]
|
Loading…
Reference in New Issue