Giter VIP home page Giter VIP logo

iglu-server's People

Contributors

alexanderdean avatar alexitc avatar benfradet avatar benjben avatar chuwy avatar fblundun avatar istreeter avatar jbeemster avatar lmath avatar oguzhanunlu avatar peel avatar pondzix avatar rzats avatar spenes avatar stanch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iglu-server's Issues

Bump schema-ddl to 0.13.0

This change also requires the following bumps:

  • iglu core to 1.0.0
  • iglu client to 1.0.2
  • circe to 0.13.0

Allow changing schemas privacy policy

It must always affect all schemas in a vendor/name group. We cannot have private schemas in the middle of a group.

E.g.

curl -i http://host/api/schemas/com.snowplowanalytics.snowplow/event -X PUT -H 'apikey: 48b267d7-ABCD-DEFG-bae4-0f002008b5ad' -d '{
  "policy": "public"
}'

Fix database initialization in docker example

Docker example on master branch doesn't work as expected due to init.sql having syntax error at first line and assigning ownership of igludb to a non-existing user sp_user. I'll open a PR today to address this.

Use sql "where" clause to list schemas for a vendor

This is the current implementation when listing schemas for a vendor/namespace/model:

  1. Fetches all rows from the database schemas table and loads into memory
  2. Deserializes all schemas into a Schema object.
  3. Filters for schemas matching the vendor name / namespace / model

A better solution is to implement an efficient getSchemasByVendorName in the Postgres class rather than using the default provided by the Storage class

Remove SafeIOApp trait

It was necessary because cats-effect 1.0 would prevent the app crash on OOM. In 2.0 it should be fixed and trait is not necessary anymore.

Fix authentication in Swagger

All endpoints requiring authentication can't be used through Swagger UI since authentication doesn't work as expected, i.e. trying any endpoint requiring authentication in any service shows that authentication header isn't added to request after entering super api key into authentication box in Swagger UI.

Swagger UI shows a cURL command each time an endpoint is used. Copy-pasting any of them into command line and adding authentication header works as expected.

Fix Swagger definition of POST /keygen

POST /keygen is supposed to take a vendor prefix and a super api key to generate read/write keys for given vendor prefix.

As seen in the attached screenshot, no input field is available to provide vendor prefix.

Screen Shot 2019-11-14 at 12 44 48

Migrate from Travis to Github Actions

We need github actions for

  • test, scalafmt, scalacheck
  • upload docker images to docker hub
  • attach jar file to github release
  • run snyk to monitor vulnerabilities in our dependencies.

Add SchemaVer negotiation

User tries to upload 1-0-1 schema, where its change to compared to 1-0-0 is clearly a model-bump, not addition-bump. Iglu Server need to recognize and warn about that (TBD if it needs to always refust that)

Add baseUrl configuration

Using Iglu Server behind a proxy prevents Swagger UI to load required assets since relative paths are used to load them.

While it is possible to bypass this issue by having tweaks in proxy configuration, it degrades UX of Iglu Server.

We should be able to plug Iglu Server behind a proxy and use it smoothly without a tweak.

Add metadata schema

We currently return all schemas with metadata key (if requested with ?metadata=true) which contains creation and modification dates. @mikejongbloet would like to add more properties such as owner and type (event/context) and in order to make this info generic and snowplow-independent we can come up with metaschema that validates these kind of properties. These schemas could reside independently on Iglu Server themselves.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.