diff --git a/.paasify/plugins/README.md b/.paasify/plugins/README.md deleted file mode 100644 index 0cd8c07..0000000 --- a/.paasify/plugins/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# Paasify plugins - -## Input data - -* Plugins meta: - * Desc: Return plugin metadata informations - * `action`: `'metadata'` - * `schema`: `` - * `version`: `<>` - * `author`: `<>` - * `name`: `<>` - * `description`: `<>` - * `require`: `[,]`, Future ! - * Returns: Dict of all static data - -* Docker compose vars build - * Desc: Return plugin configuration - * `action`: `'vars_docker'` - * `user_data`: `` - * Returns: - * new_settings only - * merged_config - -* Docker compose file build - * Desc: Transform docker data with plugin configuration - * `action`: `'docker_transform'` - * `user_data`: `` - * `docker_data`: `` - * Returns: - * new_settings only - * merged_config - -## Template - - diff --git a/.paasify/plugins/_paasify.jsonnet b/.paasify/plugins/_paasify.jsonnet index f77794d..9b447b1 100644 --- a/.paasify/plugins/_paasify.jsonnet +++ b/.paasify/plugins/_paasify.jsonnet @@ -1,3 +1,8 @@ +### OLD PLUGIN !!!!!!! + + +# local paasify = import 'paasify.libsonnet'; + # Helpers functions # ------------------------------------- @@ -124,9 +129,10 @@ 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 + 'build', # Dir for storing container scripts and helpers + app_dir_script: dir_prefix + 'scripts', # 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 @@ -138,14 +144,7 @@ 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 @@ -227,40 +226,41 @@ 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_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() +# # 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() diff --git a/.paasify/plugins/traefik-svc.jsonnet b/.paasify/plugins/traefik-svc.jsonnet index b0855fa..3e94a7b 100644 --- a/.paasify/plugins/traefik-svc.jsonnet +++ b/.paasify/plugins/traefik-svc.jsonnet @@ -77,7 +77,7 @@ local global_vars_override(conf) = local default_svc_entrypoints = [ std.get(conf, 'traefik_svc_entrypoints'), - "web", + "front-http", ]; diff --git a/minio/docker-compose.yml b/minio/docker-compose.yml index cf8f809..12f9f44 100644 --- a/minio/docker-compose.yml +++ b/minio/docker-compose.yml @@ -1,5 +1,18 @@ 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} @@ -11,14 +24,18 @@ services: command: server --console-address ":9001" /data restart: always volumes: - - ./data:/data - - ./config:/root/.minio + - ./data:/data + - ./config:/root/.minio 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=http://minio:9000 - - MINIO_BROWSER_REDIRECT_URL=https://minio-console.$app_domain + - 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 diff --git a/traefik/docker-compose.ep_dns.yml b/traefik/docker-compose.ep_dns.yml index 988557f..1c1761d 100644 --- a/traefik/docker-compose.ep_dns.yml +++ b/traefik/docker-compose.ep_dns.yml @@ -9,7 +9,7 @@ services: environment: # Entrypoints - - TRAEFIK_ENTRYPOINTS_front-https_ADDRESS=:53/udp - - TRAEFIK_ENTRYPOINTS_front-https_ADDRESS=:53/tcp + - TRAEFIK_ENTRYPOINTS_default-https_ADDRESS=:53/udp + - TRAEFIK_ENTRYPOINTS_default-https_ADDRESS=:53/tcp diff --git a/traefik/docker-compose.ep_https.yml b/traefik/docker-compose.ep_https.yml index 1bdb738..ad76224 100644 --- a/traefik/docker-compose.ep_https.yml +++ b/traefik/docker-compose.ep_https.yml @@ -1,5 +1,10 @@ --- +x-paasify: + conf: + traefik_svc_tls: true + traefik_svc_entrypoints: default-http,default-https + services: traefik: ports: @@ -9,10 +14,10 @@ services: environment: # Entrypoints - - TRAEFIK_ENTRYPOINTS_front-https_ADDRESS=:443 # <== Defining an entrypoint for port :80 named front + - TRAEFIK_ENTRYPOINTS_default-https_ADDRESS=:443 # <== Defining an entrypoint for port :80 named default # Forced Http redirect to 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 + - 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 diff --git a/traefik/docker-compose.yml b/traefik/docker-compose.yml index c4dfc17..33d9871 100644 --- a/traefik/docker-compose.yml +++ b/traefik/docker-compose.yml @@ -1,6 +1,25 @@ --- 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} @@ -41,7 +60,8 @@ services: #- TRAEFIK_PROVIDERS.FILE.DIRECTORY=/etc/traefik/configs # Entrypoints - - TRAEFIK_ENTRYPOINTS_front-http_ADDRESS=:80 # <== Defining an entrypoint for port :80 named front + - TRAEFIK_ENTRYPOINTS_default-http=True + - TRAEFIK_ENTRYPOINTS_default-http_ADDRESS=:80 # <== Defining an entrypoint for port :80 named default labels: - traefik.group=$app_network_name