From 913ca59f8c1e04108bbaa1aa23ed79a8a0702ae6 Mon Sep 17 00:00:00 2001 From: jingrow Date: Tue, 23 Dec 2025 19:23:49 +0800 Subject: [PATCH] update doc - pg --- backbone/packer/scripts/cleanup.sh | 8 +- dashboard/src/App.vue | 2 +- .../src/components/AccessRequestButton.vue | 10 +- .../src/components/AccessRequestDialog.vue | 2 +- dashboard/src/components/AddTagDialog.vue | 6 +- dashboard/src/components/AddressForm.vue | 2 +- .../src/components/AddressableErrorDialog.vue | 26 +- dashboard/src/components/AppSidebar.vue | 6 +- .../src/components/BuyPrepaidCreditsForm.vue | 16 +- .../components/BuyPrepaidCreditsRazorpay.vue | 6 +- .../components/BuyPrepaidCreditsStripe.vue | 4 +- .../components/CommunicationInfoDialog.vue | 4 +- dashboard/src/components/CustomAlerts.vue | 2 +- dashboard/src/components/HomeSummary.vue | 8 +- dashboard/src/components/InvoiceTable.vue | 46 +-- .../src/components/ManageSitePlansDialog.vue | 36 +-- .../src/components/MarketplaceAppListing.vue | 18 +- dashboard/src/components/MobileNav.vue | 2 +- dashboard/src/components/NavigationItems.vue | 28 +- dashboard/src/components/Onboarding.vue | 22 +- dashboard/src/components/PayoutTable.vue | 12 +- dashboard/src/components/PlansCards.vue | 2 +- dashboard/src/components/SiteActionCell.vue | 16 +- dashboard/src/components/SiteActions.vue | 6 +- .../components/SiteDatabaseAccessDialog.vue | 4 +- dashboard/src/components/SiteOverview.vue | 74 ++--- dashboard/src/components/SiteUpdateDialog.vue | 20 +- .../src/components/SupportAccessDialog.vue | 34 +- dashboard/src/components/SwitchTeamDialog.vue | 16 +- dashboard/src/components/TabsWithRouter.vue | 2 +- .../src/components/auth/Configure2FA.vue | 2 +- .../src/components/billing/BillingDetails.vue | 4 +- .../src/components/billing/BillingSummary.vue | 10 +- .../components/billing/BudgetAlertDialog.vue | 12 +- .../components/billing/BuyCreditsRazorpay.vue | 10 +- .../components/billing/BuyCreditsStripe.vue | 2 +- dashboard/src/components/billing/CardForm.vue | 12 +- .../src/components/billing/NewAddressForm.vue | 2 +- .../src/components/billing/PaymentDetails.vue | 50 +-- .../components/billing/PrepaidCreditsForm.vue | 34 +- .../billing/mpesa/BuyPrepaidCreditsMpesa.vue | 4 +- .../BinlogBrowserIndexStatusDialog.vue | 4 +- .../database/DatabaseAddIndexButton.vue | 2 +- .../database/DatabaseProcessKillButton.vue | 2 +- .../devtools/database/SQLCodeEditor.vue | 2 +- .../group/ReleaseGroupActionCell.vue | 6 +- .../components/group/ReleaseGroupActions.vue | 6 +- .../components/group/SSHCertificateDialog.vue | 18 +- .../group/UpdateReleaseGroupDialog.vue | 36 +-- .../marketplace/AppListingStepsDialog.vue | 4 +- .../src/components/marketplace/CodeReview.vue | 22 +- .../marketplace/MarketplaceAppAnalytics.vue | 2 +- .../marketplace/NewMarketplaceAppDialog.vue | 2 +- .../marketplace/ReplyMarketplaceApp.vue | 4 +- .../partners/BuyPartnerCreditsRazorpay.vue | 4 +- .../src/components/partners/InvoiceDetail.vue | 2 +- .../partners/PartnerApprovalRequests.vue | 2 +- .../partners/PartnerCertificates.vue | 4 +- .../partners/PartnerCreditsForm.vue | 22 +- .../components/partners/PartnerCustomers.vue | 4 +- .../components/partners/PartnerDashboard.vue | 10 +- .../partners/PartnerLeadOverview.vue | 4 +- .../src/components/partners/PartnerLeads.vue | 2 +- .../partners/PartnerLocalPaymentSetup.vue | 2 +- .../components/partners/PartnerOverview.vue | 28 +- .../src/components/partners/PartnerPayout.vue | 2 +- .../partners/PartnerWebsiteDetails.vue | 2 +- .../src/components/server/AutoScaleSteps.vue | 6 +- .../src/components/server/CleanupDialog.vue | 2 +- .../server/DatabaseBinlogsDialog.vue | 4 +- .../server/DatabaseConfigurationDialog.vue | 2 +- .../server/SecondaryServerPlanDialog.vue | 12 +- .../components/server/ServerActionCell.vue | 56 ++-- .../src/components/server/ServerActions.vue | 14 +- .../src/components/server/ServerCharts.vue | 6 +- .../server/ServerNewSnapshotDialog.vue | 8 +- .../src/components/server/ServerOverview.vue | 96 +++--- .../components/server/ServerPlansDialog.vue | 14 +- .../server/ServerSnapshotDetailsDialog.vue | 2 +- .../ServerSnapshotRecoverSitesDialog.vue | 2 +- .../server/ServerSnapshotRecoveryDetails.vue | 2 +- .../server/StorageBreakdownDialog.vue | 4 +- .../settings/ActivateWebhookDialog.vue | 4 +- .../components/settings/DeveloperSettings.vue | 18 +- .../components/settings/EditWebhookDialog.vue | 6 +- dashboard/src/components/settings/Role.vue | 32 +- .../settings/RoleConfigureDialog.vue | 6 +- .../src/components/settings/RoleList.vue | 2 +- .../src/components/settings/TeamSettings.vue | 4 +- .../settings/TeamSettingsDialog.vue | 6 +- dashboard/src/components/settings/data.ts | 8 +- .../settings/profile/AccountPartner.vue | 10 +- .../settings/profile/AccountProfile.vue | 22 +- .../settings/profile/AccountReferral.vue | 8 +- .../components/settings/profile/TFADialog.vue | 2 +- .../profile/TFARecoveryCodesDialog.vue | 4 +- .../site/ConfigureAutoUpdateDialog.vue | 2 +- .../src/components/site/InstallAppDialog.vue | 4 +- .../src/components/site/SiteAnalytics.vue | 4 +- .../site/SiteAppPlanSelectorDialog.vue | 2 +- .../site/SiteChangeRegionDialog.vue | 2 +- .../site/SiteChangeServerDialog.vue | 4 +- .../site/SiteEnableMonitoringDialog.vue | 4 +- .../components/site/SiteScheduleBackup.vue | 12 +- .../site/SiteVersionUpgradeDialog.vue | 40 +-- .../components/site/UninstallAppDialog.vue | 6 +- .../site/performance/PerformanceReport.vue | 2 +- .../site/performance/SiteDatabaseProcess.vue | 2 +- .../SiteDatabaseAddEditUserDialog.vue | 14 +- .../SiteDatabaseUserCredentialDialog.vue | 2 +- .../SiteDatabaseUserLogs.vue | 2 +- dashboard/src/dialogs/TagsDialog.vue | 6 +- dashboard/src/main.js | 2 +- dashboard/src/objects/accessRequests.js | 2 +- dashboard/src/objects/bench.ts | 24 +- dashboard/src/objects/common/apps.ts | 10 +- dashboard/src/objects/common/index.ts | 8 +- dashboard/src/objects/common/jobs.ts | 4 +- dashboard/src/objects/common/patches.ts | 6 +- dashboard/src/objects/common/tags.js | 2 +- dashboard/src/objects/common/types.ts | 2 +- dashboard/src/objects/group.js | 72 ++--- dashboard/src/objects/marketplace.js | 40 +-- dashboard/src/objects/server.js | 88 ++--- dashboard/src/objects/site.js | 142 ++++---- dashboard/src/objects/tabs/site/logs.ts | 4 +- dashboard/src/pages/Billing.vue | 2 +- dashboard/src/pages/BillingForecast.vue | 2 +- dashboard/src/pages/BillingInvoices.vue | 2 +- .../src/pages/BillingMarketplacePayouts.vue | 2 +- dashboard/src/pages/BillingOverview.vue | 2 +- dashboard/src/pages/BillingPaymentMethods.vue | 2 +- .../src/pages/CreateSiteForMarketplaceApp.vue | 24 +- dashboard/src/pages/DeployCandidate.vue | 16 +- dashboard/src/pages/DetailPage.vue | 28 +- dashboard/src/pages/Enable2FA.vue | 2 +- dashboard/src/pages/EnableBenchGroups.vue | 6 +- dashboard/src/pages/EnableServers.vue | 6 +- dashboard/src/pages/Home.vue | 6 +- dashboard/src/pages/InstallApp.vue | 20 +- dashboard/src/pages/JobPage.vue | 12 +- dashboard/src/pages/ListPage.vue | 36 +-- dashboard/src/pages/NewReleaseGroup.vue | 2 +- dashboard/src/pages/NewServer.vue | 20 +- dashboard/src/pages/NewSite.vue | 16 +- dashboard/src/pages/PartnerAdmin.vue | 2 +- dashboard/src/pages/PartnerLeadDetails.vue | 2 +- dashboard/src/pages/PartnerNewPayout.vue | 2 +- dashboard/src/pages/Partners.vue | 42 +-- dashboard/src/pages/PlayPage.vue | 8 +- .../src/pages/ReleaseGroupBenchSites.vue | 14 +- dashboard/src/pages/Settings.vue | 4 +- dashboard/src/pages/SiteLogin.vue | 2 +- dashboard/src/pages/SiteUpdate.vue | 6 +- dashboard/src/pages/Welcome.vue | 6 +- .../pages/devtools/database/BinlogBrowser.vue | 8 +- .../devtools/database/DatabaseAnalyzer.vue | 10 +- .../database/DatabaseSQLPlayground.vue | 4 +- .../pages/devtools/log-browser/LogBrowser.vue | 2 +- dashboard/src/pages/signup/AppSelector.vue | 10 +- dashboard/src/pages/signup/LoginToSite.vue | 32 +- dashboard/src/pages/signup/SetupSite.vue | 6 +- dashboard/src/router.js | 18 +- dashboard/src/utils/agentJob.js | 4 +- dashboard/src/utils/format.js | 8 +- dashboard/src/utils/resource.js | 6 +- .../tests-e2e/tests/cron/signup.cron.spec.ts | 2 +- docs/General Guide/Debugging Issues.MD | 4 +- docs/General Guide/DevOps Manual.MD | 8 +- .../Marketplace Review Process.MD | 2 +- docs/General Guide/Operational Manual.MD | 6 +- docs/How to ?/Build a Bench.MD | 8 +- docs/Introduction/Local Setup Using Cloud.MD | 4 +- guide-to-testing.md | 4 +- libs/fc_cli/fc/commands/deploy.py | 4 +- libs/fc_cli/fc/commands/server.py | 4 +- libs/fc_cli/fc/commands/sites.py | 6 +- press/agent.py | 50 +-- press/api/account.py | 238 +++++++------- press/api/analytics.py | 26 +- press/api/app.py | 8 +- press/api/bench.py | 82 ++--- press/api/billing.py | 90 +++--- press/api/callbacks.py | 2 +- press/api/central.py | 16 +- press/api/client.py | 70 ++-- press/api/cookies.py | 2 +- press/api/dashboard.py | 18 +- press/api/developer/marketplace.py | 54 ++-- press/api/developer/saas.py | 30 +- press/api/email.py | 16 +- press/api/github.py | 8 +- press/api/google.py | 2 +- press/api/log_browser.py | 10 +- press/api/marketplace.py | 170 +++++----- press/api/monitoring.py | 4 +- press/api/oauth.py | 4 +- press/api/partner.py | 140 ++++---- press/api/product_trial.py | 10 +- press/api/regional_payments/mpesa/utils.py | 50 +-- press/api/saas.py | 28 +- press/api/security.py | 2 +- press/api/selfhosted.py | 48 +-- press/api/server.py | 62 ++-- press/api/site.py | 168 +++++----- press/api/site_backup.py | 2 +- press/api/site_login.py | 8 +- press/api/spaces.py | 12 +- press/api/tests/test_bench.py | 28 +- press/api/tests/test_marketplace.py | 6 +- press/api/tests/test_server.py | 50 +-- press/api/tests/test_site.py | 32 +- press/api/webhook.py | 38 +-- press/auth.py | 2 +- press/bootstrap.py | 32 +- press/docker/Dockerfile | 34 +- press/docker/Dockerfile_Bench_5_2_1 | 4 +- press/docker/config/redis-cache.conf | 4 +- press/docker/config/redis-queue.conf | 2 +- press/docker/config/supervisor.conf | 28 +- .../doctype/referral_bonus/referral_bonus.js | 4 +- .../doctype/referral_bonus/referral_bonus.py | 4 +- press/fixtures/mariadb_variable.json | 90 +++--- press/fixtures/press_job_type.json | 196 +++++------ press/fixtures/print_format.json | 4 +- press/guards/role_guard/__init__.py | 6 +- press/guards/role_guard/document.py | 4 +- press/guards/team_guard.py | 4 +- press/hooks.py | 8 +- .../doctype/action_step/action_step.py | 6 +- .../incident_investigator.js | 2 +- .../incident_investigator.py | 20 +- .../test_incident_investigator.py | 48 +-- .../arm_build_record/arm_build_record.py | 10 +- .../arm_build_record/test_arm_build_record.py | 4 +- .../ssh_access_audit/ssh_access_audit.js | 2 +- .../ssh_access_audit/ssh_access_audit.json | 2 +- .../ssh_access_audit/ssh_access_audit.py | 6 +- .../virtual_disk_resize.js | 6 +- .../virtual_disk_resize.py | 8 +- .../virtual_machine_migration.js | 8 +- .../virtual_machine_migration.py | 20 +- .../virtual_machine_migration_bind_mount.json | 4 +- .../virtual_machine_replacement.js | 8 +- .../virtual_machine_replacement.py | 14 +- press/install.py | 4 +- .../marketplace_app_feedback.py | 2 +- .../marketplace_app_plan.py | 4 +- .../test_marketplace_app_plan.py | 2 +- .../marketplace_app_subscription.js | 2 +- .../marketplace_app_subscription.py | 10 +- .../test_marketplace_app_subscription.py | 2 +- .../marketplace_publisher_profile.json | 18 +- press/overrides.py | 12 +- .../partner_approval_request.py | 4 +- .../doctype/partner_lead/partner_lead.json | 10 +- press/patches.txt | 14 +- .../add_domains_in_site_config_preview.py | 2 +- .../v0_0_1/add_domains_to_site_config.py | 4 +- .../add_site_index_to_site_migration.py | 2 +- ...eakdown_site_usage_into_multiple_fields.py | 14 +- ...erence_from_deploy_candidate_difference.py | 12 +- .../v0_0_1/create_app_source_from_app.py | 30 +- .../v0_0_1/create_balance_transactions.py | 6 +- ...create_balance_transactions_from_stripe.py | 18 +- .../v0_0_1/create_certificate_authorities.py | 2 +- .../create_child_table_records_in_teams.py | 4 +- .../patches/v0_0_1/create_default_cluster.py | 6 +- .../v0_0_1/create_invoice_for_past_ples.py | 8 +- .../create_root_domain_from_press_settings.py | 6 +- .../v0_0_1/create_site_plan_change_log.py | 4 +- .../v0_0_1/create_site_subscriptions.py | 6 +- .../v0_0_1/enable_partner_privileges.py | 2 +- ...ake_apps_in_public_release_group_public.py | 2 +- .../v0_0_1/make_default_site_domain.py | 6 +- ...app_releases_as_approved_and_deployable.py | 2 +- press/patches/v0_0_1/new_onboarding.py | 28 +- press/patches/v0_0_1/patch_invoice.py | 4 +- press/patches/v0_0_1/ple_to_usage_record.py | 2 +- ...remove_domains_linked_to_archived_sites.py | 2 +- .../v0_0_1/remove_obsolete_doctypes.py | 2 +- press/patches/v0_0_1/rename_archived_sites.py | 2 +- ...ate_app_release_to_deploy_candidate_app.py | 2 +- .../v0_0_1/rename_frappe_app_to_app.py | 2 +- .../rename_installed_app_to_bench_app.py | 2 +- ...e_group_frappe_app_to_release_group_app.py | 2 +- press/patches/v0_0_1/rename_release_groups.py | 10 +- .../v0_0_1/rename_site_backup_fields.py | 2 +- ...rename_transaction_currency_to_currency.py | 2 +- .../v0_0_1/set_app_title_from_custom_field.py | 2 +- .../v0_0_1/set_billing_name_for_teams.py | 4 +- .../v0_0_1/set_cluster_in_press_settings.py | 6 +- .../set_dependencies_in_release_group.py | 6 +- .../v0_0_1/set_document_type_in_plan.py | 2 +- press/patches/v0_0_1/set_domain_in_site.py | 2 +- .../set_host_name_for_sites_with_domains.py | 2 +- .../patches/v0_0_1/set_hostname_in_server.py | 2 +- ...set_marketplace_app_app_field_from_name.py | 2 +- .../set_monitoring_password_in_cluster.py | 4 +- ..._app_release_based_on_app_source_public.py | 2 +- .../set_rate_limit_config_based_on_plan.py | 4 +- ...oup_version_and_title_from_custom_field.py | 2 +- .../v0_0_1/set_remote_file_location.py | 2 +- .../set_team_field_for_permission_checks.py | 2 +- ...in_tls_certificate_based_on_domain_team.py | 4 +- .../v0_0_1/site_history_to_site_activity.py | 2 +- .../v0_0_1/site_usage_convert_history.py | 2 +- .../track_offsite_backups_via_remote_files.py | 10 +- ..._proxy_for_suspended_and_inactive_sites.py | 2 +- .../patches/v0_0_1/update_site_config_doc.py | 6 +- .../v0_0_1/use_private_ip_for_upstreams.py | 4 +- press/patches/v0_0_1/user_account_to_team.py | 14 +- ...d_site_backup_times_for_configured_ones.py | 4 +- ...ds_from_plans_to_server_and_marketplace.py | 42 +-- ...db_access_users_to_site_db_perm_manager.py | 4 +- .../v0_7_0/rename_plan_to_site_plan.py | 2 +- .../v0_7_0/set_hostname_abbreviation.py | 8 +- press/playbooks/fetch_frappe_public_key.yml | 2 +- press/press/audit.py | 4 +- press/press/cleanup.py | 2 +- .../account_request/account_request.json | 2 +- .../account_request/account_request.py | 2 +- .../account_request/test_account_request.py | 6 +- .../add_on_settings/add_on_settings.py | 8 +- .../add_on_storage_log/add_on_storage_log.py | 8 +- press/press/doctype/agent_job/agent_job.js | 14 +- press/press/doctype/agent_job/agent_job.json | 4 +- press/press/doctype/agent_job/agent_job.py | 46 +-- .../agent_job/agent_job_notifications.py | 8 +- .../press/doctype/agent_job/test_agent_job.py | 52 +-- .../agent_request_failure.py | 2 +- .../doctype/agent_update/agent_update.js | 12 +- .../doctype/agent_update/agent_update.json | 26 +- .../doctype/agent_update/agent_update.py | 24 +- .../agent_update_server.json | 2 +- .../alertmanager_webhook_log.py | 18 +- .../test_alertmanager_webhook_log.py | 2 +- .../analytics_server/analytics_server.js | 14 +- .../analytics_server/analytics_server.json | 12 +- .../analytics_server/analytics_server.py | 4 +- .../ansible_console/ansible_console.js | 2 +- .../ansible_console/ansible_console.py | 12 +- .../ansible_console/test_ansible_console.py | 4 +- .../ansible_console_log.js | 4 +- .../doctype/ansible_play/ansible_play.js | 2 +- .../doctype/ansible_play/ansible_play.py | 6 +- .../doctype/ansible_play/test_ansible_play.py | 2 +- .../doctype/ansible_task/test_ansible_task.py | 2 +- press/press/doctype/app/app.py | 8 +- press/press/doctype/app/test_app.py | 2 +- press/press/doctype/app_patch/app_patch.js | 6 +- press/press/doctype/app_patch/app_patch.json | 2 +- press/press/doctype/app_patch/app_patch.py | 6 +- .../press/doctype/app_release/app_release.js | 6 +- .../doctype/app_release/app_release.json | 4 +- .../press/doctype/app_release/app_release.py | 30 +- .../doctype/app_release/test_app_release.py | 2 +- .../app_release_approval_request.js | 8 +- .../app_release_approval_request.json | 4 +- .../app_release_approval_request.py | 20 +- .../app_release_difference.py | 2 +- .../press/doctype/app_source/app_source.json | 2 +- press/press/doctype/app_source/app_source.py | 8 +- .../doctype/app_source/test_app_source.py | 2 +- .../auto_scale_record/auto_scale_record.js | 2 +- .../auto_scale_record/auto_scale_record.py | 46 +-- .../test_auto_scale_record.py | 8 +- .../aws_savings_plan_recommendation.py | 4 +- .../backup_restoration_test/backup_test.py | 8 +- .../balance_transaction.json | 4 +- .../balance_transaction.py | 6 +- press/press/doctype/bench/bench.js | 18 +- press/press/doctype/bench/bench.json | 12 +- press/press/doctype/bench/bench.py | 60 ++-- press/press/doctype/bench/test_bench.py | 24 +- .../bench_get_app_cache.py | 6 +- .../doctype/bench_shell/bench_shell.json | 10 +- .../press/doctype/bench_shell/bench_shell.py | 6 +- .../bench_shell_log/bench_shell_log.json | 6 +- .../bench_shell_log/bench_shell_log.py | 10 +- .../doctype/bench_update/bench_update.json | 4 +- .../doctype/bench_update/bench_update.py | 12 +- .../build_cache_shell/build_cache_shell.json | 6 +- .../build_cache_shell/build_cache_shell.py | 4 +- .../doctype/build_metric/build_metric.py | 2 +- .../certificate_authority.json | 6 +- .../certificate_authority.py | 8 +- .../certificate_authority/intermediate.conf | 18 +- .../doctype/certificate_authority/root.conf | 18 +- press/press/doctype/cluster/cluster.js | 18 +- press/press/doctype/cluster/cluster.json | 32 +- press/press/doctype/cluster/cluster.py | 14 +- press/press/doctype/cluster/test_cluster.py | 14 +- .../doctype/cluster_plan/cluster_plan.py | 4 +- .../press/doctype/code_server/code_server.py | 6 +- .../communication_info/communication_info.py | 4 +- .../dashboard_banner/dashboard_banner.json | 32 +- .../database_server/database_server.js | 106 +++--- .../database_server/database_server.json | 24 +- .../database_server/database_server.py | 142 ++++---- .../database_server/test_database_server.py | 26 +- .../database_server_mariadb_variable.py | 2 +- .../patches/add_unique_constraint.py | 4 +- .../test_database_server_mariadb_variable.py | 58 ++-- press/press/doctype/deploy/deploy.js | 2 +- press/press/doctype/deploy/deploy.py | 12 +- .../deploy_candidate/deploy_candidate.js | 6 +- .../deploy_candidate/deploy_candidate.py | 22 +- .../deploy_candidate/deploy_notifications.py | 14 +- .../deploy_candidate/test_deploy_candidate.py | 72 ++--- press/press/doctype/deploy_candidate/utils.py | 2 +- .../doctype/deploy_candidate/validations.py | 2 +- .../patches/set_app_name_to_app.py | 2 +- .../deploy_candidate_build.js | 24 +- .../deploy_candidate_build.py | 64 ++-- .../patches/migrate_to_separate_build.py | 2 +- .../test_deploy_candidate_build.py | 16 +- .../deploy_candidate_difference.js | 4 +- .../deploy_candidate_difference.py | 8 +- .../disk_performance/disk_performance.py | 10 +- .../downtime_analysis/downtime_analysis.js | 12 +- .../downtime_analysis/downtime_analysis.json | 6 +- .../downtime_analysis/downtime_analysis.py | 2 +- press/press/doctype/drip_email/drip_email.js | 8 +- .../press/doctype/drip_email/drip_email.json | 8 +- press/press/doctype/drip_email/drip_email.py | 16 +- .../doctype/drip_email/test_drip_email.py | 2 +- .../erpnext_consultant/erpnext_consultant.py | 2 +- .../erpnext_site_settings.js | 2 +- .../erpnext_site_settings.py | 2 +- .../frappe_version/test_frappe_version.py | 2 +- .../github_webhook_log/github_webhook_log.py | 32 +- press/press/doctype/incident/incident.json | 2 +- press/press/doctype/incident/incident.py | 28 +- .../incident/templates/incident_row.html | 2 +- press/press/doctype/incident/test_incident.py | 48 +-- .../inspect_trace_id/inspect_trace_id.js | 2 +- press/press/doctype/invoice/invoice.js | 36 +-- press/press/doctype/invoice/invoice.json | 6 +- press/press/doctype/invoice/invoice.py | 56 ++-- press/press/doctype/invoice/invoice_list.js | 4 +- .../doctype/invoice/mark_as_uncollectible.py | 2 +- .../invoice/patches/set_free_credits.py | 4 +- .../patches/set_transaction_details.py | 4 +- .../doctype/invoice/stripe_webhook_handler.py | 10 +- press/press/doctype/invoice/test_invoice.py | 66 ++-- .../press/doctype/log_counter/log_counter.py | 2 +- press/press/doctype/log_server/log_server.js | 16 +- .../press/doctype/log_server/log_server.json | 12 +- press/press/doctype/log_server/log_server.py | 4 +- .../logical_replication_backup.js | 6 +- .../logical_replication_backup.json | 2 +- .../logical_replication_backup.py | 116 +++---- .../doctype/malware_scan/malware_scan.js | 2 +- .../doctype/malware_scan/malware_scan.py | 8 +- .../managed_database_service.js | 2 +- .../doctype/mariadb_binlog/mariadb_binlog.js | 2 +- .../mariadb_binlog/mariadb_binlog.json | 2 +- .../doctype/mariadb_binlog/mariadb_binlog.py | 8 +- .../doctype/mariadb_stalk/mariadb_stalk.py | 16 +- .../mariadb_variable/mariadb_variable.js | 2 +- .../mariadb_variable/mariadb_variable.json | 8 +- .../mariadb_variable/mariadb_variable.py | 4 +- .../mariadb_variable/test_mariadb_variable.py | 8 +- press/press/doctype/marketplace_app/events.py | 20 +- .../marketplace_app/marketplace_app.js | 2 +- .../marketplace_app/marketplace_app.py | 58 ++-- .../patches/convert_images_to_webp.py | 6 +- .../templates/marketplace_app_row.html | 2 +- .../marketplace_app/test_marketplace_app.py | 2 +- .../doctype/monitor_server/monitor_server.js | 18 +- .../monitor_server/monitor_server.json | 12 +- .../doctype/monitor_server/monitor_server.py | 16 +- .../patches/add_unique_constraint.py | 4 +- .../press/doctype/mpesa_setup/mpesa_setup.js | 10 +- press/press/doctype/nfs_server/nfs_server.js | 6 +- .../press/doctype/nfs_server/nfs_server.json | 12 +- press/press/doctype/nfs_server/nfs_server.py | 6 +- .../nfs_volume_attachment.js | 2 +- .../nfs_volume_attachment.py | 22 +- .../nfs_volume_detachment.js | 2 +- .../nfs_volume_detachment.py | 22 +- .../partner_payment_payout.js | 12 +- .../partner_payment_payout.py | 2 +- .../doctype/payout_order/payout_order.py | 16 +- .../doctype/payout_order/test_payout_order.py | 6 +- .../physical_backup_group.py | 8 +- .../physical_backup_group_site.py | 14 +- .../physical_backup_restoration.js | 8 +- .../physical_backup_restoration.json | 2 +- .../physical_backup_restoration.py | 46 +-- .../physical_restoration_test.py | 8 +- .../press/doctype/plan_change/plan_change.py | 4 +- press/press/doctype/press_job/press_job.js | 10 +- press/press/doctype/press_job/press_job.py | 12 +- .../doctype/press_job_step/press_job_step.py | 4 +- ...link_reference_doctype_to_notifications.py | 10 +- .../press_notification.json | 10 +- .../press_notification/press_notification.py | 12 +- .../test_press_notification.py | 2 +- .../press_permission_group.py | 46 +-- .../test_press_permission_group.py | 26 +- .../press_role/patches/migrate_permissions.py | 4 +- .../press_role/patches/to_resources.py | 2 +- press/press/doctype/press_role/press_role.py | 8 +- .../doctype/press_role/test_press_role.py | 32 +- .../doctype/press_settings/press_settings.js | 2 +- .../press_settings/press_settings.json | 8 +- .../press_settings/test_press_settings.py | 6 +- .../press/doctype/press_tag/test_press_tag.py | 6 +- .../press_user_permission.json | 12 +- .../press_user_permission.py | 8 +- .../test_press_user_permission.py | 8 +- .../doctype/press_webhook/press_webhook.js | 2 +- .../doctype/press_webhook/press_webhook.json | 2 +- .../doctype/press_webhook/press_webhook.py | 10 +- .../press_webhook_attempt.py | 4 +- .../press_webhook_log/press_webhook_log.py | 4 +- .../process_snapshot/process_snapshot.py | 2 +- .../prometheus_alert_rule.py | 14 +- .../test_prometheus_alert_rule.py | 2 +- .../doctype/proxy_failover/proxy_failover.js | 2 +- .../doctype/proxy_failover/proxy_failover.py | 18 +- .../generate_proxysql_monitor_password.py | 4 +- .../doctype/proxy_server/proxy_server.js | 50 +-- .../doctype/proxy_server/proxy_server.json | 22 +- .../doctype/proxy_server/proxy_server.py | 38 +-- .../doctype/proxy_server/test_proxy_server.py | 12 +- .../razorpay_payment_record.js | 2 +- .../razorpay_payment_record.py | 12 +- .../razorpay_webhook_log.py | 4 +- .../registry_server/registry_server.js | 16 +- .../registry_server/registry_server.json | 12 +- .../registry_server/registry_server.py | 12 +- .../set_bench_dependency_in_release_group.py | 2 +- .../patches/sync_common_site_config.py | 2 +- .../doctype/release_group/release_group.js | 2 +- .../doctype/release_group/release_group.json | 2 +- .../doctype/release_group/release_group.py | 94 +++--- .../release_group/test_release_group.py | 20 +- .../release_group_dependency.json | 2 +- .../press/doctype/remote_file/remote_file.py | 2 +- .../doctype/remote_file/test_remote_file.py | 4 +- .../press/doctype/resource_tag/tag_helpers.py | 6 +- .../press/doctype/root_domain/root_domain.js | 4 +- .../doctype/root_domain/root_domain.json | 4 +- .../press/doctype/root_domain/root_domain.py | 8 +- .../doctype/root_domain/test_root_domain.py | 4 +- .../security_update/security_update.py | 2 +- .../security_update_check.py | 4 +- .../self_hosted_server/self_hosted_server.js | 24 +- .../self_hosted_server.json | 26 +- .../self_hosted_server/self_hosted_server.py | 56 ++-- .../test_self_hosted_server.py | 10 +- .../serial_console_log/serial_console_log.js | 2 +- .../serial_console_log/serial_console_log.py | 12 +- .../patches/set_plan_and_subscription.py | 2 +- ...ench_memory_limits_on_dedicated_servers.py | 2 +- press/press/doctype/server/server.js | 110 +++---- press/press/doctype/server/server.json | 28 +- press/press/doctype/server/server.py | 306 +++++++++--------- press/press/doctype/server/test_server.py | 30 +- .../server_activity/server_activity.py | 2 +- .../doctype/server_mount/server_mount.json | 6 +- .../press/doctype/server_plan/server_plan.py | 12 +- .../doctype/server_plan/test_server_plan.py | 4 +- .../server_snapshot/server_snapshot.js | 16 +- .../server_snapshot/server_snapshot.json | 2 +- .../server_snapshot/server_snapshot.py | 74 ++--- .../server_snapshot_recovery.js | 8 +- .../server_snapshot_recovery.py | 40 +-- ...iption_for_servers_with_additional_disk.py | 4 +- .../doctype/silenced_alert/silenced_alert.js | 4 +- .../doctype/silenced_alert/silenced_alert.py | 6 +- press/press/doctype/site/archive.py | 4 +- press/press/doctype/site/backups.py | 10 +- .../set_database_access_credentials.py | 4 +- .../patches/set_plan_limit_in_site_config.py | 4 +- press/press/doctype/site/pool.py | 2 +- press/press/doctype/site/saas_pool.py | 4 +- press/press/doctype/site/saas_site.py | 12 +- press/press/doctype/site/site.js | 42 +-- press/press/doctype/site/site.json | 14 +- press/press/doctype/site/site.py | 300 ++++++++--------- press/press/doctype/site/site_usages.py | 8 +- press/press/doctype/site/sync.py | 2 +- press/press/doctype/site/test_backups.py | 4 +- press/press/doctype/site/test_site.py | 28 +- .../doctype/site_activity/site_activity.json | 2 +- .../doctype/site_activity/site_activity.py | 2 +- .../site_activity/test_site_activity.py | 2 +- .../doctype/site_analytics/site_analytics.py | 4 +- press/press/doctype/site_app/site_app.py | 8 +- .../doctype/site_backup/site_backup.json | 18 +- .../press/doctype/site_backup/site_backup.py | 40 +-- .../doctype/site_backup/test_site_backup.py | 6 +- .../site_database_table_permission.json | 4 +- .../site_database_user/site_database_user.js | 10 +- .../site_database_user.json | 6 +- .../site_database_user/site_database_user.py | 52 +-- .../press/doctype/site_domain/site_domain.py | 20 +- .../doctype/site_domain/test_site_domain.py | 18 +- .../site_group_deploy/site_group_deploy.py | 2 +- .../doctype/site_migration/site_migration.js | 8 +- .../doctype/site_migration/site_migration.py | 90 +++--- .../site_migration/test_site_migration.py | 10 +- press/press/doctype/site_plan/site_plan.json | 2 +- press/press/doctype/site_plan/site_plan.py | 12 +- .../press/doctype/site_plan/test_site_plan.py | 4 +- .../site_plan_change/site_plan_change.py | 6 +- .../site_plan_change/test_site_plan_change.py | 4 +- .../site_replication/site_replication.py | 8 +- .../site_update/scheduled_auto_updates.py | 74 ++--- .../press/doctype/site_update/site_update.js | 14 +- .../doctype/site_update/site_update.json | 2 +- .../press/doctype/site_update/site_update.py | 98 +++--- .../doctype/site_update/test_site_update.py | 8 +- press/press/doctype/site_user/site_user.py | 4 +- .../ssh_certificate/ssh_certificate.js | 2 +- .../ssh_certificate/ssh_certificate.json | 14 +- .../ssh_certificate/ssh_certificate.py | 4 +- .../ssh_certificate/test_ssh_certificate.py | 2 +- .../ssh_certificate_authority.py | 4 +- press/press/doctype/ssh_key/test_ssh_key.py | 2 +- .../storage_integration_subscription.py | 34 +- .../stripe_micro_charge_record.js | 6 +- .../stripe_payment_event.py | 8 +- .../stripe_payment_method.js | 4 +- .../stripe_payment_method.py | 14 +- .../stripe_webhook_log/stripe_webhook_log.py | 2 +- .../doctype/subscription/subscription.json | 2 +- .../doctype/subscription/subscription.py | 40 +-- .../doctype/subscription/test_subscription.py | 22 +- .../doctype/support_access/support_access.py | 20 +- .../support_access/test_support_access.py | 2 +- .../doctype/team/patches/set_partner_email.py | 4 +- .../doctype/team/patches/set_referrer_id.py | 4 +- press/press/doctype/team/suspend_sites.py | 2 +- press/press/doctype/team/team.js | 16 +- press/press/doctype/team/team.json | 10 +- press/press/doctype/team/team.py | 166 +++++----- press/press/doctype/team/team_invoice.py | 8 +- press/press/doctype/team/test_team.py | 6 +- .../press/doctype/team_change/team_change.py | 2 +- .../team_deletion_request.js | 4 +- .../team_deletion_request.py | 22 +- .../test_team_deletion_request.py | 6 +- .../create_groups_from_press_settings.py | 10 +- .../telegram_message/telegram_message.py | 4 +- .../press/doctype/tls_certificate/server.conf | 8 +- .../tls_certificate/test_tls_certificate.py | 2 +- .../tls_certificate/tls_certificate.js | 20 +- .../tls_certificate/tls_certificate.json | 14 +- .../tls_certificate/tls_certificate.py | 28 +- .../doctype/trace_server/trace_server.js | 18 +- .../doctype/trace_server/trace_server.json | 12 +- .../doctype/trace_server/trace_server.py | 6 +- .../doctype/usage_record/usage_record.py | 10 +- .../patches/generate_recovery_codes.py | 12 +- .../user_ssh_certificate.js | 12 +- .../user_ssh_certificate.json | 6 +- .../user_ssh_certificate.py | 2 +- .../doctype/user_ssh_key/test_user_ssh_key.py | 12 +- .../version_upgrade/test_version_upgrade.py | 2 +- .../version_upgrade/version_upgrade.js | 6 +- .../version_upgrade/version_upgrade.py | 18 +- .../virtual_disk_snapshot.js | 4 +- .../virtual_disk_snapshot.py | 38 +-- .../patches/populate_volumes_table.py | 6 +- .../patches/rename_virtual_machines.py | 2 +- .../patches/set_naming_fields.py | 2 +- .../patches/set_root_disk_size.py | 2 +- .../virtual_machine/test_virtual_machine.py | 8 +- .../virtual_machine/virtual_machine.js | 76 ++--- .../virtual_machine/virtual_machine.json | 8 +- .../virtual_machine/virtual_machine.py | 76 ++--- .../patches/set_root_size.py | 2 +- .../test_virtual_machine_image.py | 4 +- .../virtual_machine_image.js | 6 +- .../virtual_machine_image.py | 16 +- .../virtual_machine_volume.json | 8 +- .../wireguard_peer/wireguard_peer.json | 2 +- .../doctype/wireguard_peer/wireguard_peer.py | 16 +- .../report/agent_versions/agent_versions.py | 2 +- .../aws_instance_pricing.py | 4 +- .../aws_rightsizing_recommendation.py | 4 +- .../bench_memory_limits.json | 2 +- .../bench_memory_limits.py | 4 +- .../binary_log_browser/binary_log_browser.py | 2 +- .../mariadb_locks_list/mariadb_locks_list.py | 2 +- .../mariadb_process_list.py | 4 +- .../marketplace_app_repository_visibility.py | 2 +- .../report/payment_partner/payment_partner.py | 4 +- .../press_endpoints_audit.py | 18 +- press/press/workspace/press/press.json | 48 +-- press/public/js/utils.js | 4 +- press/runner.py | 36 +-- press/saas/api/__init__.py | 6 +- press/saas/api/billing.py | 12 +- press/saas/api/site.py | 4 +- press/saas/api/team.py | 2 +- ..._saas_product_doctypes_to_product_trial.py | 2 +- .../doctype/product_trial/product_trial.py | 26 +- .../product_trial/test_product_trial.py | 2 +- .../product_trial_request.js | 2 +- .../product_trial_request.py | 10 +- .../product_trial_signup_field.json | 4 +- press/saas/doctype/saas_app/saas_app.py | 2 +- press/saas/doctype/saas_app/test_saas_app.py | 2 +- .../saas_app_subscription.py | 40 +-- .../doctype/saas_settings/saas_settings.js | 2 +- .../doctype/saas_settings/saas_settings.json | 2 +- .../saas_settings/test_saas_settings.py | 2 +- .../saas_setup_account_generator_row.html | 2 +- .../templates/saas_signup_generator_row.html | 2 +- .../site_access_token/site_access_token.py | 2 +- .../infrastructure/server_conversion.py | 14 +- press/scripts/weekend_support.py | 8 +- press/signup_e2e.py | 2 +- press/telegram_utils.py | 4 +- press/tests/before_test.py | 4 +- press/tests/test_2fa.py | 4 +- press/tests/test_agent.py | 4 +- press/tests/test_audit.py | 12 +- press/utils/__init__.py | 34 +- press/utils/billing.py | 16 +- press/utils/dns.py | 12 +- press/utils/jobs.py | 8 +- press/utils/mpesa_utils.py | 2 +- press/utils/test.py | 6 +- press/utils/user.py | 4 +- press/utils/webhook.py | 8 +- press/www/github/redirect.py | 2 +- 733 files changed, 5419 insertions(+), 5419 deletions(-) diff --git a/backbone/packer/scripts/cleanup.sh b/backbone/packer/scripts/cleanup.sh index 0fa8ec1c..87a371db 100644 --- a/backbone/packer/scripts/cleanup.sh +++ b/backbone/packer/scripts/cleanup.sh @@ -47,7 +47,7 @@ dpkg --list \ # delete docs packages dpkg --list \ | awk '{ print $2 }' \ - | grep -- '-doc$' \ + | grep -- '-pg$' \ | xargs apt-get -y purge # Delete X11 libraries @@ -64,13 +64,13 @@ echo "==> Setup dpkg excludes for linux-firmware" cat <<_EOF_ | cat >> /etc/dpkg/dpkg.cfg.d/excludes #BENTO-BEGIN path-exclude=/lib/firmware/* -path-exclude=/usr/share/doc/linux-firmware/* +path-exclude=/usr/share/pg/linux-firmware/* #BENTO-END _EOF_ # Delete the massive firmware packages rm -rf /lib/firmware/* -rm -rf /usr/share/doc/linux-firmware/* +rm -rf /usr/share/pg/linux-firmware/* # Clean up orphaned packages with deborphan apt-get -y install deborphan @@ -85,7 +85,7 @@ apt-get -y autoclean apt-get -y clean # Remove docs -rm -rf /usr/share/doc/* +rm -rf /usr/share/pg/* # Remove man pages rm -rf /usr/share/man/* diff --git a/dashboard/src/App.vue b/dashboard/src/App.vue index 1c686d65..c24bce6e 100644 --- a/dashboard/src/App.vue +++ b/dashboard/src/App.vue @@ -68,7 +68,7 @@ const isHideSidebar = computed(() => { return true; return ( - route.meta.hideSidebar && session.user && team?.doc?.hide_sidebar === true + route.meta.hideSidebar && session.user && team?.pg?.hide_sidebar === true ); }); diff --git a/dashboard/src/components/AccessRequestButton.vue b/dashboard/src/components/AccessRequestButton.vue index d7d5df09..f287c4b8 100644 --- a/dashboard/src/components/AccessRequestButton.vue +++ b/dashboard/src/components/AccessRequestButton.vue @@ -34,14 +34,14 @@ import AccessRequestStatusDialog from './AccessRequestStatusDialog.vue'; const props = defineProps<{ doctype: string; docname: string; - doc?: any; + pg?: any; error?: Error; }>(); const team = getTeam(); const buttonProps = computed(() => { - if (props.doc) { + if (props.pg) { return { label: '', icon: 'unlock', @@ -63,11 +63,11 @@ const isPermissionError = computed(() => { }); const canRequestAccess = computed(() => { - return Boolean(team.doc?.can_request_access); + return Boolean(team.pg?.can_request_access); }); const isOwner = computed(() => { - return props.doc?.team === team.doc?.name; + return props.pg?.team === team.pg?.name; }); const hasAccess = computed(() => { @@ -75,7 +75,7 @@ const hasAccess = computed(() => { }); const DialogComponent = computed(() => { - if (props.doc) { + if (props.pg) { return AccessRequestStatusDialog; } else { return AccessRequestDialog; diff --git a/dashboard/src/components/AccessRequestDialog.vue b/dashboard/src/components/AccessRequestDialog.vue index bafdec4a..ece1b5c4 100644 --- a/dashboard/src/components/AccessRequestDialog.vue +++ b/dashboard/src/components/AccessRequestDialog.vue @@ -112,7 +112,7 @@ const request = createResource({ ); return { - doc: { + pg: { doctype: 'Support Access', reason: reason.value, resources: [ diff --git a/dashboard/src/components/AddTagDialog.vue b/dashboard/src/components/AddTagDialog.vue index d003a58f..e749cf55 100644 --- a/dashboard/src/components/AddTagDialog.vue +++ b/dashboard/src/components/AddTagDialog.vue @@ -68,9 +68,9 @@ export default { methods: { addNewTag(value) { if (!value) return; - let $doc = getCachedDocumentResource(this.doctype, this.docname); - if (!$doc) return; - return $doc.addTag.submit({ tag: value }).then(() => { + let $pg = getCachedDocumentResource(this.doctype, this.docname); + if (!$pg) return; + return $pg.addTag.submit({ tag: value }).then(() => { this.$emit('added', value); this.show = false; }); diff --git a/dashboard/src/components/AddressForm.vue b/dashboard/src/components/AddressForm.vue index e291cb4e..9d3e3543 100644 --- a/dashboard/src/components/AddressForm.vue +++ b/dashboard/src/components/AddressForm.vue @@ -68,7 +68,7 @@ export default { url: 'press.api.account.country_list', auto: true, onSuccess() { - let userCountry = this.$team?.doc.country; + let userCountry = this.$team?.pg.country; if (userCountry) { let country = this.countryList.find((d) => d.label === userCountry); if (country) { diff --git a/dashboard/src/components/AddressableErrorDialog.vue b/dashboard/src/components/AddressableErrorDialog.vue index 69ab9cb7..017470ba 100644 --- a/dashboard/src/components/AddressableErrorDialog.vue +++ b/dashboard/src/components/AddressableErrorDialog.vue @@ -1,21 +1,21 @@