Open source alternative to AWS. Elastic compute, block storage (non replicated), firewall and load balancer, managed Postgres, K8s, AI inference, and IAM services.
This report summarizes scanner evidence for ubicloud/ubicloud, a Ruby project with 12,370 GitHub stars. SynthScan examined 270,077 lines of code across 2362 source files, recording 544 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 2.7 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 429 finding(s).
Are imports declared and package/API names verified? 112 finding(s).
Are wrappers, guards, and repeated structures necessary? 134 finding(s).
Which changes need focused human review? 544 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 544 distinct pattern matches across 10 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .herb.yml | 1 | # This file configures Herb for your project and team. | COMMENT |
| LOW | .herb.yml | 21 | # # Options: erubi | erb | herb (default: erubi) | COMMENT |
| LOW | .herb.yml | 41 | linter: | COMMENT |
| LOW | .herb.yml | 101 | html-no-empty-attributes: | COMMENT |
| LOW | .herb.yml | 121 | # include: | COMMENT |
| LOW | .herb.yml | 141 | # include: | COMMENT |
| LOW | ubid.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | rhizome/host/lib/csum_guard_setup.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | rhizome/common/lib/command.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | rhizome/postgres/lib/otel_log_config.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | rhizome/postgres/lib/otel_log_config.rb | 21 | # journald/auth receiver ships host | COMMENT |
| LOW | scheduling/allocator.rb | 541 | # used otherwise. | COMMENT |
| LOW | scheduling/dispatcher.rb | 21 | super | COMMENT |
| LOW | scheduling/dispatcher.rb | 61 | # The queue size is 4 times the size of the thread pool by default, as that should | COMMENT |
| LOW | scheduling/dispatcher.rb | 101 | # The delay experienced for strands for this partition. Stays at 0 for | COMMENT |
| LOW | scheduling/dispatcher.rb | 141 | # default in shutdown as pushing to the queue can block. | COMMENT |
| LOW | scheduling/dispatcher.rb | 161 | data[:strand_thread].join | COMMENT |
| LOW | scheduling/dispatcher.rb | 181 | # * The connection needs to be checked out for the entire transaction | COMMENT |
| LOW | scheduling/dispatcher.rb | 281 | COMMENT | |
| LOW | scheduling/dispatcher.rb | 301 | # values. | COMMENT |
| LOW | scheduling/dispatcher.rb | 341 | respirate_metrics[:current_strand_delay] = @current_strand_delay = array[(array.count * 0.95r).floor] || 0 | COMMENT |
| LOW | scheduling/dispatcher.rb | 361 | # that's pretty busy, set a minimum sleep time of 0.25 seconds. | COMMENT |
| LOW | scheduling/dispatcher.rb | 381 | # On strand run finish: | COMMENT |
| LOW | scheduling/dispatcher.rb | 421 | COMMENT | |
| LOW | spec/spec_helper.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | spec/spec_helper.rb | 101 | # and actual values. Very useful when debugging a case where the | COMMENT |
| LOW | spec/spec_helper.rb | 121 | mocks.verify_partial_doubles = true | COMMENT |
| LOW | spec/spec_helper.rb | 141 | config.filter_run_when_matching :focus | COMMENT |
| LOW | spec/spec_helper.rb | 161 | # Use the documentation formatter for detailed output, | COMMENT |
| LOW | spec/prog/vnet/metal/update_firewall_rules_spec.rb | 181 | # If we are using clover_ephemeral, that means we are using ipsec. We need | COMMENT |
| LOW | spec/prog/vnet/metal/update_firewall_rules_spec.rb | 361 | COMMENT | |
| LOW | spec/prog/vnet/metal/update_firewall_rules_spec.rb | 521 | # to allow traffic for the private communication and block via firewall | COMMENT |
| LOW | spec/model/private_subnet_spec.rb | 521 | COMMENT | |
| LOW | spec/model/private_subnet_spec.rb | 541 | # ORDER BY or the cycle exclusion would fail here instead of passing by | COMMENT |
| LOW | spec/model/firewall_concurrency_spec.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | prog/base.rb | 341 | # If a reaper argument is given, it is called with each child after | COMMENT |
| LOW | prog/setup_hugepages.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | prog/learn_network.rb | 21 | # both address and prefix information together as `ip` does, it's | COMMENT |
| LOW | prog/rollout_semaphore.rb | 21 | # simplecov:disable | COMMENT |
| LOW | prog/vnet/metal/update_firewall_rules.rb | 121 | # Destination port 111 is reserved for the portmapper. We block it to | COMMENT |
| LOW | prog/vnet/metal/update_firewall_rules.rb | 201 | [summ_ipv4.join(", "), summ_ipv6.join(", ")] | COMMENT |
| LOW | prog/vnet/metal/update_firewall_rules.rb | 221 | # 1. 10.10.10.8/29 (This is simply used from the first rule because the first | COMMENT |
| LOW | prog/vnet/gcp/update_firewall_rules.rb | 21 | # | COMMENT |
| LOW | prog/vnet/gcp/update_firewall_rules.rb | 41 | end | COMMENT |
| LOW | prog/vnet/gcp/vpc_update_firewall_rules.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | prog/postgres/postgres_server_nexus.rb | 801 | # | COMMENT |
| LOW | prog/postgres/audit_resource_collation.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | prog/postgres/audit_resource_collation.rb | 101 | FROM other o JOIN risky r ON r.oid=o.coll | COMMENT |
| LOW | serializers/base.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | migrate/20260930_fix_gcp_vm_memory.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | migrate/20230425_ssh_generation.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | migrate/20230415_add_vm_allocation_counters.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | migrate/20260723_fix_invalid_location_ubids.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | sdk/ruby/lib/ubicloud/model.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | sdk/ruby/lib/ubicloud/context.rb | 1 | # frozen_string_literal: true | COMMENT |
| LOW | .github/actions/aws-cleanup-e2e/cleanup.rb | 1 | #!/usr/bin/env ruby | COMMENT |
| LOW | .github/actions/aws-cleanup-e2e/cleanup.rb | 21 | # own tag establishes; untagged ENIs and instances inside such a VPC are | COMMENT |
| LOW | .github/actions/aws-cleanup-e2e/cleanup.rb | 41 | # DRY_RUN=1 report what would be deleted, delete nothing | COMMENT |
| LOW | .github/actions/aws-cleanup-e2e/cleanup.rb | 121 | # listing that never drains from spinning forever. | COMMENT |
| LOW | .github/actions/gcp-cleanup-e2e/cleanup.rb | 1 | #!/usr/bin/env ruby | COMMENT |
| 189 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rhizome/host/lib/storage_volume.rb | 120 | def vhost_backend_create_config(encryption_key, key_wrapping_secrets) | CODE |
| LOW | rhizome/host/lib/storage_volume.rb | 140 | def vhost_backend_create_metadata(key_wrapping_secrets) | CODE |
| LOW | rhizome/host/lib/storage_volume.rb | 152 | def vhost_backend_create_encrypted_metadata(key_wrapping_secrets) | CODE |
| LOW | rhizome/host/lib/storage_volume.rb | 526 | def store_spdk_data_encryption_key(data_encryption_key, key_wrapping_secrets) | CODE |
| LOW | rhizome/host/lib/spdk_rpc.rb | 63 | def vhost_create_blk_controller(name, bdev) | CODE |
| LOW | rhizome/postgres/lib/otel_log_config.rb | 339 | def syslog_transform_statements(dest) | CODE |
| LOW | rhizome/postgres/lib/hugepages_setup.rb | 51 | def update_postgres_hugepages_conf(shared_buffers_kib) | CODE |
| LOW | rhizome/postgres/lib/io_throttle.rb | 133 | def calculate_archival_throttle(backlog_count) | CODE |
| LOW | rhizome/postgres/lib/postgres_setup.rb | 32 | def configure_memory_overcommit(strict: false, hugepage_percent: 25) | CODE |
| LOW | rhizome/inference_endpoint/lib/replica_setup.rb | 27 | def write_inference_gateway_service(s) | CODE |
| LOW | rhizome/inference_endpoint/lib/replica_setup.rb | 35 | def write_inference_engine_service(s) | CODE |
| LOW | rhizome/inference_endpoint/lib/replica_setup.rb | 47 | def write_lb_cert_download_service(s) | CODE |
| LOW | rhizome/inference_endpoint/lib/replica_setup.rb | 51 | def write_lb_cert_download_timer(s) | CODE |
| LOW | scheduling/allocator.rb | 771 | def pci_iommu_groups_for_partition(id) | CODE |
| LOW | scheduling/allocator.rb | 882 | def allocate_storage_volume_associations(vm, vm_host) | CODE |
| LOW | scheduling/dispatcher.rb | 214 | def setup_prepared_statements(strand_id_range:) | CODE |
| LOW | spec/spec_helper.rb | 347 | def create_vhost_block_backend(version: "v0.4.1", **) | CODE |
| LOW | spec/spec_helper.rb | 369 | def create_machine_image_version_metal(project_id: nil, machine_image_id: nil, machine_image_store_id: nil, name: "t | CODE |
| LOW | spec/prog/postgres/spec_helper.rb | 7 | def create_read_replica_resource(parent:) | CODE |
| LOW | spec/serializers/postgres_spec.rb | 28 | def create_representative_server(primary: true) | CODE |
| LOW | spec/model/postgres/postgres_timeline_spec.rb | 422 | def expected_lifecycle_config(days) | CODE |
| LOW | spec/model/postgres/postgres_resource_spec.rb | 668 | def create_server_with_boot_image(boot_image_version:, is_representative: false, created_offset: 0) | CODE |
| LOW | spec/model/postgres/postgres_resource_spec.rb | 1032 | def create_representative_server(strand_label:) | CODE |
| LOW | spec/model/postgres/postgres_resource_spec.rb | 1331 | def create_server_with_strand(label:) | CODE |
| LOW | spec/lib/authorization_spec.rb | 74 | def add_single_ace_with_nested_tags(policies, project_id: projects[0].id) | CODE |
| LOW | spec/lib/invoice_generator_spec.rb | 39 | def check_invoice_for_single_vm(invoices, project, vm, duration, begin_time, expected_vat_info: nil) | CODE |
| LOW | spec/lib/metrics_target_resource_spec.rb | 45 | def create_victoria_metrics_setup(project) | CODE |
| LOW | spec/routes/web/admin/model/spec_helper.rb | 358 | def create_machine_image_store(project: nil) | CODE |
| LOW | spec/routes/api/spec_helper.rb | 11 | def project_with_default_policy(account, name: "project-1") | CODE |
| LOW | prog/base.rb | 471 | def hop_wait_and_wakeup_waiting_strand(semaphore: nil) | CODE |
| LOW | prog/learn_storage.rb | 34 | def find_underlying_unix_device_ids(unix_device) | CODE |
| LOW | prog/learn_storage.rb | 39 | def find_underlying_unix_device_names(unix_device) | CODE |
| LOW | prog/download_boot_image.rb | 24 | def latest_boot_image_version(image_name) | CODE |
| LOW | prog/test/postgres_base.rb | 103 | def cloudwatch_cutover_failure(server) | CODE |
| LOW | prog/test/postgres_base.rb | 161 | def verify_timelines_destroyed(timeline_ids) | CODE |
| LOW | prog/vnet/update_load_balancer_node.rb | 135 | def generate_lb_ip_set_definition(neighbor_vm_ports) | CODE |
| LOW | prog/vnet/metal/update_firewall_rules.rb | 281 | def consolidate_rules_by_protocol(rules) | CODE |
| LOW | prog/vnet/metal/update_firewall_rules.rb | 286 | def combine_continuous_ranges_for_same_subnet(rules) | CODE |
| LOW | prog/vnet/gcp/update_firewall_rules.rb | 89 | def firewall_tag_namespaced_name(firewall) | CODE |
| LOW | prog/vnet/gcp/vpc_update_firewall_rules.rb | 453 | def build_tag_based_policy_rules(rules, tag_value_name:) | CODE |
| LOW | prog/github/github_runner_nexus.rb | 144 | def installation_private_subnet(location_id) | CODE |
| LOW | prog/ai/inference_router_replica_nexus.rb | 90 | def write_inference_router_service(asset_name, workdir) | CODE |
| LOW | sdk/ruby/lib/ubicloud/model/postgres.rb | 79 | def add_bearer_metric_destination(url:, token:, headers: {}) | CODE |
| LOW | sdk/ruby/lib/ubicloud/model/postgres.rb | 97 | def add_syslog_log_destination(name:, host:, port: 6514, structured_data: {}) | CODE |
| LOW | sdk/ruby/lib/ubicloud/model/postgres.rb | 113 | def delete_metric_destination(md_id) | CODE |
| LOW | sdk/ruby/lib/ubicloud/model/postgres.rb | 246 | def create_client_cert_keypair(common_name:, duration:) | CODE |
| LOW | .github/actions/aws-cleanup-e2e/cleanup.rb | 427 | def deletable_security_groups(*filters) | CODE |
| LOW | model/account.rb | 34 | def create_project_with_default_policy(name, reputation: "new", default_policy: true) | CODE |
| LOW | model/project.rb | 170 | def insert_project_discount_code(discount) | CODE |
| LOW | model/private_subnet.rb | 162 | def incr_destroy_if_only_used_internally(ubid:, vm_ids:) | CODE |
| LOW | model/billing_info.rb | 44 | def start_validate_vat_strand_if_needed(tax_id: stripe_data["tax_id"], country: self.country) | CODE |
| LOW | model/vm_host.rb | 260 | def download_cloud_hypervisor(version_x64: nil, version_arm64: nil, sha256_ch_bin_x64: nil, sha256_ch_bin_arm64: nil, | CODE |
| LOW | model/vm_host.rb | 393 | def check_storage_kernel_logs(ssh_session, devices) | CODE |
| LOW | model/api_key.rb | 53 | def restrict_token_for_project(project_id) | CODE |
| LOW | model/api_key.rb | 57 | def unrestrict_token_for_project(project_id) | CODE |
| LOW | model/api_key.rb | 71 | def unrestricted_project_access_dataset(project_id) | CODE |
| LOW | model/vm.rb | 46 | def unattached_to_load_balancer(project) | CODE |
| LOW | model/vm.rb | 274 | def fire_firewall_rules_update_for_vm_firewall(_firewall) | CODE |
| LOW | model/firewall.rb | 56 | def associate_with_private_subnet(private_subnet, apply_firewalls: true) | CODE |
| LOW | model/firewall.rb | 65 | def disassociate_from_private_subnet(private_subnet, apply_firewalls: true) | CODE |
| 71 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | spec/prog/test/upgrade_postgres_resource_spec.rb | 332 | pgr_test.postgres_resource.servers.first.strand.update(label: "failed") | CODE |
| CRITICAL | …ctoria_metrics/victoria_metrics_resource_nexus_spec.rb | 68 | nx.victoria_metrics_resource.servers.first.strand.update(label: "wait") | CODE |
| CRITICAL | spec/prog/kubernetes/kubernetes_cluster_nexus_spec.rb | 776 | kubernetes_cluster.nodepools.first.nodes.last.update(state: "draining") | CODE |
| CRITICAL | spec/routes/web/auth_spec.rb | 186 | verify_link = Mail::TestMailer.deliveries.first.html_part.body.match(/(\/verify-account.+?)"/)[1] | CODE |
| CRITICAL | spec/routes/web/auth_spec.rb | 236 | verify_link = Mail::TestMailer.deliveries.first.html_part.body.match(/(\/verify-account.+?)"/)[1] | CODE |
| CRITICAL | spec/routes/web/auth_spec.rb | 274 | page.driver.browser.rack_mock_session.cookie_jar.delete("_Clover.session") | CODE |
| CRITICAL | spec/routes/web/auth_spec.rb | 292 | reset_link = Mail::TestMailer.deliveries.first.html_part.body.match(/(\/reset-password.+?)"/)[1] | CODE |
| CRITICAL | spec/routes/web/auth_spec.rb | 401 | page.driver.browser.rack_mock_session.cookie_jar.delete("_Clover.session") | CODE |
| CRITICAL | spec/routes/web/auth_spec.rb | 1048 | verify_link = Mail::TestMailer.deliveries.first.html_part.body.match(/(\/verify-account.+?)"/)[1] | CODE |
| CRITICAL | spec/routes/web/auth_spec.rb | 1090 | reset_link = Mail::TestMailer.deliveries.first.html_part.body.match(/(\/reset-password.+?)"/)[1] | CODE |
| CRITICAL | spec/routes/web/auth_spec.rb | 1768 | verify_link = Mail::TestMailer.deliveries.first.html_part.body.match(/(\/verify-login-change.+?)"/)[1] | CODE |
| CRITICAL | spec/routes/web/auth_spec.rb | 1804 | verify_link = Mail::TestMailer.deliveries.first.html_part.body.match(/(\/verify-login-change.+?)"/)[1] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | spec/ruby_sdk_spec.rb | 135 | account = Account.create(email: "user@example.com", status_id: 2) | CODE |
| LOW | spec/prog/check_usage_alerts_spec.rb | 44 | let(:user_id) { Account.create(email: "user@example.com").id } | CODE |
| LOW | spec/prog/check_usage_alerts_spec.rb | 87 | user_id = Account.create(email: "user@example.com").id | CODE |
| LOW | spec/prog/check_usage_alerts_spec.rb | 105 | user_id = Account.create(email: "user@example.com").id | CODE |
| LOW | spec/prog/check_usage_alerts_spec.rb | 117 | user_id = Account.create(email: "user@example.com").id | CODE |
| LOW | spec/prog/check_usage_alerts_spec.rb | 132 | user_id = Account.create(email: "user@example.com").id | CODE |
| LOW | spec/serializers/account_spec.rb | 6 | let(:account) { Account.create(email: "user@example.com") } | CODE |
| LOW | spec/model/usage_alert_spec.rb | 11 | alert = described_class.create(project_id: Project.create(name: "project1").id, user_id: Account.create(email: "user | CODE |
| LOW | spec/model/page_spec.rb | 93 | expect(Config).to receive(:pagerduty_key).and_return("dummy-key").at_least(:once) | CODE |
| LOW | spec/model/page_spec.rb | 128 | expect(Config).to receive(:incidentio_key).and_return("dummy-key").at_least(:once) | CODE |
| LOW | spec/model/page_spec.rb | 143 | "Authorization" => "Bearer dummy-key", | CODE |
| LOW | spec/model/page_spec.rb | 163 | "Authorization" => "Bearer dummy-key", | CODE |
| LOW | spec/model/page_spec.rb | 180 | "Authorization" => "Bearer dummy-key", | CODE |
| LOW⚡ | spec/model/billing_info_spec.rb | 17 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "John Doe", "address" => | CODE |
| LOW⚡ | spec/model/billing_info_spec.rb | 17 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "John Doe", "address" => | CODE |
| LOW⚡ | spec/model/billing_info_spec.rb | 18 | expect(billing_info.stripe_data["name"]).to eq("John Doe") | CODE |
| LOW⚡ | spec/model/billing_info_spec.rb | 19 | expect(billing_info.stripe_data["address"]).to eq("123 Main St") | CODE |
| LOW | spec/model/minio/minio_server_spec.rb | 104 | minio_client: Minio::Client.new(endpoint: "https://1.2.3.4:9000", access_key: "dummy-key", secret_key: "dummy-secr | CODE |
| LOW | spec/model/minio/minio_server_spec.rb | 127 | minio_client: Minio::Client.new(endpoint: "https://1.2.3.4:9000", access_key: "dummy-key", secret_key: "dummy-secr | CODE |
| LOW | spec/model/postgres/postgres_resource_spec.rb | 1730 | Account.create(email: "user@example.com").add_project(project) | CODE |
| LOW | spec/model/postgres/postgres_resource_spec.rb | 1769 | Account.create(email: "user@example.com").add_project(project) | CODE |
| LOW | spec/model/postgres/postgres_resource_spec.rb | 1800 | account = Account.create(email: "user@example.com") | CODE |
| LOW | spec/model/postgres/postgres_resource_spec.rb | 1819 | ["user@example.com"], | CODE |
| LOW | spec/model/postgres/postgres_resource_spec.rb | 1831 | account = Account.create(email: "user@example.com") | CODE |
| LOW | spec/model/postgres/postgres_resource_spec.rb | 1844 | ["user@example.com"], | CODE |
| LOW | spec/model/postgres/postgres_resource_spec.rb | 1870 | ["user@example.com"], | CODE |
| LOW | spec/model/postgres/postgres_resource_spec.rb | 1929 | account = Account.create(email: "user@example.com") | CODE |
| LOW | spec/model/postgres/postgres_resource_spec.rb | 1964 | ["user@example.com"], | CODE |
| LOW | spec/lib/validation_spec.rb | 316 | "John Doe", | CODE |
| LOW⚡ | spec/lib/invoice_generator_spec.rb | 201 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "ACME Inc.", "metadata | CODE |
| LOW⚡ | spec/lib/invoice_generator_spec.rb | 210 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "ACME Inc.", "metadata | CODE |
| LOW⚡ | spec/lib/invoice_generator_spec.rb | 219 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "ACME Inc.", "metadata | CODE |
| LOW⚡ | spec/lib/invoice_generator_spec.rb | 228 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "ACME Inc.", "metadata | CODE |
| LOW⚡ | spec/lib/invoice_generator_spec.rb | 237 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "ACME Inc.", "metadata | CODE |
| LOW⚡ | spec/lib/invoice_generator_spec.rb | 247 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "ACME Inc.", "metadata | CODE |
| LOW⚡ | spec/lib/invoice_generator_spec.rb | 257 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "ACME Inc.", "metadata | CODE |
| LOW⚡ | spec/lib/invoice_generator_spec.rb | 266 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "ACME Inc.", "metadata | CODE |
| LOW⚡ | spec/lib/invoice_generator_spec.rb | 284 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "ACME Inc.", "metadata | CODE |
| LOW⚡ | spec/lib/invoice_generator_spec.rb | 293 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "ACME Inc.", "metadata | CODE |
| LOW⚡ | spec/lib/invoice_generator_spec.rb | 302 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "ACME Inc.", "metadata | CODE |
| LOW | spec/lib/invoice_generator_spec.rb | 316 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "ACME Inc.", "metadata | CODE |
| LOW | spec/lib/invoice_generator_spec.rb | 326 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "ACME Inc.", "metadata | CODE |
| LOW | spec/lib/invoice_generator_spec.rb | 338 | expect(customers_service).to receive(:retrieve).with("cs_1234567890").and_return({"name" => "ACME Inc.", "metadata | CODE |
| LOW⚡ | spec/lib/util_spec.rb | 51 | described_class.send_email("user@example.com", "Hello", greeting: "Hi", body: "Welcome") | CODE |
| LOW⚡ | spec/lib/util_spec.rb | 57 | described_class.send_email("user@example.com", "Hello", greeting: "Hi", body: "Welcome", author_name: "The Ubiclou | CODE |
| LOW⚡ | spec/lib/util_spec.rb | 63 | described_class.send_email("user@example.com", "Hello", greeting: "Hi", body: "Welcome", reply_to: "support@ubiclo | CODE |
| LOW⚡ | spec/lib/util_spec.rb | 69 | described_class.send_email("user@example.com", "Hello", greeting: "Hi", body: "Welcome") | CODE |
| LOW | spec/lib/log_dna_batcher_spec.rb | 5 | let(:log_dna_batcher) { described_class.new("dummy-key") } | CODE |
| LOW | spec/lib/log_dna_batcher_spec.rb | 56 | log_dna_batcher = described_class.new("dummy-key") | CODE |
| LOW | spec/lib/log_dna_batcher_spec.rb | 68 | let(:log_dna_batcher) { described_class.new("dummy-key", base_url: "https://localhost/logdna/ingest", flush_interval | CODE |
| LOW | spec/lib/log_dna_batcher_spec.rb | 185 | log_dna_batcher = described_class.new("dummy-key", base_url: "https://localhost/logdna/ingest?param=test") | CODE |
| LOW | spec/routes/spec_helper.rb | 9 | TEST_USER_EMAIL = "user@example.com" | CODE |
| LOW | spec/routes/web/oidc_auth_spec.rb | 96 | def generate_id_token(nonce:, iss: "http://www.example.com", aud: "client_id_test", sub: "oidc_sub_123", email: "user@ | CODE |
| LOW | spec/routes/web/oidc_auth_spec.rb | 120 | def stub_userinfo_endpoint(body: {"sub" => "oidc_sub_123", "email" => "user@example.com"}) | CODE |
| LOW | spec/routes/web/oidc_auth_spec.rb | 140 | expect(account.email).to eq("user@example.com") | CODE |
| LOW | spec/routes/web/oidc_auth_spec.rb | 157 | expect(account.email).to eq("user@example.com") | CODE |
| LOW | spec/routes/web/oidc_auth_spec.rb | 233 | stub_userinfo_endpoint(body: {"sub" => "oidc_sub_123", "email" => "user@example.com", "groups" => %w[foo bar].free | CODE |
| LOW | spec/routes/web/oidc_auth_spec.rb | 279 | stub_userinfo_endpoint(body: {"sub" => "oidc_sub_123", "email" => "user@example.com", "myapp:groups" => %w[foo]. | CODE |
| LOW | spec/routes/web/auth_spec.rb | 7 | def mock_provider(provider, email = TEST_USER_EMAIL, name: "John Doe", mock_config: true) | CODE |
| LOW | spec/routes/web/auth_spec.rb | 47 | fill_in "Full Name", with: "John Doe" | CODE |
| 40 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | rhizome/common/lib/util.rb | 119 | # Create the temp at its final mode so content is never written through the | COMMENT |
| MEDIUM | rhizome/postgres/lib/postgres_extensions.rb | 3 | # This file is used to define the upgrade scripts for extensions. | COMMENT |
| MEDIUM | scheduling/allocator.rb | 542 | # This class handles two distinct cases - one when a dedicated slice | COMMENT |
| MEDIUM | scheduling/dispatcher.rb | 124 | # This method is called implicitly with the appropriate partition when | COMMENT |
| MEDIUM | scheduling/dispatcher.rb | 228 | # Create a separate prepared statement for older strands, not tied to | COMMENT |
| MEDIUM | spec/scheduling/allocator_spec.rb | 1560 | # Create a real nic to generate params_json so we can check the slice_name | COMMENT |
| MEDIUM | spec/scheduling/allocator_spec.rb | 1688 | # Create a second host | COMMENT |
| MEDIUM | spec/scheduling/allocator_spec.rb | 1796 | # Create a standard VM in a slice | COMMENT |
| MEDIUM | spec/scheduling/allocator_spec.rb | 1818 | # Create a burstable VM in a slice | COMMENT |
| MEDIUM | spec/scheduling/allocator_spec.rb | 1841 | # Create a second burstable VM in a slice. It should go to the same slice | COMMENT |
| MEDIUM | spec/prog/vnet/nic_nexus_spec.rb | 239 | # Create a NIC that occupies an IP | COMMENT |
| MEDIUM | spec/prog/github/github_runner_nexus_spec.rb | 444 | # Create a record | COMMENT |
| MEDIUM | spec/model/postgres/postgres_resource_spec.rb | 577 | # Create a server that doesn't need recycling (matches target_vm_size, target_storage_size_gib, target_version) | COMMENT |
| MEDIUM | spec/model/postgres/postgres_resource_spec.rb | 819 | # Create a server that doesn't need recycling and has strand.label == "wait" | COMMENT |
| MEDIUM | spec/routes/web/admin/admin_spec.rb | 2365 | # Create a new quota | COMMENT |
| MEDIUM | prog/vnet/metal/update_firewall_rules.rb | 204 | # This method is needed to properly consolidate port_ranges + cidrs. | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud.rb | 39 | # Create a new Ubicloud::Context for the given adapter type | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud/model.rb | 22 | # Create a new model object in Ubicloud with the given location, name, and params. | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud/model.rb | 42 | # Create a new model instance, which should represent an object that already exists | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud/adapter/rack.rb | 20 | # Create a new rack request enviroment hash for the internal | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud/model/machine_image.rb | 22 | # Create a new version of this machine image by capturing a stopped VM. | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud/model/machine_image_version.rb | 9 | # Create a new instance from a hash returned by the Ubicloud API. | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud/model/inference_api_key.rb | 15 | # Create a new inference api key | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud/model/inference_api_key.rb | 20 | # Create a new InferenceApiKey instance. +values+ can be: | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud/model/github_repository.rb | 13 | # Create a new GithubRepository instance. +values+ must be a hash with | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud/model/postgres.rb | 156 | # Create a read replica of this database, with the given name. | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud/model/postgres.rb | 244 | # Create a client certificate keypair with the given common name, expiring after duration seconds. | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud/model/github_cache_entry.rb | 13 | # Create a new GithubCacheEntry instance. +values+ must be a hash with | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud/model/github_installation.rb | 15 | # Create a new GithubInstallation instance. +values+ can be: | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud/model/ssh_public_key.rb | 16 | # Create a new SSH public key with the given parameters. | COMMENT |
| MEDIUM | sdk/ruby/lib/ubicloud/model/ssh_public_key.rb | 21 | # Create a new SSHPublicKey instance. +values+ can be: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rhizome/host/lib/spdk_rpc.rb | 175 | # Check if we can return a specific subclass. | COMMENT |
| LOW | rhizome/postgres/lib/postgres_setup.rb | 26 | # Check if the packages exist in the cache, if so, install them. | COMMENT |
| LOW | spec/prog/test/ha_postgres_resource_spec.rb | 263 | # Set servers to "wait" state | COMMENT |
| LOW | spec/model/postgres/postgres_resource_spec.rb | 597 | # Set target_version to trigger upgrade path (version < target_version) | COMMENT |
| LOW | spec/routes/web/admin/admin_spec.rb | 2381 | # Set quota to zero | COMMENT |
| LOW | prog/page_nexus.rb | 43 | # Check if the new page is related to an existing recent active page that did not suppress | COMMENT |
| LOW | prog/test/upgrade_postgres_resource.rb | 185 | # Check if all servers have been upgraded | COMMENT |
| LOW | prog/postgres/postgres_server_nexus.rb | 1056 | # Check if log file was modified recently and last 50 lines contain recovery messages. | COMMENT |
| LOW | model/postgres/postgres_timeline.rb | 91 | # Check if we have cached earliest backup time, if not, calculate it. | COMMENT |
| LOW | lib/hosting/hetzner_apis.rb | 132 | # Check if it is IPv6 or not by the existence of colon in the IP address | COMMENT |
| LOW | routes/project/discount_code.rb | 13 | # Check if the discount code exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | rhizome/postgres/lib/postgres_lockout.rb | 16 | # ================================================================ | COMMENT |
| MEDIUM | rhizome/postgres/lib/pg_bouncer_setup.rb | 86 | # ============================ | COMMENT |
| MEDIUM | .github/actions/gcp-cleanup-e2e/cleanup.rb | 241 | # --------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | spec/spec_helper.rb | 134 | # with RSpec, but feel free to customize to your heart's content. | COMMENT |
| LOW | model/project.rb | 194 | # Don't forget to clean up billing info and payment methods. | COMMENT |
| MEDIUM | lib/validation.rb | 147 | fail ValidationFailed.new({boot_image: "\"#{image_name}\" is not a valid boot image name. Available boot image nam | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .herb.yml | 5 | # - Linter: Validates templates and enforces best practices | COMMENT |
| LOW | rhizome/host/lib/storage_volume.rb | 402 | # key, and auth_data is key name, so just pass the base64-encoded | COMMENT |
| LOW | spec/routes/web/kubernetes_cluster_spec.rb | 32 | # These are just set for passing the creation validations | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | model/postgres/postgres_resource.rb | 729 | "Auto-scaling for your PostgreSQL database '#{name}' (#{ubid}) has been canceled as requested.", | CODE |