Compare commits
8 Commits
30c166e77b
...
d8e0b79d98
Author | SHA1 | Date |
---|---|---|
Jack Hadrill | d8e0b79d98 | |
Jack Hadrill | 8cbf8036c8 | |
Jack Hadrill | 362378a24f | |
Jack Hadrill | 6037f1fa1f | |
Jack Hadrill | 55d61e1bc4 | |
Jack Hadrill | c0f662bc1e | |
Jack Hadrill | fecf8f1ab3 | |
Jack Hadrill | 3fbf8cd97c |
33
.drone.yml
33
.drone.yml
|
@ -3,7 +3,7 @@ type: docker
|
||||||
name: lint
|
name: lint
|
||||||
steps:
|
steps:
|
||||||
- name: lint
|
- name: lint
|
||||||
image: python:3-slim
|
image: python:3-alpine
|
||||||
commands:
|
commands:
|
||||||
- echo "Installing lint dependencies..."
|
- echo "Installing lint dependencies..."
|
||||||
- pip install --no-cache-dir .[lint] > /dev/null
|
- pip install --no-cache-dir .[lint] > /dev/null
|
||||||
|
@ -17,7 +17,7 @@ type: docker
|
||||||
name: test
|
name: test
|
||||||
steps:
|
steps:
|
||||||
- name: test
|
- name: test
|
||||||
image: python:3-slim
|
image: python:3-alpine
|
||||||
commands:
|
commands:
|
||||||
- echo "Installing test dependencies..."
|
- echo "Installing test dependencies..."
|
||||||
- pip install --no-cache-dir .[test] > /dev/null
|
- pip install --no-cache-dir .[test] > /dev/null
|
||||||
|
@ -32,7 +32,7 @@ depends_on:
|
||||||
- test
|
- test
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: build
|
||||||
image: python:3-slim
|
image: python:3-alpine
|
||||||
commands:
|
commands:
|
||||||
- pip install --no-cache-dir build
|
- pip install --no-cache-dir build
|
||||||
- python -m build --wheel
|
- python -m build --wheel
|
||||||
|
@ -43,6 +43,8 @@ steps:
|
||||||
when:
|
when:
|
||||||
branch:
|
branch:
|
||||||
- main
|
- main
|
||||||
|
event:
|
||||||
|
- push
|
||||||
settings:
|
settings:
|
||||||
username: jackhadrill
|
username: jackhadrill
|
||||||
password:
|
password:
|
||||||
|
@ -53,6 +55,11 @@ steps:
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: build-docker-amd64
|
name: build-docker-amd64
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- main
|
||||||
|
event:
|
||||||
|
- push
|
||||||
depends_on:
|
depends_on:
|
||||||
- build-pypi
|
- build-pypi
|
||||||
platform:
|
platform:
|
||||||
|
@ -60,9 +67,6 @@ platform:
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: build
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- main
|
|
||||||
settings:
|
settings:
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
repo: git.jacknet.io/jackhadrill/container-spawner
|
repo: git.jacknet.io/jackhadrill/container-spawner
|
||||||
|
@ -75,6 +79,11 @@ steps:
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: build-docker-arm64
|
name: build-docker-arm64
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- main
|
||||||
|
event:
|
||||||
|
- push
|
||||||
depends_on:
|
depends_on:
|
||||||
- build-pypi
|
- build-pypi
|
||||||
platform:
|
platform:
|
||||||
|
@ -82,9 +91,6 @@ platform:
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: build
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- main
|
|
||||||
settings:
|
settings:
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
repo: git.jacknet.io/jackhadrill/container-spawner
|
repo: git.jacknet.io/jackhadrill/container-spawner
|
||||||
|
@ -97,14 +103,21 @@ steps:
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: combine-manifests
|
name: combine-manifests
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- main
|
||||||
|
event:
|
||||||
|
- push
|
||||||
depends_on:
|
depends_on:
|
||||||
- build-docker-amd64
|
- build-docker-amd64
|
||||||
- build-docker-arm64
|
- build-docker-arm64
|
||||||
|
clone:
|
||||||
|
disable: true
|
||||||
steps:
|
steps:
|
||||||
- name: publish
|
- name: publish
|
||||||
image: plugins/manifest
|
image: plugins/manifest
|
||||||
settings:
|
settings:
|
||||||
username: JackNet
|
username: jackhadrill
|
||||||
password:
|
password:
|
||||||
from_secret: password
|
from_secret: password
|
||||||
target: git.jacknet.io/jackhadrill/container-spawner:latest
|
target: git.jacknet.io/jackhadrill/container-spawner:latest
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
[metadata]
|
[metadata]
|
||||||
name = containerspawner
|
name = containerspawner
|
||||||
version = 0.1.0
|
version = 0.1.1
|
||||||
|
|
|
@ -19,6 +19,6 @@ def default(path):
|
||||||
if not state.is_running(username):
|
if not state.is_running(username):
|
||||||
state.spawn(username)
|
state.spawn(username)
|
||||||
|
|
||||||
response = make_response(f"Container spawned. Reloading `{path}`...", 201)
|
response = make_response(f"Container spawned. Reloading{'' if path else ' ' + path}...", 201)
|
||||||
response.headers["Refresh"] = "5"
|
response.headers["Refresh"] = "2"
|
||||||
return response
|
return response
|
||||||
|
|
|
@ -44,11 +44,15 @@ class StateManager:
|
||||||
name=container_name,
|
name=container_name,
|
||||||
network=CONTAINER_NETWORK,
|
network=CONTAINER_NETWORK,
|
||||||
volumes={container_name: {"bind": CONTAINER_PERSIST}},
|
volumes={container_name: {"bind": CONTAINER_PERSIST}},
|
||||||
|
restart_policy={"Name": "always", "MaximumRetryCount": 5},
|
||||||
detach=True,
|
detach=True,
|
||||||
auto_remove=True
|
auto_remove=True
|
||||||
)
|
)
|
||||||
|
|
||||||
# Wait for container to start.
|
# Wait for container to start.
|
||||||
|
while container.status != "running":
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
time.sleep(3)
|
time.sleep(3)
|
||||||
|
|
||||||
# Disable auth.
|
# Disable auth.
|
||||||
|
@ -56,3 +60,6 @@ class StateManager:
|
||||||
|
|
||||||
# Install extensions.
|
# Install extensions.
|
||||||
container.exec_run("code-server --install-extension ms-python.python")
|
container.exec_run("code-server --install-extension ms-python.python")
|
||||||
|
|
||||||
|
# Restart container.
|
||||||
|
container.restart()
|
||||||
|
|
Loading…
Reference in New Issue