8e122d1a61
* Add Admin API
- Create `admin.py` to serve as Admin API Core
- Create `flask_admin.py` to create flask blueprint for admin API
- Consolidate configuration getter
- Add Pathlib serializing
- Add docker example
* Add integration tests
- Amend admin example to allow writing to configuration. If FS is read only admin API does not work. Returns a 500 and logs `OSError: [Errno 30] Read-only file system: '/pygeoapi/local.config.yml' `
* Preserve env variables in configuration
* Use common accessor functions
- Use common configuration accessor methods for Django and Starlette
* GET returns raw config file
Return configuration with environment variables preserved on GET requests
* Safeguard env variables for root cfg view
"bind": {
"host": "localhost",
"port": "6000"
}
->
"bind": {
"host": "${HOST}",
"port": "${PORT}"
}
* Simplify admin HTML imports
- Use jinja recursion to expand the configuration
- Remove vue from templates
* Create admin API documentation
* Use render_item_value in admin template
* Add Admin API
- Create `admin.py` to serve as Admin API Core
- Create `flask_admin.py` to create flask blueprint for admin API
- Consolidate configuration getter
- Add Pathlib serializing
- Add docker example
* Update GitHub Actions deployment
* Update admin entrypoint
Update admin entrypoint to align with upstream pygeoapi implementation
* Make requested changes
Co-Authored-By: Tom Kralidis <tomkralidis@gmail.com>
* Amend test url
Co-Authored-By: Tom Kralidis <tomkralidis@gmail.com>
* Fix Admin CI tests
* Add PUT and PATCH for root configuration
- Add put and patch for root configuration
- Add CI tests for PUT and PATCH of root
* Update OpenAPI document wording
* Update entrypoint.sh
Replace tabs with spaces
* Remove unused step
Error from rebasing. Admin API tests are moved to their own job.
* Use jsonpatch
- Use debian supported packaging
- Use custom merge function
* Move test data location
* Create Starlette and Django app
- Fold flask_admin.py into flask_app.py
Co-Authored-By: Tom Kralidis <tomkralidis@gmail.com>
* Make requirements-admin.txt
Move admin dependencies to requirements-admin.txt
* Delete guiblock.html
* Update test count for STAC
Update expected test count for addt'l admin test data
* Relegate config warning to config.py
* Move admin tests out of example
* Delete admin docker example
* Update admin-api.rst
* Update pygeoapi-config-0.x.yml
* Update configuration.rst
* Update config.py
* Update admin.py
* Update admin.py
---------
Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
72 lines
2.0 KiB
JSON
72 lines
2.0 KiB
JSON
{
|
|
"server": {
|
|
"bind": {
|
|
"host": "0.0.0.0",
|
|
"port": 5000
|
|
},
|
|
"url": "http://localhost:5000",
|
|
"admin": true,
|
|
"mimetype": "application/json; charset=UTF-8",
|
|
"encoding": "utf-8",
|
|
"languages": ["en-US"],
|
|
"cors": true,
|
|
"pretty_print": true,
|
|
"limit": 10,
|
|
"map": {
|
|
"url": "https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png",
|
|
"attribution": "<a href=\"https://wikimediafoundation.org/wiki/Maps_Terms_of_Use\">Wikimedia maps</a> | Map data © <a href=\"https://openstreetmap.org/copyright\">OpenStreetMap contributors</a>"
|
|
}
|
|
},
|
|
"logging": {
|
|
"level": "INFO"
|
|
},
|
|
"metadata": {
|
|
"identification": {
|
|
"title": {
|
|
"en": "pygeoapi default instance"
|
|
},
|
|
"description": {
|
|
"en": "pygeoapi provides an API to geospatial data"
|
|
},
|
|
"keywords": {
|
|
"en": ["geospatial", "data", "api"]
|
|
},
|
|
"keywords_type": "theme",
|
|
"terms_of_service": "https://creativecommons.org/licenses/by/4.0/",
|
|
"url": "http://example.org"
|
|
},
|
|
"license": {
|
|
"name": "CC-BY 4.0 license",
|
|
"url": "https://creativecommons.org/licenses/by/4.0/"
|
|
},
|
|
"provider": {
|
|
"name": "Organization Name",
|
|
"url": "https://pygeoapi.io"
|
|
},
|
|
"contact": {
|
|
"name": "Lastname, Firstname",
|
|
"position": "Position Title",
|
|
"address": "Mailing Address",
|
|
"city": "City",
|
|
"stateorprovince": "Administrative Area",
|
|
"postalcode": "Zip or Postal Code",
|
|
"country": "Country",
|
|
"phone": "+xx-xxx-xxx-xxxx",
|
|
"fax": "+xx-xxx-xxx-xxxx",
|
|
"email": "you@example.org",
|
|
"url": "Contact URL",
|
|
"hours": "Hours of Service",
|
|
"instructions": "During hours of service. Off on weekends.",
|
|
"role": "pointOfContact"
|
|
}
|
|
},
|
|
"resources": {
|
|
"hello-world": {
|
|
"type": "process",
|
|
"processor": {
|
|
"name": "HelloWorld"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|