From 049ef34da226619cdcfdb321f9565373697f8ae2 Mon Sep 17 00:00:00 2001 From: Stefan Van Dyck Date: Tue, 21 May 2024 12:49:54 +0200 Subject: [PATCH] Move ala-hub config so it can be downloaded more easily for the ecs deployment --- config/ala-hub/ala-hub-config.properties | 268 +++++++++++++++++ config/ala-hub/ala-hub-config.yml | 7 + config/ala-hub/charts.json | 52 ++++ config/ala-hub/grouped_facets_ala.json | 331 +++++++++++++++++++++ config/ala-hub/grouped_facets_default.json | 331 +++++++++++++++++++++ config/ala-hub/logback.xml | 29 ++ config/ala-hub/system-message.json | 5 + docker/db-init/postgis/pg_hba.conf | 90 ++++++ 8 files changed, 1113 insertions(+) create mode 100644 config/ala-hub/ala-hub-config.properties create mode 100644 config/ala-hub/ala-hub-config.yml create mode 100644 config/ala-hub/charts.json create mode 100644 config/ala-hub/grouped_facets_ala.json create mode 100644 config/ala-hub/grouped_facets_default.json create mode 100644 config/ala-hub/logback.xml create mode 100644 config/ala-hub/system-message.json create mode 100644 docker/db-init/postgis/pg_hba.conf diff --git a/config/ala-hub/ala-hub-config.properties b/config/ala-hub/ala-hub-config.properties new file mode 100644 index 00000000..f5cffcc2 --- /dev/null +++ b/config/ala-hub/ala-hub-config.properties @@ -0,0 +1,268 @@ +# Grails settings +grails.serverURL=http://records.la-flanders.org +grails.resources.work.dir=/data/ala-hub/cache + +# CAS Config +serverName=http://records.la-flanders.org +security.cas.casServerName=http://auth.la-flanders.org +security.cas.appServerName=http://records.la-flanders.org +security.cas.casServerUrlPrefix=http://auth.la-flanders.org/cas +security.cas.casServerLoginUrl=http://auth.la-flanders.org/cas/login +security.cas.casServerLogoutUrl=http://auth.la-flanders.org/cas/logout +security.cas.loginUrl=http://auth.la-flanders.org/cas/login +security.cas.logoutUrl=http://auth.la-flanders.org/cas/logout +security.cas.uriFilterPattern=/admin/*,/alaAdmin/*,/download/* +security.cas.authenticateOnlyIfLoggedInFilterPattern=/occurrences/*,/explore/your-area,/query,/proxy/download/*,/ +security.cas.authCookieName=ALA-Auth +security.cas.bypass=false +disableCAS=false + +server.address=127.0.0.1 +server.port=8080 +server.contextPath= +# Default Locale +defaultLocale=en + +# Legacy CAS properties +casProperties=casServerLoginUrl,serverName,centralServer,casServerName,uriFilterPattern,uriExclusionFilterPattern,authenticateOnlyIfLoggedInFilterPattern,casServerLoginUrlPrefix,gateway,casServerUrlPrefix,contextPath +uriFilterPattern=/admin/*,/alaAdmin/*,/download/* +uriExclusionFilterPattern=/occurrences/shapeUpload,/images.*,/css.*,/js.*,.*json,/help/.* +authenticateOnlyIfLoggedInFilterPattern=/occurrences/*,/explore/your-area,/query,/proxy/download/* +casServerName=http://auth.la-flanders.org +casServerUrlPrefix=http://auth.la-flanders.org/cas +casServerLoginUrl=http://auth.la-flanders.org/cas/login +casServerLogoutUrl=http://auth.la-flanders.org/cas/logout + +# Data Quality settings +dataquality.enabled=false +dataquality.baseUrl=https://dataquality.ala.org.au/ +dataquality.learnmore_link= +dataquality.apiKey=28f72d39-6c8b-44fc-8184-cd81f6ea518a +dataquality.warningOn=false +dataquality.disableAllFiltersByDefault=false +dataquality.expandFiltersByDefault=true + +# App settings +organisation.baseUrl=http://la-flanders.org + +# skin +skin.homeUrl = http://la-flanders.org +skin.layout=ala +skin.favicon=https://raw.githubusercontent.com/living-atlases/artwork/master/favicon.ico +skin.fluidLayout=True +skin.orgNameLong=Vlaams Biodiversiteitsportaal +skin.orgNameShort=LA Flanders +skin.attribution= +skin.useAlaBie=true +skin.useAlaSpatialPortal=true +skin.useAlaImageService=true +skin.taxaLinks.baseUrl=http://species.la-flanders.org/species/ +skin.dataQualityLink.show=false +skin.dataQualityLink.url= +skin.dataQualityLink.text=not set +skin.exploreUrl = https://www.ala.org.au/explore-by-location/ +supportEmail=support@la-flanders.org + +images.images.metadataUrl= +bie.baseUrl=http://species.la-flanders.org +bieService.baseUrl=http://species-ws.la-flanders.org +bie.searchPath=/search +biocache.apiKey=ae1cc2a8-0509-4792-8e62-ded96510d5cc +biocache.queryContext=-_nest_parent_:* +biocache.baseUrl=http://records-ws.la-flanders.org +biocache.url=http://records.la-flanders.org +biocacheServiceUrl=http://records-ws.la-flanders.org +# bicoacheServicesUrl maintained for backwards compatibility with < biocache_hubs 5.0 +biocacheServicesUrl=http://records-ws.la-flanders.org +biocache.downloads.extra=dataResourceUid,dataResourceName.p +biocache.ajax.useProxy=false +biocache.groupedFacetsUrl=file:///data/ala-hub/config/grouped_facets_default.json +biocache.indexedFieldsUrl=http://records-ws.la-flanders.org/index/fields +collectory.baseUrl=http://collections.la-flanders.org +collections.baseUrl=http://collections.la-flanders.org +collectory.resources=http://collections.la-flanders.org/public/resources.json +spatial.baseUrl=http://spatial.la-flanders.org +spatial.baseURL=http://spatial.la-flanders.org +layersservice.baseUrl=http://spatial.la-flanders.org/ws +layersservice.url=http://spatial.la-flanders.org/ws +# userDetails.url is not used by the hubs but by the ala-auth plugin +userDetails.url=http://auth.la-flanders.org/userdetails/ +# userdetails.baseUrl is used by the hubs +userdetails.baseUrl=http://auth.la-flanders.org +doiService.baseUrl=https://doi.ala.org.au +logger.baseUrl=http://logger.la-flanders.org/service +loggerURL=http://logger.la-flanders.org/service +sightings.baseUrl= + +# Image viewer +image.baseUrl=http://images.la-flanders.org +images.baseUrl=http://images.la-flanders.org +images.viewerUrl=http://images.la-flanders.org/image/viewer?imageId= +images.metadataUrl=http://images.la-flanders.org/image/details?imageId= +alwaysshow.imagetab=true + +#spatial.params=&dynamic=true&ws=http%3A%2F%2Fsandbox.ala.org.au%2Fhubs-webapp&bs=http%3A%2F%2Fsandbox.ala.org.au%2Fbiocache-service +spatial.params= + +# ROLE for access to sensitive records +clubRoleForHub=ROLE_ADMIN + +# URL for data quality checks +dataQualityChecksUrl=https://docs.google.com/spreadsheet/pub?key=0AjNtzhUIIHeNdHJOYk1SYWE4dU1BMWZmb2hiTjlYQlE&single=true&gid=0&output=csv + +# Default view for search results +defaultListView= + +# dwc values to exclude from occurrence record pages +dwc.exclude=dataHubUid,dataProviderUid,institutionUid,year,month,day,left,right,provenance,taxonID,preferredFlag,outlierForLayers,speciesGroups,associatedMedia,images,userQualityAssertion,speciesHabitats,duplicationType,taxonomicIssues,subspeciesID,nameMatchMetric,sounds + +# Explore your area defaults +exploreYourArea.lat=16.942 +exploreYourArea.lng=1.261 +exploreYourArea.location=Australia + +# Table display +table.displayDynamicProperties=false + +# Facet configuration +facets.limit=100 +facets.customOrder= +facets.defaultColourBy= +facets.includeDynamicFacets=false +facets.exclude= +facets.hide= +facets.include= +# facets cached affects the advanced search. Please include indexed fields that are used in drop downs +facets.cached=species_group,species_subgroup,state,country,institution_uid,collection_uid,data_resource_uid +facets.defaultSelected=basis_of_record,taxon_name,collection_uid,data_resource_uid,year,species_group +facets.max=32 + +# Mapping +map.cloudmade.key=BC9A493B41014CAABB98F0471D759707 +map.defaultLatitude=16.942 +map.defaultLongitude=1.261 +map.defaultZoom=5 +map.defaultFacetMapColourBy= +map.pointColour=df4a21 +map.zoomOutsideScopedRegion=true +map.height=600 +geocode.region=AU + +map.minimal.url=https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png +map.overlay.url=http://spatial.la-flanders.org/geoserver/gwc/service/wms + +mapdownloads.baseLayers.states.name=aus1 +mapdownloads.baseLayers.states.i18nCode=baselayer.states +mapdownloads.baseLayers.states.displayName=States & territories + +# Google API key +google.apikey=get-a-google-api-key + +# authorised roles +authorise.roles=ROLE_ADMIN,ROLE_COLLECTION_ADMIN + +# alerts and myannotation settings +alerts.myannotation.enabled = false +alerts.baseUrl= +alerts.apiKey=a5c2e4d1-324c-4bc2-8770-2a2aa092df49 + +# misc +speciesList.baseURL=http://lists.la-flanders.org +speciesListToolUrl=http://lists.la-flanders.org/speciesListItem/list/ +advancedTaxaField=taxa + +# australia specific list paths +stateConservationListPath.NewSouthWales=/speciesListItem/list/dr650 +stateConservationListPath.AustralianCapitalTerritory=/speciesListItem/list/dr649 +stateConservationListPath.Queensland=/speciesListItem/list/dr652 +stateConservationListPath.Victoria=/speciesListItem/list/dr655 +stateConservationListPath.WesternAustralia=/speciesListItem/list/dr2201 +stateConservationListPath.SouthAustralia=/speciesListItem/list/dr653 +stateConservationListPath.NorthernTerritory=/speciesListItem/list/dr651 +stateConservationListPath.Tasmania=/speciesListItem/list/dr654 + +# Header and footer +headerAndFooter.baseURL=http://branding.la-flanders.org +headerAndFooter.version=2 + +ala.baseURL=http://la-flanders.org +bie.baseURL=http://species.la-flanders.org +privacyPolicy= + +# Only used by the mdba hub +ecodata.baseURL= +pdfgen.baseURL=http://pdfgen.ala.org.au +webservice.apiKey=ae1cc2a8-0509-4792-8e62-ded96510d5cc +mdba.basinChampions=https://biocollect.ala.org.au/mdba/project/index/4d15b4df-c05b-41bd-ac5b-8a65c9e37d17 +mdba.regions=http://mdba-regions.ala.org.au/ + +#Used by Preferred Species +bieApiKey=5bd6d4fc-3f1c-4fa2-903a-7ec771c02999 +speciesList.preferredSpeciesListDruid=dr4778 +speciesList.preferredListName=ALA Preferred Species Images +allowedImageEditingRoles=ROLE_ADMIN + +# mdba config +specieslist.baseUrl=http://lists.la-flanders.org/ws + +# Downloads +useDownloadPlugin=true +downloads.indexedDownloadUrl=http://records-ws.la-flanders.org/occurrences/offline/download +downloads.checklistDownloadUrl=http://records-ws.la-flanders.org/occurrences/facets/download +downloads.indexedFieldsUrl=http://records-ws.la-flanders.org/index/fields +downloads.fieldguideDownloadUrl= +fieldguide.url= +downloads.staticDownloadsUrl= +downloads.termsOfUseUrl= +downloads.defaultDownloadFormat=dwc +downloads.dwcExtraFields=data_resource_uid +downloads.legacy.defaultFields=id,data_resource_uid,data_resource,license,catalogue_number,taxon_concept_lsid,raw_taxon_name,raw_common_name,taxon_name,rank,common_name,kingdom,phylum,class,order,family,genus,species,subspecies,institution_code,collection_code,locality,raw_latitude,raw_longitude,raw_datum,latitude,longitude,datum,coordinate_precision,coordinate_uncertainty,country,state,cl959,min_elevation_d,max_elevation_d,min_depth_d,max_depth_d,individual_count,recorded_by,year,month,day,verbatim_event_date,basis_of_record,raw_basis_of_record,sex,preparations,information_withheld,data_generalizations,outlier_layer,taxonomic_kosher,geospatial_kosher" + +downloads.customSections.misc=qualityAssertions,miscellaneousFields + +# Maximum download limit without 'largeDownloadRole' permission +maxDownloadRecords= + +# The CAS role to use for large downloads +largeDownloadRole=ROLE_LARGE_DOWNLOAD + +userCharts=false + +doi.mintDoi=false +endpoints.enabled=false + +# oidc related +security.cas.enabled=true +security.oidc.enabled=true +security.oidc.clientId=ala-hub +security.oidc.secret=ala-hub-super-secret +security.oidc.discoveryUri=http://auth.la-flanders.org/cas/oidc/.well-known +security.jwt.discoveryUri=http://auth.la-flanders.org/cas/oidc/.well-known +security.jwt.clientId= + +# cognito specific configs + + +#websevice jwt +webservice.jwt=false +webservice.jwt-scopes= +webservice.client-id= +webservice.client-secret= +userDetails.url=http://auth.la-flanders.org/userdetails/ + +info.app.description=Vlaams Biodiversiteitsportaal + +#events cofig +events.enabled = false +events.graphql = https://api.la-flanders.org/event/graphql +events.eventUrl = https://events.la-flanders.org/?view=EVENTS&eventHierarchy= +userdetails.url=http://auth.la-flanders.org/userdetails/ +userdetails.web.url=http://auth.la-flanders.org/userdetails/ +userdetails.api.url=http://auth.la-flanders.org/userdetails/ + +filetype.shapefile.hidden=false + + + +management.endpoint.health.enabled=true +management.endpoints.web.exposure.include=health \ No newline at end of file diff --git a/config/ala-hub/ala-hub-config.yml b/config/ala-hub/ala-hub-config.yml new file mode 100644 index 00000000..cbb6168b --- /dev/null +++ b/config/ala-hub/ala-hub-config.yml @@ -0,0 +1,7 @@ +security: + oidc: + enabled: true # Cannot disable oidc :( + discoveryUri: http://auth.la-flanders.org/cas/oidc/.well-known + scope: openid,profile,email,ala,roles, user_defined + client-id: "ala_hub" + secret: "ala_hub-oidc-super-secret" \ No newline at end of file diff --git a/config/ala-hub/charts.json b/config/ala-hub/charts.json new file mode 100644 index 00000000..4c2a6599 --- /dev/null +++ b/config/ala-hub/charts.json @@ -0,0 +1,52 @@ +{ "biocache" : { + "license" : { + "title": "By licence", + "chartType": "doughnut", + "emptyValueMsg": "Licence not specified", + "hideEmptyValues" : true, + "includeOther" : "false" + }, + "month" : { + "title": "By month", + "chartType": "bar", + "emptyValueMsg": "Month not specified", + "hideEmptyValues" : true, + "includeOther" : "false" + }, + "decade" : { + "title": "By decade", + "chartType": "bar", + "emptyValueMsg": "Year not specified", + "hideEmptyValues" : true, + "includeOther" : "false" + }, + "genus" : { + "title": "By genus", + "chartType": "doughnut", + "emptyValueMsg": "Genus not specified", + "hideEmptyValues" : true, + "includeOther" : "false" + }, + "family" : { + "title": "By family", + "chartType": "doughnut", + "emptyValueMsg": "Family not specified", + "hideEmptyValues" : true, + "includeOther" : "false" + }, + "assertions": { + "title":"By data assertion", + "chartType": "horizontal-bar", + "emptyValueMsg":"Assertion not specified", + "hideEmptyValues": true, + "includeOther" : "false", + "growToFit": true + }, + "type_status":{ + "title":"By type status (as % of all type specimens)", + "chartType": "doughnut", + "emptyValueMsg": "Type status not specified", + "hideEmptyValues": true, + "includeOther" : "false" + } +}} diff --git a/config/ala-hub/grouped_facets_ala.json b/config/ala-hub/grouped_facets_ala.json new file mode 100644 index 00000000..669fd471 --- /dev/null +++ b/config/ala-hub/grouped_facets_ala.json @@ -0,0 +1,331 @@ +[{ + "title": "Taxon", + "facets": [{ + "sort": "index", + "field": "taxon_name" + }, + { + "sort": "index", + "field": "raw_taxon_name" + }, + { + "sort": "index", + "field": "subspecies_name" + }, + { + "sort": "index", + "field": "species" + }, + { + "sort": "index", + "field": "genus" + }, + { + "sort": "index", + "field": "family" + }, + { + "sort": "index", + "field": "order" + }, + { + "sort": "index", + "field": "class" + }, + { + "sort": "index", + "field": "phylum" + }, + { + "sort": "index", + "field": "kingdom" + }, + { + "sort": "count", + "field": "rank" + }, + { + "sort": "count", + "field": "name_match_metric" + }, + { + "sort": "index", + "field": "species_group" + }, + { + "sort": "index", + "field": "common_name" + }, + { + "sort": "count", + "field": "species_subgroup" + }, + { + "sort": "count", + "field": "interaction" + } + ] +}, + { + "title": "Identification", + "facets": [{ + "sort": "index", + "field": "identified_by" + }, + { + "sort": "index", + "field": "raw_identification_qualifier" + }, + { + "sort": "count", + "field": "taxonomic_issue" + }, + { + "sort": "index", + "field": "type_status" + }, + { + "sort": "index", + "field": "original_name_usage" + }, + { + "sort": "index", + "field": "identificationVerificationStatus" + } + ] + }, + { + "title": "Occurrence", + "facets": [{ + "sort": "index", + "field": "collector" + }, + { + "sort": "count", + "field": "raw_sex" + }, + { + "sort": "count", + "field": "life_stage" + }, + { + "sort": "count", + "field": "establishment_means" + }, + { + "sort": "count", + "field": "state_conservation" + }, + { + "sort": "count", + "field": "country_conservation" + } + ] + }, + { + "title": "Event", + "facets": [{ + "sort": "index", + "field": "dataset_name" + }, + { + "sort": "index", + "field": "parent_event_id" + }, + { + "sort": "index", + "field": "field_number" + }, + { + "sort": "index", + "field": "event_id" + }, + { + "sort": "index", + "field": "eventHierarchy" + }, + { + "sort": "index", + "field": "eventTypeHierarchy" + }, + { + "sort": "index", + "field": "month" + }, + { + "sort": "index", + "field": "year" + }, + { + "sort": "count", + "field": "date_precision" + }, + { + "sort": "index", + "field": "occurrence_decade_i" + } + ] + }, + { + "title": "Publication", + "facets": [ + { + "sort": "index", + "field": "annotationsUid" + } + ] + }, + { + "title": "Location", + "facets": [{ + "sort": "index", + "field": "country" + }, + { + "sort": "count", + "field": "state" + }, + { + "sort": "index", + "field": "elevation_d_rng" + }, + { + "sort": "index", + "field": "minimumElevationInMeters" + }, + { + "sort": "count", + "field": "cl959" + }, + { + "sort": "count", + "field": "cl1048" + }, + { + "sort": "count", + "field": "cl1049" + }, + { + "sort": "count", + "field": "cl966" + }, + { + "sort": "count", + "field": "cl21" + }, + { + "sort": "count", + "field": "cl1918" + }, + { + "sort": "count", + "field": "cl617" + }, + { + "sort": "count", + "field": "cl620" + }, + { + "sort": "count", + "field": "species_habitats" + }, + { + "sort": "index", + "field": "coordinate_uncertainty" + }, + { + "sort": "count", + "field": "spatiallyValid" + }, + { + "sort": "index", + "field": "location_id" + }, + { + "sort": "count", + "field": "cl927" + } + ] + }, + { + "title": "Record", + "facets": [{ + "sort": "index", + "field": "basis_of_record" + }, + { + "sort": "count", + "field": "multimedia" + }, + { + "sort": "index", + "field": "occurrence_status" + }, + { + "sort": "index", + "description": "Content types", + "field": "contentTypes" + } + ] + }, + { + "title": "Assertions", + "facets": [{ + "sort": "count", + "field": "sensitive" + }, + { + "sort": "count", + "field": "assertions" + }, + { + "sort": "count", + "field": "outlier_layer" + }, + { + "sort": "count", + "field": "outlier_layer_count" + }, + { + "sort": "count", + "field": "user_assertions" + }, + { + "sort": "index", + "field": "assertion_user_id" + }, + { + "sort": "count", + "field": "duplicate_status" + } + ] + }, + { + "title": "Attribution", + "facets": [{ + "sort": "count", + "field": "license" + }, + { + "sort": "count", + "field": "alau_user_id" + }, + { + "sort": "count", + "field": "collection_uid" + }, + { + "sort": "count", + "field": "institution_uid" + }, + { + "sort": "count", + "field": "data_provider_uid" + }, + { + "sort": "count", + "field": "data_resource_uid" + } + ] + } +] diff --git a/config/ala-hub/grouped_facets_default.json b/config/ala-hub/grouped_facets_default.json new file mode 100644 index 00000000..669fd471 --- /dev/null +++ b/config/ala-hub/grouped_facets_default.json @@ -0,0 +1,331 @@ +[{ + "title": "Taxon", + "facets": [{ + "sort": "index", + "field": "taxon_name" + }, + { + "sort": "index", + "field": "raw_taxon_name" + }, + { + "sort": "index", + "field": "subspecies_name" + }, + { + "sort": "index", + "field": "species" + }, + { + "sort": "index", + "field": "genus" + }, + { + "sort": "index", + "field": "family" + }, + { + "sort": "index", + "field": "order" + }, + { + "sort": "index", + "field": "class" + }, + { + "sort": "index", + "field": "phylum" + }, + { + "sort": "index", + "field": "kingdom" + }, + { + "sort": "count", + "field": "rank" + }, + { + "sort": "count", + "field": "name_match_metric" + }, + { + "sort": "index", + "field": "species_group" + }, + { + "sort": "index", + "field": "common_name" + }, + { + "sort": "count", + "field": "species_subgroup" + }, + { + "sort": "count", + "field": "interaction" + } + ] +}, + { + "title": "Identification", + "facets": [{ + "sort": "index", + "field": "identified_by" + }, + { + "sort": "index", + "field": "raw_identification_qualifier" + }, + { + "sort": "count", + "field": "taxonomic_issue" + }, + { + "sort": "index", + "field": "type_status" + }, + { + "sort": "index", + "field": "original_name_usage" + }, + { + "sort": "index", + "field": "identificationVerificationStatus" + } + ] + }, + { + "title": "Occurrence", + "facets": [{ + "sort": "index", + "field": "collector" + }, + { + "sort": "count", + "field": "raw_sex" + }, + { + "sort": "count", + "field": "life_stage" + }, + { + "sort": "count", + "field": "establishment_means" + }, + { + "sort": "count", + "field": "state_conservation" + }, + { + "sort": "count", + "field": "country_conservation" + } + ] + }, + { + "title": "Event", + "facets": [{ + "sort": "index", + "field": "dataset_name" + }, + { + "sort": "index", + "field": "parent_event_id" + }, + { + "sort": "index", + "field": "field_number" + }, + { + "sort": "index", + "field": "event_id" + }, + { + "sort": "index", + "field": "eventHierarchy" + }, + { + "sort": "index", + "field": "eventTypeHierarchy" + }, + { + "sort": "index", + "field": "month" + }, + { + "sort": "index", + "field": "year" + }, + { + "sort": "count", + "field": "date_precision" + }, + { + "sort": "index", + "field": "occurrence_decade_i" + } + ] + }, + { + "title": "Publication", + "facets": [ + { + "sort": "index", + "field": "annotationsUid" + } + ] + }, + { + "title": "Location", + "facets": [{ + "sort": "index", + "field": "country" + }, + { + "sort": "count", + "field": "state" + }, + { + "sort": "index", + "field": "elevation_d_rng" + }, + { + "sort": "index", + "field": "minimumElevationInMeters" + }, + { + "sort": "count", + "field": "cl959" + }, + { + "sort": "count", + "field": "cl1048" + }, + { + "sort": "count", + "field": "cl1049" + }, + { + "sort": "count", + "field": "cl966" + }, + { + "sort": "count", + "field": "cl21" + }, + { + "sort": "count", + "field": "cl1918" + }, + { + "sort": "count", + "field": "cl617" + }, + { + "sort": "count", + "field": "cl620" + }, + { + "sort": "count", + "field": "species_habitats" + }, + { + "sort": "index", + "field": "coordinate_uncertainty" + }, + { + "sort": "count", + "field": "spatiallyValid" + }, + { + "sort": "index", + "field": "location_id" + }, + { + "sort": "count", + "field": "cl927" + } + ] + }, + { + "title": "Record", + "facets": [{ + "sort": "index", + "field": "basis_of_record" + }, + { + "sort": "count", + "field": "multimedia" + }, + { + "sort": "index", + "field": "occurrence_status" + }, + { + "sort": "index", + "description": "Content types", + "field": "contentTypes" + } + ] + }, + { + "title": "Assertions", + "facets": [{ + "sort": "count", + "field": "sensitive" + }, + { + "sort": "count", + "field": "assertions" + }, + { + "sort": "count", + "field": "outlier_layer" + }, + { + "sort": "count", + "field": "outlier_layer_count" + }, + { + "sort": "count", + "field": "user_assertions" + }, + { + "sort": "index", + "field": "assertion_user_id" + }, + { + "sort": "count", + "field": "duplicate_status" + } + ] + }, + { + "title": "Attribution", + "facets": [{ + "sort": "count", + "field": "license" + }, + { + "sort": "count", + "field": "alau_user_id" + }, + { + "sort": "count", + "field": "collection_uid" + }, + { + "sort": "count", + "field": "institution_uid" + }, + { + "sort": "count", + "field": "data_provider_uid" + }, + { + "sort": "count", + "field": "data_resource_uid" + } + ] + } +] diff --git a/config/ala-hub/logback.xml b/config/ala-hub/logback.xml new file mode 100644 index 00000000..b01ecced --- /dev/null +++ b/config/ala-hub/logback.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + ${LOG_DIR}/${appName}.log + + ${LOG_DIR}/${appName}.%i.log.gz + 1 + 4 + + + 10MB + + + %d{yyyy-MM-dd HH:mm:ss.SSS} %5p --- [%15.15t] %-40.40logger{39} : %m%n%wex + + + + + + + diff --git a/config/ala-hub/system-message.json b/config/ala-hub/system-message.json new file mode 100644 index 00000000..4ef23815 --- /dev/null +++ b/config/ala-hub/system-message.json @@ -0,0 +1,5 @@ +{ + "message": { + + } +} \ No newline at end of file diff --git a/docker/db-init/postgis/pg_hba.conf b/docker/db-init/postgis/pg_hba.conf new file mode 100644 index 00000000..91e4cd25 --- /dev/null +++ b/docker/db-init/postgis/pg_hba.conf @@ -0,0 +1,90 @@ +# PostgreSQL Client Authentication Configuration File +# =================================================== +# +# Refer to the "Client Authentication" section in the PostgreSQL +# documentation for a complete description of this file. A short +# synopsis follows. +# +# This file controls: which hosts are allowed to connect, how clients +# are authenticated, which PostgreSQL user names they can use, which +# databases they can access. Records take one of these forms: +# +# local DATABASE USER METHOD [OPTIONS] +# host DATABASE USER ADDRESS METHOD [OPTIONS] +# hostssl DATABASE USER ADDRESS METHOD [OPTIONS] +# hostnossl DATABASE USER ADDRESS METHOD [OPTIONS] +# +# (The uppercase items must be replaced by actual values.) +# +# The first field is the connection type: "local" is a Unix-domain +# socket, "host" is either a plain or SSL-encrypted TCP/IP socket, +# "hostssl" is an SSL-encrypted TCP/IP socket, and "hostnossl" is a +# plain TCP/IP socket. +# +# DATABASE can be "all", "sameuser", "samerole", "replication", a +# database name, or a comma-separated list thereof. The "all" +# keyword does not match "replication". Access to replication +# must be enabled in a separate record (see example below). +# +# USER can be "all", a user name, a group name prefixed with "+", or a +# comma-separated list thereof. In both the DATABASE and USER fields +# you can also write a file name prefixed with "@" to include names +# from a separate file. +# +# ADDRESS specifies the set of hosts the record matches. It can be a +# host name, or it is made up of an IP address and a CIDR mask that is +# an integer (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that +# specifies the number of significant bits in the mask. A host name +# that starts with a dot (.) matches a suffix of the actual host name. +# Alternatively, you can write an IP address and netmask in separate +# columns to specify the set of hosts. Instead of a CIDR-address, you +# can write "samehost" to match any of the server's own IP addresses, +# or "samenet" to match any address in any subnet that the server is +# directly connected to. +# +# METHOD can be "trust", "reject", "md5", "password", "gss", "sspi", +# "krb5", "ident", "peer", "pam", "ldap", "radius" or "cert". Note that +# "password" sends passwords in clear text; "md5" is preferred since +# it sends encrypted passwords. +# +# OPTIONS are a set of options for the authentication in the format +# NAME=VALUE. The available options depend on the different +# authentication methods -- refer to the "Client Authentication" +# section in the documentation for a list of which options are +# available for which authentication methods. +# +# Database and user names containing spaces, commas, quotes and other +# special characters must be quoted. Quoting one of the keywords +# "all", "sameuser", "samerole" or "replication" makes the name lose +# its special character, and just match a database or username with +# that name. +# +# This file is read on server startup and when the postmaster receives +# a SIGHUP signal. If you edit the file on a running system, you have +# to SIGHUP the postmaster for the changes to take effect. You can +# use "pg_ctl reload" to do that. + +# Put your actual configuration here +# ---------------------------------- +# +# If you want to allow non-local connections, you need to add more +# "host" records. In that case you will also need to make PostgreSQL +# listen on a non-local interface via the listen_addresses +# configuration parameter, or via the -i or -h command line switches. + + + + +# DO NOT DISABLE! +# If you change this first entry you will need to make sure that the +# database superuser can access the database using some other method. +# Noninteractive access to all databases is required during automatic +# maintenance (custom daily cronjobs, replication, and similar tasks). +# +# Database administrative login by Unix domain socket +local all postgres peer +local all all peer +host all all 127.0.0.1/32 password +host all all ::1/128 password +host all all 0.0.0.0/0 password +host all all 0.0.0.0/0 md5