Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup of nginx image #3214

Merged
merged 1 commit into from
Oct 10, 2018
Merged

Cleanup of nginx image #3214

merged 1 commit into from
Oct 10, 2018

Conversation

aledbf
Copy link
Member

@aledbf aledbf commented Oct 10, 2018

No description provided.

@aledbf aledbf added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 10, 2018
@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 10, 2018
@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Oct 10, 2018
@@ -95,6 +93,7 @@ clean-install \
dumb-init \
gdb \
valgrind \
luajit \
Copy link
Member

Choose a reason for hiding this comment

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

why is this? we build luajit from source

Copy link
Member Author

Choose a reason for hiding this comment

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

Because of this https://packages.debian.org/buster/luajit. I rollbacked this change

if [[ (${ARCH} != "ppc64le") && (${ARCH} != "s390x") ]]; then
cd "$BUILD_PATH/luajit2-2.1-20180420"
make CCDEBUG=-g
make install
Copy link
Member

Choose a reason for hiding this comment

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

REGISTRY ?= quay.io/kubernetes-ingress-controller
ARCH ?= $(shell go env GOARCH)
DOCKER ?= docker

ALL_ARCH = amd64 arm arm64 ppc64le s390x
ALL_ARCH = amd64 arm arm64 ppc64le
Copy link
Member

Choose a reason for hiding this comment

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

I saw openresty/lua-nginx-module#1379 today - that tells me ingress-nginx isn't going to work on ARM64 because lua-nginx-module does not support it yet.

Copy link
Member

Choose a reason for hiding this comment

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

there's also a user reported issue about this #2802

@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Oct 10, 2018
@ElvinEfendi
Copy link
Member

/lgtm

for the sake of documentation: this PR is also upgrading openresty/luajit to 8e35a1932250b0313c06393061f332c760efdf40

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 10, 2018
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: aledbf, ElvinEfendi

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@aledbf aledbf removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 10, 2018
@aledbf
Copy link
Member Author

aledbf commented Oct 10, 2018

Merging.

@aledbf aledbf merged commit dcc6495 into kubernetes:master Oct 10, 2018
@aledbf aledbf deleted the clean-nginx branch October 10, 2018 13:03
ElvinEfendi pushed a commit to Shopify/ingress that referenced this pull request Oct 10, 2018
ElvinEfendi pushed a commit to Shopify/ingress that referenced this pull request Oct 10, 2018
--add-module=$BUILD_PATH/nginx-http-auth-digest-$NGINX_DIGEST_AUTH \
--add-module=$BUILD_PATH/ngx_http_substitutions_filter_module-$NGINX_SUBSTITUTIONS \
--add-module=$BUILD_PATH/lua-nginx-module-$LUA_NGX_VERSION \
--add-module=$BUILD_PATH/lua-upstream-nginx-module-$LUA_UPSTREAM_VERSION \
--add-module=$BUILD_PATH/nginx_cookie_flag_module-$COOKIE_FLAG_VERSION \
Copy link

@albertomurillo albertomurillo Apr 29, 2019

Choose a reason for hiding this comment

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

@aledbf why was this module removed? is there an alternative other than build and maintain a new image myself?

Copy link
Member Author

Choose a reason for hiding this comment

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

Since dynamic mode only, this module was not used by the ingress controller

Copy link

@albertomurillo albertomurillo Apr 29, 2019

Choose a reason for hiding this comment

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

Not by the controller itself but it is useful to have this module and use it under nginx.ingress.kubernetes.io/configuration-snippet: to add secure and httponly flags to certain cookies from 3rd party apps.

Any chance to see this back in the image?

Copy link
Member Author

Choose a reason for hiding this comment

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

Any chance to see this back in the image?

No.

We already have the foundation to add custom plugins to the controller without the need to change the base nginx image. Please check #3807 and as an example #3967
Once this is available, you could build a plugin using https://github.com/cloudflare/lua-resty-cookie

I am sorry if this is not the answer you are looking for, but we are trying to allow custom features without the need of a custom docker image or the overhead we have maintaining a base image with all the nginx modules.

Copy link
Member Author

Choose a reason for hiding this comment

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

I am also exploring alternatives to the current base image using multi-stage builds, like https://github.com/aledbf/horus-proxy/blob/master/Dockerfile to produce dynamic modules using openresty as the base image.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants