这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@rakeshkky
Copy link
Member

@rakeshkky rakeshkky commented Jun 20, 2019

Description

A new make rule, local-image, added to server Makefile to build docker image locally

Required Tools

  • stack
  • docker
  • strip
  • upx
  • tar

Affected components

  • Server

Related Issues

N/A

Solution and Design

make local-image do the following actions.

  1. Pull fpco stack-build docker image by using stack docker pull command
  2. Run stack --docker build --fast command to build server in a docker container
  3. Create a new folder with the name rootfs in packaging/build/
  4. Run graphql-engine-packager container by mounting server binary built in 2 which emits its root filesystem with server binary and necessary runtime dependencies into the folder created in 3
  5. Run strip on server binary present in packaging/build/rootfs/bin/
  6. Pack the server binary using upx tool
  7. Create a minimal docker image by packing rootfs folder using packaging/build/Dockerfile

Steps to test and verify

In the server folder, run

make local-image

Limitations

  • The fpco's stack-build image is of size ~8.5 GB
  • By default, the generated image is tagged with hasura registry

@rakeshkky rakeshkky added s/ok-to-merge Status: This pull request can be merged to master c/server Related to server labels Jun 20, 2019
@rakeshkky rakeshkky requested a review from shahidhk June 20, 2019 09:30
@rakeshkky rakeshkky requested a review from 0x777 as a code owner June 20, 2019 09:30
@rakeshkky rakeshkky self-assigned this Jun 20, 2019
@netlify
Copy link

netlify bot commented Jun 20, 2019

Deploy preview for hasura-docs ready!

Built with commit 2419e50

https://deploy-preview-2410--hasura-docs.netlify.com

@netlify
Copy link

netlify bot commented Jun 20, 2019

Deploy preview for hasura-docs ready!

Built with commit d43e714

https://deploy-preview-2410--hasura-docs.netlify.com

Copy link
Member

@shahidhk shahidhk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, tested.

@shahidhk shahidhk changed the title add a make rule 'local-image' to build server docker image locally add a make rule to build server docker image locally Jun 20, 2019
@hasura-bot
Copy link
Contributor

Review app for commit d43e714 deployed to Heroku: https://hge-ci-pull-2410.herokuapp.com
Docker image for server: hasura/graphql-engine:pull2410-d43e714e

@shahidhk shahidhk merged commit 4f9d595 into hasura:master Jun 27, 2019
@hasura-bot
Copy link
Contributor

Review app https://hge-ci-pull-2410.herokuapp.com is deleted

wawhal added a commit to wawhal/graphql-engine that referenced this pull request Jul 3, 2019
* render 404 for nonexistent resources (hasura#2341)

* update console dev logging + add logging disable instructions to README (hasura#2388)

* update table rename handling (hasura#2393)

* suggest column default values (hasura#2352)

* fix postgres query to fetch pg_types default functions (close hasura#2399) (hasura#2402)

* add graphql-voyager to console (close hasura#314) (hasura#2369)

* clear header state for remote-schema (close hasura#2396) (hasura#2401)

* change browse rows action buttons heading id (close hasura#2403) (hasura#2413)

* created docker compose for build and launch of tutorial (hasura#2406)

* fix renaming of columns used in insert permission (fix hasura#2398) (hasura#2414)

* graphql2chartjs: fix mapping of non-array types (hasura#2307)

* add name of ci environment to telemetry data (hasura#2382)

* learn: update react native tutorial with videos (hasura#2390)

* create down migration when a column is dropped (close hasura#2291) (hasura#2385)

* add new column row during add table only after completed prev column def (hasura#2428)

* add a make rule to build server docker image locally (hasura#2410)

* learn: fix twitter share image on homepage (hasura#2437)

* add note on exporting multiple schemas as migration (hasura#2436)

* fix browse rows query error handling + boolean filter value (close hasura#2421) (hasura#2440)

* graphql2chartjs: bump version to 0.3.0 (hasura#2445)

* fix to show error notification when run sql fails in cli mode (close hasura#2438) (hasura#2446)

* freeze requirements.txt for server tests (hasura#2450)

* update postgres permission documentation (fix hasura#2404) (hasura#2405)

* refactor AddTable validation on console (close hasura#1712) (hasura#2408)

* change default type placeholder from 'text' to type (fix 2394) (hasura#2458)

* add server version to console html (close hasura#2444) (hasura#2452)

* fix type placeholders in console insert/edit row (hasura#2460)

* fix relationship page error if array fk relationship exists with table in another schema (hasura#2459)

* infer relationship type using uniqueness constraint of foreign key (close hasura#969) (hasura#2347)

* use server version from console html (hasura#2464)

* add schema explorer ui

* wire up create API, WIP

* ui fixes

* integrate with proxy API

* fetch remote relationships in loadSchema

* fixes

* finish up UI for remote rels; waiting on edit API

* break relationships ui into sections

* move graphql schema to local state

* update relationship label

* restructure

* update styles; add tooltips

* filter out fields (scalar type || wrapped scalar type) and do accept any args

* remove an unnecessary log

* version check init

* add version check for remote relationship on loadSchema

* use FT_REMOTE_RELATIONSHIPS

* allow adding string values for scalar args

* comment code

* add update relationship feature

* cover edge cases for update remote rel

* fix semver issue where sometimes the query would never be called

* remove unnecessary fields from schema tree

* stable

* wip

* wip

* wip

* add version checks

* invalidate remote schema cache appropriately

* Remove unnecessary logs
wawhal added a commit to wawhal/graphql-engine that referenced this pull request Jul 4, 2019
* render 404 for nonexistent resources (hasura#2341)

* update console dev logging + add logging disable instructions to README (hasura#2388)

* update table rename handling (hasura#2393)

* suggest column default values (hasura#2352)

* fix postgres query to fetch pg_types default functions (close hasura#2399) (hasura#2402)

* add graphql-voyager to console (close hasura#314) (hasura#2369)

* clear header state for remote-schema (close hasura#2396) (hasura#2401)

* change browse rows action buttons heading id (close hasura#2403) (hasura#2413)

* created docker compose for build and launch of tutorial (hasura#2406)

* fix renaming of columns used in insert permission (fix hasura#2398) (hasura#2414)

* graphql2chartjs: fix mapping of non-array types (hasura#2307)

* add name of ci environment to telemetry data (hasura#2382)

* learn: update react native tutorial with videos (hasura#2390)

* create down migration when a column is dropped (close hasura#2291) (hasura#2385)

* add new column row during add table only after completed prev column def (hasura#2428)

* add a make rule to build server docker image locally (hasura#2410)

* learn: fix twitter share image on homepage (hasura#2437)

* add note on exporting multiple schemas as migration (hasura#2436)

* fix browse rows query error handling + boolean filter value (close hasura#2421) (hasura#2440)

* graphql2chartjs: bump version to 0.3.0 (hasura#2445)

* fix to show error notification when run sql fails in cli mode (close hasura#2438) (hasura#2446)

* freeze requirements.txt for server tests (hasura#2450)

* update postgres permission documentation (fix hasura#2404) (hasura#2405)

* refactor AddTable validation on console (close hasura#1712) (hasura#2408)

* change default type placeholder from 'text' to type (fix 2394) (hasura#2458)

* add server version to console html (close hasura#2444) (hasura#2452)

* fix type placeholders in console insert/edit row (hasura#2460)

* fix relationship page error if array fk relationship exists with table in another schema (hasura#2459)

* infer relationship type using uniqueness constraint of foreign key (close hasura#969) (hasura#2347)

* use server version from console html (hasura#2464)

* add schema explorer ui

* wire up create API, WIP

* ui fixes

* integrate with proxy API

* fetch remote relationships in loadSchema

* fixes

* finish up UI for remote rels; waiting on edit API

* break relationships ui into sections

* move graphql schema to local state

* update relationship label

* restructure

* update styles; add tooltips

* filter out fields (scalar type || wrapped scalar type) and do accept any args

* remove an unnecessary log

* version check init

* add version check for remote relationship on loadSchema

* use FT_REMOTE_RELATIONSHIPS

* allow adding string values for scalar args

* comment code

* add update relationship feature

* cover edge cases for update remote rel

* fix semver issue where sometimes the query would never be called

* remove unnecessary fields from schema tree

* stable

* wip

* wip

* wip

* add version checks

* invalidate remote schema cache appropriately

* Remove unnecessary logs
wawhal added a commit to wawhal/graphql-engine that referenced this pull request Jul 8, 2019
* render 404 for nonexistent resources (hasura#2341)

* update console dev logging + add logging disable instructions to README (hasura#2388)

* update table rename handling (hasura#2393)

* suggest column default values (hasura#2352)

* fix postgres query to fetch pg_types default functions (close hasura#2399) (hasura#2402)

* add graphql-voyager to console (close hasura#314) (hasura#2369)

* clear header state for remote-schema (close hasura#2396) (hasura#2401)

* change browse rows action buttons heading id (close hasura#2403) (hasura#2413)

* created docker compose for build and launch of tutorial (hasura#2406)

* fix renaming of columns used in insert permission (fix hasura#2398) (hasura#2414)

* graphql2chartjs: fix mapping of non-array types (hasura#2307)

* add name of ci environment to telemetry data (hasura#2382)

* learn: update react native tutorial with videos (hasura#2390)

* create down migration when a column is dropped (close hasura#2291) (hasura#2385)

* add new column row during add table only after completed prev column def (hasura#2428)

* add a make rule to build server docker image locally (hasura#2410)

* learn: fix twitter share image on homepage (hasura#2437)

* add note on exporting multiple schemas as migration (hasura#2436)

* fix browse rows query error handling + boolean filter value (close hasura#2421) (hasura#2440)

* graphql2chartjs: bump version to 0.3.0 (hasura#2445)

* fix to show error notification when run sql fails in cli mode (close hasura#2438) (hasura#2446)

* freeze requirements.txt for server tests (hasura#2450)

* update postgres permission documentation (fix hasura#2404) (hasura#2405)

* refactor AddTable validation on console (close hasura#1712) (hasura#2408)

* change default type placeholder from 'text' to type (fix 2394) (hasura#2458)

* add server version to console html (close hasura#2444) (hasura#2452)

* fix type placeholders in console insert/edit row (hasura#2460)

* fix relationship page error if array fk relationship exists with table in another schema (hasura#2459)

* infer relationship type using uniqueness constraint of foreign key (close hasura#969) (hasura#2347)

* use server version from console html (hasura#2464)

* add schema explorer ui

* wire up create API, WIP

* ui fixes

* integrate with proxy API

* fetch remote relationships in loadSchema

* fixes

* finish up UI for remote rels; waiting on edit API

* break relationships ui into sections

* move graphql schema to local state

* update relationship label

* restructure

* update styles; add tooltips

* filter out fields (scalar type || wrapped scalar type) and do accept any args

* remove an unnecessary log

* version check init

* add version check for remote relationship on loadSchema

* use FT_REMOTE_RELATIONSHIPS

* allow adding string values for scalar args

* comment code

* add update relationship feature

* cover edge cases for update remote rel

* fix semver issue where sometimes the query would never be called

* remove unnecessary fields from schema tree

* stable

* wip

* wip

* wip

* add version checks

* invalidate remote schema cache appropriately

* Remove unnecessary logs
wawhal added a commit to wawhal/graphql-engine that referenced this pull request Jul 12, 2019
* render 404 for nonexistent resources (hasura#2341)

* update console dev logging + add logging disable instructions to README (hasura#2388)

* update table rename handling (hasura#2393)

* suggest column default values (hasura#2352)

* fix postgres query to fetch pg_types default functions (close hasura#2399) (hasura#2402)

* add graphql-voyager to console (close hasura#314) (hasura#2369)

* clear header state for remote-schema (close hasura#2396) (hasura#2401)

* change browse rows action buttons heading id (close hasura#2403) (hasura#2413)

* created docker compose for build and launch of tutorial (hasura#2406)

* fix renaming of columns used in insert permission (fix hasura#2398) (hasura#2414)

* graphql2chartjs: fix mapping of non-array types (hasura#2307)

* add name of ci environment to telemetry data (hasura#2382)

* learn: update react native tutorial with videos (hasura#2390)

* create down migration when a column is dropped (close hasura#2291) (hasura#2385)

* add new column row during add table only after completed prev column def (hasura#2428)

* add a make rule to build server docker image locally (hasura#2410)

* learn: fix twitter share image on homepage (hasura#2437)

* add note on exporting multiple schemas as migration (hasura#2436)

* fix browse rows query error handling + boolean filter value (close hasura#2421) (hasura#2440)

* graphql2chartjs: bump version to 0.3.0 (hasura#2445)

* fix to show error notification when run sql fails in cli mode (close hasura#2438) (hasura#2446)

* freeze requirements.txt for server tests (hasura#2450)

* update postgres permission documentation (fix hasura#2404) (hasura#2405)

* refactor AddTable validation on console (close hasura#1712) (hasura#2408)

* change default type placeholder from 'text' to type (fix 2394) (hasura#2458)

* add server version to console html (close hasura#2444) (hasura#2452)

* fix type placeholders in console insert/edit row (hasura#2460)

* fix relationship page error if array fk relationship exists with table in another schema (hasura#2459)

* infer relationship type using uniqueness constraint of foreign key (close hasura#969) (hasura#2347)

* use server version from console html (hasura#2464)

* add schema explorer ui

* wire up create API, WIP

* ui fixes

* integrate with proxy API

* fetch remote relationships in loadSchema

* fixes

* finish up UI for remote rels; waiting on edit API

* break relationships ui into sections

* move graphql schema to local state

* update relationship label

* restructure

* update styles; add tooltips

* filter out fields (scalar type || wrapped scalar type) and do accept any args

* remove an unnecessary log

* version check init

* add version check for remote relationship on loadSchema

* use FT_REMOTE_RELATIONSHIPS

* allow adding string values for scalar args

* comment code

* add update relationship feature

* cover edge cases for update remote rel

* fix semver issue where sometimes the query would never be called

* remove unnecessary fields from schema tree

* stable

* wip

* wip

* wip

* add version checks

* invalidate remote schema cache appropriately

* Remove unnecessary logs
wawhal added a commit to wawhal/graphql-engine that referenced this pull request Jul 23, 2019
* render 404 for nonexistent resources (hasura#2341)

* update console dev logging + add logging disable instructions to README (hasura#2388)

* update table rename handling (hasura#2393)

* suggest column default values (hasura#2352)

* fix postgres query to fetch pg_types default functions (close hasura#2399) (hasura#2402)

* add graphql-voyager to console (close hasura#314) (hasura#2369)

* clear header state for remote-schema (close hasura#2396) (hasura#2401)

* change browse rows action buttons heading id (close hasura#2403) (hasura#2413)

* created docker compose for build and launch of tutorial (hasura#2406)

* fix renaming of columns used in insert permission (fix hasura#2398) (hasura#2414)

* graphql2chartjs: fix mapping of non-array types (hasura#2307)

* add name of ci environment to telemetry data (hasura#2382)

* learn: update react native tutorial with videos (hasura#2390)

* create down migration when a column is dropped (close hasura#2291) (hasura#2385)

* add new column row during add table only after completed prev column def (hasura#2428)

* add a make rule to build server docker image locally (hasura#2410)

* learn: fix twitter share image on homepage (hasura#2437)

* add note on exporting multiple schemas as migration (hasura#2436)

* fix browse rows query error handling + boolean filter value (close hasura#2421) (hasura#2440)

* graphql2chartjs: bump version to 0.3.0 (hasura#2445)

* fix to show error notification when run sql fails in cli mode (close hasura#2438) (hasura#2446)

* freeze requirements.txt for server tests (hasura#2450)

* update postgres permission documentation (fix hasura#2404) (hasura#2405)

* refactor AddTable validation on console (close hasura#1712) (hasura#2408)

* change default type placeholder from 'text' to type (fix 2394) (hasura#2458)

* add server version to console html (close hasura#2444) (hasura#2452)

* fix type placeholders in console insert/edit row (hasura#2460)

* fix relationship page error if array fk relationship exists with table in another schema (hasura#2459)

* infer relationship type using uniqueness constraint of foreign key (close hasura#969) (hasura#2347)

* use server version from console html (hasura#2464)

* add schema explorer ui

* wire up create API, WIP

* ui fixes

* integrate with proxy API

* fetch remote relationships in loadSchema

* fixes

* finish up UI for remote rels; waiting on edit API

* break relationships ui into sections

* move graphql schema to local state

* update relationship label

* restructure

* update styles; add tooltips

* filter out fields (scalar type || wrapped scalar type) and do accept any args

* remove an unnecessary log

* version check init

* add version check for remote relationship on loadSchema

* use FT_REMOTE_RELATIONSHIPS

* allow adding string values for scalar args

* comment code

* add update relationship feature

* cover edge cases for update remote rel

* fix semver issue where sometimes the query would never be called

* remove unnecessary fields from schema tree

* stable

* wip

* wip

* wip

* add version checks

* invalidate remote schema cache appropriately

* Remove unnecessary logs
wawhal added a commit to wawhal/graphql-engine that referenced this pull request Jul 24, 2019
* render 404 for nonexistent resources (hasura#2341)

* update console dev logging + add logging disable instructions to README (hasura#2388)

* update table rename handling (hasura#2393)

* suggest column default values (hasura#2352)

* fix postgres query to fetch pg_types default functions (close hasura#2399) (hasura#2402)

* add graphql-voyager to console (close hasura#314) (hasura#2369)

* clear header state for remote-schema (close hasura#2396) (hasura#2401)

* change browse rows action buttons heading id (close hasura#2403) (hasura#2413)

* created docker compose for build and launch of tutorial (hasura#2406)

* fix renaming of columns used in insert permission (fix hasura#2398) (hasura#2414)

* graphql2chartjs: fix mapping of non-array types (hasura#2307)

* add name of ci environment to telemetry data (hasura#2382)

* learn: update react native tutorial with videos (hasura#2390)

* create down migration when a column is dropped (close hasura#2291) (hasura#2385)

* add new column row during add table only after completed prev column def (hasura#2428)

* add a make rule to build server docker image locally (hasura#2410)

* learn: fix twitter share image on homepage (hasura#2437)

* add note on exporting multiple schemas as migration (hasura#2436)

* fix browse rows query error handling + boolean filter value (close hasura#2421) (hasura#2440)

* graphql2chartjs: bump version to 0.3.0 (hasura#2445)

* fix to show error notification when run sql fails in cli mode (close hasura#2438) (hasura#2446)

* freeze requirements.txt for server tests (hasura#2450)

* update postgres permission documentation (fix hasura#2404) (hasura#2405)

* refactor AddTable validation on console (close hasura#1712) (hasura#2408)

* change default type placeholder from 'text' to type (fix 2394) (hasura#2458)

* add server version to console html (close hasura#2444) (hasura#2452)

* fix type placeholders in console insert/edit row (hasura#2460)

* fix relationship page error if array fk relationship exists with table in another schema (hasura#2459)

* infer relationship type using uniqueness constraint of foreign key (close hasura#969) (hasura#2347)

* use server version from console html (hasura#2464)

* add schema explorer ui

* wire up create API, WIP

* ui fixes

* integrate with proxy API

* fetch remote relationships in loadSchema

* fixes

* finish up UI for remote rels; waiting on edit API

* break relationships ui into sections

* move graphql schema to local state

* update relationship label

* restructure

* update styles; add tooltips

* filter out fields (scalar type || wrapped scalar type) and do accept any args

* remove an unnecessary log

* version check init

* add version check for remote relationship on loadSchema

* use FT_REMOTE_RELATIONSHIPS

* allow adding string values for scalar args

* comment code

* add update relationship feature

* cover edge cases for update remote rel

* fix semver issue where sometimes the query would never be called

* remove unnecessary fields from schema tree

* stable

* wip

* wip

* wip

* add version checks

* invalidate remote schema cache appropriately

* Remove unnecessary logs
wawhal added a commit to wawhal/graphql-engine that referenced this pull request Jul 24, 2019
* render 404 for nonexistent resources (hasura#2341)

* update console dev logging + add logging disable instructions to README (hasura#2388)

* update table rename handling (hasura#2393)

* suggest column default values (hasura#2352)

* fix postgres query to fetch pg_types default functions (close hasura#2399) (hasura#2402)

* add graphql-voyager to console (close hasura#314) (hasura#2369)

* clear header state for remote-schema (close hasura#2396) (hasura#2401)

* change browse rows action buttons heading id (close hasura#2403) (hasura#2413)

* created docker compose for build and launch of tutorial (hasura#2406)

* fix renaming of columns used in insert permission (fix hasura#2398) (hasura#2414)

* graphql2chartjs: fix mapping of non-array types (hasura#2307)

* add name of ci environment to telemetry data (hasura#2382)

* learn: update react native tutorial with videos (hasura#2390)

* create down migration when a column is dropped (close hasura#2291) (hasura#2385)

* add new column row during add table only after completed prev column def (hasura#2428)

* add a make rule to build server docker image locally (hasura#2410)

* learn: fix twitter share image on homepage (hasura#2437)

* add note on exporting multiple schemas as migration (hasura#2436)

* fix browse rows query error handling + boolean filter value (close hasura#2421) (hasura#2440)

* graphql2chartjs: bump version to 0.3.0 (hasura#2445)

* fix to show error notification when run sql fails in cli mode (close hasura#2438) (hasura#2446)

* freeze requirements.txt for server tests (hasura#2450)

* update postgres permission documentation (fix hasura#2404) (hasura#2405)

* refactor AddTable validation on console (close hasura#1712) (hasura#2408)

* change default type placeholder from 'text' to type (fix 2394) (hasura#2458)

* add server version to console html (close hasura#2444) (hasura#2452)

* fix type placeholders in console insert/edit row (hasura#2460)

* fix relationship page error if array fk relationship exists with table in another schema (hasura#2459)

* infer relationship type using uniqueness constraint of foreign key (close hasura#969) (hasura#2347)

* use server version from console html (hasura#2464)

* add schema explorer ui

* wire up create API, WIP

* ui fixes

* integrate with proxy API

* fetch remote relationships in loadSchema

* fixes

* finish up UI for remote rels; waiting on edit API

* break relationships ui into sections

* move graphql schema to local state

* update relationship label

* restructure

* update styles; add tooltips

* filter out fields (scalar type || wrapped scalar type) and do accept any args

* remove an unnecessary log

* version check init

* add version check for remote relationship on loadSchema

* use FT_REMOTE_RELATIONSHIPS

* allow adding string values for scalar args

* comment code

* add update relationship feature

* cover edge cases for update remote rel

* fix semver issue where sometimes the query would never be called

* remove unnecessary fields from schema tree

* stable

* wip

* wip

* wip

* add version checks

* invalidate remote schema cache appropriately

* Remove unnecessary logs
polRk pushed a commit to polRk/graphql-engine that referenced this pull request Feb 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c/server Related to server s/ok-to-merge Status: This pull request can be merged to master

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants