Compare commits
No commits in common. "8b9c8fc1b97dd1c84d2e08d6272444c681599512" and "30ddd419a3ad0834bd92b7db898f6725d65042ad" have entirely different histories.
8b9c8fc1b9
...
30ddd419a3
35
.paasify/plugins/README.md
Normal file
35
.paasify/plugins/README.md
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# Paasify plugins
|
||||||
|
|
||||||
|
## Input data
|
||||||
|
|
||||||
|
* Plugins meta:
|
||||||
|
* Desc: Return plugin metadata informations
|
||||||
|
* `action`: `'metadata'`
|
||||||
|
* `schema`: `<JSON schema>`
|
||||||
|
* `version`: `<>`
|
||||||
|
* `author`: `<>`
|
||||||
|
* `name`: `<>`
|
||||||
|
* `description`: `<>`
|
||||||
|
* `require`: `[<Tag Name>,]`, Future !
|
||||||
|
* Returns: Dict of all static data
|
||||||
|
|
||||||
|
* Docker compose vars build
|
||||||
|
* Desc: Return plugin configuration
|
||||||
|
* `action`: `'vars_docker'`
|
||||||
|
* `user_data`: `<User vars>`
|
||||||
|
* Returns:
|
||||||
|
* new_settings only
|
||||||
|
* merged_config
|
||||||
|
|
||||||
|
* Docker compose file build
|
||||||
|
* Desc: Transform docker data with plugin configuration
|
||||||
|
* `action`: `'docker_transform'`
|
||||||
|
* `user_data`: `<User vars>`
|
||||||
|
* `docker_data`: `<Docker Compose data>`
|
||||||
|
* Returns:
|
||||||
|
* new_settings only
|
||||||
|
* merged_config
|
||||||
|
|
||||||
|
## Template
|
||||||
|
|
||||||
|
|
||||||
@ -1,8 +1,3 @@
|
|||||||
### OLD PLUGIN !!!!!!!
|
|
||||||
|
|
||||||
|
|
||||||
# local paasify = import 'paasify.libsonnet';
|
|
||||||
|
|
||||||
|
|
||||||
# Helpers functions
|
# Helpers functions
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
@ -129,10 +124,9 @@ local global_vars_default(runtime) =
|
|||||||
app_dir_root: dir_prefix,
|
app_dir_root: dir_prefix,
|
||||||
app_dir_db_data: dir_prefix + 'db_data', # Backup data
|
app_dir_db_data: dir_prefix + 'db_data', # Backup data
|
||||||
app_dir_db_conf: dir_prefix + 'db_conf', # Commitables files into git
|
app_dir_db_conf: dir_prefix + 'db_conf', # Commitables files into git
|
||||||
|
|
||||||
app_dir_cache: dir_prefix + 'cache', # Cache files
|
app_dir_cache: dir_prefix + 'cache', # Cache files
|
||||||
app_dir_build: dir_prefix + 'build', # Build dir
|
app_dir_build: dir_prefix + 'build', # Build dir
|
||||||
app_dir_script: dir_prefix + 'scripts', # Dir for storing container scripts and helpers
|
app_dir_script: dir_prefix + 'build', # Dir for storing container scripts and helpers
|
||||||
app_dir_conf: dir_prefix + 'conf', # Commitables files into git
|
app_dir_conf: dir_prefix + 'conf', # Commitables files into git
|
||||||
app_dir_backup: dir_prefix + 'backup', # Backup directory
|
app_dir_backup: dir_prefix + 'backup', # Backup directory
|
||||||
app_dir_data: dir_prefix + 'data', # Backup data
|
app_dir_data: dir_prefix + 'data', # Backup data
|
||||||
@ -144,7 +138,14 @@ local global_vars_default(runtime) =
|
|||||||
app_docker_socket: '/var/run/docker.sock',
|
app_docker_socket: '/var/run/docker.sock',
|
||||||
app_docker_conn: 'unix://var/run/docker.sock',
|
app_docker_conn: 'unix://var/run/docker.sock',
|
||||||
|
|
||||||
|
# TOFIX: Merging data, SHOULD BEIN OVERRIDE !!!
|
||||||
|
app_admin_login: 'admin',
|
||||||
|
app_admin_email: 'admin@' + self.app_domain,
|
||||||
|
app_admin_passwd: 'admin',
|
||||||
|
|
||||||
|
app_user_login: 'user',
|
||||||
|
app_user_email: 'user@' + self.app_domain,
|
||||||
|
app_user_passwd: 'user',
|
||||||
|
|
||||||
# Generic networks
|
# Generic networks
|
||||||
net_backup: runtime.paasify_ns + runtime.paasify_sep + 'backup', # For backup network
|
net_backup: runtime.paasify_ns + runtime.paasify_sep + 'backup', # For backup network
|
||||||
@ -226,41 +227,40 @@ local docker_transform(conf_raw, docker_data) =
|
|||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
# # Return result
|
# Return result
|
||||||
# # -------------------------------------
|
# -------------------------------------
|
||||||
#
|
|
||||||
#
|
|
||||||
# local main() =
|
local main() =
|
||||||
#
|
|
||||||
# local getConf(name) = std.parseJson(std.extVar(name));
|
local getConf(name) = std.parseJson(std.extVar(name));
|
||||||
# local action = getConf('action');
|
local action = getConf('action');
|
||||||
#
|
|
||||||
# if action == 'metadata' then
|
if action == 'metadata' then
|
||||||
# metadata
|
metadata
|
||||||
#
|
|
||||||
# else if action == 'vars' then
|
else if action == 'vars_docker' then
|
||||||
# local user_data = getConf('user_data');
|
local user_data = getConf('user_data');
|
||||||
# local default_data = global_vars_default(user_data);
|
local default_data = global_vars_default(user_data);
|
||||||
# local common = { [x]: std.get(user_data, std.lstripChars(x, '_'), default_data[x] ) for x in std.objectFields(default_data) };
|
local common = { [x]: std.get(user_data, std.lstripChars(x, '_'), default_data[x] ) for x in std.objectFields(default_data) };
|
||||||
# {
|
{
|
||||||
# input: user_data,
|
input: user_data,
|
||||||
#
|
|
||||||
# diff: default_data + common + global_vars_override(default_data + user_data ),
|
diff: default_data + common + global_vars_override(default_data + user_data ),
|
||||||
# merged: user_data + global_vars_override(default_data + user_data ),
|
merged: user_data + global_vars_override(default_data + user_data ),
|
||||||
# }
|
}
|
||||||
#
|
|
||||||
# else if action == 'docker_transform' then
|
else if action == 'docker_transform' then
|
||||||
# local user_data = getConf('user_data');
|
local user_data = getConf('user_data');
|
||||||
# local docker_data = getConf('docker_data');
|
local docker_data = getConf('docker_data');
|
||||||
#
|
|
||||||
# {
|
{
|
||||||
# input: user_data,
|
input: user_data,
|
||||||
#
|
|
||||||
# #diff: docker_transform(user_data + global_vars_override(user_data), docker_data),
|
#diff: docker_transform(user_data + global_vars_override(user_data), docker_data),
|
||||||
# diff: docker_transform(user_data, docker_data),
|
diff: docker_transform(user_data, docker_data),
|
||||||
# merged: docker_data + self.diff,
|
merged: docker_data + self.diff,
|
||||||
# };
|
};
|
||||||
#
|
|
||||||
# # Run main script !
|
# Run main script !
|
||||||
# main()
|
main()
|
||||||
paasify.main()
|
|
||||||
|
|||||||
@ -77,7 +77,7 @@ local global_vars_override(conf) =
|
|||||||
|
|
||||||
local default_svc_entrypoints = [
|
local default_svc_entrypoints = [
|
||||||
std.get(conf, 'traefik_svc_entrypoints'),
|
std.get(conf, 'traefik_svc_entrypoints'),
|
||||||
"front-http",
|
"web",
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -4,10 +4,10 @@ services:
|
|||||||
image: lscr.io/linuxserver/librespeed:latest
|
image: lscr.io/linuxserver/librespeed:latest
|
||||||
#container_name: librespeed
|
#container_name: librespeed
|
||||||
environment:
|
environment:
|
||||||
#- PUID=$app_puid
|
#- PUID=1000
|
||||||
#- PGID=$app_pgid
|
#- PGID=1000
|
||||||
- TZ=$app_tz
|
#- TZ=America/Toronto
|
||||||
- PASSWORD=$app_admin_passwd
|
- PASSWORD=PASSWORD
|
||||||
- CUSTOM_RESULTS=false #optional
|
- CUSTOM_RESULTS=false #optional
|
||||||
- DB_TYPE=sqlite #optional
|
- DB_TYPE=sqlite #optional
|
||||||
# - DB_NAME=DB_NAME #optional
|
# - DB_NAME=DB_NAME #optional
|
||||||
|
|||||||
@ -1,18 +1,5 @@
|
|||||||
version: "3.9"
|
version: "3.9"
|
||||||
|
|
||||||
# Official docuemtnation
|
|
||||||
# https://min.io/docs/minio/container/index.html
|
|
||||||
|
|
||||||
# See: https://github.com/minio/minio/blob/master/dockerscripts/docker-entrypoint.sh
|
|
||||||
# MINIO_USERNAME=minio
|
|
||||||
# MINIO_GROUPNAME=minio
|
|
||||||
# MINIO_UID=$app_puid
|
|
||||||
# MINIO_GID=$app_pgid
|
|
||||||
#
|
|
||||||
# Mendatory ?
|
|
||||||
# MINIO_ACCESS_KEY
|
|
||||||
# MINIO_SECRET_KEY
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
default:
|
default:
|
||||||
name: ${net_ostorage:-s3}
|
name: ${net_ostorage:-s3}
|
||||||
@ -29,13 +16,9 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- MINIO_ROOT_USER=$app_admin_login
|
- MINIO_ROOT_USER=$app_admin_login
|
||||||
- MINIO_ROOT_PASSWORD=$app_admin_passwd
|
- MINIO_ROOT_PASSWORD=$app_admin_passwd
|
||||||
|
|
||||||
#- MINIO_DOMAIN=minio.$app_domain
|
#- MINIO_DOMAIN=minio.$app_domain
|
||||||
#- MINIO_DOMAIN=http://localhost:9000
|
#- MINIO_DOMAIN=http://localhost:9000
|
||||||
#- MINIO_SERVER_URL=http://minio.$app_domain
|
#- MINIO_SERVER_URL=http://minio.$app_domain
|
||||||
- MINIO_SERVER_URL=${app_prot}://minio:9000
|
- MINIO_SERVER_URL=http://minio:9000
|
||||||
- MINIO_BROWSER_REDIRECT_URL=${app_prot}://minio-console.$app_domain
|
- MINIO_BROWSER_REDIRECT_URL=https://minio-console.$app_domain
|
||||||
#
|
|
||||||
#- MINIO_ACCESS_KEY=dksflhdskhfkjdshfkdf
|
|
||||||
#- MINIO_SECRET_KEY=kfsdfksdhfkjsdhfkjdshf
|
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
|
|
||||||
# Entrypoints
|
# Entrypoints
|
||||||
- TRAEFIK_ENTRYPOINTS_default-https_ADDRESS=:53/udp
|
- TRAEFIK_ENTRYPOINTS_front-https_ADDRESS=:53/udp
|
||||||
- TRAEFIK_ENTRYPOINTS_default-https_ADDRESS=:53/tcp
|
- TRAEFIK_ENTRYPOINTS_front-https_ADDRESS=:53/tcp
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,10 +1,5 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
x-paasify:
|
|
||||||
conf:
|
|
||||||
traefik_svc_tls: true
|
|
||||||
traefik_svc_entrypoints: default-http,default-https
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
ports:
|
ports:
|
||||||
@ -14,10 +9,10 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
|
|
||||||
# Entrypoints
|
# Entrypoints
|
||||||
- TRAEFIK_ENTRYPOINTS_default-https_ADDRESS=:443 # <== Defining an entrypoint for port :80 named default
|
- TRAEFIK_ENTRYPOINTS_front-https_ADDRESS=:443 # <== Defining an entrypoint for port :80 named front
|
||||||
|
|
||||||
# Forced Http redirect to https
|
# Forced Http redirect to https
|
||||||
- TRAEFIK_ENTRYPOINTS_default-http_HTTP_REDIRECTIONS_ENTRYPOINT_PERMANENT=true
|
- TRAEFIK_ENTRYPOINTS_front-http_HTTP_REDIRECTIONS_ENTRYPOINT_PERMANENT=true
|
||||||
- TRAEFIK_ENTRYPOINTS_default-http_HTTP_REDIRECTIONS_ENTRYPOINT_SCHEME=https
|
- TRAEFIK_ENTRYPOINTS_front-http_HTTP_REDIRECTIONS_ENTRYPOINT_SCHEME=https
|
||||||
- TRAEFIK_ENTRYPOINTS_default-http_HTTP_REDIRECTIONS_ENTRYPOINT_TO=default-https
|
- TRAEFIK_ENTRYPOINTS_front-http_HTTP_REDIRECTIONS_ENTRYPOINT_TO=front-https
|
||||||
|
|
||||||
|
|||||||
@ -1,25 +1,6 @@
|
|||||||
---
|
---
|
||||||
version: "3.7"
|
version: "3.7"
|
||||||
|
|
||||||
# Notes:
|
|
||||||
# Only entrypoints with chars and number are accepted, because:
|
|
||||||
# - bash does not allow hyphen in their name
|
|
||||||
# - Traefik does not allow underscore when shell configuration is used
|
|
||||||
|
|
||||||
x-paasify:
|
|
||||||
app:
|
|
||||||
service: traefik
|
|
||||||
port: 8080
|
|
||||||
image: traefik
|
|
||||||
version: v1.6
|
|
||||||
cmd: my command
|
|
||||||
cmd_help:
|
|
||||||
cmd_shell:
|
|
||||||
cmd_status:
|
|
||||||
conf:
|
|
||||||
traefik_svc_tls: false
|
|
||||||
traefik_svc_entrypoints: default-http
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
image: ${app_image}
|
image: ${app_image}
|
||||||
@ -60,8 +41,7 @@ services:
|
|||||||
#- TRAEFIK_PROVIDERS.FILE.DIRECTORY=/etc/traefik/configs
|
#- TRAEFIK_PROVIDERS.FILE.DIRECTORY=/etc/traefik/configs
|
||||||
|
|
||||||
# Entrypoints
|
# Entrypoints
|
||||||
- TRAEFIK_ENTRYPOINTS_default-http=True
|
- TRAEFIK_ENTRYPOINTS_front-http_ADDRESS=:80 # <== Defining an entrypoint for port :80 named front
|
||||||
- TRAEFIK_ENTRYPOINTS_default-http_ADDRESS=:80 # <== Defining an entrypoint for port :80 named default
|
|
||||||
|
|
||||||
labels:
|
labels:
|
||||||
- traefik.group=$app_network_name
|
- traefik.group=$app_network_name
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user