Raw JSON report machine-readable
{
"data": {
"repo": {
"topics": [
"terraform",
"terraform-provider"
],
"is_fork": false,
"size_kb": 1808,
"has_wiki": true,
"homepage": "https://registry.terraform.io/providers/rubrikinc",
"languages": {
"Go": 1874971,
"Makefile": 771,
"Go Template": 197837
},
"pushed_at": "2026-07-27T09:30:09Z",
"created_at": "2026-04-28T14:52:44Z",
"owner_type": "Organization",
"updated_at": "2026-07-27T09:32:07Z",
"description": "Terraform provider for all Rubrik Platforms",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "Go",
"significant_languages": [
"Go"
]
},
"owner": {
"blog": null,
"name": "Rubrikinc",
"type": "Organization",
"login": "rubrikinc",
"company": null,
"location": "Rubrik Inc.",
"followers": 175,
"avatar_url": "https://avatars.githubusercontent.com/u/13104740?v=4",
"created_at": "2015-06-29T15:25:57Z",
"is_verified": null,
"public_repos": 134,
"account_age_days": 4048
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v1.9.0",
"kind": "minor",
"published_at": "2026-07-20T15:31:42Z"
},
{
"tag": "v1.8.2",
"kind": "patch",
"published_at": "2026-06-30T13:20:22Z"
},
{
"tag": "v1.8.1",
"kind": "patch",
"published_at": "2026-06-24T19:37:36Z"
},
{
"tag": "v1.8.0",
"kind": "minor",
"published_at": "2026-06-16T12:55:58Z"
},
{
"tag": "v1.7.0",
"kind": "minor",
"published_at": "2026-04-30T13:15:49Z"
}
],
"recent_commits": [
{
"oid": "ad62630d02cfa04d646c8b0b03708cb296dfeb84",
"body": "… (#58)\n\nReference the feature flag through the SDK constant instead of a raw\nstring so the name stays in sync with the SDK definition.",
"is_bot": false,
"headline": "Use FeatureFlagAzureDevOpsProtection constant to skip acceptance test…",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-07-27T09:30:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16da45174b3aa71682b1a39b13888af786936c04",
"body": "Add the rubrik_azure_devops_organization resource, its list resource for bulk\nimport, and the rubrik_azure_devops_{script,organization,project,repository}\ndata sources. Add Azure DevOps object types to the rubrik_object data source,\nand extend rubrik_azure_service_principal with a use_case field for registering\nthe customer application.",
"is_bot": false,
"headline": "Add Azure DevOps support (#50)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-07-25T10:10:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ab8cd00410c476bc60c33c40f39a7d2bc631fbc3",
"body": null,
"is_bot": false,
"headline": "Fix Duplicate Set Element error in rubrik_objects data source (#56)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-07-20T11:29:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "996b08f24ef596a9067aec52a7ef10ac2396622c",
"body": null,
"is_bot": false,
"headline": "Add RSC-managed AWS (BaaS) onboarding resources (#55)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-07-20T10:52:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c241008814ff544222034fdf676b8ec36309cfba",
"body": null,
"is_bot": false,
"headline": "Bump rubrik-polaris-sdk-for-go to v1.9.1 (#54)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-07-20T08:42:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41f741700bcb0a53c2d29877e7c337f65537e432",
"body": "…r (#53)\n\nThe Azure SQL SLA acceptance tests injected the provider credentials from\nRUBRIK_POLARIS_SERVICEACCOUNT_FILE, but this provider's acceptance tests\nuse RUBRIK_SERVICEACCOUNT_FILE (rscCredentialsEnv). The feature-flag gate\n(skipUnlessFeatureEnabled -> testCredentials) reads RUBRIK_SERVICEACC\n[…]\n 13: credentials = \"\"\n\nSource the injected credentials from rscCredentialsEnv so the provider and\nthe feature-flag check use the same account, matching the sibling SLA\ndomain acceptance tests.",
"is_bot": false,
"headline": "Fix Azure SQL SLA acceptance tests using the wrong credentials env va…",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-07-16T15:26:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "283d7ab1a38a85dc8cd2bcf581c4adb1f4981ce8",
"body": "The azureNativeResourceGroups filter and each resource group's\nazureSubscriptionDetails.id use the native subscription FID, but the\ndata source's subscription_id (input and output) is the RSC cloud\naccount ID. Passing the cloud account ID as the filter silently\nreturned no resource groups.\n\nResolve \n[…]\nhe returned objects, so subscription_id round-trips.\n\nAlso extend the acceptance test's post-onboarding wait to allow native\ndiscovery to complete (~1 min observed) and remove a temporary debug\nblock.",
"is_bot": false,
"headline": "Fix rubrik_objects to translate Azure subscription IDs (#52)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-07-16T14:18:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2b2fca823405a1247116e8c5e425e4fefafd0dc1",
"body": "* Add rubrik_objects data source for listing Azure native resource groups\n\nReturns every RSC hierarchy object matching object_type without a name\nfilter, starting with AzureNativeResourceGroup (optionally scoped to a\nsingle subscription). Reuses the existing NativeResourceGroups SDK call\nthat alread\n[…]\nck in Read (already enforced by\nthe schema's stringvalidator.OneOf at plan time) and fix the example\nto use a rubrik_azure_subscription data lookup instead of a resource\nblock missing required fields.",
"is_bot": false,
"headline": "Add rubrik_objects data source for Azure native resource groups (#51)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-07-13T17:30:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "739968028bb9e69cff23af202c94452714026949",
"body": "* Add retain_archive_logs_indefinitely to oracle_config in rubrik_sla_domain\n\n* Address review comments: sort names.go alphabetically, add ConflictsWith for host_log_retention, document -2 sentinel, add unit tests\n\nRemoves the now-redundant runtime mutual-exclusivity check in fromOracleConfig since ConflictsWith enforces it at plan time.",
"is_bot": false,
"headline": "Add retain_archive_logs_indefinitely to oracle_config (#49)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-07-13T17:17:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "348681500d5879559c3f6eb88f67d867e5a2ca48",
"body": "* Add Azure SQL V1/V2 SLA support to rubrik_sla_domain\n\nAdd support for the V1/V2 Azure SQL SLA model, gated on the\nCNP_AZURE_SQL_SLA_REVAMP feature. A V1 (Azure-managed) SLA carries a new\nltr_config block (weekly, monthly, and yearly long-term retention) and takes no\nRubrik schedule or backup locat\n[…]\nccheck ST1005: don't capitalize Azure SQL validation error strings\n\nPrefix each with \"the\" instead, matching the existing lowercase-lead\nconvention elsewhere in the file (e.g. \"unknown Azure region\").",
"is_bot": false,
"headline": "Add Azure SQL V1/V2 SLA support to rubrik_sla_domain (#42)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-07-10T16:01:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "92dc874f37fed431c0f1ada6252590b2f7d8a858",
"body": "The SDKv2 acceptance tests loaded their config files at the top of the\nfunction, before resource.Test checks TF_ACC, so they failed instead of\nskipping when run without credentials. Route config loading through\nloadTestConfig, which now takes *testing.T and skip-guards, so these\ntests skip cleanly like the framework tests.",
"is_bot": false,
"headline": "Skip acceptance tests without TF_ACC (#48)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-07-03T19:30:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fd53093d78bb0c1d1ad16bf26a07edaa3dc89a8c",
"body": "The external rubrikinc/polaris providers used by the framework migration\nand move-state acceptance tests predate RUBRIK_SERVICEACCOUNT_FILE and\ncannot read credentials from it. Pass credentials explicitly through a\nprovider block so those steps authenticate.",
"is_bot": false,
"headline": "Pass credentials to external providers in tests (#47)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-07-02T21:25:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dea353fd629832e0d6b26b0b211737004953c1be",
"body": "The credentials acceptance tests only set the legacy RUBRIK_POLARIS_\nprefixed variables, so a RUBRIK_ prefixed variable already in the\nenvironment shadowed the overrides and let the negative cases pass\nwithout erroring. Drive the tests through the RUBRIK_ prefix, clear the\nlegacy variables up front, and add a test for the RUBRIK_POLARIS_\nfallback.",
"is_bot": false,
"headline": "Fix env shadowing in provider credentials tests (#45)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-07-01T13:44:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c3c674287e28da54cdaac17f407d9300dd1c033",
"body": "The permission and hierarchy element structs were declared anonymously\nin three places, kept in sync only by a comment. Define permissionModel\nand hierarchyModel once and decode into them everywhere, and rename the\nattribute-type helpers to match.",
"is_bot": false,
"headline": "Introduce named types for permission models (#44)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-07-01T13:30:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "189f006cf93590d5d0ba63008817bc218a4f4871",
"body": "Rename polaris_ resource and data source references to rubrik_ in the\nframework test configs and state checks. References to the legacy\nrubrikinc/polaris provider in the migration and move-state tests are\nleft unchanged.",
"is_bot": false,
"headline": "Use rubrik_ prefix in framework acceptance tests (#43)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-07-01T13:20:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d33fdb7e7a3f2772dbcfba6cde2aece2a9cdf920",
"body": "fromCloudComputeSettings read the archival_proxy_settings block instead\nof cloud_compute_settings. Specifying an archival_proxy_settings block\ncaused a nil interface conversion panic (interface {} is nil, not\nstring), and any cloud_compute_settings values were silently ignored.\nRead the correct block and add a regression test.\n\nRoll the pending VIEW_CLUSTER_REFERENCE change into v1.8.2 and rename the\nupgrade guide from v1.9.0 to v1.8.2.",
"is_bot": false,
"headline": "Fix data center archival cloud compute settings; release v1.8.2 (#46)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-06-30T12:08:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e85d273ffdb925a87bc40446e3662fc849fd25a9",
"body": "The guide did not cover permission groups, and its cloud examples used\ndeprecated fields. Add a Permission Groups section and update the\nexamples to the current per-feature permission_groups model.",
"is_bot": false,
"headline": "Document permission groups in the permissions guide (#41)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-06-29T12:28:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c59298522c3a4167ca52c289ec96f0c2f88abc3",
"body": "RSC automatically grants VIEW_CLUSTER_REFERENCE whenever VIEW_CLUSTER\nis granted, so a custom role specifying VIEW_CLUSTER alone drifts on\nevery plan. Add a ValidateConfig rule that rejects that combination;\nVIEW_CLUSTER_REFERENCE on its own stays valid.",
"is_bot": false,
"headline": "Reject VIEW_CLUSTER without VIEW_CLUSTER_REFERENCE (#40)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-06-29T06:29:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1dd9969c50ac9b00c568306482033e98ff4ef685",
"body": "The framework acceptance tests duplicated config loading and used\ninconsistent skip helpers. Replace both with shared fixture accessors\nand uniform skip functions, and gate feature-dependent tests behind a\ngeneric feature-flag skip.",
"is_bot": false,
"headline": "Consolidate framework acceptance test fixtures (#39)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-06-26T13:06:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5372b9b7a342ac516097839cd5872ff967867301",
"body": "The Go SDK now filters the spurious duplicate CROSSACCOUNT role artifact\nthat RSC returns for role-chaining-only accounts, so consumers see only\nthe ROLE_CHAINING artifact. With the SDK handling it, the provider no\nlonger needs its own workarounds: synthesizing the ROLE_CHAINING artifact\nfrom CROSSACCOUNT, stripping it on read, and injecting a synthetic\nsts:AssumeRole policy.",
"is_bot": false,
"headline": "Drop client-side ROLE_CHAINING workarounds in AWS CNP resources (#38)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-06-24T15:38:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "58939029aca4eb2e867329c46b7e2cf824559c10",
"body": "… (#37)\n\nThe features field is optional and computed. When omitted from the\nconfiguration, the Framework Create handler wrote the unknown planned\nvalue straight into state, so Terraform rejected the result with\n\"Provider returned invalid result object after apply\". This surfaced on\nrole-chaining acc\n[…]\n features from the cloud account's features during Create so the\ncomputed value is known after apply, mirroring what Read already does.\n\nAlso relabel the unreleased v1.9.0 changelog section to v1.8.1.",
"is_bot": false,
"headline": "Fix unknown features value after apply in aws_cnp_account_attachments…",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-06-24T13:20:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a8c677b8b49cd3844c2f6b7ef5194a5be94a62bc",
"body": "Allow onboarding the SERVERS_AND_APPS feature for GCP projects via the\nrubrik_gcp_project resource and reading it back through the\nrubrik_gcp_project and rubrik_gcp_permissions data sources.\n\nUnlike other GCP features, SERVERS_AND_APPS uses only the CLOUD_CLUSTER_ES\npermission group and does not use BASIC, so the docs and the\npermissions data source note are adjusted accordingly.",
"is_bot": false,
"headline": "Add support for SERVERS_AND_APPS feature in GCP project (#36)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-06-18T16:04:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6cb80ff8c8757302fd0c8ae48c33cd502e1218b8",
"body": "The Build stage installed both tools by piping a remote script straight\ninto a shell. Syft was unpinned (always latest), and even though\ngoreleaser pinned its tool version, the goreleaser.com/static/run\nbootstrap script was fetched fresh and executed unverified each build,\nleaving the build open to \n[…]\nunder $HOME/.cache/build-tools and published via an atomic rename,\nso the shared agent cache is safe under concurrent builds and a fresh\ndownload is skipped when the pinned version is already present.",
"is_bot": false,
"headline": "Harden goreleaser and syft install in Jenkinsfile (#34)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-06-15T09:14:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a9c4a4c876fc61c64f5c1a67dab873f805d2231a",
"body": null,
"is_bot": false,
"headline": "Add missing v1.8.0 changelog and upgrade guide entries (#32)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-06-11T14:50:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cdd1825697fecdd44175367330e0a16a25dbf212",
"body": null,
"is_bot": false,
"headline": "Add azure_permission_groups data source (#29)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-06-10T12:57:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e127265556ba4db9830185c7f3c5934342ec223a",
"body": "Remove the early polaris-era guides and stale upgrade guides, update the\nv1.8.0 upgrade guide, and trim the provider index and README to service\naccounts only.",
"is_bot": false,
"headline": "Clean up provider guides and docs (#31)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-06-10T12:36:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dd073c948ed3f76dbb46f9c30db3135ca36e2e97",
"body": "…Permissions Data Source (#23)\n\n* Bump Rubrik Polaris SDK for Go\n\nPin to the latest commit (f5057de) on SDK main, which adds:\n- AllFeaturePermissions for the AWS permission group catalog lookup\n- gqlcloudcluster Multi-AZ types (SubnetAzConfig, IsAzResilient on\n CreateAwsClusterInput / CreateAzureCl\n[…]\nchments features field.\n- Rewrite the rubrik_aws_permission_groups bullet to drop the \"live\n permission group catalog\" phrasing and the implication that\n hard-coding BASIC / RECOVERY is undesirable.",
"is_bot": false,
"headline": "Backport: RDS, DyanamoDB Recovery Permissions, Multi-AZ CCES and AWS …",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-06-09T10:50:07Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0d904488231d94c12072782f47fccdabbb063c1a",
"body": "Teach the cluster_settings resource to walk the intermediate releases returned\nby MultiHopUpgradePath when the desired version is more than one release ahead,\ndownloading and upgrading through each hop in turn instead of rejecting the\nupgrade. A custom package_url/package_md5 can only drive a single direct hop and\nis rejected for a computed multi-hop path.\n\nThe hop-reduction logic is factored into upgradeHops and covered by a unit\ntest.",
"is_bot": false,
"headline": "Add automatic multi-hop upgrades to cluster_settings (#28)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-06-09T06:16:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ebd55ef474fdef076592671a98e0efbd072ace6c",
"body": "Add the rubrik_cluster_versions data source which lists the CDM releases\navailable to a cluster (from the Rubrik support portal via ListUpgrades).\nIt exposes a minimal surface - available_versions (version, recommended,\nupgradable), recommended_version, and latest_version - intended to feed the\nversion argument of the rubrik_cluster_settings resource so that a new release\nproduces a plan diff that drives the upgrade on apply.",
"is_bot": false,
"headline": "Add data source for cluster_versions (#27)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-06-09T05:56:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "287163b0d1b3ae9f3aa962d29d492eaa6fc3370e",
"body": "Add the rubrik_cluster_settings data source which returns the upgrade state\nof a single Rubrik cluster registered with RSC.",
"is_bot": false,
"headline": "Add data source for cluster_settings (#26)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-06-08T12:42:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "51274c0deb553fb1c52f775de79edbd7f3f5ad8c",
"body": "Add Terraform search support for the rubrik_cluster_settings resource so\nterraform query can discover the upgrade and download state of Rubrik\nclusters registered with RSC, including clusters not managed by\nTerraform. Supports filtering by cluster name, installed version and\ndownloaded version.",
"is_bot": false,
"headline": "Add list resource for cluster_settings (#25)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-06-08T10:31:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "33911b284b84dfe7f3a237c7b2d906a77a6a209b",
"body": "Add the rubrik_cluster_settings managed resource which drives the CDM\npackage download and upgrade lifecycle of a Rubrik cluster registered\nwith RSC. Setting version downloads and upgrades; downloaded_version\npre-stages a package; upgrade_mode toggles FAST/ROLLING. Air-gapped\ndownloads are supported via package_url/package_md5, which bypass the\nsupport portal and require version or downloaded_version as the target.",
"is_bot": false,
"headline": "Add resource for cluster_settings (#24)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-06-08T07:24:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "17ddc8e72a2bc4d3e05b04627501022c618a39d9",
"body": "…#22)\n\nThe serial acceptance run is closing in on the 120m Jenkins timeout. Run\nAWS, Azure, GCP, and the remaining tests as four parallel Jenkins\nbranches so the build only waits for the slowest. Each branch writes\nits own terraform CLI log to avoid clobbering. Mirror the partition as\ntestacc-<vendor> Makefile targets for local use.",
"is_bot": false,
"headline": "Split acceptance tests into parallel Jenkins stages by cloud vendor (…",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-05-29T06:19:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9254b5c9d396c725226856761aef6292f59ae21a",
"body": "Add the rubrik_aws_cnp_account_attachments list resource (with\npolaris_aws_cnp_account_attachments as a deprecated alias). Emits\none result per AWS account onboarded via the IAM roles workflow,\nsupports account-name and native-id filters, and pairs with an\nimport {} block to bulk-import existing att\n[…]\nrce and data-source descriptions\naround the \"AWS IAM roles workflow\" framing and document the new\nCLOUD_NATIVE_PROTECTION permission groups (DOWNLOAD_FILE,\nEXPORT_POWER_OFF, EXPORT_POWER_ON, RESTORE).",
"is_bot": false,
"headline": "Add list resource for aws_cnp_account_attachments (#19)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-05-27T12:39:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1d756d06bc1c98ca5541386654acf33d0d82a7a1",
"body": "End-to-end test that wires rubrik_aws_cnp_artifacts and\nrubrik_aws_cnp_permissions to the rubrik_aws_cnp_account and\nrubrik_aws_cnp_account_attachments resources via real aws_iam_role,\naws_iam_policy and aws_iam_role_policy_attachment(s_exclusive)\nresources, covering a single CROSSACCOUNT role under CLOUD_DISCOVERY\nand CLOUD_NATIVE_PROTECTION.",
"is_bot": false,
"headline": "Add acceptance test for the AWS IAM-roles onboarding workflow (#21)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-05-27T12:12:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6db319fe6dce3c2d3af029560050d7278609921",
"body": "Mark the polaris_aws_cnp_account_trust_policy resource as deprecated by\nsetting DeprecationMessage on the resource schema, surfacing a runtime\nwarning that points users to the trust_policies field of the\nrubrik_aws_cnp_account resource. The trust_policies field returns the\nIAM trust policies for all role keys and supports role chaining, so it\nfully replaces this resource.",
"is_bot": false,
"headline": "Deprecate aws_cnp_account_trust_policy resource (#20)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-05-27T11:32:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "88e27206e05a50777c9512e474cffe14f23a30d4",
"body": "…(#16)\n\nReimplement the rubrik_aws_cnp_account_attachments /\npolaris_aws_cnp_account_attachments resource using the Terraform\nPlugin Framework. Schema, validation rules and stored state are\npreserved so existing configurations continue to work unchanged. The\npolaris_aws_cnp_account_attachments alias\n[…]\nn by rubrik_aws_cnp_artifacts and a role-chained variant.\nAdd an import-by-identity example. Regenerate the docs and add the\nv1.8.0 changelog entry. Add an awsCnpAccountAttachmentsCheckDestroy\nhelper.",
"is_bot": false,
"headline": "Migrate aws_cnp_account_attachments resource to the Plugin Framework …",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-05-26T10:04:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e7784180a4b96c8a7855cf246eb27b2d840c04bf",
"body": "Lists AWS accounts onboarded via the AWS IAM workflow in RSC, with\noptional name (case-insensitive substring) and native_id (exact)\nfilters. Accounts onboarded via the CloudFormation workflow are\nexcluded using the SDK's OnboardingMode helper, so only IAM accounts\nare returned.\n\nRSC does not return \n[…]\nxternal_ids variable keyed on native_id, so accounts\nwith external IDs can still be imported with the correct value.\n\nIncludes an acceptance test covering the unfiltered list and the\nnative_id filter.",
"is_bot": false,
"headline": "Add list resource for aws_cnp_account (#17)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-05-21T08:56:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "366574f718bd4306033d8bc0dd2a3ed91b605a85",
"body": "* Add auth_domain_id to the SSO group resource identity\n\nThe SSO group resource has a RequiresReplace auth_domain_id attribute\nthat the RSC backend does not return when reading a group. Without it\nin the resource identity, importing leaves the attribute null and the\nnext plan force-replaces the grou\n[…]\norm\nis dropped since SSO group IDs are opaque IdP-dependent strings, not\nUUIDs, and cannot be reliably distinguished from group names.\n\nUpdate the import examples and the regenerated docs accordingly.",
"is_bot": false,
"headline": "Add auth_domain_id to the SSO group resource identity (#14)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-05-21T08:55:44Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c8326eeaeaea138e7e0339092d2bb4fe35078c44",
"body": "Reimplement the rubrik_aws_cnp_account / polaris_aws_cnp_account\nresource using the Terraform Plugin Framework. Schema, validation\nrules and stored state are preserved so existing configurations\ncontinue to work unchanged. The polaris_aws_cnp_account alias remains\nas a deprecated alias of rubrik_aws\n[…]\nl_permissions.go to\nreflect the broader scope.\n\nAlso fix a small bug in framework_resource_user.go's Create where a\ndiagnostics error from State.Set was not short-circuiting before the\nfollow-up read.",
"is_bot": false,
"headline": "Migrate aws_cnp_account resource to the Plugin Framework (#15)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-05-13T13:45:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "788b58a4392dcd34d7b87bf9d266707606e39eb3",
"body": "Reimplement the rubrik_aws_cnp_permissions / polaris_aws_cnp_permissions\ndata source using the Terraform Plugin Framework. Schema, validation\nrules and returned shape are preserved so existing configurations\ncontinue to work unchanged. The polaris_aws_cnp_permissions alias\nremains as a deprecated al\n[…]\nnaged policy. The ROLE_CHAINING case asserts the full synthetic\npolicy. Add a TestAccAwsCnpPermissionsDataSource_FrameworkMigration\ntest that compares the framework version against the SDKv2 baseline.",
"is_bot": false,
"headline": "Migrate aws_cnp_permissions data source to the Plugin Framework (#13)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-05-12T11:11:17Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c5e3435f06739dbfa6aa1783ef9fd0e21d23892d",
"body": "Reimplement the rubrik_aws_cnp_artifacts / polaris_aws_cnp_artifacts data\nsource using the Terraform Plugin Framework. Schema, validation rules and\nreturned shape are preserved so existing configurations continue to work\nunchanged. The polaris_aws_cnp_artifacts alias remains as a deprecated\nalias of\n[…]\nt instance profile and role keys returned for two concrete feature\nsets, plus a TestAccAwsCnpArtifactsDataSource_FrameworkMigration test\nthat compares the framework version against the SDKv2 baseline.",
"is_bot": false,
"headline": "Migrate aws_cnp_artifacts data source to the Plugin Framework (#12)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-05-11T13:07:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "001d4d7a313eeac081c8b060746b5597b242f1d1",
"body": "The acceptance tests for the framework resources only exercised the\nterraform import command. Add steps that also import via an import {}\nblock, both with the id attribute and with the identity attribute,\nand assert that the resulting plan is empty.\n\nThe role assignment resource only covers the import command form,\nsince its import takes ownership of all roles assigned to the user\nand so cannot satisfy the framework's no-op requirement for plannable\nimports.",
"is_bot": false,
"headline": "Expand import tests to cover import {} block forms (#11)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-05-11T13:06:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e911f0e45150689154094d0129b197ebbde92307",
"body": "The source schemas in the move state functions are only used to parse\nthe prior state during a resource move, not to generate documentation,\nso their attribute descriptions serve no purpose. Drop them to keep\nthe move schemas minimal.",
"is_bot": false,
"headline": "Drop attribute descriptions from move state schemas (#10)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-05-11T13:04:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "edcf2d44e65c2e3d8fd700c84eb15a639077dbd5",
"body": "Reimplement the rubrik_aws_account / polaris_aws_account data source\nusing the Terraform Plugin Framework. The schema, lookup precedence\n(account_id, name, then cloud_account_id) and returned shape are\npreserved, so existing configurations and state continue to work without\nchanges. The polaris_aws_\n[…]\n_account resource and verifies that\nall three lookup keys return the same record, plus a migration test that\nasserts the new framework data source returns identical values to the\nSDKv2 implementation.",
"is_bot": false,
"headline": "Migrate aws_account data source to the Plugin Framework (#8)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-05-11T12:26:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a5bb3070f01a9a603fb37dc42fa989c32591c0b5",
"body": "Add CDM-tagged acceptance tests for the data center archival location\ndata source, along with shared canary and fixture helpers. Document the\nnew cdm build tag and TEST_DATACENTER_FILE requirement in CLAUDE.md.",
"is_bot": false,
"headline": "Add CDM data center acceptance tests (#9)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-05-08T09:53:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2cb1a2bd929e17c8e9ad029b59e3957a6cc8457a",
"body": null,
"is_bot": false,
"headline": "Unpin testenv (#7)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-05-05T11:53:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4a5227ed439d45a145dd4855e437bcc61b23be3e",
"body": null,
"is_bot": false,
"headline": "Update Acceptance Tests to run 6 hours later (#6)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-04-30T12:18:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9325c70ea68dbeb7bfd08ac87889ac21d3fa6215",
"body": null,
"is_bot": false,
"headline": "Update Rubrik Polaris SDK for Go to v1.6.0 (#5)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-30T12:12:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f37c2f2b1698c6003b804d3df2e0c2f488d9ad80",
"body": "Document the v1.7.0 release: the provider rename from rubrikinc/polaris\nto rubrikinc/rubrik, initial Terraform search and moved {} block support\nfor the four Plugin Framework resources, the env var rename to RUBRIK_*,\nthe SLA domain refresh and default fixes.\n\nThe upgrade guide separates users alrea\n[…]\ndeprecation warnings, no state surgery), or switch both and\nuse moved {} blocks for the four supported resources (renames recorded\nin state). Both branches include their own init/plan/apply procedure.",
"is_bot": false,
"headline": "Add v1.7.0 changelog and upgrade guide (#3)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-30T10:07:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "17bc81db727004d84f9ad2116d00b85aff138ed1",
"body": "Covers documentation, refactors, dep bumps, CI changes, and other\nnon-code-impact PRs that did not previously have a category to tick.\nThe PR description is expected to clarify what the change actually is.",
"is_bot": false,
"headline": "Add Other category to PR template Types of changes (#4)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-30T10:05:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "28e5755c2a79feef219502246c973962423a2d26",
"body": "Rename the ignored binary path in .gitignore from\nterraform-provider-polaris to terraform-provider-rubrik to match the\nrenamed repository and Go module.\n\nRemove the unused .legitignore file.",
"is_bot": false,
"headline": "Update .gitignore and remove .legitignore (#2)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-29T14:46:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d652ef88ffdae40c5bd31ca41635388eef0d47ce",
"body": "Update the module path in go.mod and the corresponding import in\nmain.go to match the renamed repository. This is a follow-up to the\nearlier provider rename from polaris to rubrik.",
"is_bot": false,
"headline": "Rename Go module to terraform-provider-rubrik (#1)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-29T14:26:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc5813b6f5166400e1acc165da5acd18ba51a41d",
"body": "Register all resources and data sources with both rubrik and polaris\nprefixes. Implement ResourceWithMoveState for all Plugin Framework\nresources to allow migrating state from polaris resources in\nrubrikinc/polaris to rubrik resources in rubrikinc/rubrik via moved\nblocks. Resources with schema versi\n[…]\nstream\nterraform-plugin-docs with --ignore-deprecated to skip generating\ndocs for deprecated polaris resources.\n\nRename all documentation, examples, descriptions, and templates\nfrom polaris to rubrik.",
"is_bot": false,
"headline": "Rename provider from polaris to rubrik",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-29T13:08:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8b9dde9070bb3d4f4b646201cba6e9593ca42388",
"body": "Implement resource identity and list resource for polaris_sso_group,\nenabling Terraform search (terraform query) to discover SSO groups\nin RSC, including groups not managed by Terraform. Supports filtering\nby name and auth domain ID.",
"is_bot": false,
"headline": "Add Terraform search support for SSO groups (#438)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-28T06:57:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "87d952730a2527dd915c82aa8b4ecbc6fbe90658",
"body": "Implement resource identity and list resource for polaris_user,\nenabling Terraform search (terraform query) to discover users\nin RSC, including users not managed by Terraform.",
"is_bot": false,
"headline": "Add Terraform search support for users (#436)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-23T13:55:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b914277357a9f80e8a27c2c7a69bc2e2bb4a24a",
"body": "The RSC backend defaults log_archival_method to LOGARCHMETH1 when the\nfield is omitted from the create request. The provider schema had no\nDefault for the field, so state read after a create-without-method\ncontained \"LOGARCHMETH1\" while config still saw it as unset, producing\na permanent drift on the next plan.\n\nMatch the schema Default to the backend default and update the\ndescription and template accordingly.",
"is_bot": false,
"headline": "Default db2_config.log_archival_method to LOGARCHMETH1",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-04-23T07:21:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a064bc5750d95c9cda3e82f85abed17f8dba5aff",
"body": "The to*Config helpers for sap_hana_config, db2_config, oracle_config and\ninformix_config skipped writing optional retention unit fields to state\nwhen the matching duration was unset. Because the schema applies a\nDefault of \"DAYS\" to those unit fields, the next plan compared the\nschema default agains\n[…]\n only emit the storage_snapshot_config block when\nits frequency or retention duration is non-zero. The API can return a\nzero-valued nested config which previously surfaced as a phantom block\nin state.",
"is_bot": false,
"headline": "Fix drift in SLA object-specific config refresh",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-04-23T07:21:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3564b60e69319b186ccadb90bfbb417e9abf0431",
"body": "Implement resource identity and list resource for polaris_custom_role,\nenabling Terraform search (terraform query) to discover custom roles\nin RSC, including roles not managed by Terraform.\n\nChanges:\n- Add IdentitySchema and identity tracking to custom role CRUD\n- Add list resource with optional name filtering\n- Register ListResources on the framework provider\n- Add acceptance tests for query and name-filtered query",
"is_bot": false,
"headline": "Add Terraform search support for custom roles (#434)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-22T15:22:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eaafa0b5cb98ee2dad7792724cae5c7c5c9c6570",
"body": null,
"is_bot": false,
"headline": "Bump terraform-plugin-docs to v0.25.0 (#433)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-04-21T07:03:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da73e4a9d64217e18e82618f85c1d7d8d9123783",
"body": null,
"is_bot": false,
"headline": "Update Go SDK to v1.5.0 (#432)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-15T08:44:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d690e247d90f9848e12a6166d3bfe7e7c63e71cd",
"body": "Add changelog entry and upgrade guide section for the new\nfrequency field in the archival block of the\npolaris_sla_domain resource.",
"is_bot": false,
"headline": "Add SLA domain frequency field to v1.6.3 release docs (#431)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-15T07:31:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5ae84b286854e6d62bcd36faa80f6ab4ae4f80a7",
"body": "Add ROLE_CHAINING as a valid feature for the IAM roles workflow resources and\ndata sources. Enforce mutual exclusivity with other features via CustomizeDiff.\n\nAdd role_chaining_account_id field to the account and attachments resources to\nsupport onboarding AWS accounts linked to a role chaining acco\n[…]\nta or the\nROLE_CHAINING_ROLE_ARN artifact for the ROLE_CHAINING feature. Inject a\nsynthetic sts:AssumeRole policy and duplicate the CROSSACCOUNT role ARN as\nROLE_CHAINING during artifact registration.",
"is_bot": false,
"headline": "Add AWS role chaining support (#429)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-14T20:01:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c1b665303de4e0c7bfaf0a21f5987f9de62bb931",
"body": "Allow users to override which snapshot frequencies are archived instead\nof always deriving them from the snapshot schedule. When not specified,\nbehavior is unchanged. Also expose effective frequencies as a computed\nfield on the polaris_sla_domain data source.\n\nFixes a typo in the cascading archival docs (MINUTE -> MINUTES).",
"is_bot": false,
"headline": "Add frequency field to SLA domain archival block (#430)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-04-14T17:59:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a2c6bda6d1050c47e05a8dc326d8ef1b6d7ef167",
"body": "… (#427)\n\nThe limit was hardcoded to 14 characters but the backend accepts up to\n16 for SOURCE_REGION (prefix + 8-char UID = 24, Azure's max) and up to\n24 for SPECIFIC_REGION (name used directly). Add a CustomizeDiff to\nenforce the correct limit based on whether storage_account_region is set.",
"is_bot": false,
"headline": "Fix storage_account_name_prefix max length in azure archival location…",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-04-10T16:00:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7977ee2fb3ff63401924a86a9f43083971a957c6",
"body": null,
"is_bot": false,
"headline": "Add polaris_feature_flag data source (#425)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-04-10T11:33:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "804bc92034fd4544e9366291617546aa6aed0a06",
"body": "The Terraform Registry flags .json files listed in SHA256SUMS as\ninvalid release assets. By giving the SBOM config a distinct ID\nand filtering the checksum to only include the default archive ID,\nSBOMs are still generated and uploaded as release artifacts but no\nlonger appear in the checksum file.",
"is_bot": false,
"headline": "Exclude SBOMs from the SHA256SUMS checksum file (#423)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-09T10:56:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "748a3b976d01c5359779b700f33243e113522d2f",
"body": null,
"is_bot": false,
"headline": "Set go.mod in releaser and add dry run release (#422)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-04-08T08:54:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "19c223da80af944f77025c711bbd307b2274672d",
"body": null,
"is_bot": false,
"headline": "Fix MI upgrade to include permission groups and release 1.6.2 (#421)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-04-07T19:07:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df9cd4a494bef1c94ba65b4616a00f02bc4d5469",
"body": "The hc-install library used by the test framework intermittently\nfails to download the Terraform binary, causing chmod errors on\nnon-existent files. Avoid this by downloading the latest 1.x\nbinary in the Pre-test stage and pointing TF_ACC_TERRAFORM_PATH\nto it.",
"is_bot": false,
"headline": "Pre-download Terraform binary for acceptance tests (#420)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-07T11:30:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1548d25fd5c5d01254207358511d3d1ec958cea",
"body": "… is enabled (#419)\n\nUpdate the polaris_refresh resource description, examples, and tests to\nrequire the cloud_discovery feature for automatic refresh. When discovery\nonboarding is enabled, automatic refresh only runs for cloud discovery,\nso the cloud_discovery feature must be onboarded alongside\ncloud_native_protection.",
"is_bot": false,
"headline": "Require cloud_discovery for polaris_refresh when discovery onboarding…",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-04-07T08:26:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4cbc500b0a5eabac3becb553d3ce0305ab8b64cf",
"body": "…#418)\n\nWhen an SLA domain assignment is deleted, the hierarchy service\nprocesses the unassignment before the SLA domain service updates.\nIf deleteSLADomain runs immediately after, it can fail because\nthe SLA domain still reports assigned objects. Poll the object\ncount every 5s until it reaches zero before attempting the delete,\nbounded by a 10-minute resource timeout.",
"is_bot": false,
"headline": "Poll SLA domain object count before delete for eventual consistency (…",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-04-02T19:31:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1aac34f86e8d695d5736d55565e0c4db60d9555",
"body": "Update all actions in the release workflow to their latest versions:\n- actions/checkout v4.1.1 -> v6.0.2\n- actions/setup-go v5.0.0 -> v6.3.0\n- crazy-max/ghaction-import-gpg v6.1.0 -> v7.0.0\n- anchore/sbom-action/download-syft v0 -> v0.24.0\n- goreleaser/goreleaser-action v5.0.0 -> v7.0.0\n\nAlso disabl\n[…]\nient errors\nfrom the GitHub cache service.\n\nThis resolves the Node.js 20 deprecation warning reported by the\npipeline. Node.js 20 actions will be forced to run with Node.js 24\nstarting June 2nd, 2026.",
"is_bot": false,
"headline": "Update GitHub Actions to latest versions (#417)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-04-01T11:46:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1c9429c66786b7ae76894ddca2eaa92ec822aeb3",
"body": "Move terraform-registry-manifest.json from archives.files to\nrelease.extra_files and checksum.extra_files. This publishes it as\na standalone release artifact instead of bundling it inside every\nplatform ZIP archive, matching the HashiCorp scaffolding template.\n\nThe manifest is renamed to include the project name and version in\nthe release, following the scaffolding convention.",
"is_bot": false,
"headline": "Publish registry manifest as standalone release artifact (#416)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-03-31T16:49:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "15bf01e9a0df4db880ba366883e87b5bb4cda7ab",
"body": null,
"is_bot": false,
"headline": "Add CLAUDE.md (#415)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-03-31T16:11:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef4b0959ff75ce35b56b8bfd8326258bad33c390",
"body": "Add a v1.6.1 changelog entry noting the re-release due to a\nGoReleaser bug that caused the v1.6.0 release to fail. Update the\nGo SDK dependency to v1.4.0.",
"is_bot": false,
"headline": "Add v1.6.1 changelog and update Go SDK to v1.4.0 (#413)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-03-31T14:13:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a17e6a8abcc69ecef79a54d6bcc2b24d83d5cdf1",
"body": "The framework test fixture functions load config files and create\nresources in RSC before resource.Test() checks TF_ACC. This causes\ntests to fail with errors instead of being skipped when TF_ACC is\nnot set.\n\nAdd the skipIfNotAcceptance helper function and call it from each\nfixture function so that all tests using them are automatically\nskipped without TF_ACC.",
"is_bot": false,
"headline": "Skip framework test fixtures when TF_ACC is not set (#414)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-03-31T14:07:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5825b252d57e218708fdb17e14d59bfae822549c",
"body": "Pin the GoReleaser version in the GitHub Actions release workflow\nand the Jenkinsfile to v2.14.3. Also update the Jenkinsfile to use\nthe goreleaser.com install URL since git.io redirects are frozen.",
"is_bot": false,
"headline": "Pin GoReleaser version to v2.14.3 (#412)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-03-31T14:01:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c1c8eeb7068fa88d611f6edd0910ef1b446b1bc",
"body": null,
"is_bot": false,
"headline": "Skip GCP exocompute acceptance test (#411)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-03-31T08:56:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b0a728301de16c432a93a75a97fcd70ae568628",
"body": "* Update v1.6.0 changelog and upgrade guide for release\n\nUpdate the changelog with all changes since v1.5.2 including new\nresources (sso_group, refresh), new data sources (identity_provider,\nsnapshot), AWS role chaining, Azure Cloud Discovery, extended\npolaris_object workload types, and the permission_groups breaking\nchange. Add New Features section to the upgrade guide covering all\nmajor additions with usage examples. Regenerated docs via go generate.",
"is_bot": false,
"headline": "Update v1.6.0 changelog and upgrade guide (#410)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-03-30T11:31:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f71ecde352c91a8cb5aa428b981a25a0e4b216d",
"body": null,
"is_bot": false,
"headline": "Add protection of useast2 in the Azure refresh test (#409)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-03-27T16:29:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d7c0e15cfd11c4364dd019a1ac48ea71b2a99770",
"body": "The test was skipped due to NISD-587, which has been resolved.",
"is_bot": false,
"headline": "Remove skip of GCP exocompute acceptance test (#404)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-03-27T07:57:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0e1e183291e13aa89189785fe5c4feb73f3059e",
"body": "Add a new polaris_sso_group resource for creating and managing SSO\ngroups in RSC. Supports full CRUD operations with import via\ngroup_name:identity_provider_id format.",
"is_bot": false,
"headline": "Add SSO group resource (#408)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-03-26T15:52:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2b5b9f4aae1cccf0635352e3eeb18a6adf634f73",
"body": "…S accounts (#399)\n\nAdd the polaris_refresh resource which polls until an account or\nsubscription's inventory refresh in RSC is newer than a given timestamp.\nThis ensures leaf objects like VMs and EC2 instances are discoverable via\npolaris_object after onboarding.\n\nAlso add a retry loop to the polaris_object data source for\nAwsNativeAccount lookups, since newly onboarded accounts may not appear\nin the hierarchy immediately.",
"is_bot": false,
"headline": "Add polaris_refresh resource and retry logic to polaris_object for AW…",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-03-26T15:41:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "17c0e4b7958fb979a92230f2fc0570476471cf19",
"body": "…#397)\n\nAdd support for AwsNativeEbsVolume, AwsNativeEc2Instance, AwsNativeRdsInstance,\nand AzureNativeVirtualMachine to the polaris_object data source. Workload-level\ntypes use server-side IS_RELIC/IS_GHOST/IS_ACTIVE/IS_ARCHIVED filters to exclude\ninactive objects, in contrast to container-level ty\n[…]\nspect RSC feature status on the returned results.\n\nAdd an acceptance test for AzureNativeVirtualMachine that looks up a pre-existing\nVM by name, and update the docs to list all supported object types.",
"is_bot": false,
"headline": "Extend polaris_object data source with AWS and Azure workload types (…",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-03-26T15:37:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1e019c2590d5352fe51baefb9b8b64cab964e7ba",
"body": null,
"is_bot": false,
"headline": "Support AWS PGs for Escalation Policies (#407)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-03-26T13:27:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cb421898a57afee633471b5623fcf6755730ecf6",
"body": "Add a new polaris_identity_provider data source for looking up identity\nproviders configured in RSC by ID or name. Update the Go SDK dependency\nto a version that includes the identity provider API.",
"is_bot": false,
"headline": "Add identity provider data source (#405)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-03-26T09:21:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cdf77f94fb5ccf279e87007faeb7ef91052356d2",
"body": "Add the role_chaining_account_id attribute which allows referencing\nthe RSC cloud account ID of an account with the Role Chaining feature\nenabled. This enables cross-account role chaining for onboarded AWS\naccounts.",
"is_bot": false,
"headline": "Add cross-account role chaining support to AWS account resource (#403)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-03-25T14:20:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47ea83a9f4d9046b700cd46f7190f836d0c2a51b",
"body": "The Role Chaining feature enables cross-account role chaining for AWS\naccounts. It is mutually exclusive with all other features.",
"is_bot": false,
"headline": "Add Role Chaining feature to AWS account resource (#401)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-03-24T12:20:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29bb601fa2d0d01e357a864918b2ed7f537b3a5d",
"body": "The permission_groups field was optional in the cloud_native_protection\nand exocompute blocks for backwards compatibility with older\nconfigurations that predated the field. This inconsistency is now\naddressed by making the field required in all feature blocks.",
"is_bot": false,
"headline": "Make permission_groups required in all AWS account feature blocks (#402)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-03-24T08:57:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "79ef8a411cc4fc3bb14ec3e829ac289bb080e036",
"body": null,
"is_bot": false,
"headline": "Add SBOM generation to the goreleaser config (#400)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-03-20T15:13:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f02a048fdf9527b18f217ee3be6b557098fa2bc3",
"body": "Introduce a Framework provider and mux it with the existing SDKv2\nprovider using tf6muxserver. Migrate the following resources and\ntests:\n\n * polaris_custom_role\n * polaris_role\n * polaris_role_assignment\n * polaris_role_template\n * polaris_sso_group\n * polaris_user",
"is_bot": false,
"headline": "Migrate role resources to the Terraform Framework (#393)",
"author_name": "Johan Andersson",
"author_login": "johan3141592",
"committed_at": "2026-03-20T13:58:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b0c85f17673ef862b3f777cf855d97941771e980",
"body": null,
"is_bot": false,
"headline": "Update Go SDK version (#398)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-03-20T08:48:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b0fe484f91e0511690645d5f1d2b117eda54b18",
"body": "Add a new data source that looks up the closest snapshot to a given\npoint in time for a workload object using the hierarchy package's\nClosestSnapshot API. Exactly one of before_time or after_time must\nbe specified. Quarantined and anomalous snapshots are excluded by\ndefault.",
"is_bot": false,
"headline": "Add polaris_snapshot data source (#395)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-03-18T09:36:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1dc6ddcf47b9b2953e0274e11779fb049f1439b6",
"body": null,
"is_bot": false,
"headline": "Skip TestAccPolarisGCPExocompute_basic due to NISD-587 (#396)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-03-16T22:14:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57673f6a991f1667031517b69415eb7ce21961b6",
"body": null,
"is_bot": false,
"headline": "Add Azure Cloud Discovery Support (#390)",
"author_name": "Andy Draper",
"author_login": "Draper1",
"committed_at": "2026-03-12T14:02:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "892668c3c9fdcdca0a94b19e23a5c6e7720a7322",
"body": null,
"is_bot": false,
"headline": "Add v1.5.2 changelog entry (#392)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-03-06T10:19:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6ad99ba6d30f253dd3e0fa8bfe4653a850f18c77",
"body": "Adds support for the AzureStorageAccountNetworkAccess field on the\npolaris_azure_archival_location resource and data source.\n\nThe field is optional and computed on the resource, allowing RSC to\ndecide the default when omitted. Possible values are PRIVATE, PUBLIC\nand SELECTED_NETWORKS.",
"is_bot": false,
"headline": "Add network_access_type to polaris_azure_archival_location (#391)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-03-06T09:59:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0eae138212252a20feb5eb00122d7e19627085bc",
"body": null,
"is_bot": false,
"headline": "Add v1.5.1 changelog entry (#389)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-03-05T12:15:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e91df4f271d8218edbd6690e47bfbec0f4e85398",
"body": "Add the entra_group_id attribute to the polaris_azure_subscription\nresource, allowing users to configure the Entra ID group used for\nAKS cluster authentication. The field is tenant-scoped and shared\nacross all subscriptions in the same tenant.\n\nAdd acceptance test for setting and updating entra_group_id.",
"is_bot": false,
"headline": "Add entra_group_id support to polaris_azure_subscription (#383)",
"author_name": "Pontus Leitzler",
"author_login": "leitzler",
"committed_at": "2026-03-05T09:26:36Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 5,
"commits_last_year": 174,
"latest_release_at": "2026-07-20T15:31:42Z",
"latest_release_tag": "v1.9.0",
"releases_from_tags": false,
"days_since_last_push": 2,
"active_weeks_last_year": 41,
"days_since_latest_release": 9,
"mean_days_between_releases": 20.3
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 75,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "github.com/rubrikinc/terraform-provider-rubrik",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": true,
"registry_url": "https://pkg.go.dev/github.com/rubrikinc/terraform-provider-rubrik",
"is_deprecated": false,
"latest_version": "v1.9.0",
"repository_url": "https://github.com/rubrikinc/terraform-provider-rubrik",
"versions_count": 8,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-20T11:29:18Z",
"latest_version_yanked": null,
"days_since_latest_publish": 9
}
]
},
"popularity": {
"forks": 1,
"stars": 2,
"watchers": 1,
"fork_history": {
"days": [
{
"date": "2026-07-26",
"count": 1
}
],
"complete": true,
"collected": 1,
"total_forks": 1
},
"star_history": null,
"open_issues_and_prs": 4
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 145410,
"source_files_sampled": 181,
"oversized_source_files": 2,
"agent_instruction_files": [
".claude/CLAUDE.md"
],
"agent_instruction_max_bytes": 6502
},
"dependencies": {
"manifests": [
"go.mod"
],
"advisories": {
"error": null,
"scope": null,
"source": null,
"findings": [],
"collected": false,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "github.com/aws/aws-sdk-go-v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.3.0"
},
{
"name": "github.com/google/uuid",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "github.com/hashicorp/go-cty",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.5.0"
},
{
"name": "github.com/hashicorp/terraform-plugin-docs",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.25.0"
},
{
"name": "github.com/hashicorp/terraform-plugin-framework",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.18.0"
},
{
"name": "github.com/hashicorp/terraform-plugin-framework-timeouts",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.7.0"
},
{
"name": "github.com/hashicorp/terraform-plugin-framework-validators",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.19.0"
},
{
"name": "github.com/hashicorp/terraform-plugin-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.30.0"
},
{
"name": "github.com/hashicorp/terraform-plugin-log",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.10.0"
},
{
"name": "github.com/hashicorp/terraform-plugin-mux",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.22.0"
},
{
"name": "github.com/hashicorp/terraform-plugin-sdk/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.38.1"
},
{
"name": "github.com/hashicorp/terraform-plugin-testing",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.14.0"
},
{
"name": "github.com/rubrikinc/rubrik-polaris-sdk-for-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.9.2-0.20260727082920-8ad1fa7f85f1"
}
],
"all_dependencies": {
"error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
"source": null,
"packages": [],
"collected": false,
"truncated": false,
"total_count": null,
"direct_count": null,
"indirect_count": null
}
},
"maintainership": {
"issues": {
"open_prs": 3,
"merged_prs": 53,
"open_issues": 1,
"closed_ratio": 0.5,
"closed_issues": 1,
"closed_unmerged_prs": 0
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "johan3141592",
"commits": 173,
"avatar_url": "https://avatars.githubusercontent.com/u/79966026?v=4"
},
{
"type": "User",
"login": "leitzler",
"commits": 68,
"avatar_url": "https://avatars.githubusercontent.com/u/3111805?v=4"
},
{
"type": "User",
"login": "Draper1",
"commits": 47,
"avatar_url": "https://avatars.githubusercontent.com/u/6471505?v=4"
},
{
"type": "User",
"login": "JWilkinsonMB",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/107036391?v=4"
}
],
"contributors_sampled": 4,
"top_contributor_share": 0.599
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"release-dry-run.yml",
"release.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"go.sum"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 9,
"reason": "27 out of 30 merged PRs checked by a CI test -- score normalized to 9",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 10,
"reason": "all changesets reviewed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 6,
"reason": "project has 2 contributing companies or organizations -- score normalized to 6",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 8,
"reason": "5 out of the last 5 releases have a total of 5 signed artifacts.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "27 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "ad62630d02cfa04d646c8b0b03708cb296dfeb84",
"ran_at": "2026-07-29T18:02:35Z",
"aggregate_score": 5.9,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-27T09:30:50Z",
"oldest_open_prs": [
{
"number": 18,
"created_at": "2026-05-21T11:25:40Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 35,
"created_at": "2026-06-15T13:08:24Z",
"last_comment_at": "2026-06-15T13:09:16Z",
"last_comment_author": "endorlabs"
},
{
"number": 57,
"created_at": "2026-07-23T10:51:07Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-27T09:30:07Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 33,
"created_at": "2026-06-12T09:36:11Z",
"last_comment_at": "2026-06-24T13:21:07Z",
"last_comment_author": "Draper1"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/rubrikinc/terraform-provider-rubrik",
"host": "github.com",
"name": "terraform-provider-rubrik",
"owner": "rubrikinc"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": null,
"notes": [],
"value": 70,
"inputs": {
"security": 59,
"vitality": 94,
"community": 43,
"governance": 66,
"engineering": 80
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 94,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"commits_last_year": 174,
"human_commit_share": 1,
"days_since_last_push": 2,
"active_weeks_last_year": 41
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 2 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 2
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "41/52 weeks with commits",
"points": 28.4,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 41
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "174 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 174
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 98,
"inputs": {
"releases_count": 5,
"latest_release_tag": "v1.9.0",
"releases_from_tags": false,
"days_since_latest_release": 9,
"mean_days_between_releases": 20.3
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "5 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 5
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 9 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 9
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~20.3 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 20.3
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "5 out of the last 5 releases have a total of 5 signed artifacts.",
"points": 8,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "unverified",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": "repository_too_young",
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": null,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "maintenance record not established from the collected data",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_unverified",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 43,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"forks": 1,
"stars": 2,
"watchers": 1,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "2 stars",
"points": 0,
"status": "missed",
"details": [
{
"code": "stars",
"params": {
"count": 2
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "1 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 1
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "1 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 1
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 66,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 29,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 4,
"top_contributor_share": 0.599
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 60% of commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 60
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "4 contributors",
"points": 5.4,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 4
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 2 contributing companies or organizations -- score normalized to 6",
"points": 6,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 77,
"inputs": {
"merged_prs": 53,
"open_issues": 1,
"closed_issues": 1,
"issue_closed_ratio": 0.5,
"closed_unmerged_prs": 0
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "50% of issues closed",
"points": 23.4,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 50
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "53/53 decided PRs merged",
"points": 38.2,
"status": "met",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 53,
"decided": 53
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "all changesets reviewed",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 71,
"inputs": {
"followers": 175,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "rubrikinc",
"public_repos": 134,
"account_age_days": 4048
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "175 followers of rubrikinc",
"points": 16.1,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 175,
"login": "rubrikinc"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "134 public repos, account ~11 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 134
}
},
{
"code": "account_age_years",
"params": {
"years": 11
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"github.com/rubrikinc/terraform-provider-rubrik"
],
"ecosystems": "go",
"any_deprecated": false,
"min_days_since_publish": 9
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on go",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "go"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 9 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 9
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "8 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 8
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 80,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 66,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "2 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 2
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "27 out of 30 merged PRs checked by a CI test -- score normalized to 9",
"points": 18,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"topics": [
"terraform",
"terraform-provider"
],
"has_wiki": true,
"homepage": "https://registry.terraform.io/providers/rubrikinc",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://registry.terraform.io/providers/rubrikinc",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "2 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 2
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 59,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 59,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 5.9
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "27 out of 30 merged PRs checked by a CI test -- score normalized to 9",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "all changesets reviewed",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 2 contributing companies or organizations -- score normalized to 6",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "5 out of the last 5 releases have a total of 5 signed artifacts.",
"points": 6,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "27 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 8
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "good",
"name": "AI Readiness",
"value": 71,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 1,
"agent_instruction_files": [
".claude/CLAUDE.md"
],
"agent_instruction_max_bytes": 6502
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": ".claude/CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".claude/CLAUDE.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "100 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 100,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 61,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [
"Makefile"
],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Go (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 99,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 145410,
"source_files_sampled": 181,
"oversized_source_files": 2
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Go (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "2/181 source files over 60KB",
"points": 54.4,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 181,
"oversized": 2
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
],
"report_type": "repository",
"generated_at": "2026-07-29T18:02:56.003646Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/r/rubrikinc/terraform-provider-rubrik.svg",
"full_name": "rubrikinc/terraform-provider-rubrik",
"license_state": "standard",
"license_spdx": "MIT"
}