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
|
||||
# -------------------------------------
|
||||
@ -129,10 +124,9 @@ local global_vars_default(runtime) =
|
||||
app_dir_root: dir_prefix,
|
||||
app_dir_db_data: dir_prefix + 'db_data', # Backup data
|
||||
app_dir_db_conf: dir_prefix + 'db_conf', # Commitables files into git
|
||||
|
||||
app_dir_cache: dir_prefix + 'cache', # Cache files
|
||||
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_backup: dir_prefix + 'backup', # Backup directory
|
||||
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_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
|
||||
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
|
||||
# # -------------------------------------
|
||||
#
|
||||
#
|
||||
# local main() =
|
||||
#
|
||||
# local getConf(name) = std.parseJson(std.extVar(name));
|
||||
# local action = getConf('action');
|
||||
#
|
||||
# if action == 'metadata' then
|
||||
# metadata
|
||||
#
|
||||
# else if action == 'vars' then
|
||||
# local user_data = getConf('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) };
|
||||
# {
|
||||
# input: user_data,
|
||||
#
|
||||
# diff: default_data + common + global_vars_override(default_data + user_data ),
|
||||
# merged: user_data + global_vars_override(default_data + user_data ),
|
||||
# }
|
||||
#
|
||||
# else if action == 'docker_transform' then
|
||||
# local user_data = getConf('user_data');
|
||||
# local docker_data = getConf('docker_data');
|
||||
#
|
||||
# {
|
||||
# input: user_data,
|
||||
#
|
||||
# #diff: docker_transform(user_data + global_vars_override(user_data), docker_data),
|
||||
# diff: docker_transform(user_data, docker_data),
|
||||
# merged: docker_data + self.diff,
|
||||
# };
|
||||
#
|
||||
# # Run main script !
|
||||
# main()
|
||||
paasify.main()
|
||||
# Return result
|
||||
# -------------------------------------
|
||||
|
||||
|
||||
local main() =
|
||||
|
||||
local getConf(name) = std.parseJson(std.extVar(name));
|
||||
local action = getConf('action');
|
||||
|
||||
if action == 'metadata' then
|
||||
metadata
|
||||
|
||||
else if action == 'vars_docker' then
|
||||
local user_data = getConf('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) };
|
||||
{
|
||||
input: user_data,
|
||||
|
||||
diff: default_data + common + global_vars_override(default_data + user_data ),
|
||||
merged: user_data + global_vars_override(default_data + user_data ),
|
||||
}
|
||||
|
||||
else if action == 'docker_transform' then
|
||||
local user_data = getConf('user_data');
|
||||
local docker_data = getConf('docker_data');
|
||||
|
||||
{
|
||||
input: user_data,
|
||||
|
||||
#diff: docker_transform(user_data + global_vars_override(user_data), docker_data),
|
||||
diff: docker_transform(user_data, docker_data),
|
||||
merged: docker_data + self.diff,
|
||||
};
|
||||
|
||||
# Run main script !
|
||||
main()
|
||||
|
||||
@ -77,7 +77,7 @@ local global_vars_override(conf) =
|
||||
|
||||
local default_svc_entrypoints = [
|
||||
std.get(conf, 'traefik_svc_entrypoints'),
|
||||
"front-http",
|
||||
"web",
|
||||
];
|
||||
|
||||
|
||||
|
||||
@ -4,10 +4,10 @@ services:
|
||||
image: lscr.io/linuxserver/librespeed:latest
|
||||
#container_name: librespeed
|
||||
environment:
|
||||
#- PUID=$app_puid
|
||||
#- PGID=$app_pgid
|
||||
- TZ=$app_tz
|
||||
- PASSWORD=$app_admin_passwd
|
||||
#- PUID=1000
|
||||
#- PGID=1000
|
||||
#- TZ=America/Toronto
|
||||
- PASSWORD=PASSWORD
|
||||
- CUSTOM_RESULTS=false #optional
|
||||
- DB_TYPE=sqlite #optional
|
||||
# - DB_NAME=DB_NAME #optional
|
||||
|
||||
@ -1,18 +1,5 @@
|
||||
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:
|
||||
default:
|
||||
name: ${net_ostorage:-s3}
|
||||
@ -29,13 +16,9 @@ services:
|
||||
environment:
|
||||
- MINIO_ROOT_USER=$app_admin_login
|
||||
- MINIO_ROOT_PASSWORD=$app_admin_passwd
|
||||
|
||||
#- MINIO_DOMAIN=minio.$app_domain
|
||||
#- MINIO_DOMAIN=http://localhost:9000
|
||||
#- MINIO_SERVER_URL=http://minio.$app_domain
|
||||
- MINIO_SERVER_URL=${app_prot}://minio:9000
|
||||
- MINIO_BROWSER_REDIRECT_URL=${app_prot}://minio-console.$app_domain
|
||||
#
|
||||
#- MINIO_ACCESS_KEY=dksflhdskhfkjdshfkdf
|
||||
#- MINIO_SECRET_KEY=kfsdfksdhfkjsdhfkjdshf
|
||||
- MINIO_SERVER_URL=http://minio:9000
|
||||
- MINIO_BROWSER_REDIRECT_URL=https://minio-console.$app_domain
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ services:
|
||||
environment:
|
||||
|
||||
# Entrypoints
|
||||
- TRAEFIK_ENTRYPOINTS_default-https_ADDRESS=:53/udp
|
||||
- TRAEFIK_ENTRYPOINTS_default-https_ADDRESS=:53/tcp
|
||||
- TRAEFIK_ENTRYPOINTS_front-https_ADDRESS=:53/udp
|
||||
- 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:
|
||||
traefik:
|
||||
ports:
|
||||
@ -14,10 +9,10 @@ services:
|
||||
environment:
|
||||
|
||||
# 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
|
||||
- TRAEFIK_ENTRYPOINTS_default-http_HTTP_REDIRECTIONS_ENTRYPOINT_PERMANENT=true
|
||||
- TRAEFIK_ENTRYPOINTS_default-http_HTTP_REDIRECTIONS_ENTRYPOINT_SCHEME=https
|
||||
- TRAEFIK_ENTRYPOINTS_default-http_HTTP_REDIRECTIONS_ENTRYPOINT_TO=default-https
|
||||
- TRAEFIK_ENTRYPOINTS_front-http_HTTP_REDIRECTIONS_ENTRYPOINT_PERMANENT=true
|
||||
- TRAEFIK_ENTRYPOINTS_front-http_HTTP_REDIRECTIONS_ENTRYPOINT_SCHEME=https
|
||||
- TRAEFIK_ENTRYPOINTS_front-http_HTTP_REDIRECTIONS_ENTRYPOINT_TO=front-https
|
||||
|
||||
|
||||
@ -1,25 +1,6 @@
|
||||
---
|
||||
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:
|
||||
traefik:
|
||||
image: ${app_image}
|
||||
@ -60,8 +41,7 @@ services:
|
||||
#- TRAEFIK_PROVIDERS.FILE.DIRECTORY=/etc/traefik/configs
|
||||
|
||||
# Entrypoints
|
||||
- TRAEFIK_ENTRYPOINTS_default-http=True
|
||||
- TRAEFIK_ENTRYPOINTS_default-http_ADDRESS=:80 # <== Defining an entrypoint for port :80 named default
|
||||
- TRAEFIK_ENTRYPOINTS_front-http_ADDRESS=:80 # <== Defining an entrypoint for port :80 named front
|
||||
|
||||
labels:
|
||||
- traefik.group=$app_network_name
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user