{"_id":"@deotio/cdk-grafana","_rev":"2-e05f93ffbc1590abec56df702455b346","name":"@deotio/cdk-grafana","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@deotio/cdk-grafana","version":"0.1.0","keywords":["aws","cdk","grafana","managed-grafana","observability","infrastructure-as-code"],"license":"Apache-2.0","_id":"@deotio/cdk-grafana@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#readme","bugs":{"url":"https://github.com/deotio/cdk-grafana/issues"},"dist":{"shasum":"e074fd329fca41c5a051a74ba8dbf3b32135ca30","tarball":"https://registry.npmjs.org/@deotio/cdk-grafana/-/cdk-grafana-0.1.0.tgz","fileCount":15,"integrity":"sha512-dFCndJJz5zcNOHs2xjrysxAJUqWZ3/izIFOiIiqsC064mm8TQHEnHQfLsMxhsjK4s1Nuad5P4CW4JUBVejt6eQ==","signatures":[{"sig":"MEUCIA5iEP5GMoJk6CFdH22WcquRUeXdtre2bG0fu4cxjCDJAiEA+oGFJ+zZ+vQs1KcMtWhx+ZmwjvhHS80GTqPfwyLOpuc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42178},"main":"dist/lib/index.js","types":"dist/lib/index.d.ts","engines":{"node":">=18"},"gitHead":"ae389a18d8a136d61153037da44ed1b0a9eb1317","scripts":{"lint":"eslint 'lib/**/*.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.git","type":"git"},"_npmVersion":"11.9.0","description":"AWS CDK constructs for deploying and managing AWS Managed Grafana workspaces","directories":{},"_nodeVersion":"25.6.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","cdk-nag":"^2.0.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","@typescript-eslint/parser":"^7.0.0","@typescript-eslint/eslint-plugin":"^7.0.0"},"peerDependencies":{"cdk-nag":"^2.0.0","constructs":"^10.0.0","aws-cdk-lib":"^2.100.0"},"_npmOperationalInternal":{"tmp":"tmp/cdk-grafana_0.1.0_1774456322359_0.6698887998780028","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@deotio/cdk-grafana","version":"0.1.1","description":"AWS CDK constructs for deploying and managing AWS Managed Grafana workspaces","main":"dist/lib/index.js","types":"dist/lib/index.d.ts","scripts":{"build":"tsc","test":"jest","lint":"eslint 'lib/**/*.ts' 'test/**/*.ts'","prepublishOnly":"npm run build && npm run test"},"peerDependencies":{"aws-cdk-lib":"^2.100.0","cdk-nag":"^2.0.0","constructs":"^10.0.0"},"devDependencies":{"@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","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","managed-grafana","observability","infrastructure-as-code"],"publishConfig":{"access":"public"},"engines":{"node":">=18"},"license":"Apache-2.0","homepage":"https://github.com/deotio/cdk-grafana#readme","bugs":{"url":"https://github.com/deotio/cdk-grafana/issues"},"repository":{"type":"git","url":"git+https://github.com/deotio/cdk-grafana.git"},"gitHead":"a3f22dfb17e017fa4334741c6bf6cd385a893030","_id":"@deotio/cdk-grafana@0.1.1","_nodeVersion":"22.22.1","_npmVersion":"11.12.0","dist":{"integrity":"sha512-XVGQW+IXH7M2rjD5CeBBeHeXA2Axlvdgo+PHLnVExG1ai8QDLx/f86MCp7X+CYtYSiRmeyOibOZebNklS1fuRQ==","shasum":"aabceb22627f5a55340fcc27f6dbfc0419e151c9","tarball":"https://registry.npmjs.org/@deotio/cdk-grafana/-/cdk-grafana-0.1.1.tgz","fileCount":15,"unpackedSize":42178,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@deotio%2fcdk-grafana@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC36qYMI73zUw1Mh8cY/UMD1Wxd/TU468pj3xvX8ufP5QIhAPRw4m7h2iYJcV9t0s8uVrzZptrB3qnWpN6StVPDcu3P"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:dcd71816-671b-4721-9808-6f70462ca823"}},"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_0.1.1_1774457032099_0.5112738532312444"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-25T16:32:02.273Z","modified":"2026-03-25T16:43:52.606Z","0.1.0":"2026-03-25T16:32:02.519Z","0.1.1":"2026-03-25T16:43:52.269Z"},"bugs":{"url":"https://github.com/deotio/cdk-grafana/issues"},"license":"Apache-2.0","homepage":"https://github.com/deotio/cdk-grafana#readme","keywords":["aws","cdk","grafana","managed-grafana","observability","infrastructure-as-code"],"repository":{"type":"git","url":"git+https://github.com/deotio/cdk-grafana.git"},"description":"AWS CDK constructs for deploying and managing AWS Managed Grafana workspaces","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"},{"name":"rkm1jam","email":"richard.myers@jambit.com"}],"readme":"# @deotio/cdk-grafana\n\nAWS CDK constructs for deploying and managing [AWS Managed Grafana](https://aws.amazon.com/grafana/) workspaces.\n\n## Features\n\n- **GrafanaWorkspace** — L3 construct that provisions a Managed Grafana workspace with a service role, service account, and service account token\n- **GrafanaInfraStack** — ready-to-deploy stack with Secrets Manager storage, SSM parameter discovery, GitHub Actions OIDC federation, and cross-account access\n- **RemovalPolicyAspect** — CDK aspect to set removal policies across all resources in a construct tree\n- Built-in [cdk-nag](https://github.com/cdklabs/cdk-nag) suppressions with documented justifications\n\n## Installation\n\n```bash\nnpm install @deotio/cdk-grafana\n```\n\n### Peer dependencies\n\n```bash\nnpm install aws-cdk-lib constructs cdk-nag\n```\n\n## Quick start\n\n```ts\nimport { App } from 'aws-cdk-lib';\nimport { GrafanaInfraStack } from '@deotio/cdk-grafana';\n\nconst app = new App();\n\nnew GrafanaInfraStack(app, 'GrafanaInfra', {\n  workspaceName: 'my-grafana',\n  environment: 'prod',\n  orgId: 'o-abc123',\n  secretAccessOuPaths: ['o-abc123/r-root/ou-xxxx/*'],\n  ssmPrefix: '/grafana/prod',\n  githubRepo: 'my-org/my-repo',\n});\n```\n\n### Using the L3 construct directly\n\n```ts\nimport { GrafanaWorkspace } from '@deotio/cdk-grafana';\n\nconst workspace = new GrafanaWorkspace(this, 'Grafana', {\n  workspaceName: 'my-grafana',\n  orgId: 'o-abc123',\n});\n\n// workspace.endpoint — the workspace URL\n// workspace.workspaceId — the workspace ID\n// workspace.serviceAccountTokenKey — the service account token\n```\n\n## API reference\n\n### GrafanaWorkspaceProps\n\n| Prop | Type | Required | Description |\n|------|------|----------|-------------|\n| `workspaceName` | `string` | Yes | Name of the Grafana workspace |\n| `grafanaVersion` | `string` | No | Grafana version (default: `10.4`) |\n| `orgId` | `string` | Yes | AWS Organizations ID for cross-account role assumption |\n\n### GrafanaInfraStackProps\n\n| Prop | Type | Required | Description |\n|------|------|----------|-------------|\n| `workspaceName` | `string` | Yes | Name of the Grafana workspace |\n| `grafanaVersion` | `string` | No | Grafana version (default: `10.4`) |\n| `environment` | `string` | Yes | Environment label (e.g., `prod`) |\n| `orgId` | `string` | Yes | AWS Organizations ID |\n| `secretAccessOuPaths` | `string[]` | Yes | OU paths granted cross-account read access to the token secret |\n| `ssmPrefix` | `string` | Yes | SSM parameter prefix (e.g., `/grafana/prod`) |\n| `githubRepo` | `string` | Yes | GitHub repository slug for OIDC federation (e.g., `org/repo`) |\n| `existingGitHubOidcArn` | `string` | No | ARN of existing GitHub OIDC provider |\n| `githubActionsRoleName` | `string` | No | Name for the GitHub Actions IAM role (default: `github-actions-grafana`) |\n\n## Development\n\n```bash\nnpm ci          # install dependencies\nnpm run build   # compile TypeScript\nnpm test        # run tests\nnpm run lint    # lint source and tests\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## License\n\n[Apache-2.0](LICENSE)\n","readmeFilename":"README.md"}