Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add configuration notes to README.md #964

Merged
merged 4 commits into from
Feb 7, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,28 @@ using different configurations. Check the `./getting-started` directory for more
- `kubectl get deployment -n polaris` - To check the status of the deployment.
- `kubectl describe deployment polaris-deployment -n polaris` - To troubleshoot if things aren't working as expected.

#### Configuring Polaris

Polaris Servers can be configured using any of these ways (or a mixture):
- Passing config settings as java system properties. For example: `-Dsome-config.name=value`
- Passing config settings as environment variables usign the same name as java system properties.
- Note: Some shells may put restrictions on the names of environment variables and some advanced
configuration may not be settable this way. K8s, though, supports all chars that are used in config
names.
- Note: Some examples may show upper-case environment variable names. They work for simple cases, but
more advanced configuration requires using exact case plus `.`, `,`, `"`, and `-` chars as defined
in the Polaris source.
- Putting config settings as environment variables into the `.env` file in the current working directory.
- Putting config settings into a java properties file located at `$PWD/config/application.properties`.
- Note: This location is relative to the current directory of the Polaris Server process.

Most common configuration settings that users may want to change are:
- `polaris.persistence.type` (see the Getting Stated guide for specific instructions).
- `polaris.features.defaults.SUPPORTED_CATALOG_STORAGE_TYPES=["S3","GCS","AZURE"]`.
- Note: this excludes the default `FILE` storage type, which is not meaningful in a distributed deployment.

Default configuration values can be found in `quarkus/defaults/src/main/resources/application.properties`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a blocker to this PR, but I'm still concerned as this file contains both build-time and runtime configs. I'm not sure if there is a better way to reduce the confusion from the users, other than documenting them well. Open for suggestions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it help if we had a different section for build-time properties in application.properties with a comment explaining how they work?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, that definitely helps.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


#### Building docs

- Docs are generated using [Hugo](https://gohugo.io/) using the [Docsy](https://www.docsy.dev/docs/) theme.
Expand Down