update /frappe/agent - /jingrow/agent

This commit is contained in:
jingrow 2025-12-23 19:30:11 +08:00
parent c641f07c64
commit 64dcfee067
146 changed files with 378 additions and 378 deletions

View File

@ -1,12 +1,12 @@
<div align="center" markdown="1">
<img src="https://frappe.io/files/Group%202%20(1).png" alt="Press logo" width="80"/>
<img src="https://framework.jingrow.com/files/Group%202%20(1).png" alt="Press logo" width="80"/>
<h1>Press</h1>
**Full Service Cloud Hosting For The Frappe Stack - Powers Frappe Cloud**
[![codecov](https://codecov.io/gh/frappe/press/branch/master/graph/badge.svg?token=0puvH0jUx9)](https://codecov.io/gh/frappe/press)
[![unittests](https://github.com/frappe/press/actions/workflows/main.yaml/badge.svg)](https://github.com/frappe/press/actions/workflows/main.yaml)
[![unittests](http://git.jingrow.com/jingrow/jcloude/actions/workflows/main.yaml/badge.svg)](http://git.jingrow.com/jingrow/jcloude/actions/workflows/main.yaml)
</div>
@ -15,9 +15,9 @@
</div>
<br />
<div align="center">
<a href="https://frappe.io/press">Website</a>
<a href="https://framework.jingrow.com/press">Website</a>
-
<a href="https://docs.frappe.io/cloud/">Documentation</a>
<a href="https://docs.framework.jingrow.com/cloud/">Documentation</a>
</div>
## Press
@ -59,7 +59,7 @@ Additionally, customers lacked full control over their servers—no SSH access,
- [**Frappe UI**](https://github.com/frappe/frappe-ui): A Vue-based UI library, to provide a modern user interface. The Frappe UI library provides a variety of components that can be used to build single-page applications on top of the Frappe Framework.
- [**Agent**](https://github.com/frappe/agent): A flask app designed to work along with Press. It provides a CLI interface for Press to communicate with the sites and benches.
- [**Agent**](http://git.jingrow.com/jingrow/agent): A flask app designed to work along with Press. It provides a CLI interface for Press to communicate with the sites and benches.
- [**Docker**](https://www.docker.com): An open-source platform that enables developers to build, package, and deploy applications in lightweight, portable containers.
@ -67,7 +67,7 @@ Additionally, customers lacked full control over their servers—no SSH access,
## Setup
To self host or to setup Press locally follow the steps in the [Local Development Environment Setup Guide](https://docs.frappe.io/cloud/local-fc-setup) or [this YouTube video](https://www.youtube.com/watch?v=Xb9QHnUrIEk)
To self host or to setup Press locally follow the steps in the [Local Development Environment Setup Guide](https://docs.framework.jingrow.com/cloud/local-fc-setup) or [this YouTube video](https://www.learn.jingrow.com/watch?v=Xb9QHnUrIEk)
### Pre-commit
@ -80,16 +80,16 @@ pre-commit install
## Learn and connect
- [Telegram Public Group](https://t.me/frappecloud)
- [Discuss Forum](https://discuss.frappe.io/c/frappe-cloud/77)
- [Documentation](https://docs.frappe.io/cloud)
- [Discuss Forum](https://discuss.framework.jingrow.com/c/frappe-cloud/77)
- [Documentation](https://docs.framework.jingrow.com/cloud)
<br/>
<br/>
<div align="center" style="padding-top: 0.75rem;">
<a href="https://frappe.io" target="_blank">
<a href="https://framework.jingrow.com" target="_blank">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://frappe.io/files/Frappe-white.png">
<img src="https://frappe.io/files/Frappe-black.png" alt="Frappe Technologies" height="28"/>
<source media="(prefers-color-scheme: dark)" srcset="https://framework.jingrow.com/files/Frappe-white.png">
<img src="https://framework.jingrow.com/files/Frappe-black.png" alt="Frappe Technologies" height="28"/>
</picture>
</a>
</div>

View File

@ -95,11 +95,11 @@ export default {
},
methods: {
support() {
window.open('https://frappecloud.com/support', '_blank');
window.open('https://jcloud.jingrow.com/support', '_blank');
},
feedback() {
window.open(
'https://frappecloud.com/frappe-cloud-feedback/new',
'https://jcloud.jingrow.com/frappe-cloud-feedback/new',
'_blank',
);
},

View File

@ -145,7 +145,7 @@ export default {
if (file.size > 5 * 1024 * 1024 * 1024) {
throw new Error(
'File size exceeds the limit of 5 GiB. Please try the <a href="https://docs.frappe.io/cloud/sites/migrate-an-existing-site#migrate-using-python-script" class=underline>migrate</a> script.',
'File size exceeds the limit of 5 GiB. Please try the <a href="https://docs.framework.jingrow.com/cloud/sites/migrate-an-existing-site#migrate-using-python-script" class=underline>migrate</a> script.',
);
}

View File

@ -80,6 +80,6 @@ const SwitchTeamDialog2 = defineAsyncComponent(
const showTeamSwitcher = ref(false);
function support() {
window.open('https://frappecloud.com/support', '_blank');
window.open('https://jcloud.jingrow.com/support', '_blank');
}
</script>

View File

@ -19,7 +19,7 @@
<Button
class="ml-auto min-w-[7rem]"
variant="outline"
link="https://docs.frappe.io/cloud/faq/site#my-site-is-suspended-what-do-i-do"
link="https://docs.framework.jingrow.com/cloud/faq/site#my-site-is-suspended-what-do-i-do"
>
More Info
</Button>
@ -34,7 +34,7 @@
<Button
class="ml-auto min-w-[7rem]"
variant="outline"
link="https://docs.frappe.io/cloud/faq/site#my-site-is-suspended-what-do-i-do"
link="https://docs.framework.jingrow.com/cloud/faq/site#my-site-is-suspended-what-do-i-do"
>
More Info
</Button>
@ -83,7 +83,7 @@
<Button
class="ml-auto min-w-[7rem]"
variant="outline"
link="https://docs.frappe.io/cloud/sites/version-upgrade"
link="https://docs.framework.jingrow.com/cloud/sites/version-upgrade"
>
Upgrade Now
</Button>
@ -97,7 +97,7 @@
$site.pg.status !== 'Archived'
"
class="col-span-1 lg:col-span-2"
title="Your site is currently on a shared bench group. Upgrade plan to enjoy <a href='https://frappecloud.com/shared-hosting#benches' class='underline' target='_blank'>more benefits</a>."
title="Your site is currently on a shared bench group. Upgrade plan to enjoy <a href='https://jcloud.jingrow.com/shared-hosting#benches' class='underline' target='_blank'>more benefits</a>."
:id="$site.name"
type="gray"
>
@ -224,7 +224,7 @@
: 0) >= 80
"
variant="ghost"
link="https://docs.frappe.io/cloud/faq/site#what-is-using-up-all-my-database-size"
link="https://docs.framework.jingrow.com/cloud/faq/site#what-is-using-up-all-my-database-size"
icon="help-circle"
/>
</div>

View File

@ -35,7 +35,7 @@
If the update fails, rollback will not occur as there is no
backup. You will have to manually fix the issues over
<a
href="https://docs.frappe.io/cloud/benches/ssh"
href="https://docs.framework.jingrow.com/cloud/benches/ssh"
target="_blank"
class="underline"
>ssh</a

View File

@ -116,7 +116,7 @@ function processOrder(data) {
key: data.key_id,
order_id: data.order_id,
name: 'Frappe Cloud',
image: 'https://frappe.io/files/cloud.png',
image: 'https://framework.jingrow.com/files/cloud.png',
prefill: { email: team.pg?.user },
handler: handlePaymentSuccess,
theme: { color: '#171717' },

View File

@ -310,7 +310,7 @@ const paymentModeOptions = [
h(
'a',
{
href: 'https://frappecloud.com/payment-options',
href: 'https://jcloud.jingrow.com/payment-options',
target: '_blank',
},
'Alternate Payment Methods',

View File

@ -5,7 +5,7 @@
</p>
<p class="text-base text-gray-700">
Please reach out to
<a href="https://support.frappe.io/" target="_blank" class="underline"
<a href="https://support.framework.jingrow.com/" target="_blank" class="underline"
>support</a
>
to enable it

View File

@ -48,7 +48,7 @@
<a
class="no-underline"
target="_blank"
href="https://docs.frappe.io/cloud/benches/editing-bench-dependency-version#setting-a-custom-version"
href="https://docs.framework.jingrow.com/cloud/benches/editing-bench-dependency-version#setting-a-custom-version"
><FeatherIcon
name="help-circle"
class="h-3 w-3 text-gray-700"

View File

@ -62,7 +62,7 @@
<div class="flex items-center gap-2">
<h2 class="text-lg font-medium">Build might fail</h2>
<a
href="https://docs.frappe.io/cloud/common-issues/build-might-fail"
href="https://docs.framework.jingrow.com/cloud/common-issues/build-might-fail"
target="_blank"
class="cursor-pointer rounded-full border border-gray-200 bg-gray-100 p-0.5 text-base text-gray-700"
>
@ -90,7 +90,7 @@
/>
<Tooltip text="View documentation">
<a
href="https://docs.frappe.io/cloud/in-place-updates"
href="https://docs.framework.jingrow.com/cloud/in-place-updates"
target="_blank"
>
<lucide-help-circle :class="`h-4 w-4 text-gray-600`" />

View File

@ -58,7 +58,7 @@
/>
The Github Repository is private.
<Link
href="https://frappecloud.com/marketplace/terms"
href="https://jcloud.jingrow.com/marketplace/terms"
class="font-medium"
>
Terms and Policy

View File

@ -104,7 +104,7 @@ function processOrder(data) {
key: data.key_id,
order_id: data.order_id,
name: 'Frappe Cloud',
image: 'https://frappe.io/files/cloud.png',
image: 'https://framework.jingrow.com/files/cloud.png',
prefill: { email: team.pg?.user },
handler: handlePaymentSuccess,
theme: { color: '#171717' },

View File

@ -116,7 +116,7 @@ async function handleApplyForCertificate() {
try {
await checkCertification.submit();
if (showMessage.value) {
batch_link.value = `https://school.frappe.io/lms/billing/certificate/${certificateType.value}`;
batch_link.value = `https://school.framework.jingrow.com/lms/billing/certificate/${certificateType.value}`;
throw new Error(
'You are not eligible for a free certification at this time.',
);

View File

@ -111,7 +111,7 @@ export default {
width: 0.5,
},
],
documentation: 'https://school.frappe.io',
documentation: 'https://school.framework.jingrow.com',
actions() {
return [
{

View File

@ -178,7 +178,7 @@
By clicking "I Agree", you confirm that you have read and accepted the
terms and conditions of the
<a
href="https://frappe.io/partners/terms"
href="https://framework.jingrow.com/partners/terms"
target="_blank"
class="underline"
><strong>Frappe Partnership Agreement</strong></a

View File

@ -65,7 +65,7 @@
<p class="text-gray-600">
Please read the
<a
href="https://docs.frappe.io/cloud/application-server-horizontal-scaling"
href="https://docs.framework.jingrow.com/cloud/application-server-horizontal-scaling"
target="_blank"
class="text-gray-900 underline hover:text-gray-700"
>

View File

@ -19,7 +19,7 @@
:showIcon="false"
class="mb-3"
title="When both CPU and Memory thresholds are set, scaling will trigger if either condition is met.
<br>Please refer to the <a href='https://docs.frappe.io/cloud/application-server-horizontal-scaling#application-server-horizontal-scaling'
<br>Please refer to the <a href='https://docs.framework.jingrow.com/cloud/application-server-horizontal-scaling#application-server-horizontal-scaling'
target='_blank' class='underline'>documentation</a> for more information."
/>
<div class="flex justify-end gap-2">

View File

@ -112,7 +112,7 @@ function onTeardownSecondaryServer() {
<p class="mt-3">
See the docs to learn more about autoscaling:<br>
<a href="https://docs.frappe.io/cloud/application-server-horizontal-scaling#opting-out"
<a href="https://docs.framework.jingrow.com/cloud/application-server-horizontal-scaling#opting-out"
target="_blank" rel="noopener" style="text-decoration: underline;">
<strong>Secondary Server Teardown Guide</strong>
</a>
@ -172,7 +172,7 @@ function onSetupSecondaryServer() {
<p class="mt-3">
See the docs to learn more about autoscaling:<br>
<a href="https://docs.frappe.io/cloud/application-server-horizontal-scaling#setting-up-a-secondary-server"
<a href="https://docs.framework.jingrow.com/cloud/application-server-horizontal-scaling#setting-up-a-secondary-server"
target="_blank" rel="noopener" style="text-decoration: underline;">
<strong>Secondary Server Setup Guide</strong>
</a>
@ -295,7 +295,7 @@ function onEnableAutoDiskExpansion() {
function onDisableAutoDiskExpansion() {
confirmDialog({
title: 'Disable automatic storage disk expansion',
message: `<div class="prose text-base">Disable auto add on storage?<br>This can effect server uptime <a href="https://docs.frappe.io/cloud/storage-addons">Know more</a></br></div>`,
message: `<div class="prose text-base">Disable auto add on storage?<br>This can effect server uptime <a href="https://docs.framework.jingrow.com/cloud/storage-addons">Know more</a></br></div>`,
primaryAction: {
label: 'Disable',
theme: 'red',

View File

@ -6,7 +6,7 @@
<Button
icon="help-circle"
variant="ghost"
:link="'https://docs.frappe.io/cloud/server-analytics#load-average'"
:link="'https://docs.framework.jingrow.com/cloud/server-analytics#load-average'"
/>
<router-link
class="text-base text-gray-600 hover:text-gray-700"

View File

@ -89,7 +89,7 @@
<Button
class="ml-auto"
variant="outline"
link="https://docs.frappe.io/cloud/database-server-actions#view--purge-binlogs"
link="https://docs.framework.jingrow.com/cloud/database-server-actions#view--purge-binlogs"
>
Docs
</Button>

View File

@ -28,7 +28,7 @@
<p class="mt-2 text-sm text-gray-700">
<strong>Note:</strong> Secret is optional. Check
<a
href="https://docs.frappe.io/cloud/webhook-introduction"
href="https://docs.framework.jingrow.com/cloud/webhook-introduction"
class="underline"
target="_blank"
>the documentation</a

View File

@ -42,7 +42,7 @@
<p class="mt-1.5 text-sm text-gray-700">
<secret>Note:</secret> Secret is optional. Check
<a
href="https://docs.frappe.io/cloud/webhook-introduction"
href="https://docs.framework.jingrow.com/cloud/webhook-introduction"
class="underline"
target="_blank"
>the documentation</a

View File

@ -71,7 +71,7 @@
<strong>A record</strong>. Please update the same after migration to
avoid downtime. To know more, refer
<a
href="https://docs.frappe.io/cloud/sites/custom-domains"
href="https://docs.framework.jingrow.com/cloud/sites/custom-domains"
target="_blank"
class="underline"
>the documentation.</a

View File

@ -37,7 +37,7 @@ export default {
slowQueriesOptions() {
return {
experimental: true,
documentation: 'https://docs.frappe.io/cloud/performance-tuning',
documentation: 'https://docs.framework.jingrow.com/cloud/performance-tuning',
data: () => this.$resources.slowQueries.data.data,
onRowClick: (row) => {
this.selectedQuery = row.query;

View File

@ -77,7 +77,7 @@
<p class="text-sm">
Please check out the
<a
href="https://docs.frappe.io/cloud/database-users-and-permission-manager#faq"
href="https://docs.framework.jingrow.com/cloud/database-users-and-permission-manager#faq"
target="_blank"
class="underline"
>documentation</a

View File

@ -151,7 +151,7 @@ const siteAppListOptions: Partial<TabList> = {
},
banner({ documentResource: site }) {
const bannerTitle =
'Your site is currently on a shared bench group. Upgrade plan to install custom apps, enable server scripts and <a href="https://frappecloud.com/shared-hosting#benches" class="underline" target="_blank">more</a>.';
'Your site is currently on a shared bench group. Upgrade plan to install custom apps, enable server scripts and <a href="https://jcloud.jingrow.com/shared-hosting#benches" class="underline" target="_blank">more</a>.';
return getUpsellBanner(site, bannerTitle);
},

View File

@ -23,7 +23,7 @@ export function getPatchesTab(forBench: boolean) {
type: 'list',
list: {
experimental: true, // If removing this, uncheck App Patch doctype beta flag.
documentation: 'https://docs.frappe.io/cloud/benches/app-patches',
documentation: 'https://docs.framework.jingrow.com/cloud/benches/app-patches',
doctype: 'App Patch',
filters: (res) => ({ [forBench ? 'bench' : 'group']: res.name }),
searchField: 'filename',

View File

@ -119,7 +119,7 @@ export default {
button: {
label: 'Read docs',
variant: 'outline',
link: 'https://docs.frappe.io/cloud/benches/create-new',
link: 'https://docs.framework.jingrow.com/cloud/benches/create-new',
},
};
}
@ -234,7 +234,7 @@ export default {
h(
'a',
{
href: 'https://docs.frappe.io/cloud/faq/app-installation-issue',
href: 'https://docs.framework.jingrow.com/cloud/faq/app-installation-issue',
target: '_blank',
},
[h(icon('help-circle', 'w-3 h-3'), {})],

View File

@ -462,7 +462,7 @@ export default {
condition: () => app.pg.status === 'Draft',
onClick() {
window.open(
'https://docs.frappe.io/cloud/marketplace/marketplace-guidelines',
'https://docs.framework.jingrow.com/cloud/marketplace/marketplace-guidelines',
'_blank',
);
},

View File

@ -137,7 +137,7 @@ export default {
button: {
label: 'Read docs',
variant: 'outline',
link: 'https://docs.frappe.io/cloud/servers/new',
link: 'https://docs.framework.jingrow.com/cloud/servers/new',
},
};
}

View File

@ -1057,7 +1057,7 @@ export default {
label: 'Contact Support',
variant: 'outline',
onClick() {
window.open('https://frappecloud.com/support', '_blank');
window.open('https://jcloud.jingrow.com/support', '_blank');
},
},
};
@ -1067,7 +1067,7 @@ export default {
return getUpsellBanner(
site,
'Your site is currently on a shared bench group. Upgrade plan for offsite backups and <a href="https://frappecloud.com/shared-hosting#benches" class="underline" target="_blank">more</a>.',
'Your site is currently on a shared bench group. Upgrade plan for offsite backups and <a href="https://jcloud.jingrow.com/shared-hosting#benches" class="underline" target="_blank">more</a>.',
);
},
},
@ -1493,7 +1493,7 @@ export default {
},
banner({ documentResource: site }) {
const bannerTitle =
'Your site is currently on a shared bench group. Upgrade to a private bench group to configure auto updates and <a href="https://frappecloud.com/shared-hosting#benches" class="underline" target="_blank">more</a>.';
'Your site is currently on a shared bench group. Upgrade to a private bench group to configure auto updates and <a href="https://jcloud.jingrow.com/shared-hosting#benches" class="underline" target="_blank">more</a>.';
return getUpsellBanner(site, bannerTitle);
},

View File

@ -22,7 +22,7 @@
</ul>
<div>
<Link
href="https://docs.frappe.io/cloud/what-are-benches-and-bench-groups"
href="https://docs.framework.jingrow.com/cloud/what-are-benches-and-bench-groups"
target="_blank"
class="inline-flex items-center text-sm font-medium text-indigo-600 hover:text-indigo-700"
>Read more </Link

View File

@ -25,7 +25,7 @@
</ul>
<div>
<Link
href="https://docs.frappe.io/cloud/servers/servers-introduction"
href="https://docs.framework.jingrow.com/cloud/servers/servers-introduction"
target="_blank"
class="inline-flex items-center text-sm font-medium text-indigo-600 hover:text-indigo-700"
>Read more </Link

View File

@ -169,7 +169,7 @@
</div>
<a
class="text-sm underline"
href="https://docs.frappe.io/cloud/installing-an-app"
href="https://docs.framework.jingrow.com/cloud/installing-an-app"
target="_blank"
>
Read documentation

View File

@ -298,7 +298,7 @@
</span>
<a
class="text-base font-normal text-gray-900 underline hover:text-gray-700"
href="https://frappecloud.com/policies"
href="https://jcloud.jingrow.com/policies"
>
Terms & Policies
</a>
@ -380,7 +380,7 @@
</span>
<a
class="text-base font-normal text-gray-900 underline hover:text-gray-700"
href="https://frappecloud.com/policies"
href="https://jcloud.jingrow.com/policies"
>
Terms & Policies
</a>

View File

@ -102,7 +102,7 @@
</h2>
<div>
<Button
link="https://frappecloud.com/pricing#dedicated"
link="https://jcloud.jingrow.com/pricing#dedicated"
variant="ghost"
>
<template #prefix>
@ -374,7 +374,7 @@
Or you can
<a
class="underline"
href="https://frappecloud.com/support"
href="https://jcloud.jingrow.com/support"
target="_blank"
>contact support</a
>

View File

@ -144,7 +144,7 @@
Select Plan
</h2>
<div>
<Button link="https://frappecloud.com/pricing" variant="ghost">
<Button link="https://jcloud.jingrow.com/pricing" variant="ghost">
<template #prefix>
<lucide-help-circle class="h-4 w-4 text-gray-700" />
</template>

View File

@ -11,7 +11,7 @@
<Button
class="ml-auto min-w-[7rem]"
variant="outline"
link="https://docs.frappe.io/cloud/sites/version-upgrade"
link="https://docs.framework.jingrow.com/cloud/sites/version-upgrade"
>
Upgrade Now
</Button>
@ -131,7 +131,7 @@ export default {
<Tooltip text="Apps in this bench may have been patched">
<a
class="p-1 ml-2 text-gray-700 bg-gray-100 rounded"
href="https://docs.frappe.io/cloud/benches/app-patches"
href="https://docs.framework.jingrow.com/cloud/benches/app-patches"
target="_blank"
>
<IconHash />
@ -142,7 +142,7 @@ export default {
<Tooltip text="This bench has been updated in place">
<a
class="p-1 ml-2 text-gray-700 bg-gray-100 rounded"
href="https://docs.frappe.io/cloud/in-place-updates"
href="https://docs.framework.jingrow.com/cloud/in-place-updates"
target="_blank"
>
<IconStar />

View File

@ -106,7 +106,7 @@
</span>
<a
class="text-base font-normal text-gray-900 underline hover:text-gray-700"
href="https://frappecloud.com/policies"
href="https://jcloud.jingrow.com/policies"
>
Terms & Policies
</a>

View File

@ -29,7 +29,7 @@
<Tooltip text="View documentation">
<div class="rounded-md bg-gray-100 p-1.5">
<a
href="https://docs.frappe.io/cloud/binlog-browser"
href="https://docs.framework.jingrow.com/cloud/binlog-browser"
target="_blank"
>
<lucide-help-circle class="h-4 w-4" />
@ -309,7 +309,7 @@
<p class="text-gray-600" v-else>
Follow the
<a
href="https://docs.frappe.io/cloud/database-server-actions#enable--disable-binlog-indexer"
href="https://docs.framework.jingrow.com/cloud/database-server-actions#enable--disable-binlog-indexer"
class="text-blue-600 underline"
target="_blank"
rel="noopener noreferrer"

View File

@ -152,7 +152,7 @@
<Button
class="ml-auto"
variant="outline"
link="https://docs.frappe.io/cloud/sites/monitoring#how-to-check-for-reclaimable-space"
link="https://docs.framework.jingrow.com/cloud/sites/monitoring#how-to-check-for-reclaimable-space"
>
Documentation
</Button>

View File

@ -86,7 +86,7 @@
</div>
</Tooltip>
<Button
link="https://docs.frappe.io/cloud/devtools/log-browser"
link="https://docs.framework.jingrow.com/cloud/devtools/log-browser"
target="_blank"
>
<lucide-help-circle class="h-4 w-4" />

View File

@ -73,8 +73,8 @@
<p>It looks like something went wrong</p>
<p>
Contact
<a href="mailto:support@frappe.io" class="underline"
>support@frappe.io</a
<a href="mailto:support@framework.jingrow.com" class="underline"
>support@framework.jingrow.com</a
><br />
to resolve the issue
</p>

View File

@ -49,15 +49,15 @@
class="mr-0.5 py-1 align-baseline"
/>
I agree to Frappe&nbsp;
<Link href="https://frappecloud.com/terms" target="_blank">
<Link href="https://jcloud.jingrow.com/terms" target="_blank">
Terms of Service </Link
>,&nbsp;
<Link href="https://frappecloud.com/privacy" target="_blank">
<Link href="https://jcloud.jingrow.com/privacy" target="_blank">
Privacy Policy
</Link>
&nbsp;&&nbsp;
<Link
href="https://frappecloud.com/cookie-policy"
href="https://jcloud.jingrow.com/cookie-policy"
target="_blank"
>
Cookie Policy

View File

@ -66,15 +66,15 @@
class="mr-0.5 py-1 align-baseline"
/>
I agree to Frappe&nbsp;
<Link href="https://frappecloud.com/terms" target="_blank">
<Link href="https://jcloud.jingrow.com/terms" target="_blank">
Terms of Service </Link
>,&nbsp;
<Link href="https://frappecloud.com/privacy" target="_blank">
<Link href="https://jcloud.jingrow.com/privacy" target="_blank">
Privacy Policy
</Link>
&nbsp;&&nbsp;
<Link
href="https://frappecloud.com/cookie-policy"
href="https://jcloud.jingrow.com/cookie-policy"
target="_blank"
>
Cookie Policy

View File

@ -78,7 +78,7 @@ References: https://mariadb.com/kb/en/building-mariadb-on-ubuntu/
We need to [sign the packages with OpenPGP](https://ubuntu.com/server/docs/third-party-apt-repositories)
1. Create a OpenPGP key for `Frappe Developers <developers@frappe.io>`. This is an interactive step. Refer frappe.io/app/frappe-asset for Paasphrase.
1. Create a OpenPGP key for `Frappe Developers <developers@framework.jingrow.com>`. This is an interactive step. Refer framework.jingrow.com/app/frappe-asset for Paasphrase.
```sh
gpg --full-gen-key
@ -92,7 +92,7 @@ $ gpg --list-secret-key --with-subkey-fingerprint
-------------------------------
sec rsa4096 2024-01-29 [SC]
2AADEF02BE446B0FA3B0AC3DF38C274AC216D014
uid [ultimate] Frappe Developers <developers@frappe.io>
uid [ultimate] Frappe Developers <developers@framework.jingrow.com>
```
Export the public key in the repository directory
@ -201,7 +201,7 @@ Setup TLS for `packages.frappe.cloud`
```sh
snap install --classic certbot
certbot --nginx --agree-tos --email developers@frappe.io --domains packages.frappe.cloud
certbot --nginx --agree-tos --email developers@framework.jingrow.com --domains packages.frappe.cloud
```
### Install patched MariaDB

View File

@ -33,7 +33,7 @@ server {
# setup maps
map $host $site_name_sxjfjnv {
frappecloud.com frappe.cloud;
jcloud.jingrow.com frappe.cloud;
default $host;
}
@ -51,8 +51,8 @@ server {
root /home/frappe/frappe-bench/sites;
ssl on;
ssl_certificate /etc/letsencrypt/live/code.frappecloud.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/code.frappecloud.com/privkey.pem; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/code.jcloud.jingrow.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/code.jcloud.jingrow.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
ssl_stapling on;
@ -65,7 +65,7 @@ server {
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
return 301 https://frappecloud.com$request_uri;
return 301 https://jcloud.jingrow.com$request_uri;
}
@ -91,14 +91,14 @@ server {
server_name
frappecloud.com
jcloud.jingrow.com
;
root /home/frappe/frappe-bench/sites;
ssl on;
ssl_certificate /etc/letsencrypt/live/code.frappecloud.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/code.frappecloud.com/privkey.pem; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/code.jcloud.jingrow.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/code.jcloud.jingrow.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
@ -463,14 +463,14 @@ server {
# http to https redirect
server {
if ($host = frappecloud.com) {
if ($host = jcloud.jingrow.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name
frappecloud.com
jcloud.jingrow.com
;
return 301 https://$host$request_uri;

View File

@ -12,7 +12,7 @@ For `f7-mumbai.frappe.cloud`
2. Create User SSH Certificate for the server you want access to, in this case `f7-mumbai.frappe.cloud`.
3. Fill details such as server name, reason for accessing the server, validity period for eg. 6 Hrs.
![Certificate Details](https://frappecloud.com/files/Screenshot%202022-11-15%20at%2012.54.12%20PM.png)
![Certificate Details](https://jcloud.jingrow.com/files/Screenshot%202022-11-15%20at%2012.54.12%20PM.png)
4. Click on **Copy Certificate Details**, it will copy the certificate in the clipboard and then paste it in your terminal.
5. Now click on **Copy SSH Command**, it will copy the SSH command in the clipboard and then paste it in your terminal.

View File

@ -10,7 +10,7 @@ The main master for marketplace is the “Marketplace App” DocType around whic
## Release Management
When the developer “Publish”es a release (by using the steps described in Managing your Marketplace App (frappecloud.com)), an “App Release Approval Request'' is created, which I review (there is an assignment rule that assigns it to just me as of now). For apps I trust (like POSAwesome), I approve the releases blindly, for new apps I look at the diff if the repo is open source or have to use the code server to look into the app.
When the developer “Publish”es a release (by using the steps described in Managing your Marketplace App (jcloud.jingrow.com)), an “App Release Approval Request'' is created, which I review (there is an assignment rule that assigns it to just me as of now). For apps I trust (like POSAwesome), I approve the releases blindly, for new apps I look at the diff if the repo is open source or have to use the code server to look into the app.
## Approving a release
@ -27,12 +27,12 @@ Once approved, the new release will be available for deployment on bench groups
## Server Script for Auto-approving of App Releases for Marketplace App
There is a Server Script that auto-approves releases (sets the status of the App Release pg to Approved) for all the apps belonging to team@erpnext.com (Auto approve frappe/erpnext releases (frappecloud.com)).
There is a Server Script that auto-approves releases (sets the status of the App Release pg to Approved) for all the apps belonging to team@erpnext.com (Auto approve frappe/erpnext releases (jcloud.jingrow.com)).
## Publishing of New Apps
It all starts with the developer of the app enabling developer mode and adding the app to be published via dashboard as per the instructions written here: Publishing an App to Marketplace (frappecloud.com). In the backend the “Marketplace App” master is created and its status is set to “Draft”.
It all starts with the developer of the app enabling developer mode and adding the app to be published via dashboard as per the instructions written here: Publishing an App to Marketplace (jcloud.jingrow.com). In the backend the “Marketplace App” master is created and its status is set to “Draft”.
Then the process is roughly:

View File

@ -14,12 +14,12 @@ This documentation is intended to help consultants carry out daily operational t
| --- | --- |
| FrappeCloud | Platform for hosting customer sites |
| Team | A team represents a group of people. Every account created on Frappe Cloud belongs to a team. If a user signs up on Frappe Cloud without an invite, theyll belong to their own team. A Team document has a child table of user emails |
| Desk Page/Document/Pg | Any webpage that starts with *frappecloud.com/app* in the url, powered by Frappe Framework, similar to the one you see on frappe.io. Customers of Frappe Cloud cannot access these pages |
| Dashboard Page | Any webpage that starts with *frappecloud.com/dashboard* in the url, powered by Vue js, custom UI for users. Customers of Frappe Cloud only see these pages. |
| Desk Page/Document/Pg | Any webpage that starts with *jcloud.jingrow.com/app* in the url, powered by Frappe Framework, similar to the one you see on framework.jingrow.com. Customers of Frappe Cloud cannot access these pages |
| Dashboard Page | Any webpage that starts with *jcloud.jingrow.com/dashboard* in the url, powered by Vue js, custom UI for users. Customers of Frappe Cloud only see these pages. |
### Site Desk Page
* Go to frappecloud.com/app and search for Site List
* Go to jcloud.jingrow.com/app and search for Site List
* In the site list, search for the required site and open it
### Visit Dashboard page from Desk page
@ -45,7 +45,7 @@ This documentation is intended to help consultants carry out daily operational t
### Visit Desk Page of Team
* Go to frappecloud.com/app and search for Team List
* Go to jcloud.jingrow.com/app and search for Team List
* In the Team list, search for the required team and open it
### Visit Dashboard from Team's perspective
@ -108,8 +108,8 @@ Then you can select an app from the list shown. If the app you desire is not fou
In some cases, it may be so that multiple partners are working on features for a project, hence they would want access to same Bench Group on FC. For these cases, we can create a new team and add the required partners as members in this team.
1. Signup on FC in incognito tab with `username+project_name@frappe.io` email. The `+` is important, i.e if your company email is `balamurali@frappe.io`, and project is Karam, use `balamurali+karam@frappe.io`.
2. Complete signup with the verification email you get in your company email inbox (`balamurali@frappe.io` in this case)
1. Signup on FC in incognito tab with `username+project_name@framework.jingrow.com` email. The `+` is important, i.e if your company email is `balamurali@framework.jingrow.com`, and project is Karam, use `balamurali+karam@framework.jingrow.com`.
2. Complete signup with the verification email you get in your company email inbox (`balamurali@framework.jingrow.com` in this case)
3. Mark your account as Free from [desk page](###visit-desk-page-of-team) of the newly created team
4. Invite other parties involved in the project to this newly created team from settings in your FC dashboard
5. Change bench group ownership to the newly created team
@ -122,7 +122,7 @@ In some cases, it may be so that multiple partners are working on features for a
### Central/ERPNext.com Sites
* These sites are the ones migrated from central to Frappecloud.
* They are all under common team i.e *central@frappecloud.com* and common plan i.e *Central Site*
* They are all under common team i.e *central@jcloud.jingrow.com* and common plan i.e *Central Site*
* Frappecloud pricing doesn't apply to them
### Extend trial date of a site
@ -131,7 +131,7 @@ In some cases, it may be so that multiple partners are working on features for a
### Update limits/expiry of Central/ERPNext Site
* Open the **Support Profile** pg on `frappe.io`
* Open the **Support Profile** pg on `framework.jingrow.com`
![Support Profile](../files/image5.png)

View File

@ -4,7 +4,7 @@ allow_guest: 1
published: 1
---
General introduction to press webhook can be found in [the public documentation](https://frappecloud.com/docs/webhook-introduction).
General introduction to press webhook can be found in [the public documentation](https://jcloud.jingrow.com/docs/webhook-introduction).
Add New Webhook Event
---------------------
@ -12,7 +12,7 @@ Add New Webhook Event
1. Go to `Press Webhook Event` doctype in desk.
2. Create a new record and fill up the title and description of event. This title and description will be shown to users to select.
3. If you are on local development setup, you can export fixtures.
4. Update the documentation of `Webhook Events` as well > <https://frappecloud.com/docs/webhook-events>
4. Update the documentation of `Webhook Events` as well > <https://jcloud.jingrow.com/docs/webhook-events>
Create Webhook Event
--------------------
@ -31,7 +31,7 @@ create_webhook_event("Site Status Update", payload, team_name)
```
* **Payload** can be doctype object or a python dictionary.
* If you want to pass doctype object as payload, you should add the required non-sensitive fields in `dashboard_fields` list in your doctype class. Check the `_process_document_payload` method ([ref](https://github.com/frappe/press/blob/d548d10269fb31dacc5ce257a8ff2d41fe451d6a/press/utils/webhook.py#L66)) to understand that.
* If you want to pass doctype object as payload, you should add the required non-sensitive fields in `dashboard_fields` list in your doctype class. Check the `_process_document_payload` method ([ref](http://git.jingrow.com/jingrow/jcloude/blob/d548d10269fb31dacc5ce257a8ff2d41fe451d6a/press/utils/webhook.py#L66)) to understand that.
3. ⚠️ In the codebase, at many place we use `frappe.db.set_value` to set some specific field's value, it can cause little bit issues.

View File

@ -5,7 +5,7 @@ published: 1
---
This is information about doctypes required to manage benches and apps on FC
from [desk](https://frappecloud.com/app). Roughly, the build process goes
from [desk](https://jcloud.jingrow.com/app). Roughly, the build process goes
through these doctypes (that you're concerned with) in order.
App => App Source => Release Group => Deploy Candidate => Bench

View File

@ -22,7 +22,7 @@ These are the key doctypes that are related to subscription:
## Example scenario:
John registers on frappecloud.com with the email john@doe.com on 5 January,
John registers on jcloud.jingrow.com with the email john@doe.com on 5 January,
2021. A Team record will be created with the name **john@doe.com** and a Stripe
customer record will also be created and linked to this Team record.
@ -112,7 +112,7 @@ charged. A new invoice will be created for the upcoming month of February.
## Scheduler Events
### [subscription.create\_usage\_records](https://github.com/frappe/press/blob/master/press/press/doctype/subscription/subscription.py#L109) (hourly_long)
### [subscription.create\_usage\_records](http://git.jingrow.com/jingrow/jcloude/blob/master/press/press/doctype/subscription/subscription.py#L109) (hourly_long)
This job runs hourly and creates a Usage Record for every active Subscription.
It will not create more than one record per day for one Subscription even if it
@ -124,7 +124,7 @@ Now, for every Usage Record that is created, the amount is updated in the
corresponding invoice for that month. For e.g., if a Usage Record of $0.32 is
created in the month of January, the amount will updated in the January invoice.
### [invoice.finalize\_draft\_invoices](https://github.com/frappe/press/blob/master/press/press/doctype/invoice/invoice.py#L541) (Daily at 6pm IST)
### [invoice.finalize\_draft\_invoices](http://git.jingrow.com/jingrow/jcloude/blob/master/press/press/doctype/invoice/invoice.py#L541) (Daily at 6pm IST)
This job runs every day at 6pm IST. It will go through every Draft Invoice whose
period_end date has ended (today or before) and has a total amount greater than

View File

@ -29,7 +29,7 @@ You should have the following software packages installed on your computer befor
### Credentials from Frappe Assets
You will need access to the following IAM accounts. If you're working at Frappe, you can request them from `Frappe Assets` at frappe.io:
You will need access to the following IAM accounts. If you're working at Frappe, you can request them from `Frappe Assets` at framework.jingrow.com:
1. Hetzner
2. Digital Ocean
@ -77,7 +77,7 @@ Now, make sure you can `ssh` (as `root`) into all the three servers using thier
Create your `press` site
------------------------
On your computer, run `bench get-app https://github.com/frappe/press`.
On your computer, run `bench get-app http://git.jingrow.com/jingrow/jcloude`.
> If you are on a M series Mac computer and you get an error related to "go" when installing press. Here's what you can try:
>
@ -238,7 +238,7 @@ After some time, when the tasks have completed to run, the `Proxy Server` will g
If there is any error (for example, if the `Proxy Server` goes into `Broken` state) or a task keeps running forever, go to the `Error Log List` and you will most probably find a log that corresponds to the task and more information on why it failed.
> If the Ansible Task "Clone Agent Repository" fails, you might want to generate a personal access token and edit the git clone URL in `press/playbooks/roles/agent/tasks/main.yml` at the agent github URL line. It should be in the format: `"https://<github-username>:<personal-access-token>@github.com:/frappe/agent"`
> If the Ansible Task "Clone Agent Repository" fails, you might want to generate a personal access token and edit the git clone URL in `press/playbooks/roles/agent/tasks/main.yml` at the agent github URL line. It should be in the format: `"https://<github-username>:<personal-access-token>@github.com:/jingrow/agent"`
Setting up DB server (`m` server)
---------------------------------
@ -280,7 +280,7 @@ Under **Press Settings** > **Docker** > **Docker Build** set **Build Server** to
Now, when you run a _Build and Deploy_, the image that is created for the deployment will be built on the Build Server.
> **Note**: You need to add **sync** queue, in your common\_site\_config.json [**Ref**](https://github.com/frappe/press/blob/78a736c0acefcfce7d74767620688de5f7a2d059/deployment/common_site_config.json#L28)
> **Note**: You need to add **sync** queue, in your common\_site\_config.json [**Ref**](http://git.jingrow.com/jingrow/jcloude/blob/78a736c0acefcfce7d74767620688de5f7a2d059/deployment/common_site_config.json#L28)
>
> "workers": {
> "sync": {
@ -430,7 +430,7 @@ This will install additional tools commonly needed in development:
If you encounter test failures related to missing AWS services or other dev tools, ensure you have installed the development requirements.
Before running your tests, make sure to [set up pre-commit](https://github.com/frappe/press/blob/develop/setup-pre-commit.sh), follow the [testing guide](https://github.com/frappe/press/blob/develop/guide-to-testing.md), and refer to [the instructions for running tests](https://docs.frappe.io/framework/user/en/testing#running-tests) once all development dependencies are in place.
Before running your tests, make sure to [set up pre-commit](http://git.jingrow.com/jingrow/jcloude/blob/develop/setup-pre-commit.sh), follow the [testing guide](http://git.jingrow.com/jingrow/jcloude/blob/develop/guide-to-testing.md), and refer to [the instructions for running tests](https://docs.framework.jingrow.com/framework/user/en/testing#running-tests) once all development dependencies are in place.
Tips
----

View File

@ -3,7 +3,7 @@
Before we get into writing tests, please make sure you have pre-commit hook for
styling tools setup so CI won't fail from these
Instructions [here](https://github.com/frappe/press/issues/424#issuecomment-1193375098)
Instructions [here](http://git.jingrow.com/jingrow/jcloude/issues/424#issuecomment-1193375098)
# Writing Tests for Press
@ -66,16 +66,16 @@ keep reading.
There's also a decorator you can use to fake the result of an agent job. For
example, you may do it like so:
https://github.com/frappe/press/blob/983631ccb59f88e57fd60fdad1615e9abd87d99f/press/api/tests/test_site.py#L243-L247
http://git.jingrow.com/jingrow/jcloude/blob/983631ccb59f88e57fd60fdad1615e9abd87d99f/press/api/tests/test_site.py#L243-L247
This way you can use the name of the type of job and fake a response from the same.
You may also fake the output obtained from the job which you can then use to test the callback that uses the same:
https://github.com/frappe/press/blob/983631ccb59f88e57fd60fdad1615e9abd87d99f/press/api/tests/test_site.py#L305-L323
http://git.jingrow.com/jingrow/jcloude/blob/983631ccb59f88e57fd60fdad1615e9abd87d99f/press/api/tests/test_site.py#L305-L323
It is also possible to fake multiple jobs in the same context, for when multiple jobs are processed in the same request or job:
https://github.com/frappe/press/blob/983631ccb59f88e57fd60fdad1615e9abd87d99f/press/press/doctype/site_migration/test_site_migration.py#L29-L77
http://git.jingrow.com/jingrow/jcloude/blob/983631ccb59f88e57fd60fdad1615e9abd87d99f/press/press/doctype/site_migration/test_site_migration.py#L29-L77
> Note that with this, you can't fake 2 results for the same type of job. This is still a limitation. As a workaround, you can have multiple `with` statements for such cases.
@ -112,7 +112,7 @@ tell what it's trying to test is supposed without even having to read the code.
Making the method name small is pointless; we're never going to reference this
method anywhere in code, ever. Eg:
https://github.com/frappe/press/blob/2503e523284fb905eca60acf3271d3fb1dccbc3f/press/press/doctype/site/test_site.py#L215-L228
http://git.jingrow.com/jingrow/jcloude/blob/2503e523284fb905eca60acf3271d3fb1dccbc3f/press/press/doctype/site/test_site.py#L215-L228
You can also go the extra mile and write a function docstring. This docstring
will be shown in the output when the testrunner detects that the test has
@ -150,14 +150,14 @@ class TestBench(FrappeTestCase):
You can also use the patch decorator on test methods too. Eg:
https://github.com/frappe/press/blob/6dd6b2c8193b04f1aec1601d52ba09ce9dca8dfe/press/tests/test_cleanup.py#L280-L290
http://git.jingrow.com/jingrow/jcloude/blob/6dd6b2c8193b04f1aec1601d52ba09ce9dca8dfe/press/tests/test_cleanup.py#L280-L290
The decorator passes the mocked function (which is a `Mock()` object) along as
an argument, so you can later do asserts on it (if you want to).
You can even use the decorator as context manager if you don't want to mock
things for the entirety of the test.
https://github.com/frappe/press/blob/6dd6b2c8193b04f1aec1601d52ba09ce9dca8dfe/press/tests/test_audit.py#L97-L102
http://git.jingrow.com/jingrow/jcloude/blob/6dd6b2c8193b04f1aec1601d52ba09ce9dca8dfe/press/tests/test_audit.py#L97-L102
Here, we're actually faking the output of the function which usually calls a
remote endpoint that's out of our control by adding the `new` argument to the
@ -173,7 +173,7 @@ method.
> case you want to do asserts on it, you can use the `wraps` kwarg instead of
> new). Eg:
https://github.com/frappe/press/blob/23711e2799f2d24dfd7bbe2b6cd148f54f4b253b/press/press/doctype/database_server_mariadb_variable/test_database_server_mariadb_variable.py#L138-L155
http://git.jingrow.com/jingrow/jcloude/blob/23711e2799f2d24dfd7bbe2b6cd148f54f4b253b/press/press/doctype/database_server_mariadb_variable/test_database_server_mariadb_variable.py#L138-L155
Here, we check what args was Ansible constructor was called with.
@ -201,9 +201,9 @@ control/predict when the background job will run and finish. So, when your code
involves creating a background job, we can simply mock the call so that it runs
in foreground instead. There's a utility method you can use to achieve this with ease:
https://github.com/frappe/press/blob/23711e2799f2d24dfd7bbe2b6cd148f54f4b253b/press/press/doctype/database_server_mariadb_variable/test_database_server_mariadb_variable.py#L12
http://git.jingrow.com/jingrow/jcloude/blob/23711e2799f2d24dfd7bbe2b6cd148f54f4b253b/press/press/doctype/database_server_mariadb_variable/test_database_server_mariadb_variable.py#L12
https://github.com/frappe/press/blob/23711e2799f2d24dfd7bbe2b6cd148f54f4b253b/press/press/doctype/database_server_mariadb_variable/test_database_server_mariadb_variable.py#L104-L108
http://git.jingrow.com/jingrow/jcloude/blob/23711e2799f2d24dfd7bbe2b6cd148f54f4b253b/press/press/doctype/database_server_mariadb_variable/test_database_server_mariadb_variable.py#L104-L108
## Running tests
@ -239,6 +239,6 @@ to check out [this vim plugin](https://github.com/ankush/frappe_test.vim/) or
# References
- https://frappeframework.com/docs/v14/user/en/testing
- https://framework.jingrow.com/docs/v14/user/en/testing
- https://docs.python.org/3/library/unittest.mock.html
- https://learnvim.irian.to/basics/compile

View File

@ -24,9 +24,9 @@ class SessionMetadata:
class OtpLogin:
def __init__(self, email: str):
self.email = email
self.opt_url = "https://frappecloud.com/api/method/press.api.account.send_otp"
self.login_url = "https://frappecloud.com/api/method/press.api.account.verify_otp_and_login"
self.me = "https://frappecloud.com/api/method/press.api.account.get"
self.opt_url = "https://jcloud.jingrow.com/api/method/press.api.account.send_otp"
self.login_url = "https://jcloud.jingrow.com/api/method/press.api.account.verify_otp_and_login"
self.me = "https://jcloud.jingrow.com/api/method/press.api.account.get"
def send_otp(self):
"""Send otp to the email address"""

View File

@ -19,7 +19,7 @@ class CloudSession(Session):
def __init__(self, session_id: str):
super().__init__()
self.base_url = "https://frappecloud.com/api/method/"
self.base_url = "https://jcloud.jingrow.com/api/method/"
self.cookies.set("sid", session_id)
def request(self, method, url, *args, **kwargs) -> dict[str, str]:

View File

@ -5,7 +5,7 @@ readme = "README.md"
license = "AGPL-3.0-only"
requires-python = ">=3.10"
authors = [
{ name = "Frappe Technologies Pvt Ltd", email = "developers@frappe.io" },
{ name = "Frappe Technologies Pvt Ltd", email = "developers@framework.jingrow.com" },
]
classifiers = [
"Development Status :: 5 - Production/Stable",
@ -30,10 +30,10 @@ dynamic = [
press-cli = "fc.main:app"
[project.urls]
Changelog = "https://github.com/frappe/press/releases"
Documentation = "https://frappecloud.com/docs/user/en/bench"
Homepage = "https://frappecloud.com"
Source = "https://github.com/frappe/press"
Changelog = "http://git.jingrow.com/jingrow/jcloude/releases"
Documentation = "https://jcloud.jingrow.com/docs/user/en/bench"
Homepage = "https://jcloud.jingrow.com"
Source = "http://git.jingrow.com/jingrow/jcloude"
[build-system]
requires = [

View File

@ -67,7 +67,7 @@ type Team struct {
}
func GetSession() Session {
defaultServer := "frappecloud.com"
defaultServer := "jcloud.jingrow.com"
// Check if session file exists
if fileExists(sessionFile) {

View File

@ -6,7 +6,7 @@ readme = "README.md"
requires-python = ">=3.7"
license = { text = "MIT" }
authors = [
{ name = "Frappe Cloud", email = "cloud@frappe.io" }
{ name = "Frappe Cloud", email = "cloud@framework.jingrow.com" }
]
dependencies = [
"duckdb==1.2.2"

View File

@ -32,7 +32,7 @@ rules:
exclude:
- "test_*.py"
message: |
The PR contains a SQL query that may be re-written with frappe.qb (https://frappeframework.com/docs/user/en/api/query-builder) or the Database API (https://frappeframework.com/docs/user/en/api/database)
The PR contains a SQL query that may be re-written with frappe.qb (https://framework.jingrow.com/docs/user/en/api/query-builder) or the Database API (https://framework.jingrow.com/docs/user/en/api/database)
languages: [python]
severity: WARNING

View File

@ -27,7 +27,7 @@ def handle_suspended_site_redirection():
@dashboard_whitelist()
def download_ssl_cert(domain: str):
if (
not (domain.endswith("frappe.cloud") or domain.endswith("frappecloud.com"))
not (domain.endswith("frappe.cloud") or domain.endswith("jcloud.jingrow.com"))
and not frappe.conf.developer_mode
):
frappe.throw("Invalid domain provided")

View File

@ -947,7 +947,7 @@ def redirect_to(location):
def get_frappe_io_auth_url() -> str | None:
"""Get auth url for oauth login with frappe.io."""
"""Get auth url for oauth login with framework.jingrow.com."""
try:
provider = frappe.get_last_pg(

View File

@ -253,7 +253,7 @@ def fetch_invoice_items(invoice):
@frappe.whitelist()
@role_guard.api("billing")
def get_customer_details(team):
"""This method is called by frappe.io for creating Customer and Address"""
"""This method is called by framework.jingrow.com for creating Customer and Address"""
team_pg = frappe.db.get_value("Team", team, "*")
return {
"team": team_pg,

View File

@ -222,7 +222,7 @@ def is_user_logged_in(user):
def check_if_user_can_login(team_info, site_info):
if team_info.get("enforce_2fa"):
frappe.throw(
"Sorry, you cannot login with this method as 2FA is enabled. Please visit https://frappecloud.com/dashboard to login."
"Sorry, you cannot login with this method as 2FA is enabled. Please visit https://jcloud.jingrow.com/dashboard to login."
)
if (
team_info.get("user") == "Administrator"

View File

@ -127,7 +127,7 @@ def validate_plan(secret_key):
except Exception as e:
frappe.throw(
str(e)
or "Something went wrong fetching subscription details of Email Delivery Service. Please raise a ticket at support.frappe.io",
or "Something went wrong fetching subscription details of Email Delivery Service. Please raise a ticket at support.framework.jingrow.com",
type(e),
)
@ -236,7 +236,7 @@ def send_mime_mail(**data):
frappe.throw(f"Something went wrong with sending emails: {err_msg}", InvalidEmail)
log_error("Email Delivery Service: Sending error", response=resp.text, data=data, message=message)
frappe.throw(
"Something went wrong with sending emails. Please try again later or raise a support ticket with support.frappe.io",
"Something went wrong with sending emails. Please try again later or raise a support ticket with support.framework.jingrow.com",
EmailSendError,
)
return None

View File

@ -125,7 +125,7 @@ def callback(code=None, state=None): # noqa: C901
def invalid_login():
frappe.local.response["http_status_code"] = 401
return "Invalid state parameter. The session timed out. Please try again or contact Frappe Cloud support at https://frappecloud.com/support"
return "Invalid state parameter. The session timed out. Please try again or contact Frappe Cloud support at https://jcloud.jingrow.com/support"
def google_oauth_flow():

View File

@ -61,7 +61,7 @@ def callback(code=None, state=None):
pass
else:
frappe.local.response["http_status_code"] = 401
return "Invalid state parameter. The session timed out. Please try again or contact Frappe Cloud support at https://frappecloud.com/support"
return "Invalid state parameter. The session timed out. Please try again or contact Frappe Cloud support at https://jcloud.jingrow.com/support"
try:
flow = google_oauth_flow()

View File

@ -70,7 +70,7 @@ def login_using_code(email: str, product: str, code: str):
if not team.enabled:
frappe.throw("Your account is disabled. Please contact support.")
if team.enforce_2fa:
frappe.throw("Your account has 2FA enabled. Please go to frappecloud.com to login.")
frappe.throw("Your account has 2FA enabled. Please go to jcloud.jingrow.com to login.")
# validate code
code_hash_from_cache = frappe.cache.get_value(f"product_trial_login_verification_code:{email}")

View File

@ -772,7 +772,7 @@ def benches_are_idle(server: str, access_token: str) -> None:
"""Shut down the secondary server if all benches are idle.
This function is only triggered by secondary servers:
https://github.com/frappe/agent/pull/346/files#diff-7355d9c50cadfa3f4c74fc77a4ad8ab08e4da8f6c3326bbf9b0de0f00a0aa0daR87-R93
http://git.jingrow.com/jingrow/agent/pull/346/files#diff-7355d9c50cadfa3f4c74fc77a4ad8ab08e4da8f6c3326bbf9b0de0f00a0aa0daR87-R93
"""
from passlib.hash import pbkdf2_sha256 as pbkdf2

View File

@ -8,7 +8,7 @@ app_publisher = "Frappe"
app_description = "Managed Frappe Hosting"
app_icon = "octicon octicon-rocket"
app_color = "grey"
app_email = "aditya@frappe.io"
app_email = "aditya@framework.jingrow.com"
app_license = "GNU Affero General Public License v3.0"
version = app_version

View File

@ -4,7 +4,7 @@
become_user: frappe
git:
repo: '{{ agent_repository_url }}'
dest: /home/frappe/agent/repo
dest: /home/jingrow/agent/repo
remote: upstream
version: '{% if agent_branch is defined and agent_branch is truthy %} {{ agent_branch }} {% else %} master {% endif %}'
update: yes
@ -13,56 +13,56 @@
become: yes
become_user: frappe
pip:
name: file:///home/frappe/agent/repo
virtualenv: /home/frappe/agent/env
name: file:///home/jingrow/agent/repo
virtualenv: /home/jingrow/agent/env
virtualenv_python: python3
editable: yes
- name: Generate Agent Configuration File
become: yes
become_user: frappe
command: '/home/frappe/agent/env/bin/agent setup config --name {{ server }} --workers {{ workers }} {% if proxy_ip is defined and proxy_ip is truthy %}--proxy-ip {{ proxy_ip }}{% endif %} {% if agent_sentry_dsn is defined and agent_sentry_dsn is truthy %}--sentry-dsn {{ agent_sentry_dsn }}{% endif %}'
command: '/home/jingrow/agent/env/bin/agent setup config --name {{ server }} --workers {{ workers }} {% if proxy_ip is defined and proxy_ip is truthy %}--proxy-ip {{ proxy_ip }}{% endif %} {% if agent_sentry_dsn is defined and agent_sentry_dsn is truthy %}--sentry-dsn {{ agent_sentry_dsn }}{% endif %}'
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Setup Agent SQLite Database
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent setup database
command: /home/jingrow/agent/env/bin/agent setup database
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Setup Agent Usage Tracker
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent setup usage
command: /home/jingrow/agent/env/bin/agent setup usage
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Setup Agent Site Analytics Tracker
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent setup site-analytics
command: /home/jingrow/agent/env/bin/agent setup site-analytics
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Create Agent NGINX Configuration Directory
become: yes
become_user: frappe
file:
dest: /home/frappe/agent/nginx
dest: /home/jingrow/agent/nginx
state: directory
- name: Setup Agent Authentication
become: yes
become_user: frappe
command: '/home/frappe/agent/env/bin/agent setup authentication --password {{ agent_password }}'
command: '/home/jingrow/agent/env/bin/agent setup authentication --password {{ agent_password }}'
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Symlink Agent Supervisor Configuration
file:
src: /home/frappe/agent/supervisor.conf
src: /home/jingrow/agent/supervisor.conf
dest: /etc/supervisor/conf.d/agent.conf
state: link
force: yes
@ -72,26 +72,26 @@
become: yes
become_user: frappe
file:
dest: /home/frappe/agent/logs
dest: /home/jingrow/agent/logs
state: directory
- name: Setup Agent Supervisor
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent setup supervisor
command: /home/jingrow/agent/env/bin/agent setup supervisor
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Create NGINX Root Configuration File
become: yes
become_user: frappe
file:
path: /home/frappe/agent/nginx/nginx.conf
path: /home/jingrow/agent/nginx/nginx.conf
state: touch
- name: Symlink NGINX Root Configuration File
file:
src: /home/frappe/agent/nginx/nginx.conf
src: /home/jingrow/agent/nginx/nginx.conf
dest: /etc/nginx/nginx.conf
state: link
force: yes
@ -101,12 +101,12 @@
become: yes
become_user: frappe
file:
path: /home/frappe/agent/nginx.conf
path: /home/jingrow/agent/nginx.conf
state: touch
- name: Symlink Agent NGINX Configuration File
file:
src: /home/frappe/agent/nginx.conf
src: /home/jingrow/agent/nginx.conf
dest: /etc/nginx/conf.d/agent.conf
state: link
force: yes
@ -116,7 +116,7 @@
become: yes
become_user: frappe
file:
dest: /home/frappe/agent/tls
dest: /home/jingrow/agent/tls
state: directory
- name: Setup Agent TLS (Private Key)
@ -124,30 +124,30 @@
become_user: frappe
copy:
content: '{{ certificate_private_key }}'
dest: /home/frappe/agent/tls/privkey.pem
dest: /home/jingrow/agent/tls/privkey.pem
- name: Setup Agent TLS (Full Chain)
become: yes
become_user: frappe
copy:
content: '{{ certificate_full_chain }}'
dest: /home/frappe/agent/tls/fullchain.pem
dest: /home/jingrow/agent/tls/fullchain.pem
- name: Setup Agent TLS (Intermediate Chain)
become: yes
become_user: frappe
copy:
content: '{{ certificate_intermediate_chain }}'
dest: /home/frappe/agent/tls/chain.pem
dest: /home/jingrow/agent/tls/chain.pem
- name: Setup Agent NGINX
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent setup nginx
command: /home/jingrow/agent/env/bin/agent setup nginx
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Setup Monitoring Authentication
become: yes
become_user: frappe
command: 'htpasswd -Bbc /home/frappe/agent/nginx/monitoring.htpasswd frappe {{ monitoring_password }}'
command: 'htpasswd -Bbc /home/jingrow/agent/nginx/monitoring.htpasswd frappe {{ monitoring_password }}'

View File

@ -2,53 +2,53 @@
- name: Generate Agent Configuration File
become: yes
become_user: frappe
command: '/home/frappe/agent/env/bin/agent setup config --name {{ server }} --workers {{ workers }} {% if proxy_ip is defined %}--proxy-ip {{ proxy_ip }}{% endif %}'
command: '/home/jingrow/agent/env/bin/agent setup config --name {{ server }} --workers {{ workers }} {% if proxy_ip is defined %}--proxy-ip {{ proxy_ip }}{% endif %}'
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Setup Agent Authentication
become: yes
become_user: frappe
command: '/home/frappe/agent/env/bin/agent setup authentication --password {{ agent_password }}'
command: '/home/jingrow/agent/env/bin/agent setup authentication --password {{ agent_password }}'
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Setup Agent Supervisor
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent setup supervisor
command: /home/jingrow/agent/env/bin/agent setup supervisor
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Setup Agent TLS (Private Key)
become: yes
become_user: frappe
copy:
content: '{{ certificate_private_key }}'
dest: /home/frappe/agent/tls/privkey.pem
dest: /home/jingrow/agent/tls/privkey.pem
- name: Setup Agent TLS (Full Chain)
become: yes
become_user: frappe
copy:
content: '{{ certificate_full_chain }}'
dest: /home/frappe/agent/tls/fullchain.pem
dest: /home/jingrow/agent/tls/fullchain.pem
- name: Setup Agent TLS (Intermediate Chain)
become: yes
become_user: frappe
copy:
content: '{{ certificate_intermediate_chain }}'
dest: /home/frappe/agent/tls/chain.pem
dest: /home/jingrow/agent/tls/chain.pem
- name: Setup Agent NGINX
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent setup nginx
command: /home/jingrow/agent/env/bin/agent setup nginx
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Setup Monitoring Authentication
become: yes
become_user: frappe
command: 'htpasswd -Bbc /home/frappe/agent/nginx/monitoring.htpasswd frappe {{ monitoring_password }}'
command: 'htpasswd -Bbc /home/jingrow/agent/nginx/monitoring.htpasswd frappe {{ monitoring_password }}'

View File

@ -2,6 +2,6 @@
- name: Setup Agent Sentry
become: yes
become_user: frappe
command: '/home/frappe/agent/env/bin/agent setup sentry --sentry-dsn {{ agent_sentry_dsn }}'
command: '/home/jingrow/agent/env/bin/agent setup sentry --sentry-dsn {{ agent_sentry_dsn }}'
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent

View File

@ -2,20 +2,20 @@
- name: Generate Agent Configuration File
become: yes
become_user: frappe
command: '/home/frappe/agent/env/bin/agent setup config --name {{ server }} --workers {{ workers }} {% if proxy_ip is defined %}--proxy-ip {{ proxy_ip }}{% endif %}'
command: '/home/jingrow/agent/env/bin/agent setup config --name {{ server }} --workers {{ workers }} {% if proxy_ip is defined %}--proxy-ip {{ proxy_ip }}{% endif %}'
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Setup Agent Authentication
become: yes
become_user: frappe
command: '/home/frappe/agent/env/bin/agent setup authentication --password {{ agent_password }}'
command: '/home/jingrow/agent/env/bin/agent setup authentication --password {{ agent_password }}'
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Setup Agent NGINX
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent setup nginx
command: /home/jingrow/agent/env/bin/agent setup nginx
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent

View File

@ -19,11 +19,11 @@
- name: Setup Elasticsearch Authentication
become: yes
become_user: frappe
command: "htpasswd -Bbc /home/frappe/agent/nginx/kibana.htpasswd frappe {{ kibana_password }}"
command: "htpasswd -Bbc /home/jingrow/agent/nginx/kibana.htpasswd frappe {{ kibana_password }}"
- name: Setup NGINX for Elasticsearch
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent setup log
command: /home/jingrow/agent/env/bin/agent setup log
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent

View File

@ -77,7 +77,7 @@ echo "0 0,12 * * * root /opt/certbot/bin/python -c 'import random; import time;
Reference: https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal
#### Add frankfurter to blocked subdomains on FrappeCloud.com
https://frappecloud.com/app/blocked-domain/frankfurter
https://jcloud.jingrow.com/app/blocked-domain/frankfurter
### Done
```sh

View File

@ -33,6 +33,6 @@
become: yes
become_user: frappe
# This isn't implemented yet
command: /home/frappe/agent/env/bin/agent setup frankfurter
command: /home/jingrow/agent/env/bin/agent setup frankfurter
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent

View File

@ -76,16 +76,16 @@
- name: Setup Grafana Authentication
become: yes
become_user: frappe
command: "htpasswd -Bbc /home/frappe/agent/nginx/grafana.htpasswd frappe {{ grafana_password }}"
command: "htpasswd -Bbc /home/jingrow/agent/nginx/grafana.htpasswd frappe {{ grafana_password }}"
- name: Setup Grafana HTTP Authentication
become: yes
become_user: frappe
command: "htpasswd -Bbc /home/frappe/agent/nginx/grafana-ui.htpasswd admin {{ grafana_password }}"
command: "htpasswd -Bbc /home/jingrow/agent/nginx/grafana-ui.htpasswd admin {{ grafana_password }}"
- name: Setup Agent NGINX
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent setup nginx
command: /home/jingrow/agent/env/bin/agent setup nginx
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent

View File

@ -6,7 +6,7 @@
- name: Get migrate script
get_url:
url: https://frappecloud.com/assets/press/migrate_2
url: https://jcloud.jingrow.com/assets/press/migrate_2
dest: '/home/frappe/benches/{{ bench }}/migrate_2'
validate_certs: no

View File

@ -2,4 +2,4 @@
- name: Setup Monitoring Authentication
become: yes
become_user: frappe
command: "htpasswd -Bbc /home/frappe/agent/nginx/monitoring.htpasswd frappe {{ monitoring_password }}"
command: "htpasswd -Bbc /home/jingrow/agent/nginx/monitoring.htpasswd frappe {{ monitoring_password }}"

View File

@ -39,6 +39,6 @@
- name: Setup NGINX Proxy for Plausible
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent setup analytics
command: /home/jingrow/agent/env/bin/agent setup analytics
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent

View File

@ -1,4 +1,4 @@
ADMIN_USER_EMAIL=aditya@frappe.io
ADMIN_USER_EMAIL=aditya@framework.jingrow.com
ADMIN_USER_NAME=Aditya
ADMIN_USER_PWD={{ plausible_password }}
@ -7,7 +7,7 @@ SECRET_KEY_BASE={{ plausible_secret }}
DISABLE_REGISTRATION=true
MAILER_EMAIL=notifications@frappecloud.com
MAILER_EMAIL=notifications@jcloud.jingrow.com
SMTP_HOST_ADDR={{ plausible_mail_server }}
SMTP_HOST_PORT={{ plausible_mail_port }}

View File

@ -5,9 +5,9 @@ settings {
sync {
default.rsyncssh,
source="/home/frappe/agent/nginx",
source="/home/jingrow/agent/nginx",
host="{{ secondary_private_ip }}",
targetdir="/home/frappe/agent/nginx",
targetdir="/home/jingrow/agent/nginx",
rsync = {
archive = true,
acls = true,

View File

@ -111,13 +111,13 @@
- name: Setup Agent Based Discovery
become: yes
become_user: frappe
command: "/home/frappe/agent/env/bin/agent setup monitor --url {{ press_url }} --token {{ monitor_token }}"
command: "/home/jingrow/agent/env/bin/agent setup monitor --url {{ press_url }} --token {{ monitor_token }}"
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Setup Cronjob for Agent Based Discovery
become: yes
become_user: frappe
cron:
name: agent discovery
job: cd /home/frappe/agent && /home/frappe/agent/env/bin/agent discover
job: cd /home/jingrow/agent && /home/jingrow/agent/env/bin/agent discover

View File

@ -3,26 +3,26 @@
become: yes
become_user: frappe
file:
path: /home/frappe/agent/nginx/hosts
path: /home/jingrow/agent/nginx/hosts
state: directory
- name: Create Agent NGINX Upstream Directory
become: yes
become_user: frappe
file:
path: /home/frappe/agent/nginx/upstreams
path: /home/jingrow/agent/nginx/upstreams
state: directory
- name: Create NGINX Proxy Configuration File
become: yes
become_user: frappe
file:
path: /home/frappe/agent/nginx/proxy.conf
path: /home/jingrow/agent/nginx/proxy.conf
state: touch
- name: Symlink NGINX Proxy Configuration File
file:
src: /home/frappe/agent/nginx/proxy.conf
src: /home/jingrow/agent/nginx/proxy.conf
dest: /etc/nginx/conf.d/proxy.conf
state: link
force: yes
@ -31,6 +31,6 @@
- name: Setup Agent Proxy
become: yes
become_user: frappe
command: '/home/frappe/agent/env/bin/agent setup proxy --domain {{ domain }} --press-url {{ press_url }}'
command: '/home/jingrow/agent/env/bin/agent setup proxy --domain {{ domain }} --press-url {{ press_url }}'
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent

View File

@ -8,21 +8,21 @@
- name: Copy ProxySQL TLS (Private Key)
copy:
src: /home/frappe/agent/tls/privkey.pem
src: /home/jingrow/agent/tls/privkey.pem
dest: /home/frappe/proxysql/proxysql-key.pem
mode: 0600
remote_src: yes
- name: Copy ProxySQL TLS (CA Certificate)
copy:
src: /home/frappe/agent/tls/chain.pem
src: /home/jingrow/agent/tls/chain.pem
dest: /home/frappe/proxysql/proxysql-ca.pem
mode: 0600
remote_src: yes
- name: Copy ProxySQL TLS (Server Certificate)
copy:
src: /home/frappe/agent/tls/fullchain.pem
src: /home/jingrow/agent/tls/fullchain.pem
dest: /home/frappe/proxysql/proxysql-cert.pem
mode: 0600
remote_src: yes
@ -63,6 +63,6 @@
- name: Setup Agent ProxySQL
become: yes
become_user: frappe
command: "/home/frappe/agent/env/bin/agent setup proxysql --password {{ proxysql_admin_password }}"
command: "/home/jingrow/agent/env/bin/agent setup proxysql --password {{ proxysql_admin_password }}"
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent

View File

@ -69,6 +69,6 @@
- name: Setup NGINX for Registry
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent setup registry
command: /home/jingrow/agent/env/bin/agent setup registry
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent

View File

@ -85,6 +85,6 @@
- name: Setup NGINX Proxy for Sentry
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent setup trace
command: /home/jingrow/agent/env/bin/agent setup trace
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent

View File

@ -8,8 +8,8 @@ mail.username: '{{ sentry_mail_login }}'
mail.password: '{{ sentry_mail_password }}'
mail.use-tls: true
mail.from: 'notifications@frappecloud.com'
mail.list-namespace: 'frappecloud.com'
mail.from: 'notifications@jcloud.jingrow.com'
mail.list-namespace: 'jcloud.jingrow.com'
###################
# System Settings #

View File

@ -2,4 +2,4 @@
- name: Allow PySpy To Run With Elevated Permissions
become: yes
become_user: root
command: /home/frappe/agent/env/bin/agent setup pyspy
command: /home/jingrow/agent/env/bin/agent setup pyspy

View File

@ -3,19 +3,19 @@
become: yes
become_user: frappe
file:
path: /home/frappe/agent/nginx/hosts
path: /home/jingrow/agent/nginx/hosts
state: directory
- name: Create Agent NGINX Upstream Directory
become: yes
become_user: frappe
file:
path: /home/frappe/agent/nginx/upstreams
path: /home/jingrow/agent/nginx/upstreams
state: directory
- name: Setup Agent Standalone
become: yes
become_user: frappe
command: '/home/frappe/agent/env/bin/agent setup standalone --domain {{ domain }}'
command: '/home/jingrow/agent/env/bin/agent setup standalone --domain {{ domain }}'
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent

View File

@ -2,6 +2,6 @@
- name: Start Benches
become: yes
become_user: frappe
command: '/home/frappe/agent/env/bin/agent bench start {{ benches }}'
command: '/home/jingrow/agent/env/bin/agent bench start {{ benches }}'
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent

View File

@ -2,6 +2,6 @@
- name: Stop Benches
become: yes
become_user: frappe
command: '/home/frappe/agent/env/bin/agent bench stop'
command: '/home/jingrow/agent/env/bin/agent bench stop'
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent

View File

@ -4,21 +4,21 @@
become_user: frappe
copy:
content: "{{ certificate_private_key }}"
dest: /home/frappe/agent/tls/privkey.pem
dest: /home/jingrow/agent/tls/privkey.pem
- name: Setup Agent TLS (Full Chain)
become: yes
become_user: frappe
copy:
content: "{{ certificate_full_chain }}"
dest: /home/frappe/agent/tls/fullchain.pem
dest: /home/jingrow/agent/tls/fullchain.pem
- name: Setup Agent TLS (Intermediate Chain)
become: yes
become_user: frappe
copy:
content: "{{ certificate_intermediate_chain }}"
dest: /home/frappe/agent/tls/chain.pem
dest: /home/jingrow/agent/tls/chain.pem
- name: Restart NGINX
service:
@ -27,7 +27,7 @@
- name: Copy ProxySQL TLS (Private Key)
copy:
src: /home/frappe/agent/tls/privkey.pem
src: /home/jingrow/agent/tls/privkey.pem
dest: /home/frappe/proxysql/proxysql-key.pem
mode: 0600
remote_src: yes
@ -35,7 +35,7 @@
- name: Copy ProxySQL TLS (CA Certificate)
copy:
src: /home/frappe/agent/tls/chain.pem
src: /home/jingrow/agent/tls/chain.pem
dest: /home/frappe/proxysql/proxysql-ca.pem
mode: 0600
remote_src: yes
@ -43,7 +43,7 @@
- name: Copy ProxySQL TLS (Server Certificate)
copy:
src: /home/frappe/agent/tls/fullchain.pem
src: /home/jingrow/agent/tls/fullchain.pem
dest: /home/frappe/proxysql/proxysql-cert.pem
mode: 0600
remote_src: yes

View File

@ -4,14 +4,14 @@
become_user: frappe
command: 'git remote set-url upstream {{ agent_repository_url }}'
args:
chdir: /home/frappe/agent/repo
chdir: /home/jingrow/agent/repo
- name: Fetch Agent Upstream
become: yes
become_user: frappe
command: 'git fetch upstream'
args:
chdir: /home/frappe/agent/repo
chdir: /home/jingrow/agent/repo
- name: Checkout specified commit or branch
become: yes
@ -21,44 +21,44 @@
git reset --hard {{ agent_repository_branch_or_commit_ref }}
git clean -fd
args:
chdir: /home/frappe/agent/repo
chdir: /home/jingrow/agent/repo
- name: Install Python Requirements
become: yes
become_user: frappe
command: './env/bin/pip install -r ./repo/requirements.txt'
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Install Agent
command: './env/bin/pip install -e /home/frappe/agent/repo'
command: './env/bin/pip install -e /home/jingrow/agent/repo'
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Update Agent database
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent setup database
command: /home/jingrow/agent/env/bin/agent setup database
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Run agent db patches
become: yes
become_user: frappe
command: /home/frappe/agent/env/bin/agent run-patches
command: /home/jingrow/agent/env/bin/agent run-patches
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Update Agent
become: yes
become_user: frappe
command: '/home/frappe/agent/env/bin/agent update {{ agent_update_args }}'
command: '/home/jingrow/agent/env/bin/agent update {{ agent_update_args }}'
args:
chdir: /home/frappe/agent
chdir: /home/jingrow/agent
- name: Set Ownership of Agent Logs to Frappe user
file:
path: /home/frappe/agent/logs
path: /home/jingrow/agent/logs
owner: frappe
group: frappe
recurse: yes

View File

@ -3,7 +3,7 @@
block:
- name: Setup certificate-authority key file
get_url:
url: "https://frappecloud.com/files/ca.pub"
url: "https://jcloud.jingrow.com/files/ca.pub"
dest: /etc/ssh/ca.pub
- name: Set key file permissions to 0644

View File

@ -12,10 +12,10 @@ import frappe
Used to create notifications if the Agent Job error is something that can
be handled by the user.
Based on https://github.com/frappe/press/pull/1544
Based on http://git.jingrow.com/jingrow/jcloude/pull/1544
To handle an error:
1. Create a pg page that helps the user get out of it under: docs.frappe.io/cloud/common-issues
1. Create a pg page that helps the user get out of it under: docs.framework.jingrow.com/cloud/common-issues
2. Check if the error is the known/expected one in `get_details`.
3. Update the details object with the correct values.
"""
@ -64,14 +64,14 @@ class JobErr(Enum):
PG_URLS = {
JobErr.OOM: "https://docs.frappe.io/cloud/common-issues/oom-issues",
JobErr.ROW_SIZE_TOO_LARGE: "https://docs.frappe.io/cloud/faq/site#row-size-too-large-error-on-migrate",
JobErr.DATA_TRUNCATED_FOR_COLUMN: "https://docs.frappe.io/cloud/faq/site#data-truncated-for-column",
JobErr.OOM: "https://docs.framework.jingrow.com/cloud/common-issues/oom-issues",
JobErr.ROW_SIZE_TOO_LARGE: "https://docs.framework.jingrow.com/cloud/faq/site#row-size-too-large-error-on-migrate",
JobErr.DATA_TRUNCATED_FOR_COLUMN: "https://docs.framework.jingrow.com/cloud/faq/site#data-truncated-for-column",
JobErr.BROKEN_PIPE_ERR: None,
JobErr.CANT_CONNECT_TO_MYSQL: "https://docs.frappe.io/cloud/cant-connect-to-mysql-server",
JobErr.GZIP_TAR_ERR: "https://docs.frappe.io/cloud/sites/migrate-an-existing-site#tar-gzip-command-fails-with-unexpected-eof",
JobErr.UNKNOWN_COMMAND_HYPHEN: "https://docs.frappe.io/cloud/unknown-command-",
JobErr.RQ_JOBS_IN_QUEUE: "https://docs.frappe.io/cloud/faq/site#how-do-i-deactivate-my-site-",
JobErr.CANT_CONNECT_TO_MYSQL: "https://docs.framework.jingrow.com/cloud/cant-connect-to-mysql-server",
JobErr.GZIP_TAR_ERR: "https://docs.framework.jingrow.com/cloud/sites/migrate-an-existing-site#tar-gzip-command-fails-with-unexpected-eof",
JobErr.UNKNOWN_COMMAND_HYPHEN: "https://docs.framework.jingrow.com/cloud/unknown-command-",
JobErr.RQ_JOBS_IN_QUEUE: "https://docs.framework.jingrow.com/cloud/faq/site#how-do-i-deactivate-my-site-",
}

View File

@ -1,4 +1,4 @@
Added following locations to NGINX config on frappecloud.com
Added following locations to NGINX config on jcloud.jingrow.com
Some adblockers don't seem to like third party domains and "plausible.js"

Some files were not shown because too many files have changed in this diff Show More