Skip to content

Commit

Permalink
Merge pull request #3 from Asone/feature/wikidata-api
Browse files Browse the repository at this point in the history
Feature/wikidata api
  • Loading branch information
Asone committed Aug 15, 2018
2 parents 7320338 + 23b9a02 commit 0b1295d
Show file tree
Hide file tree
Showing 4 changed files with 96 additions and 19 deletions.
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@ an-data-fetcher :
an-pics-fetcher :
docker-compose run assemblee cargo run -p tricoteuses_api_assemblee_photos_fetcher -- -c Config.toml -v
hatvp-data-fetcher:
docker-compose run hatvp cargo run -p tricoteuses_api_hatvp_fetcher -- -c Config.toml -v
docker-compose run hatvp cargo run -p tricoteuses_api_hatvp_fetcher -- -c Config.toml -v
wikidata-data-fetcher:
docker-compose run wikidata cargo run -p tricoteuses_api_wikidata_fetcher -- -c Config.toml -v
74 changes: 56 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,68 @@
# Docker containers for tricoteuses application

This repo is an intent to provide docker containers for tricoteuses application.
This repo provides docker containers for tricoteuses applications.

Tricoteuses is an application of [parlement ouvert](https://framagit.org/parlement-ouvert) which intends to open the data of the french parlement so it can be easily used by contributors.
Tricoteuses are a set of software from [parlement ouvert](https://framagit.org/parlement-ouvert) which intends to open the data of the french parlement so it can be easily used by contributors.

Tricoteuses comes in 3 different softwares interacting through a postgres database.
Softwares are the following :

Softwares are the following :
- [ ] [Postgres]()
- [ ] [Tricoteuses-daemon](https://framagit.org/parlement-ouvert/tricoteuses-daemon) : An software for automatic feed our database
- [x] [Tricoteuses-api-assemble](): Provides a GraphQL server for data fetched from the french parlament.
- [x] [Tricoteuses-api-hatvp](): Provides a GraphQL server for data fetched from the [`Hatvp`]() institution.
- [x] [Tricoteuses-api-wikidata](): Provides a GraphQL server for parlamentaries biographic data fetched from [wikidata]()(https://framagit.org/tricoteuses/tricoteuses-api-wikidata).
- [ ] [Tricoteuses-api](https://framagit.org/parlement-ouvert/tricoteuses-api) : A graphQL API for requesting database
- [ ] [Tricoteuses-ui](https://framagit.org/parlement-ouvert/tricoteuses-ui) : Front-end application for exploring data.
- [ ] A new GraphQL API for specific use with `assemblée nationale` data.
- [ ] [Tricoteuses-ui](https://framagit.org/parlement-ouvert/tricoteuses-ui) : Front-end application for exploring data.
- [ ] [Tricoteuses-daemon](https://framagit.org/parlement-ouvert/tricoteuses-daemon) : feeds the postgres database automatically

## Current services states

### **[Functional] assemblee (Assemblée Nationale)**

#### Fetch data ###

You will need to fetch Parlament data if you deploy on a new environment. You can use `make` command to launch data fetching with :

```
make an-data-fetcher
make an-pics-fetcher
```

### usage ###
Run `docker-compose up assemblee` to launch webserver.

A documented graphiQL interface is available at [localhost:8000](http:https://localhost:8000)


### **[Functional] hatvp (Haute autorité de la transparence de la vie publique)**

#### Fetch data ###

You will need to fetch hatvp data if you deploy on a new environment. You can use `make` command to launch data fetching with :

```
make hatvp-data-fetch
```

### usage ###
Run `docker-compose up hatvp` to launch webserver.

A documented graphiQL interface is available at [localhost:8002](http:https://localhost:8002)

### **[Functional] Wikidata (Biographic data)**

#### Fetch data ###

You will need to fetch wikidata data if you deploy on a new environment. You can use `make` command to launch data fetching with :

```
make wikidata-data-fetch
```

### usage ###
Run `docker-compose up wikidata` to launch webserver.

A documented graphiQL interface is available at [localhost:8003](http:https://localhost:8003)


### DB

DB should be working. On removing the image and rebuilding, db will automatically fetch current data dump available.
Expand Down Expand Up @@ -196,13 +244,3 @@ Failure: /usr/local/lib/node_modules/bs-platform/lib/ninja.exe


##### Notes #####

### assemblee

`assemblee` service should run fine.

You will need to fetch Parlament data if you deploy on a new environment. You can use `make` command to launch data fetching with

`make an-data-fetcher` . It will run `docker-compose run assemblee cargo run -p tricoteuses_api_assemblee_open_data_fetcher -- -c Config.toml`.

Run `docker-compose up assemblee` to launch webserver.
27 changes: 27 additions & 0 deletions _provisioning/wikidata-api/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
FROM rustlang/rust:nightly

LABEL AUTHOR="Nelson Herbin <[email protected]>"
LABEL NAME=tricoteuses-wikidata-api
LABEL VERSION=1

RUN apt-get update && \
apt-get install -y unzip

ENV JQ_VERSION='1.5'

RUN wget --no-check-certificate https://raw.githubusercontent.com/stedolan/jq/master/sig/jq-release.key -O /tmp/jq-release.key && \
wget --no-check-certificate https://raw.githubusercontent.com/stedolan/jq/master/sig/v${JQ_VERSION}/jq-linux64.asc -O /tmp/jq-linux64.asc && \
wget --no-check-certificate https://github.com/stedolan/jq/releases/download/jq-${JQ_VERSION}/jq-linux64 -O /tmp/jq-linux64 && \
gpg --import /tmp/jq-release.key && \
gpg --verify /tmp/jq-linux64.asc /tmp/jq-linux64 && \
cp /tmp/jq-linux64 /usr/bin/jq && \
chmod +x /usr/bin/jq && \
rm -f /tmp/jq-release.key && \
rm -f /tmp/jq-linux64.asc && \
rm -f /tmp/jq-linux64

RUN git clone https://framagit.org/tricoteuses/tricoteuses-api-wikidata.git

WORKDIR tricoteuses-api-wikidata

EXPOSE 8003
10 changes: 10 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,16 @@ services:
- ./_data:/hatvp-data/
ports:
- 8002:8002
wikidata:
build:
context: ./_provisioning/wikidata-api
environment:
- ROCKET_ENV=staging
command: cargo run -p tricoteuses_api_wikidata -- -c Config.toml -v
volumes:
- ./_data:/wikidata-data/
ports:
- 8003:8003

volumes:
pgdata:
Expand Down

0 comments on commit 0b1295d

Please sign in to comment.