diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties index cc5a34059..c4423a063 100644 --- a/backend/src/main/resources/application.properties +++ b/backend/src/main/resources/application.properties @@ -42,6 +42,7 @@ spring.jpa.properties.hibernate.format_sql=false spring.jpa.hibernate.use-new-id-generator-mappings=true +# Set the following property to periodically write out the generated metadata files. There is no default value; the following is just an example # shibui.metadata-dir=/opt/shibboleth-idp/metadata/generated shibui.logout-url=/dashboard @@ -58,5 +59,6 @@ shibui.metadata-sources-ui-schema-location=classpath:metadata-sources-ui-schema. ### # metadata-providers.xml write configuration +# Set the following property to periodically write out metadata providers configuration. There is no default value; the following is just an example # shibui.metadataProviders.target=file:/opt/shibboleth-idp/conf/shibui-metadata-providers.xml # shibui.metadataProviders.taskRunRate=30000 diff --git a/docs/DEFAULTPROPERTIES.md b/docs/DEFAULTPROPERTIES.md new file mode 100644 index 000000000..75916235a --- /dev/null +++ b/docs/DEFAULTPROPERTIES.md @@ -0,0 +1,72 @@ +# Default properties + +This is a reflection of the default `application.properties` file included in the distribution. Note that lines +beginning with `#` are commented out. + +Please refer to the Spring Boot documentation [https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html] +for more information. + +```properties +# Server Configuration +#server.port=8080 + +# Logging Configuration +#logging.config=classpath:log4j2.xml + +logging.level.org.springframework=INFO +logging.level.edu.internet2.tier.shibboleth.admin.ui=INFO + +# Database Credentials +spring.datasource.username=shibui +spring.datasource.password=shibui + +# Database Configuration H2 +spring.datasource.url=jdbc:h2:mem:shibui;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE +spring.datasource.platform=h2 +spring.datasource.driverClassName=org.h2.Driver +spring.jpa.database-platform=org.hibernate.dialect.H2Dialect +spring.h2.console.enabled=true + + +# Database Configuration PostgreSQL +#spring.datasource.url=jdbc:postgresql://localhost:5432/shibui +#spring.datasource.driverClassName=org.postgresql.Driver +#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect + +#Maria/MySQL DB +#spring.datasource.url=jdbc:mariadb://localhost:3306/shibui +#spring.datasource.driverClassName=org.mariadb.jdbc.Driver +#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDBDialect + +# Liquibase properties +spring.liquibase.enabled=false +#spring.liquibase.change-log=classpath:edu/internet2/tier/shibboleth/admin/ui/database/masterchangelog.xml + +# Hibernate properties +# for production never ever use create, create-drop. It's BEST to use validate +spring.jpa.hibernate.ddl-auto=update +spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyJpaCompliantImpl +spring.jpa.show-sql=false +spring.jpa.properties.hibernate.format_sql=false + +spring.jpa.hibernate.use-new-id-generator-mappings=true + +# Set the following property to periodically write out the generated metadata files. There is no default value; the following is just an example +# shibui.metadata-dir=/opt/shibboleth-idp/metadata/generated +shibui.logout-url=/dashboard + +# spring.profiles.active=default + +#shibui.default-password= + +#Actuator endpoints (info) +# Un-comment to get full git details exposed like author, abbreviated SHA-1, commit message +#management.info.git.mode=full + +### +# metadata-providers.xml write configuration + +# Set the following property to periodically write out metadata providers configuration. There is no default value; the following is just an example +# shibui.metadataProviders.target=file:/opt/shibboleth-idp/conf/shibui-metadata-providers.xml +# shibui.metadataProviders.taskRunRate=30000 +``` \ No newline at end of file diff --git a/docs/METADATAPROVIDERS.md b/docs/METADATAPROVIDERS.md new file mode 100644 index 000000000..32d02149b --- /dev/null +++ b/docs/METADATAPROVIDERS.md @@ -0,0 +1,22 @@ +# Metadata providers + +The application can generate a `metadata-providers.xml` configuration appropriate for use in the Shibboleth IdP. +There are 2 ways to access this configuration: through a web endpoint or a file. + +1. Web endpoint + + A request can be made to the `${ui.baseUrl}/api/MetadataResolvers` to get the + current configuration + +2. File export + + A file can be periodically written to disk. Set the application property `shibui.metadataProviders.target`, + pointing to a spring file resource. Note that there is no value set by default, and nothing will be written + out by default. A file, once defined, will be written every 30 seconds by default. To change the rate, set the + `shibui.metadataProviders.taskRunRate` application property, in milliseconds. + +## Docker considerations + +If writing the file out, one should use a mount in the docker container for the destination. While a bind mount +might be easiest, if running on a Windows host, one might run into problems. This is easily avoided by using a +volume instead. Refer to [https://docs.docker.com/storage/] for more information. \ No newline at end of file diff --git a/docs/METADATASOURCES.md b/docs/METADATASOURCES.md new file mode 100644 index 000000000..2ec2563b6 --- /dev/null +++ b/docs/METADATASOURCES.md @@ -0,0 +1,21 @@ +# Metdata Sources + +Metadata sources in the UI are individual metadata artifacts describing single entities, typically +relying parties. There are 2 ways to access these artifacts. + +1. MDQ + + _To be written_ + +2. File export + + Files can be periodically written to disk. Define the application property `shibui.metadata-dir`, + and the files will be written out by default every 30 seconds. Note that there is no default value + set for this property and no file will be written by default. To change the run rate, set the + `shibui.taskRunRate` application property, in milliseconds. + +## Docker considerations + +If writing the files out, one should use a mount in the docker container for the destination. While a bind mount +might be easiest, if running on a Windows host, one might run into problems. This is easily avoided by using a +volume instead. Refer to [https://docs.docker.com/storage/] for more information. \ No newline at end of file diff --git a/ui/src/assets/schema/provider/filebacked-http-filters.schema.json b/ui/src/assets/schema/provider/filebacked-http-filters.schema.json index 7672a580e..ee7b8208d 100644 --- a/ui/src/assets/schema/provider/filebacked-http-filters.schema.json +++ b/ui/src/assets/schema/provider/filebacked-http-filters.schema.json @@ -22,14 +22,10 @@ "id": "datalist", "data": [ "PT0S", - "PT30S", - "PT1M", - "PT10M", - "PT30M", - "PT1H", - "PT4H", - "PT12H", - "PT24H" + "P14D", + "P7D", + "P1D", + "PT12H" ] }, "default": null, @@ -54,7 +50,7 @@ "title": "label.certificate-file", "description": "tooltip.certificate-file", "type": "string", - "widget": "textarea", + "widget": "textline", "default": "" } }, @@ -127,4 +123,4 @@ } } } -} \ No newline at end of file +}