Minor Fixes; Multi-Arch.
This commit is contained in:
parent
af3529a373
commit
44f8d2756f
7 changed files with 65 additions and 11 deletions
25
.travis.yml
25
.travis.yml
|
|
@ -1,9 +1,26 @@
|
||||||
language: python
|
language: python
|
||||||
python:
|
|
||||||
- "3.7"
|
|
||||||
|
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
include:
|
||||||
|
- stage: test
|
||||||
|
if: (type IN (pull_request))
|
||||||
install:
|
install:
|
||||||
- pip install -r requirements.txt
|
- pip install -r requirements
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- pytest -s tests/
|
- pytest -s tests/
|
||||||
|
|
||||||
|
- stage: build docker
|
||||||
|
if: (branch = master) AND (NOT (type IN (pull_request)))
|
||||||
|
install:
|
||||||
|
- docker pull byjg/k8s-ci
|
||||||
|
script:
|
||||||
|
- docker run --privileged -v /tmp/z:/var/lib/containers -it --rm -v $PWD:/work -w /work -e DOCKER_USERNAME=$DOCKER_USERNAME -e DOCKER_PASSWORD=$DOCKER_PASSWORD -e DOCKER_REGISTRY=$DOCKER_REGISTRY byjg/k8s-ci /work/build-multiarch.sh
|
||||||
|
|
||||||
|
- stage: documentation
|
||||||
|
if: (branch = master) AND (NOT (type IN (pull_request)))
|
||||||
|
install: skip
|
||||||
|
script: "curl https://opensource.byjg.com/add-doc.sh | bash /dev/stdin devops docker-easy-haproxy"
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,10 @@ RUN pip3 install --upgrade pip \
|
||||||
|
|
||||||
COPY templates /scripts/templates/
|
COPY templates /scripts/templates/
|
||||||
COPY easymapping /scripts/easymapping/
|
COPY easymapping /scripts/easymapping/
|
||||||
|
COPY tests/ /scripts/tests/
|
||||||
|
|
||||||
COPY assets /
|
COPY assets /
|
||||||
|
|
||||||
|
RUN pytest -s tests/
|
||||||
|
|
||||||
CMD ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf" ]
|
CMD ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf" ]
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ Important: easyhaproxy needs to be in the same network of the containers or othe
|
||||||
| com.byjg.easyhaproxy.host.[definition] | What is the host that the HAProxy will listen to. | somehost.com |
|
| com.byjg.easyhaproxy.host.[definition] | What is the host that the HAProxy will listen to. | somehost.com |
|
||||||
| com.byjg.easyhaproxy.redirect.[definition] | (Optional) Host redirects from connections in the port defined above. | foo.com--https://bla.com,bar.com--https://bar.org |
|
| com.byjg.easyhaproxy.redirect.[definition] | (Optional) Host redirects from connections in the port defined above. | foo.com--https://bla.com,bar.com--https://bar.org |
|
||||||
| com.byjg.easyhaproxy.sslcert.[definition] | (Optional) Cert PEM Base64 encoded. | |
|
| com.byjg.easyhaproxy.sslcert.[definition] | (Optional) Cert PEM Base64 encoded. | |
|
||||||
| com.byjg.easyhaproxy.health-check.[definition] | (Optional) `ssl`, enable health check via SSL in `mode tcp` (Defaults to "empty") | |
|
| com.byjg.easyhaproxy.health-check.[definition] | (Optional) `ssl`, enable health check via SSL in `mode tcp` (Defaults to "empty") | |
|
||||||
|
|
||||||
Note: if you are deploying a stack set labels at the `deploy` level:
|
Note: if you are deploying a stack set labels at the `deploy` level:
|
||||||
|
|
||||||
|
|
|
||||||
33
build-multiarch.sh
Executable file
33
build-multiarch.sh
Executable file
|
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Start k8s-ci before run this command
|
||||||
|
# docker run --privileged -v /tmp/z:/var/lib/containers -it --rm -v $PWD:/work -w /work byjg/k8s-ci
|
||||||
|
|
||||||
|
if [ -z "$DOCKER_USERNAME" ] || [ -z "$DOCKER_PASSWORD" ] || [ -z "$DOCKER_REGISTRY" ]
|
||||||
|
then
|
||||||
|
echo You need to setup \$DOCKER_USERNAME, \$DOCKER_PASSWORD and \$DOCKER_REGISTRY before run this command.
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
buildah login --username $DOCKER_USERNAME --password $DOCKER_PASSWORD $DOCKER_REGISTRY
|
||||||
|
|
||||||
|
podman run --rm --events-backend=file --cgroup-manager=cgroupfs --privileged docker://multiarch/qemu-user-static --reset -p yes
|
||||||
|
|
||||||
|
VERSIONS="latest $TRAVIS_TAG"
|
||||||
|
for VERSION in $VERSIONS
|
||||||
|
do
|
||||||
|
DOCKERFILE=Dockerfile
|
||||||
|
|
||||||
|
buildah manifest create byjg/easy-haproxy:$VERSION
|
||||||
|
|
||||||
|
buildah bud --arch arm64 --os linux --iidfile /tmp/iid-arm64 -f $DOCKERFILE -t byjg/easy-haproxy:$VERSION-arm64 .
|
||||||
|
buildah bud --arch amd64 --os linux --iidfile /tmp/iid-amd64 -f $DOCKERFILE -t byjg/easy-haproxy:$VERSION-amd64 .
|
||||||
|
|
||||||
|
buildah manifest add byjg/easy-haproxy:$VERSION --arch arm64 --os linux --variant v8 $(cat /tmp/iid-arm64)
|
||||||
|
buildah manifest add byjg/easy-haproxy:$VERSION --arch amd64 --os linux --os=linux $(cat /tmp/iid-amd64)
|
||||||
|
|
||||||
|
buildah manifest push --all --format v2s2 byjg/easy-haproxy:$VERSION docker://byjg/easy-haproxy:$VERSION
|
||||||
|
done
|
||||||
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
pyyaml
|
pyyaml
|
||||||
docker
|
docker
|
||||||
jinja2
|
jinja2
|
||||||
|
pytest
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{% if "ssl_cert" in o %}
|
{% if "ssl_cert" in o %}
|
||||||
bind *:{{ o["port"] }} ssl crt {{ o["ssl_cert"] }}
|
bind *:{{ o["port"] }} ssl crt {{ o["ssl_cert"] }}
|
||||||
{% elif "h2" in o and o["h2"] %}
|
{% elif "h2" in o and o["h2"] %}
|
||||||
bind *:{{ o["port"] }} proto h2
|
bind *:{{ o["port"] }} proto h2
|
||||||
option http-use-htx
|
option http-use-htx
|
||||||
|
|
|
||||||
|
|
@ -60,8 +60,8 @@ backend srv_{{ host }}
|
||||||
http-request add-header X-Forwarded-Proto https if { ssl_fc }
|
http-request add-header X-Forwarded-Proto https if { ssl_fc }
|
||||||
{% elif mode == "tcp" %}
|
{% elif mode == "tcp" %}
|
||||||
option tcp-check
|
option tcp-check
|
||||||
tcp-check connect{{ " ssl" if o["health-check"] == "ssl" }}
|
tcp-check connect{{ " ssl" if o["health-check"] == "ssl" }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
server srv {{ o["hosts"][k] }} check weight 1{{ " verify none" if o["health-check"] == "ssl" }}
|
server srv {{ o["hosts"][k] }} check weight 1{{ " verify none" if o["health-check"] == "ssl" }}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue