generated from jackhadrill/container-spawner
Experiment
This commit is contained in:
parent
98faaf413a
commit
223444490c
|
@ -0,0 +1,58 @@
|
|||
kind: pipeline
|
||||
type: docker
|
||||
name: build-amd64
|
||||
platform:
|
||||
arch: amd64
|
||||
steps:
|
||||
- name: push
|
||||
image: plugins/docker
|
||||
when:
|
||||
branch:
|
||||
- main
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
repo: git.jacknet.io/jackhadrill/container-director
|
||||
tags: amd64
|
||||
username: jackhadrill
|
||||
password:
|
||||
from_secret: password
|
||||
registry: git.jacknet.io
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: build-arm64
|
||||
platform:
|
||||
arch: arm64
|
||||
steps:
|
||||
- name: push
|
||||
image: plugins/docker
|
||||
when:
|
||||
branch:
|
||||
- main
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
repo: git.jacknet.io/jackhadrill/container-director
|
||||
tags: arm64
|
||||
username: jackhadrill
|
||||
password:
|
||||
from_secret: password
|
||||
registry: git.jacknet.io
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: manifest
|
||||
depends_on:
|
||||
- build-amd64
|
||||
- build-arm64
|
||||
steps:
|
||||
- name: manifest
|
||||
image: plugins/manifest
|
||||
settings:
|
||||
username: JackNet
|
||||
password:
|
||||
from_secret: password
|
||||
target: git.jacknet.io/jackhadrill/container-director:latest
|
||||
template: git.jacknet.io/jackhadrill/container-director:ARCH
|
||||
platforms:
|
||||
- linux/amd64
|
||||
- linux/arm64
|
|
@ -0,0 +1,8 @@
|
|||
FROM nginx:alpine
|
||||
|
||||
ENV LISTEN_PORT="80"
|
||||
ENV CONTAINER_PREFIX="container"
|
||||
ENV SPAWNER_HOST="spawner"
|
||||
ENV SPANWER_PORT="80"
|
||||
|
||||
COPY director.conf /etc/nginx/templates/director.conf.template
|
22
README.md
22
README.md
|
@ -1,2 +1,22 @@
|
|||
# code-spawner
|
||||
# Container Director
|
||||
|
||||
[![Build Status](https://drone.jacknet.io/api/badges/jackhadrill/container-director/status.svg)](https://drone.jacknet.io/jackhadrill/container-director)
|
||||
|
||||
A tool to proxy an HTTP backend, and failover to a "container spawner" if the backend does not exist.
|
||||
|
||||
## Usage
|
||||
|
||||
```yml
|
||||
version: '3'
|
||||
services:
|
||||
...
|
||||
container-director:
|
||||
image: git.jacknet.io/jackhadrill/container-director:latest
|
||||
restart: always
|
||||
environment:
|
||||
LISTEN_PORT: 80
|
||||
CONTAINER_PREFIX: "container"
|
||||
SPAWNER_HOST: "spawner"
|
||||
SPANWER_PORT: 80
|
||||
...
|
||||
```
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
server {
|
||||
listen ${LISTEN_PORT};
|
||||
server_name _;
|
||||
|
||||
resolver 127.0.0.11 valid=1s;
|
||||
|
||||
location / {
|
||||
proxy_pass http://${CONTAINER_PREFIX}$http_x_forwarded_preferred_username$uri;
|
||||
error_page 502 = @spawner;
|
||||
}
|
||||
|
||||
location @spawner {
|
||||
proxy_pass http://${SPAWNER_HOST}:${SPANWER_PORT}$uri;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue