Skip to content

Commit

Permalink
(docs): Adding the new Live Service Templates page. Making sure to ma…
Browse files Browse the repository at this point in the history
…ke the necessary changes to the Platform Console page.
  • Loading branch information
dericksozo committed Oct 15, 2024
1 parent 2526c9f commit cd75b49
Show file tree
Hide file tree
Showing 9 changed files with 175 additions and 69 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
148 changes: 148 additions & 0 deletions docs/how-to/live-service-templates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
---
title: Live Service Templates
description: Learn about Amplication's Live Service Templates feature for creating and managing standardized service templates.
sidebar_label: Live Service Templates
slug: /live-service-templates
---

# Live Service Templates

Live Service Templates let your team define, manage, and maintain standardized templates for backend services. This feature enhances consistency across your projects and streamlines the process of creating new services.

:::note
The Live Service Templates feature is currently in beta.
:::

## Overview

Live Service Templates introduce several key components:

1. **Service Templates**: Pre-configured service blueprints that serve as a foundation for creating new services.
2. **Template-based Services**: New services created from existing templates, inheriting all settings and configurations.
3. **Template Management**: Tools for creating, editing, and maintaining service templates.

## Create a Service Template

Navigate to the [Platform Console](/platform-console) dashboard. Click on "Create Template".

The Service Template Creation Wizard will guide you through the process of setting up your template.

1. **Select Technologies**: Choose the name and back-end framework for your template.

![Live Service Template Name and Stack](./assets/live-service-templates/name-and-stack.png)

2. **Choose APIs**: Select which APIs to include (REST API, GraphQL API, or both). Also, decide whether to generate an Admin UI for your templated service.

:::note
GraphQL API and Admin UI are currently not available with the .NET generator.
:::

![Live Service Template Select APIs](./assets/live-service-templates/apis.png)

3. **Database Selection**: Choose the database type for your template (e.g., PostgreSQL, MySQL, MongoDB, MS SQL Server).

![Live Service Template Database Selection](./assets/live-service-templates/database.png)

After completing these steps, your new service template will be created and added to the Platform Console.

![Amplication Create New Template](./assets/live-service-templates/complete.png)

## Manage Service Templates

### Viewing Templates

To view and manage your templates:

1. Go to the Platform Console dashboard.
2. You'll see a list of all your service templates, each with its specific icon and type.

![Amplication Platform Console](./assets/amplication-platform-console.png)

### Editing Templates

To edit a template:

1. Click on the template name in the Platform Console dashboard.
2. This will take you to the Service Template Overview page.

On this page, you can:

- View and edit the template name and description
- See the associated technology stack
- Manage installed plugins
- Access template settings

![Service Template Dashboard](./assets/live-service-templates/service-template-dashboard.png)

### Template Settings

The Settings tab for service templates provides various configuration options:

1. **General**: Update the template name and description.
2. **APIs and Admin**: Toggle different API types (REST, GraphQL) and Admin UI.
3. **Base Directories**: Set the root directory for code placement when using the sync with Git feature. You can use `{{SERVICE_NAME}}` as a placeholder for the service name.
4. **Authentication Entity**: Choose the authentication entity for your template.
5. **Code Generator Version**: Select a specific version or use the latest.

:::note
You can of course update your **Base Directories**, but our recommendation is keeping the placholder.
:::

![Service Template Dashboard](./assets/live-service-templates/settings.png)

### Managing Plugins

To manage plugins for your template:

1. Go to the Plugins section of your service template.
2. You can view all available plugins, installed plugins, or private plugins.
3. To install a new plugin, select it from the available options and click "Install".

:::note
To learn more about specifics about Plugin Management, visit the [Plugins page](/getting-started/plugins/).
:::

## Creating Services from Templates

To create a new service based on a template:

1. Go to your workspace and click on the Services button for your project.
2. Click "Add Resource".
3. Select "Service from Template".
4. Choose the desired template from the dropdown menu.
5. Provide a name for your new service.
6. Click "Create" to generate the new service based on the selected template.

![Amplication Create Services From Template](./assets/create-service-from-template.png)

The new service will inherit all settings and plugins from the template. You can view these inherited configurations in the Pending Changes sidebar.

## Update Service Templates

When you update a service template:

1. Make the desired changes (e.g., add new plugins, modify settings).
2. In the Platform Changes sidebar, provide a description of your changes.
3. Click "Publish New Version".

These changes will be stored within Amplication but not synced to your Git repository.

![Amplication Platform Changes](./assets/platform-changes.png)

## Propagate Template Changes to Services

After updating a template, you can apply these changes to existing services:

1. Go to the service created from the template.
2. You'll see the available updates in the Pending Changes sidebar.
3. Review the changes and click "Generate Code" to apply them.

This process will create a new commit with the updated configurations.

## Next Steps

Now that you have all the information you need to set up individiual template syou can start creating a collection of templates to standarize your organization's best practices.

:::tip
For any questions or issues related to Live Service Templates, please contact our support team or share your feedback in our [GitHub discussions](https://github.com/amplication/amplication/discussions).
:::
95 changes: 26 additions & 69 deletions docs/how-to/platform-console.md
Original file line number Diff line number Diff line change
@@ -1,99 +1,57 @@
---
title: Platform Console
description: Learn about Amplication's Platform Console, including templates and private plugins for standardizing service creation and management.
description: Learn about Amplication's Platform Console, a hub for managing platform-wide features and configurations.
sidebar_label: Platform Console
slug: /platform-console
---

The **Platform Console** is a powerful new feature in Amplication that allows your team to define, manage, and maintain standardized templates and private plugins for their backend services.
# Platform Console

The **Platform Console** is a powerful feature in Amplication that provides a centralized hub for managing platform-wide features and configurations. It allows your team to oversee and maintain standardized practices across your projects.

:::note
The Platform Console features, including the usage of templates and creation of services based on templates, are **currently in beta**.
Some Platform Console features are currently in beta.
:::

## Overview

The Platform Console introduces two main components:
The Platform Console introduces several key components:

1. **Platform Console Templates**: Pre-configured service templates that serve as a blueprint for creating new services.
1. [**Live Service Templates**](/live-service-templates): Pre-configured service templates that serve as a blueprint for creating new services.
2. **Private Plugins**: Custom plugins visible only to your organization that can be added to templates or services to extend functionality and/or keep your organization's best practices and standards.

These components are managed through a new dashboard interface, separate from the existing services view.
These components are managed through a dedicated Platform Console dashboard, separate from the existing services view.

![Amplication Platform Console](./assets/amplication-platform-console.png)

## Benefits

- **Standardization**: Ensure all services follow organizational best practices and configurations.
- **Customization**: Create and use private plugins to tailor services to your organization's specific needs.
- **Efficiency**: Quickly create new services based on pre-defined templates.
- **Standardization**: Ensure all services follow organizational best practices and configurations with [Live Service Templates](/live-service-templates).
- **Efficiency**: Quickly create new services based on your templates.
- **Customization**: Create and use Private Plugins to tailor services to your organization's specific needs.
- **Smooth Maintenance**: Update multiple services from a single location. When you update a template, all services using that template can automatically get a PR with the required changes.
- **Technical Debt Prevention**: Implement organization-wide best practices across all services through templates and private plugins, creating a scalable architecture that resists the accumulation of technical debt as your project grows.

## Platform Console Templates

Platform Console Templates allow you to create a single source of truth for your services' architecture. These templates can include:

- Pre-configured settings
- Standard plugins
- Custom private plugins

### Creating a Template

To create a new template:
## Platform Console Features

1. Navigate to the Platform Console dashboard.
2. Click on "Create Template".
3. Provide a name for your template (e.g., "Node.js with PostgreSQL").
4. Select the desired components (e.g., Admin UI, GraphQL API, REST API).
5. Choose a database (e.g., PostgreSQL).
6. Click "Create" to finalize the template.
### Live Service Templates

![Amplication Create New Template](./assets/template-name-and-stack.png)
Live Service Templates is a powerful feature that allows you to create, manage, and use standardized templates for your backend services. Key aspects include:

### Managing Templates
- **Template Creation**: Define reusable service blueprints with pre-configured settings and plugins.
- **Service Generation**: Quickly create new services based on your defined templates.
- **Template Management**: Edit and update templates, with the ability to propagate changes to services.

Managing and updating templates is very similar to updating individual services. You have access to the same settings and most of the options available for services, including:

- Viewing all templates in the Platform Console dashboard.
- Adding or removing plugins, including custom plugins.
- Renaming templates and updating their descriptions.

To edit a template:

1. Navigate to the Settings tab to update the configuration or the Plugins tab to install and update plugins.
2. Make your desired changes.
3. All changes are saved automatically.

<!-- :::note
When you update a template, **all services using that template will be updated in your next build**, ensuring consistency across your infrastructure.
:::
-->
For detailed information on creating and using Live Service Templates, please refer to our [Live Service Templates](/live-service-templates) documentation.

### Using Templates
### Private Plugins

To create a new service based on a template:

1. Click on the "Add Resource" button.
2. Select "Service from Template" from the available options.
3. In the modal that appears, choose a specific service template.
4. Provide a name for your new service.
5. Click "Create" to generate the new service based on the selected template.

This process ensures that the new service inherits all the pre-configured settings and plugins defined in the template.

![Amplication Create Services From Template](./assets/create-service-from-template.png)

## Private Plugins

Private plugins allow you to create custom functionality specific to your organization's needs. These can be added to templates or directly to services.
Private plugins allow you to create custom functionality specific to your organization's needs. These can be added to services or used in templates.

:::note
Creating and managing private plugins requires an Enterprise plan.
:::

### Creating a Private Plugin

To create a private plugin:

1. In the Platform Console dashboard, navigate to the "Private Plugins" section.
Expand All @@ -102,21 +60,20 @@ To create a private plugin:

## Platform Changes Sidebar

The Platform Console introduces a new **_Platform_ Changes** sidebar that replaces the **_Pending_ Changes** sidebar. It's only visible when you're viewing the Platform Console.
The Platform Console introduces a new **Platform Changes** sidebar that shows changes made to platform-wide settings and configurations. This is separate from the **Pending Changes** sidebar, which shows service-level changes.

"Platform Changes" shows changes made to templates and private plugins, while "Pending Changes" still shows service-level changes.
![Amplication Platform Changes](./assets/platform-changes.png)

:::note
Platform changes are separate from service-level changes. Make sure to review and commit platform changes separately from service changes.
Platform changes are _separate_ from service-level changes and are not commited to your git repo. Make sure to review and commit platform changes separately from service changes.
:::

![Amplication Create Services From Template](./assets/platform-changes.png)

## Conclusion

The Platform Console feature is designed to enhance the maintainability of your backend services, ensure organizational standardization, reduce technical debt, and streamline collaboration between platform and development teams.
The Platform Console is designed to enhance the maintainability of your backend services, ensure organizational standardization, reduce technical debt, and streamline collaboration between platform and development teams.

As this feature is currently in beta, we encourage you to explore its capabilities and share your feedback to help us further improve and refine it.

:::tip
For any questions or issues related to the Platform Console, please contact us or write your feedback on our [GitHub discussion](https://github.com/amplication/amplication/discussions/8979).
:::
:::
1 change: 1 addition & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ const sidebars = {
},
items: [
"getting-started/generated-app",
"how-to/live-service-templates",
"getting-started/service-building-new-versions",
"getting-started/view-generated-code",
"how-to/add-custom-code",
Expand Down

0 comments on commit cd75b49

Please sign in to comment.