Giter Site home page Giter Site logo

jdeathe / centos-ssh-varnish Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 1.0 534 KB

Varnish Cache - CentOS - Docker image build.

Home Page: https://hub.docker.com/r/jdeathe/centos-ssh-varnish/

License: Other

Shell 58.52% Makefile 26.12% HTML 0.09% PHP 0.30% VCL 11.53% Dockerfile 3.45%
varnish-cache docker-image centos http-accelerator reverse-proxy

centos-ssh-varnish's People

Contributors

jdeathe avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

w796933

centos-ssh-varnish's Issues

Fix known issues with helper scripts.

  • Errors are seen for cd command when running the run.sh or build.sh.
  • Use local variable scope for BASH helper functions.
  • Build script fails to display image if missing tag parameter.
  • Errors seen during container removal steps of run.sh.
  • Update SSH configuration path in Systemd definition file.

Add better test method for running parameters

The current method of testing the parameters set is very crude. The logs are scanned for the parameters set via the varnishd-wrapper script. This doesn't verify against the actual running configuration so a better method would be to query the settings using the varnishadm command varnsishadm param.show.

Linked backend containers

Linked backend containers update /etc/hosts so should be able to avoid the requirement of using --add-host backend-1:DOCKER_HOST_IP

This would require a centos-ssh-varnish container on every Docker host but don't feel that's an issue.

Remove scmi source from repository

The scmi script is added to the image from the upstream source image jdeathe/centos-ssh

Having it in the repository means it needs to be maintained but is never added to this image from the Dockerfile build.

Review/update systemd install and definition scripts.

  • Update to use etcd version 2.
  • Should be using the "awk" based functions to detect configuration volumes.
  • Make use of bash double square brace type syntax to reduce amount of escaped double quotes necessary.
  • Use Environment variables to help simplify release maintenance.

Add support for secrets

Although there's no sensitive values within the configuration file currently - consideration should be given to allowing operators to use Docker secrets/config to define the configuration file content via VARNISH_VCL_CONF.

Update source to centos-6-1.7.6 release tag

  • Add source from jdeathe/centos-ssh:1.7.6
  • Add reduced number of build steps to image which helps reduce final image size.
  • Add a change log (CHANGELOG.md).
  • Add support for semantic version numbered tags.
  • Add minor code style changes to the Makefile.

Make a start with:

  • Add functional tests using shpec.

HTTP and HTTPS cache should be separated

If the content changes between http and https protocols then the configuration needs to set the vcl_hash hash_data accordingly.

The PHP Hello, world! app requires this so it would make sense to enable it by default.

Add docker-compose example

Add a docker-compose configuration file to demonstrate usage with the jdeathe/centos-ssh-apache-php backend.

Hostnames with underscores are invalid

Due to the way docker-compose sets names for services I changed the naming of the backend hosts to use the form httpd_1, httpd_2 etc instead of backend-1, backend-2 etc however this results in invalid hostname requests.

[Wed Jan 25 21:37:10.373213 2017] [core:debug] [pid 122] vhost.c(796): [client 172.172.1.7:33498] AH02415: [strict] Invalid host name 'httpd_1', problem near: _1
[Wed Jan 25 21:37:10.373467 2017] [core:debug] [pid 122] vhost.c(891): [client 172.172.1.7:33498] AH00550: Client sent malformed Host header: httpd_1
[Wed Jan 25 21:37:10.373478 2017] [core:debug] [pid 122] protocol.c(1385): [client 172.172.1.7:33498] AH00569: client sent HTTP/1.1 request without hostname (see RFC2616 section 14.23): /
[Wed Jan 25 21:37:10.373491 2017] [headers:debug] [pid 122] mod_headers.c(900): AH01503: headers: ap_headers_error_filter()

Update the run.sh helper script to make use of configuration volume.

The optional configuration volume is not used in the default run example but is necessary to allow config changes due to the complexity of the .vlc files in this container setup.

Note that the boot2docker host virtual machine only maps the users' home directory so when running docker commands via a docker host VM (proxy) the only directories that can be mapped from the host machine (The Mac) to the Docker host are those within the users' home directory.

Updated README for 1.2.0 release.

  • Run examples should be using --privileged to allow the service to run correctly.
  • SSH path needs updating in the volume configuration example.
  • Need examples of using the Environment variables.

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.