diff --git a/docs/administration/harper-studio/create-account.md b/docs/administration/harper-studio/create-account.md index c0b0cc96..e1ffbb87 100644 --- a/docs/administration/harper-studio/create-account.md +++ b/docs/administration/harper-studio/create-account.md @@ -4,7 +4,7 @@ title: Create a Studio Account # Create a Studio Account -Start at the [Harper Studio sign up page](https://studio.harperdb.io/sign-up). +Start at the [Harper Studio sign up page](https://fabric.harper.fast/#/sign-up). 1. Provide the following information: - First Name diff --git a/docs/administration/harper-studio/enable-mixed-content.md b/docs/administration/harper-studio/enable-mixed-content.md index 67747d71..2530fef0 100644 --- a/docs/administration/harper-studio/enable-mixed-content.md +++ b/docs/administration/harper-studio/enable-mixed-content.md @@ -4,6 +4,6 @@ title: Enable Mixed Content # Enable Mixed Content -Enabling mixed content is required in cases where you would like to connect the Harper Studio to Harper Instances via HTTP. This should not be used for production systems, but may be convenient for development and testing purposes. Doing so will allow your browser to reach HTTP traffic, which is considered insecure, through an HTTPS site like the Studio. +If you want to connect insecure HTTP instances from the secure HTTPS Fabric Studio, you can enable mixed content temporarily. This isn't recommended in production systems. It would be better to add HTTPS / SSL Termination in front of your instances. But if you understand the risks, you can enable mixed content. Enabling mixed content is required in cases where you would like to connect the Harper Studio to Harper Instances via HTTP. This should not be used for production systems, but may be convenient for development and testing purposes. Doing so will allow your browser to reach HTTP traffic, which is considered insecure, through an HTTPS site like the Studio. A comprehensive guide is provided by Adobe [here](https://experienceleague.adobe.com/docs/target/using/experiences/vec/troubleshoot-composer/mixed-content.html). diff --git a/docs/deployments/install-harper/index.md b/docs/deployments/install-harper/index.md index 0534ca61..45849cc0 100644 --- a/docs/deployments/install-harper/index.md +++ b/docs/deployments/install-harper/index.md @@ -35,7 +35,40 @@ If you are setting up a production server on Linux, [we have much more extensive ## With Docker -If you would like to run Harper in Docker, install [Docker Desktop](https://docs.docker.com/desktop/) on your Mac or Windows computer. Otherwise, install the [Docker Engine](https://docs.docker.com/engine/install/) on your Linux server. +If you would like to run Harper in Docker, install [Docker Desktop](https://docs.docker.com/desktop/) on your Mac or Windows computer. Otherwise, install the [Docker Engine](https://docs.docker.com/engine/install/) on your Linux server. You can then pull the image: + +```bash +docker pull harperdb/harperdb +``` + +Start a container, mount a volume and pass environment variables: + +```bash +docker run -d \ + -v :/home/harperdb/hdb \ + -e HDB_ADMIN_USERNAME=HDB_ADMIN \ + -e HDB_ADMIN_PASSWORD=password \ + -e THREADS=4 \ + -e OPERATIONSAPI_NETWORK_PORT=null \ + -e OPERATIONSAPI_NETWORK_SECUREPORT=9925 \ + -e HTTP_SECUREPORT=9926 \ + -p 9925:9925 \ + -p 9926:9926 \ + -p 9933:9933 \ + harperdb/harperdb +``` + +Here, the `` should be replaced with an actual directory path on your system where you want to store the persistent data. This command also exposes both the Harper Operations API (port 9925) and an additional HTTP port (9926). + +✅ Quick check: + +```bash +curl http://localhost:9925/health +``` + +:::info +💡 Why choose Docker: Great for consistent team environments, CI/CD pipelines, or deploying Harper alongside other services. +::: Once Docker Desktop or Docker Engine is installed, visit our [Docker Hub page](https://hub.docker.com/r/harperdb/harperdb) for information and examples on how to run a Harper container. diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index e37dad66..f7cb1cf3 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -1,97 +1,44 @@ --- -title: Install Harper +title: Install and Connect Harper --- -# Install Harper +# Install and Connect Harper -You can get Harper running in minutes. -Choose the option that fits your workflow: +The recommended approach for efficiently developing applications with Harper is to install Harper locally for efficient development of an application and deploy it to [Harper Fabric](https://fabric.harper.fast), our distributed data application platform service. However, you can also develop directly in Fabric, if you want to quickly try it out. You can also run a self-hosted Harper server, and manage it with our Fabric studio management UI. -- **npm** → best for local development & quick starts. -- **Docker** → best for containerized environments and team setups. -- **Raw binary** → best if you need a manual or offline install. +## Install with npm ---- - -## Install with npm (fastest way) - -Make sure you have [Node.js](https://nodejs.org/) (LTS or newer). Then run: +The fastest way to get Harper running locally is to install with npm. Make sure you have [Node.js](https://nodejs.org/) (LTS or newer). Then run: ```bash npm install -g harperdb harperdb ``` -That’s it! Harper is now running locally. -The first time, you’ll set up your destination, username, password, and [configuration](../deployments/configuration). +The first time, you’ll set up your destination, username, password, and [configuration](../deployments/configuration). That’s it! Harper is now running locally. -✅ Quick check: open http://localhost:9925 or run: +✅ Quick check: open http://localhost:9925, which will launch the studio UI for managing your local server, or run this for a quick health check: ```bash curl http://localhost:9925/health ``` -:::info -💡 Why choose npm: It’s the simplest way to try Harper and build apps right from your laptop. -::: - -## Install with Docker - -Want Harper in a container? Pull the image: - -```bash -docker pull harperdb/harperdb -``` - -Start a container, mount a volume and pass environment variables: - -```bash -docker run -d \ - -v :/home/harperdb/hdb \ - -e HDB_ADMIN_USERNAME=HDB_ADMIN \ - -e HDB_ADMIN_PASSWORD=password \ - -e THREADS=4 \ - -e OPERATIONSAPI_NETWORK_PORT=null \ - -e OPERATIONSAPI_NETWORK_SECUREPORT=9925 \ - -e HTTP_SECUREPORT=9926 \ - -e CLUSTERING_ENABLED=true \ - -e CLUSTERING_USER=cluster_user \ - -e CLUSTERING_PASSWORD=password \ - -e CLUSTERING_NODENAME=hdb1 \ - -p 9925:9925 \ - -p 9926:9926 \ - -p 9932:9932 \ - harperdb/harperdb -``` - -Here, the `` should be replaced with an actual directory path on your system where you want to store the persistent data. This command also exposes both the Harper Operations API (port 9925) and an additional HTTP port (9926). +Harper can also be [installed with our Docker image or you can download Harper for manual or offline installation](../deployments/install-harper). -✅ Quick check: +## Manage and Deploy with Fabric -```bash -curl http://localhost:9925/health -``` - -:::info -💡 Why choose Docker: Great for consistent team environments, CI/CD pipelines, or deploying Harper alongside other services. -::: - -## Install from Raw Binary - -Need offline or manual setup? Download the package from [our release index](https://products-harperdb-io.s3.us-east-2.amazonaws.com/index.html), then install: - -```bash -npm install -g harperdb-X.X.X.tgz -harperdb install -``` - -:::info -💡 Why choose Raw Binary: Works without Docker, ideal for controlled environments. -::: +Fabric is our service for managing and deploying Harper on a distributed network. Fabric makes it easy to create new Harper "clusters", the Harper application platform running on distributed nodes, and deploy your application to this service. Fabric has a management interface, and provides a UI for managing your deployments and even your local instance that you just installed. You can sign up for Fabric for free, and create a free Harper cluster to deploy your application: -## Next Steps +- Go to [Fabric](https://fabric.harper.fast) and sign-up for a new account. + - You will need to agree to the terms of service and verify your email address. +- Once you have created an account, you can create an organization. This will allow you to collaboratively managing your Harper services with others. This will also define the host domain that will be used. +- You can now create a new Harper cluster or instance: + - Create a free Harper cluster for trying out Harper. + - Purchase a Harper cluster with higher performance, scalability, and limits. + - Add your own local instance to manage everything in one place. +- Once you have a Harper cluster, you will be ready to create a new application directly on Fabric, or be ready to deploy an application to Fabric. -Once Harper is running, you can: +Once Harper is running or you are connected to Fabric, we recommend that you walk through the steps of [building your first application](../getting-started/quickstart) and learn more about Harper's concepts and architecture: - [Build your first application](../getting-started/quickstart) - Explore the [Core Concepts](../foundations/core-concepts) diff --git a/docs/getting-started/quickstart.md b/docs/getting-started/quickstart.md index 75cdfbab..e8956d0e 100644 --- a/docs/getting-started/quickstart.md +++ b/docs/getting-started/quickstart.md @@ -8,18 +8,20 @@ Now that you've set up Harper, let's build a simple API. Harper lets you build p ## Setup Your Project -Start by cloning the Harper application template: +If you have installed Harper locally, start by cloning the Harper application template: ```bash git clone https://github.com/HarperDB/application-template my-app cd my-app ``` +If you are working the Fabric studio UI, you can navigate to your cluster and then to the "Applications" tab. Then choose to "Create New Application" (using the standard application template). This will create a new application based on the `application-template`. + ## Creating our first Table The core of a Harper application is the database, so let's create a database table. -A quick and expressive way to define a table is through a [GraphQL Schema](https://graphql.org/learn/schema). Using your editor of choice, edit the file named `schema.graphql` in the root of the application directory, `my-app`, that we created above. To create a table, we will need to add a `type` of `@table` named `Dog` (and you can remove the example table in the template): +A quick and expressive way to define a table is through a [GraphQL Schema](https://graphql.org/learn/schema). Using your editor of choice, edit the file named `schema.graphql` in the root of the application directory, `my-app`, that we created above. In the Fabric UI, simply click on `schema.graphql` to start editing it. To create a table, we will need to add a `type` of `@table` named `Dog` (and you can remove the example table in the template): ```graphql type Dog @table { @@ -43,6 +45,8 @@ Now we tell Harper to run this as an application: harperdb dev . # tell Harper cli to run current directory as an application in dev mode ``` +If you are using the Fabric UI, you can click "Restart Cluster" to apply these schema changes. + Harper will now create the `Dog` table and its `id` attribute we just defined. Not only is this an easy way to create a table, but this schema is included in our application, which will ensure that this table exists wherever we deploy this application (to any Harper instance). ## Adding Attributes to our Table @@ -62,6 +66,8 @@ This will ensure that new records must have these properties with these types. Because we ran `harperdb dev .` earlier (dev mode), Harper is now monitoring the contents of our application directory for changes and reloading when they occur. This means that once we save our schema file with these new attributes, Harper will automatically reload our application, read `my-app/schema.graphql` and update the `Dog` table and attributes we just defined. The dev mode will also ensure that any logging or errors are immediately displayed in the console (rather only in the log file). +If you are running in Fabric, again, you can click "Restart Cluster" to apply any changes. You can navigate to the "Databases" page to see your new table and add records to it. + As a document database, Harper supports heterogeneous records, so you can freely specify additional properties on any record. If you do want to restrict the records to only defined properties, you can always do that by adding the sealed directive: ```graphql @@ -88,7 +94,9 @@ type Dog @table @export { } ``` -By default the application HTTP server port is `9926` (this can be [configured here](../deployments/configuration#http)), so the local URL would be `http://localhost:9926/Dog/` with a full REST API. We can PUT or POST data into this table using this new path, and then GET or DELETE from it as well (you can even view data directly from the browser). If you have not added any records yet, we could use a PUT or POST to add a record. PUT is appropriate if you know the id, and POST can be used to assign an id: +For a local instance, by default the application HTTP server port is `9926` (this can be [configured here](../deployments/configuration#http)), so the local URL would be `http://localhost:9926/Dog/` with a full REST API. In Fabric, a public hostname/URL will be created, and you can go to the "Config" page to see your "Application URL", which should look like `your-cluster.your-org.harperfabric.com`. You can directly query this with an HTTPS URL, by including authentication information. + +We can PUT or POST data into this table using this new path, and then GET or DELETE from it as well (you can even view data directly from the browser). If you have not added any records yet, we could use a PUT or POST to add a record. PUT is appropriate if you know the id, and POST can be used to assign an id: ```bash curl -X POST http://localhost:9926/Dog/ \ @@ -101,13 +109,27 @@ curl -X POST http://localhost:9926/Dog/ \ }' ``` +Or in Fabric: + +```bash +curl -X POST https://your-cluster.your-org.harperfabric.com/Dog/ \ + -H "Content-Type: application/json" \ + -H "Authentication: Basic " + -d '{ + "name": "Harper", + "breed": "Labrador", + "age": 3, + "tricks": ["sits"] + }' +``` + With this a record will be created and the auto-assigned id will be available through the `Location` header. If you added a record, you can visit the path `/Dog/` to view that record. Alternately, the curl command `curl http://localhost:9926/Dog/` will achieve the same thing. ## Authenticating Endpoints Now that you've created your first API endpoints, it's important to ensure they're protected. Without authentication, anyone could potentially access, misuse, or overload your APIs, whether by accident or malicious intent. Authentication verifies who is making the request and enables you to control access based on identity, roles, or permissions. It’s a foundational step in building secure, reliable applications. -Endpoints created with Harper automatically support `Basic`, `Cookie`, and `JWT` authentication methods. See the documentation on [security](../developers/security/) for more information on different levels of access. +Endpoints created with Harper automatically support `Basic` authentication, JWT authentication, and maintaining authentication with cookie-based session. See the documentation on [security](../developers/security/) for more information on different levels of access. By default, Harper also automatically authorizes all requests from loopback IP addresses (from the same computer) as the superuser, to make it simple to interact for local development. If you want to test authentication/authorization, or enforce stricter security, you may want to disable the [`authentication.authorizeLocal` setting](../deployments/configuration#authentication). @@ -161,10 +183,36 @@ http://localhost:9926/Dog/?breed=Labrador http://localhost:9926/Dog/?breed=Husky&name=Balto&select(id,name,breed) ``` -Congratulations, you now have created a secure database application backend with a table, a well-defined structure, access controls, and a functional REST endpoint with query capabilities! See the [REST documentation for more information on HTTP access](../developers/rest) and see the [Schema reference](../developers/applications/defining-schemas) for more options for defining schemas. +In Fabric, you can directly open such URLs directly in the browser, where the browser will prompt you for your username and password: + +``` +https://your-cluster.your-org.harperfabric.com/Dog/?name=Harper +... +``` + +Congratulations, you now have created a secure database application backend with a table, a well-defined structure, access controls, and a functional REST endpoint with query capabilities! See the [REST documentation for more information on HTTP access](../developers/rest) and see the [Schema reference](../developers/applications/defining-schemas) for more options for defining schemas. If you were developing locally, you are ready to deploy to Fabric. > Additionally, you may now use GraphQL (over HTTP) to create queries. See the documentation for that new feature [here](../reference/graphql). +## Deploy to Fabric + +In the recommended flow, you have been developing your application locally, but now you are ready to deploy your application to Fabric. The recommended way of doing this is to commit your code to a git repository, where Harper can directly pull your application from the repository and run it. To get started, it is easiest to put this in a public repository for ease of access and deployment. Once you have committed your code to a git repository, you can go to the "Applications" page, and select "Import Application". You can then enter the URL of your repository and Fabric will deploy in on your cluster. We also recommend using git tags and deploying by tag name for control over application versioning. You can import and deploy a tag in a repository using import of a URL like "git+https://git@github.com/my-org/my-app.git#semver:v1.0.27". + +You can also deploy to fabric using the CLI. With this approach, you can "push" your application code into your Fabric cluster. From the command line, go into your application directory and run: + +```bash +harperdb deploy_component \ + project= \ + package= \ # optional, uses cwd if not specified + target= \ + username= \ + password= \ + restart=true \ + replicated=true # deploy to your whole cluster +``` + +Once you have deployed and restarted, your application is live and ready to be used by the world! + ## Key Takeaway Harper's schema-driven approach means you can build production-ready APIs in minutes, not hours. Start with pure schema definitions to get 90% of your functionality, then add custom code only where needed. This gives you the best of both worlds: rapid development with the flexibility to customize when required. diff --git a/docs/index.mdx b/docs/index.mdx index af4dc1c6..ee95f52e 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -10,10 +10,14 @@ import CustomDocCardList from '@site/src/components/CustomDocCardList'; [Connect with our team!](https://www.harpersystems.dev/contact) ::: -Welcome to the Harper Documentation! Here, you'll find all things Harper, and everything you need to get started, troubleshoot issues, and make the most of our platform. +Harper is an all-in-one backend technology that fuses database technologies, caching, application hosting, and messaging functions into a single system. Unlike traditional architectures where each piece runs independently and incurs extra costs and latency from serialization and network operations between processes, Harper systems can handle workloads seamlessly and efficiently. + +Here, you'll find all things Harper, and everything you need to get started, troubleshoot issues, and make the most of our platform. ## Getting Started +The recommended approach for efficiently developing applications with Harper is to develop locally and deploy them to Harper Fabric, our distributed data application platform service. Our getting started guide will walk you through how to install Harper locally, sign up for Fabric service, build a simple application and deploy it. + ..harperfabric.com`). + - **Region**: Select the geographic region where you want your cluster to be hosted. Examples include US, Global, Europe. + - **Estimated P90 Latency, Distribution**: Displays estimated latency based on your selected region and instance size. +4. Click the "Confirm Payment Details" or "Create New Cluster"(if you chose the free tier) button on the bottom right of the page. +5. \*Confirm or replace the preferred payment method. Add a new card if necessary +6. Cluster will begin provisioning as soon as you complete your selections. + +## Harper Deployment Types: + +### Colocated: + +Multi-tenant clusters are deployed on shared hosts alongside clusters from other organizations, but data and workloads remain completely isolated. Colocated deployments are optimal for organizations seeking excellent performance across available regions. + +### Dedicated: + +Dedicated clusters run on hosts reserved for a single organization. These environments are available in ten more specialized regions, and offer performance isolation and higher resource limits. Dedicated deployments are ideal for organizations with stricter compliance or performance requirements + +### Self-hosted: + +Self-hosted clusters are provisioned entirely outside of Harper’s infrastructure, on an organization's owned and operated servers or cloud accounts. +Please follow the cluster configuration menu for more information on estimated performance and cost. Clusters will begin provisioning as soon as you complete your selections. +Clusters are provisioned in real time, as soon as selections are complete + +### Additional Information: + +- Cannot guarantee any provisioning time for self-hosted. (**Note**: All performance metrics are estimates unless otherwise noted.) +- Once a cluster is created, you will be prompted to set a username and password for each cluster. diff --git a/fabric/create-account.md b/fabric/create-account.md new file mode 100644 index 00000000..f78bfd32 --- /dev/null +++ b/fabric/create-account.md @@ -0,0 +1,20 @@ +--- +title: Create a Fabric Studio Account +--- + +# Create a Fabric Studio Account + +Start at the [Harper Fabric Studio sign up page](https://fabric.harper.fast/#/sign-up). + +1. Provide the following information: + - First Name + - Last Name + - Email Address + - Password + +2. Review the Privacy Policy and Terms of Service. +3. Click the "Sign Up For Free" button. +4. Once you complete the sign-up form, you will receive a verification email. Click the link in the email to verify your account. +5. After verifying your email, you can log in to Fabric Studio using your email address and password. + +Note: Your email address will be used as your username and cannot be changed. diff --git a/fabric/create-organization.md b/fabric/create-organization.md new file mode 100644 index 00000000..07620fb2 --- /dev/null +++ b/fabric/create-organization.md @@ -0,0 +1,25 @@ +--- +title: Create an Organization +--- + +# Create an Organization + +What is an organization? +An organization is a way to group and manage multiple clusters and users within Fabric Studio. Organizations help you: + +- Organize your clusters and resources +- Control access based on roles and permissions +- Collaborate with team members effectively. +- Manage billing and subscriptions for multiple clusters under a single entity. + +To create a new organization in Fabric Studio, follow these steps: + +1. Log in to your Fabric Studio account. +2. Click on the "New Organization" button in the right of the sub-menu. +3. Enter Organization Details: + - **Name**: The name of your organization. + - **Subdomain**: This will be part of the host name URL for accessing your organization's clusters (e.g., with subdomain "acme" the cluster full host name would be: `.acme.harperfabric.com`). + +4. Click the "Create New Organization" button to finalize the creation of your new organization. + +Once your organization is created, you can invite team members and manage your organization's settings. diff --git a/fabric/database-management.md b/fabric/database-management.md new file mode 100644 index 00000000..e38c5cf1 --- /dev/null +++ b/fabric/database-management.md @@ -0,0 +1,63 @@ +--- +title: Database Management +--- + +# Database Management + +## Import CSV Data + +1. Navigate to the "Database" tab in the sub-menu +2. Select the desired database and table. If no tables exist, create a new table first. +3. Click the "Import CSV" button located above the table view. +4. Select/Drag-and-drop the CSV file from your local machine. +5. Click the "Upload CSV" button to import the data into the selected table. +6. The data will be uploaded and displayed in the table view. This may take a few moments depending on the size of the file. +7. Refresh the table view by clicking the "Refresh" button if necessary. + +## Add a New Record + +1. Navigate to the "Database" tab in the sub-menu +2. Select the desired database and table. +3. Click the "Add New Record" button located above the table view. +4. Fill in the necessary fields in the form that appears.(These fields will correspond to the columns/schema in the selected table.) +5. Click the "Save" button to add the new record to the table. + +## Create a New Table + +1. Navigate to the "Database" tab in the sub-menu +2. Select the desired database. +3. Click the "Create a Table" button located to the left of the table view. +4. Fill in the: + - Table Name: The name of the new table. + - Primary Key: The primary key field for the table. + - Database Name: The database where the table will be created.(Will automatically fill based upon the selected database where the table is being created.) +5. Click the "Create New Table" button to create the new table. +6. The new table will appear in the table list on the left side of the screen. + +## Delete a Table + +1. Navigate to the "Database" tab in the sub-menu +2. Select the desired database and table. +3. Click the three dots button located above the table view on the top right. +4. Select "Drop Table" from the dropdown menu. +5. Confirm the deletion by clicking the "Drop" button in the confirmation dialog. +6. The table will be deleted from the database. + +## Delete a Record + +1. Navigate to the "Database" tab in the sub-menu +2. Select the desired database and table. +3. Locate the record you want to delete in the table view. +4. Click the record and a modal will appear. +5. Click the "Delete Row" button in the modal to confirm the deletion. +6. The record will be deleted from the table. + +## Edit a Record + +1. Navigate to the "Database" tab in the sub-menu +2. Select the desired database and table. +3. Locate the record you want to edit in the table view. +4. Click the record and a modal will appear. +5. Edit the fields as necessary in the modal. +6. Click the "Save Changes" button to save the changes to the record. +7. The updated record will be displayed in the table view. diff --git a/fabric/index.md b/fabric/index.md new file mode 100644 index 00000000..573557ec --- /dev/null +++ b/fabric/index.md @@ -0,0 +1,21 @@ +--- +title: Fabric Studio +--- + +# Fabric Studio + +Fabric Studio is the web-based GUI for Harper. Studio enables you to administer, navigate, and monitor all of your Harper clusters in a simple, user-friendly interface without any knowledge of the underlying Harper API. It’s free to sign up, get started today! + +[Sign up for free!](https://fabric.harper.fast/#/sign-up) + +Harper includes a simplified local Studio that is packaged with all Harper installations and served directly from the cluster. It can be enabled in the [configuration file](../docs/deployments/configuration#localstudio). This section is dedicated to the hosted Studio accessed at [studio.harperdb.io](https://fabric.harper.fast/). + +--- + +## How does Studio Work? + +While Fabric Studio is web based and hosted by us, all database interactions are performed on the Harper cluster the studio is connected to. The Harper Studio loads in your browser, at which point you login to your Harper clusters. Credentials are stored in your browser cache and are not transmitted back to Harper. All database interactions are made via the Harper Operations API directly from your browser to your cluster. + +## What can I manage? + +Fabric Studio enables users to manage both Harper Cloud clusters and privately hosted clusters all from a single UI. All Harper clusters feature identical behavior whether they are hosted by us or by you. diff --git a/fabric/logging.md b/fabric/logging.md new file mode 100644 index 00000000..52e0535e --- /dev/null +++ b/fabric/logging.md @@ -0,0 +1,34 @@ +--- +title: Logging +--- + +# Logging + +## Log Filtering + +Log filtering allows users to customize the log output based on specific criteria. This can help in isolating relevant information and reducing noise in the logs list. +To filter logs: + +1. Navigate to the "Logs" section in Fabric Studio. +2. Use the filter options available at the left side menu logs list to specify criteria such as: + - Log Limit: The maximum number of log entries to display(e.g. 10, 100, 250, 500, 1000) (default is 100) + - Log Level (e.g., Error, Warn, Info, Debug, Trace, Notify, All) (default is All) + - Start Date: The beginning date and time for the log entries to display + - End Date: The ending date and time for the log entries to display + +3. Click the "Apply Filters" button to update the log list based on the selected criteria. +4. The log list will refresh to show only the entries that match the specified filters. + +## Log Details + +To view detailed information about a specific log entry: + +1. Navigate to the "Logs" section in Fabric Studio. +2. Click on a log entry in the logs list to open the log details modal. +3. The log details modal will display comprehensive information about the selected log entry, including: + - Timestamp: The date and time when the log entry was created + - Level: The severity level of the log entry (e.g., Error, Warn) + - Thread: The thread identifier where the log entry originated + - Tags: Any associated tags for categorizing the log entry + - Message: The main content of the log entry +4. Review the information in the modal to gain insights into the specific event or issue recorded in the log entry. diff --git a/fabric/managing-applications.md b/fabric/managing-applications.md new file mode 100644 index 00000000..56efeb18 --- /dev/null +++ b/fabric/managing-applications.md @@ -0,0 +1,39 @@ +--- +title: Managing Applications +--- + +# Managing Applications + +After setting a username/password for cluster, you will automatically be directed to the applications page for the cluster. From here, users can either import or create an application to run on Harper. + +## Creating a New Application + +To create a new application: + +1. Select "Applications" from the menu if not already there +2. Click the "+ New Application" button in the upper right of the sub-menu +3. Enter the "New Application Name" (max 75 characters) +4. Click "Create"( **Note**: this will prompt the cluster to restart) +5. Your new application will appear in the applications list + +## Importing an Application + +To import an existing application: + +1. Select "Applications" from the menu if not already there +2. Click the "Import Application" button in the center of the page +3. Enter the "Application Name" (max 75 characters) +4. Enter the "Package Reference URL" (must be a valid URL) +5. Click "Create"( **Note**: this will prompt the cluster to restart) +6. Your imported application will appear in the applications list + +## Updating an application + +To update an existing application: + +1. Select "Applications" from the menu if not already there +2. Click the top level name of the application in the applications list +3. Select "Redeploy Application" +4. Enter the new "Package Reference URL" (must be a valid URL) +5. Click "Redeploy"( **Note**: this will prompt the cluster to restart) +6. Your application will be updated and redeployed. diff --git a/fabric/organization-management.md b/fabric/organization-management.md new file mode 100644 index 00000000..3e2f0d11 --- /dev/null +++ b/fabric/organization-management.md @@ -0,0 +1,39 @@ +--- +title: Organization Management +--- + +# Organization Management + +Organizations can be managed in a variety of ways, including: roles and user permissions, adding/removing users, creating new environments (clusters) and updating billing information. + +## Role Management + +Organizations can be made up of many users, each with different roles and permissions. Roles and permissions can be created and managed by the organization admin. + +### Creating a new role + +1. Navigate to the organization page +2. Click "Roles" in the menu on top of screen +3. User will be navigated to role table +4. Note: “admin” will appear in role table as default role, with 1 user (creator) assigned. Admins can update and delete organizations +5. Click on “+ Add” button in top right corner and a modal will appear +6. Enter role information: + +- Role Name: name of the new role +- Can update organization: toggle on/off +- Can delete organization: toggle on/off +- JSON Permissions: enter custom JSON permissions + +7. Click "Save Changes" button to create new role + Create and customize as many roles as appropriate for organization + +### User management + +1. Select “Users” from menu on top of screen +2. List of all active users from organization will appear +3. Note: organization creator will default as active admin, with a precreated user ID +4. To add new users, click “+ Add” icon in top right corner +5. Enter new user’s email +6. Select desired role from drop down. (**Note**: roles and associated permissions can be created and managed by organization admins) +7. Click "Add User" button to finalize adding new user + **Note**: If they don't yet have a Fabric account, you will be prompted to invite them. They will be sent a verification email with instructions on how to activate their account. Once accepted, the new user will be added to the organization, with all the privileges of their shiny new role. diff --git a/sidebarsFabric.ts b/sidebarsFabric.ts new file mode 100644 index 00000000..3c69e0c7 --- /dev/null +++ b/sidebarsFabric.ts @@ -0,0 +1,49 @@ +import type { SidebarsConfig } from '@docusaurus/plugin-content-docs'; + +const sidebarsFabric: SidebarsConfig = { + fabricSidebar: [ + { + type: 'doc', + id: 'index', + label: 'Overview', + }, + { + type: 'doc', + id: 'create-account', + label: 'Create Account', + }, + { + type: 'doc', + id: 'create-organization', + label: 'Create Organization', + }, + { + type: 'doc', + id: 'organization-management', + label: 'Organization Management', + }, + { + type: 'doc', + id: 'cluster-creation-management', + label: 'Cluster Creation & Management', + }, + { + type: 'doc', + id: 'managing-applications', + label: 'Managing Applications', + }, + { + type: 'doc', + id: 'database-management', + label: 'Database Management', + }, + { + type: 'doc', + id: 'logging', + label: 'Logging', + }, + { type: 'autogenerated', dirName: 'fabric' }, + ], +}; + +export default sidebarsFabric; diff --git a/versioned_docs/version-4.6/administration/harper-studio/enable-mixed-content.md b/versioned_docs/version-4.6/administration/harper-studio/enable-mixed-content.md index 67747d71..2784c191 100644 --- a/versioned_docs/version-4.6/administration/harper-studio/enable-mixed-content.md +++ b/versioned_docs/version-4.6/administration/harper-studio/enable-mixed-content.md @@ -6,4 +6,22 @@ title: Enable Mixed Content Enabling mixed content is required in cases where you would like to connect the Harper Studio to Harper Instances via HTTP. This should not be used for production systems, but may be convenient for development and testing purposes. Doing so will allow your browser to reach HTTP traffic, which is considered insecure, through an HTTPS site like the Studio. +Note: If you want to connect insecure HTTP instances from the secure HTTPS Fabric Studio, you can enable mixed content temporarily. This isn't recommended in production systems. It would be better to add HTTPS / SSL Termination in front of your instances. But if you understand the risks, you can enabling mixed content is not recommended for production systems as it can expose users to security risks. + +## Steps to Connect to a Self-Hosted Harper Instance + +1. Log into [Harper Studio Cloud](https://fabric.harper.fast/). +2. Select an **organization**. +3. Click "+ New Cluster" on the top right corner. +4. In the "New Cluster" page, Fill out the required fields. + - Cluster Name - A name for your the cluster. + - Harper Deployment - Select "Self-Hosted" (This will allow you to connect to your self-hosted HarperDB instance). + - Support & Usage. - Keep the default option "Self Supported and Managed" + - Optional Cluster Load Balancer Host Name - This is an optional field. You can leave it blank. + - Instance - In the Dropdown, select whether your instance is `HTTP://` or `HTTPS://`. Unsure? Harper Instance by default is set to `HTTPS://` when installed in an instance. + - Host Name - The hostname or IP address of your HarperDB instance. Choose `localhost` if you are running the instance on the same machine you're accessing Harper Studio Cloud with. + - Port - The port number your HarperDB instance is listening on. Default is `9925`. + +5. Click "Create New Cluster". You have now successfully created a new cluster connecting to your local Harper Instance. + A comprehensive guide is provided by Adobe [here](https://experienceleague.adobe.com/docs/target/using/experiences/vec/troubleshoot-composer/mixed-content.html).