updated artifactory package. added reverse proxy to docker registry integration

This commit is contained in:
Raul Sanchez 2017-07-22 02:39:36 +02:00
parent efe9eb1f83
commit 58d79d0b32
3 changed files with 76 additions and 7 deletions

View File

@ -9,14 +9,15 @@ generated artifacts.
### Usage:
Select Artifactory from catalog.
- Select Artifactory from catalog.
- Select artifactory version, OSS or PRO.
- Set the params.
- Set the params and select certificate.
Click deploy.
Note: To use the PRO version, you need to get a free trial.
Notes:
- To use the PRO version, you need to get a free trial.
- You need a certificate imported in rancher enviroment to launch the package.
### More info:

View File

@ -10,6 +10,41 @@ services:
- artifactory-data:/var/opt/jfrog/artifactory
environment:
- EXTRA_JAVA_OPTIONS=${EXTRA_JAVA_OPTIONS}
artifactory-rb:
image: rawmind/alpine-nginx:1.12.1-3
environment:
NGINX_SERVER_NAME: artifactory
NGINX_SERVER_CONF: |
server {
listen ${PUBLISH_PORT};
server_name ~(?<repo>.+)\.${PUBLISH_NAME} ${PUBLISH_NAME};
set $$http_x_forwarded_proto ${PUBLISH_SCHEMA};
## Application specific logs
## access_log /var/log/nginx/oss.local-access.log timing;
## error_log /var/log/nginx/oss.local-error.log;
chunked_transfer_encoding on;
client_max_body_size 0;
proxy_read_timeout 900;
proxy_pass_header Server;
proxy_cookie_path ~*^/.* /;
location /v2 {
proxy_pass http://artifactory:8081/artifactory/api/docker/$$repo/v2/;
}
location / {
proxy_pass http://artifactory:8081/artifactory/;
}
proxy_set_header X-Artifactory-Override-Base-Url $$http_x_forwarded_proto://$$host:$$server_port;
proxy_set_header X-Forwarded-Port $$server_port;
proxy_set_header X-Forwarded-Proto $$http_x_forwarded_proto;
proxy_set_header Host $$http_host;
proxy_set_header X-Forwarded-For $$proxy_add_x_forwarded_for;
}
{{- if (.Values.PUBLISH_PORT)}}
artifactory-lb:
image: rancher/lb-service-haproxy:v0.6.4

View File

@ -14,6 +14,22 @@ catalog:
options:
- OSS
- PRO
- variable: "PUBLISH_SCHEMA"
description: "Publish schema"
label: "Publish schema:"
required: false
default: "https"
type: "enum"
options:
- http
- https
- variable: "PUBLISH_NAME"
label: "Publish name"
description: |
Set publish fqdn for Artifactory server.
required: true
type: "string"
default: "artifactory.local"
- variable: "PUBLISH_PORT"
label: "Publish port"
description: |
@ -21,6 +37,12 @@ catalog:
required: true
type: "int"
default: 8081
- variable: "SSL_CERT"
description: "SSL certificate. Mandatory if schema https."
label: "SSL certificate:"
required: true
default: ""
type: "certificate"
- variable: "EXTRA_JAVA_OPTIONS"
label: "Extra Java options"
description: |
@ -38,16 +60,27 @@ services:
scale: 1
lb_config:
certs: []
default_cert: ${SSL_CERT}
port_rules:
- protocol: http
service: artifactory
- protocol: ${PUBLISH_SCHEMA}
service: artifactory-rb
source_port: ${PUBLISH_PORT}
target_port: 8081
target_port: ${PUBLISH_PORT}
health_check:
response_timeout: 2000
healthy_threshold: 2
port: 42
unhealthy_threshold: 3
artifactory-rb:
scale: 1
retain_ip: true
health_check:
port: ${PUBLISH_PORT}
interval: 5000
unhealthy_threshold: 3
request_line: 'GET / HTTP/1.0'
healthy_threshold: 2
response_timeout: 5000
artifactory:
scale: 1
retain_ip: true