Host your data on the provider of your choice
For some providers, it is possible to store your cost data on a dedicated S3 bucket and database, hosted on the cloud provider of your choice.
This page explains step by step how to set it up.
For new accounts, after your initial login you are asked to provide this information if you want. For existing accounts, or for users who decided not to do it after the initial login, you can configure this at any point in time.
From the Holori homepage, navigate to the configuration page by clicking on your username at the bottom left corner. Then click on Settings and go to the S3 Bucket and Database tab.
Select your cloud provider below. Each tab covers both the S3 bucket and the database setup for that provider.
Whichever provider you choose, make sure the following IP addresses are whitelisted on your database's firewall or security group so Holori's servers can connect: 52.47.71.189/32, 52.47.172.58/32, and 35.181.254.208/32.
- AWS
- GCP
- Azure
- OCI
- OVHcloud
S3 bucket
There are two ways to create the S3 bucket on AWS. You'll see two tabs corresponding to both options in the App.
Using CloudFormation
Open the URL in the App to navigate to CloudFormation with automatically filled parameters.
Once the S3 bucket is created, copy and paste the following information into Holori: the region name, bucket name, access key ID, and secret access key.
Once done, click on Continue.
Manually using the AWS Console
1. Create the bucket
- Choose the region you want to create the bucket in. This can be selected in the top right corner of your screen.
- Copy the region name and paste it into Holori.
- Navigate to the S3 service.
- Click on Create bucket.
- Give your bucket a name, then copy and paste it into Holori.
- Leave the other settings at their default values and click on Create.
Your bucket is now created.
2. Create the access keys
- Navigate to the IAM service.
- Select Users in the left sidebar.
- Click on Create user.
- Give it a specific name for this use case, for example
Holori S3 archive. - Click on Next.
- Select Attach policies directly, then click on Create policy.
- In the new tab, click on JSON and paste the following permission:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucket",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::<your-bucket-name>",
"arn:aws:s3:::<your-bucket-name>/*"
]
}
]
}
- Click on Next, give the policy a name, then click on Create policy.
- Make sure the policy you just created is selected for the user.
- Click on Next, verify that everything is correct, then click on Create user.
- Open the newly created user's details and click on Identification and security information.
- Scroll down to Access keys and click on Create access key.
- Select one of the options, confirm it, then click on Next.
- Give it a name and click on Next.
- Click on Download .csv file. You will not be able to access the secret key again after leaving this page.
- Open the downloaded file and copy the Access key ID and Secret access key into Holori.
You've now created your access keys. You can close the CSV file and the key creation page.
Database
There are two ways to create the database on AWS. You'll see two tabs corresponding to both options in the App.
Using CloudFormation
Open the URL in the App to navigate to CloudFormation with automatically filled parameters.
Once the database is created, copy and paste the following information into Holori: the host, username, and password.
Once done, click on Continue.
Manually using the AWS Console
First, open and connect to your AWS web console.
1. Create the database
- Choose the region you want to create the database in. This can be selected in the top right corner of your screen.
- Navigate to the RDS service.
- Click on Create database in the Create with a complete configuration card.
- Choose PostgreSQL.
- Choose Standard create.
- Select the Free tier template.
- Choose Single-AZ deployment.
- Select a value for Engine version of 17 or higher.
- Give your database instance a name in DB instance identifier.
- Enter a Master username and copy and paste it into Holori.
- Enter a strong Master password and copy and paste it into Holori.
- Select a public VPC and subnet group, creating them if needed.
- Select Public access.
- Select a security group that allows Holori's servers to access your database.
- CloudWatch settings are optional, you can disable them if you don't need them.
- Click on Create database. Creation can take a few minutes.
Your database is now created.
2. Get the database endpoint
- Navigate to the database you just created.
- Open the Connectivity and security tab.
- Under Endpoints, find the Additional configurations section.
- Copy the Endpoint value and paste it into Holori.
- Click on Continue.
S3 bucket
First, open and connect to your GCP web console.
1. Create the service account
- Navigate to the IAM and admin panel.
- Click on Service accounts in the left sidebar.
- Click on Create service account.
- Give it a name.
- Skip the permissions and role definition and click on Create and continue, then Done.
- Note the service account email somewhere, you will need it in step 3.
2. Create the bucket
- Choose the project you want to create the bucket in. This can be selected in the top left corner of your screen.
- Navigate to the Storage service.
- Click on Buckets in the left sidebar.
- Give your bucket a name, then copy and paste it into Holori.
- Choose a region in which the bucket will be created.
- Leave the other settings at their default values and click on Create.
Your bucket is now being created.
3. Set the bucket permissions
- Click on your newly created bucket.
- Click on the Permissions tab.
- Click on Grant access.
- Paste the service account email in the New principals field.
- Select the Storage Object Admin role.
- Click on Save.
4. Create the access key
- Navigate to the Storage service.
- Click on Settings in the left sidebar.
- Click on the Interoperability tab.
- Copy the Endpoint URL and paste it into Holori.
- Make sure the project in which you created the bucket is selected as the Default project.
- Click on Create a key for a service account.
- Find and select the service account you created in step 1.
- Click on Create key.
- Copy the Access key and Secret and paste them into Holori.
Database
First, open and connect to your GCP web console.
1. Create the database
- Navigate to the Cloud SQL service.
- Click on Instances in the left sidebar.
- Click on the PostgreSQL tab.
- Click on Create a Sandbox instance.
- Select the Enterprise edition.
- Select Sandbox for Edition preset.
- Select a PostgreSQL version of 17 or higher.
- Give your instance a name in Instance ID.
- Generate a password and copy and paste it into Holori.
- Choose the region in which the database will be created.
- Keep Single zone selected.
- Click on Create instance.
Your database is now being created.
2. Get the database information
- A page with information about your newly created database should open automatically.
- Refresh the page once the deployment is complete.
- Copy the Public IP address value and paste it into Holori.
- Click on Continue.
S3 bucket
Azure is currently not supported for S3 bucket storage, due to compatibility issues on their end. Please use another provider to host your S3 bucket.
Database
Using Bicep
Step 1: Get your subscription information
- Open and connect to your Azure console.
- Navigate to the Subscriptions service.
- Find the subscription you want to create the database in.
- Copy its Subscription ID and paste it into Holori.
Step 2: Deploy the database
- Click on Cloud Shell in the top right corner of the screen.
- Download the file linked in the Holori App.
- Click on Manage files, then Upload, to upload the file you just downloaded.
- Run this command, replacing
<subscription-id>with your subscription ID:
az group create --name holoriDatabaseResourceGroup --location eastus --subscription <subscription-id> && \
az deployment group create --mode Complete --resource-group holoriDatabaseResourceGroup --subscription <subscription-id> --template-file ./postgresql.bicep --parameters postgresql_password="c67a60f6-ed35-42a3-b21f-010226877b19" && \
az deployment group show -g holoriDatabaseResourceGroup --subscription <subscription-id> -n postgresql --query properties.outputs
- Copy the
postgresqlServerFQDNvalue and paste it into Holori. - Click on Continue.
Manually using the Azure Console
First, open and connect to your Azure web console.
1. Create the database
- Navigate to the Azure Database for PostgreSQL flexible servers service.
- Click on Create.
- Select the subscription and resource group in which you want to create the database.
- Give it a unique Server name.
- Select the region in which you want to deploy the database.
- Select a PostgreSQL version of 17 or higher.
- Choose Dev/Test for Workload type.
- Configure the server as you wish, the default is fine as a starting point.
- Zonal resiliency is not necessary, you can disable it.
- Choose PostgreSQL authentication only for Authentication method.
- Set an Administrator login value and copy and paste it into Holori.
- Generate a strong Administrator password and copy and paste it into Holori.
- Click on Next.
- Select Public access for Connectivity method and enable it.
- Under Firewall rules, click on + Add 0.0.0.0 - 255.255.255.255.
- Confirm and click on Next.
- Leave the default security settings and click on Next.
- Set tags if you want, then click on Next.
- Review the information and click on Create.
Your database is now being created.
2. Get the database endpoint
- Open the database you just created.
- Copy the Server FQDN value and paste it into Holori.
- Click on Continue.
S3 bucket
First, open and connect to your OCI web console.
1. Get your tenancy details
- Click on your profile in the top right corner of the screen.
- Click on Tenancy to open your tenancy details page.
- Copy the Object storage namespace value and paste it into Holori.
- Click on Region management in the left sidebar.
- Copy the Region Identifier of your home region and paste it into Holori.
2. Create the bucket
- Navigate to the Storage service.
- Click on Object Storage & Archive Storage, then Buckets, in the left sidebar.
- Click on Create Bucket.
- Give your bucket a name, then copy and paste it into Holori.
- Make sure Bucket Scope is set to Namespace.
- Leave the other settings at their default values and click on Create.
Your bucket is now being created.
3. Create the user
- Navigate to Identity & Security, then Domains, under the Identity section.
- Click on your current domain.
- Click on the User management tab.
- Click on Create user, under the Users section.
- Give the user a name, for example
Holori archive bucket. - Enter a valid email address. Keep Use the email address as the username enabled.
- Do not attach any group to this user, this is done in a later step.
- Click on Create.
4. Create the access key
- Open the user you just created.
- Click on the Customer secret keys tab.
- Click on Generate secret key.
- Give it a name and click on Create.
- Copy the Generated Key value and paste it into Holori as the secret key.
- Click on Close.
- Click on the three dots to the right of the generated key line.
- Click on Copy Access key and paste it into Holori.
5. Create the group
- Navigate back to Identity & Security, then Domains, under the Identity section.
- Click on your current domain.
- Click on the User management tab.
- Click on Create group, under the Groups section.
- Give it exactly this name:
holori-archive-bucket. - Select the user you created in step 3.
- Click on Create.
6. Create the access policy
- Navigate to Identity & Security, then Policies, under the Identity section.
- Click on Create Policy.
- Give it exactly this name:
holori-archive-bucket-access. - Click on Show manual editor.
- Fill the text area with this policy, replacing
<your-bucket-name>with your actual bucket name:
Allow group holori-archive-bucket to manage objects in tenancy where all {target.bucket.name='<your-bucket-name>'}
- Click on Save.
Database
First, open and connect to your OCI web console.
You can create a PostgreSQL instance using the DB Systems service. Keep in mind this option can be quite expensive, and you will need to define a working network configuration yourself to allow Holori's servers to access this instance.
Alternatively, you can manage your own instance: create a small virtual machine and install PostgreSQL on it. The virtual machine must be on a public network with a public IP address. Make sure to expose the PostgreSQL service on all network interfaces.
S3 bucket
First, open and connect to your OVHcloud web console.
1. Create the bucket
- Click on the Public Cloud tab.
- Click on Object storage, under the Storage category, in the left sidebar.
- Click on Create an object container.
- Give your bucket a name, then copy and paste it into Holori.
- Select S3 compatible API.
- Choose the region you want to create the bucket in.
- In the User field, click on Create a new user.
- Give this new user a name, for example
holori-archive-bucket. - Select this newly created user in the dropdown.
- Click on See credentials and copy the Access key and Secret key into Holori.
- Leave the other settings at their default values and click on Create an object container.
Your object storage is now being created.
2. Get the bucket information
- Open your newly created object storage.
- Click on General information.
- Copy the Endpoint value and paste it into Holori.
Database
1. Create the database
- Navigate to Databases, under the Databases & Analytics section, in the left sidebar.
- Click on Create a managed database.
- Give it a unique name.
- Select PostgreSQL for Engine.
- Select a version of 17 or higher.
- Choose the region in which your database will be created.
- Select the Essential plan, or Discovery depending on your region.
- Choose the smallest instance and storage capacity as a good starting point.
- Under Options, select Public network and add the following IP addresses:
52.47.71.189/32,52.47.172.58/32, and35.181.254.208/32. - Click on Order in the right sidebar.
Your database is now being created.
2. Get the database information
- Once created, the database details page should be displayed.
- Refresh the page once the deployment is complete.
- Click on the Dashboard tab.
- Copy the Host and Port values and paste them into Holori.
- Download or copy the SSL certificate and paste it into Holori.
- Click on the Users tab.
- Copy the Username value and paste it into Holori.
- On the right, click on the three dots action menu and choose Reset password.
- Click on Confirm, then copy the new password into Holori.
- Click on Continue.