update /frappe/agent - /jingrow/agent
This commit is contained in:
parent
c641f07c64
commit
64dcfee067
22
README.md
22
README.md
@ -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**
|
||||
|
||||
[](https://codecov.io/gh/frappe/press)
|
||||
[](https://github.com/frappe/press/actions/workflows/main.yaml)
|
||||
[](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>
|
||||
|
||||
@ -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',
|
||||
);
|
||||
},
|
||||
|
||||
@ -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.',
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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' },
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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`" />
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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' },
|
||||
|
||||
@ -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.',
|
||||
);
|
||||
|
||||
@ -111,7 +111,7 @@ export default {
|
||||
width: 0.5,
|
||||
},
|
||||
],
|
||||
documentation: 'https://school.frappe.io',
|
||||
documentation: 'https://school.framework.jingrow.com',
|
||||
actions() {
|
||||
return [
|
||||
{
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
>
|
||||
|
||||
@ -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">
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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);
|
||||
},
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -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'), {})],
|
||||
|
||||
@ -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',
|
||||
);
|
||||
},
|
||||
|
||||
@ -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',
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
@ -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);
|
||||
},
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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
|
||||
>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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 />
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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" />
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -49,15 +49,15 @@
|
||||
class="mr-0.5 py-1 align-baseline"
|
||||
/>
|
||||
I agree to Frappe
|
||||
<Link href="https://frappecloud.com/terms" target="_blank">
|
||||
<Link href="https://jcloud.jingrow.com/terms" target="_blank">
|
||||
Terms of Service </Link
|
||||
>,
|
||||
<Link href="https://frappecloud.com/privacy" target="_blank">
|
||||
<Link href="https://jcloud.jingrow.com/privacy" target="_blank">
|
||||
Privacy Policy
|
||||
</Link>
|
||||
&
|
||||
<Link
|
||||
href="https://frappecloud.com/cookie-policy"
|
||||
href="https://jcloud.jingrow.com/cookie-policy"
|
||||
target="_blank"
|
||||
>
|
||||
Cookie Policy
|
||||
|
||||
@ -66,15 +66,15 @@
|
||||
class="mr-0.5 py-1 align-baseline"
|
||||
/>
|
||||
I agree to Frappe
|
||||
<Link href="https://frappecloud.com/terms" target="_blank">
|
||||
<Link href="https://jcloud.jingrow.com/terms" target="_blank">
|
||||
Terms of Service </Link
|
||||
>,
|
||||
<Link href="https://frappecloud.com/privacy" target="_blank">
|
||||
<Link href="https://jcloud.jingrow.com/privacy" target="_blank">
|
||||
Privacy Policy
|
||||
</Link>
|
||||
&
|
||||
<Link
|
||||
href="https://frappecloud.com/cookie-policy"
|
||||
href="https://jcloud.jingrow.com/cookie-policy"
|
||||
target="_blank"
|
||||
>
|
||||
Cookie Policy
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||
@ -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:
|
||||
|
||||
|
||||
@ -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, they’ll 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`
|
||||
|
||||

|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
---
|
||||
route: billing-and-subscription-internal
|
||||
allow_guest: 1
|
||||
published: 1
|
||||
---
|
||||
|
||||
---
|
||||
route: billing-and-subscription-internal
|
||||
allow_guest: 1
|
||||
published: 1
|
||||
---
|
||||
|
||||
This page describes how Subscription Management works in Frappe Cloud.
|
||||
|
||||
## DocTypes
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
----
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"""
|
||||
|
||||
@ -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]:
|
||||
|
||||
@ -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 = [
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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")
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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():
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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}")
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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 }}'
|
||||
|
||||
@ -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 }}'
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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 }}"
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 }}
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 #
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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-",
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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
Loading…
x
Reference in New Issue
Block a user