deploy komodo
This commit is contained in:
parent
ccc272d73b
commit
14da445f2b
3 changed files with 143 additions and 1 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1 +1,2 @@
|
|||
.vscode
|
||||
.vscode
|
||||
.env.priv
|
60
internals/komodo/core.env
Normal file
60
internals/komodo/core.env
Normal file
|
@ -0,0 +1,60 @@
|
|||
COMPOSE_LOGGING_DRIVER=local
|
||||
|
||||
#REDACTED DB_USERNAME=
|
||||
#REDACTED DB_PASSWORD=
|
||||
|
||||
#=-------------------------=#
|
||||
#= Komodo Core Environment =#
|
||||
#=-------------------------=#
|
||||
|
||||
KOMODO_HOST=https://deploy.net.enpls.org
|
||||
KOMODO_TITLE=Deploy
|
||||
|
||||
KOMODO_FIRST_SERVER=https://periphery:8120
|
||||
KOMODO_DISABLE_CONFIRM_DIALOG=false
|
||||
|
||||
KOMODO_MONITORING_INTERVAL="15-sec"
|
||||
KOMODO_RESOURCE_POLL_INTERVAL="5-min"
|
||||
|
||||
## Used to auth against periphery. Alt: KOMODO_PASSKEY_FILE
|
||||
#REDACTED KOMODO_PASSKEY=
|
||||
## Used to auth incoming webhooks. Alt: KOMODO_WEBHOOK_SECRET_FILE
|
||||
#REDACTED KOMODO_WEBHOOK_SECRET=
|
||||
## Used to generate jwt. Alt: KOMODO_JWT_SECRET_FILE
|
||||
#REDACTED KOMODO_JWT_SECRET=
|
||||
|
||||
## Enable login with username + password.
|
||||
KOMODO_LOCAL_AUTH=false
|
||||
KOMODO_DISABLE_USER_REGISTRATION=true
|
||||
KOMODO_ENABLE_NEW_USERS=true
|
||||
KOMODO_DISABLE_NON_ADMIN_CREATE=false
|
||||
KOMODO_TRANSPARENT_MODE=false
|
||||
|
||||
## Time to live for jwt tokens.
|
||||
## Options: 1-hr, 12-hr, 1-day, 3-day, 1-wk, 2-wk
|
||||
KOMODO_JWT_TTL="1-day"
|
||||
|
||||
## OIDC Login
|
||||
KOMODO_OIDC_ENABLED=true
|
||||
## Must reachable from Komodo Core container
|
||||
KOMODO_OIDC_PROVIDER=https://connect.enpls.org/oidc
|
||||
## Must be reachable by users (optional if it is the same as above).
|
||||
# KOMODO_OIDC_REDIRECT=https://oidc.provider.external/application/o/komodo
|
||||
## Your client credentials
|
||||
KOMODO_OIDC_CLIENT_ID=gt67wvsdggzhfdgg194d5 # Alt: KOMODO_OIDC_CLIENT_ID_FILE
|
||||
#REDACTED KOMODO_OIDC_CLIENT_SECRET= # Alt: KOMODO_OIDC_CLIENT_SECRET_FILE
|
||||
## Make usernames the full email.
|
||||
# KOMODO_OIDC_USE_FULL_EMAIL=true
|
||||
## Add additional trusted audiences for token claims verification.
|
||||
## Supports comma separated list, and passing with _FILE (for compose secrets).
|
||||
# KOMODO_OIDC_ADDITIONAL_AUDIENCES=abc,123 # Alt: KOMODO_OIDC_ADDITIONAL_AUDIENCES_FILE
|
||||
|
||||
#=------------------------------=#
|
||||
#= Komodo Periphery Environment =#
|
||||
#=------------------------------=#
|
||||
|
||||
## Periphery passkeys must include KOMODO_PASSKEY to authenticate
|
||||
#REDACTED PERIPHERY_PASSKEYS=${PASSKEY}
|
||||
PERIPHERY_SSL_ENABLED=true
|
||||
|
||||
PERIPHERY_INCLUDE_DISK_MOUNTS=/etc/hostname
|
81
internals/komodo/docker-compose.yaml
Normal file
81
internals/komodo/docker-compose.yaml
Normal file
|
@ -0,0 +1,81 @@
|
|||
services:
|
||||
mongo:
|
||||
image: mongo
|
||||
labels:
|
||||
komodo.skip:
|
||||
command: --quiet --wiredTigerCacheSizeGB 0.25
|
||||
restart: unless-stopped
|
||||
logging:
|
||||
driver: ${COMPOSE_LOGGING_DRIVER:-local}
|
||||
networks:
|
||||
- default
|
||||
volumes:
|
||||
- mongo-data:/data/db
|
||||
- mongo-config:/data/configdb
|
||||
environment:
|
||||
MONGO_INITDB_ROOT_USERNAME: ${DB_USERNAME}
|
||||
MONGO_INITDB_ROOT_PASSWORD: ${DB_PASSWORD}
|
||||
env_file:
|
||||
- path: ./core.env
|
||||
- path: ./.env.env
|
||||
core:
|
||||
image: ghcr.io/mbecker20/komodo:${COMPOSE_KOMODO_IMAGE_TAG:-latest}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- mongo
|
||||
logging:
|
||||
driver: ${COMPOSE_LOGGING_DRIVER:-local}
|
||||
networks:
|
||||
- default
|
||||
ports:
|
||||
- 9120:9120
|
||||
env_file:
|
||||
- path: ./core.env
|
||||
- path: ./.env.env
|
||||
environment:
|
||||
KOMODO_DATABASE_ADDRESS: mongo:27017
|
||||
KOMODO_DATABASE_USERNAME: ${DB_USERNAME}
|
||||
KOMODO_DATABASE_PASSWORD: ${DB_PASSWORD}
|
||||
volumes:
|
||||
- repo-cache:/repo-cache
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.komodo.entryPoints=websecure"
|
||||
- "traefik.http.routers.komodo.rule=Host(`deploy.net.enpls.org`)"
|
||||
- "traefik.http.routers.komodo.tls=true"
|
||||
- "traefik.http.routers.komodo.tls.certresolver=defaultacme"
|
||||
- "traefik.http.routers.komodo.middlewares=proxyHeader@file,proxyError@file"
|
||||
- "komodo.skip:"
|
||||
|
||||
periphery:
|
||||
image: ghcr.io/mbecker20/periphery:${COMPOSE_KOMODO_IMAGE_TAG:-latest}
|
||||
labels:
|
||||
komodo.skip: # Prevent Komodo from stopping with StopAllContainers
|
||||
restart: unless-stopped
|
||||
logging:
|
||||
driver: ${COMPOSE_LOGGING_DRIVER:-local}
|
||||
networks:
|
||||
- default
|
||||
env_file:
|
||||
- path: ./core.env
|
||||
- path: ./.env.env
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /proc:/proc
|
||||
- ssl-certs:/etc/komodo/ssl
|
||||
- repos:/etc/komodo/repos
|
||||
- stacks:/etc/komodo/stacks
|
||||
|
||||
volumes:
|
||||
# Mongo
|
||||
mongo-data:
|
||||
mongo-config:
|
||||
# Core
|
||||
repo-cache:
|
||||
# Periphery
|
||||
ssl-certs:
|
||||
repos:
|
||||
stacks:
|
||||
|
||||
networks:
|
||||
default: {}
|
Loading…
Reference in a new issue