{"_id":"@deotio/cdk-grafana-resources","_rev":"2-65624b0ffe959c8f3edba2916afcc635","name":"@deotio/cdk-grafana-resources","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@deotio/cdk-grafana-resources","version":"0.1.0","keywords":["aws","cdk","grafana","dashboard","alerting","observability","infrastructure-as-code"],"license":"Apache-2.0","_id":"@deotio/cdk-grafana-resources@0.1.0","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"},{"name":"rkm1jam","email":"richard.myers@jambit.com"}],"homepage":"https://github.com/deotio/cdk-grafana-resources#readme","bugs":{"url":"https://github.com/deotio/cdk-grafana-resources/issues"},"dist":{"shasum":"294732244356e78392305752ebff561284586b53","tarball":"https://registry.npmjs.org/@deotio/cdk-grafana-resources/-/cdk-grafana-resources-0.1.0.tgz","fileCount":52,"integrity":"sha512-MqNxAI43aEi+wZR0/u1lV/bmYx3aSN/bBpUx3V7f23bv6Lv7x0BaO0cIps7qwSUAt8qnet9dZhj35OebtXFO4A==","signatures":[{"sig":"MEUCIGfqb2ndw+8T+66t9J6Jl7xuEbx5yiwYDlpLi+5SEpkjAiEAhVsGHTyknFBnE5kQcMpkT6Jj8lnDpxo+0CTpcx9H79U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108513},"main":"dist/lib/index.js","types":"dist/lib/index.d.ts","engines":{"node":">=18"},"gitHead":"396019fe1dca2b0a20a65813e447a63b56dfa291","scripts":{"lint":"eslint 'lib/**/*.ts' 'lambda/**/*.ts' 'test/**/*.ts'","test":"jest","build":"tsc","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"rkm1","email":"richard.myers@de-otio.org"},"repository":{"url":"git+https://github.com/deotio/cdk-grafana-resources.git","type":"git"},"_npmVersion":"11.9.0","description":"AWS CDK constructs for managing Grafana dashboards, alerts, and other resources via the HTTP API","directories":{},"_nodeVersion":"25.6.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","cdk-nag":"^2.0.0","esbuild":"^0.20.0","ts-jest":"^29.0.0","prettier":"^3.0.0","constructs":"^10.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^22.0.0","aws-cdk-lib":"^2.100.0","@types/aws-lambda":"^8.10.0","@aws-sdk/client-s3":"^3.1015.0","@typescript-eslint/parser":"^7.0.0","@aws-sdk/client-secrets-manager":"^3.1015.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.100.0"},"_npmOperationalInternal":{"tmp":"tmp/cdk-grafana-resources_0.1.0_1774425096398_0.5588771389035501","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@deotio/cdk-grafana-resources","version":"0.1.1","description":"AWS CDK constructs for managing Grafana dashboards, alerts, and other resources via the HTTP API","main":"dist/lib/index.js","types":"dist/lib/index.d.ts","scripts":{"build":"tsc","test":"jest","lint":"eslint 'lib/**/*.ts' 'lambda/**/*.ts' 'test/**/*.ts'","prepublishOnly":"npm run build && npm run test"},"peerDependencies":{"aws-cdk-lib":"^2.100.0","constructs":"^10.0.0"},"devDependencies":{"@aws-sdk/client-s3":"^3.1015.0","@aws-sdk/client-secrets-manager":"^3.1015.0","@types/aws-lambda":"^8.10.0","@types/jest":"^29.0.0","@types/node":"^22.0.0","@typescript-eslint/eslint-plugin":"^7.0.0","@typescript-eslint/parser":"^7.0.0","aws-cdk-lib":"^2.100.0","cdk-nag":"^2.0.0","constructs":"^10.0.0","esbuild":"^0.20.0","eslint":"^8.0.0","jest":"^29.0.0","prettier":"^3.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0"},"keywords":["aws","cdk","grafana","dashboard","alerting","observability","infrastructure-as-code"],"publishConfig":{"access":"public"},"engines":{"node":">=18"},"license":"Apache-2.0","homepage":"https://github.com/deotio/cdk-grafana-resources#readme","bugs":{"url":"https://github.com/deotio/cdk-grafana-resources/issues"},"repository":{"type":"git","url":"git+https://github.com/deotio/cdk-grafana-resources.git"},"gitHead":"b69b6277058be0118cd58f4b7ccce27a74c3acd6","_id":"@deotio/cdk-grafana-resources@0.1.1","_nodeVersion":"22.22.1","_npmVersion":"11.12.0","dist":{"integrity":"sha512-O5YrkMI5eOs5g+roLKp9LQAfPQQcNs5LNIdMG6BEGKmNj4L4N9gQFlMOtAw2lSx2kad0nzNJCEf+cIYVUfZFsw==","shasum":"c73d1968e5e3da6ba240921ea8393bbb3e0c52f4","tarball":"https://registry.npmjs.org/@deotio/cdk-grafana-resources/-/cdk-grafana-resources-0.1.1.tgz","fileCount":52,"unpackedSize":108513,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@deotio%2fcdk-grafana-resources@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG1Ae/KAxX6hLh99bBp/rhQEZdWX8PuU9/D+FuYiXqhnAiAj/e9sJLWOiqYMYPaY09rEIsUA7YWhnLaGZudrWsfZ/A=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13df308b-d832-4d1c-aed8-ab51886fe94b"}},"directories":{},"maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"},{"name":"rkm1jam","email":"richard.myers@jambit.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cdk-grafana-resources_0.1.1_1774426939290_0.9540814385028744"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-25T07:51:36.302Z","modified":"2026-03-25T08:22:19.733Z","0.1.0":"2026-03-25T07:51:36.548Z","0.1.1":"2026-03-25T08:22:19.429Z"},"bugs":{"url":"https://github.com/deotio/cdk-grafana-resources/issues"},"license":"Apache-2.0","homepage":"https://github.com/deotio/cdk-grafana-resources#readme","keywords":["aws","cdk","grafana","dashboard","alerting","observability","infrastructure-as-code"],"repository":{"type":"git","url":"git+https://github.com/deotio/cdk-grafana-resources.git"},"description":"AWS CDK constructs for managing Grafana dashboards, alerts, and other resources via the HTTP API","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"},{"name":"rkm1jam","email":"richard.myers@jambit.com"}],"readme":"# cdk-grafana-resources\n\nAWS CDK constructs for managing Grafana dashboards, alerts, and other resources via the HTTP API.\n\nGrafana resources participate in the full CloudFormation lifecycle — create, update, delete, and rollback — without requiring any tooling outside of `cdk deploy`.\n\n## Install\n\n```bash\nnpm install cdk-grafana-resources\n```\n\nPeer dependencies: `aws-cdk-lib` >= 2.100.0, `constructs` >= 10.0.0.\n\n## Quick start\n\n```typescript\nimport {\n  GrafanaFolder,\n  GrafanaDashboard,\n  GrafanaAlertRule,\n  GrafanaContactPoint,\n  GrafanaAlertSnsIntegration,\n} from 'cdk-grafana-resources';\nimport * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';\nimport * as fs from 'fs';\n\n// Reference the Grafana API token stored in Secrets Manager\nconst token = secretsmanager.Secret.fromSecretCompleteArn(this, 'Token', tokenArn);\n\nconst folder = new GrafanaFolder(this, 'AppFolder', {\n  grafanaEndpoint: 'g-abc123.grafana-workspace.eu-central-1.amazonaws.com',\n  apiTokenSecret: token,\n  uid: 'my-app-prod',\n  title: 'My App — Prod',\n});\n\nnew GrafanaDashboard(this, 'Overview', {\n  grafanaEndpoint: 'g-abc123.grafana-workspace.eu-central-1.amazonaws.com',\n  apiTokenSecret: token,\n  uid: 'my-app-overview',\n  folderUid: folder,           // auto-creates CloudFormation dependency\n  dashboardJson: fs.readFileSync('grafana/dashboards/overview.json', 'utf-8'),\n});\n```\n\n## Documentation\n\n| Topic | Description |\n| --- | --- |\n| [Constructs](doc/user-doc/constructs.md) | Full construct reference and shared props |\n| [Authentication](doc/user-doc/authentication.md) | API token setup and cross-account KMS requirements |\n| [CloudWatch datasource](doc/user-doc/cloudwatch-datasource.md) | IAM role for CloudWatch metrics and logs |\n| [SNS alert integration](doc/user-doc/sns-alert-integration.md) | One-construct SNS + contact point wiring |\n| [API versioning](doc/user-doc/api-versioning.md) | Targeting different Grafana API versions |\n| [Architecture](doc/user-doc/architecture.md) | How the Lambda-backed custom resource works |\n| [Security](doc/user-doc/security.md) | Security model and design decisions |\n\n## Development\n\n```bash\nnpm install\nnpm run build    # TypeScript compilation\nnpm test         # Jest tests (134 tests, 80% coverage threshold)\nnpm run lint     # ESLint\n```\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}