From 4d2596d7d91253c3c74a146f6346cba9bb3a2078 Mon Sep 17 00:00:00 2001 From: Blake Mason Date: Thu, 10 Aug 2023 12:13:48 -0700 Subject: [PATCH 001/144] [F] NewsPosts have optional Hero Captions --- ...-4729ad5e-485e-4f98-995d-79fa5254cd42.yaml | 14 +++++++++++++- ...-61b9d842-7365-4bbf-883c-1b6433dc15f4.yaml | 19 +++++++++---------- api/config/project/project.yaml | 2 +- 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/api/config/project/entryTypes/post--4729ad5e-485e-4f98-995d-79fa5254cd42.yaml b/api/config/project/entryTypes/post--4729ad5e-485e-4f98-995d-79fa5254cd42.yaml index 36bbf1ce..3599c872 100644 --- a/api/config/project/entryTypes/post--4729ad5e-485e-4f98-995d-79fa5254cd42.yaml +++ b/api/config/project/entryTypes/post--4729ad5e-485e-4f98-995d-79fa5254cd42.yaml @@ -65,7 +65,19 @@ fieldLayouts: uid: 3855f60e-a753-427f-9244-8979083a7f3b userCondition: null warning: null - width: 100 + width: 50 + - + elementCondition: null + fieldUid: 61b9d842-7365-4bbf-883c-1b6433dc15f4 # Caption - rich text + instructions: null + label: 'Hero Caption' + required: false + tip: null + type: craft\fieldlayoutelements\CustomField + uid: 6b1526fd-da23-4704-a956-01ff8ed74f8b + userCondition: null + warning: null + width: 50 - elementCondition: null fieldUid: 75f0b770-5006-4359-848f-96415196bfe0 # Date diff --git a/api/config/project/fields/captionRichText--61b9d842-7365-4bbf-883c-1b6433dc15f4.yaml b/api/config/project/fields/captionRichText--61b9d842-7365-4bbf-883c-1b6433dc15f4.yaml index 1b63802c..0b561971 100644 --- a/api/config/project/fields/captionRichText--61b9d842-7365-4bbf-883c-1b6433dc15f4.yaml +++ b/api/config/project/fields/captionRichText--61b9d842-7365-4bbf-883c-1b6433dc15f4.yaml @@ -1,25 +1,24 @@ columnSuffix: null contentColumnType: text -fieldGroup: df8c8d8a-c7d1-45bf-b551-ef790a5b59ad # Callouts +fieldGroup: 9940892d-32f4-4399-acac-ab559ce1c82b # Common handle: captionRichText -instructions: '' +instructions: null name: 'Caption - rich text' searchable: true settings: - availableTransforms: '*' + availableTransforms: '' availableVolumes: '' - cleanupHtml: true columnType: text configSelectionMode: choose defaultTransform: '' manualConfig: '' - purifierConfig: '' - purifyHtml: '1' + purifierConfig: null + purifyHtml: true redactorConfig: Simple.json - removeEmptyTags: '1' - removeInlineStyles: '1' - removeNbsp: '1' - showHtmlButtonForNonAdmins: '' + removeEmptyTags: true + removeInlineStyles: true + removeNbsp: true + showHtmlButtonForNonAdmins: false showUnpermittedFiles: false showUnpermittedVolumes: false uiMode: normal diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index 1c98bdfb..515931f7 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -1,4 +1,4 @@ -dateModified: 1691512708 +dateModified: 1691608933 email: fromEmail: $EMAIL_FROM_ADDRESS fromName: $EMAIL_SENDER_NAME From 86ef297eba2bf19b5edb94e65226fc032ce7c577 Mon Sep 17 00:00:00 2001 From: Eric Rosas Date: Fri, 25 Aug 2023 08:09:48 -0700 Subject: [PATCH 002/144] Supervisord impl work in progress EPO-8413 --- Dockerfile | 16 ++ api/composer.json | 5 + api/composer.lock | 113 ++++++++++- ...-676da0d6-dc63-48fd-a5cd-7253c956974c.yaml | 14 ++ api/config/project/project.yaml | 3 +- api/plugins/canto-dam-assets | 1 + api/supervisord.conf | 179 ++++++++++++++++++ composer.json | 2 + 8 files changed, 330 insertions(+), 3 deletions(-) create mode 100644 api/config/project/fields/cantoDamAsset--676da0d6-dc63-48fd-a5cd-7253c956974c.yaml create mode 160000 api/plugins/canto-dam-assets create mode 100644 api/supervisord.conf create mode 100644 composer.json diff --git a/Dockerfile b/Dockerfile index 8047e697..e471c352 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,10 +11,26 @@ FROM us-central1-docker.pkg.dev/skyviewer/public-images/craft-base-image:$BASE_T LABEL maintainer="erosas@lsst.org" USER root + +# Beginning of supervisord code (requires root user) +RUN apt-get update && apt-get -qq install vim python3.10 pip +RUN pip install supervisor +#COPY queue-runner.conf . +#RUN supervisord -c supervisord.conf +#RUN echo " " > supervisord.conf && cat queue-runner.conf > supervisord.conf +# End of supervisord code + # Copy in custom code from the host machine. WORKDIR /var/www/html COPY --chown=www-data:www-data api/ ./ + + + COPY --from=vendor --chown=www-data:www-data /app/vendor ./vendor RUN mkdir /var/secrets && [ -d ./storage ] || mkdir storage +#RUN supervisord + USER www-data + +#CMD ["supervisord"] \ No newline at end of file diff --git a/api/composer.json b/api/composer.json index 589afa5a..d010d6e3 100755 --- a/api/composer.json +++ b/api/composer.json @@ -9,6 +9,7 @@ "craftcms/google-cloud": "^2.0.0", "craftcms/redactor": "3.0.4", "jamesedmonston/graphql-authentication": "2.4.0", + "lsst-epo/canto-dam-assets": "^1.0", "lsst/canto-dam-integrator": "dev-EPO-7854#v0.3.2", "rynpsc/craft-phone-number": "^2.1.0", "sebastianlenz/linkfield": "^2.1.4", @@ -23,6 +24,10 @@ "type": "vcs", "url": "https://github.com/lsst-epo/craft-canto-dam-integrator.git" }, + { + "type": "path", + "url": "plugins/canto-dam-assets" + }, { "type": "path", "url": "plugins/nextbuilds" diff --git a/api/composer.lock b/api/composer.lock index 394766d3..1bca492e 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f6b92ec4e94f92aab0be7b5f5027bb99", + "content-hash": "660f7a89822d3e91e2bef2f80c31d344", "packages": [ { "name": "abraham/twitteroauth", @@ -3429,6 +3429,63 @@ }, "time": "2022-02-24T18:45:07+00:00" }, + { + "name": "lsst-epo/canto-dam-assets", + "version": "1.0.0", + "dist": { + "type": "path", + "url": "plugins/canto-dam-assets", + "reference": "a7351e63f1b5ab1937ca79c0f59a66c9848f0d84" + }, + "require": { + "craftcms/cms": "^4.4.0", + "nystudio107/craft-plugin-vite": "^4.0.0", + "php": ">=8.0.2" + }, + "require-dev": { + "craftcms/ecs": "dev-main", + "craftcms/phpstan": "dev-main" + }, + "type": "craft-plugin", + "extra": { + "handle": "_canto-dam-assets", + "name": "Canto DAM Assets", + "developer": "nystudio107", + "documentationUrl": "https://github.com/lsst-epo/canto-dam-assets/blob/develop-v4/README.md", + "class": "lsst\\cantodamassets\\CantoDamAssets" + }, + "autoload": { + "psr-4": { + "lsst\\cantodamassets\\": "src/" + } + }, + "scripts": { + "check-cs": [ + "ecs check --ansi" + ], + "fix-cs": [ + "ecs check --ansi --fix" + ], + "phpstan": [ + "phpstan --memory-limit=1G" + ] + }, + "authors": [ + { + "name": "nystudio107", + "homepage": "https://nystudio107.com" + } + ], + "description": "This Craft CMS plugin adds a Field Type with GraphQL support for the Canto Digital Asset Management (DAM) web system", + "support": { + "docs": "https://github.com/lsst-epo/canto-dam-assets/blob/develop-v4/README.md", + "issues": "https://github.com/lsst-epo/canto-dam-assets/issues", + "source": "https://github.com/lsst-epo/canto-dam-assets/" + }, + "transport-options": { + "relative": true + } + }, { "name": "lsst/canto-dam-integrator", "version": "dev-EPO-7854", @@ -3704,6 +3761,58 @@ }, "time": "2021-06-14T00:11:39+00:00" }, + { + "name": "nystudio107/craft-plugin-vite", + "version": "4.0.8", + "source": { + "type": "git", + "url": "https://github.com/nystudio107/craft-plugin-vite.git", + "reference": "eb05b1cc7dc9eeecbdfe8cd3cd3d119e83c62619" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nystudio107/craft-plugin-vite/zipball/eb05b1cc7dc9eeecbdfe8cd3cd3d119e83c62619", + "reference": "eb05b1cc7dc9eeecbdfe8cd3cd3d119e83c62619", + "shasum": "" + }, + "require": { + "craftcms/cms": "^4.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "nystudio107\\pluginvite\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "nystudio107", + "homepage": "https://nystudio107.com" + } + ], + "description": "Plugin Vite is the conduit between Craft CMS plugins and Vite, with manifest.json & HMR support", + "keywords": [ + "craftcms", + "plugin", + "vite" + ], + "support": { + "docs": "https://github.com/nystudio107/craft-plugin-vite/blob/v1/README.md", + "issues": "https://github.com/nystudio107/craft-plugin-vite/issues", + "source": "https://github.com/nystudio107/craft-plugin-vite/tree/4.0.8" + }, + "funding": [ + { + "url": "https://github.com/khalwat", + "type": "github" + } + ], + "time": "2023-01-25T21:09:10+00:00" + }, { "name": "paragonie/constant_time_encoding", "version": "v2.6.3", @@ -7794,5 +7903,5 @@ "platform-overrides": { "php": "8.1.10" }, - "plugin-api-version": "2.2.0" + "plugin-api-version": "2.1.0" } diff --git a/api/config/project/fields/cantoDamAsset--676da0d6-dc63-48fd-a5cd-7253c956974c.yaml b/api/config/project/fields/cantoDamAsset--676da0d6-dc63-48fd-a5cd-7253c956974c.yaml new file mode 100644 index 00000000..a0322c2d --- /dev/null +++ b/api/config/project/fields/cantoDamAsset--676da0d6-dc63-48fd-a5cd-7253c956974c.yaml @@ -0,0 +1,14 @@ +columnSuffix: vwsjafwg +contentColumnType: + - 'cantoId:string' + - 'cantoAlbumId:string' + - 'cantoAssetData:text' + - 'cantoAlbumData:string' +fieldGroup: df8c8d8a-c7d1-45bf-b551-ef790a5b59ad # Callouts +handle: cantoDamAsset +instructions: null +name: 'Canto DAM Asset' +searchable: false +translationKeyFormat: null +translationMethod: none +type: lsst\cantodamassets\fields\CantoDamAsset diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index 515931f7..3ad94882 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -1,4 +1,4 @@ -dateModified: 1691608933 +dateModified: 1692903024 email: fromEmail: $EMAIL_FROM_ADDRESS fromName: $EMAIL_SENDER_NAME @@ -220,6 +220,7 @@ meta: 635a4a93-f10b-4d3c-bd44-2ea1474ad4cb: 'Vertical Alignment' # Vertical Alignment 644c6b87-ac0c-4cdf-88be-744a5ee684bb: Description # Description 657b9edd-b6d3-4b7f-af89-36117c5d98a8: 'Rich Text Description' # Rich Text Description + 676da0d6-dc63-48fd-a5cd-7253c956974c: 'Canto DAM Asset' # Canto DAM Asset 753b10b6-e9e6-44f5-a9d9-4a07788733e1: 'Content Ratio' # Content Ratio 824d9ca2-e755-4e41-8f6a-18e573fec8e4: 'News Posts' # News Posts 831db889-442e-4553-9076-fc3bc2843c8c: 'Hide title' # Hide title diff --git a/api/plugins/canto-dam-assets b/api/plugins/canto-dam-assets new file mode 160000 index 00000000..a7351e63 --- /dev/null +++ b/api/plugins/canto-dam-assets @@ -0,0 +1 @@ +Subproject commit a7351e63f1b5ab1937ca79c0f59a66c9848f0d84 diff --git a/api/supervisord.conf b/api/supervisord.conf new file mode 100644 index 00000000..2cd789ef --- /dev/null +++ b/api/supervisord.conf @@ -0,0 +1,179 @@ +; Sample supervisor config file. +; +; For more information on the config file, please see: +; http://supervisord.org/configuration.html +; +; Notes: +; - Shell expansion ("~" or "$HOME") is not supported. Environment +; variables can be expanded using this syntax: "%(ENV_HOME)s". +; - Quotes around values are not supported, except in the case of +; the environment= options as shown below. +; - Comments must have a leading space: "a=b ;comment" not "a=b;comment". +; - Command will be truncated if it looks like a config file comment, e.g. +; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ". +; +; Warning: +; Paths throughout this example file use /tmp because it is available on most +; systems. You will likely need to change these to locations more appropriate +; for your system. Some systems periodically delete older files in /tmp. +; Notably, if the socket file defined in the [unix_http_server] section below +; is deleted, supervisorctl will be unable to connect to supervisord. + +[unix_http_server] +file=/tmp/supervisor.sock ; the path to the socket file +;chmod=0700 ; socket file mode (default 0700) +;chown=nobody:nogroup ; socket file uid:gid owner +;username=user ; default is no username (open server) +;password=123 ; default is no password (open server) + +; Security Warning: +; The inet HTTP server is not enabled by default. The inet HTTP server is +; enabled by uncommenting the [inet_http_server] section below. The inet +; HTTP server is intended for use within a trusted environment only. It +; should only be bound to localhost or only accessible from within an +; isolated, trusted network. The inet HTTP server does not support any +; form of encryption. The inet HTTP server does not use authentication +; by default (see the username= and password= options to add authentication). +; Never expose the inet HTTP server to the public internet. + +;[inet_http_server] ; inet (TCP) server disabled by default +;port=127.0.0.1:9001 ; ip_address:port specifier, *:port for all iface +;username=user ; default is no username (open server) +;password=123 ; default is no password (open server) + +[supervisord] +logfile=/tmp/supervisord.log ; main log file; default $CWD/supervisord.log +logfile_maxbytes=50MB ; max main logfile bytes b4 rotation; default 50MB +logfile_backups=10 ; # of main logfile backups; 0 means none, default 10 +loglevel=info ; log level; default info; others: debug,warn,trace +pidfile=/tmp/supervisord.pid ; supervisord pidfile; default supervisord.pid +nodaemon=false ; start in foreground if true; default false +silent=false ; no logs to stdout if true; default false +minfds=1024 ; min. avail startup file descriptors; default 1024 +minprocs=200 ; min. avail process descriptors;default 200 +;umask=022 ; process file creation umask; default 022 +;user=supervisord ; setuid to this UNIX account at startup; recommended if root +;identifier=supervisor ; supervisord identifier, default is 'supervisor' +;directory=/tmp ; default is not to cd during start +;nocleanup=true ; don't clean up tempfiles at start; default false +;childlogdir=/tmp ; 'AUTO' child log dir, default $TEMP +;environment=KEY="value" ; key value pairs to add to environment +;strip_ansi=false ; strip ansi escape codes in logs; def. false + +; The rpcinterface:supervisor section must remain in the config file for +; RPC (supervisorctl/web interface) to work. Additional interfaces may be +; added by defining them in separate [rpcinterface:x] sections. + +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +; The supervisorctl section configures how supervisorctl will connect to +; supervisord. configure it match the settings in either the unix_http_server +; or inet_http_server section. + +[supervisorctl] +serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket +;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket +;username=chris ; should be same as in [*_http_server] if set +;password=123 ; should be same as in [*_http_server] if set +;prompt=mysupervisor ; cmd line prompt (default "supervisor") +;history_file=~/.sc_history ; use readline history if available + +; The sample program section below shows all possible program subsection values. +; Create one or more 'real' program: sections to be able to control them under +; supervisor. + +;[program:theprogramname] +;command=/bin/cat ; the program (relative uses PATH, can take args) +;process_name=%(program_name)s ; process_name expr (default %(program_name)s) +;numprocs=1 ; number of processes copies to start (def 1) +;directory=/tmp ; directory to cwd to before exec (def no cwd) +;umask=022 ; umask for process (default None) +;priority=999 ; the relative start priority (default 999) +;autostart=true ; start at supervisord start (default: true) +;startsecs=1 ; # of secs prog must stay up to be running (def. 1) +;startretries=3 ; max # of serial start failures when starting (default 3) +;autorestart=unexpected ; when to restart if exited after running (def: unexpected) +;exitcodes=0 ; 'expected' exit codes used with autorestart (default 0) +;stopsignal=QUIT ; signal used to kill process (default TERM) +;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10) +;stopasgroup=false ; send stop signal to the UNIX process group (default false) +;killasgroup=false ; SIGKILL the UNIX process group (def false) +;user=chrism ; setuid to this UNIX account to run the program +;redirect_stderr=true ; redirect proc stderr to stdout (default false) +;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO +;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10) +;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) +;stdout_events_enabled=false ; emit events on stdout writes (default false) +;stdout_syslog=false ; send stdout to syslog with process name (default false) +;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO +;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10) +;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) +;stderr_events_enabled=false ; emit events on stderr writes (default false) +;stderr_syslog=false ; send stderr to syslog with process name (default false) +;environment=A="1",B="2" ; process environment additions (def no adds) +;serverurl=AUTO ; override serverurl computation (childutils) + +; The sample eventlistener section below shows all possible eventlistener +; subsection values. Create one or more 'real' eventlistener: sections to be +; able to handle event notifications sent by supervisord. + +;[eventlistener:theeventlistenername] +;command=/bin/eventlistener ; the program (relative uses PATH, can take args) +;process_name=%(program_name)s ; process_name expr (default %(program_name)s) +;numprocs=1 ; number of processes copies to start (def 1) +;events=EVENT ; event notif. types to subscribe to (req'd) +;buffer_size=10 ; event buffer queue size (default 10) +;directory=/tmp ; directory to cwd to before exec (def no cwd) +;umask=022 ; umask for process (default None) +;priority=-1 ; the relative start priority (default -1) +;autostart=true ; start at supervisord start (default: true) +;startsecs=1 ; # of secs prog must stay up to be running (def. 1) +;startretries=3 ; max # of serial start failures when starting (default 3) +;autorestart=unexpected ; autorestart if exited after running (def: unexpected) +;exitcodes=0 ; 'expected' exit codes used with autorestart (default 0) +;stopsignal=QUIT ; signal used to kill process (default TERM) +;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10) +;stopasgroup=false ; send stop signal to the UNIX process group (default false) +;killasgroup=false ; SIGKILL the UNIX process group (def false) +;user=chrism ; setuid to this UNIX account to run the program +;redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners +;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO +;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10) +;stdout_events_enabled=false ; emit events on stdout writes (default false) +;stdout_syslog=false ; send stdout to syslog with process name (default false) +;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO +;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10) +;stderr_events_enabled=false ; emit events on stderr writes (default false) +;stderr_syslog=false ; send stderr to syslog with process name (default false) +;environment=A="1",B="2" ; process environment additions +;serverurl=AUTO ; override serverurl computation (childutils) + +; The sample group section below shows all possible group values. Create one +; or more 'real' group: sections to create "heterogeneous" process groups. + +;[group:thegroupname] +;programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions +;priority=999 ; the relative start priority (default 999) + +; The [include] section can just contain the "files" setting. This +; setting can list multiple files (separated by whitespace or +; newlines). It can also contain wildcards. The filenames are +; interpreted as relative to this file. Included files *cannot* +; include files themselves. + +;[include] +;files = relative/directory/*.ini + +[program:craft-queue-worker] +; Use the process number in its name (required when using `numprocs`): +process_name=%(program_name)s_%(process_num)02d +numprocs=4 +command=php craft queue/listen --verbose=1 --color=0 +; User + Group should agree with HTTP processes: +user=www-data +group=www-data \ No newline at end of file diff --git a/composer.json b/composer.json new file mode 100644 index 00000000..2c63c085 --- /dev/null +++ b/composer.json @@ -0,0 +1,2 @@ +{ +} From 340e3732eeaf67856cd256fba7dfee00938351ed Mon Sep 17 00:00:00 2001 From: Eric Rosas Date: Fri, 25 Aug 2023 14:07:02 -0700 Subject: [PATCH 003/144] Cleaned up supervisord code EPO-8413 --- Dockerfile | 17 +--- api/.gitignore | 4 +- api/supervisord.conf | 179 ------------------------------------------- 3 files changed, 5 insertions(+), 195 deletions(-) delete mode 100644 api/supervisord.conf diff --git a/Dockerfile b/Dockerfile index e471c352..d0bed5f7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,5 @@ ARG BASE_TAG=latest +LABEL maintainer="eric.rosas@noirlab.edu" # Composer dependencies FROM composer:2 as vendor COPY api/composer.json composer.json @@ -8,29 +9,15 @@ RUN composer install --ignore-platform-reqs --no-interaction --prefer-dist FROM us-central1-docker.pkg.dev/skyviewer/public-images/craft-base-image:$BASE_TAG -LABEL maintainer="erosas@lsst.org" - USER root -# Beginning of supervisord code (requires root user) -RUN apt-get update && apt-get -qq install vim python3.10 pip -RUN pip install supervisor -#COPY queue-runner.conf . -#RUN supervisord -c supervisord.conf -#RUN echo " " > supervisord.conf && cat queue-runner.conf > supervisord.conf -# End of supervisord code - # Copy in custom code from the host machine. WORKDIR /var/www/html COPY --chown=www-data:www-data api/ ./ - - COPY --from=vendor --chown=www-data:www-data /app/vendor ./vendor RUN mkdir /var/secrets && [ -d ./storage ] || mkdir storage -#RUN supervisord - USER www-data -#CMD ["supervisord"] \ No newline at end of file +CMD ["supervisord"] \ No newline at end of file diff --git a/api/.gitignore b/api/.gitignore index aed99d4f..7623efd9 100755 --- a/api/.gitignore +++ b/api/.gitignore @@ -3,4 +3,6 @@ # Miscellenious /log -/tmp \ No newline at end of file +/tmp + +supervisor.log \ No newline at end of file diff --git a/api/supervisord.conf b/api/supervisord.conf deleted file mode 100644 index 2cd789ef..00000000 --- a/api/supervisord.conf +++ /dev/null @@ -1,179 +0,0 @@ -; Sample supervisor config file. -; -; For more information on the config file, please see: -; http://supervisord.org/configuration.html -; -; Notes: -; - Shell expansion ("~" or "$HOME") is not supported. Environment -; variables can be expanded using this syntax: "%(ENV_HOME)s". -; - Quotes around values are not supported, except in the case of -; the environment= options as shown below. -; - Comments must have a leading space: "a=b ;comment" not "a=b;comment". -; - Command will be truncated if it looks like a config file comment, e.g. -; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ". -; -; Warning: -; Paths throughout this example file use /tmp because it is available on most -; systems. You will likely need to change these to locations more appropriate -; for your system. Some systems periodically delete older files in /tmp. -; Notably, if the socket file defined in the [unix_http_server] section below -; is deleted, supervisorctl will be unable to connect to supervisord. - -[unix_http_server] -file=/tmp/supervisor.sock ; the path to the socket file -;chmod=0700 ; socket file mode (default 0700) -;chown=nobody:nogroup ; socket file uid:gid owner -;username=user ; default is no username (open server) -;password=123 ; default is no password (open server) - -; Security Warning: -; The inet HTTP server is not enabled by default. The inet HTTP server is -; enabled by uncommenting the [inet_http_server] section below. The inet -; HTTP server is intended for use within a trusted environment only. It -; should only be bound to localhost or only accessible from within an -; isolated, trusted network. The inet HTTP server does not support any -; form of encryption. The inet HTTP server does not use authentication -; by default (see the username= and password= options to add authentication). -; Never expose the inet HTTP server to the public internet. - -;[inet_http_server] ; inet (TCP) server disabled by default -;port=127.0.0.1:9001 ; ip_address:port specifier, *:port for all iface -;username=user ; default is no username (open server) -;password=123 ; default is no password (open server) - -[supervisord] -logfile=/tmp/supervisord.log ; main log file; default $CWD/supervisord.log -logfile_maxbytes=50MB ; max main logfile bytes b4 rotation; default 50MB -logfile_backups=10 ; # of main logfile backups; 0 means none, default 10 -loglevel=info ; log level; default info; others: debug,warn,trace -pidfile=/tmp/supervisord.pid ; supervisord pidfile; default supervisord.pid -nodaemon=false ; start in foreground if true; default false -silent=false ; no logs to stdout if true; default false -minfds=1024 ; min. avail startup file descriptors; default 1024 -minprocs=200 ; min. avail process descriptors;default 200 -;umask=022 ; process file creation umask; default 022 -;user=supervisord ; setuid to this UNIX account at startup; recommended if root -;identifier=supervisor ; supervisord identifier, default is 'supervisor' -;directory=/tmp ; default is not to cd during start -;nocleanup=true ; don't clean up tempfiles at start; default false -;childlogdir=/tmp ; 'AUTO' child log dir, default $TEMP -;environment=KEY="value" ; key value pairs to add to environment -;strip_ansi=false ; strip ansi escape codes in logs; def. false - -; The rpcinterface:supervisor section must remain in the config file for -; RPC (supervisorctl/web interface) to work. Additional interfaces may be -; added by defining them in separate [rpcinterface:x] sections. - -[rpcinterface:supervisor] -supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface - -; The supervisorctl section configures how supervisorctl will connect to -; supervisord. configure it match the settings in either the unix_http_server -; or inet_http_server section. - -[supervisorctl] -serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket -;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket -;username=chris ; should be same as in [*_http_server] if set -;password=123 ; should be same as in [*_http_server] if set -;prompt=mysupervisor ; cmd line prompt (default "supervisor") -;history_file=~/.sc_history ; use readline history if available - -; The sample program section below shows all possible program subsection values. -; Create one or more 'real' program: sections to be able to control them under -; supervisor. - -;[program:theprogramname] -;command=/bin/cat ; the program (relative uses PATH, can take args) -;process_name=%(program_name)s ; process_name expr (default %(program_name)s) -;numprocs=1 ; number of processes copies to start (def 1) -;directory=/tmp ; directory to cwd to before exec (def no cwd) -;umask=022 ; umask for process (default None) -;priority=999 ; the relative start priority (default 999) -;autostart=true ; start at supervisord start (default: true) -;startsecs=1 ; # of secs prog must stay up to be running (def. 1) -;startretries=3 ; max # of serial start failures when starting (default 3) -;autorestart=unexpected ; when to restart if exited after running (def: unexpected) -;exitcodes=0 ; 'expected' exit codes used with autorestart (default 0) -;stopsignal=QUIT ; signal used to kill process (default TERM) -;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10) -;stopasgroup=false ; send stop signal to the UNIX process group (default false) -;killasgroup=false ; SIGKILL the UNIX process group (def false) -;user=chrism ; setuid to this UNIX account to run the program -;redirect_stderr=true ; redirect proc stderr to stdout (default false) -;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO -;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) -;stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10) -;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) -;stdout_events_enabled=false ; emit events on stdout writes (default false) -;stdout_syslog=false ; send stdout to syslog with process name (default false) -;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO -;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) -;stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10) -;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) -;stderr_events_enabled=false ; emit events on stderr writes (default false) -;stderr_syslog=false ; send stderr to syslog with process name (default false) -;environment=A="1",B="2" ; process environment additions (def no adds) -;serverurl=AUTO ; override serverurl computation (childutils) - -; The sample eventlistener section below shows all possible eventlistener -; subsection values. Create one or more 'real' eventlistener: sections to be -; able to handle event notifications sent by supervisord. - -;[eventlistener:theeventlistenername] -;command=/bin/eventlistener ; the program (relative uses PATH, can take args) -;process_name=%(program_name)s ; process_name expr (default %(program_name)s) -;numprocs=1 ; number of processes copies to start (def 1) -;events=EVENT ; event notif. types to subscribe to (req'd) -;buffer_size=10 ; event buffer queue size (default 10) -;directory=/tmp ; directory to cwd to before exec (def no cwd) -;umask=022 ; umask for process (default None) -;priority=-1 ; the relative start priority (default -1) -;autostart=true ; start at supervisord start (default: true) -;startsecs=1 ; # of secs prog must stay up to be running (def. 1) -;startretries=3 ; max # of serial start failures when starting (default 3) -;autorestart=unexpected ; autorestart if exited after running (def: unexpected) -;exitcodes=0 ; 'expected' exit codes used with autorestart (default 0) -;stopsignal=QUIT ; signal used to kill process (default TERM) -;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10) -;stopasgroup=false ; send stop signal to the UNIX process group (default false) -;killasgroup=false ; SIGKILL the UNIX process group (def false) -;user=chrism ; setuid to this UNIX account to run the program -;redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners -;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO -;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) -;stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10) -;stdout_events_enabled=false ; emit events on stdout writes (default false) -;stdout_syslog=false ; send stdout to syslog with process name (default false) -;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO -;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) -;stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10) -;stderr_events_enabled=false ; emit events on stderr writes (default false) -;stderr_syslog=false ; send stderr to syslog with process name (default false) -;environment=A="1",B="2" ; process environment additions -;serverurl=AUTO ; override serverurl computation (childutils) - -; The sample group section below shows all possible group values. Create one -; or more 'real' group: sections to create "heterogeneous" process groups. - -;[group:thegroupname] -;programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions -;priority=999 ; the relative start priority (default 999) - -; The [include] section can just contain the "files" setting. This -; setting can list multiple files (separated by whitespace or -; newlines). It can also contain wildcards. The filenames are -; interpreted as relative to this file. Included files *cannot* -; include files themselves. - -;[include] -;files = relative/directory/*.ini - -[program:craft-queue-worker] -; Use the process number in its name (required when using `numprocs`): -process_name=%(program_name)s_%(process_num)02d -numprocs=4 -command=php craft queue/listen --verbose=1 --color=0 -; User + Group should agree with HTTP processes: -user=www-data -group=www-data \ No newline at end of file From a64139aa2c59e110925620ff71d9362b7de7076d Mon Sep 17 00:00:00 2001 From: Eric Rosas Date: Fri, 25 Aug 2023 14:27:35 -0700 Subject: [PATCH 004/144] Updated composer.json to install new DAM plugin EPO-8313 --- Dockerfile | 4 +++- api/composer.json | 6 +++--- api/composer.lock | 22 ++++++++++++++-------- api/plugins/canto-dam-assets | 1 - composer.json | 2 -- 5 files changed, 20 insertions(+), 15 deletions(-) delete mode 160000 api/plugins/canto-dam-assets delete mode 100644 composer.json diff --git a/Dockerfile b/Dockerfile index d0bed5f7..be85faa6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,9 @@ ARG BASE_TAG=latest -LABEL maintainer="eric.rosas@noirlab.edu" # Composer dependencies FROM composer:2 as vendor + +LABEL maintainer="eric.rosas@noirlab.edu" + COPY api/composer.json composer.json COPY api/composer.lock composer.lock COPY api/plugins ./plugins diff --git a/api/composer.json b/api/composer.json index d010d6e3..d44cdfe0 100755 --- a/api/composer.json +++ b/api/composer.json @@ -9,7 +9,7 @@ "craftcms/google-cloud": "^2.0.0", "craftcms/redactor": "3.0.4", "jamesedmonston/graphql-authentication": "2.4.0", - "lsst-epo/canto-dam-assets": "^1.0", + "lsst-epo/canto-dam-assets": "dev-develop-v4", "lsst/canto-dam-integrator": "dev-EPO-7854#v0.3.2", "rynpsc/craft-phone-number": "^2.1.0", "sebastianlenz/linkfield": "^2.1.4", @@ -25,8 +25,8 @@ "url": "https://github.com/lsst-epo/craft-canto-dam-integrator.git" }, { - "type": "path", - "url": "plugins/canto-dam-assets" + "type": "vcs", + "url": "https://github.com/lsst-epo/canto-dam-assets.git" }, { "type": "path", diff --git a/api/composer.lock b/api/composer.lock index 1bca492e..de32855e 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "660f7a89822d3e91e2bef2f80c31d344", + "content-hash": "e5025817109384bfb93e07c48ca23c07", "packages": [ { "name": "abraham/twitteroauth", @@ -3431,12 +3431,18 @@ }, { "name": "lsst-epo/canto-dam-assets", - "version": "1.0.0", - "dist": { - "type": "path", - "url": "plugins/canto-dam-assets", + "version": "dev-develop-v4", + "source": { + "type": "git", + "url": "https://github.com/lsst-epo/canto-dam-assets.git", "reference": "a7351e63f1b5ab1937ca79c0f59a66c9848f0d84" }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/lsst-epo/canto-dam-assets/zipball/a7351e63f1b5ab1937ca79c0f59a66c9848f0d84", + "reference": "a7351e63f1b5ab1937ca79c0f59a66c9848f0d84", + "shasum": "" + }, "require": { "craftcms/cms": "^4.4.0", "nystudio107/craft-plugin-vite": "^4.0.0", @@ -3446,6 +3452,7 @@ "craftcms/ecs": "dev-main", "craftcms/phpstan": "dev-main" }, + "default-branch": true, "type": "craft-plugin", "extra": { "handle": "_canto-dam-assets", @@ -3482,9 +3489,7 @@ "issues": "https://github.com/lsst-epo/canto-dam-assets/issues", "source": "https://github.com/lsst-epo/canto-dam-assets/" }, - "transport-options": { - "relative": true - } + "time": "2023-08-16T14:57:28+00:00" }, { "name": "lsst/canto-dam-integrator", @@ -7894,6 +7899,7 @@ "aliases": [], "minimum-stability": "dev", "stability-flags": { + "lsst-epo/canto-dam-assets": 20, "lsst/canto-dam-integrator": 20 }, "prefer-stable": true, diff --git a/api/plugins/canto-dam-assets b/api/plugins/canto-dam-assets deleted file mode 160000 index a7351e63..00000000 --- a/api/plugins/canto-dam-assets +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a7351e63f1b5ab1937ca79c0f59a66c9848f0d84 diff --git a/composer.json b/composer.json deleted file mode 100644 index 2c63c085..00000000 --- a/composer.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} From 63d6dab7e32b64ff11901408a2d3c2c9494e2e27 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 7 Sep 2023 15:20:11 -0500 Subject: [PATCH 005/144] add build and push workflow --- .github/workflows/build-and-push.yaml | 75 +++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .github/workflows/build-and-push.yaml diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml new file mode 100644 index 00000000..41dc09c4 --- /dev/null +++ b/.github/workflows/build-and-push.yaml @@ -0,0 +1,75 @@ +name: build-and-push + +on: + push: + branches: + - '*' + tags: + - 'v.*' + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v3 + - + name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + # list of Docker images to use as base name for tags + images: | + gcr.io/skyviewer/rubinobs-api-k8s,enable=${{ github.ref != 'master' && github.ref_type != "tag" }} + gcr.io/edc-int-6c5e/rubinobs-api-k8s,enable=${{ github.ref == 'master'}} + gcr.io/edc-prod-eef0/rubinobs-api-k8s,enable=${{ github.ref_type == 'tag'}} + # generate Docker tags based on the following events/attributes + tags: | + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Login to GCP Dev + uses: google-github-actions/setup-gcloud@v0 + if: ${{ github.ref == "develop" }} + with: + service_account_key: ${{ secrets.DEV_SA_KEY }} + project_id: skyviewer + export_default_credentials: true + - + name: Login to GCP Int + uses: google-github-actions/setup-gcloud@v0 + if: ${{ github.ref == "master" }} + with: + service_account_key: ${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }} + project_id: edc-int-6c5e + export_default_credentials: true + - + name: Login to GCP Prod + uses: google-github-actions/setup-gcloud@v0 + if: ${{ github.ref_type == "tag" }} + with: + service_account_key: ${{ secrets.PIPELINE_EPO_PROD_PROJECT }} + project_id: edc-prod-eef0 + export_default_credentials: true + - + run: gcloud --quiet auth configure-docker + - + name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file From ae07bec85be48934da5929566d5666770b6295e9 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 7 Sep 2023 15:22:20 -0500 Subject: [PATCH 006/144] fix quotes --- .github/workflows/build-and-push.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 41dc09c4..513f6713 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -21,7 +21,7 @@ jobs: with: # list of Docker images to use as base name for tags images: | - gcr.io/skyviewer/rubinobs-api-k8s,enable=${{ github.ref != 'master' && github.ref_type != "tag" }} + gcr.io/skyviewer/rubinobs-api-k8s,enable=${{ github.ref != 'master' && github.ref_type != 'tag' }} gcr.io/edc-int-6c5e/rubinobs-api-k8s,enable=${{ github.ref == 'master'}} gcr.io/edc-prod-eef0/rubinobs-api-k8s,enable=${{ github.ref_type == 'tag'}} # generate Docker tags based on the following events/attributes @@ -42,7 +42,7 @@ jobs: - name: Login to GCP Dev uses: google-github-actions/setup-gcloud@v0 - if: ${{ github.ref == "develop" }} + if: ${{ github.ref == 'develop' }} with: service_account_key: ${{ secrets.DEV_SA_KEY }} project_id: skyviewer @@ -50,7 +50,7 @@ jobs: - name: Login to GCP Int uses: google-github-actions/setup-gcloud@v0 - if: ${{ github.ref == "master" }} + if: ${{ github.ref == 'master' }} with: service_account_key: ${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }} project_id: edc-int-6c5e @@ -58,7 +58,7 @@ jobs: - name: Login to GCP Prod uses: google-github-actions/setup-gcloud@v0 - if: ${{ github.ref_type == "tag" }} + if: ${{ github.ref_type == 'tag' }} with: service_account_key: ${{ secrets.PIPELINE_EPO_PROD_PROJECT }} project_id: edc-prod-eef0 From 359363e12acc5f632d7b8fb08aceeeecd2a713cf Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 7 Sep 2023 15:23:31 -0500 Subject: [PATCH 007/144] fix condition --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 513f6713..795da97b 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -42,7 +42,7 @@ jobs: - name: Login to GCP Dev uses: google-github-actions/setup-gcloud@v0 - if: ${{ github.ref == 'develop' }} + if: ${{ github.ref != 'master' && github.ref_type != 'tag' }} with: service_account_key: ${{ secrets.DEV_SA_KEY }} project_id: skyviewer From ea401b2aa1dd8c98727c16eccc8f36568ae04b63 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 7 Sep 2023 15:28:16 -0500 Subject: [PATCH 008/144] fix image name --- .github/workflows/build-and-push.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 795da97b..cd451fa3 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -21,9 +21,11 @@ jobs: with: # list of Docker images to use as base name for tags images: | - gcr.io/skyviewer/rubinobs-api-k8s,enable=${{ github.ref != 'master' && github.ref_type != 'tag' }} - gcr.io/edc-int-6c5e/rubinobs-api-k8s,enable=${{ github.ref == 'master'}} - gcr.io/edc-prod-eef0/rubinobs-api-k8s,enable=${{ github.ref_type == 'tag'}} + gcr.io/skyviewer/rubinobs-api,enable=${{ github.ref != 'master' && github.ref_type != 'tag' }} + gcr.io/edc-int-6c5e/rubinobs-api,enable=${{ github.ref == 'master'}} + gcr.io/edc-prod-eef0/rubinobs-api,enable=${{ github.ref_type == 'tag'}} + flavor: | + latest=true # generate Docker tags based on the following events/attributes tags: | type=schedule From 49107d05c0045f145aad1fcc5db4d8b910fb79ca Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 7 Sep 2023 15:32:31 -0500 Subject: [PATCH 009/144] add PRs to workflow --- .github/workflows/build-and-push.yaml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index cd451fa3..a8a4f8d8 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -6,6 +6,15 @@ on: - '*' tags: - 'v.*' + pull_request: + types: + - 'opened' + - 'synchronize' + - 'reopened' + - 'closed' + branches: + - 'develop' + - 'master' jobs: docker: @@ -72,6 +81,6 @@ jobs: uses: docker/build-push-action@v4 with: context: . - push: ${{ github.event_name != 'pull_request' }} + push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file From 40d68ca2f72eeab9fde4b6a8caf09d9bc85753fc Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 7 Sep 2023 15:55:03 -0500 Subject: [PATCH 010/144] update trigger branches --- .github/workflows/build-and-push.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index a8a4f8d8..82653fc3 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -3,7 +3,8 @@ name: build-and-push on: push: branches: - - '*' + - 'develop' + - 'master' tags: - 'v.*' pull_request: From 56e5c688be4742c3c05d3fb534ad3b5d8bb09a44 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 7 Sep 2023 17:39:11 -0500 Subject: [PATCH 011/144] add redis config --- api/config/app.php | 38 ++++++++++++++++++++++---------------- api/config/app.web.php | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 16 deletions(-) create mode 100644 api/config/app.web.php diff --git a/api/config/app.php b/api/config/app.php index d1ba1405..d8d530ce 100755 --- a/api/config/app.php +++ b/api/config/app.php @@ -26,23 +26,29 @@ 'user-registration-module' => \modules\userregistrationmodule\UserRegistrationModule::class, ], 'components' => [ - 'cache' => [ - 'class' => yii\caching\MemCache::class, - 'useMemcached' => App::env('ENABLE_MEMCACHED') ?: false, - 'defaultDuration' => 86400, - 'servers' => [ - [ - 'host' => App::env('MEMCACHED_IP'), - 'persistent' => true, - 'port' => App::env('MEMCACHED_PORT') ?: '11211', - 'retryInterval' => 15, - 'status' => true, - 'timeout' => 15, - 'weight' => 1, - ], - ], - 'keyPrefix' => App::env('APP_ID') ?: 'CraftCMS', + 'redis' => [ + 'class' => yii\redis\Connection::class, + 'hostname' => App::env('REDIS_HOSTNAME') ?: 'localhost', + 'port' => App::env('REDIS_PORT') ?: 6378, + 'password' => App::env('REDIS_PASSWORD') ?: null, + 'database' => App::env('REDIS_CRAFT_DB') ?: 0, + 'useSSL' => App::env('REDIS_USE_SSL'), + 'contextOptions' => [ + 'ssl' => [ + 'verify_peer' => false, + 'verify_peer_name' => false, + ] + ] ], + 'cache' => function() { + $config = [ + 'class' => yii\redis\Cache::class, + 'keyPrefix' => Craft::$app->id, + 'defaultDuration' => Craft::$app->config->general->cacheDuration, + ]; + + return Craft::createObject($config); + } ], 'bootstrap' => ['user-registration-module'], ]; diff --git a/api/config/app.web.php b/api/config/app.web.php new file mode 100644 index 00000000..00c8919c --- /dev/null +++ b/api/config/app.web.php @@ -0,0 +1,35 @@ + [ + 'session' => function() { + // Get the default component config: + $config = craft\helpers\App::sessionConfig(); + + // Replace component class: + $config['class'] = yii\redis\Session::class; + + // Define additional properties: + $config['redis'] = [ + 'hostname' => App::env('REDIS_HOSTNAME') ?: 'localhost', + 'port' => App::env('REDIS_PORT') ?: 6378, + 'password' => App::env('REDIS_PASSWORD') ?: null, + 'database' => App::env('REDIS_CRAFT_DB') ?: 0, + 'useSSL' => App::env('REDIS_USE_SSL'), + 'contextOptions' => [ + 'ssl' => [ + 'verify_peer' => false, + 'verify_peer_name' => false, + ] + ] + ]; + + // Return the initialized component: + return Craft::createObject($config); + } + ], +]; + +?> \ No newline at end of file From 8624b683be47f21030570b466a989debf24d62c7 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 7 Sep 2023 20:01:46 -0500 Subject: [PATCH 012/144] add yii2 redis package --- api/composer.json | 3 +- api/composer.lock | 78 +++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 78 insertions(+), 3 deletions(-) diff --git a/api/composer.json b/api/composer.json index d44cdfe0..54c315c9 100755 --- a/api/composer.json +++ b/api/composer.json @@ -17,7 +17,8 @@ "venveo/craft-bulkedit": "4.0.1", "verbb/super-table": "3.0.9", "vlucas/phpdotenv": "^3.4.0", - "wrav/oembed": "^2.2.2" + "wrav/oembed": "^2.2.2", + "yiisoft/yii2-redis": "^2.0" }, "repositories": [ { diff --git a/api/composer.lock b/api/composer.lock index de32855e..eb499078 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e5025817109384bfb93e07c48ca23c07", + "content-hash": "782136b7b9936a0adcce989d4a3cdd0a", "packages": [ { "name": "abraham/twitteroauth", @@ -7651,6 +7651,80 @@ ], "time": "2022-11-18T17:16:47+00:00" }, + { + "name": "yiisoft/yii2-redis", + "version": "2.0.18", + "source": { + "type": "git", + "url": "https://github.com/yiisoft/yii2-redis.git", + "reference": "08aecdf44e091c5fae3411e719ac0fdb803ef594" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yiisoft/yii2-redis/zipball/08aecdf44e091c5fae3411e719ac0fdb803ef594", + "reference": "08aecdf44e091c5fae3411e719ac0fdb803ef594", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "yiisoft/yii2": "~2.0.39" + }, + "require-dev": { + "phpunit/phpunit": "<7", + "yiisoft/yii2-dev": "~2.0.39" + }, + "type": "yii2-extension", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "yii\\redis\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Carsten Brandt", + "email": "mail@cebe.cc" + } + ], + "description": "Redis Cache, Session and ActiveRecord for the Yii framework", + "keywords": [ + "active-record", + "cache", + "redis", + "session", + "yii2" + ], + "support": { + "forum": "http://www.yiiframework.com/forum/", + "irc": "irc://irc.freenode.net/yii", + "issues": "https://github.com/yiisoft/yii2-redis/issues", + "source": "https://github.com/yiisoft/yii2-redis", + "wiki": "http://www.yiiframework.com/wiki/" + }, + "funding": [ + { + "url": "https://github.com/yiisoft", + "type": "github" + }, + { + "url": "https://opencollective.com/yiisoft", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2-redis", + "type": "tidelift" + } + ], + "time": "2022-09-04T10:34:42+00:00" + }, { "name": "yiisoft/yii2-symfonymailer", "version": "2.0.4", @@ -7909,5 +7983,5 @@ "platform-overrides": { "php": "8.1.10" }, - "plugin-api-version": "2.1.0" + "plugin-api-version": "2.2.0" } From 093d00e1b94aaac60714d7db1eeb0854411e4a73 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 7 Sep 2023 20:11:20 -0500 Subject: [PATCH 013/144] temp update base tag --- .github/workflows/build-and-push.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 82653fc3..382cadff 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -84,4 +84,6 @@ jobs: context: . push: true tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file + labels: ${{ steps.meta.outputs.labels }} + build-args: | + BASE_TAG=k8s \ No newline at end of file From 5d23268cb558bf11f1fe2619ce5e0760982f2201 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 7 Sep 2023 20:12:41 -0500 Subject: [PATCH 014/144] add image build caching --- .github/workflows/build-and-push.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 382cadff..b6353cbd 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -85,5 +85,9 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + cache-to: | + type=gha + cache-from: | + type=gha build-args: | BASE_TAG=k8s \ No newline at end of file From 589e3df0bc7714b02a6a0d02d8643a5c0d9f96cf Mon Sep 17 00:00:00 2001 From: Blake Mason Date: Wed, 13 Sep 2023 15:55:05 -0700 Subject: [PATCH 015/144] [F] ImageGrid content block --- ...-6509f949-86bc-4542-ab9f-9593ae7153be.yaml | 2 +- ...-90295d5c-0b35-40ca-bb95-c7fc81969b14.yaml | 2 +- ...-b5838ae4-3163-4eaf-baf1-cc575176352e.yaml | 2 +- ...-4f027acf-6672-4fd7-a178-2366dfea422a.yaml | 4 +- ...-56f60368-4386-4395-92b6-31b15c7663cc.yaml | 4 +- ...-a0a0fcfb-cbb1-4e1b-a600-91f1c57faf41.yaml | 2 +- ...-7d2c6533-5e40-446d-8c2d-4d3998d1d193.yaml | 4 +- ...-fb3d440b-3313-476c-8ce6-9c91ba637a56.yaml | 4 +- ...-ae600481-08ff-4746-915e-4ba49a4c8337.yaml | 4 +- ...-9655a59a-0418-465e-993c-3d1586d59ef9.yaml | 4 +- ...-edef3ef4-2dfd-4dc1-92a9-2643d43cef04.yaml | 2 +- ...-f00a12dc-93a3-4782-8d0a-3672c0107c02.yaml | 53 +++++++++++++++++++ ...-d68978ab-2942-46c8-8da7-6a50bd47cce5.yaml | 52 ++++++++++++++++++ ...-da3fa24e-0cac-4206-a401-1c4f5791c198.yaml | 4 +- ...-ec9fe774-aa9b-42b0-9f80-3a1ac7f2a979.yaml | 4 +- ...-f98e0a8a-8a90-4402-9cd5-3cfddd38bff3.yaml | 2 +- ...-6863d4cb-1c9e-4d09-867f-92b87dd7bd81.yaml | 4 +- ...-f8ed5c4f-7af4-40f7-939d-b7caf9b4b501.yaml | 4 +- ...-e566bfcd-b44b-40b4-9998-5175bcf91df9.yaml | 4 +- ...-9361ad43-d848-48eb-8d07-089842600d9b.yaml | 4 +- ...-23b188bc-f349-445e-9df7-f3a7d1c6fe9e.yaml | 4 +- ...-c5c5037a-57bf-4aff-85ca-62e14c8c1cea.yaml | 4 +- ...-41a9c595-2a38-40b5-b87c-ada8076913e1.yaml | 4 +- ...-aa678753-53d0-4175-a20c-a8a49f07821b.yaml | 4 +- ...-13dd7a03-2223-4831-87bc-a9c717c71bb0.yaml | 6 +-- ...-22728b4f-f1bb-4399-8525-53e3163f0594.yaml | 6 +-- ...-be9edc91-a7d0-4838-9565-20381695cbcb.yaml | 4 +- ...-1ed98018-4e61-4580-bee8-961ceab2bb2c.yaml | 4 +- ...-832b4964-87a5-45f0-940d-9f01b6bae4fe.yaml | 4 +- ...-2c121c9e-10e1-4a79-a17f-a6c7ef7965f3.yaml | 4 +- ...-a1e725cc-a026-42a1-b75f-3f577f0369bb.yaml | 2 +- ...-accc0b97-12f3-43ce-941a-068ab8deb620.yaml | 4 +- api/config/project/project.yaml | 4 +- 33 files changed, 163 insertions(+), 56 deletions(-) create mode 100644 api/config/project/neoBlockTypes/imageGrid--f00a12dc-93a3-4782-8d0a-3672c0107c02.yaml create mode 100644 api/config/project/neoBlockTypes/imageGridItem--d68978ab-2942-46c8-8da7-6a50bd47cce5.yaml diff --git a/api/config/project/neoBlockTypes/accordion--6509f949-86bc-4542-ab9f-9593ae7153be.yaml b/api/config/project/neoBlockTypes/accordion--6509f949-86bc-4542-ab9f-9593ae7153be.yaml index b81ff633..f4c51aa4 100644 --- a/api/config/project/neoBlockTypes/accordion--6509f949-86bc-4542-ab9f-9593ae7153be.yaml +++ b/api/config/project/neoBlockTypes/accordion--6509f949-86bc-4542-ab9f-9593ae7153be.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: diff --git a/api/config/project/neoBlockTypes/accordionGroup--90295d5c-0b35-40ca-bb95-c7fc81969b14.yaml b/api/config/project/neoBlockTypes/accordionGroup--90295d5c-0b35-40ca-bb95-c7fc81969b14.yaml index 44a02a5d..17e00080 100644 --- a/api/config/project/neoBlockTypes/accordionGroup--90295d5c-0b35-40ca-bb95-c7fc81969b14.yaml +++ b/api/config/project/neoBlockTypes/accordionGroup--90295d5c-0b35-40ca-bb95-c7fc81969b14.yaml @@ -1,7 +1,7 @@ childBlocks: - accordion conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: diff --git a/api/config/project/neoBlockTypes/callout--b5838ae4-3163-4eaf-baf1-cc575176352e.yaml b/api/config/project/neoBlockTypes/callout--b5838ae4-3163-4eaf-baf1-cc575176352e.yaml index bb562ea9..387f01c1 100644 --- a/api/config/project/neoBlockTypes/callout--b5838ae4-3163-4eaf-baf1-cc575176352e.yaml +++ b/api/config/project/neoBlockTypes/callout--b5838ae4-3163-4eaf-baf1-cc575176352e.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: diff --git a/api/config/project/neoBlockTypes/complexTable--4f027acf-6672-4fd7-a178-2366dfea422a.yaml b/api/config/project/neoBlockTypes/complexTable--4f027acf-6672-4fd7-a178-2366dfea422a.yaml index bffcdb39..efde26b3 100644 --- a/api/config/project/neoBlockTypes/complexTable--4f027acf-6672-4fd7-a178-2366dfea422a.yaml +++ b/api/config/project/neoBlockTypes/complexTable--4f027acf-6672-4fd7-a178-2366dfea422a.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -72,5 +72,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: 'Complex Table' -sortOrder: 26 +sortOrder: 28 topLevel: true diff --git a/api/config/project/neoBlockTypes/contact--56f60368-4386-4395-92b6-31b15c7663cc.yaml b/api/config/project/neoBlockTypes/contact--56f60368-4386-4395-92b6-31b15c7663cc.yaml index 82cf342d..117ec67f 100644 --- a/api/config/project/neoBlockTypes/contact--56f60368-4386-4395-92b6-31b15c7663cc.yaml +++ b/api/config/project/neoBlockTypes/contact--56f60368-4386-4395-92b6-31b15c7663cc.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -60,5 +60,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: Contact -sortOrder: 13 +sortOrder: 15 topLevel: true diff --git a/api/config/project/neoBlockTypes/cta--a0a0fcfb-cbb1-4e1b-a600-91f1c57faf41.yaml b/api/config/project/neoBlockTypes/cta--a0a0fcfb-cbb1-4e1b-a600-91f1c57faf41.yaml index b5176beb..d38f1ad9 100644 --- a/api/config/project/neoBlockTypes/cta--a0a0fcfb-cbb1-4e1b-a600-91f1c57faf41.yaml +++ b/api/config/project/neoBlockTypes/cta--a0a0fcfb-cbb1-4e1b-a600-91f1c57faf41.yaml @@ -4,7 +4,7 @@ description: '' enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: - 2c3aebef-93a3-4cb1-beda-4d47a13a0b8e: + d1d2ccbd-c9fa-4836-a536-a4a25b87dec4: tabs: - elementCondition: null diff --git a/api/config/project/neoBlockTypes/ctaGrid--7d2c6533-5e40-446d-8c2d-4d3998d1d193.yaml b/api/config/project/neoBlockTypes/ctaGrid--7d2c6533-5e40-446d-8c2d-4d3998d1d193.yaml index d37df817..0fa69b80 100644 --- a/api/config/project/neoBlockTypes/ctaGrid--7d2c6533-5e40-446d-8c2d-4d3998d1d193.yaml +++ b/api/config/project/neoBlockTypes/ctaGrid--7d2c6533-5e40-446d-8c2d-4d3998d1d193.yaml @@ -1,11 +1,11 @@ childBlocks: - cta conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: - 42368af2-9545-4c5c-95a7-b4049101ef09: + cdae1c4d-93df-41fd-9f0f-6ff28d9a21b7: tabs: - elementCondition: null diff --git a/api/config/project/neoBlockTypes/downloadList--fb3d440b-3313-476c-8ce6-9c91ba637a56.yaml b/api/config/project/neoBlockTypes/downloadList--fb3d440b-3313-476c-8ce6-9c91ba637a56.yaml index 1880a62e..e2d78d9c 100644 --- a/api/config/project/neoBlockTypes/downloadList--fb3d440b-3313-476c-8ce6-9c91ba637a56.yaml +++ b/api/config/project/neoBlockTypes/downloadList--fb3d440b-3313-476c-8ce6-9c91ba637a56.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -36,5 +36,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: 'Download List' -sortOrder: 24 +sortOrder: 26 topLevel: true diff --git a/api/config/project/neoBlockTypes/game--ae600481-08ff-4746-915e-4ba49a4c8337.yaml b/api/config/project/neoBlockTypes/game--ae600481-08ff-4746-915e-4ba49a4c8337.yaml index 3072208f..f17cd5f0 100644 --- a/api/config/project/neoBlockTypes/game--ae600481-08ff-4746-915e-4ba49a4c8337.yaml +++ b/api/config/project/neoBlockTypes/game--ae600481-08ff-4746-915e-4ba49a4c8337.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -36,5 +36,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: Game -sortOrder: 29 +sortOrder: 31 topLevel: true diff --git a/api/config/project/neoBlockTypes/iframe--9655a59a-0418-465e-993c-3d1586d59ef9.yaml b/api/config/project/neoBlockTypes/iframe--9655a59a-0418-465e-993c-3d1586d59ef9.yaml index c4883d28..b61b754a 100644 --- a/api/config/project/neoBlockTypes/iframe--9655a59a-0418-465e-993c-3d1586d59ef9.yaml +++ b/api/config/project/neoBlockTypes/iframe--9655a59a-0418-465e-993c-3d1586d59ef9.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -60,5 +60,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: iFrame -sortOrder: 28 +sortOrder: 30 topLevel: true diff --git a/api/config/project/neoBlockTypes/image--edef3ef4-2dfd-4dc1-92a9-2643d43cef04.yaml b/api/config/project/neoBlockTypes/image--edef3ef4-2dfd-4dc1-92a9-2643d43cef04.yaml index 510725b2..010c6117 100644 --- a/api/config/project/neoBlockTypes/image--edef3ef4-2dfd-4dc1-92a9-2643d43cef04.yaml +++ b/api/config/project/neoBlockTypes/image--edef3ef4-2dfd-4dc1-92a9-2643d43cef04.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: diff --git a/api/config/project/neoBlockTypes/imageGrid--f00a12dc-93a3-4782-8d0a-3672c0107c02.yaml b/api/config/project/neoBlockTypes/imageGrid--f00a12dc-93a3-4782-8d0a-3672c0107c02.yaml new file mode 100644 index 00000000..94613192 --- /dev/null +++ b/api/config/project/neoBlockTypes/imageGrid--f00a12dc-93a3-4782-8d0a-3672c0107c02.yaml @@ -0,0 +1,53 @@ +childBlocks: + - imageGridItem +conditions: null +description: 'Like a CTAGrid but with no links' +enabled: true +field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages +fieldLayouts: + 670d2ce5-39d8-48bf-935f-233602ccbe56: + tabs: + - + elementCondition: null + elements: + - + elementCondition: null + fieldUid: b0ce3829-20c1-44ef-a7c7-499800645afc # Header + instructions: null + label: null + required: false + tip: null + type: craft\fieldlayoutelements\CustomField + uid: d7f0807a-d264-4a35-a741-5ea0d5f2cd33 + userCondition: null + warning: null + width: 100 + - + elementCondition: null + fieldUid: d019727b-a6d5-43d9-a688-f10df985a87e # Link + instructions: null + label: null + required: false + tip: null + type: craft\fieldlayoutelements\CustomField + uid: 32dfb605-b8e3-465e-ac14-5ad1a51ed2f8 + userCondition: null + warning: null + width: 100 + name: Tab + uid: f7d48f56-107b-478a-b26e-b1097312283e + userCondition: null +group: null +groupChildBlockTypes: true +handle: imageGrid +icon: null +ignorePermissions: true +maxBlocks: 0 +maxChildBlocks: 0 +maxSiblingBlocks: 0 +minBlocks: 0 +minChildBlocks: 0 +minSiblingBlocks: 0 +name: 'Image Grid' +sortOrder: 9 +topLevel: true diff --git a/api/config/project/neoBlockTypes/imageGridItem--d68978ab-2942-46c8-8da7-6a50bd47cce5.yaml b/api/config/project/neoBlockTypes/imageGridItem--d68978ab-2942-46c8-8da7-6a50bd47cce5.yaml new file mode 100644 index 00000000..784312ae --- /dev/null +++ b/api/config/project/neoBlockTypes/imageGridItem--d68978ab-2942-46c8-8da7-6a50bd47cce5.yaml @@ -0,0 +1,52 @@ +childBlocks: null +conditions: null +description: null +enabled: true +field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages +fieldLayouts: + 7d0dc083-d723-4d6c-a1a2-f58d5860dcff: + tabs: + - + elementCondition: null + elements: + - + elementCondition: null + fieldUid: fb052686-4537-4fe5-9ce2-ff3fd4a341a2 # Content Image + instructions: null + label: Image + required: true + tip: null + type: craft\fieldlayoutelements\CustomField + uid: 509dcefb-3fc5-4e95-ac4e-448eee4f87d6 + userCondition: null + warning: null + width: 100 + - + elementCondition: null + fieldUid: b0ce3829-20c1-44ef-a7c7-499800645afc # Header + instructions: null + label: 'Image Label' + required: false + tip: null + type: craft\fieldlayoutelements\CustomField + uid: 9c2861e1-29ab-4ec5-96c1-b5c01bb79f79 + userCondition: null + warning: null + width: 100 + name: Tab + uid: 5e79d3cb-bb24-4e39-99ce-701a2b28d66a + userCondition: null +group: null +groupChildBlockTypes: true +handle: imageGridItem +icon: null +ignorePermissions: true +maxBlocks: 0 +maxChildBlocks: 0 +maxSiblingBlocks: 0 +minBlocks: 0 +minChildBlocks: 0 +minSiblingBlocks: 0 +name: 'Image Grid Item' +sortOrder: 10 +topLevel: false diff --git a/api/config/project/neoBlockTypes/investigationCta--da3fa24e-0cac-4206-a401-1c4f5791c198.yaml b/api/config/project/neoBlockTypes/investigationCta--da3fa24e-0cac-4206-a401-1c4f5791c198.yaml index 9aa16c4f..df15f0e5 100644 --- a/api/config/project/neoBlockTypes/investigationCta--da3fa24e-0cac-4206-a401-1c4f5791c198.yaml +++ b/api/config/project/neoBlockTypes/investigationCta--da3fa24e-0cac-4206-a401-1c4f5791c198.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -48,5 +48,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: 'Investigation CTA' -sortOrder: 12 +sortOrder: 14 topLevel: false diff --git a/api/config/project/neoBlockTypes/investigationGrid--ec9fe774-aa9b-42b0-9f80-3a1ac7f2a979.yaml b/api/config/project/neoBlockTypes/investigationGrid--ec9fe774-aa9b-42b0-9f80-3a1ac7f2a979.yaml index abc31a45..a2080881 100644 --- a/api/config/project/neoBlockTypes/investigationGrid--ec9fe774-aa9b-42b0-9f80-3a1ac7f2a979.yaml +++ b/api/config/project/neoBlockTypes/investigationGrid--ec9fe774-aa9b-42b0-9f80-3a1ac7f2a979.yaml @@ -1,7 +1,7 @@ childBlocks: - investigationCta conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -49,5 +49,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: 'Investigation Grid' -sortOrder: 10 +sortOrder: 13 topLevel: true diff --git a/api/config/project/neoBlockTypes/link--f98e0a8a-8a90-4402-9cd5-3cfddd38bff3.yaml b/api/config/project/neoBlockTypes/link--f98e0a8a-8a90-4402-9cd5-3cfddd38bff3.yaml index 24fad375..a29be0e1 100644 --- a/api/config/project/neoBlockTypes/link--f98e0a8a-8a90-4402-9cd5-3cfddd38bff3.yaml +++ b/api/config/project/neoBlockTypes/link--f98e0a8a-8a90-4402-9cd5-3cfddd38bff3.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: diff --git a/api/config/project/neoBlockTypes/news--6863d4cb-1c9e-4d09-867f-92b87dd7bd81.yaml b/api/config/project/neoBlockTypes/news--6863d4cb-1c9e-4d09-867f-92b87dd7bd81.yaml index 468b7b27..ffa551b4 100644 --- a/api/config/project/neoBlockTypes/news--6863d4cb-1c9e-4d09-867f-92b87dd7bd81.yaml +++ b/api/config/project/neoBlockTypes/news--6863d4cb-1c9e-4d09-867f-92b87dd7bd81.yaml @@ -1,7 +1,7 @@ childBlocks: - newsItem conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -73,5 +73,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: News -sortOrder: 15 +sortOrder: 17 topLevel: true diff --git a/api/config/project/neoBlockTypes/newsItem--f8ed5c4f-7af4-40f7-939d-b7caf9b4b501.yaml b/api/config/project/neoBlockTypes/newsItem--f8ed5c4f-7af4-40f7-939d-b7caf9b4b501.yaml index 664642d5..ba93a902 100644 --- a/api/config/project/neoBlockTypes/newsItem--f8ed5c4f-7af4-40f7-939d-b7caf9b4b501.yaml +++ b/api/config/project/neoBlockTypes/newsItem--f8ed5c4f-7af4-40f7-939d-b7caf9b4b501.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -36,5 +36,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: 'News Item' -sortOrder: 16 +sortOrder: 18 topLevel: false diff --git a/api/config/project/neoBlockTypes/relatedContent--e566bfcd-b44b-40b4-9998-5175bcf91df9.yaml b/api/config/project/neoBlockTypes/relatedContent--e566bfcd-b44b-40b4-9998-5175bcf91df9.yaml index 455c6c47..5a3fdf8e 100644 --- a/api/config/project/neoBlockTypes/relatedContent--e566bfcd-b44b-40b4-9998-5175bcf91df9.yaml +++ b/api/config/project/neoBlockTypes/relatedContent--e566bfcd-b44b-40b4-9998-5175bcf91df9.yaml @@ -1,7 +1,7 @@ childBlocks: - relatedContentItem conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -61,5 +61,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: 'Related Content' -sortOrder: 19 +sortOrder: 21 topLevel: true diff --git a/api/config/project/neoBlockTypes/relatedContentItem--9361ad43-d848-48eb-8d07-089842600d9b.yaml b/api/config/project/neoBlockTypes/relatedContentItem--9361ad43-d848-48eb-8d07-089842600d9b.yaml index 757ff7d2..b2618fd6 100644 --- a/api/config/project/neoBlockTypes/relatedContentItem--9361ad43-d848-48eb-8d07-089842600d9b.yaml +++ b/api/config/project/neoBlockTypes/relatedContentItem--9361ad43-d848-48eb-8d07-089842600d9b.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -36,5 +36,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: 'Related Item' -sortOrder: 20 +sortOrder: 22 topLevel: false diff --git a/api/config/project/neoBlockTypes/schedule--23b188bc-f349-445e-9df7-f3a7d1c6fe9e.yaml b/api/config/project/neoBlockTypes/schedule--23b188bc-f349-445e-9df7-f3a7d1c6fe9e.yaml index 25f97ea6..41d3c113 100644 --- a/api/config/project/neoBlockTypes/schedule--23b188bc-f349-445e-9df7-f3a7d1c6fe9e.yaml +++ b/api/config/project/neoBlockTypes/schedule--23b188bc-f349-445e-9df7-f3a7d1c6fe9e.yaml @@ -1,7 +1,7 @@ childBlocks: - scheduleRow conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -49,5 +49,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: Schedule -sortOrder: 21 +sortOrder: 23 topLevel: true diff --git a/api/config/project/neoBlockTypes/scheduleRow--c5c5037a-57bf-4aff-85ca-62e14c8c1cea.yaml b/api/config/project/neoBlockTypes/scheduleRow--c5c5037a-57bf-4aff-85ca-62e14c8c1cea.yaml index e2e87218..06b9ba74 100644 --- a/api/config/project/neoBlockTypes/scheduleRow--c5c5037a-57bf-4aff-85ca-62e14c8c1cea.yaml +++ b/api/config/project/neoBlockTypes/scheduleRow--c5c5037a-57bf-4aff-85ca-62e14c8c1cea.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -72,5 +72,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: 'Schedule Row' -sortOrder: 22 +sortOrder: 24 topLevel: false diff --git a/api/config/project/neoBlockTypes/share--41a9c595-2a38-40b5-b87c-ada8076913e1.yaml b/api/config/project/neoBlockTypes/share--41a9c595-2a38-40b5-b87c-ada8076913e1.yaml index 49395635..60e303eb 100644 --- a/api/config/project/neoBlockTypes/share--41a9c595-2a38-40b5-b87c-ada8076913e1.yaml +++ b/api/config/project/neoBlockTypes/share--41a9c595-2a38-40b5-b87c-ada8076913e1.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages group: null @@ -15,5 +15,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: Share -sortOrder: 14 +sortOrder: 16 topLevel: true diff --git a/api/config/project/neoBlockTypes/simpleTable--aa678753-53d0-4175-a20c-a8a49f07821b.yaml b/api/config/project/neoBlockTypes/simpleTable--aa678753-53d0-4175-a20c-a8a49f07821b.yaml index 41a3bee6..16c96749 100644 --- a/api/config/project/neoBlockTypes/simpleTable--aa678753-53d0-4175-a20c-a8a49f07821b.yaml +++ b/api/config/project/neoBlockTypes/simpleTable--aa678753-53d0-4175-a20c-a8a49f07821b.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -48,5 +48,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: 'Simple Table' -sortOrder: 25 +sortOrder: 27 topLevel: true diff --git a/api/config/project/neoBlockTypes/slide--13dd7a03-2223-4831-87bc-a9c717c71bb0.yaml b/api/config/project/neoBlockTypes/slide--13dd7a03-2223-4831-87bc-a9c717c71bb0.yaml index 76b8ace6..fd6876bf 100644 --- a/api/config/project/neoBlockTypes/slide--13dd7a03-2223-4831-87bc-a9c717c71bb0.yaml +++ b/api/config/project/neoBlockTypes/slide--13dd7a03-2223-4831-87bc-a9c717c71bb0.yaml @@ -1,10 +1,10 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: - 756e8454-fa42-4a48-b89b-7b6e4a39b0b7: + 4c08cff0-15fb-4f03-8f7c-9ed4051c724e: tabs: - elementCondition: null @@ -48,5 +48,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: Slide -sortOrder: 11 +sortOrder: 12 topLevel: false diff --git a/api/config/project/neoBlockTypes/slideBlock--22728b4f-f1bb-4399-8525-53e3163f0594.yaml b/api/config/project/neoBlockTypes/slideBlock--22728b4f-f1bb-4399-8525-53e3163f0594.yaml index 5fb9241e..624f2a87 100644 --- a/api/config/project/neoBlockTypes/slideBlock--22728b4f-f1bb-4399-8525-53e3163f0594.yaml +++ b/api/config/project/neoBlockTypes/slideBlock--22728b4f-f1bb-4399-8525-53e3163f0594.yaml @@ -1,11 +1,11 @@ childBlocks: - slide conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: - 51150454-bc59-4d8d-a40b-4bc71f14e149: + d97abc20-6764-4748-b809-7d20907ce6ba: tabs: - elementCondition: null @@ -73,5 +73,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: 'Slide Block' -sortOrder: 9 +sortOrder: 11 topLevel: true diff --git a/api/config/project/neoBlockTypes/staffGrid--be9edc91-a7d0-4838-9565-20381695cbcb.yaml b/api/config/project/neoBlockTypes/staffGrid--be9edc91-a7d0-4838-9565-20381695cbcb.yaml index d07b0145..fbf61302 100644 --- a/api/config/project/neoBlockTypes/staffGrid--be9edc91-a7d0-4838-9565-20381695cbcb.yaml +++ b/api/config/project/neoBlockTypes/staffGrid--be9edc91-a7d0-4838-9565-20381695cbcb.yaml @@ -1,7 +1,7 @@ childBlocks: - staffGridItem conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -73,5 +73,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: 'Staff Profiles' -sortOrder: 17 +sortOrder: 19 topLevel: true diff --git a/api/config/project/neoBlockTypes/staffGridItem--1ed98018-4e61-4580-bee8-961ceab2bb2c.yaml b/api/config/project/neoBlockTypes/staffGridItem--1ed98018-4e61-4580-bee8-961ceab2bb2c.yaml index eac8beeb..e6c47e28 100644 --- a/api/config/project/neoBlockTypes/staffGridItem--1ed98018-4e61-4580-bee8-961ceab2bb2c.yaml +++ b/api/config/project/neoBlockTypes/staffGridItem--1ed98018-4e61-4580-bee8-961ceab2bb2c.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -36,5 +36,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: 'Staff Item' -sortOrder: 18 +sortOrder: 20 topLevel: false diff --git a/api/config/project/neoBlockTypes/summitStatus--832b4964-87a5-45f0-940d-9f01b6bae4fe.yaml b/api/config/project/neoBlockTypes/summitStatus--832b4964-87a5-45f0-940d-9f01b6bae4fe.yaml index 84ebd49f..1fc20a81 100644 --- a/api/config/project/neoBlockTypes/summitStatus--832b4964-87a5-45f0-940d-9f01b6bae4fe.yaml +++ b/api/config/project/neoBlockTypes/summitStatus--832b4964-87a5-45f0-940d-9f01b6bae4fe.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -36,5 +36,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: 'Summit Status' -sortOrder: 30 +sortOrder: 32 topLevel: true diff --git a/api/config/project/neoBlockTypes/tableGroup--2c121c9e-10e1-4a79-a17f-a6c7ef7965f3.yaml b/api/config/project/neoBlockTypes/tableGroup--2c121c9e-10e1-4a79-a17f-a6c7ef7965f3.yaml index 42562488..c0a6efb6 100644 --- a/api/config/project/neoBlockTypes/tableGroup--2c121c9e-10e1-4a79-a17f-a6c7ef7965f3.yaml +++ b/api/config/project/neoBlockTypes/tableGroup--2c121c9e-10e1-4a79-a17f-a6c7ef7965f3.yaml @@ -1,7 +1,7 @@ childBlocks: - complexTable conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -45,5 +45,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: 'Table Group' -sortOrder: 27 +sortOrder: 29 topLevel: true diff --git a/api/config/project/neoBlockTypes/text--a1e725cc-a026-42a1-b75f-3f577f0369bb.yaml b/api/config/project/neoBlockTypes/text--a1e725cc-a026-42a1-b75f-3f577f0369bb.yaml index 6eb51f30..a5c12314 100644 --- a/api/config/project/neoBlockTypes/text--a1e725cc-a026-42a1-b75f-3f577f0369bb.yaml +++ b/api/config/project/neoBlockTypes/text--a1e725cc-a026-42a1-b75f-3f577f0369bb.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: diff --git a/api/config/project/neoBlockTypes/video--accc0b97-12f3-43ce-941a-068ab8deb620.yaml b/api/config/project/neoBlockTypes/video--accc0b97-12f3-43ce-941a-068ab8deb620.yaml index 0657c726..558a92d8 100644 --- a/api/config/project/neoBlockTypes/video--accc0b97-12f3-43ce-941a-068ab8deb620.yaml +++ b/api/config/project/neoBlockTypes/video--accc0b97-12f3-43ce-941a-068ab8deb620.yaml @@ -1,6 +1,6 @@ childBlocks: null conditions: null -description: '' +description: null enabled: true field: 72e5075a-9b06-4674-b040-615f4a6f7b70 # Content Blocks - Pages fieldLayouts: @@ -48,5 +48,5 @@ minBlocks: 0 minChildBlocks: 0 minSiblingBlocks: 0 name: Video -sortOrder: 23 +sortOrder: 25 topLevel: true diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index 3ad94882..1118b878 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -1,4 +1,4 @@ -dateModified: 1692903024 +dateModified: 1694562108 email: fromEmail: $EMAIL_FROM_ADDRESS fromName: $EMAIL_SENDER_NAME @@ -354,6 +354,7 @@ meta: d838c93b-46c2-4338-bb73-32cee25ab26f: 'Ancestors and Root' # Ancestors and Root d4696dbe-019e-4c97-a95d-07bfaf9dbd03: 'Entry - Staff Profile' # Entry - Staff Profile d6898b26-bfa2-41d3-9e26-0092b2021762: 'Student Schema' # Student Schema + d68978ab-2942-46c8-8da7-6a50bd47cce5: 'Image Grid Item' # Image Grid Item d889713c-632a-4323-bb10-4b2bc53545ad: Asset # Asset da3fa24e-0cac-4206-a401-1c4f5791c198: 'Investigation CTA' # Investigation CTA dc44e79d-b126-413d-bc02-0776d6ace2d1: 'Float Direction' # Float Direction @@ -381,6 +382,7 @@ meta: ecf9a160-a134-43b6-9d4f-8bd547ad101e: 'Landing Navigation' # Landing Navigation edef3ef4-2dfd-4dc1-92a9-2643d43cef04: Image # Image ef5793ab-b4f7-45c7-be68-338184b3d385: 'Full Width' # Full Width + f00a12dc-93a3-4782-8d0a-3672c0107c02: 'Image Grid' # Image Grid f0603433-ef74-4883-8aec-03e31f8dc34e: 'Complex Table' # Complex Table f1b8c943-bc12-4001-9e2a-d531379f1aaf: Pages # Pages f8ed5c4f-7af4-40f7-939d-b7caf9b4b501: 'News Item' # News Item From bee50b9001c06a30829c0deb2c6371050ce0a062 Mon Sep 17 00:00:00 2001 From: Blake Mason Date: Wed, 13 Sep 2023 16:08:02 -0700 Subject: [PATCH 016/144] [F] Composer updates --- api/composer.json | 6 +- api/composer.lock | 932 +++++++++++++------------------- api/config/project/project.yaml | 4 +- 3 files changed, 385 insertions(+), 557 deletions(-) diff --git a/api/composer.json b/api/composer.json index 54c315c9..c16ce20c 100755 --- a/api/composer.json +++ b/api/composer.json @@ -3,17 +3,17 @@ "carlcs/craft-assetmetadata": "^4.0", "castiron/next-builds": "^1.0", "craftcms/aws-s3": "2.0.3", - "craftcms/cms": "4.4.14", + "craftcms/cms": "4.5.4", "craftcms/contact-form": "3.0.1", "craftcms/contact-form-honeypot": "^2.0.0", "craftcms/google-cloud": "^2.0.0", "craftcms/redactor": "3.0.4", - "jamesedmonston/graphql-authentication": "2.4.0", + "jamesedmonston/graphql-authentication": "2.5.0", "lsst-epo/canto-dam-assets": "dev-develop-v4", "lsst/canto-dam-integrator": "dev-EPO-7854#v0.3.2", "rynpsc/craft-phone-number": "^2.1.0", "sebastianlenz/linkfield": "^2.1.4", - "spicyweb/craft-neo": "3.8.0", + "spicyweb/craft-neo": "3.8.6", "venveo/craft-bulkedit": "4.0.1", "verbb/super-table": "3.0.9", "vlucas/phpdotenv": "^3.4.0", diff --git a/api/composer.lock b/api/composer.lock index eb499078..130b91bf 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,16 +4,11 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "782136b7b9936a0adcce989d4a3cdd0a", + "content-hash": "57c9a98b188d83a3af382978e7ff8634", "packages": [ { "name": "abraham/twitteroauth", "version": "3.3.0", - "source": { - "type": "git", - "url": "https://github.com/abraham/twitteroauth.git", - "reference": "2e640c1e8bb9b5dbcb2230703f97c89a852e30b5" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/abraham/twitteroauth/zipball/2e640c1e8bb9b5dbcb2230703f97c89a852e30b5", @@ -25,20 +20,12 @@ "ext-curl": "*", "php": "^7.4 || ^8.0 || ^8.1" }, - "require-dev": { - "php-vcr/php-vcr": "^1", - "php-vcr/phpunit-testlistener-vcr": "dev-php-8", - "phpmd/phpmd": "^2", - "phpunit/phpunit": "^8 || ^9", - "squizlabs/php_codesniffer": "^3" - }, "type": "library", "autoload": { "psr-4": { "Abraham\\TwitterOAuth\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -61,10 +48,6 @@ "social", "twitter" ], - "support": { - "issues": "https://github.com/abraham/twitteroauth/issues", - "source": "https://github.com/abraham/twitteroauth" - }, "time": "2022-01-19T01:10:09+00:00" }, { @@ -417,11 +400,11 @@ }, { "name": "composer/ca-bundle", - "version": "1.3.6", + "version": "1.3.7", "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/90d087e988ff194065333d16bc5cf649872d9cdb", - "reference": "90d087e988ff194065333d16bc5cf649872d9cdb", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/76e46335014860eec1aa5a724799a00a2e47cc85", + "reference": "76e46335014860eec1aa5a724799a00a2e47cc85", "shasum": "" }, "require": { @@ -458,34 +441,80 @@ "ssl", "tls" ], - "time": "2023-06-06T12:02:59+00:00" + "time": "2023-08-30T09:31:38+00:00" + }, + { + "name": "composer/class-map-generator", + "version": "1.1.0", + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/class-map-generator/zipball/953cc4ea32e0c31f2185549c7d216d7921f03da9", + "reference": "953cc4ea32e0c31f2185549c7d216d7921f03da9", + "shasum": "" + }, + "require": { + "composer/pcre": "^2.1 || ^3.1", + "php": "^7.2 || ^8.0", + "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\ClassMapGenerator\\": "src" + } + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Utilities to scan PHP code and generate class maps.", + "keywords": [ + "classmap" + ], + "time": "2023-06-30T13:58:57+00:00" }, { "name": "composer/composer", - "version": "2.2.19", + "version": "2.6.2", "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/30ff21a9af9a10845436abaeeb0bb7276e996d24", - "reference": "30ff21a9af9a10845436abaeeb0bb7276e996d24", + "url": "https://api.github.com/repos/composer/composer/zipball/623e5e1de055e65bc6c3c61b8348dc4662d75e2b", + "reference": "623e5e1de055e65bc6c3c61b8348dc4662d75e2b", "shasum": "" }, "require": { "composer/ca-bundle": "^1.0", + "composer/class-map-generator": "^1.0", "composer/metadata-minifier": "^1.0", - "composer/pcre": "^1.0", - "composer/semver": "^3.0", - "composer/spdx-licenses": "^1.2", - "composer/xdebug-handler": "^2.0 || ^3.0", + "composer/pcre": "^2.1 || ^3.1", + "composer/semver": "^3.2.5", + "composer/spdx-licenses": "^1.5.7", + "composer/xdebug-handler": "^2.0.2 || ^3.0.3", "justinrainbow/json-schema": "^5.2.11", - "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0 || ^2.0", - "react/promise": "^1.2 || ^2.7", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1.0 || ^2.0 || ^3.0", + "react/promise": "^2.8 || ^3", "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.0", - "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", - "symfony/filesystem": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0" + "seld/phar-utils": "^1.2", + "seld/signal-handler": "^2.0", + "symfony/console": "^5.4.11 || ^6.0.11 || ^7", + "symfony/filesystem": "^5.4 || ^6.0 || ^7", + "symfony/finder": "^5.4 || ^6.0 || ^7", + "symfony/polyfill-php73": "^1.24", + "symfony/polyfill-php80": "^1.24", + "symfony/polyfill-php81": "^1.24", + "symfony/process": "^5.4 || ^6.0 || ^7" }, "suggest": { "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", @@ -498,12 +527,17 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.2-dev" + "dev-main": "2.6-dev" + }, + "phpstan": { + "includes": [ + "phpstan/rules.neon" + ] } }, "autoload": { "psr-4": { - "Composer\\": "src/Composer" + "Composer\\": "src/Composer/" } }, "license": [ @@ -528,7 +562,7 @@ "dependency", "package" ], - "time": "2023-02-04T13:54:48+00:00" + "time": "2023-09-03T12:09:15+00:00" }, { "name": "composer/metadata-minifier", @@ -572,20 +606,20 @@ }, { "name": "composer/pcre", - "version": "1.0.1", + "version": "3.1.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/67a32d7d6f9f560b726ab25a061b38ff3a80c560", - "reference": "67a32d7d6f9f560b726ab25a061b38ff3a80c560", + "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" + "php": "^7.4 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.x-dev" + "dev-main": "3.x-dev" } }, "autoload": { @@ -610,15 +644,15 @@ "regex", "regular expression" ], - "time": "2022-01-21T20:24:37+00:00" + "time": "2022-11-17T09:50:14+00:00" }, { "name": "composer/semver", - "version": "3.3.2", + "version": "3.4.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", + "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", "shasum": "" }, "require": { @@ -662,7 +696,7 @@ "validation", "versioning" ], - "time": "2022-04-01T19:23:25+00:00" + "time": "2023-08-31T09:50:34+00:00" }, { "name": "composer/spdx-licenses", @@ -817,20 +851,20 @@ }, { "name": "craftcms/cms", - "version": "4.4.14", + "version": "4.5.4", "dist": { "type": "zip", - "url": "https://api.github.com/repos/craftcms/cms/zipball/31c6d400ca40f72062e8e7a00d31e1bfd462597d", - "reference": "31c6d400ca40f72062e8e7a00d31e1bfd462597d", + "url": "https://api.github.com/repos/craftcms/cms/zipball/bf4756f4079d883852ce50343e4d9668558dfb1c", + "reference": "bf4756f4079d883852ce50343e4d9668558dfb1c", "shasum": "" }, "require": { "commerceguys/addressing": "^1.2", - "composer/composer": "2.2.19", + "composer/composer": "^2.2.19", "craftcms/plugin-installer": "~1.6.0", "craftcms/server-check": "~2.1.2", "creocoder/yii2-nested-sets": "~0.9.0", - "elvanto/litemoji": "^4.3.0", + "elvanto/litemoji": "~4.3.0", "enshrined/svg-sanitize": "~0.16.0", "ext-bcmath": "*", "ext-curl": "*", @@ -858,7 +892,7 @@ "twig/twig": "~3.4.3", "voku/stringy": "^6.4.0", "webonyx/graphql-php": "~14.11.5", - "yiisoft/yii2": "~2.0.47.0", + "yiisoft/yii2": "~2.0.48.1", "yiisoft/yii2-debug": "~2.1.22.0", "yiisoft/yii2-queue": "~2.3.2", "yiisoft/yii2-symfonymailer": "^2.0.0" @@ -909,7 +943,7 @@ "docs": "https://craftcms.com/docs/4.x/", "rss": "https://github.com/craftcms/cms/releases.atom" }, - "time": "2023-06-13T23:08:33+00:00" + "time": "2023-09-12T18:48:25+00:00" }, { "name": "craftcms/contact-form", @@ -1306,11 +1340,11 @@ }, { "name": "craftcms/server-check", - "version": "2.1.5", + "version": "2.1.6", "dist": { "type": "zip", - "url": "https://api.github.com/repos/craftcms/server-check/zipball/a099ba05adf6424298aa5177ca17084e616a5690", - "reference": "a099ba05adf6424298aa5177ca17084e616a5690", + "url": "https://api.github.com/repos/craftcms/server-check/zipball/445c8eccde570ede09dc96c39fc1357a5296520f", + "reference": "445c8eccde570ede09dc96c39fc1357a5296520f", "shasum": "" }, "type": "library", @@ -1330,7 +1364,7 @@ "requirements", "yii2" ], - "time": "2023-05-26T20:43:59+00:00" + "time": "2023-09-09T18:23:58+00:00" }, { "name": "creocoder/yii2-nested-sets", @@ -1421,11 +1455,11 @@ }, { "name": "doctrine/collections", - "version": "2.1.2", + "version": "2.1.3", "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/db8cda536a034337f7dd63febecc713d4957f9ee", - "reference": "db8cda536a034337f7dd63febecc713d4957f9ee", + "url": "https://api.github.com/repos/doctrine/collections/zipball/3023e150f90a38843856147b58190aa8b46cc155", + "reference": "3023e150f90a38843856147b58190aa8b46cc155", "shasum": "" }, "require": { @@ -1471,7 +1505,7 @@ "iterators", "php" ], - "time": "2022-12-27T23:41:38+00:00" + "time": "2023-07-06T15:15:36+00:00" }, { "name": "doctrine/deprecations", @@ -1778,28 +1812,15 @@ }, { "name": "firebase/php-jwt", - "version": "v6.4.0", - "source": { - "type": "git", - "url": "https://github.com/firebase/php-jwt.git", - "reference": "4dd1e007f22a927ac77da5a3fbb067b42d3bc224" - }, + "version": "v6.8.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/4dd1e007f22a927ac77da5a3fbb067b42d3bc224", - "reference": "4dd1e007f22a927ac77da5a3fbb067b42d3bc224", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/5dbc8959427416b8ee09a100d7a8588c00fb2e26", + "reference": "5dbc8959427416b8ee09a100d7a8588c00fb2e26", "shasum": "" }, "require": { - "php": "^7.1||^8.0" - }, - "require-dev": { - "guzzlehttp/guzzle": "^6.5||^7.4", - "phpspec/prophecy-phpunit": "^1.1", - "phpunit/phpunit": "^7.5||^9.5", - "psr/cache": "^1.0||^2.0", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0" + "php": "^7.4||^8.0" }, "suggest": { "ext-sodium": "Support EdDSA (Ed25519) signatures", @@ -1811,7 +1832,6 @@ "Firebase\\JWT\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -1833,11 +1853,7 @@ "jwt", "php" ], - "support": { - "issues": "https://github.com/firebase/php-jwt/issues", - "source": "https://github.com/firebase/php-jwt/tree/v6.4.0" - }, - "time": "2023-02-09T21:01:23+00:00" + "time": "2023-07-14T18:33:00+00:00" }, { "name": "giggsey/libphonenumber-for-php", @@ -1967,16 +1983,11 @@ }, { "name": "google/apiclient", - "version": "v2.13.1", - "source": { - "type": "git", - "url": "https://github.com/googleapis/google-api-php-client.git", - "reference": "895749dd4f14c349ca0b4aad020ff973f961e519" - }, + "version": "v2.14.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/895749dd4f14c349ca0b4aad020ff973f961e519", - "reference": "895749dd4f14c349ca0b4aad020ff973f961e519", + "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/789c8b07cad97f420ac0467c782036f955a2ad89", + "reference": "789c8b07cad97f420ac0467c782036f955a2ad89", "shasum": "" }, "require": { @@ -1989,17 +2000,6 @@ "php": "^5.6|^7.0|^8.0", "phpseclib/phpseclib": "~2.0||^3.0.2" }, - "require-dev": { - "cache/filesystem-adapter": "^0.3.2|^1.1", - "composer/composer": "^1.10.22", - "phpcompatibility/php-compatibility": "^9.2", - "phpspec/prophecy-phpunit": "^1.1||^2.0", - "phpunit/phpunit": "^5.7.21 || ^6.0 || ^7.0 || ^8.0 || ^9.0", - "squizlabs/php_codesniffer": "^3.0", - "symfony/css-selector": "~2.1", - "symfony/dom-crawler": "~2.1", - "yoast/phpunit-polyfills": "^1.0" - }, "suggest": { "cache/filesystem-adapter": "For caching certs and tokens (using Google\\Client::setCache)" }, @@ -2020,7 +2020,6 @@ "src/aliases.php" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "Apache-2.0" ], @@ -2029,31 +2028,19 @@ "keywords": [ "google" ], - "support": { - "issues": "https://github.com/googleapis/google-api-php-client/issues", - "source": "https://github.com/googleapis/google-api-php-client/tree/v2.13.1" - }, - "time": "2023-03-13T20:38:21+00:00" + "time": "2023-05-11T21:54:55+00:00" }, { "name": "google/apiclient-services", - "version": "v0.291.0", - "source": { - "type": "git", - "url": "https://github.com/googleapis/google-api-php-client-services.git", - "reference": "6f79073f022686461af2d1a95b4fe91caaf947ec" - }, + "version": "v0.315.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/6f79073f022686461af2d1a95b4fe91caaf947ec", - "reference": "6f79073f022686461af2d1a95b4fe91caaf947ec", + "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/9fe675be642888cded64be861891901f092ab72d", + "reference": "9fe675be642888cded64be861891901f092ab72d", "shasum": "" }, "require": { - "php": ">=5.6" - }, - "require-dev": { - "phpunit/phpunit": "^5.7||^8.5.13" + "php": "^7.4||^8.0" }, "type": "library", "autoload": { @@ -2064,7 +2051,6 @@ "Google\\Service\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "Apache-2.0" ], @@ -2073,24 +2059,15 @@ "keywords": [ "google" ], - "support": { - "issues": "https://github.com/googleapis/google-api-php-client-services/issues", - "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.291.0" - }, - "time": "2023-03-13T21:05:11+00:00" + "time": "2023-09-10T01:10:37+00:00" }, { "name": "google/auth", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/googleapis/google-auth-library-php.git", - "reference": "0865c44ab50378f7b145827dfcbd1e7a238f7759" - }, + "version": "v1.26.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/0865c44ab50378f7b145827dfcbd1e7a238f7759", - "reference": "0865c44ab50378f7b145827dfcbd1e7a238f7759", + "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/f1f0d0319e2e7750ebfaa523c78819792a9ed9f7", + "reference": "f1f0d0319e2e7750ebfaa523c78819792a9ed9f7", "shasum": "" }, "require": { @@ -2101,15 +2078,6 @@ "psr/cache": "^1.0|^2.0|^3.0", "psr/http-message": "^1.0" }, - "require-dev": { - "guzzlehttp/promises": "0.1.1|^1.3", - "kelvinmo/simplejwt": "^0.2.5|^0.5.1", - "phpseclib/phpseclib": "^2.0.31", - "phpspec/prophecy-phpunit": "^1.1||^2.0", - "phpunit/phpunit": "^7.5||^9.0.0", - "sebastian/comparator": ">=1.2.3", - "squizlabs/php_codesniffer": "^3.5" - }, "suggest": { "phpseclib/phpseclib": "May be used in place of OpenSSL for signing strings or for token management. Please require version ^2." }, @@ -2119,7 +2087,6 @@ "Google\\Auth\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "Apache-2.0" ], @@ -2130,12 +2097,7 @@ "google", "oauth2" ], - "support": { - "docs": "https://googleapis.github.io/google-auth-library-php/main/", - "issues": "https://github.com/googleapis/google-auth-library-php/issues", - "source": "https://github.com/googleapis/google-auth-library-php/tree/v1.25.0" - }, - "time": "2023-01-26T22:04:14+00:00" + "time": "2023-04-05T15:11:57+00:00" }, { "name": "google/cloud-core", @@ -2307,17 +2269,17 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.7.0", + "version": "7.8.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/fb7566caccf22d74d1ab270de3551f72a58399f5", - "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1110f66a6530a40fe7aea0378fe608ee2b2248f9", + "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0", - "guzzlehttp/psr7": "^1.9.1 || ^2.4.5", + "guzzlehttp/promises": "^1.5.3 || ^2.0.1", + "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -2397,7 +2359,7 @@ "rest", "web service" ], - "time": "2023-05-21T14:04:53+00:00" + "time": "2023-08-27T10:20:53+00:00" }, { "name": "guzzlehttp/promises", @@ -2453,34 +2415,29 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.4.5", + "version": "1.9.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/0454e12ef0cd597ccd2adb036f7bda4e7fface66", - "reference": "0454e12ef0cd597ccd2adb036f7bda4e7fface66", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/e4490cabc77465aaee90b20cfc9a770f8c04be6b", + "reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b", "shasum": "" }, "require": { - "php": "^7.2.5 || ^8.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0", - "ralouphie/getallheaders": "^3.0" + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" }, "provide": { - "psr/http-factory-implementation": "1.0", "psr/http-message-implementation": "1.0" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" }, "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, "autoload": { + "files": [ + "src/functions_include.php" + ], "psr-4": { "GuzzleHttp\\Psr7\\": "src/" } @@ -2518,11 +2475,6 @@ "name": "Tobias Schultze", "email": "webmaster@tubo-world.de", "homepage": "https://github.com/Tobion" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" } ], "description": "PSR-7 message implementation that also provides common utility methods", @@ -2536,11 +2488,11 @@ "uri", "url" ], - "time": "2023-04-17T16:00:45+00:00" + "time": "2023-04-17T16:00:37+00:00" }, { "name": "illuminate/collections", - "version": "v9.52.10", + "version": "v9.52.15", "dist": { "type": "zip", "url": "https://api.github.com/repos/illuminate/collections/zipball/d3710b0b244bfc62c288c1a87eaa62dd28352d1f", @@ -2585,7 +2537,7 @@ }, { "name": "illuminate/conditionable", - "version": "v9.52.10", + "version": "v9.52.15", "dist": { "type": "zip", "url": "https://api.github.com/repos/illuminate/conditionable/zipball/bea24daa0fa84b7e7b0d5b84f62c71b7e2dc3364", @@ -2621,7 +2573,7 @@ }, { "name": "illuminate/contracts", - "version": "v9.52.10", + "version": "v9.52.15", "dist": { "type": "zip", "url": "https://api.github.com/repos/illuminate/contracts/zipball/44f65d723b13823baa02ff69751a5948bde60c22", @@ -2659,7 +2611,7 @@ }, { "name": "illuminate/macroable", - "version": "v9.52.10", + "version": "v9.52.15", "dist": { "type": "zip", "url": "https://api.github.com/repos/illuminate/macroable/zipball/e3bfaf6401742a9c6abca61b9b10e998e5b6449a", @@ -2762,16 +2714,11 @@ }, { "name": "jamesedmonston/graphql-authentication", - "version": "2.4.0", - "source": { - "type": "git", - "url": "https://github.com/jamesedmonston/graphql-authentication.git", - "reference": "63de88704b21831ecb6a6d17d511eb6e29dbf822" - }, + "version": "2.5.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/jamesedmonston/graphql-authentication/zipball/63de88704b21831ecb6a6d17d511eb6e29dbf822", - "reference": "63de88704b21831ecb6a6d17d511eb6e29dbf822", + "url": "https://api.github.com/repos/jamesedmonston/graphql-authentication/zipball/ec3e6335896173c6bddf13e9047ce727b2136319", + "reference": "ec3e6335896173c6bddf13e9047ce727b2136319", "shasum": "" }, "require": { @@ -2783,11 +2730,6 @@ "php": "^8.0.2", "thenetworg/oauth2-azure": "^2.1" }, - "require-dev": { - "craftcms/ecs": "dev-main", - "craftcms/phpstan": "dev-main", - "craftcms/rector": "dev-main" - }, "type": "craft-plugin", "extra": { "name": "GraphQL Authentication", @@ -2803,7 +2745,6 @@ "jamesedmonston\\graphqlauthentication\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2815,9 +2756,9 @@ ], "description": "GraphQL authentication for your headless Craft CMS applications.", "keywords": [ - "Authentication", - "Craft", + "authentication", "cms", + "craft", "craft-plugin", "craftcms", "graphql", @@ -2825,10 +2766,9 @@ ], "support": { "docs": "https://github.com/jamesedmonston/graphql-authentication/blob/master/README.md", - "issues": "https://github.com/jamesedmonston/graphql-authentication/issues", - "source": "https://github.com/jamesedmonston/graphql-authentication/tree/2.4.0" + "issues": "https://github.com/jamesedmonston/graphql-authentication/issues" }, - "time": "2023-03-04T10:42:07+00:00" + "time": "2023-07-01T15:00:48+00:00" }, { "name": "justinrainbow/json-schema", @@ -2888,11 +2828,6 @@ { "name": "lcobucci/clock", "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/lcobucci/clock.git", - "reference": "039ef98c6b57b101d10bd11d8fdfda12cbd996dc" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/lcobucci/clock/zipball/039ef98c6b57b101d10bd11d8fdfda12cbd996dc", @@ -2906,23 +2841,12 @@ "provide": { "psr/clock-implementation": "1.0" }, - "require-dev": { - "infection/infection": "^0.26", - "lcobucci/coding-standard": "^9.0", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-deprecation-rules": "^1.1.1", - "phpstan/phpstan-phpunit": "^1.3.2", - "phpstan/phpstan-strict-rules": "^1.4.4", - "phpunit/phpunit": "^9.5.27" - }, "type": "library", "autoload": { "psr-4": { "Lcobucci\\Clock\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2933,30 +2857,11 @@ } ], "description": "Yet another clock abstraction", - "support": { - "issues": "https://github.com/lcobucci/clock/issues", - "source": "https://github.com/lcobucci/clock/tree/3.0.0" - }, - "funding": [ - { - "url": "https://github.com/lcobucci", - "type": "github" - }, - { - "url": "https://www.patreon.com/lcobucci", - "type": "patreon" - } - ], "time": "2022-12-19T15:00:24+00:00" }, { "name": "lcobucci/jwt", "version": "4.3.0", - "source": { - "type": "git", - "url": "https://github.com/lcobucci/jwt.git", - "reference": "4d7de2fe0d51a96418c0d04004986e410e87f6b4" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/lcobucci/jwt/zipball/4d7de2fe0d51a96418c0d04004986e410e87f6b4", @@ -2972,26 +2877,12 @@ "lcobucci/clock": "^2.0 || ^3.0", "php": "^7.4 || ^8.0" }, - "require-dev": { - "infection/infection": "^0.21", - "lcobucci/coding-standard": "^6.0", - "mikey179/vfsstream": "^1.6.7", - "phpbench/phpbench": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.4", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/php-invoker": "^3.1", - "phpunit/phpunit": "^9.5" - }, "type": "library", "autoload": { "psr-4": { "Lcobucci\\JWT\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -3007,20 +2898,6 @@ "JWS", "jwt" ], - "support": { - "issues": "https://github.com/lcobucci/jwt/issues", - "source": "https://github.com/lcobucci/jwt/tree/4.3.0" - }, - "funding": [ - { - "url": "https://github.com/lcobucci", - "type": "github" - }, - { - "url": "https://www.patreon.com/lcobucci", - "type": "patreon" - } - ], "time": "2023-01-02T13:28:00+00:00" }, { @@ -3305,16 +3182,11 @@ }, { "name": "league/oauth2-client", - "version": "2.6.1", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/oauth2-client.git", - "reference": "2334c249907190c132364f5dae0287ab8666aa19" - }, + "version": "2.7.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth2-client/zipball/2334c249907190c132364f5dae0287ab8666aa19", - "reference": "2334c249907190c132364f5dae0287ab8666aa19", + "url": "https://api.github.com/repos/thephpleague/oauth2-client/zipball/160d6274b03562ebeb55ed18399281d8118b76c8", + "reference": "160d6274b03562ebeb55ed18399281d8118b76c8", "shasum": "" }, "require": { @@ -3322,12 +3194,6 @@ "paragonie/random_compat": "^1 || ^2 || ^9.99", "php": "^5.6 || ^7.0 || ^8.0" }, - "require-dev": { - "mockery/mockery": "^1.3.5", - "php-parallel-lint/php-parallel-lint": "^1.3.1", - "phpunit/phpunit": "^5.7 || ^6.0 || ^9.5", - "squizlabs/php_codesniffer": "^2.3 || ^3.0" - }, "type": "library", "extra": { "branch-alias": { @@ -3339,7 +3205,6 @@ "League\\OAuth2\\Client\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3367,20 +3232,11 @@ "oauth2", "single sign on" ], - "support": { - "issues": "https://github.com/thephpleague/oauth2-client/issues", - "source": "https://github.com/thephpleague/oauth2-client/tree/2.6.1" - }, - "time": "2021-12-22T16:42:49+00:00" + "time": "2023-04-16T18:19:15+00:00" }, { "name": "league/oauth2-facebook", "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/oauth2-facebook.git", - "reference": "ec6d62a00b548c6cd56d7b734346b9e6befbfbbb" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/thephpleague/oauth2-facebook/zipball/ec6d62a00b548c6cd56d7b734346b9e6befbfbbb", @@ -3391,19 +3247,12 @@ "league/oauth2-client": "^2.0", "php": ">=7.3" }, - "require-dev": { - "ext-json": "*", - "mockery/mockery": "~1.3.0", - "phpunit/phpunit": "^9.4", - "squizlabs/php_codesniffer": "~3.0" - }, "type": "library", "autoload": { "psr-4": { "League\\OAuth2\\Client\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3423,10 +3272,6 @@ "oauth", "oauth2" ], - "support": { - "issues": "https://github.com/thephpleague/oauth2-facebook/issues", - "source": "https://github.com/thephpleague/oauth2-facebook/tree/2.2.0" - }, "time": "2022-02-24T18:45:07+00:00" }, { @@ -3585,11 +3430,11 @@ }, { "name": "moneyphp/money", - "version": "v4.1.1", + "version": "v4.2.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/moneyphp/money/zipball/9682220995ffd396843be5b4ee1e5f2c2d6ecee2", - "reference": "9682220995ffd396843be5b4ee1e5f2c2d6ecee2", + "url": "https://api.github.com/repos/moneyphp/money/zipball/f660ab7f1d7a4c2ffdd30f50c55ed2c95c26fc3f", + "reference": "f660ab7f1d7a4c2ffdd30f50c55ed2c95c26fc3f", "shasum": "" }, "require": { @@ -3641,7 +3486,7 @@ "money", "vo" ], - "time": "2023-04-11T09:18:34+00:00" + "time": "2023-08-16T14:31:24+00:00" }, { "name": "monolog/monolog", @@ -3821,11 +3666,6 @@ { "name": "paragonie/constant_time_encoding", "version": "v2.6.3", - "source": { - "type": "git", - "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "58c3f47f650c94ec05a151692652a868995d2938" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938", @@ -3835,17 +3675,12 @@ "require": { "php": "^7|^8" }, - "require-dev": { - "phpunit/phpunit": "^6|^7|^8|^9", - "vimeo/psalm": "^1|^2|^3|^4" - }, "type": "library", "autoload": { "psr-4": { "ParagonIE\\ConstantTime\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3878,11 +3713,6 @@ "hex2bin", "rfc4648" ], - "support": { - "email": "info@paragonie.com", - "issues": "https://github.com/paragonie/constant_time_encoding/issues", - "source": "https://github.com/paragonie/constant_time_encoding" - }, "time": "2022-06-14T06:56:20+00:00" }, { @@ -4008,11 +3838,11 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.7.2", + "version": "1.7.3", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b2fe4d22a5426f38e014855322200b97b5362c0d", - "reference": "b2fe4d22a5426f38e014855322200b97b5362c0d", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", + "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", "shasum": "" }, "require": { @@ -4042,7 +3872,7 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "time": "2023-05-30T18:13:47+00:00" + "time": "2023-08-12T11:01:26+00:00" }, { "name": "phpoption/phpoption", @@ -4121,16 +3951,11 @@ }, { "name": "phpseclib/phpseclib", - "version": "3.0.19", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "cc181005cf548bfd8a4896383bb825d859259f95" - }, + "version": "3.0.21", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/cc181005cf548bfd8a4896383bb825d859259f95", - "reference": "cc181005cf548bfd8a4896383bb825d859259f95", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/4580645d3fc05c189024eb3b834c6c1e4f0f30a1", + "reference": "4580645d3fc05c189024eb3b834c6c1e4f0f30a1", "shasum": "" }, "require": { @@ -4138,9 +3963,6 @@ "paragonie/random_compat": "^1.4|^2.0|^9.99.99", "php": ">=5.6.1" }, - "require-dev": { - "phpunit/phpunit": "*" - }, "suggest": { "ext-dom": "Install the DOM extension to load XML formatted public keys.", "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", @@ -4157,7 +3979,6 @@ "phpseclib3\\": "phpseclib/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -4209,33 +4030,15 @@ "x.509", "x509" ], - "support": { - "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.19" - }, - "funding": [ - { - "url": "https://github.com/terrafrost", - "type": "github" - }, - { - "url": "https://www.patreon.com/phpseclib", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", - "type": "tidelift" - } - ], - "time": "2023-03-05T17:13:09+00:00" + "time": "2023-07-09T15:24:48+00:00" }, { "name": "phpstan/phpdoc-parser", - "version": "1.22.0", + "version": "1.24.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/ec58baf7b3c7f1c81b3b00617c953249fb8cf30c", - "reference": "ec58baf7b3c7f1c81b3b00617c953249fb8cf30c", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/3510b0a6274cc42f7219367cb3abfc123ffa09d6", + "reference": "3510b0a6274cc42f7219367cb3abfc123ffa09d6", "shasum": "" }, "require": { @@ -4253,7 +4056,7 @@ "MIT" ], "description": "PHPDoc parser with support for nullable, intersection and generic types", - "time": "2023-06-01T12:35:21+00:00" + "time": "2023-09-07T20:46:32+00:00" }, { "name": "pixelandtonic/imagine", @@ -4347,11 +4150,6 @@ { "name": "psr/clock", "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/clock.git", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", @@ -4367,7 +4165,6 @@ "Psr\\Clock\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -4386,10 +4183,6 @@ "psr-20", "time" ], - "support": { - "issues": "https://github.com/php-fig/clock/issues", - "source": "https://github.com/php-fig/clock/tree/1.0.0" - }, "time": "2022-11-25T14:36:26+00:00" }, { @@ -4518,52 +4311,6 @@ ], "time": "2023-04-10T20:12:12+00:00" }, - { - "name": "psr/http-factory", - "version": "1.0.2", - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", - "shasum": "" - }, - "require": { - "php": ">=7.0.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interfaces for PSR-7 HTTP message factories", - "keywords": [ - "factory", - "http", - "message", - "psr", - "psr-17", - "psr-7", - "request", - "response" - ], - "time": "2023-04-10T20:10:41+00:00" - }, { "name": "psr/http-message", "version": "1.0.1", @@ -4723,15 +4470,15 @@ }, { "name": "react/promise", - "version": "v2.10.0", + "version": "v3.0.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38", - "reference": "f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38", + "url": "https://api.github.com/repos/reactphp/promise/zipball/c86753c76fd3be465d93b308f18d189f01a22be4", + "reference": "c86753c76fd3be465d93b308f18d189f01a22be4", "shasum": "" }, "require": { - "php": ">=5.4.0" + "php": ">=7.1.0" }, "type": "library", "autoload": { @@ -4772,7 +4519,7 @@ "promise", "promises" ], - "time": "2023-05-02T15:15:43+00:00" + "time": "2023-07-11T16:12:49+00:00" }, { "name": "rize/uri-template", @@ -5147,13 +4894,56 @@ ], "time": "2022-08-31T10:31:18+00:00" }, + { + "name": "seld/signal-handler", + "version": "2.0.2", + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", + "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\Signal\\": "src/" + } + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Simple unix signal handler that silently fails where signals are not supported for easy cross-platform development", + "keywords": [ + "posix", + "sigint", + "signal", + "sigterm", + "unix" + ], + "time": "2023-09-03T09:24:00+00:00" + }, { "name": "spicyweb/craft-neo", - "version": "3.8.0", + "version": "3.8.6", "dist": { "type": "zip", - "url": "https://api.github.com/repos/spicywebau/craft-neo/zipball/d074eb8d3857584045b2033025566402023007dd", - "reference": "d074eb8d3857584045b2033025566402023007dd", + "url": "https://api.github.com/repos/spicywebau/craft-neo/zipball/409c2e86e687657d0232bb545bf1112cf5f65f29", + "reference": "409c2e86e687657d0232bb545bf1112cf5f65f29", "shasum": "" }, "require": { @@ -5167,7 +4957,7 @@ "schemaVersion": "3.6.2", "class": "benf\\neo\\Plugin", "changelogUrl": "https://github.com/spicywebau/craft-neo/blob/3.x/CHANGELOG.md", - "downloadUrl": "https://github.com/spicywebau/craft-neo/archive/refs/tags/3.8.0.zip" + "downloadUrl": "https://github.com/spicywebau/craft-neo/archive/refs/tags/3.8.6.zip" }, "autoload": { "psr-4": { @@ -5195,45 +4985,36 @@ "support": { "issues": "https://github.com/spicywebau/craft-neo/issues", "source": "https://github.com/spicywebau/craft-neo", - "docs": "https://github.com/spicywebau/craft-neo/blob/3.8.0/README.md", + "docs": "https://github.com/spicywebau/craft-neo/blob/3.8.6/README.md", "rss": "https://github.com/spicywebau/craft-neo/commits/3.x.atom" }, - "time": "2023-06-24T07:17:46+00:00" + "time": "2023-08-10T12:51:37+00:00" }, { "name": "symfony/console", - "version": "v5.4.24", + "version": "v6.3.4", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/560fc3ed7a43e6d30ea94a07d77f9a60b8ed0fb8", - "reference": "560fc3ed7a43e6d30ea94a07d77f9a60b8ed0fb8", + "url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6", + "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.1|^6.0" + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0" }, "conflict": { - "psr/log": ">=3", - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" }, "provide": { - "psr/log-implementation": "1.0|2.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" + "psr/log-implementation": "1.0|2.0|3.0" }, "type": "library", "autoload": { @@ -5265,7 +5046,7 @@ "console", "terminal" ], - "time": "2023-05-26T05:13:16+00:00" + "time": "2023-08-16T10:10:12+00:00" }, { "name": "symfony/deprecation-contracts", @@ -5313,11 +5094,11 @@ }, { "name": "symfony/event-dispatcher", - "version": "v6.3.0", + "version": "v6.3.2", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa", - "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/adb01fe097a4ee930db9258a3cc906b5beb5cf2e", + "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e", "shasum": "" }, "require": { @@ -5356,7 +5137,7 @@ ], "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", - "time": "2023-04-21T14:41:17+00:00" + "time": "2023-07-06T06:56:43+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -5453,11 +5234,11 @@ }, { "name": "symfony/finder", - "version": "v6.3.0", + "version": "v6.3.3", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/d9b01ba073c44cef617c7907ce2419f8d00d75e2", - "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2", + "url": "https://api.github.com/repos/symfony/finder/zipball/9915db259f67d21eefee768c1abcf1cc61b1fc9e", + "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e", "shasum": "" }, "require": { @@ -5487,15 +5268,15 @@ ], "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", - "time": "2023-04-02T01:25:41+00:00" + "time": "2023-07-31T08:31:44+00:00" }, { "name": "symfony/http-client", - "version": "v6.3.1", + "version": "v6.3.2", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/1c828a06aef2f5eeba42026dfc532d4fc5406123", - "reference": "1c828a06aef2f5eeba42026dfc532d4fc5406123", + "url": "https://api.github.com/repos/symfony/http-client/zipball/15f9f4bad62bfcbe48b5dedd866f04a08fc7ff00", + "reference": "15f9f4bad62bfcbe48b5dedd866f04a08fc7ff00", "shasum": "" }, "require": { @@ -5542,7 +5323,7 @@ "keywords": [ "http" ], - "time": "2023-06-24T11:51:27+00:00" + "time": "2023-07-05T08:41:27+00:00" }, { "name": "symfony/http-client-contracts", @@ -5652,15 +5433,16 @@ }, { "name": "symfony/mime", - "version": "v6.3.0", + "version": "v6.3.3", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/7b5d2121858cd6efbed778abce9cfdd7ab1f62ad", - "reference": "7b5d2121858cd6efbed778abce9cfdd7ab1f62ad", + "url": "https://api.github.com/repos/symfony/mime/zipball/9a0cbd52baa5ba5a5b1f0cacc59466f194730f98", + "reference": "9a0cbd52baa5ba5a5b1f0cacc59466f194730f98", "shasum": "" }, "require": { "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, @@ -5669,7 +5451,7 @@ "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/mailer": "<5.4", - "symfony/serializer": "<6.2" + "symfony/serializer": "<6.2.13|>=6.3,<6.3.2" }, "type": "library", "autoload": { @@ -5699,15 +5481,15 @@ "mime", "mime-type" ], - "time": "2023-04-28T15:57:00+00:00" + "time": "2023-07-31T07:08:24+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.27.0", + "version": "v1.28.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", "shasum": "" }, "require": { @@ -5722,7 +5504,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5758,15 +5540,15 @@ "polyfill", "portable" ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.27.0", + "version": "v1.28.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/927013f3aac555983a5059aada98e1907d842695", - "reference": "927013f3aac555983a5059aada98e1907d842695", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/6de50471469b8c9afc38164452ab2b6170ee71c1", + "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1", "shasum": "" }, "require": { @@ -5781,7 +5563,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5818,15 +5600,15 @@ "portable", "shim" ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.27.0", + "version": "v1.28.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", + "reference": "875e90aeea2777b6f135677f618529449334a612", "shasum": "" }, "require": { @@ -5838,7 +5620,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5876,15 +5658,15 @@ "portable", "shim" ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.27.0", + "version": "v1.28.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da", - "reference": "639084e360537a19f9ee352433b84ce831f3d2da", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d", + "reference": "ecaafce9f77234a6a449d29e49267ba10499116d", "shasum": "" }, "require": { @@ -5898,7 +5680,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5940,15 +5722,15 @@ "portable", "shim" ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:30:37+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.27.0", + "version": "v1.28.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", "shasum": "" }, "require": { @@ -5960,7 +5742,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6001,15 +5783,15 @@ "portable", "shim" ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.27.0", + "version": "v1.28.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", + "reference": "42292d99c55abe617799667f454222c54c60e229", "shasum": "" }, "require": { @@ -6024,7 +5806,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6061,15 +5843,15 @@ "portable", "shim" ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-07-28T09:04:16+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.27.0", + "version": "v1.28.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97", - "reference": "869329b1e9894268a8a61dabb69153029b7a8c97", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", + "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179", "shasum": "" }, "require": { @@ -6078,7 +5860,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6114,15 +5896,15 @@ "portable", "shim" ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.27.0", + "version": "v1.28.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9", - "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5", + "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5", "shasum": "" }, "require": { @@ -6131,7 +5913,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6170,15 +5952,15 @@ "portable", "shim" ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.27.0", + "version": "v1.28.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", "shasum": "" }, "require": { @@ -6187,7 +5969,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.27-dev" + "dev-main": "1.28-dev" }, "thanks": { "name": "symfony/polyfill", @@ -6230,15 +6012,71 @@ "portable", "shim" ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.28.0", + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b", + "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/process", - "version": "v6.3.0", + "version": "v6.3.4", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8741e3ed7fe2e91ec099e02446fb86667a0f1628", - "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628", + "url": "https://api.github.com/repos/symfony/process/zipball/0b5c29118f2e980d455d2e34a5659f4579847c54", + "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54", "shasum": "" }, "require": { @@ -6268,7 +6106,7 @@ ], "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", - "time": "2023-05-19T08:06:44+00:00" + "time": "2023-08-07T10:39:22+00:00" }, { "name": "symfony/service-contracts", @@ -6331,11 +6169,11 @@ }, { "name": "symfony/string", - "version": "v6.3.0", + "version": "v6.3.2", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f2e190ee75ff0f5eced645ec0be5c66fac81f51f", - "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f", + "url": "https://api.github.com/repos/symfony/string/zipball/53d1a83225002635bca3482fcbf963001313fb68", + "reference": "53d1a83225002635bca3482fcbf963001313fb68", "shasum": "" }, "require": { @@ -6383,15 +6221,15 @@ "utf-8", "utf8" ], - "time": "2023-03-21T21:06:29+00:00" + "time": "2023-07-05T08:41:27+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.4.25", + "version": "v5.4.28", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/82269f73c0f0f9859ab9b6900eebacbe54954ede", - "reference": "82269f73c0f0f9859ab9b6900eebacbe54954ede", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/684b36ff415e1381d4a943c3ca2502cd2debad73", + "reference": "684b36ff415e1381d4a943c3ca2502cd2debad73", "shasum": "" }, "require": { @@ -6441,7 +6279,7 @@ "debug", "dump" ], - "time": "2023-06-20T20:56:26+00:00" + "time": "2023-08-24T13:38:36+00:00" }, { "name": "symfony/yaml", @@ -6527,16 +6365,11 @@ }, { "name": "thenetworg/oauth2-azure", - "version": "v2.1.1", - "source": { - "type": "git", - "url": "https://github.com/TheNetworg/oauth2-azure.git", - "reference": "06fb2d620fb6e6c934f632c7ec7c5ea2e978a844" - }, + "version": "v2.2.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/TheNetworg/oauth2-azure/zipball/06fb2d620fb6e6c934f632c7ec7c5ea2e978a844", - "reference": "06fb2d620fb6e6c934f632c7ec7c5ea2e978a844", + "url": "https://api.github.com/repos/TheNetworg/oauth2-azure/zipball/9231c7b2b0b5db68254f304501ba1053640a3dc9", + "reference": "9231c7b2b0b5db68254f304501ba1053640a3dc9", "shasum": "" }, "require": { @@ -6552,7 +6385,6 @@ "TheNetworg\\OAuth2\\Client\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -6576,11 +6408,7 @@ "oauth2", "windows azure" ], - "support": { - "issues": "https://github.com/TheNetworg/oauth2-azure/issues", - "source": "https://github.com/TheNetworg/oauth2-azure/tree/v2.1.1" - }, - "time": "2022-06-23T10:35:36+00:00" + "time": "2023-06-16T08:50:16+00:00" }, { "name": "twig/twig", @@ -6846,11 +6674,11 @@ }, { "name": "voku/anti-xss", - "version": "4.1.41", + "version": "4.1.42", "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/anti-xss/zipball/55a403436494e44a2547a8d42de68e6cad4bca1d", - "reference": "55a403436494e44a2547a8d42de68e6cad4bca1d", + "url": "https://api.github.com/repos/voku/anti-xss/zipball/bca1f8607e55a3c5077483615cd93bd8f11bd675", + "reference": "bca1f8607e55a3c5077483615cd93bd8f11bd675", "shasum": "" }, "require": { @@ -6890,7 +6718,7 @@ "security", "xss" ], - "time": "2023-02-12T15:56:55+00:00" + "time": "2023-07-03T14:40:46+00:00" }, { "name": "voku/arrayy", @@ -7282,11 +7110,11 @@ }, { "name": "webonyx/graphql-php", - "version": "v14.11.9", + "version": "v14.11.10", "dist": { "type": "zip", - "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/ff91c9f3cf241db702e30b2c42bcc0920e70ac70", - "reference": "ff91c9f3cf241db702e30b2c42bcc0920e70ac70", + "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/d9c2fdebc6aa01d831bc2969da00e8588cffef19", + "reference": "d9c2fdebc6aa01d831bc2969da00e8588cffef19", "shasum": "" }, "require": { @@ -7313,7 +7141,7 @@ "api", "graphql" ], - "time": "2023-01-06T12:12:50+00:00" + "time": "2023-07-05T14:23:37+00:00" }, { "name": "wrav/oembed", @@ -7387,11 +7215,11 @@ }, { "name": "yiisoft/yii2", - "version": "2.0.47", + "version": "2.0.48.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/8ecf57895d9c4b29cf9658ffe57af5f3d0e25254", - "reference": "8ecf57895d9c4b29cf9658ffe57af5f3d0e25254", + "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/de92f154eefe322fc1b1b2a52cce46677441ced4", + "reference": "de92f154eefe322fc1b1b2a52cce46677441ced4", "shasum": "" }, "require": { @@ -7402,7 +7230,7 @@ "cebe/markdown": "~1.0.0 | ~1.1.0 | ~1.2.0", "ext-ctype": "*", "ext-mbstring": "*", - "ezyang/htmlpurifier": "~4.6", + "ezyang/htmlpurifier": "^4.6", "lib-pcre": "*", "paragonie/random_compat": ">=1", "php": ">=5.4.0", @@ -7478,7 +7306,7 @@ "framework", "yii2" ], - "time": "2022-11-18T16:21:58+00:00" + "time": "2023-05-24T19:04:02+00:00" }, { "name": "yiisoft/yii2-composer", diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index 1118b878..cfb1f6d6 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -1,4 +1,4 @@ -dateModified: 1694562108 +dateModified: 1694646040 email: fromEmail: $EMAIL_FROM_ADDRESS fromName: $EMAIL_SENDER_NAME @@ -2386,5 +2386,5 @@ system: live: true name: 'Rubin Telescope Education and Public Outreach' retryDuration: null - schemaVersion: 4.4.0.4 + schemaVersion: 4.5.3.0 timeZone: America/Los_Angeles From f84b993a9c65c9543e6af8a1b810a894fc38c7a7 Mon Sep 17 00:00:00 2001 From: Blake Mason Date: Wed, 13 Sep 2023 16:31:40 -0700 Subject: [PATCH 017/144] [C] Bump project config dateModified --- api/config/project/project.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index cfb1f6d6..ca052955 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -1,4 +1,4 @@ -dateModified: 1694646040 +dateModified: 1694647778 email: fromEmail: $EMAIL_FROM_ADDRESS fromName: $EMAIL_SENDER_NAME From d264f233932c3a46ccb8ad475dee9c1a9e655537 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 7 Sep 2023 20:01:46 -0500 Subject: [PATCH 018/144] add yii2 redis package --- api/composer.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/composer.lock b/api/composer.lock index 130b91bf..3b78a3df 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "57c9a98b188d83a3af382978e7ff8634", + "content-hash": "782136b7b9936a0adcce989d4a3cdd0a", "packages": [ { "name": "abraham/twitteroauth", From 60bae3613932c157f0afb3322584a5c2dc3b9c01 Mon Sep 17 00:00:00 2001 From: Eric Rosas Date: Wed, 27 Sep 2023 16:05:53 -0600 Subject: [PATCH 019/144] Override runQueueAutomatically default value EPO-8521 Override runQueueAutomatically default value for supervisord --- api/config/general.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/api/config/general.php b/api/config/general.php index e98df902..129d317a 100755 --- a/api/config/general.php +++ b/api/config/general.php @@ -16,6 +16,10 @@ return [ // Global settings '*' => [ + // Disable automatic running of queue jobs upon page loads in CP, which causes queue jobs to fail + // Supervisord now handles running queue jobs + 'runQueueAutomatically' => false, + // Default Week Start Day (0 = Sunday, 1 = Monday...) 'defaultWeekStartDay' => 1, From 3cdeaf9d393040eb42eb9b4b787ced67a974d139 Mon Sep 17 00:00:00 2001 From: Blake Mason Date: Tue, 3 Oct 2023 16:18:09 -0700 Subject: [PATCH 020/144] [C] lsst/canto-dam-integrator version bump --- api/composer.json | 4 ++-- api/composer.lock | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/api/composer.json b/api/composer.json index 8b16e835..3a6afe56 100755 --- a/api/composer.json +++ b/api/composer.json @@ -10,7 +10,7 @@ "craftcms/redactor": "3.0.4", "jamesedmonston/graphql-authentication": "2.5.0", "lsst-epo/canto-dam-assets": "dev-develop-v4", - "lsst/canto-dam-integrator": "dev-EPO-7854#v0.3.2", + "lsst/canto-dam-integrator": "dev-EPO-7854", "rynpsc/craft-phone-number": "^2.1.0", "sebastianlenz/linkfield": "^2.1.4", "spicyweb/craft-neo": "3.8.6", @@ -65,4 +65,4 @@ }, "minimum-stability": "dev", "prefer-stable": true -} \ No newline at end of file +} diff --git a/api/composer.lock b/api/composer.lock index b733e07d..ab5c3717 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "57c9a98b188d83a3af382978e7ff8634", + "content-hash": "26bd6b56db3003673680ee2b394febbd", "packages": [ { "name": "abraham/twitteroauth", @@ -3976,13 +3976,13 @@ "version": "dev-EPO-7854", "source": { "type": "git", - "url": "https://github.com/lsst-epo/craft3-universal-dam-integrator.git", - "reference": "4714d8aaaa6112e69ecfc39e7efc3c1eeee72243" + "url": "https://github.com/lsst-epo/craft-canto-dam-integrator.git", + "reference": "3ddd7eb9b0f2de0fbf551ae45e14aca0e577274e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lsst-epo/craft3-universal-dam-integrator/zipball/4714d8aaaa6112e69ecfc39e7efc3c1eeee72243", - "reference": "4714d8aaaa6112e69ecfc39e7efc3c1eeee72243", + "url": "https://api.github.com/repos/lsst-epo/craft-canto-dam-integrator/zipball/3ddd7eb9b0f2de0fbf551ae45e14aca0e577274e", + "reference": "3ddd7eb9b0f2de0fbf551ae45e14aca0e577274e", "shasum": "" }, "require": { @@ -4028,7 +4028,7 @@ "source": "https://github.com/lsst-epo/craft3-universal-dam-integrator", "docs": "https://github.com/lsst-epo/craft3-universal-dam-integrator/blob/main/README.md" }, - "time": "2023-03-30T21:03:03+00:00" + "time": "2023-10-03T22:20:08+00:00" }, { "name": "mikehaertl/php-shellcommand", From 300aa469e87798e3e47b25ef6498f215ec1ce283 Mon Sep 17 00:00:00 2001 From: Eric Rosas Date: Thu, 12 Oct 2023 11:04:59 -0600 Subject: [PATCH 021/144] Updated new DAM plugin EPO-8576 --- api/composer.lock | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/api/composer.lock b/api/composer.lock index ab5c3717..ff6fcdc9 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -3915,12 +3915,12 @@ "source": { "type": "git", "url": "https://github.com/lsst-epo/canto-dam-assets.git", - "reference": "a7351e63f1b5ab1937ca79c0f59a66c9848f0d84" + "reference": "e711f598b29efd23363b2cb5a4101f30b0f0a903" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lsst-epo/canto-dam-assets/zipball/a7351e63f1b5ab1937ca79c0f59a66c9848f0d84", - "reference": "a7351e63f1b5ab1937ca79c0f59a66c9848f0d84", + "url": "https://api.github.com/repos/lsst-epo/canto-dam-assets/zipball/e711f598b29efd23363b2cb5a4101f30b0f0a903", + "reference": "e711f598b29efd23363b2cb5a4101f30b0f0a903", "shasum": "" }, "require": { @@ -3957,6 +3957,9 @@ "phpstan --memory-limit=1G" ] }, + "license": [ + "MIT" + ], "authors": [ { "name": "nystudio107", @@ -3969,7 +3972,7 @@ "issues": "https://github.com/lsst-epo/canto-dam-assets/issues", "source": "https://github.com/lsst-epo/canto-dam-assets/" }, - "time": "2023-08-16T14:57:28+00:00" + "time": "2023-10-10T03:01:45+00:00" }, { "name": "lsst/canto-dam-integrator", @@ -9869,5 +9872,5 @@ "platform-overrides": { "php": "8.1.10" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.1.0" } From b5fcbd7783f1a26e878de1f20d3bc397e8ab665f Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 7 Sep 2023 15:20:11 -0500 Subject: [PATCH 022/144] add build and push workflow --- .github/workflows/build-and-push.yaml | 75 +++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .github/workflows/build-and-push.yaml diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml new file mode 100644 index 00000000..41dc09c4 --- /dev/null +++ b/.github/workflows/build-and-push.yaml @@ -0,0 +1,75 @@ +name: build-and-push + +on: + push: + branches: + - '*' + tags: + - 'v.*' + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v3 + - + name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + # list of Docker images to use as base name for tags + images: | + gcr.io/skyviewer/rubinobs-api-k8s,enable=${{ github.ref != 'master' && github.ref_type != "tag" }} + gcr.io/edc-int-6c5e/rubinobs-api-k8s,enable=${{ github.ref == 'master'}} + gcr.io/edc-prod-eef0/rubinobs-api-k8s,enable=${{ github.ref_type == 'tag'}} + # generate Docker tags based on the following events/attributes + tags: | + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Login to GCP Dev + uses: google-github-actions/setup-gcloud@v0 + if: ${{ github.ref == "develop" }} + with: + service_account_key: ${{ secrets.DEV_SA_KEY }} + project_id: skyviewer + export_default_credentials: true + - + name: Login to GCP Int + uses: google-github-actions/setup-gcloud@v0 + if: ${{ github.ref == "master" }} + with: + service_account_key: ${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }} + project_id: edc-int-6c5e + export_default_credentials: true + - + name: Login to GCP Prod + uses: google-github-actions/setup-gcloud@v0 + if: ${{ github.ref_type == "tag" }} + with: + service_account_key: ${{ secrets.PIPELINE_EPO_PROD_PROJECT }} + project_id: edc-prod-eef0 + export_default_credentials: true + - + run: gcloud --quiet auth configure-docker + - + name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file From 95faa8026bc2b8decdf37599edf8cf82e5e45ba6 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 2 Nov 2023 14:54:17 -0500 Subject: [PATCH 023/144] add temp condition --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index b6353cbd..eb1d142e 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -32,7 +32,7 @@ jobs: # list of Docker images to use as base name for tags images: | gcr.io/skyviewer/rubinobs-api,enable=${{ github.ref != 'master' && github.ref_type != 'tag' }} - gcr.io/edc-int-6c5e/rubinobs-api,enable=${{ github.ref == 'master'}} + gcr.io/edc-int-6c5e/rubinobs-api,enable=${{ github.ref == 'master' || github.ref == 'k8s-build-updates' }} gcr.io/edc-prod-eef0/rubinobs-api,enable=${{ github.ref_type == 'tag'}} flavor: | latest=true From 1745d1786b659d093b6f852aee4ce0027b49565a Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 2 Nov 2023 14:57:17 -0500 Subject: [PATCH 024/144] add temp condition --- .github/workflows/build-and-push.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index eb1d142e..3aec6c13 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -31,9 +31,11 @@ jobs: with: # list of Docker images to use as base name for tags images: | - gcr.io/skyviewer/rubinobs-api,enable=${{ github.ref != 'master' && github.ref_type != 'tag' }} - gcr.io/edc-int-6c5e/rubinobs-api,enable=${{ github.ref == 'master' || github.ref == 'k8s-build-updates' }} - gcr.io/edc-prod-eef0/rubinobs-api,enable=${{ github.ref_type == 'tag'}} + gcr.io/edc-int-6c5e/rubinobs-api,enable=true + # images: | + # gcr.io/skyviewer/rubinobs-api,enable=${{ github.ref != 'master' && github.ref_type != 'tag' }} + # gcr.io/edc-int-6c5e/rubinobs-api,enable=${{ github.ref == 'master' || github.ref == 'k8s-build-updates' }} + # gcr.io/edc-prod-eef0/rubinobs-api,enable=${{ github.ref_type == 'tag'}} flavor: | latest=true # generate Docker tags based on the following events/attributes From bcce516988e007e06655b3a1b83d7401aa379007 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 2 Nov 2023 15:00:03 -0500 Subject: [PATCH 025/144] add temp condition --- .github/workflows/build-and-push.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 3aec6c13..e71a421f 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -56,7 +56,8 @@ jobs: - name: Login to GCP Dev uses: google-github-actions/setup-gcloud@v0 - if: ${{ github.ref != 'master' && github.ref_type != 'tag' }} + if: false + # if: ${{ github.ref != 'master' && github.ref_type != 'tag' }} with: service_account_key: ${{ secrets.DEV_SA_KEY }} project_id: skyviewer @@ -64,7 +65,7 @@ jobs: - name: Login to GCP Int uses: google-github-actions/setup-gcloud@v0 - if: ${{ github.ref == 'master' }} + if: true with: service_account_key: ${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }} project_id: edc-int-6c5e From 469a6b14f0e133068251019ee7797f4d76723535 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 2 Nov 2023 15:06:12 -0500 Subject: [PATCH 026/144] add temp condition --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index e71a421f..70bf1c7c 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -93,4 +93,4 @@ jobs: cache-from: | type=gha build-args: | - BASE_TAG=k8s \ No newline at end of file + BASE_TAG=latest \ No newline at end of file From 5af6cd5298f145bb87683b20eae7620999b4caa2 Mon Sep 17 00:00:00 2001 From: Eric Rosas Date: Wed, 29 Nov 2023 12:11:23 -0700 Subject: [PATCH 027/144] Change GCS plugin bucket names from choose to man EPO-8795 - Change GCS plugin bucket names from choose to manual --- api/config/project/project.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index d97dbd87..9d5b5753 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -1,4 +1,4 @@ -dateModified: 1700605589 +dateModified: 1701284966 email: fromEmail: $EMAIL_FROM_ADDRESS fromName: $EMAIL_SENDER_NAME @@ -30,8 +30,8 @@ fs: hasUrls: true name: 'Content Images' settings: - bucket: rubin-obs-api_assets_content - bucketSelectionMode: choose + bucket: $GCS_CONTENT_BUCKET + bucketSelectionMode: manual expires: '5 minutes' keyFileContents: '' projectId: $GCP_PROJECT_ID @@ -42,8 +42,8 @@ fs: hasUrls: true name: General settings: - bucket: rubin-obs-api_assets_general - bucketSelectionMode: choose + bucket: $GCS_GENERAL_BUCKET + bucketSelectionMode: manual expires: '5 minutes' keyFileContents: '' projectId: $GCP_PROJECT_ID @@ -54,8 +54,8 @@ fs: hasUrls: true name: Heroes settings: - bucket: rubin-obs-api_assets_heroes - bucketSelectionMode: choose + bucket: $GCS_HEROES_BUCKET + bucketSelectionMode: manual expires: '5 minutes' keyFileContents: '' projectId: $GCP_PROJECT_ID @@ -66,8 +66,8 @@ fs: hasUrls: true name: 'Staff Profiles' settings: - bucket: rubin-obs-api_assets_staff_profiles - bucketSelectionMode: choose + bucket: $GCS_STAFF_BUCKET + bucketSelectionMode: manual expires: '5 minutes' keyFileContents: '' projectId: $GCP_PROJECT_ID From be6900c95ccd8680f5fd736212cf029d9df1b92f Mon Sep 17 00:00:00 2001 From: Blake Mason Date: Tue, 7 Nov 2023 09:52:47 -0800 Subject: [PATCH 028/144] [C] Remove PR github workflows and update README --- .github/workflows/develop-pr-gae.yaml | 123 -------------------------- .github/workflows/master-pr-gae.yaml | 88 ------------------ README.md | 14 +++ 3 files changed, 14 insertions(+), 211 deletions(-) delete mode 100644 .github/workflows/develop-pr-gae.yaml delete mode 100644 .github/workflows/master-pr-gae.yaml diff --git a/.github/workflows/develop-pr-gae.yaml b/.github/workflows/develop-pr-gae.yaml deleted file mode 100644 index 46fa5d24..00000000 --- a/.github/workflows/develop-pr-gae.yaml +++ /dev/null @@ -1,123 +0,0 @@ -name: 'PR Preview to Dev' - -on: - pull_request: - types: - - 'opened' - - 'synchronize' - - 'reopened' - - 'closed' - branches: - - 'develop' - -jobs: - build-push-deploy: - name: 'Build and Deploy PR Preview to Development' - runs-on: ubuntu-latest - if: ${{ (github.event.action != 'closed') && (startsWith(github.head_ref, 'preview') == true) }} - - # Checkout the repository to the GitHub Actions runner - steps: - - name: Checkout - uses: actions/checkout@v2 - - # gcloud CLI setup - - name: Login to GCP - uses: google-github-actions/setup-gcloud@v0 - with: - service_account_key: ${{ secrets.DEV_SA_KEY }} - project_id: skyviewer - export_default_credentials: true - - - name: Get app.yaml - run: gcloud secrets versions access latest --secret=rubin-obs-api-appyaml > app.yaml - - - name: Format version name - id: version_name - run: echo "version_name=$(echo \"${{ github.head_ref }}\" | tr -cd '[:alnum:]' | tr '[:upper:]' '[:lower:]' | tr -d 'preview')" >> $GITHUB_ENV - - - name: Deploy to App Engine - env: - BRANCH_NAME: ${{ env.version_name }} - run: | - gcloud app deploy app.yaml \ - --no-promote \ - --version=${BRANCH_NAME,,} - - # Create or update a comment with the URL - - name: Find Comment - uses: peter-evans/find-comment@v1 - id: fc - with: - issue-number: ${{ github.event.pull_request.number }} - comment-author: 'github-actions[bot]' - body-includes: A preview of this PR - - - name: Create or update a comment with the URL to the PR - uses: peter-evans/create-or-update-comment@v1 - with: - comment-id: ${{ steps.fc.outputs.comment-id }} - issue-number: ${{ github.event.pull_request.number }} - body: | - A preview of this PR will be available at https://${{ github.head_ref }}-dot-rubin-obs-api-dot-skyviewer.uw.r.appspot.com until the request is closed. :sparkles: - reactions: '+1' - edit-mode: replace - - run-e2e-tests: - name: 'Run End-to-End Tests on Preview Instance' - runs-on: ubuntu-latest - needs: build-push-deploy - if: (steps.build.outcome == 'success') && (${{ (github.event.action != 'closed') && (startsWith(github.head_ref, 'preview') == true) }}) - - # Checkout the repository to the GitHub Actions runner - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Install Node.js/NPM - uses: actions/setup-node@v3 - with: - node-version: 16 - - # Install test suite - - name: Install Cypress dependencies - run: ls -l && pwd && yarn install --frozen-lockfile - - - name: Login to GCP - uses: google-github-actions/setup-gcloud@v0 - with: - service_account_key: ${{ secrets.DEV_SA_KEY }} - project_id: skyviewer - export_default_credentials: true - - - name: Get Cypress Secrets - run: gcloud secrets versions access latest --secret=craft-cypress-github-action-env >> cypress.env.json - - - name: Cypress run - uses: cypress-io/github-action@v5 - env: - CYPRESS_BASE_URL: http://${{ github.head_ref }}-dot-rubin-obs-api-dot-skyviewer.uw.r.appspot.com/admin - - cleanup: - name: 'Cleanup PR Preview' - runs-on: ubuntu-latest - if: ${{ (github.event.action == 'closed') && (startsWith(github.head_ref, 'preview') == true) }} - - # Checkout the repository to the GitHub Actions runner - steps: - - name: Checkout - uses: actions/checkout@v2 - - # gcloud CLI setup - - name: Login to GCP - uses: google-github-actions/setup-gcloud@v0 - with: - service_account_key: ${{ secrets.DEV_SA_KEY }} - project_id: skyviewer - export_default_credentials: true - - # Destruct! - - name: Destroy version - env: - BRANCH_NAME: ${{ env.version_name }} - run: gcloud app versions delete ${BRANCH_NAME,,} --service=rubin-obs-api diff --git a/.github/workflows/master-pr-gae.yaml b/.github/workflows/master-pr-gae.yaml deleted file mode 100644 index 066fd7c0..00000000 --- a/.github/workflows/master-pr-gae.yaml +++ /dev/null @@ -1,88 +0,0 @@ -name: 'PR Preview to Int' - -on: - pull_request: - types: - - 'opened' - - 'synchronize' - - 'reopened' - - 'closed' - branches: - - 'master' - -jobs: - build-push-deploy: - name: 'Build and Deploy PR Preview to Integration' - runs-on: ubuntu-latest - if: ${{ (github.event.action != 'closed') && (startsWith(github.head_ref, 'preview') == true) }} - - # Checkout the repository to the GitHub Actions runner - steps: - - name: Checkout - uses: actions/checkout@v2 - - # gcloud CLI setup - - name: Login to GCP - uses: google-github-actions/setup-gcloud@v0 - with: - service_account_key: ${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }} - project_id: edc-int-6c5e - export_default_credentials: true - - - name: Get app.yaml - run: gcloud secrets versions access latest --secret=rubin-obs-api-appyaml > app.yaml - - - name: Format version name - id: version_name - run: echo "version_name=$(echo \"${{ github.head_ref }}\" | tr -cd '[:alnum:]' | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV - - - name: Deploy to App Engine - env: - BRANCH_NAME: ${{ env.version_name }} - run: | - gcloud app deploy app.yaml \ - --no-promote \ - --version=${BRANCH_NAME,,} - - # Create or update a comment with the URL - - name: Find Comment - uses: peter-evans/find-comment@v1 - id: fc - with: - issue-number: ${{ github.event.pull_request.number }} - comment-author: 'github-actions[bot]' - body-includes: A preview of this PR - - - name: Create or update a comment with the URL to the PR - uses: peter-evans/create-or-update-comment@v1 - with: - comment-id: ${{ steps.fc.outputs.comment-id }} - issue-number: ${{ github.event.pull_request.number }} - body: | - A preview of this PR will be available at https://${{ github.head_ref }}-dot-rubin-obs-api-int-dot-edc-int-6c5e.uc.r.appspot.com/ until the request is closed. :sparkles: - reactions: '+1' - edit-mode: replace - - cleanup: - name: 'Cleanup PR Preview' - runs-on: ubuntu-latest - if: ${{ (github.event.action == 'closed') && (startsWith(github.head_ref, 'preview') == true) }} - - # Checkout the repository to the GitHub Actions runner - steps: - - name: Checkout - uses: actions/checkout@v2 - - # gcloud CLI setup - - name: Login to GCP - uses: google-github-actions/setup-gcloud@v0 - with: - service_account_key: ${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }} - project_id: edc-int-6c5e - export_default_credentials: true - - # Destruct! - - name: Destroy version - env: - BRANCH_NAME: ${{ env.version_name }} - run: gcloud app versions delete ${BRANCH_NAME,,} --service=rubin-obs-api \ No newline at end of file diff --git a/README.md b/README.md index 5c629e42..896dba63 100644 --- a/README.md +++ b/README.md @@ -93,3 +93,17 @@ The /api/assets folder has been added to the .gitignore file for obvious file-si A docker-compose.yml file is simply a way to define multiple images/containers that may be dependent on each other, and any environment variables that each image is expecting. When these defined containers and dependencies are brought up with the ```docker-compose up``` command each container is started as the dependencies dictate. h the ```docker-compose up``` command each container is started as the dependencies dictate. + + +#### How to create a dump of your local DB + +1. Containers need to be running, we're going to ssh into the postgres one: + * `docker container ls` + * `docker exec -it /bin/sh` +2. Create the dump file within the container: + * `pg_dump -U craft >> whatever_name_you_want.sql` +3. Retrieve & save the dump file to your local: + * Open a new terminal window + * `docker cp :/path/to/whatever_name_you_want.sql /local/path/to/whatever_name_you_want.sql` + + From 89f9b4fae823232d8c1b80c1fab1a26a48111879 Mon Sep 17 00:00:00 2001 From: Blake Mason Date: Wed, 15 Nov 2023 16:08:31 -0800 Subject: [PATCH 029/144] [F] Transition from AWS to GCS for asset_variants volume --- api/composer.json | 1 - api/composer.lock | 343 +--------------------------- api/config/general.php | 10 +- api/config/project/project.yaml | 24 +- docker-compose-local-db.sample.yaml | 5 - 5 files changed, 13 insertions(+), 370 deletions(-) diff --git a/api/composer.json b/api/composer.json index aea355ec..05b4c66a 100755 --- a/api/composer.json +++ b/api/composer.json @@ -2,7 +2,6 @@ "require": { "carlcs/craft-assetmetadata": "^4.0", "castiron/next-builds": "^1.0", - "craftcms/aws-s3": "2.0.3", "craftcms/cms": "4.5.4", "craftcms/contact-form": "3.0.1", "craftcms/contact-form-honeypot": "^2.0.0", diff --git a/api/composer.lock b/api/composer.lock index ea1abc99..009ae901 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "26bd6b56db3003673680ee2b394febbd", + "content-hash": "b48eb8e1e4683971433e48b531180f7c", "packages": [ { "name": "abraham/twitteroauth", @@ -50,150 +50,6 @@ ], "time": "2022-01-19T01:10:09+00:00" }, - { - "name": "aws/aws-crt-php", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/awslabs/aws-crt-php.git", - "reference": "f5c64ee7c5fce196e2519b3d9b7138649efe032d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/f5c64ee7c5fce196e2519b3d9b7138649efe032d", - "reference": "f5c64ee7c5fce196e2519b3d9b7138649efe032d", - "shasum": "" - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35|^5.6.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "AWS SDK Common Runtime Team", - "email": "aws-sdk-common-runtime@amazon.com" - } - ], - "description": "AWS Common Runtime for PHP", - "homepage": "http://aws.amazon.com/sdkforphp", - "keywords": [ - "amazon", - "aws", - "crt", - "sdk" - ], - "support": { - "issues": "https://github.com/awslabs/aws-crt-php/issues", - "source": "https://github.com/awslabs/aws-crt-php/tree/v1.0.4" - }, - "time": "2023-01-31T23:08:25+00:00" - }, - { - "name": "aws/aws-sdk-php", - "version": "3.261.15", - "source": { - "type": "git", - "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "7d17f3187a4d5bebc41ca5d363570ed632b698c0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/7d17f3187a4d5bebc41ca5d363570ed632b698c0", - "reference": "7d17f3187a4d5bebc41ca5d363570ed632b698c0", - "shasum": "" - }, - "require": { - "aws/aws-crt-php": "^1.0.4", - "ext-json": "*", - "ext-pcre": "*", - "ext-simplexml": "*", - "guzzlehttp/guzzle": "^6.5.8 || ^7.4.5", - "guzzlehttp/promises": "^1.4.0", - "guzzlehttp/psr7": "^1.8.5 || ^2.3", - "mtdowling/jmespath.php": "^2.6", - "php": ">=5.5" - }, - "require-dev": { - "andrewsville/php-token-reflection": "^1.4", - "aws/aws-php-sns-message-validator": "~1.0", - "behat/behat": "~3.0", - "composer/composer": "^1.10.22", - "dms/phpunit-arraysubset-asserts": "^0.4.0", - "doctrine/cache": "~1.4", - "ext-dom": "*", - "ext-openssl": "*", - "ext-pcntl": "*", - "ext-sockets": "*", - "nette/neon": "^2.3", - "paragonie/random_compat": ">= 2", - "phpunit/phpunit": "^4.8.35 || ^5.6.3 || ^9.5", - "psr/cache": "^1.0", - "psr/simple-cache": "^1.0", - "sebastian/comparator": "^1.2.3 || ^4.0", - "yoast/phpunit-polyfills": "^1.0" - }, - "suggest": { - "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", - "doctrine/cache": "To use the DoctrineCacheAdapter", - "ext-curl": "To send requests using cURL", - "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", - "ext-sockets": "To use client-side monitoring" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Aws\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Amazon Web Services", - "homepage": "http://aws.amazon.com" - } - ], - "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project", - "homepage": "http://aws.amazon.com/sdkforphp", - "keywords": [ - "amazon", - "aws", - "cloud", - "dynamodb", - "ec2", - "glacier", - "s3", - "sdk" - ], - "support": { - "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", - "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.261.15" - }, - "time": "2023-03-20T18:19:46+00:00" - }, { "name": "carlcs/craft-assetmetadata", "version": "4.0.0", @@ -1060,70 +916,6 @@ ], "time": "2022-02-25T21:32:43+00:00" }, - { - "name": "craftcms/aws-s3", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/craftcms/aws-s3.git", - "reference": "a04ee659490d53da879e302e660ba3807532a926" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/craftcms/aws-s3/zipball/a04ee659490d53da879e302e660ba3807532a926", - "reference": "a04ee659490d53da879e302e660ba3807532a926", - "shasum": "" - }, - "require": { - "craftcms/cms": "^4.0.0-beta.1", - "craftcms/flysystem": "^1.0.0-beta.2", - "league/flysystem-aws-s3-v3": "^3.0.0", - "php": "^8.0.2" - }, - "require-dev": { - "craftcms/ecs": "dev-main", - "craftcms/phpstan": "dev-main", - "craftcms/rector": "dev-main" - }, - "type": "craft-plugin", - "extra": { - "name": "Amazon S3", - "handle": "aws-s3", - "documentationUrl": "https://github.com/craftcms/aws-s3/blob/master/README.md" - }, - "autoload": { - "psr-4": { - "craft\\awss3\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Pixel & Tonic", - "homepage": "https://pixelandtonic.com/" - } - ], - "description": "Amazon S3 integration for Craft CMS", - "keywords": [ - "Flysystem", - "aws", - "cms", - "craftcms", - "s3", - "yii2" - ], - "support": { - "docs": "https://github.com/craftcms/aws-s3/blob/master/README.md", - "email": "support@craftcms.com", - "issues": "https://github.com/craftcms/aws-s3/issues?state=open", - "rss": "https://github.com/craftcms/aws-s3/commits/master.atom", - "source": "https://github.com/craftcms/aws-s3" - }, - "time": "2023-03-16T22:49:16+00:00" - }, { "name": "craftcms/cms", "version": "4.5.4", @@ -3626,76 +3418,6 @@ ], "time": "2023-02-18T15:32:41+00:00" }, - { - "name": "league/flysystem-aws-s3-v3", - "version": "3.12.2", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", - "reference": "645e14e4a80bd2da8b01e57388e7296a695a80c2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/645e14e4a80bd2da8b01e57388e7296a695a80c2", - "reference": "645e14e4a80bd2da8b01e57388e7296a695a80c2", - "shasum": "" - }, - "require": { - "aws/aws-sdk-php": "^3.220.0", - "league/flysystem": "^3.10.0", - "league/mime-type-detection": "^1.0.0", - "php": "^8.0.2" - }, - "conflict": { - "guzzlehttp/guzzle": "<7.0", - "guzzlehttp/ringphp": "<1.1.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\Flysystem\\AwsS3V3\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "AWS S3 filesystem adapter for Flysystem.", - "keywords": [ - "Flysystem", - "aws", - "file", - "files", - "filesystem", - "s3", - "storage" - ], - "support": { - "issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues", - "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.12.2" - }, - "funding": [ - { - "url": "https://ecologi.com/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "time": "2023-01-17T14:15:08+00:00" - }, { "name": "league/flysystem-google-cloud-storage", "version": "3.12.3", @@ -4270,67 +3992,6 @@ ], "time": "2023-02-06T13:44:46+00:00" }, - { - "name": "mtdowling/jmespath.php", - "version": "2.6.1", - "source": { - "type": "git", - "url": "https://github.com/jmespath/jmespath.php.git", - "reference": "9b87907a81b87bc76d19a7fb2d61e61486ee9edb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/9b87907a81b87bc76d19a7fb2d61e61486ee9edb", - "reference": "9b87907a81b87bc76d19a7fb2d61e61486ee9edb", - "shasum": "" - }, - "require": { - "php": "^5.4 || ^7.0 || ^8.0", - "symfony/polyfill-mbstring": "^1.17" - }, - "require-dev": { - "composer/xdebug-handler": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^7.5.15" - }, - "bin": [ - "bin/jp.php" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "files": [ - "src/JmesPath.php" - ], - "psr-4": { - "JmesPath\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Declaratively specify how to extract elements from a JSON document", - "keywords": [ - "json", - "jsonpath" - ], - "support": { - "issues": "https://github.com/jmespath/jmespath.php/issues", - "source": "https://github.com/jmespath/jmespath.php/tree/2.6.1" - }, - "time": "2021-06-14T00:11:39+00:00" - }, { "name": "nystudio107/craft-plugin-vite", "version": "4.0.8", @@ -9946,5 +9607,5 @@ "platform-overrides": { "php": "8.1.10" }, - "plugin-api-version": "2.1.0" + "plugin-api-version": "2.3.0" } diff --git a/api/config/general.php b/api/config/general.php index 129d317a..f23a7d58 100755 --- a/api/config/general.php +++ b/api/config/general.php @@ -10,7 +10,6 @@ use craft\helpers\App; -$s3BucketPathFormat = 'https://s3.%s.amazonaws.com/%s/'; $gcsBucketPathFormat = 'https://storage.googleapis.com/%s/'; return [ @@ -35,11 +34,6 @@ 'aliases' => [ '@webroot' => dirname(__DIR__) . '/web', '@previewUrlFormat' => App::env('ALIAS_PREVIEW_URL_FORMAT'), - '@assetsAssetVariantBaseURL' => sprintf( - $s3BucketPathFormat, - App::env('AWS_ASSET_S3_REGION'), - App::env('AWS_ASSET_S3_BUCKET') - ), '@assetsGeneralBaseURL' => sprintf( $gcsBucketPathFormat, App::env('GCS_GENERAL_BUCKET') @@ -60,6 +54,10 @@ $gcsBucketPathFormat, App::env('GCS_STAFF_BUCKET') ), + '@assetsVariantsBaseURL' => sprintf( + $gcsBucketPathFormat, + App::env('GCS_ASSET_VARIANTS_BUCKET') + ), '@webBaseUrl' => App::env('WEB_BASE_URL') ], diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index ca052955..cc7572c4 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -1,4 +1,4 @@ -dateModified: 1694647778 +dateModified: 1700092915 email: fromEmail: $EMAIL_FROM_ADDRESS fromName: $EMAIL_SENDER_NAME @@ -18,20 +18,14 @@ fs: hasUrls: true name: 'Asset Variants' settings: - addSubfolderToRootUrl: '1' - autoFocalPoint: '' - bucket: $AWS_ASSET_S3_BUCKET + bucket: $GCS_ASSET_VARIANTS_BUCKET bucketSelectionMode: manual - cfDistributionId: '' - cfPrefix: '' expires: '' - keyId: $AWS_ASSET_KEY_ID - makeUploadsPublic: '1' - region: $AWS_ASSET_S3_REGION - secret: $AWS_ASSET_SECRET_KEY - subfolder: $AWS_ASSET_S3_ASSET_VARIANT_SUBFOLDER - type: craft\awss3\Fs - url: '@assetsAssetVariantBaseURL' + keyFileContents: '' + projectId: $GCP_PROJECT_ID + subfolder: '' + type: craft\googlecloud\Fs + url: '@assetsVariantsBaseURL' cantoDam: hasUrls: true name: 'Canto DAM' @@ -405,10 +399,6 @@ plugins: edition: standard enabled: true schemaVersion: 3.0.0 - aws-s3: - edition: standard - enabled: true - schemaVersion: '2.0' contact-form: edition: standard enabled: true diff --git a/docker-compose-local-db.sample.yaml b/docker-compose-local-db.sample.yaml index f3ee98d8..8966a9b7 100644 --- a/docker-compose-local-db.sample.yaml +++ b/docker-compose-local-db.sample.yaml @@ -47,11 +47,6 @@ services: CANTO_AUTH_ENDPOINT: https://oauth.canto.com/oauth/api/oauth2/token?app_id={appId}&app_secret={secretKey}&grant_type=client_credentials&refresh_token= CANTO_ASSET_ENDPOINT: CANTO_ASSET_BASEURL: - AWS_ASSET_KEY_ID: - AWS_ASSET_SECRET_KEY: - AWS_ASSET_S3_BUCKET: - AWS_ASSET_S3_REGION: - AWS_ASSET_S3_ASSET_VARIANT_SUBFOLDER: FACEBOOK_APP_ID: FACEBOOK_APP_SECRET: FACEBOOK_APP_REDIRECT_URL: /sso-redirect?sso=true&facebook=true From 1b13ecd9d6cf3e71f164bce8fefca5c75390f70d Mon Sep 17 00:00:00 2001 From: Blake Mason Date: Thu, 16 Nov 2023 14:47:16 -0800 Subject: [PATCH 030/144] [C] Update Canto DAM Plugin to latest --- api/composer.json | 2 +- api/composer.lock | 55 ++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 48 insertions(+), 9 deletions(-) diff --git a/api/composer.json b/api/composer.json index 05b4c66a..bd9b518e 100755 --- a/api/composer.json +++ b/api/composer.json @@ -8,7 +8,7 @@ "craftcms/google-cloud": "^2.0.0", "craftcms/redactor": "3.0.4", "jamesedmonston/graphql-authentication": "2.5.0", - "lsst-epo/canto-dam-assets": "dev-develop-v4", + "lsst-epo/canto-dam-assets": "4.0.9", "lsst/canto-dam-integrator": "dev-EPO-7854", "rynpsc/craft-phone-number": "^2.1.0", "sebastianlenz/linkfield": "^2.1.4", diff --git a/api/composer.lock b/api/composer.lock index 009ae901..c3b81f80 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b48eb8e1e4683971433e48b531180f7c", + "content-hash": "8cc8f840d80f3a8f70fe12965d136037", "packages": [ { "name": "abraham/twitteroauth", @@ -1528,6 +1528,46 @@ }, "time": "2015-01-27T10:53:51+00:00" }, + { + "name": "daccess1/yii2-json-query-helper", + "version": "v1.0.0-stable", + "source": { + "type": "git", + "url": "https://github.com/daccess1/yii2-json-query-helper.git", + "reference": "d0308456a019ffb2b56258b70c83325e35414a88" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/daccess1/yii2-json-query-helper/zipball/d0308456a019ffb2b56258b70c83325e35414a88", + "reference": "d0308456a019ffb2b56258b70c83325e35414a88", + "shasum": "" + }, + "require": { + "yiisoft/yii2": "~2.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "daccess1\\JSONQueryHelper\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "b.kruchinkin", + "email": "b.kruchinkin@yandex.ru" + } + ], + "description": "Yii2 helper class, used to generate query expressions for JSON columns.", + "support": { + "issues": "https://github.com/daccess1/yii2-json-query-helper/issues", + "source": "https://github.com/daccess1/yii2-json-query-helper/tree/v1.0.0-stable" + }, + "time": "2020-12-21T20:21:29+00:00" + }, { "name": "defuse/php-encryption", "version": "v2.4.0", @@ -3633,20 +3673,21 @@ }, { "name": "lsst-epo/canto-dam-assets", - "version": "dev-develop-v4", + "version": "4.0.9", "source": { "type": "git", "url": "https://github.com/lsst-epo/canto-dam-assets.git", - "reference": "e711f598b29efd23363b2cb5a4101f30b0f0a903" + "reference": "23b37e676db58fc84171b78ad2f2089b90696247" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lsst-epo/canto-dam-assets/zipball/e711f598b29efd23363b2cb5a4101f30b0f0a903", - "reference": "e711f598b29efd23363b2cb5a4101f30b0f0a903", + "url": "https://api.github.com/repos/lsst-epo/canto-dam-assets/zipball/23b37e676db58fc84171b78ad2f2089b90696247", + "reference": "23b37e676db58fc84171b78ad2f2089b90696247", "shasum": "" }, "require": { "craftcms/cms": "^4.4.0", + "daccess1/yii2-json-query-helper": "^1.0.0", "nystudio107/craft-plugin-vite": "^4.0.0", "php": ">=8.0.2" }, @@ -3654,7 +3695,6 @@ "craftcms/ecs": "dev-main", "craftcms/phpstan": "dev-main" }, - "default-branch": true, "type": "craft-plugin", "extra": { "handle": "_canto-dam-assets", @@ -3694,7 +3734,7 @@ "issues": "https://github.com/lsst-epo/canto-dam-assets/issues", "source": "https://github.com/lsst-epo/canto-dam-assets/" }, - "time": "2023-10-10T03:01:45+00:00" + "time": "2023-11-13T23:48:10+00:00" }, { "name": "lsst/canto-dam-integrator", @@ -9597,7 +9637,6 @@ "aliases": [], "minimum-stability": "dev", "stability-flags": { - "lsst-epo/canto-dam-assets": 20, "lsst/canto-dam-integrator": 20 }, "prefer-stable": true, From 4cd124de21ae5616529cf935f4df718b49dd7909 Mon Sep 17 00:00:00 2001 From: Blake Mason Date: Tue, 21 Nov 2023 14:29:26 -0800 Subject: [PATCH 031/144] [F] Callouts use new DAM plugin - Removes previous DAM plugin and activates teh new one - Removes deprecated DAM asset fields Includes changes to Entry Types: - Main Callout Image - TwoTone Callout Background Image - Glossary Term Image - Investigation Hero Images --- api/composer.json | 1 - api/composer.lock | 65 +------------------ ...-942c9e60-2760-42ed-b03b-9e5eb133751b.yaml | 52 +++++++++++++-- ...-34f61e7c-358c-48b8-8439-42bc05ed255c.yaml | 43 ++++++++++-- ...-bbf936fb-1787-437b-8ebd-a6e79409896e.yaml | 31 +++++++-- ...-0b946ecb-12e3-4999-9d02-fc902cb66fdf.yaml | 9 ++- ...-4b6329ee-1231-466b-94e6-24b8f46ea9d6.yaml | 16 +++++ ...-676da0d6-dc63-48fd-a5cd-7253c956974c.yaml | 14 ---- ...-496e755e-78ab-4e3f-8c3a-9b320023b8ec.yaml | 32 --------- .../4fe339ec-7579-46f4-a362-df6ee8de4b3c.yaml | 2 +- .../77dc755a-bb96-4422-b00f-c7d74e45d400.yaml | 2 +- .../d6898b26-bfa2-41d3-9e26-0092b2021762.yaml | 2 +- api/config/project/project.yaml | 32 ++++----- ...-51d86fa7-e37a-4926-97c8-3112fd6f2fbe.yaml | 38 ----------- 14 files changed, 145 insertions(+), 194 deletions(-) create mode 100644 api/config/project/fields/cantoAssetSingle--4b6329ee-1231-466b-94e6-24b8f46ea9d6.yaml delete mode 100644 api/config/project/fields/cantoDamAsset--676da0d6-dc63-48fd-a5cd-7253c956974c.yaml delete mode 100644 api/config/project/fields/damAsset--496e755e-78ab-4e3f-8c3a-9b320023b8ec.yaml delete mode 100644 api/config/project/volumes/cantoDam--51d86fa7-e37a-4926-97c8-3112fd6f2fbe.yaml diff --git a/api/composer.json b/api/composer.json index bd9b518e..d93de4eb 100755 --- a/api/composer.json +++ b/api/composer.json @@ -9,7 +9,6 @@ "craftcms/redactor": "3.0.4", "jamesedmonston/graphql-authentication": "2.5.0", "lsst-epo/canto-dam-assets": "4.0.9", - "lsst/canto-dam-integrator": "dev-EPO-7854", "rynpsc/craft-phone-number": "^2.1.0", "sebastianlenz/linkfield": "^2.1.4", "spicyweb/craft-neo": "3.8.6", diff --git a/api/composer.lock b/api/composer.lock index c3b81f80..37910310 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8cc8f840d80f3a8f70fe12965d136037", + "content-hash": "60ef3417ee155e314e4721aa96f83c8d", "packages": [ { "name": "abraham/twitteroauth", @@ -3736,65 +3736,6 @@ }, "time": "2023-11-13T23:48:10+00:00" }, - { - "name": "lsst/canto-dam-integrator", - "version": "dev-EPO-7854", - "source": { - "type": "git", - "url": "https://github.com/lsst-epo/craft-canto-dam-integrator.git", - "reference": "3ddd7eb9b0f2de0fbf551ae45e14aca0e577274e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lsst-epo/craft-canto-dam-integrator/zipball/3ddd7eb9b0f2de0fbf551ae45e14aca0e577274e", - "reference": "3ddd7eb9b0f2de0fbf551ae45e14aca0e577274e", - "shasum": "" - }, - "require": { - "craftcms/cms": "^4.0.0" - }, - "require-dev": { - "codeception/codeception": "^4.2.2", - "codeception/module-asserts": "^2.0", - "codeception/module-yii2": "^1.1", - "craftcms/rector": "dev-main", - "ext-zip": "^1.15", - "vlucas/phpdotenv": "^3.0" - }, - "type": "craft-plugin", - "extra": { - "name": "Universal DAM Integrator", - "handle": "universal-dam-integrator" - }, - "autoload": { - "psr-4": { - "rosas\\dam\\": "src/" - } - }, - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eric Rosas", - "homepage": "https://github.com/lsst-epo/craft3-universal-dam-integrator" - } - ], - "description": "This plugin is intended to be vendor agnostic, but with enough customizability to work across a broad range of vendors.", - "keywords": [ - "asset", - "dam", - "digital", - "manager" - ], - "support": { - "email": "erosas@lsst.org", - "issues": "https://github.com/lsst-epo/craft3-universal-dam-integrator/issues", - "source": "https://github.com/lsst-epo/craft3-universal-dam-integrator", - "docs": "https://github.com/lsst-epo/craft3-universal-dam-integrator/blob/main/README.md" - }, - "time": "2023-10-03T22:20:08+00:00" - }, { "name": "mikehaertl/php-shellcommand", "version": "1.7.0", @@ -9636,9 +9577,7 @@ ], "aliases": [], "minimum-stability": "dev", - "stability-flags": { - "lsst/canto-dam-integrator": 20 - }, + "stability-flags": [], "prefer-stable": true, "prefer-lowest": false, "platform": [], diff --git a/api/config/project/entryTypes/callout--942c9e60-2760-42ed-b03b-9e5eb133751b.yaml b/api/config/project/entryTypes/callout--942c9e60-2760-42ed-b03b-9e5eb133751b.yaml index ee9ed2ca..5aa2c11e 100644 --- a/api/config/project/entryTypes/callout--942c9e60-2760-42ed-b03b-9e5eb133751b.yaml +++ b/api/config/project/entryTypes/callout--942c9e60-2760-42ed-b03b-9e5eb133751b.yaml @@ -2,6 +2,7 @@ fieldLayouts: 07a17729-4353-45e5-b214-5c8a058996a0: tabs: - + elementCondition: null elements: - autocapitalize: true @@ -9,6 +10,7 @@ fieldLayouts: autocorrect: true class: null disabled: false + elementCondition: null id: null instructions: null label: Title @@ -24,108 +26,146 @@ fieldLayouts: tip: null title: null type: craft\fieldlayoutelements\entries\EntryTitleField + uid: 8374128c-a4dd-4b43-8954-66eecf4eebf1 + userCondition: null warning: null width: 100 - + elementCondition: null fieldUid: b0ce3829-20c1-44ef-a7c7-499800645afc # Header instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: 37d4c4f2-6c88-4730-b8f1-334f33abee62 + userCondition: null warning: null width: 100 - + elementCondition: null fieldUid: 7db205b7-a548-42f1-8c26-416ec51cf3fa # Text instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: cd642a63-7002-441b-ae33-6af81a89f08e + userCondition: null warning: null width: 100 - - fieldUid: 496e755e-78ab-4e3f-8c3a-9b320023b8ec # Image + elementCondition: null + fieldUid: 4b6329ee-1231-466b-94e6-24b8f46ea9d6 # Single Canto Asset instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: 639c7d0b-cb11-4075-b17c-794821b9fe72 + userCondition: null warning: null - width: 25 + width: 100 - + elementCondition: null fieldUid: cc3b4231-1a7c-42f3-934c-cadeb0076f8c # Image Padding instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: b057c708-29fb-40d1-8ab4-9aa58ef0f296 + userCondition: null warning: null width: 25 - + elementCondition: null fieldUid: fa690eba-6d46-4a5e-9dcd-0845f5b56c1b # Dynamic Component instructions: 'In place of an image, a dynamic component can be chosen (currently only for Alert Stream)' - label: '' - required: '' + label: null + required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: f85172ee-3cc8-4d7b-9cb5-b5bce49973a2 + userCondition: null warning: null width: 25 - + elementCondition: null fieldUid: 4c977b75-9ee1-4cdb-9d2a-203639f4af84 # Links instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: 3055fbfd-6549-4883-91d6-9691a71dc7ba + userCondition: null warning: null width: 100 name: Content - sortOrder: 1 + uid: 319c6253-dbb1-47d9-911d-70c861008cca + userCondition: null - + elementCondition: null elements: - + elementCondition: null fieldUid: 8b8ed305-e6e6-4754-925f-bb07427b2060 # Background Color instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: bd5414b2-a5e7-4249-a518-6e795cc94977 + userCondition: null warning: null width: 25 - + elementCondition: null fieldUid: 36247100-a0f8-4eb9-b190-898131bf97b3 # Width instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: 7a40401c-464e-4880-98d3-11d98ff7ffb5 + userCondition: null warning: null width: 25 - + elementCondition: null fieldUid: dfd8564d-5db6-4167-99db-29867a64bc2c # Content Order instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: 0faa2d0a-4669-4f36-b8cc-a345f61ef122 + userCondition: null warning: null width: 25 - + elementCondition: null fieldUid: 753b10b6-e9e6-44f5-a9d9-4a07788733e1 # Content Ratio instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: fb07d073-87a1-44ad-a420-ec6c96738cf5 + userCondition: null warning: null width: 25 name: Appearance - sortOrder: 2 + uid: a8f90084-a7ee-47f3-98f6-041d58fd5bfc + userCondition: null handle: callout hasTitleField: true name: Callout section: 7cad6f4e-cc7b-45cf-ac7b-6f383e77bc1b # Callouts +showStatusField: true +slugTranslationKeyFormat: null +slugTranslationMethod: site sortOrder: 1 titleFormat: null titleTranslationKeyFormat: null diff --git a/api/config/project/entryTypes/calloutTwoTone--34f61e7c-358c-48b8-8439-42bc05ed255c.yaml b/api/config/project/entryTypes/calloutTwoTone--34f61e7c-358c-48b8-8439-42bc05ed255c.yaml index 634cfb25..900c5bc6 100644 --- a/api/config/project/entryTypes/calloutTwoTone--34f61e7c-358c-48b8-8439-42bc05ed255c.yaml +++ b/api/config/project/entryTypes/calloutTwoTone--34f61e7c-358c-48b8-8439-42bc05ed255c.yaml @@ -2,6 +2,7 @@ fieldLayouts: d4231f44-575b-44ed-8325-65698b21ee70: tabs: - + elementCondition: null elements: - autocapitalize: true @@ -9,6 +10,7 @@ fieldLayouts: autocorrect: true class: null disabled: false + elementCondition: null id: null instructions: null label: null @@ -24,81 +26,110 @@ fieldLayouts: tip: null title: null type: craft\fieldlayoutelements\entries\EntryTitleField + uid: fe5100f8-be14-42e1-9812-66a3f9e1345b + userCondition: null warning: null width: 100 - + elementCondition: null fieldUid: b0ce3829-20c1-44ef-a7c7-499800645afc # Header instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: ad8ff410-f30b-4633-b3d0-e2191ccccdad + userCondition: null warning: null width: 100 - + elementCondition: null fieldUid: 7db205b7-a548-42f1-8c26-416ec51cf3fa # Text instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: 621b5940-ace9-4294-8e5a-68fcbf82aa56 + userCondition: null warning: null width: 100 - + elementCondition: null fieldUid: 4c977b75-9ee1-4cdb-9d2a-203639f4af84 # Links instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: 3ff650b8-db0b-48c3-8bf3-d0f7561e6a37 + userCondition: null warning: null width: 100 - + elementCondition: null fieldUid: fb052686-4537-4fe5-9ce2-ff3fd4a341a2 # Content Image instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: 4d68000c-1847-4e25-adef-acae28662b58 + userCondition: null warning: null width: 100 - + elementCondition: null fieldUid: 61b9d842-7365-4bbf-883c-1b6433dc15f4 # Caption - rich text instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: 1219e837-2eb4-4539-a170-43dde87354d3 + userCondition: null warning: null width: 100 name: Content - sortOrder: 1 + uid: ec5112b9-3a3e-44fe-a499-99882bd3b31b + userCondition: null - + elementCondition: null elements: - + elementCondition: null fieldUid: 8b8ed305-e6e6-4754-925f-bb07427b2060 # Background Color instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: d5798468-8fe7-4309-8ede-459b3b3c9efc + userCondition: null warning: null width: 50 - - fieldUid: 496e755e-78ab-4e3f-8c3a-9b320023b8ec # Image - instructions: '' + elementCondition: null + fieldUid: 4b6329ee-1231-466b-94e6-24b8f46ea9d6 # Single Canto Asset + instructions: null label: 'Background Image' - required: '' + required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: d0e819c6-1fcb-4c72-9785-957020973221 + userCondition: null warning: null - width: 50 + width: 100 name: Appearance - sortOrder: 2 + uid: 85912a77-3616-4a59-ab58-9e284bd3c0bf + userCondition: null handle: calloutTwoTone hasTitleField: true name: 'Callout - two-tone' section: 7cad6f4e-cc7b-45cf-ac7b-6f383e77bc1b # Callouts +showStatusField: true +slugTranslationKeyFormat: null +slugTranslationMethod: site sortOrder: 2 titleFormat: null titleTranslationKeyFormat: null diff --git a/api/config/project/entryTypes/glossaryTerm--bbf936fb-1787-437b-8ebd-a6e79409896e.yaml b/api/config/project/entryTypes/glossaryTerm--bbf936fb-1787-437b-8ebd-a6e79409896e.yaml index 19b1b191..cefaea8d 100644 --- a/api/config/project/entryTypes/glossaryTerm--bbf936fb-1787-437b-8ebd-a6e79409896e.yaml +++ b/api/config/project/entryTypes/glossaryTerm--bbf936fb-1787-437b-8ebd-a6e79409896e.yaml @@ -2,6 +2,7 @@ fieldLayouts: a8cd2eac-2f6d-4d2d-8c0b-bb3f624542dd: tabs: - + elementCondition: null elements: - autocapitalize: true @@ -9,8 +10,9 @@ fieldLayouts: autocorrect: true class: null disabled: false + elementCondition: null id: null - instructions: '' + instructions: null label: Term max: null min: null @@ -24,41 +26,56 @@ fieldLayouts: tip: null title: null type: craft\fieldlayoutelements\entries\EntryTitleField + uid: 61797a36-b6db-4e54-b435-9d30a9043649 + userCondition: null warning: null width: 25 - + elementCondition: null fieldUid: 7db205b7-a548-42f1-8c26-416ec51cf3fa # Text - instructions: '' + instructions: null label: Definition - required: '' + required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: dcac119b-35dc-4555-a406-219f617fd5d0 + userCondition: null warning: null width: 75 - - fieldUid: 496e755e-78ab-4e3f-8c3a-9b320023b8ec # Image + elementCondition: null + fieldUid: 4b6329ee-1231-466b-94e6-24b8f46ea9d6 # Single Canto Asset instructions: null - label: null + label: Image required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: ba971e2c-8b89-486c-a27e-2e56e56919c3 + userCondition: null warning: null - width: 50 + width: 100 - + elementCondition: null fieldUid: 10118ebf-e3bf-4b1b-bbb8-4b57ab3753c8 # Caption instructions: null label: null required: false tip: null type: craft\fieldlayoutelements\CustomField + uid: 6d31eb58-08cf-4344-95cb-f6f14762309b + userCondition: null warning: null width: 50 name: Content - sortOrder: 1 + uid: fb49671a-9e05-461d-8b26-435d46b1c279 + userCondition: null handle: glossaryTerm hasTitleField: true name: 'Glossary Term' section: 4ffeb743-f02d-42af-8656-a6f9c1363e79 # Glossary Terms +showStatusField: true +slugTranslationKeyFormat: null +slugTranslationMethod: site sortOrder: 1 titleFormat: null titleTranslationKeyFormat: null diff --git a/api/config/project/entryTypes/investigation--0b946ecb-12e3-4999-9d02-fc902cb66fdf.yaml b/api/config/project/entryTypes/investigation--0b946ecb-12e3-4999-9d02-fc902cb66fdf.yaml index 047786af..c6703a47 100644 --- a/api/config/project/entryTypes/investigation--0b946ecb-12e3-4999-9d02-fc902cb66fdf.yaml +++ b/api/config/project/entryTypes/investigation--0b946ecb-12e3-4999-9d02-fc902cb66fdf.yaml @@ -92,13 +92,13 @@ fieldLayouts: width: 25 - elementCondition: null - fieldUid: 496e755e-78ab-4e3f-8c3a-9b320023b8ec # Image + fieldUid: 4b6329ee-1231-466b-94e6-24b8f46ea9d6 # Single Canto Asset instructions: null - label: null + label: Image required: false tip: null type: craft\fieldlayoutelements\CustomField - uid: 990498d5-4a5b-4fdc-834a-1604b6532ab5 + uid: 6162960a-1489-401c-a8d9-5ae457fa3561 userCondition: null warning: null width: 100 @@ -109,6 +109,9 @@ handle: investigation hasTitleField: true name: Investigation section: 546e0c6d-dd32-4997-8487-cc4c2fcc9480 # Investigations +showStatusField: true +slugTranslationKeyFormat: null +slugTranslationMethod: site sortOrder: 1 titleFormat: null titleTranslationKeyFormat: null diff --git a/api/config/project/fields/cantoAssetSingle--4b6329ee-1231-466b-94e6-24b8f46ea9d6.yaml b/api/config/project/fields/cantoAssetSingle--4b6329ee-1231-466b-94e6-24b8f46ea9d6.yaml new file mode 100644 index 00000000..982bc0bf --- /dev/null +++ b/api/config/project/fields/cantoAssetSingle--4b6329ee-1231-466b-94e6-24b8f46ea9d6.yaml @@ -0,0 +1,16 @@ +columnSuffix: gvphitkg +contentColumnType: + - 'cantoId:string' + - 'cantoAlbumId:string' + - 'cantoAssetData:json' + - 'cantoAlbumData:json' +fieldGroup: 9940892d-32f4-4399-acac-ab559ce1c82b # Common +handle: cantoAssetSingle +instructions: null +name: 'Single Canto Asset' +searchable: false +settings: + cantoAssetPickerType: singleImagePicker +translationKeyFormat: null +translationMethod: site +type: lsst\cantodamassets\fields\CantoDamAsset diff --git a/api/config/project/fields/cantoDamAsset--676da0d6-dc63-48fd-a5cd-7253c956974c.yaml b/api/config/project/fields/cantoDamAsset--676da0d6-dc63-48fd-a5cd-7253c956974c.yaml deleted file mode 100644 index a0322c2d..00000000 --- a/api/config/project/fields/cantoDamAsset--676da0d6-dc63-48fd-a5cd-7253c956974c.yaml +++ /dev/null @@ -1,14 +0,0 @@ -columnSuffix: vwsjafwg -contentColumnType: - - 'cantoId:string' - - 'cantoAlbumId:string' - - 'cantoAssetData:text' - - 'cantoAlbumData:string' -fieldGroup: df8c8d8a-c7d1-45bf-b551-ef790a5b59ad # Callouts -handle: cantoDamAsset -instructions: null -name: 'Canto DAM Asset' -searchable: false -translationKeyFormat: null -translationMethod: none -type: lsst\cantodamassets\fields\CantoDamAsset diff --git a/api/config/project/fields/damAsset--496e755e-78ab-4e3f-8c3a-9b320023b8ec.yaml b/api/config/project/fields/damAsset--496e755e-78ab-4e3f-8c3a-9b320023b8ec.yaml deleted file mode 100644 index 714ecb2d..00000000 --- a/api/config/project/fields/damAsset--496e755e-78ab-4e3f-8c3a-9b320023b8ec.yaml +++ /dev/null @@ -1,32 +0,0 @@ -columnSuffix: null -contentColumnType: string -fieldGroup: df8c8d8a-c7d1-45bf-b551-ef790a5b59ad # Callouts -handle: damAsset -instructions: '' -name: Image -searchable: true -settings: - allowSelfRelations: false - allowUploads: true - allowedKinds: null - defaultUploadLocationSource: '' - defaultUploadLocationSubpath: null - limit: '1' - localizeRelations: true - previewMode: full - restrictFiles: null - selectionLabel: '' - showSiteMenu: true - showUnpermittedFiles: false - showUnpermittedVolumes: true - singleUploadLocationSource: '' - singleUploadLocationSubpath: null - source: null - sources: '*' - targetSiteId: null - useSingleFolder: false - validateRelatedElements: false - viewMode: list -translationKeyFormat: null -translationMethod: site -type: rosas\dam\fields\DAMAsset diff --git a/api/config/project/graphql/schemas/4fe339ec-7579-46f4-a362-df6ee8de4b3c.yaml b/api/config/project/graphql/schemas/4fe339ec-7579-46f4-a362-df6ee8de4b3c.yaml index b8d55a8a..e177559f 100644 --- a/api/config/project/graphql/schemas/4fe339ec-7579-46f4-a362-df6ee8de4b3c.yaml +++ b/api/config/project/graphql/schemas/4fe339ec-7579-46f4-a362-df6ee8de4b3c.yaml @@ -43,7 +43,7 @@ scope: - 'volumes.18a75c63-648f-4145-9cc3-386e7c8a0106:read' # General - 'volumes.c3d1c243-1703-4117-abc7-88487a1f8f24:read' # Staff Profiles - 'volumes.d41cc960-99a4-41a8-a7a6-7891a22e4a93:read' # Asset Variants - - 'volumes.51d86fa7-e37a-4926-97c8-3112fd6f2fbe:read' # Canto DAM + - 'volumes.51d86fa7-e37a-4926-97c8-3112fd6f2fbe:read' - 'globalsets.1a2ba41a-3949-4982-9cb3-f8b03863bcfd:read' # Footer Content - 'globalsets.8ccd6c1c-8e9b-44e8-93a9-f62589fb4819:read' # Site Information - 'globalsets.994d5664-f056-4969-b2cc-c62660f069af:read' # Root Page Information diff --git a/api/config/project/graphql/schemas/77dc755a-bb96-4422-b00f-c7d74e45d400.yaml b/api/config/project/graphql/schemas/77dc755a-bb96-4422-b00f-c7d74e45d400.yaml index 828e5b0d..27998fa7 100644 --- a/api/config/project/graphql/schemas/77dc755a-bb96-4422-b00f-c7d74e45d400.yaml +++ b/api/config/project/graphql/schemas/77dc755a-bb96-4422-b00f-c7d74e45d400.yaml @@ -38,7 +38,7 @@ scope: - 'volumes.18a75c63-648f-4145-9cc3-386e7c8a0106:read' # General - 'volumes.c3d1c243-1703-4117-abc7-88487a1f8f24:read' # Staff Profiles - 'volumes.d41cc960-99a4-41a8-a7a6-7891a22e4a93:read' # Asset Variants - - 'volumes.51d86fa7-e37a-4926-97c8-3112fd6f2fbe:read' # Canto DAM + - 'volumes.51d86fa7-e37a-4926-97c8-3112fd6f2fbe:read' - 'globalsets.b8393df9-fb81-4d70-9ccb-6d030c818580:read' # Gallery Item Defaults - 'globalsets.994d5664-f056-4969-b2cc-c62660f069af:read' # Root Page Information - 'globalsets.8ccd6c1c-8e9b-44e8-93a9-f62589fb4819:read' # Site Information diff --git a/api/config/project/graphql/schemas/d6898b26-bfa2-41d3-9e26-0092b2021762.yaml b/api/config/project/graphql/schemas/d6898b26-bfa2-41d3-9e26-0092b2021762.yaml index 63d141b5..b41a0323 100644 --- a/api/config/project/graphql/schemas/d6898b26-bfa2-41d3-9e26-0092b2021762.yaml +++ b/api/config/project/graphql/schemas/d6898b26-bfa2-41d3-9e26-0092b2021762.yaml @@ -38,7 +38,7 @@ scope: - 'volumes.18a75c63-648f-4145-9cc3-386e7c8a0106:read' # General - 'volumes.c3d1c243-1703-4117-abc7-88487a1f8f24:read' # Staff Profiles - 'volumes.d41cc960-99a4-41a8-a7a6-7891a22e4a93:read' # Asset Variants - - 'volumes.51d86fa7-e37a-4926-97c8-3112fd6f2fbe:read' # Canto DAM + - 'volumes.51d86fa7-e37a-4926-97c8-3112fd6f2fbe:read' - 'globalsets.b8393df9-fb81-4d70-9ccb-6d030c818580:read' # Gallery Item Defaults - 'globalsets.994d5664-f056-4969-b2cc-c62660f069af:read' # Root Page Information - 'globalsets.8ccd6c1c-8e9b-44e8-93a9-f62589fb4819:read' # Site Information diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index cc7572c4..d97dbd87 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -1,4 +1,4 @@ -dateModified: 1700092915 +dateModified: 1700605589 email: fromEmail: $EMAIL_FROM_ADDRESS fromName: $EMAIL_SENDER_NAME @@ -26,13 +26,6 @@ fs: subfolder: '' type: craft\googlecloud\Fs url: '@assetsVariantsBaseURL' - cantoDam: - hasUrls: true - name: 'Canto DAM' - settings: - dummySetting: '' - type: rosas\dam\volumes\DAMVolume - url: 'https://rubin.canto.com/direct/' contentImages: hasUrls: true name: 'Content Images' @@ -116,6 +109,7 @@ meta: 4a55a5d1-655b-4e30-8466-c84b6d8558dd: 'End Time' # End Time 04a48967-eac4-449f-b164-c8ecbb7036d6: 'Search Results' # Search Results 4b94ba3d-060c-4a09-b2dc-c519a4c83709: 'Cell Content' # Cell Content + 4b6329ee-1231-466b-94e6-24b8f46ea9d6: 'Single Canto Asset' # Single Canto Asset 4c977b75-9ee1-4cdb-9d2a-203639f4af84: Links # Links 4d3b7f4d-258a-4d7b-b41e-29398e23ae3f: 'Staff Tags' # Staff Tags 4ead9327-61fc-4b46-810c-5f490c2c45ad: 'Gallery Types' # Gallery Types @@ -181,7 +175,6 @@ meta: 46d17af4-896a-4fc5-90bf-ac826090d9bc: Credit # Credit 46db7366-f372-41c2-9f6a-dc30bcd7a946: 'Callout - News' # Callout - News 48ba11bd-90a5-4239-a24c-d44d01affbcf: 'Image - quote' # Image - quote - 51d86fa7-e37a-4926-97c8-3112fd6f2fbe: 'Canto DAM' # Canto DAM 56f60368-4386-4395-92b6-31b15c7663cc: Contact # Contact 58aa24c3-97e4-43e7-a812-7374e5650180: 'Focal Point X' # Focal Point X 58efa872-9485-42e3-a1e3-a5435def5392: Educators # Educators @@ -204,7 +197,6 @@ meta: 125d214d-7831-4150-b5bc-1a100bc3149d: School # School 229f2975-93d3-4c6a-9996-dfa1de3004ef: 'Search Results' # Search Results 380c1cbe-884e-421b-9e31-1f0dfc81e15f: 'Cell Width' # Cell Width - 496e755e-78ab-4e3f-8c3a-9b320023b8ec: Image # Image 522bc2d7-fcc3-4817-a986-5c860e53351c: 'Internal Entry' # Internal Entry 522db817-08b6-4ecf-a423-4aec204ab85d: 'Content Blocks - News' # Content Blocks - News 534d275e-b6e9-4064-9965-07e804e0fcc1: 'User Profile Page' # User Profile Page @@ -214,7 +206,6 @@ meta: 635a4a93-f10b-4d3c-bd44-2ea1474ad4cb: 'Vertical Alignment' # Vertical Alignment 644c6b87-ac0c-4cdf-88be-744a5ee684bb: Description # Description 657b9edd-b6d3-4b7f-af89-36117c5d98a8: 'Rich Text Description' # Rich Text Description - 676da0d6-dc63-48fd-a5cd-7253c956974c: 'Canto DAM Asset' # Canto DAM Asset 753b10b6-e9e6-44f5-a9d9-4a07788733e1: 'Content Ratio' # Content Ratio 824d9ca2-e755-4e41-8f6a-18e573fec8e4: 'News Posts' # News Posts 831db889-442e-4553-9076-fc3bc2843c8c: 'Hide title' # Hide title @@ -395,6 +386,15 @@ meta: fcfd6cca-d4db-49ea-a864-b6582b85fbcf: 'End Date' # End Date fea30fc7-fc92-4268-961f-d514c1b903b8: 'Supporters'' Logos Alt' # Supporters' Logos Alt plugins: + _canto-dam-assets: + edition: standard + enabled: true + schemaVersion: 1.0.1 + settings: + appId: $CANTO_APP_ID + authEndpoint: $CANTO_AUTH_ENDPOINT + retrieveAssetMetadataEndpoint: $CANTO_ASSET_ENDPOINT + secretKey: $CANTO_SECRET_KEY asset-metadata: edition: standard enabled: true @@ -2357,16 +2357,6 @@ plugins: edition: standard enabled: true schemaVersion: 2.0.0 - universal-dam-integrator: - edition: standard - enabled: true - schemaVersion: 1.0.0 - settings: - appId: $CANTO_APP_ID - authEndpoint: $CANTO_AUTH_ENDPOINT - damVolume: cantoDam - retrieveAssetMetadataEndpoint: $CANTO_ASSET_ENDPOINT - secretKey: $CANTO_SECRET_KEY venveo-bulk-edit: edition: standard enabled: true diff --git a/api/config/project/volumes/cantoDam--51d86fa7-e37a-4926-97c8-3112fd6f2fbe.yaml b/api/config/project/volumes/cantoDam--51d86fa7-e37a-4926-97c8-3112fd6f2fbe.yaml deleted file mode 100644 index 80073dce..00000000 --- a/api/config/project/volumes/cantoDam--51d86fa7-e37a-4926-97c8-3112fd6f2fbe.yaml +++ /dev/null @@ -1,38 +0,0 @@ -fieldLayouts: - 811f8151-b4a8-450f-96b3-8baaee51ba1e: - tabs: - - - elements: - - - autocapitalize: true - autocomplete: false - autocorrect: true - class: null - disabled: false - id: null - instructions: null - label: null - max: null - min: null - name: null - orientation: null - placeholder: null - readonly: false - requirable: false - size: null - step: null - tip: null - title: null - type: craft\fieldlayoutelements\assets\AssetTitleField - warning: null - width: 100 - name: Content - sortOrder: 1 -fs: cantoDam -handle: cantoDam -hasUrls: true -name: 'Canto DAM' -sortOrder: 11 -titleTranslationKeyFormat: null -titleTranslationMethod: site -url: 'https://rubin.canto.com/direct/' From 19bdb7302ff5ed15f4f39edd333d3193bd3e3b10 Mon Sep 17 00:00:00 2001 From: Eric Rosas Date: Wed, 29 Nov 2023 12:11:23 -0700 Subject: [PATCH 032/144] Change GCS plugin bucket names from choose to man EPO-8795 - Change GCS plugin bucket names from choose to manual --- api/config/project/project.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index d97dbd87..9d5b5753 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -1,4 +1,4 @@ -dateModified: 1700605589 +dateModified: 1701284966 email: fromEmail: $EMAIL_FROM_ADDRESS fromName: $EMAIL_SENDER_NAME @@ -30,8 +30,8 @@ fs: hasUrls: true name: 'Content Images' settings: - bucket: rubin-obs-api_assets_content - bucketSelectionMode: choose + bucket: $GCS_CONTENT_BUCKET + bucketSelectionMode: manual expires: '5 minutes' keyFileContents: '' projectId: $GCP_PROJECT_ID @@ -42,8 +42,8 @@ fs: hasUrls: true name: General settings: - bucket: rubin-obs-api_assets_general - bucketSelectionMode: choose + bucket: $GCS_GENERAL_BUCKET + bucketSelectionMode: manual expires: '5 minutes' keyFileContents: '' projectId: $GCP_PROJECT_ID @@ -54,8 +54,8 @@ fs: hasUrls: true name: Heroes settings: - bucket: rubin-obs-api_assets_heroes - bucketSelectionMode: choose + bucket: $GCS_HEROES_BUCKET + bucketSelectionMode: manual expires: '5 minutes' keyFileContents: '' projectId: $GCP_PROJECT_ID @@ -66,8 +66,8 @@ fs: hasUrls: true name: 'Staff Profiles' settings: - bucket: rubin-obs-api_assets_staff_profiles - bucketSelectionMode: choose + bucket: $GCS_STAFF_BUCKET + bucketSelectionMode: manual expires: '5 minutes' keyFileContents: '' projectId: $GCP_PROJECT_ID From 99e0517d2a5129f127ee7c802578d5541e32f6a9 Mon Sep 17 00:00:00 2001 From: ericdrosas87 <43484316+ericdrosas87@users.noreply.github.com> Date: Wed, 29 Nov 2023 18:14:06 -0700 Subject: [PATCH 033/144] Quick release test --- api/config/project/project.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index 9d5b5753..1a6c27f2 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -2163,9 +2163,6 @@ plugins: - - assetVariants - '' - - - - cantoDam - - '' - - group-11 - @@ -2232,9 +2229,6 @@ plugins: - - assetVariants - '' - - - - cantoDam - - '' invalidEmailAddress: 'Invalid email address' invalidHeader: 'Invalid Authorization Header' invalidJwtSecretKey: 'Invalid JWT Secret Key' From edd75741c9be37fcf4fc51b5b365e11081bce15b Mon Sep 17 00:00:00 2001 From: Blake Mason Date: Thu, 10 Aug 2023 12:13:48 -0700 Subject: [PATCH 034/144] [F] NewsPosts have optional Hero Captions --- .env.sample | 59 +++++++++++++++++++ ...-10e8304e-93be-4c77-b1e9-7d9058c4aa92.yaml | 14 +++++ api/config/project/project.yaml | 2 +- 3 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 .env.sample create mode 100644 api/config/project/fields/isActive--10e8304e-93be-4c77-b1e9-7d9058c4aa92.yaml diff --git a/.env.sample b/.env.sample new file mode 100644 index 00000000..465f1721 --- /dev/null +++ b/.env.sample @@ -0,0 +1,59 @@ +ENVIRONMENT=dev +SECURITY_KEY= + +# For Craft Postgres DB +DB_DSN=pgsql:host=postgres;dbname=craft +DB_SERVER=postgres +DB_NAME= +DB_USER= +DB_PASSWORD= +DB_DATABASE= +DB_SCHEMA=public +DB_DRIVER=pgsql +DB_PORT=5432 + +ENABLE_MEMCACHED="true" +MEMCACHED_IP=cache + +# For Google Storage Assets +GCP_PROJECT_ID= +GCS_GENERAL_BUCKET= +GCS_HEROES_BUCKET= +GCS_CONTENT_BUCKET= +GCS_CALLOUTS_BUCKET= +GCS_STAFF_BUCKET= + +# For required and custom Craft aliases +PRIMARY_SITE_URL=http://localhost:8080 +WEB_BASE_URL=http://localhost:3000 +ALIAS_PREVIEW_URL_FORMAT=http://localhost:3000/api/preview?site={site}&entryUid={sourceUid} + +# For AWS Assets +AWS_ASSET_KEY_ID= +AWS_ASSET_SECRET_KEY= +AWS_ASSET_S3_BUCKET= +AWS_ASSET_S3_REGION= +AWS_ASSET_S3_ASSET_VARIANT_SUBFOLDER= + +# For contact form +EMAIL_FROM_ADDRESS= +EMAIL_REPLY_TO_ADDRESS= +EMAIL_SENDER_NAME= +EMAIL_HTML_EMAIL_TEMPLATE= + +EMAIL_SMTP_HOST_NAME= +EMAIL_SMTP_PORT= +EMAIL_SMTP_USERNAME= +EMAIL_SMTP_PASSWORD= + +# For GraphQL Authentication +GOOGLE_APP_ID= +GOOGLE_APP_SECRET= + +FACEBOOK_APP_ID= +FACEBOOK_APP_SECRET= +FACEBOOK_APP_REDIRECT_URL= + +# FE User account management paths +VERIFY_EMAIL_PATH=http://localhost:3000/?activate=true +SET_PASSWORD_PATH=http://localhost:3000/?set_password=true diff --git a/api/config/project/fields/isActive--10e8304e-93be-4c77-b1e9-7d9058c4aa92.yaml b/api/config/project/fields/isActive--10e8304e-93be-4c77-b1e9-7d9058c4aa92.yaml new file mode 100644 index 00000000..e3944253 --- /dev/null +++ b/api/config/project/fields/isActive--10e8304e-93be-4c77-b1e9-7d9058c4aa92.yaml @@ -0,0 +1,14 @@ +columnSuffix: vcdswklf +contentColumnType: boolean +fieldGroup: 3eefd793-f1fb-4692-ba0e-ff68f354543b # Investigations +handle: isActive +instructions: 'Determines whether content links to this content should appear to be available or disabled/"coming soon."' +name: 'Is Active' +searchable: false +settings: + default: true + offLabel: Inactive + onLabel: Active +translationKeyFormat: null +translationMethod: site +type: craft\fields\Lightswitch diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index 1a6c27f2..7881a767 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -1,4 +1,4 @@ -dateModified: 1701284966 +dateModified: 1691608933 email: fromEmail: $EMAIL_FROM_ADDRESS fromName: $EMAIL_SENDER_NAME From 90f267af47c816b31473a9ea6dbaa2d71462c9ee Mon Sep 17 00:00:00 2001 From: Eric Rosas Date: Fri, 25 Aug 2023 08:09:48 -0700 Subject: [PATCH 035/144] Supervisord impl work in progress EPO-8413 --- Dockerfile | 14 +- api/composer.json | 9 +- api/composer.lock | 115 ++++++++++- ...-676da0d6-dc63-48fd-a5cd-7253c956974c.yaml | 14 ++ api/config/project/project.yaml | 3 +- api/plugins/canto-dam-assets | 1 + api/supervisord.conf | 179 ++++++++++++++++++ composer.json | 2 + 8 files changed, 330 insertions(+), 7 deletions(-) create mode 100644 api/config/project/fields/cantoDamAsset--676da0d6-dc63-48fd-a5cd-7253c956974c.yaml create mode 160000 api/plugins/canto-dam-assets create mode 100644 api/supervisord.conf create mode 100644 composer.json diff --git a/Dockerfile b/Dockerfile index be85faa6..83bb25f3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,13 +13,25 @@ FROM us-central1-docker.pkg.dev/skyviewer/public-images/craft-base-image:$BASE_T USER root +# Beginning of supervisord code (requires root user) +RUN apt-get update && apt-get -qq install vim python3.10 pip +RUN pip install supervisor +#COPY queue-runner.conf . +#RUN supervisord -c supervisord.conf +#RUN echo " " > supervisord.conf && cat queue-runner.conf > supervisord.conf +# End of supervisord code + # Copy in custom code from the host machine. WORKDIR /var/www/html COPY --chown=www-data:www-data api/ ./ + + COPY --from=vendor --chown=www-data:www-data /app/vendor ./vendor RUN mkdir /var/secrets && [ -d ./storage ] || mkdir storage +#RUN supervisord + USER www-data -CMD ["supervisord"] \ No newline at end of file +#CMD ["supervisord"] diff --git a/api/composer.json b/api/composer.json index d93de4eb..23f16f1c 100755 --- a/api/composer.json +++ b/api/composer.json @@ -7,8 +7,9 @@ "craftcms/contact-form-honeypot": "^2.0.0", "craftcms/google-cloud": "^2.0.0", "craftcms/redactor": "3.0.4", - "jamesedmonston/graphql-authentication": "2.5.0", - "lsst-epo/canto-dam-assets": "4.0.9", + "jamesedmonston/graphql-authentication": "2.4.0", + "lsst-epo/canto-dam-assets": "^1.0", + "lsst/canto-dam-integrator": "dev-EPO-7854#v0.3.2", "rynpsc/craft-phone-number": "^2.1.0", "sebastianlenz/linkfield": "^2.1.4", "spicyweb/craft-neo": "3.8.6", @@ -27,6 +28,10 @@ "type": "vcs", "url": "https://github.com/lsst-epo/canto-dam-assets.git" }, + { + "type": "path", + "url": "plugins/canto-dam-assets" + }, { "type": "path", "url": "plugins/nextbuilds" diff --git a/api/composer.lock b/api/composer.lock index 37910310..d7e7ca3b 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "60ef3417ee155e314e4721aa96f83c8d", + "content-hash": "660f7a89822d3e91e2bef2f80c31d344", "packages": [ { "name": "abraham/twitteroauth", @@ -3673,7 +3673,64 @@ }, { "name": "lsst-epo/canto-dam-assets", - "version": "4.0.9", + "version": "1.0.0", + "dist": { + "type": "path", + "url": "plugins/canto-dam-assets", + "reference": "a7351e63f1b5ab1937ca79c0f59a66c9848f0d84" + }, + "require": { + "craftcms/cms": "^4.4.0", + "nystudio107/craft-plugin-vite": "^4.0.0", + "php": ">=8.0.2" + }, + "require-dev": { + "craftcms/ecs": "dev-main", + "craftcms/phpstan": "dev-main" + }, + "type": "craft-plugin", + "extra": { + "handle": "_canto-dam-assets", + "name": "Canto DAM Assets", + "developer": "nystudio107", + "documentationUrl": "https://github.com/lsst-epo/canto-dam-assets/blob/develop-v4/README.md", + "class": "lsst\\cantodamassets\\CantoDamAssets" + }, + "autoload": { + "psr-4": { + "lsst\\cantodamassets\\": "src/" + } + }, + "scripts": { + "check-cs": [ + "ecs check --ansi" + ], + "fix-cs": [ + "ecs check --ansi --fix" + ], + "phpstan": [ + "phpstan --memory-limit=1G" + ] + }, + "authors": [ + { + "name": "nystudio107", + "homepage": "https://nystudio107.com" + } + ], + "description": "This Craft CMS plugin adds a Field Type with GraphQL support for the Canto Digital Asset Management (DAM) web system", + "support": { + "docs": "https://github.com/lsst-epo/canto-dam-assets/blob/develop-v4/README.md", + "issues": "https://github.com/lsst-epo/canto-dam-assets/issues", + "source": "https://github.com/lsst-epo/canto-dam-assets/" + }, + "transport-options": { + "relative": true + } + }, + { + "name": "lsst/canto-dam-integrator", + "version": "dev-EPO-7854", "source": { "type": "git", "url": "https://github.com/lsst-epo/canto-dam-assets.git", @@ -4025,6 +4082,58 @@ ], "time": "2023-01-25T21:09:10+00:00" }, + { + "name": "nystudio107/craft-plugin-vite", + "version": "4.0.8", + "source": { + "type": "git", + "url": "https://github.com/nystudio107/craft-plugin-vite.git", + "reference": "eb05b1cc7dc9eeecbdfe8cd3cd3d119e83c62619" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nystudio107/craft-plugin-vite/zipball/eb05b1cc7dc9eeecbdfe8cd3cd3d119e83c62619", + "reference": "eb05b1cc7dc9eeecbdfe8cd3cd3d119e83c62619", + "shasum": "" + }, + "require": { + "craftcms/cms": "^4.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "nystudio107\\pluginvite\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "nystudio107", + "homepage": "https://nystudio107.com" + } + ], + "description": "Plugin Vite is the conduit between Craft CMS plugins and Vite, with manifest.json & HMR support", + "keywords": [ + "craftcms", + "plugin", + "vite" + ], + "support": { + "docs": "https://github.com/nystudio107/craft-plugin-vite/blob/v1/README.md", + "issues": "https://github.com/nystudio107/craft-plugin-vite/issues", + "source": "https://github.com/nystudio107/craft-plugin-vite/tree/4.0.8" + }, + "funding": [ + { + "url": "https://github.com/khalwat", + "type": "github" + } + ], + "time": "2023-01-25T21:09:10+00:00" + }, { "name": "paragonie/constant_time_encoding", "version": "v2.6.3", @@ -9585,5 +9694,5 @@ "platform-overrides": { "php": "8.1.10" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.1.0" } diff --git a/api/config/project/fields/cantoDamAsset--676da0d6-dc63-48fd-a5cd-7253c956974c.yaml b/api/config/project/fields/cantoDamAsset--676da0d6-dc63-48fd-a5cd-7253c956974c.yaml new file mode 100644 index 00000000..a0322c2d --- /dev/null +++ b/api/config/project/fields/cantoDamAsset--676da0d6-dc63-48fd-a5cd-7253c956974c.yaml @@ -0,0 +1,14 @@ +columnSuffix: vwsjafwg +contentColumnType: + - 'cantoId:string' + - 'cantoAlbumId:string' + - 'cantoAssetData:text' + - 'cantoAlbumData:string' +fieldGroup: df8c8d8a-c7d1-45bf-b551-ef790a5b59ad # Callouts +handle: cantoDamAsset +instructions: null +name: 'Canto DAM Asset' +searchable: false +translationKeyFormat: null +translationMethod: none +type: lsst\cantodamassets\fields\CantoDamAsset diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index 7881a767..5a975d42 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -1,4 +1,4 @@ -dateModified: 1691608933 +dateModified: 1692903024 email: fromEmail: $EMAIL_FROM_ADDRESS fromName: $EMAIL_SENDER_NAME @@ -206,6 +206,7 @@ meta: 635a4a93-f10b-4d3c-bd44-2ea1474ad4cb: 'Vertical Alignment' # Vertical Alignment 644c6b87-ac0c-4cdf-88be-744a5ee684bb: Description # Description 657b9edd-b6d3-4b7f-af89-36117c5d98a8: 'Rich Text Description' # Rich Text Description + 676da0d6-dc63-48fd-a5cd-7253c956974c: 'Canto DAM Asset' # Canto DAM Asset 753b10b6-e9e6-44f5-a9d9-4a07788733e1: 'Content Ratio' # Content Ratio 824d9ca2-e755-4e41-8f6a-18e573fec8e4: 'News Posts' # News Posts 831db889-442e-4553-9076-fc3bc2843c8c: 'Hide title' # Hide title diff --git a/api/plugins/canto-dam-assets b/api/plugins/canto-dam-assets new file mode 160000 index 00000000..a7351e63 --- /dev/null +++ b/api/plugins/canto-dam-assets @@ -0,0 +1 @@ +Subproject commit a7351e63f1b5ab1937ca79c0f59a66c9848f0d84 diff --git a/api/supervisord.conf b/api/supervisord.conf new file mode 100644 index 00000000..2cd789ef --- /dev/null +++ b/api/supervisord.conf @@ -0,0 +1,179 @@ +; Sample supervisor config file. +; +; For more information on the config file, please see: +; http://supervisord.org/configuration.html +; +; Notes: +; - Shell expansion ("~" or "$HOME") is not supported. Environment +; variables can be expanded using this syntax: "%(ENV_HOME)s". +; - Quotes around values are not supported, except in the case of +; the environment= options as shown below. +; - Comments must have a leading space: "a=b ;comment" not "a=b;comment". +; - Command will be truncated if it looks like a config file comment, e.g. +; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ". +; +; Warning: +; Paths throughout this example file use /tmp because it is available on most +; systems. You will likely need to change these to locations more appropriate +; for your system. Some systems periodically delete older files in /tmp. +; Notably, if the socket file defined in the [unix_http_server] section below +; is deleted, supervisorctl will be unable to connect to supervisord. + +[unix_http_server] +file=/tmp/supervisor.sock ; the path to the socket file +;chmod=0700 ; socket file mode (default 0700) +;chown=nobody:nogroup ; socket file uid:gid owner +;username=user ; default is no username (open server) +;password=123 ; default is no password (open server) + +; Security Warning: +; The inet HTTP server is not enabled by default. The inet HTTP server is +; enabled by uncommenting the [inet_http_server] section below. The inet +; HTTP server is intended for use within a trusted environment only. It +; should only be bound to localhost or only accessible from within an +; isolated, trusted network. The inet HTTP server does not support any +; form of encryption. The inet HTTP server does not use authentication +; by default (see the username= and password= options to add authentication). +; Never expose the inet HTTP server to the public internet. + +;[inet_http_server] ; inet (TCP) server disabled by default +;port=127.0.0.1:9001 ; ip_address:port specifier, *:port for all iface +;username=user ; default is no username (open server) +;password=123 ; default is no password (open server) + +[supervisord] +logfile=/tmp/supervisord.log ; main log file; default $CWD/supervisord.log +logfile_maxbytes=50MB ; max main logfile bytes b4 rotation; default 50MB +logfile_backups=10 ; # of main logfile backups; 0 means none, default 10 +loglevel=info ; log level; default info; others: debug,warn,trace +pidfile=/tmp/supervisord.pid ; supervisord pidfile; default supervisord.pid +nodaemon=false ; start in foreground if true; default false +silent=false ; no logs to stdout if true; default false +minfds=1024 ; min. avail startup file descriptors; default 1024 +minprocs=200 ; min. avail process descriptors;default 200 +;umask=022 ; process file creation umask; default 022 +;user=supervisord ; setuid to this UNIX account at startup; recommended if root +;identifier=supervisor ; supervisord identifier, default is 'supervisor' +;directory=/tmp ; default is not to cd during start +;nocleanup=true ; don't clean up tempfiles at start; default false +;childlogdir=/tmp ; 'AUTO' child log dir, default $TEMP +;environment=KEY="value" ; key value pairs to add to environment +;strip_ansi=false ; strip ansi escape codes in logs; def. false + +; The rpcinterface:supervisor section must remain in the config file for +; RPC (supervisorctl/web interface) to work. Additional interfaces may be +; added by defining them in separate [rpcinterface:x] sections. + +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +; The supervisorctl section configures how supervisorctl will connect to +; supervisord. configure it match the settings in either the unix_http_server +; or inet_http_server section. + +[supervisorctl] +serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket +;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket +;username=chris ; should be same as in [*_http_server] if set +;password=123 ; should be same as in [*_http_server] if set +;prompt=mysupervisor ; cmd line prompt (default "supervisor") +;history_file=~/.sc_history ; use readline history if available + +; The sample program section below shows all possible program subsection values. +; Create one or more 'real' program: sections to be able to control them under +; supervisor. + +;[program:theprogramname] +;command=/bin/cat ; the program (relative uses PATH, can take args) +;process_name=%(program_name)s ; process_name expr (default %(program_name)s) +;numprocs=1 ; number of processes copies to start (def 1) +;directory=/tmp ; directory to cwd to before exec (def no cwd) +;umask=022 ; umask for process (default None) +;priority=999 ; the relative start priority (default 999) +;autostart=true ; start at supervisord start (default: true) +;startsecs=1 ; # of secs prog must stay up to be running (def. 1) +;startretries=3 ; max # of serial start failures when starting (default 3) +;autorestart=unexpected ; when to restart if exited after running (def: unexpected) +;exitcodes=0 ; 'expected' exit codes used with autorestart (default 0) +;stopsignal=QUIT ; signal used to kill process (default TERM) +;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10) +;stopasgroup=false ; send stop signal to the UNIX process group (default false) +;killasgroup=false ; SIGKILL the UNIX process group (def false) +;user=chrism ; setuid to this UNIX account to run the program +;redirect_stderr=true ; redirect proc stderr to stdout (default false) +;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO +;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10) +;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) +;stdout_events_enabled=false ; emit events on stdout writes (default false) +;stdout_syslog=false ; send stdout to syslog with process name (default false) +;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO +;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10) +;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) +;stderr_events_enabled=false ; emit events on stderr writes (default false) +;stderr_syslog=false ; send stderr to syslog with process name (default false) +;environment=A="1",B="2" ; process environment additions (def no adds) +;serverurl=AUTO ; override serverurl computation (childutils) + +; The sample eventlistener section below shows all possible eventlistener +; subsection values. Create one or more 'real' eventlistener: sections to be +; able to handle event notifications sent by supervisord. + +;[eventlistener:theeventlistenername] +;command=/bin/eventlistener ; the program (relative uses PATH, can take args) +;process_name=%(program_name)s ; process_name expr (default %(program_name)s) +;numprocs=1 ; number of processes copies to start (def 1) +;events=EVENT ; event notif. types to subscribe to (req'd) +;buffer_size=10 ; event buffer queue size (default 10) +;directory=/tmp ; directory to cwd to before exec (def no cwd) +;umask=022 ; umask for process (default None) +;priority=-1 ; the relative start priority (default -1) +;autostart=true ; start at supervisord start (default: true) +;startsecs=1 ; # of secs prog must stay up to be running (def. 1) +;startretries=3 ; max # of serial start failures when starting (default 3) +;autorestart=unexpected ; autorestart if exited after running (def: unexpected) +;exitcodes=0 ; 'expected' exit codes used with autorestart (default 0) +;stopsignal=QUIT ; signal used to kill process (default TERM) +;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10) +;stopasgroup=false ; send stop signal to the UNIX process group (default false) +;killasgroup=false ; SIGKILL the UNIX process group (def false) +;user=chrism ; setuid to this UNIX account to run the program +;redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners +;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO +;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10) +;stdout_events_enabled=false ; emit events on stdout writes (default false) +;stdout_syslog=false ; send stdout to syslog with process name (default false) +;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO +;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10) +;stderr_events_enabled=false ; emit events on stderr writes (default false) +;stderr_syslog=false ; send stderr to syslog with process name (default false) +;environment=A="1",B="2" ; process environment additions +;serverurl=AUTO ; override serverurl computation (childutils) + +; The sample group section below shows all possible group values. Create one +; or more 'real' group: sections to create "heterogeneous" process groups. + +;[group:thegroupname] +;programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions +;priority=999 ; the relative start priority (default 999) + +; The [include] section can just contain the "files" setting. This +; setting can list multiple files (separated by whitespace or +; newlines). It can also contain wildcards. The filenames are +; interpreted as relative to this file. Included files *cannot* +; include files themselves. + +;[include] +;files = relative/directory/*.ini + +[program:craft-queue-worker] +; Use the process number in its name (required when using `numprocs`): +process_name=%(program_name)s_%(process_num)02d +numprocs=4 +command=php craft queue/listen --verbose=1 --color=0 +; User + Group should agree with HTTP processes: +user=www-data +group=www-data \ No newline at end of file diff --git a/composer.json b/composer.json new file mode 100644 index 00000000..2c63c085 --- /dev/null +++ b/composer.json @@ -0,0 +1,2 @@ +{ +} From aeee6bd36174d56ba96d591b6f6e3fb9df595bf2 Mon Sep 17 00:00:00 2001 From: Eric Rosas Date: Fri, 25 Aug 2023 14:07:02 -0700 Subject: [PATCH 036/144] Cleaned up supervisord code EPO-8413 --- Dockerfile | 15 +--- api/supervisord.conf | 179 ------------------------------------------- 2 files changed, 2 insertions(+), 192 deletions(-) delete mode 100644 api/supervisord.conf diff --git a/Dockerfile b/Dockerfile index 83bb25f3..8519b7c4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,5 @@ ARG BASE_TAG=latest +LABEL maintainer="eric.rosas@noirlab.edu" # Composer dependencies FROM composer:2 as vendor @@ -13,25 +14,13 @@ FROM us-central1-docker.pkg.dev/skyviewer/public-images/craft-base-image:$BASE_T USER root -# Beginning of supervisord code (requires root user) -RUN apt-get update && apt-get -qq install vim python3.10 pip -RUN pip install supervisor -#COPY queue-runner.conf . -#RUN supervisord -c supervisord.conf -#RUN echo " " > supervisord.conf && cat queue-runner.conf > supervisord.conf -# End of supervisord code - # Copy in custom code from the host machine. WORKDIR /var/www/html COPY --chown=www-data:www-data api/ ./ - - COPY --from=vendor --chown=www-data:www-data /app/vendor ./vendor RUN mkdir /var/secrets && [ -d ./storage ] || mkdir storage -#RUN supervisord - USER www-data -#CMD ["supervisord"] +CMD ["supervisord"] diff --git a/api/supervisord.conf b/api/supervisord.conf deleted file mode 100644 index 2cd789ef..00000000 --- a/api/supervisord.conf +++ /dev/null @@ -1,179 +0,0 @@ -; Sample supervisor config file. -; -; For more information on the config file, please see: -; http://supervisord.org/configuration.html -; -; Notes: -; - Shell expansion ("~" or "$HOME") is not supported. Environment -; variables can be expanded using this syntax: "%(ENV_HOME)s". -; - Quotes around values are not supported, except in the case of -; the environment= options as shown below. -; - Comments must have a leading space: "a=b ;comment" not "a=b;comment". -; - Command will be truncated if it looks like a config file comment, e.g. -; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ". -; -; Warning: -; Paths throughout this example file use /tmp because it is available on most -; systems. You will likely need to change these to locations more appropriate -; for your system. Some systems periodically delete older files in /tmp. -; Notably, if the socket file defined in the [unix_http_server] section below -; is deleted, supervisorctl will be unable to connect to supervisord. - -[unix_http_server] -file=/tmp/supervisor.sock ; the path to the socket file -;chmod=0700 ; socket file mode (default 0700) -;chown=nobody:nogroup ; socket file uid:gid owner -;username=user ; default is no username (open server) -;password=123 ; default is no password (open server) - -; Security Warning: -; The inet HTTP server is not enabled by default. The inet HTTP server is -; enabled by uncommenting the [inet_http_server] section below. The inet -; HTTP server is intended for use within a trusted environment only. It -; should only be bound to localhost or only accessible from within an -; isolated, trusted network. The inet HTTP server does not support any -; form of encryption. The inet HTTP server does not use authentication -; by default (see the username= and password= options to add authentication). -; Never expose the inet HTTP server to the public internet. - -;[inet_http_server] ; inet (TCP) server disabled by default -;port=127.0.0.1:9001 ; ip_address:port specifier, *:port for all iface -;username=user ; default is no username (open server) -;password=123 ; default is no password (open server) - -[supervisord] -logfile=/tmp/supervisord.log ; main log file; default $CWD/supervisord.log -logfile_maxbytes=50MB ; max main logfile bytes b4 rotation; default 50MB -logfile_backups=10 ; # of main logfile backups; 0 means none, default 10 -loglevel=info ; log level; default info; others: debug,warn,trace -pidfile=/tmp/supervisord.pid ; supervisord pidfile; default supervisord.pid -nodaemon=false ; start in foreground if true; default false -silent=false ; no logs to stdout if true; default false -minfds=1024 ; min. avail startup file descriptors; default 1024 -minprocs=200 ; min. avail process descriptors;default 200 -;umask=022 ; process file creation umask; default 022 -;user=supervisord ; setuid to this UNIX account at startup; recommended if root -;identifier=supervisor ; supervisord identifier, default is 'supervisor' -;directory=/tmp ; default is not to cd during start -;nocleanup=true ; don't clean up tempfiles at start; default false -;childlogdir=/tmp ; 'AUTO' child log dir, default $TEMP -;environment=KEY="value" ; key value pairs to add to environment -;strip_ansi=false ; strip ansi escape codes in logs; def. false - -; The rpcinterface:supervisor section must remain in the config file for -; RPC (supervisorctl/web interface) to work. Additional interfaces may be -; added by defining them in separate [rpcinterface:x] sections. - -[rpcinterface:supervisor] -supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface - -; The supervisorctl section configures how supervisorctl will connect to -; supervisord. configure it match the settings in either the unix_http_server -; or inet_http_server section. - -[supervisorctl] -serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket -;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket -;username=chris ; should be same as in [*_http_server] if set -;password=123 ; should be same as in [*_http_server] if set -;prompt=mysupervisor ; cmd line prompt (default "supervisor") -;history_file=~/.sc_history ; use readline history if available - -; The sample program section below shows all possible program subsection values. -; Create one or more 'real' program: sections to be able to control them under -; supervisor. - -;[program:theprogramname] -;command=/bin/cat ; the program (relative uses PATH, can take args) -;process_name=%(program_name)s ; process_name expr (default %(program_name)s) -;numprocs=1 ; number of processes copies to start (def 1) -;directory=/tmp ; directory to cwd to before exec (def no cwd) -;umask=022 ; umask for process (default None) -;priority=999 ; the relative start priority (default 999) -;autostart=true ; start at supervisord start (default: true) -;startsecs=1 ; # of secs prog must stay up to be running (def. 1) -;startretries=3 ; max # of serial start failures when starting (default 3) -;autorestart=unexpected ; when to restart if exited after running (def: unexpected) -;exitcodes=0 ; 'expected' exit codes used with autorestart (default 0) -;stopsignal=QUIT ; signal used to kill process (default TERM) -;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10) -;stopasgroup=false ; send stop signal to the UNIX process group (default false) -;killasgroup=false ; SIGKILL the UNIX process group (def false) -;user=chrism ; setuid to this UNIX account to run the program -;redirect_stderr=true ; redirect proc stderr to stdout (default false) -;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO -;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) -;stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10) -;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) -;stdout_events_enabled=false ; emit events on stdout writes (default false) -;stdout_syslog=false ; send stdout to syslog with process name (default false) -;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO -;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) -;stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10) -;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) -;stderr_events_enabled=false ; emit events on stderr writes (default false) -;stderr_syslog=false ; send stderr to syslog with process name (default false) -;environment=A="1",B="2" ; process environment additions (def no adds) -;serverurl=AUTO ; override serverurl computation (childutils) - -; The sample eventlistener section below shows all possible eventlistener -; subsection values. Create one or more 'real' eventlistener: sections to be -; able to handle event notifications sent by supervisord. - -;[eventlistener:theeventlistenername] -;command=/bin/eventlistener ; the program (relative uses PATH, can take args) -;process_name=%(program_name)s ; process_name expr (default %(program_name)s) -;numprocs=1 ; number of processes copies to start (def 1) -;events=EVENT ; event notif. types to subscribe to (req'd) -;buffer_size=10 ; event buffer queue size (default 10) -;directory=/tmp ; directory to cwd to before exec (def no cwd) -;umask=022 ; umask for process (default None) -;priority=-1 ; the relative start priority (default -1) -;autostart=true ; start at supervisord start (default: true) -;startsecs=1 ; # of secs prog must stay up to be running (def. 1) -;startretries=3 ; max # of serial start failures when starting (default 3) -;autorestart=unexpected ; autorestart if exited after running (def: unexpected) -;exitcodes=0 ; 'expected' exit codes used with autorestart (default 0) -;stopsignal=QUIT ; signal used to kill process (default TERM) -;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10) -;stopasgroup=false ; send stop signal to the UNIX process group (default false) -;killasgroup=false ; SIGKILL the UNIX process group (def false) -;user=chrism ; setuid to this UNIX account to run the program -;redirect_stderr=false ; redirect_stderr=true is not allowed for eventlisteners -;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO -;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) -;stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10) -;stdout_events_enabled=false ; emit events on stdout writes (default false) -;stdout_syslog=false ; send stdout to syslog with process name (default false) -;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO -;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) -;stderr_logfile_backups=10 ; # of stderr logfile backups (0 means none, default 10) -;stderr_events_enabled=false ; emit events on stderr writes (default false) -;stderr_syslog=false ; send stderr to syslog with process name (default false) -;environment=A="1",B="2" ; process environment additions -;serverurl=AUTO ; override serverurl computation (childutils) - -; The sample group section below shows all possible group values. Create one -; or more 'real' group: sections to create "heterogeneous" process groups. - -;[group:thegroupname] -;programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions -;priority=999 ; the relative start priority (default 999) - -; The [include] section can just contain the "files" setting. This -; setting can list multiple files (separated by whitespace or -; newlines). It can also contain wildcards. The filenames are -; interpreted as relative to this file. Included files *cannot* -; include files themselves. - -;[include] -;files = relative/directory/*.ini - -[program:craft-queue-worker] -; Use the process number in its name (required when using `numprocs`): -process_name=%(program_name)s_%(process_num)02d -numprocs=4 -command=php craft queue/listen --verbose=1 --color=0 -; User + Group should agree with HTTP processes: -user=www-data -group=www-data \ No newline at end of file From 2b2f6cf8dbc8ff7c351f492653255195acf24268 Mon Sep 17 00:00:00 2001 From: Eric Rosas Date: Fri, 25 Aug 2023 14:27:35 -0700 Subject: [PATCH 037/144] Updated composer.json to install new DAM plugin EPO-8313 --- Dockerfile | 1 - api/composer.json | 6 +----- api/composer.lock | 26 +++++++++++++++++--------- api/plugins/canto-dam-assets | 1 - composer.json | 2 -- 5 files changed, 18 insertions(+), 18 deletions(-) delete mode 160000 api/plugins/canto-dam-assets delete mode 100644 composer.json diff --git a/Dockerfile b/Dockerfile index 8519b7c4..a73ad976 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,4 @@ ARG BASE_TAG=latest -LABEL maintainer="eric.rosas@noirlab.edu" # Composer dependencies FROM composer:2 as vendor diff --git a/api/composer.json b/api/composer.json index 23f16f1c..0bbc11cb 100755 --- a/api/composer.json +++ b/api/composer.json @@ -8,7 +8,7 @@ "craftcms/google-cloud": "^2.0.0", "craftcms/redactor": "3.0.4", "jamesedmonston/graphql-authentication": "2.4.0", - "lsst-epo/canto-dam-assets": "^1.0", + "lsst-epo/canto-dam-assets": "dev-develop-v4", "lsst/canto-dam-integrator": "dev-EPO-7854#v0.3.2", "rynpsc/craft-phone-number": "^2.1.0", "sebastianlenz/linkfield": "^2.1.4", @@ -28,10 +28,6 @@ "type": "vcs", "url": "https://github.com/lsst-epo/canto-dam-assets.git" }, - { - "type": "path", - "url": "plugins/canto-dam-assets" - }, { "type": "path", "url": "plugins/nextbuilds" diff --git a/api/composer.lock b/api/composer.lock index d7e7ca3b..0e543791 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "660f7a89822d3e91e2bef2f80c31d344", + "content-hash": "e5025817109384bfb93e07c48ca23c07", "packages": [ { "name": "abraham/twitteroauth", @@ -3673,12 +3673,18 @@ }, { "name": "lsst-epo/canto-dam-assets", - "version": "1.0.0", - "dist": { - "type": "path", - "url": "plugins/canto-dam-assets", + "version": "dev-develop-v4", + "source": { + "type": "git", + "url": "https://github.com/lsst-epo/canto-dam-assets.git", "reference": "a7351e63f1b5ab1937ca79c0f59a66c9848f0d84" }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/lsst-epo/canto-dam-assets/zipball/a7351e63f1b5ab1937ca79c0f59a66c9848f0d84", + "reference": "a7351e63f1b5ab1937ca79c0f59a66c9848f0d84", + "shasum": "" + }, "require": { "craftcms/cms": "^4.4.0", "nystudio107/craft-plugin-vite": "^4.0.0", @@ -3688,6 +3694,7 @@ "craftcms/ecs": "dev-main", "craftcms/phpstan": "dev-main" }, + "default-branch": true, "type": "craft-plugin", "extra": { "handle": "_canto-dam-assets", @@ -3724,9 +3731,7 @@ "issues": "https://github.com/lsst-epo/canto-dam-assets/issues", "source": "https://github.com/lsst-epo/canto-dam-assets/" }, - "transport-options": { - "relative": true - } + "time": "2023-08-16T14:57:28+00:00" }, { "name": "lsst/canto-dam-integrator", @@ -9686,7 +9691,10 @@ ], "aliases": [], "minimum-stability": "dev", - "stability-flags": [], + "stability-flags": { + "lsst-epo/canto-dam-assets": 20, + "lsst/canto-dam-integrator": 20 + }, "prefer-stable": true, "prefer-lowest": false, "platform": [], diff --git a/api/plugins/canto-dam-assets b/api/plugins/canto-dam-assets deleted file mode 160000 index a7351e63..00000000 --- a/api/plugins/canto-dam-assets +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a7351e63f1b5ab1937ca79c0f59a66c9848f0d84 diff --git a/composer.json b/composer.json deleted file mode 100644 index 2c63c085..00000000 --- a/composer.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} From c504b824920af5dd31527021c8191b25e065256a Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 7 Sep 2023 20:01:46 -0500 Subject: [PATCH 038/144] add yii2 redis package --- api/composer.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/composer.lock b/api/composer.lock index 0e543791..dc82b9c5 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e5025817109384bfb93e07c48ca23c07", + "content-hash": "782136b7b9936a0adcce989d4a3cdd0a", "packages": [ { "name": "abraham/twitteroauth", @@ -9702,5 +9702,5 @@ "platform-overrides": { "php": "8.1.10" }, - "plugin-api-version": "2.1.0" + "plugin-api-version": "2.2.0" } From 05477d7b67ea9f9080b666d16ae0b2cc94d82946 Mon Sep 17 00:00:00 2001 From: Blake Mason Date: Wed, 13 Sep 2023 15:55:05 -0700 Subject: [PATCH 039/144] [F] ImageGrid content block --- api/config/project/project.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index 5a975d42..decb8719 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -1,4 +1,4 @@ -dateModified: 1692903024 +dateModified: 1694562108 email: fromEmail: $EMAIL_FROM_ADDRESS fromName: $EMAIL_SENDER_NAME From 85fe8621cd94029f31d7944777b4104897394162 Mon Sep 17 00:00:00 2001 From: Blake Mason Date: Wed, 13 Sep 2023 16:08:02 -0700 Subject: [PATCH 040/144] [F] Composer updates --- api/composer.json | 3 +- api/composer.lock | 855 +++----------------------------- api/config/project/project.yaml | 2 +- 3 files changed, 63 insertions(+), 797 deletions(-) diff --git a/api/composer.json b/api/composer.json index 0bbc11cb..d935a3a3 100755 --- a/api/composer.json +++ b/api/composer.json @@ -2,12 +2,13 @@ "require": { "carlcs/craft-assetmetadata": "^4.0", "castiron/next-builds": "^1.0", + "craftcms/aws-s3": "2.0.3", "craftcms/cms": "4.5.4", "craftcms/contact-form": "3.0.1", "craftcms/contact-form-honeypot": "^2.0.0", "craftcms/google-cloud": "^2.0.0", "craftcms/redactor": "3.0.4", - "jamesedmonston/graphql-authentication": "2.4.0", + "jamesedmonston/graphql-authentication": "2.5.0", "lsst-epo/canto-dam-assets": "dev-develop-v4", "lsst/canto-dam-integrator": "dev-EPO-7854#v0.3.2", "rynpsc/craft-phone-number": "^2.1.0", diff --git a/api/composer.lock b/api/composer.lock index dc82b9c5..6dfd2b9f 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "782136b7b9936a0adcce989d4a3cdd0a", + "content-hash": "57c9a98b188d83a3af382978e7ff8634", "packages": [ { "name": "abraham/twitteroauth", @@ -289,11 +289,6 @@ { "name": "composer/ca-bundle", "version": "1.3.7", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "76e46335014860eec1aa5a724799a00a2e47cc85" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/ca-bundle/zipball/76e46335014860eec1aa5a724799a00a2e47cc85", @@ -341,35 +336,11 @@ "ssl", "tls" ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.3.7" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], "time": "2023-08-30T09:31:38+00:00" }, { "name": "composer/class-map-generator", "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/composer/class-map-generator.git", - "reference": "953cc4ea32e0c31f2185549c7d216d7921f03da9" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/class-map-generator/zipball/953cc4ea32e0c31f2185549c7d216d7921f03da9", @@ -381,14 +352,6 @@ "php": "^7.2 || ^8.0", "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7" }, - "require-dev": { - "phpstan/phpstan": "^1.6", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/filesystem": "^5.4 || ^6", - "symfony/phpunit-bridge": "^5" - }, "type": "library", "extra": { "branch-alias": { @@ -400,7 +363,6 @@ "Composer\\ClassMapGenerator\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -415,34 +377,11 @@ "keywords": [ "classmap" ], - "support": { - "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.1.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], "time": "2023-06-30T13:58:57+00:00" }, { "name": "composer/composer", "version": "2.6.2", - "source": { - "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "623e5e1de055e65bc6c3c61b8348dc4662d75e2b" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/composer/zipball/623e5e1de055e65bc6c3c61b8348dc4662d75e2b", @@ -472,14 +411,6 @@ "symfony/polyfill-php81": "^1.24", "symfony/process": "^5.4 || ^6.0 || ^7" }, - "require-dev": { - "phpstan/phpstan": "^1.9.3", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-strict-rules": "^1", - "phpstan/phpstan-symfony": "^1.2.10", - "symfony/phpunit-bridge": "^6.0 || ^7" - }, "suggest": { "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", "ext-zip": "Enabling the zip extension allows you to unzip archives", @@ -527,26 +458,6 @@ "dependency", "package" ], - "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/composer/issues", - "security": "https://github.com/composer/composer/security/policy", - "source": "https://github.com/composer/composer/tree/2.6.2" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], "time": "2023-09-03T12:09:15+00:00" }, { @@ -621,11 +532,6 @@ { "name": "composer/pcre", "version": "3.1.0", - "source": { - "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", @@ -635,11 +541,6 @@ "require": { "php": "^7.4 || ^8.0" }, - "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" - }, "type": "library", "extra": { "branch-alias": { @@ -669,34 +570,11 @@ "regex", "regular expression" ], - "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], "time": "2022-11-17T09:50:14+00:00" }, { "name": "composer/semver", "version": "3.4.0", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", @@ -749,25 +627,6 @@ "validation", "versioning" ], - "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], "time": "2023-08-31T09:50:34+00:00" }, { @@ -924,6 +783,65 @@ "url": "https://github.com/craftcms/cms.git", "reference": "bf4756f4079d883852ce50343e4d9668558dfb1c" }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/craftcms/aws-s3/zipball/a04ee659490d53da879e302e660ba3807532a926", + "reference": "a04ee659490d53da879e302e660ba3807532a926", + "shasum": "" + }, + "require": { + "craftcms/cms": "^4.0.0-beta.1", + "craftcms/flysystem": "^1.0.0-beta.2", + "league/flysystem-aws-s3-v3": "^3.0.0", + "php": "^8.0.2" + }, + "require-dev": { + "craftcms/ecs": "dev-main", + "craftcms/phpstan": "dev-main", + "craftcms/rector": "dev-main" + }, + "type": "craft-plugin", + "extra": { + "name": "Amazon S3", + "handle": "aws-s3", + "documentationUrl": "https://github.com/craftcms/aws-s3/blob/master/README.md" + }, + "autoload": { + "psr-4": { + "craft\\awss3\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Pixel & Tonic", + "homepage": "https://pixelandtonic.com/" + } + ], + "description": "Amazon S3 integration for Craft CMS", + "keywords": [ + "Flysystem", + "aws", + "cms", + "craftcms", + "s3", + "yii2" + ], + "support": { + "docs": "https://github.com/craftcms/aws-s3/blob/master/README.md", + "email": "support@craftcms.com", + "issues": "https://github.com/craftcms/aws-s3/issues?state=open", + "rss": "https://github.com/craftcms/aws-s3/commits/master.atom", + "source": "https://github.com/craftcms/aws-s3" + }, + "time": "2023-03-16T22:49:16+00:00" + }, + { + "name": "craftcms/cms", + "version": "4.5.4", "dist": { "type": "zip", "url": "https://api.github.com/repos/craftcms/cms/zipball/bf4756f4079d883852ce50343e4d9668558dfb1c", @@ -1445,11 +1363,6 @@ { "name": "craftcms/server-check", "version": "2.1.6", - "source": { - "type": "git", - "url": "https://github.com/craftcms/server-check.git", - "reference": "445c8eccde570ede09dc96c39fc1357a5296520f" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/craftcms/server-check/zipball/445c8eccde570ede09dc96c39fc1357a5296520f", @@ -1474,14 +1387,6 @@ "requirements", "yii2" ], - "support": { - "docs": "https://github.com/craftcms/docs", - "email": "support@craftcms.com", - "forum": "https://craftcms.stackexchange.com/", - "issues": "https://github.com/craftcms/server-check/issues?state=open", - "rss": "https://github.com/craftcms/server-check/releases.atom", - "source": "https://github.com/craftcms/server-check" - }, "time": "2023-09-09T18:23:58+00:00" }, { @@ -1638,11 +1543,6 @@ { "name": "doctrine/collections", "version": "2.1.3", - "source": { - "type": "git", - "url": "https://github.com/doctrine/collections.git", - "reference": "3023e150f90a38843856147b58190aa8b46cc155" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/collections/zipball/3023e150f90a38843856147b58190aa8b46cc155", @@ -1701,24 +1601,6 @@ "iterators", "php" ], - "support": { - "issues": "https://github.com/doctrine/collections/issues", - "source": "https://github.com/doctrine/collections/tree/2.1.3" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcollections", - "type": "tidelift" - } - ], "time": "2023-07-06T15:15:36+00:00" }, { @@ -2595,11 +2477,6 @@ { "name": "guzzlehttp/guzzle", "version": "7.8.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1110f66a6530a40fe7aea0378fe608ee2b2248f9", @@ -2698,24 +2575,6 @@ "rest", "web service" ], - "support": { - "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.0" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", - "type": "tidelift" - } - ], "time": "2023-08-27T10:20:53+00:00" }, { @@ -2800,11 +2659,6 @@ { "name": "guzzlehttp/psr7", "version": "1.9.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/guzzle/psr7/zipball/e4490cabc77465aaee90b20cfc9a770f8c04be6b", @@ -2882,34 +2736,11 @@ "uri", "url" ], - "support": { - "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.9.1" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", - "type": "tidelift" - } - ], "time": "2023-04-17T16:00:37+00:00" }, { "name": "illuminate/collections", "version": "v9.52.15", - "source": { - "type": "git", - "url": "https://github.com/illuminate/collections.git", - "reference": "d3710b0b244bfc62c288c1a87eaa62dd28352d1f" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/illuminate/collections/zipball/d3710b0b244bfc62c288c1a87eaa62dd28352d1f", @@ -2960,11 +2791,6 @@ { "name": "illuminate/conditionable", "version": "v9.52.15", - "source": { - "type": "git", - "url": "https://github.com/illuminate/conditionable.git", - "reference": "bea24daa0fa84b7e7b0d5b84f62c71b7e2dc3364" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/illuminate/conditionable/zipball/bea24daa0fa84b7e7b0d5b84f62c71b7e2dc3364", @@ -3006,11 +2832,6 @@ { "name": "illuminate/contracts", "version": "v9.52.15", - "source": { - "type": "git", - "url": "https://github.com/illuminate/contracts.git", - "reference": "44f65d723b13823baa02ff69751a5948bde60c22" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/illuminate/contracts/zipball/44f65d723b13823baa02ff69751a5948bde60c22", @@ -3054,11 +2875,6 @@ { "name": "illuminate/macroable", "version": "v9.52.15", - "source": { - "type": "git", - "url": "https://github.com/illuminate/macroable.git", - "reference": "e3bfaf6401742a9c6abca61b9b10e998e5b6449a" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/illuminate/macroable/zipball/e3bfaf6401742a9c6abca61b9b10e998e5b6449a", @@ -3847,11 +3663,6 @@ { "name": "moneyphp/money", "version": "v4.2.0", - "source": { - "type": "git", - "url": "https://github.com/moneyphp/money.git", - "reference": "f660ab7f1d7a4c2ffdd30f50c55ed2c95c26fc3f" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/moneyphp/money/zipball/f660ab7f1d7a4c2ffdd30f50c55ed2c95c26fc3f", @@ -3927,10 +3738,6 @@ "money", "vo" ], - "support": { - "issues": "https://github.com/moneyphp/money/issues", - "source": "https://github.com/moneyphp/money/tree/v4.2.0" - }, "time": "2023-08-16T14:31:24+00:00" }, { @@ -4354,11 +4161,6 @@ { "name": "phpdocumentor/type-resolver", "version": "1.7.3", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", @@ -4403,10 +4205,6 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "support": { - "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3" - }, "time": "2023-08-12T11:01:26+00:00" }, { @@ -4570,11 +4368,6 @@ { "name": "phpstan/phpdoc-parser", "version": "1.24.0", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "3510b0a6274cc42f7219367cb3abfc123ffa09d6" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/3510b0a6274cc42f7219367cb3abfc123ffa09d6", @@ -4608,10 +4401,6 @@ "MIT" ], "description": "PHPDoc parser with support for nullable, intersection and generic types", - "support": { - "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.0" - }, "time": "2023-09-07T20:46:32+00:00" }, { @@ -5118,11 +4907,6 @@ { "name": "react/promise", "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "c86753c76fd3be465d93b308f18d189f01a22be4" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/reactphp/promise/zipball/c86753c76fd3be465d93b308f18d189f01a22be4", @@ -5132,10 +4916,6 @@ "require": { "php": ">=7.1.0" }, - "require-dev": { - "phpstan/phpstan": "1.10.20 || 1.4.10", - "phpunit/phpunit": "^9.5 || ^7.5" - }, "type": "library", "autoload": { "files": [ @@ -5176,16 +4956,6 @@ "promise", "promises" ], - "support": { - "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v3.0.0" - }, - "funding": [ - { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" - } - ], "time": "2023-07-11T16:12:49+00:00" }, { @@ -5634,11 +5404,6 @@ { "name": "seld/signal-handler", "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/signal-handler.git", - "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", @@ -5648,14 +5413,6 @@ "require": { "php": ">=7.2.0" }, - "require-dev": { - "phpstan/phpstan": "^1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.3", - "phpunit/phpunit": "^7.5.20 || ^8.5.23", - "psr/log": "^1 || ^2 || ^3" - }, "type": "library", "extra": { "branch-alias": { @@ -5667,7 +5424,6 @@ "Seld\\Signal\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -5686,10 +5442,6 @@ "sigterm", "unix" ], - "support": { - "issues": "https://github.com/Seldaek/signal-handler/issues", - "source": "https://github.com/Seldaek/signal-handler/tree/2.0.2" - }, "time": "2023-09-03T09:24:00+00:00" }, { @@ -5748,11 +5500,6 @@ { "name": "symfony/console", "version": "v6.3.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6", @@ -5776,15 +5523,6 @@ "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/lock": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" - }, "type": "library", "autoload": { "psr-4": { @@ -5816,23 +5554,6 @@ "console", "terminal" ], - "support": { - "source": "https://github.com/symfony/console/tree/v6.3.4" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-08-16T10:10:12+00:00" }, { @@ -5905,11 +5626,6 @@ { "name": "symfony/event-dispatcher", "version": "v6.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/adb01fe097a4ee930db9258a3cc906b5beb5cf2e", @@ -5963,23 +5679,6 @@ ], "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-07-06T06:56:43+00:00" }, { @@ -6124,11 +5823,6 @@ { "name": "symfony/finder", "version": "v6.3.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/finder/zipball/9915db259f67d21eefee768c1abcf1cc61b1fc9e", @@ -6166,33 +5860,11 @@ ], "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v6.3.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-07-31T08:31:44+00:00" }, { "name": "symfony/http-client", "version": "v6.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-client.git", - "reference": "15f9f4bad62bfcbe48b5dedd866f04a08fc7ff00" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/http-client/zipball/15f9f4bad62bfcbe48b5dedd866f04a08fc7ff00", @@ -6258,23 +5930,6 @@ "keywords": [ "http" ], - "support": { - "source": "https://github.com/symfony/http-client/tree/v6.3.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-07-05T08:41:27+00:00" }, { @@ -6438,11 +6093,6 @@ { "name": "symfony/mime", "version": "v6.3.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "9a0cbd52baa5ba5a5b1f0cacc59466f194730f98" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/mime/zipball/9a0cbd52baa5ba5a5b1f0cacc59466f194730f98", @@ -6462,15 +6112,6 @@ "symfony/mailer": "<5.4", "symfony/serializer": "<6.2.13|>=6.3,<6.3.2" }, - "require-dev": { - "egulias/email-validator": "^2.1.10|^3.1|^4", - "league/html-to-markdown": "^5.0", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/property-access": "^5.4|^6.0", - "symfony/property-info": "^5.4|^6.0", - "symfony/serializer": "~6.2.13|^6.3.2" - }, "type": "library", "autoload": { "psr-4": { @@ -6500,33 +6141,11 @@ "mime", "mime-type" ], - "support": { - "source": "https://github.com/symfony/mime/tree/v6.3.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-07-31T07:08:24+00:00" }, { "name": "symfony/polyfill-ctype", "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", @@ -6582,33 +6201,11 @@ "polyfill", "portable" ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-iconv", "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/6de50471469b8c9afc38164452ab2b6170ee71c1", @@ -6665,33 +6262,11 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-grapheme", "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "875e90aeea2777b6f135677f618529449334a612" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", @@ -6746,33 +6321,11 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-idn", "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d", @@ -6833,33 +6386,11 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-01-26T09:30:37+00:00" }, { "name": "symfony/polyfill-intl-normalizer", "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", @@ -6917,33 +6448,11 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-mbstring", "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", @@ -7000,33 +6509,11 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-07-28T09:04:16+00:00" }, { "name": "symfony/polyfill-php72", "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", @@ -7076,33 +6563,11 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-php73", "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5", @@ -7155,33 +6620,11 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-php80", "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", @@ -7238,33 +6681,11 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-php81", "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b", @@ -7295,7 +6716,6 @@ "Resources/stubs" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -7317,33 +6737,11 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/process", "version": "v6.3.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/process/zipball/0b5c29118f2e980d455d2e34a5659f4579847c54", @@ -7378,23 +6776,6 @@ ], "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v6.3.4" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-08-07T10:39:22+00:00" }, { @@ -7482,11 +6863,6 @@ { "name": "symfony/string", "version": "v6.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "53d1a83225002635bca3482fcbf963001313fb68" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/string/zipball/53d1a83225002635bca3482fcbf963001313fb68", @@ -7546,33 +6922,11 @@ "utf-8", "utf8" ], - "support": { - "source": "https://github.com/symfony/string/tree/v6.3.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-07-05T08:41:27+00:00" }, { "name": "symfony/var-dumper", "version": "v5.4.28", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "684b36ff415e1381d4a943c3ca2502cd2debad73" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/var-dumper/zipball/684b36ff415e1381d4a943c3ca2502cd2debad73", @@ -7635,23 +6989,6 @@ "debug", "dump" ], - "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.28" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2023-08-24T13:38:36+00:00" }, { @@ -8113,11 +7450,6 @@ { "name": "voku/anti-xss", "version": "4.1.42", - "source": { - "type": "git", - "url": "https://github.com/voku/anti-xss.git", - "reference": "bca1f8607e55a3c5077483615cd93bd8f11bd675" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/voku/anti-xss/zipball/bca1f8607e55a3c5077483615cd93bd8f11bd675", @@ -8165,32 +7497,6 @@ "security", "xss" ], - "support": { - "issues": "https://github.com/voku/anti-xss/issues", - "source": "https://github.com/voku/anti-xss/tree/4.1.42" - }, - "funding": [ - { - "url": "https://www.paypal.me/moelleken", - "type": "custom" - }, - { - "url": "https://github.com/voku", - "type": "github" - }, - { - "url": "https://opencollective.com/anti-xss", - "type": "open_collective" - }, - { - "url": "https://www.patreon.com/voku", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/voku/anti-xss", - "type": "tidelift" - } - ], "time": "2023-07-03T14:40:46+00:00" }, { @@ -8814,11 +8120,6 @@ { "name": "webonyx/graphql-php", "version": "v14.11.10", - "source": { - "type": "git", - "url": "https://github.com/webonyx/graphql-php.git", - "reference": "d9c2fdebc6aa01d831bc2969da00e8588cffef19" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/d9c2fdebc6aa01d831bc2969da00e8588cffef19", @@ -8864,16 +8165,6 @@ "api", "graphql" ], - "support": { - "issues": "https://github.com/webonyx/graphql-php/issues", - "source": "https://github.com/webonyx/graphql-php/tree/v14.11.10" - }, - "funding": [ - { - "url": "https://opencollective.com/webonyx-graphql-php", - "type": "open_collective" - } - ], "time": "2023-07-05T14:23:37+00:00" }, { @@ -8949,11 +8240,6 @@ { "name": "yiisoft/yii2", "version": "2.0.48.1", - "source": { - "type": "git", - "url": "https://github.com/yiisoft/yii2-framework.git", - "reference": "de92f154eefe322fc1b1b2a52cce46677441ced4" - }, "dist": { "type": "zip", "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/de92f154eefe322fc1b1b2a52cce46677441ced4", @@ -9045,27 +8331,6 @@ "framework", "yii2" ], - "support": { - "forum": "https://forum.yiiframework.com/", - "irc": "ircs://irc.libera.chat:6697/yii", - "issues": "https://github.com/yiisoft/yii2/issues?state=open", - "source": "https://github.com/yiisoft/yii2", - "wiki": "https://www.yiiframework.com/wiki" - }, - "funding": [ - { - "url": "https://github.com/yiisoft", - "type": "github" - }, - { - "url": "https://opencollective.com/yiisoft", - "type": "open_collective" - }, - { - "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2", - "type": "tidelift" - } - ], "time": "2023-05-24T19:04:02+00:00" }, { diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index decb8719..4b59249e 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -1,4 +1,4 @@ -dateModified: 1694562108 +dateModified: 1694646040 email: fromEmail: $EMAIL_FROM_ADDRESS fromName: $EMAIL_SENDER_NAME From 2537bca422371494812d3adfe1646c650bc98169 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Tue, 19 Dec 2023 14:24:54 -0600 Subject: [PATCH 041/144] fix image tags --- .github/workflows/build-and-push.yaml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 70bf1c7c..79e8db6c 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -31,13 +31,11 @@ jobs: with: # list of Docker images to use as base name for tags images: | - gcr.io/edc-int-6c5e/rubinobs-api,enable=true - # images: | - # gcr.io/skyviewer/rubinobs-api,enable=${{ github.ref != 'master' && github.ref_type != 'tag' }} - # gcr.io/edc-int-6c5e/rubinobs-api,enable=${{ github.ref == 'master' || github.ref == 'k8s-build-updates' }} - # gcr.io/edc-prod-eef0/rubinobs-api,enable=${{ github.ref_type == 'tag'}} + gcr.io/skyviewer/rubinobs-api,enable=${{ (github.ref != 'master' && github.ref_type != 'tag') || github.base_ref == 'develop' }} + gcr.io/edc-int-6c5e/rubinobs-api,enable=${{ github.ref == 'master' || github.base_ref == 'master'}} + gcr.io/edc-prod-eef0/rubinobs-api,enable=${{ github.ref_type == 'tag'}} flavor: | - latest=true + latest=${{ github.event_name == 'push'}} # generate Docker tags based on the following events/attributes tags: | type=schedule From 8bbc7c014c4c9e3dd23dc393bc8573ce4bca6dab Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Tue, 19 Dec 2023 14:28:59 -0600 Subject: [PATCH 042/144] fix image tags --- .github/workflows/build-and-push.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 79e8db6c..4af30f68 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -54,8 +54,7 @@ jobs: - name: Login to GCP Dev uses: google-github-actions/setup-gcloud@v0 - if: false - # if: ${{ github.ref != 'master' && github.ref_type != 'tag' }} + if: ${{ (github.ref != 'master' && github.ref_type != 'tag') || github.base_ref == 'develop' }} with: service_account_key: ${{ secrets.DEV_SA_KEY }} project_id: skyviewer @@ -63,7 +62,7 @@ jobs: - name: Login to GCP Int uses: google-github-actions/setup-gcloud@v0 - if: true + if: ${{ github.ref == 'master' || github.base_ref == 'master'}} with: service_account_key: ${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }} project_id: edc-int-6c5e From 95c6507af49ddd965f6314f9117e353a824be8ce Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Tue, 19 Dec 2023 15:56:54 -0600 Subject: [PATCH 043/144] fix composer lock --- api/composer.json | 6 +- api/composer.lock | 952 +++++++++++++++++++++++++++++++++++++++------- 2 files changed, 808 insertions(+), 150 deletions(-) diff --git a/api/composer.json b/api/composer.json index 05b4c66a..ed0d2b2a 100755 --- a/api/composer.json +++ b/api/composer.json @@ -8,16 +8,14 @@ "craftcms/google-cloud": "^2.0.0", "craftcms/redactor": "3.0.4", "jamesedmonston/graphql-authentication": "2.5.0", - "lsst-epo/canto-dam-assets": "dev-develop-v4", - "lsst/canto-dam-integrator": "dev-EPO-7854", + "lsst-epo/canto-dam-assets": "4.0.9", "rynpsc/craft-phone-number": "^2.1.0", "sebastianlenz/linkfield": "^2.1.4", "spicyweb/craft-neo": "3.8.6", "venveo/craft-bulkedit": "4.0.1", "verbb/super-table": "3.0.9", "vlucas/phpdotenv": "^3.4.0", - "wrav/oembed": "^2.2.2", - "yiisoft/yii2-redis": "^2.0" + "wrav/oembed": "^2.2.2" }, "repositories": [ { diff --git a/api/composer.lock b/api/composer.lock index 8e3e6568..6bd5d113 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "26bd6b56db3003673680ee2b394febbd", + "content-hash": "60ef3417ee155e314e4721aa96f83c8d", "packages": [ { "name": "abraham/twitteroauth", @@ -289,6 +289,11 @@ { "name": "composer/ca-bundle", "version": "1.3.7", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "76e46335014860eec1aa5a724799a00a2e47cc85" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/ca-bundle/zipball/76e46335014860eec1aa5a724799a00a2e47cc85", @@ -336,11 +341,35 @@ "ssl", "tls" ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/ca-bundle/issues", + "source": "https://github.com/composer/ca-bundle/tree/1.3.7" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], "time": "2023-08-30T09:31:38+00:00" }, { "name": "composer/class-map-generator", "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/composer/class-map-generator.git", + "reference": "953cc4ea32e0c31f2185549c7d216d7921f03da9" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/class-map-generator/zipball/953cc4ea32e0c31f2185549c7d216d7921f03da9", @@ -352,6 +381,14 @@ "php": "^7.2 || ^8.0", "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7" }, + "require-dev": { + "phpstan/phpstan": "^1.6", + "phpstan/phpstan-deprecation-rules": "^1", + "phpstan/phpstan-phpunit": "^1", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/filesystem": "^5.4 || ^6", + "symfony/phpunit-bridge": "^5" + }, "type": "library", "extra": { "branch-alias": { @@ -363,6 +400,7 @@ "Composer\\ClassMapGenerator\\": "src" } }, + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -377,11 +415,34 @@ "keywords": [ "classmap" ], + "support": { + "issues": "https://github.com/composer/class-map-generator/issues", + "source": "https://github.com/composer/class-map-generator/tree/1.1.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], "time": "2023-06-30T13:58:57+00:00" }, { "name": "composer/composer", "version": "2.6.2", + "source": { + "type": "git", + "url": "https://github.com/composer/composer.git", + "reference": "623e5e1de055e65bc6c3c61b8348dc4662d75e2b" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/composer/zipball/623e5e1de055e65bc6c3c61b8348dc4662d75e2b", @@ -411,6 +472,14 @@ "symfony/polyfill-php81": "^1.24", "symfony/process": "^5.4 || ^6.0 || ^7" }, + "require-dev": { + "phpstan/phpstan": "^1.9.3", + "phpstan/phpstan-deprecation-rules": "^1", + "phpstan/phpstan-phpunit": "^1.0", + "phpstan/phpstan-strict-rules": "^1", + "phpstan/phpstan-symfony": "^1.2.10", + "symfony/phpunit-bridge": "^6.0 || ^7" + }, "suggest": { "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", "ext-zip": "Enabling the zip extension allows you to unzip archives", @@ -458,6 +527,26 @@ "dependency", "package" ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/composer/issues", + "security": "https://github.com/composer/composer/security/policy", + "source": "https://github.com/composer/composer/tree/2.6.2" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], "time": "2023-09-03T12:09:15+00:00" }, { @@ -532,6 +621,11 @@ { "name": "composer/pcre", "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/composer/pcre.git", + "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", @@ -541,6 +635,11 @@ "require": { "php": "^7.4 || ^8.0" }, + "require-dev": { + "phpstan/phpstan": "^1.3", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/phpunit-bridge": "^5" + }, "type": "library", "extra": { "branch-alias": { @@ -570,11 +669,34 @@ "regex", "regular expression" ], + "support": { + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.1.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], "time": "2022-11-17T09:50:14+00:00" }, { "name": "composer/semver", "version": "3.4.0", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", @@ -627,6 +749,25 @@ "validation", "versioning" ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], "time": "2023-08-31T09:50:34+00:00" }, { @@ -778,6 +919,11 @@ { "name": "craftcms/cms", "version": "4.5.4", + "source": { + "type": "git", + "url": "https://github.com/craftcms/cms.git", + "reference": "bf4756f4079d883852ce50343e4d9668558dfb1c" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/craftcms/cms/zipball/bf4756f4079d883852ce50343e4d9668558dfb1c", @@ -1299,6 +1445,11 @@ { "name": "craftcms/server-check", "version": "2.1.6", + "source": { + "type": "git", + "url": "https://github.com/craftcms/server-check.git", + "reference": "445c8eccde570ede09dc96c39fc1357a5296520f" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/craftcms/server-check/zipball/445c8eccde570ede09dc96c39fc1357a5296520f", @@ -1323,6 +1474,14 @@ "requirements", "yii2" ], + "support": { + "docs": "https://github.com/craftcms/docs", + "email": "support@craftcms.com", + "forum": "https://craftcms.stackexchange.com/", + "issues": "https://github.com/craftcms/server-check/issues?state=open", + "rss": "https://github.com/craftcms/server-check/releases.atom", + "source": "https://github.com/craftcms/server-check" + }, "time": "2023-09-09T18:23:58+00:00" }, { @@ -1479,6 +1638,11 @@ { "name": "doctrine/collections", "version": "2.1.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "3023e150f90a38843856147b58190aa8b46cc155" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/doctrine/collections/zipball/3023e150f90a38843856147b58190aa8b46cc155", @@ -1537,6 +1701,24 @@ "iterators", "php" ], + "support": { + "issues": "https://github.com/doctrine/collections/issues", + "source": "https://github.com/doctrine/collections/tree/2.1.3" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcollections", + "type": "tidelift" + } + ], "time": "2023-07-06T15:15:36+00:00" }, { @@ -2413,6 +2595,11 @@ { "name": "guzzlehttp/guzzle", "version": "7.8.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1110f66a6530a40fe7aea0378fe608ee2b2248f9", @@ -2511,6 +2698,24 @@ "rest", "web service" ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.8.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], "time": "2023-08-27T10:20:53+00:00" }, { @@ -2595,6 +2800,11 @@ { "name": "guzzlehttp/psr7", "version": "1.9.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/guzzle/psr7/zipball/e4490cabc77465aaee90b20cfc9a770f8c04be6b", @@ -2672,11 +2882,34 @@ "uri", "url" ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/1.9.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], "time": "2023-04-17T16:00:37+00:00" }, { "name": "illuminate/collections", "version": "v9.52.15", + "source": { + "type": "git", + "url": "https://github.com/illuminate/collections.git", + "reference": "d3710b0b244bfc62c288c1a87eaa62dd28352d1f" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/illuminate/collections/zipball/d3710b0b244bfc62c288c1a87eaa62dd28352d1f", @@ -2727,6 +2960,11 @@ { "name": "illuminate/conditionable", "version": "v9.52.15", + "source": { + "type": "git", + "url": "https://github.com/illuminate/conditionable.git", + "reference": "bea24daa0fa84b7e7b0d5b84f62c71b7e2dc3364" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/illuminate/conditionable/zipball/bea24daa0fa84b7e7b0d5b84f62c71b7e2dc3364", @@ -2768,6 +3006,11 @@ { "name": "illuminate/contracts", "version": "v9.52.15", + "source": { + "type": "git", + "url": "https://github.com/illuminate/contracts.git", + "reference": "44f65d723b13823baa02ff69751a5948bde60c22" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/illuminate/contracts/zipball/44f65d723b13823baa02ff69751a5948bde60c22", @@ -2811,6 +3054,11 @@ { "name": "illuminate/macroable", "version": "v9.52.15", + "source": { + "type": "git", + "url": "https://github.com/illuminate/macroable.git", + "reference": "e3bfaf6401742a9c6abca61b9b10e998e5b6449a" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/illuminate/macroable/zipball/e3bfaf6401742a9c6abca61b9b10e998e5b6449a", @@ -3429,77 +3677,12 @@ "source": { "type": "git", "url": "https://github.com/lsst-epo/canto-dam-assets.git", - "reference": "e711f598b29efd23363b2cb5a4101f30b0f0a903" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lsst-epo/canto-dam-assets/zipball/e711f598b29efd23363b2cb5a4101f30b0f0a903", - "reference": "e711f598b29efd23363b2cb5a4101f30b0f0a903", - "shasum": "" - }, - "require": { - "craftcms/cms": "^4.4.0", - "daccess1/yii2-json-query-helper": "^1.0.0", - "nystudio107/craft-plugin-vite": "^4.0.0", - "php": ">=8.0.2" - }, - "require-dev": { - "craftcms/ecs": "dev-main", - "craftcms/phpstan": "dev-main" - }, - "type": "craft-plugin", - "extra": { - "handle": "_canto-dam-assets", - "name": "Canto DAM Assets", - "developer": "nystudio107", - "documentationUrl": "https://github.com/lsst-epo/canto-dam-assets/blob/develop-v4/README.md", - "class": "lsst\\cantodamassets\\CantoDamAssets" - }, - "autoload": { - "psr-4": { - "lsst\\cantodamassets\\": "src/" - } - }, - "scripts": { - "check-cs": [ - "ecs check --ansi" - ], - "fix-cs": [ - "ecs check --ansi --fix" - ], - "phpstan": [ - "phpstan --memory-limit=1G" - ] - }, - "license": [ - "MIT" - ], - "authors": [ - { - "name": "nystudio107", - "homepage": "https://nystudio107.com" - } - ], - "description": "This Craft CMS plugin adds a Field Type with GraphQL support for the Canto Digital Asset Management (DAM) web system", - "support": { - "docs": "https://github.com/lsst-epo/canto-dam-assets/blob/develop-v4/README.md", - "issues": "https://github.com/lsst-epo/canto-dam-assets/issues", - "source": "https://github.com/lsst-epo/canto-dam-assets/" - }, - "time": "2023-10-10T03:01:45+00:00" - }, - { - "name": "lsst/canto-dam-integrator", - "version": "dev-EPO-7854", - "source": { - "type": "git", - "url": "https://github.com/lsst-epo/craft-canto-dam-integrator.git", - "reference": "3ddd7eb9b0f2de0fbf551ae45e14aca0e577274e" + "reference": "23b37e676db58fc84171b78ad2f2089b90696247" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lsst-epo/craft-canto-dam-integrator/zipball/3ddd7eb9b0f2de0fbf551ae45e14aca0e577274e", - "reference": "3ddd7eb9b0f2de0fbf551ae45e14aca0e577274e", + "url": "https://api.github.com/repos/lsst-epo/canto-dam-assets/zipball/23b37e676db58fc84171b78ad2f2089b90696247", + "reference": "23b37e676db58fc84171b78ad2f2089b90696247", "shasum": "" }, "require": { @@ -3551,7 +3734,7 @@ "issues": "https://github.com/lsst-epo/canto-dam-assets/issues", "source": "https://github.com/lsst-epo/canto-dam-assets/" }, - "time": "2023-10-03T22:20:08+00:00" + "time": "2023-11-13T23:48:10+00:00" }, { "name": "mikehaertl/php-shellcommand", @@ -3602,6 +3785,11 @@ { "name": "moneyphp/money", "version": "v4.2.0", + "source": { + "type": "git", + "url": "https://github.com/moneyphp/money.git", + "reference": "f660ab7f1d7a4c2ffdd30f50c55ed2c95c26fc3f" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/moneyphp/money/zipball/f660ab7f1d7a4c2ffdd30f50c55ed2c95c26fc3f", @@ -3677,6 +3865,10 @@ "money", "vo" ], + "support": { + "issues": "https://github.com/moneyphp/money/issues", + "source": "https://github.com/moneyphp/money/tree/v4.2.0" + }, "time": "2023-08-16T14:31:24+00:00" }, { @@ -4048,6 +4240,11 @@ { "name": "phpdocumentor/type-resolver", "version": "1.7.3", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", @@ -4092,6 +4289,10 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3" + }, "time": "2023-08-12T11:01:26+00:00" }, { @@ -4255,6 +4456,11 @@ { "name": "phpstan/phpdoc-parser", "version": "1.24.0", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "3510b0a6274cc42f7219367cb3abfc123ffa09d6" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/3510b0a6274cc42f7219367cb3abfc123ffa09d6", @@ -4288,6 +4494,10 @@ "MIT" ], "description": "PHPDoc parser with support for nullable, intersection and generic types", + "support": { + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.0" + }, "time": "2023-09-07T20:46:32+00:00" }, { @@ -4794,7 +5004,12 @@ { "name": "react/promise", "version": "v3.0.0", - "dist": { + "source": { + "type": "git", + "url": "https://github.com/reactphp/promise.git", + "reference": "c86753c76fd3be465d93b308f18d189f01a22be4" + }, + "dist": { "type": "zip", "url": "https://api.github.com/repos/reactphp/promise/zipball/c86753c76fd3be465d93b308f18d189f01a22be4", "reference": "c86753c76fd3be465d93b308f18d189f01a22be4", @@ -4803,6 +5018,10 @@ "require": { "php": ">=7.1.0" }, + "require-dev": { + "phpstan/phpstan": "1.10.20 || 1.4.10", + "phpunit/phpunit": "^9.5 || ^7.5" + }, "type": "library", "autoload": { "files": [ @@ -4843,6 +5062,16 @@ "promise", "promises" ], + "support": { + "issues": "https://github.com/reactphp/promise/issues", + "source": "https://github.com/reactphp/promise/tree/v3.0.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], "time": "2023-07-11T16:12:49+00:00" }, { @@ -5291,6 +5520,11 @@ { "name": "seld/signal-handler", "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/signal-handler.git", + "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", @@ -5300,6 +5534,14 @@ "require": { "php": ">=7.2.0" }, + "require-dev": { + "phpstan/phpstan": "^1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^7.5.20 || ^8.5.23", + "psr/log": "^1 || ^2 || ^3" + }, "type": "library", "extra": { "branch-alias": { @@ -5311,6 +5553,7 @@ "Seld\\Signal\\": "src/" } }, + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -5329,6 +5572,10 @@ "sigterm", "unix" ], + "support": { + "issues": "https://github.com/Seldaek/signal-handler/issues", + "source": "https://github.com/Seldaek/signal-handler/tree/2.0.2" + }, "time": "2023-09-03T09:24:00+00:00" }, { @@ -5387,6 +5634,11 @@ { "name": "symfony/console", "version": "v6.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6", @@ -5410,6 +5662,15 @@ "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/lock": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/var-dumper": "^5.4|^6.0" + }, "type": "library", "autoload": { "psr-4": { @@ -5441,6 +5702,23 @@ "console", "terminal" ], + "support": { + "source": "https://github.com/symfony/console/tree/v6.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-08-16T10:10:12+00:00" }, { @@ -5513,6 +5791,11 @@ { "name": "symfony/event-dispatcher", "version": "v6.3.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/adb01fe097a4ee930db9258a3cc906b5beb5cf2e", @@ -5566,6 +5849,23 @@ ], "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-07-06T06:56:43+00:00" }, { @@ -5710,6 +6010,11 @@ { "name": "symfony/finder", "version": "v6.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/finder/zipball/9915db259f67d21eefee768c1abcf1cc61b1fc9e", @@ -5747,11 +6052,33 @@ ], "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v6.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-07-31T08:31:44+00:00" }, { "name": "symfony/http-client", "version": "v6.3.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client.git", + "reference": "15f9f4bad62bfcbe48b5dedd866f04a08fc7ff00" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/http-client/zipball/15f9f4bad62bfcbe48b5dedd866f04a08fc7ff00", @@ -5817,6 +6144,23 @@ "keywords": [ "http" ], + "support": { + "source": "https://github.com/symfony/http-client/tree/v6.3.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-07-05T08:41:27+00:00" }, { @@ -5980,6 +6324,11 @@ { "name": "symfony/mime", "version": "v6.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "9a0cbd52baa5ba5a5b1f0cacc59466f194730f98" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/mime/zipball/9a0cbd52baa5ba5a5b1f0cacc59466f194730f98", @@ -5999,6 +6348,15 @@ "symfony/mailer": "<5.4", "symfony/serializer": "<6.2.13|>=6.3,<6.3.2" }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "league/html-to-markdown": "^5.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/property-access": "^5.4|^6.0", + "symfony/property-info": "^5.4|^6.0", + "symfony/serializer": "~6.2.13|^6.3.2" + }, "type": "library", "autoload": { "psr-4": { @@ -6028,11 +6386,33 @@ "mime", "mime-type" ], + "support": { + "source": "https://github.com/symfony/mime/tree/v6.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-07-31T07:08:24+00:00" }, { "name": "symfony/polyfill-ctype", "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", @@ -6088,11 +6468,33 @@ "polyfill", "portable" ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-iconv", "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/6de50471469b8c9afc38164452ab2b6170ee71c1", @@ -6149,11 +6551,33 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-grapheme", "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "875e90aeea2777b6f135677f618529449334a612" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", @@ -6208,11 +6632,33 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-idn", "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "ecaafce9f77234a6a449d29e49267ba10499116d" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d", @@ -6273,11 +6719,33 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-01-26T09:30:37+00:00" }, { "name": "symfony/polyfill-intl-normalizer", "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", @@ -6335,11 +6803,33 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-mbstring", "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "42292d99c55abe617799667f454222c54c60e229" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", @@ -6396,11 +6886,33 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-07-28T09:04:16+00:00" }, { "name": "symfony/polyfill-php72", "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", @@ -6450,11 +6962,33 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-php73", "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5", @@ -6507,11 +7041,33 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-php80", "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", @@ -6568,11 +7124,33 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-php81", "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b", @@ -6603,6 +7181,7 @@ "Resources/stubs" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -6624,11 +7203,33 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/process", "version": "v6.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/process/zipball/0b5c29118f2e980d455d2e34a5659f4579847c54", @@ -6663,6 +7264,23 @@ ], "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v6.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-08-07T10:39:22+00:00" }, { @@ -6750,6 +7368,11 @@ { "name": "symfony/string", "version": "v6.3.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "53d1a83225002635bca3482fcbf963001313fb68" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/string/zipball/53d1a83225002635bca3482fcbf963001313fb68", @@ -6809,11 +7432,33 @@ "utf-8", "utf8" ], + "support": { + "source": "https://github.com/symfony/string/tree/v6.3.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-07-05T08:41:27+00:00" }, { "name": "symfony/var-dumper", "version": "v5.4.28", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "684b36ff415e1381d4a943c3ca2502cd2debad73" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/symfony/var-dumper/zipball/684b36ff415e1381d4a943c3ca2502cd2debad73", @@ -6876,6 +7521,23 @@ "debug", "dump" ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v5.4.28" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2023-08-24T13:38:36+00:00" }, { @@ -7337,6 +7999,11 @@ { "name": "voku/anti-xss", "version": "4.1.42", + "source": { + "type": "git", + "url": "https://github.com/voku/anti-xss.git", + "reference": "bca1f8607e55a3c5077483615cd93bd8f11bd675" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/voku/anti-xss/zipball/bca1f8607e55a3c5077483615cd93bd8f11bd675", @@ -7384,6 +8051,32 @@ "security", "xss" ], + "support": { + "issues": "https://github.com/voku/anti-xss/issues", + "source": "https://github.com/voku/anti-xss/tree/4.1.42" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/anti-xss", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/anti-xss", + "type": "tidelift" + } + ], "time": "2023-07-03T14:40:46+00:00" }, { @@ -8007,6 +8700,11 @@ { "name": "webonyx/graphql-php", "version": "v14.11.10", + "source": { + "type": "git", + "url": "https://github.com/webonyx/graphql-php.git", + "reference": "d9c2fdebc6aa01d831bc2969da00e8588cffef19" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/d9c2fdebc6aa01d831bc2969da00e8588cffef19", @@ -8052,6 +8750,16 @@ "api", "graphql" ], + "support": { + "issues": "https://github.com/webonyx/graphql-php/issues", + "source": "https://github.com/webonyx/graphql-php/tree/v14.11.10" + }, + "funding": [ + { + "url": "https://opencollective.com/webonyx-graphql-php", + "type": "open_collective" + } + ], "time": "2023-07-05T14:23:37+00:00" }, { @@ -8127,6 +8835,11 @@ { "name": "yiisoft/yii2", "version": "2.0.48.1", + "source": { + "type": "git", + "url": "https://github.com/yiisoft/yii2-framework.git", + "reference": "de92f154eefe322fc1b1b2a52cce46677441ced4" + }, "dist": { "type": "zip", "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/de92f154eefe322fc1b1b2a52cce46677441ced4", @@ -8218,6 +8931,27 @@ "framework", "yii2" ], + "support": { + "forum": "https://forum.yiiframework.com/", + "irc": "ircs://irc.libera.chat:6697/yii", + "issues": "https://github.com/yiisoft/yii2/issues?state=open", + "source": "https://github.com/yiisoft/yii2", + "wiki": "https://www.yiiframework.com/wiki" + }, + "funding": [ + { + "url": "https://github.com/yiisoft", + "type": "github" + }, + { + "url": "https://opencollective.com/yiisoft", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2", + "type": "tidelift" + } + ], "time": "2023-05-24T19:04:02+00:00" }, { @@ -8492,80 +9226,6 @@ ], "time": "2022-11-18T17:16:47+00:00" }, - { - "name": "yiisoft/yii2-redis", - "version": "2.0.18", - "source": { - "type": "git", - "url": "https://github.com/yiisoft/yii2-redis.git", - "reference": "08aecdf44e091c5fae3411e719ac0fdb803ef594" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/yiisoft/yii2-redis/zipball/08aecdf44e091c5fae3411e719ac0fdb803ef594", - "reference": "08aecdf44e091c5fae3411e719ac0fdb803ef594", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "yiisoft/yii2": "~2.0.39" - }, - "require-dev": { - "phpunit/phpunit": "<7", - "yiisoft/yii2-dev": "~2.0.39" - }, - "type": "yii2-extension", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "yii\\redis\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Carsten Brandt", - "email": "mail@cebe.cc" - } - ], - "description": "Redis Cache, Session and ActiveRecord for the Yii framework", - "keywords": [ - "active-record", - "cache", - "redis", - "session", - "yii2" - ], - "support": { - "forum": "http://www.yiiframework.com/forum/", - "irc": "irc://irc.freenode.net/yii", - "issues": "https://github.com/yiisoft/yii2-redis/issues", - "source": "https://github.com/yiisoft/yii2-redis", - "wiki": "http://www.yiiframework.com/wiki/" - }, - "funding": [ - { - "url": "https://github.com/yiisoft", - "type": "github" - }, - { - "url": "https://opencollective.com/yiisoft", - "type": "open_collective" - }, - { - "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2-redis", - "type": "tidelift" - } - ], - "time": "2022-09-04T10:34:42+00:00" - }, { "name": "yiisoft/yii2-symfonymailer", "version": "2.0.4", @@ -8851,5 +9511,5 @@ "platform-overrides": { "php": "8.1.10" }, - "plugin-api-version": "2.1.0" + "plugin-api-version": "2.3.0" } From 5ed2acda458fd4fbfaf18d66c9d0bdbbc62bdfa2 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Tue, 19 Dec 2023 16:02:28 -0600 Subject: [PATCH 044/144] fix files --- ...tive--10e8304e-93be-4c77-b1e9-7d9058c4aa92.yaml | 14 -------------- api/config/project/project.yaml | 6 ++++++ 2 files changed, 6 insertions(+), 14 deletions(-) delete mode 100644 api/config/project/fields/isActive--10e8304e-93be-4c77-b1e9-7d9058c4aa92.yaml diff --git a/api/config/project/fields/isActive--10e8304e-93be-4c77-b1e9-7d9058c4aa92.yaml b/api/config/project/fields/isActive--10e8304e-93be-4c77-b1e9-7d9058c4aa92.yaml deleted file mode 100644 index e3944253..00000000 --- a/api/config/project/fields/isActive--10e8304e-93be-4c77-b1e9-7d9058c4aa92.yaml +++ /dev/null @@ -1,14 +0,0 @@ -columnSuffix: vcdswklf -contentColumnType: boolean -fieldGroup: 3eefd793-f1fb-4692-ba0e-ff68f354543b # Investigations -handle: isActive -instructions: 'Determines whether content links to this content should appear to be available or disabled/"coming soon."' -name: 'Is Active' -searchable: false -settings: - default: true - offLabel: Inactive - onLabel: Active -translationKeyFormat: null -translationMethod: site -type: craft\fields\Lightswitch diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index 1a6c27f2..9d5b5753 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -2163,6 +2163,9 @@ plugins: - - assetVariants - '' + - + - cantoDam + - '' - - group-11 - @@ -2229,6 +2232,9 @@ plugins: - - assetVariants - '' + - + - cantoDam + - '' invalidEmailAddress: 'Invalid email address' invalidHeader: 'Invalid Authorization Header' invalidJwtSecretKey: 'Invalid JWT Secret Key' From b444c63eaa36088b80dee3cafe07c1fd45ed0b80 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Tue, 19 Dec 2023 16:28:49 -0600 Subject: [PATCH 045/144] change tag --- .github/workflows/build-and-push.yaml | 2 +- api/config/app.php | 38 +++++++++++---------------- 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 07c39356..68aa9bb9 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -90,4 +90,4 @@ jobs: cache-from: | type=gha build-args: | - BASE_TAG=latest + BASE_TAG=k8s diff --git a/api/config/app.php b/api/config/app.php index d8d530ce..d1ba1405 100755 --- a/api/config/app.php +++ b/api/config/app.php @@ -26,29 +26,23 @@ 'user-registration-module' => \modules\userregistrationmodule\UserRegistrationModule::class, ], 'components' => [ - 'redis' => [ - 'class' => yii\redis\Connection::class, - 'hostname' => App::env('REDIS_HOSTNAME') ?: 'localhost', - 'port' => App::env('REDIS_PORT') ?: 6378, - 'password' => App::env('REDIS_PASSWORD') ?: null, - 'database' => App::env('REDIS_CRAFT_DB') ?: 0, - 'useSSL' => App::env('REDIS_USE_SSL'), - 'contextOptions' => [ - 'ssl' => [ - 'verify_peer' => false, - 'verify_peer_name' => false, - ] - ] + 'cache' => [ + 'class' => yii\caching\MemCache::class, + 'useMemcached' => App::env('ENABLE_MEMCACHED') ?: false, + 'defaultDuration' => 86400, + 'servers' => [ + [ + 'host' => App::env('MEMCACHED_IP'), + 'persistent' => true, + 'port' => App::env('MEMCACHED_PORT') ?: '11211', + 'retryInterval' => 15, + 'status' => true, + 'timeout' => 15, + 'weight' => 1, + ], + ], + 'keyPrefix' => App::env('APP_ID') ?: 'CraftCMS', ], - 'cache' => function() { - $config = [ - 'class' => yii\redis\Cache::class, - 'keyPrefix' => Craft::$app->id, - 'defaultDuration' => Craft::$app->config->general->cacheDuration, - ]; - - return Craft::createObject($config); - } ], 'bootstrap' => ['user-registration-module'], ]; From 1265e511156e87aac45a96e278db077cf5504c8e Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Tue, 19 Dec 2023 17:23:13 -0600 Subject: [PATCH 046/144] change tag --- api/config/app.php | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/api/config/app.php b/api/config/app.php index d1ba1405..d8d530ce 100755 --- a/api/config/app.php +++ b/api/config/app.php @@ -26,23 +26,29 @@ 'user-registration-module' => \modules\userregistrationmodule\UserRegistrationModule::class, ], 'components' => [ - 'cache' => [ - 'class' => yii\caching\MemCache::class, - 'useMemcached' => App::env('ENABLE_MEMCACHED') ?: false, - 'defaultDuration' => 86400, - 'servers' => [ - [ - 'host' => App::env('MEMCACHED_IP'), - 'persistent' => true, - 'port' => App::env('MEMCACHED_PORT') ?: '11211', - 'retryInterval' => 15, - 'status' => true, - 'timeout' => 15, - 'weight' => 1, - ], - ], - 'keyPrefix' => App::env('APP_ID') ?: 'CraftCMS', + 'redis' => [ + 'class' => yii\redis\Connection::class, + 'hostname' => App::env('REDIS_HOSTNAME') ?: 'localhost', + 'port' => App::env('REDIS_PORT') ?: 6378, + 'password' => App::env('REDIS_PASSWORD') ?: null, + 'database' => App::env('REDIS_CRAFT_DB') ?: 0, + 'useSSL' => App::env('REDIS_USE_SSL'), + 'contextOptions' => [ + 'ssl' => [ + 'verify_peer' => false, + 'verify_peer_name' => false, + ] + ] ], + 'cache' => function() { + $config = [ + 'class' => yii\redis\Cache::class, + 'keyPrefix' => Craft::$app->id, + 'defaultDuration' => Craft::$app->config->general->cacheDuration, + ]; + + return Craft::createObject($config); + } ], 'bootstrap' => ['user-registration-module'], ]; From 16901eb17e590c066771bc020daed040314034a8 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Tue, 19 Dec 2023 18:02:22 -0600 Subject: [PATCH 047/144] fix dep --- api/composer.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api/composer.json b/api/composer.json index ed0d2b2a..d93de4eb 100755 --- a/api/composer.json +++ b/api/composer.json @@ -15,7 +15,8 @@ "venveo/craft-bulkedit": "4.0.1", "verbb/super-table": "3.0.9", "vlucas/phpdotenv": "^3.4.0", - "wrav/oembed": "^2.2.2" + "wrav/oembed": "^2.2.2", + "yiisoft/yii2-redis": "^2.0" }, "repositories": [ { From b39df79a6db02bca0ade3a9b720d3981835c9eba Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Tue, 19 Dec 2023 18:19:32 -0600 Subject: [PATCH 048/144] fix dep --- api/composer.lock | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/api/composer.lock b/api/composer.lock index 6bd5d113..29c8fa73 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "60ef3417ee155e314e4721aa96f83c8d", + "content-hash": "5e9f57c4830738a8f2a7912d3bd67682", "packages": [ { "name": "abraham/twitteroauth", @@ -9226,6 +9226,49 @@ ], "time": "2022-11-18T17:16:47+00:00" }, + { + "name": "yiisoft/yii2-redis", + "version": "2.0.18", + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yiisoft/yii2-redis/zipball/08aecdf44e091c5fae3411e719ac0fdb803ef594", + "reference": "08aecdf44e091c5fae3411e719ac0fdb803ef594", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "yiisoft/yii2": "~2.0.39" + }, + "type": "yii2-extension", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "yii\\redis\\": "src" + } + }, + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Carsten Brandt", + "email": "mail@cebe.cc" + } + ], + "description": "Redis Cache, Session and ActiveRecord for the Yii framework", + "keywords": [ + "active-record", + "cache", + "redis", + "session", + "yii2" + ], + "time": "2022-09-04T10:34:42+00:00" + }, { "name": "yiisoft/yii2-symfonymailer", "version": "2.0.4", @@ -9511,5 +9554,5 @@ "platform-overrides": { "php": "8.1.10" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } From 970238b392c0da6a08d98f3be4e5936942497ca6 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 20 Dec 2023 09:17:14 -0600 Subject: [PATCH 049/144] update gcp actions --- .github/workflows/build-and-push.yaml | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 68aa9bb9..f7759ff9 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -53,28 +53,25 @@ jobs: uses: docker/setup-buildx-action@v2 - name: Login to GCP Dev - uses: google-github-actions/setup-gcloud@v0 + uses: 'google-github-actions/auth@v2' if: ${{ (github.ref != 'master' && github.ref_type != 'tag') || github.base_ref == 'develop' }} with: - service_account_key: ${{ secrets.DEV_SA_KEY }} - project_id: skyviewer - export_default_credentials: true + credentials_json: ${{ secrets.DEV_SA_KEY }} - name: Login to GCP Int - uses: google-github-actions/setup-gcloud@v0 + uses: 'google-github-actions/auth@v2' if: ${{ github.ref == 'master' || github.base_ref == 'master'}} with: - service_account_key: ${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }} - project_id: edc-int-6c5e - export_default_credentials: true + credentials_json: ${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }} - name: Login to GCP Prod - uses: google-github-actions/setup-gcloud@v0 + uses: 'google-github-actions/auth@v2' if: ${{ github.ref_type == 'tag' }} with: - service_account_key: ${{ secrets.PIPELINE_EPO_PROD_PROJECT }} - project_id: edc-prod-eef0 - export_default_credentials: true + credentials_json: ${{ secrets.PIPELINE_EPO_PROD_PROJECT }} + - + name: 'Set up Cloud SDK' + uses: 'google-github-actions/setup-gcloud@v2' - run: gcloud --quiet auth configure-docker - From 907918ddfa7f4891f4a5fc82e1589e0f445b827d Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 20 Dec 2023 19:13:03 -0600 Subject: [PATCH 050/144] update project config --- api/config/project/project.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/api/config/project/project.yaml b/api/config/project/project.yaml index 9d5b5753..1a6c27f2 100644 --- a/api/config/project/project.yaml +++ b/api/config/project/project.yaml @@ -2163,9 +2163,6 @@ plugins: - - assetVariants - '' - - - - cantoDam - - '' - - group-11 - @@ -2232,9 +2229,6 @@ plugins: - - assetVariants - '' - - - - cantoDam - - '' invalidEmailAddress: 'Invalid email address' invalidHeader: 'Invalid Authorization Header' invalidJwtSecretKey: 'Invalid JWT Secret Key' From ad4921a5324d1ab51122b7524f016545382f8abd Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 20 Dec 2023 19:13:49 -0600 Subject: [PATCH 051/144] fix dev build logic --- .github/workflows/build-and-push.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index f7759ff9..459c88cf 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -31,7 +31,7 @@ jobs: with: # list of Docker images to use as base name for tags images: | - gcr.io/skyviewer/rubinobs-api,enable=${{ (github.ref != 'master' && github.ref_type != 'tag') || github.base_ref == 'develop' }} + gcr.io/skyviewer/rubinobs-api,enable=${{ github.ref != 'master' && github.ref_type != 'tag' && github.base_ref == 'develop' }} gcr.io/edc-int-6c5e/rubinobs-api,enable=${{ github.ref == 'master' || github.base_ref == 'master'}} gcr.io/edc-prod-eef0/rubinobs-api,enable=${{ github.ref_type == 'tag'}} flavor: | @@ -54,7 +54,7 @@ jobs: - name: Login to GCP Dev uses: 'google-github-actions/auth@v2' - if: ${{ (github.ref != 'master' && github.ref_type != 'tag') || github.base_ref == 'develop' }} + if: ${{ github.ref != 'master' && github.ref_type != 'tag' && github.base_ref == 'develop' }} with: credentials_json: ${{ secrets.DEV_SA_KEY }} - From c3e55b894de04ca3568f2ac561fc43a540c9a250 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 20 Dec 2023 20:52:28 -0600 Subject: [PATCH 052/144] Update deployment workflow --- .github/workflows/build-and-push.yaml | 16 +++++ .github/workflows/deploy-gke.yaml | 89 +++++++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 .github/workflows/deploy-gke.yaml diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 459c88cf..3a80ea3f 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -88,3 +88,19 @@ jobs: type=gha build-args: | BASE_TAG=k8s + + deploy-prod: + needs: docker + uses: ./.github/workflows/deploy-gke.yaml + if: ${{ github.ref_type == 'tag' }} + with: + production: true + image_tag: ${{ github.ref }} + + deploy-int: + needs: docker + uses: ./.github/workflows/deploy-gke.yaml + if: ${{ github.ref == 'master' }} + with: + production: false + image_tag: ${{ steps.meta.outputs.version }} \ No newline at end of file diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml new file mode 100644 index 00000000..220e91c0 --- /dev/null +++ b/.github/workflows/deploy-gke.yaml @@ -0,0 +1,89 @@ +name: Deploy to GKE + +on: + workflow_dispatch: + inputs: + production: + description: A boolean indicating if this is a prod deployment + type: boolean + required: false + default: false + image_tag: + description: The API image tag to deploy + type: string + required: false + default: latest + +concurrency: ${{ inputs.environment }}-deploy + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - + name: Login to GCP Int + uses: 'google-github-actions/auth@v2' + if: ${{ !inputs.production }} + with: + credentials_json: ${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }} + + - + name: Login to GCP Prod + uses: 'google-github-actions/auth@v2' + if: ${{ inputs.production }} + with: + credentials_json: ${{ secrets.PIPELINE_EPO_PROD_PROJECT }} + + - + name: 'Set up Cloud SDK' + uses: 'google-github-actions/setup-gcloud@v2' + + - + name: Get Int Cluster Credentials + uses: 'google-github-actions/get-gke-credentials@v2' + if: ${{ inputs.production }} + with: + cluster_name: gke-ap-edc-int + location: us-central1 + + - + name: Get Prod Cluster Credentials + uses: 'google-github-actions/get-gke-credentials@v2' + if: ${{ inputs.production }} + with: + cluster_name: gke-ap-edc-prod + location: us-central1 + + - + name: Get Application/Deployment name + run: | + echo deployment_name=$(kubectl get deployment -n rubinobs -l app.kubernetes.io=api -o name) >> $GITHUB_ENV + + - + name: Update ArgoCD Application/Deployment + if: ${{ inputs.production }} + run : | + cat <<-EOF | kubectl apply -f- + apiVersion: argoproj.io/v1alpha1 + kind: Application + metadata: + name: edc-prod-rubinobs-site + namespace: argocd + spec: + source: + helm: + parameters: + - name: api.image.tag + value: latest + operation: + initiatedBy: + username: ${{ github.actor }} + sync: + syncStrategy: + hook: {} + EOF + + - + name: Restart Deployment + if: ${{ !inputs.production && image_tag == 'latest' }} + run: kubectl rollout restart -n rubinobs $deployment_name \ No newline at end of file From 338b5916df7290848325b24b5db78b01eb93e23d Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 20 Dec 2023 20:53:19 -0600 Subject: [PATCH 053/144] Update deployment workflow --- .github/workflows/deploy-gke.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 220e91c0..7eabd87a 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -1,7 +1,7 @@ name: Deploy to GKE on: - workflow_dispatch: + workflow_call: inputs: production: description: A boolean indicating if this is a prod deployment From e8a39d99fb227866c90ef9236efc0339823b9b8e Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 20 Dec 2023 20:54:23 -0600 Subject: [PATCH 054/144] Update deployment workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 3a80ea3f..3049c024 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -103,4 +103,4 @@ jobs: if: ${{ github.ref == 'master' }} with: production: false - image_tag: ${{ steps.meta.outputs.version }} \ No newline at end of file + image_tag: latest \ No newline at end of file From d91e17c38f25e84cb493772dbb14399c92edde7b Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 20 Dec 2023 20:55:26 -0600 Subject: [PATCH 055/144] Update deployment workflow --- .github/workflows/deploy-gke.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 7eabd87a..649bfcf7 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -85,5 +85,5 @@ jobs: - name: Restart Deployment - if: ${{ !inputs.production && image_tag == 'latest' }} + if: ${{ !inputs.production && inputs.image_tag == 'latest' }} run: kubectl rollout restart -n rubinobs $deployment_name \ No newline at end of file From ecbc5af04b600587851df085b487f9fdfd422e75 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 16:04:44 -0600 Subject: [PATCH 056/144] Update workflow --- .github/workflows/build-and-push.yaml | 17 ++-- .github/workflows/deploy-gke.yaml | 125 ++++++++++++++++++-------- 2 files changed, 97 insertions(+), 45 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 3049c024..d477577d 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -1,4 +1,4 @@ -name: build-and-push +name: Build, Push, and Deploy on: push: @@ -19,7 +19,10 @@ on: jobs: docker: + name: Build Container Image runs-on: ubuntu-latest + outputs: + tags: ${{ steps.meta.outputs.tags }} steps: - name: Checkout @@ -90,17 +93,19 @@ jobs: BASE_TAG=k8s deploy-prod: + name: Deploy Prod needs: docker uses: ./.github/workflows/deploy-gke.yaml if: ${{ github.ref_type == 'tag' }} with: - production: true - image_tag: ${{ github.ref }} + environment: prod + image_tag: ${{ fromJSON(needs.docker.outputs.tags)[0] }} deploy-int: + name: Deploy Int needs: docker uses: ./.github/workflows/deploy-gke.yaml - if: ${{ github.ref == 'master' }} + if: ${{ github.ref == 'master' || (github.base_ref == 'master' && contains(github.event.issue.labels.*.name, 'preview')) }} with: - production: false - image_tag: latest \ No newline at end of file + environment: int + image_tag: ${{ fromJSON(needs.docker.outputs.tags)[0] }} \ No newline at end of file diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 649bfcf7..b892326e 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -3,34 +3,107 @@ name: Deploy to GKE on: workflow_call: inputs: - production: - description: A boolean indicating if this is a prod deployment - type: boolean - required: false - default: false + environment: + description: The environment to deploy to (prod, int, or dev) + type: string + required: true image_tag: description: The API image tag to deploy type: string required: false default: latest + preview: + description: A boolean indicating if this is a preview deployment + type: boolean + required: false + default: false concurrency: ${{ inputs.environment }}-deploy +env: + APPLICATION_NAME: rubinobs-site + MANIFEST_FILENAME: ${{ env.APPLICATION_NAME }}-${{inputs.environment}}-${{ github.job }}.yaml + jobs: + generate-manifest: + name: Generate Application Manifest + runs-on: ubuntu-latest + steps: + - + run: | + echo "Image tag: ${{inputs.timage_tag}}" + - + name: Write Manifest + if: ${{ !inputs.preview }} + run: | + cat <<-EOF > ${{ env.MANIFEST_FILENAME }} + apiVersion: argoproj.io/v1alpha1 + kind: Application + metadata: + name: edc-${{ inputs.environment }}-rubinobs-site + namespace: argocd + spec: + source: + helm: + parameters: + - name: api.image.tag + value: ${{ inputs.image_tag }} + operation: + initiatedBy: + username: ${{ github.actor }} + sync: + syncStrategy: + hook: {} + EOF + + # - + # name: Write Preview Version Manifest + # if: ${{ inputs.preview }} + # run: | + # cat <<-EOF > ${{ env.MANIFEST_FILENAME }} + # apiVersion: argoproj.io/v1alpha1 + # kind: Application + # metadata: + # name: edc-${{ inputs.environment }}-rubinobs-api-preview-${{ github.ref }} + # namespace: argocd + # spec: + # source: + # repoURL: 'git@github.com:lsst-epo/edc-deploy.git' + # path: environment/applications/epo-site/charts/epo-api + # targetRevision: master + # helm: + # parameters: + # - name: test + # value: test + # destination: + # server: 'https://kubernetes.default.svc' + # namespace: rubinobs + # operation: + # initiatedBy: + # username: ${{ github.actor }} + # sync: + # syncStrategy: + # hook: {} + # EOF + + - + uses: actions/upload-artifact@v4 + with: + path: ${{ env.MANIFEST_FILENAME }} deploy: runs-on: ubuntu-latest steps: - name: Login to GCP Int uses: 'google-github-actions/auth@v2' - if: ${{ !inputs.production }} + if: ${{ inputs.environment == 'int'}} with: credentials_json: ${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }} - name: Login to GCP Prod uses: 'google-github-actions/auth@v2' - if: ${{ inputs.production }} + if: ${{ inputs.environment == 'prod'}} with: credentials_json: ${{ secrets.PIPELINE_EPO_PROD_PROJECT }} @@ -41,7 +114,7 @@ jobs: - name: Get Int Cluster Credentials uses: 'google-github-actions/get-gke-credentials@v2' - if: ${{ inputs.production }} + if: ${{ inputs.enviornment == 'int' }} with: cluster_name: gke-ap-edc-int location: us-central1 @@ -49,41 +122,15 @@ jobs: - name: Get Prod Cluster Credentials uses: 'google-github-actions/get-gke-credentials@v2' - if: ${{ inputs.production }} + if: ${{ inputs.environment == 'prod' }} with: cluster_name: gke-ap-edc-prod location: us-central1 - - name: Get Application/Deployment name - run: | - echo deployment_name=$(kubectl get deployment -n rubinobs -l app.kubernetes.io=api -o name) >> $GITHUB_ENV + name: Download Manifest + uses: actions/download-artifact@v4 - - name: Update ArgoCD Application/Deployment - if: ${{ inputs.production }} - run : | - cat <<-EOF | kubectl apply -f- - apiVersion: argoproj.io/v1alpha1 - kind: Application - metadata: - name: edc-prod-rubinobs-site - namespace: argocd - spec: - source: - helm: - parameters: - - name: api.image.tag - value: latest - operation: - initiatedBy: - username: ${{ github.actor }} - sync: - syncStrategy: - hook: {} - EOF - - - - name: Restart Deployment - if: ${{ !inputs.production && inputs.image_tag == 'latest' }} - run: kubectl rollout restart -n rubinobs $deployment_name \ No newline at end of file + name: Apply Application Manifest + run: kubectl apply -f ${{ env.MANIFEST_FILENAME }} \ No newline at end of file From dad0f089de200aea2373b5336edab0a746ca4ad1 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 16:08:47 -0600 Subject: [PATCH 057/144] Update workflow --- .github/workflows/deploy-gke.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index b892326e..361dc25b 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -22,12 +22,13 @@ concurrency: ${{ inputs.environment }}-deploy env: APPLICATION_NAME: rubinobs-site - MANIFEST_FILENAME: ${{ env.APPLICATION_NAME }}-${{inputs.environment}}-${{ github.job }}.yaml jobs: generate-manifest: name: Generate Application Manifest runs-on: ubuntu-latest + env: + MANIFEST_FILENAME: ${{ env.APPLICATION_NAME }}-${{inputs.environment}}-${{ github.job }}.yaml steps: - run: | From f044487cb717e4f135d1b2768af1c8e2b9d71130 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 16:12:00 -0600 Subject: [PATCH 058/144] Update workflow --- .github/workflows/deploy-gke.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 361dc25b..203fe7dc 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -21,14 +21,12 @@ on: concurrency: ${{ inputs.environment }}-deploy env: - APPLICATION_NAME: rubinobs-site + MANIFEST_FILENAME: rubinobs-site-${{inputs.environment}}-${{ github.job }}.yaml jobs: generate-manifest: name: Generate Application Manifest runs-on: ubuntu-latest - env: - MANIFEST_FILENAME: ${{ env.APPLICATION_NAME }}-${{inputs.environment}}-${{ github.job }}.yaml steps: - run: | From d3d743dac0cbe49792225ff8644c110fb1d6d1ca Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 16:14:10 -0600 Subject: [PATCH 059/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index d477577d..831788f6 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -105,7 +105,7 @@ jobs: name: Deploy Int needs: docker uses: ./.github/workflows/deploy-gke.yaml - if: ${{ github.ref == 'master' || (github.base_ref == 'master' && contains(github.event.issue.labels.*.name, 'preview')) }} + if: ${{ github.ref == 'master' || (github.base_ref == 'master') }} with: environment: int image_tag: ${{ fromJSON(needs.docker.outputs.tags)[0] }} \ No newline at end of file From e13058463860caab2eb355adc9e88da97a5bf49b Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 16:16:29 -0600 Subject: [PATCH 060/144] Update workflow --- .github/workflows/build-and-push.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 831788f6..0bb1c7fd 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -99,7 +99,7 @@ jobs: if: ${{ github.ref_type == 'tag' }} with: environment: prod - image_tag: ${{ fromJSON(needs.docker.outputs.tags)[0] }} + image_tag: ${{ needs.docker.outputs.tags }} deploy-int: name: Deploy Int @@ -108,4 +108,4 @@ jobs: if: ${{ github.ref == 'master' || (github.base_ref == 'master') }} with: environment: int - image_tag: ${{ fromJSON(needs.docker.outputs.tags)[0] }} \ No newline at end of file + image_tag: ${{ needs.docker.outputs.tags }} \ No newline at end of file From 4f9b2551ccfb07a6f1836eb14c732ec24d495f84 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 16:22:49 -0600 Subject: [PATCH 061/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 0bb1c7fd..327fbde8 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -96,6 +96,7 @@ jobs: name: Deploy Prod needs: docker uses: ./.github/workflows/deploy-gke.yaml + secrets: inherit if: ${{ github.ref_type == 'tag' }} with: environment: prod @@ -105,6 +106,7 @@ jobs: name: Deploy Int needs: docker uses: ./.github/workflows/deploy-gke.yaml + secrets: inherit if: ${{ github.ref == 'master' || (github.base_ref == 'master') }} with: environment: int From 75f83e1a05a0373677c9172e965dafc1a7fe05a4 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 16:28:09 -0600 Subject: [PATCH 062/144] Update workflow --- .github/workflows/build-and-push.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 327fbde8..a8973fdc 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -22,7 +22,7 @@ jobs: name: Build Container Image runs-on: ubuntu-latest outputs: - tags: ${{ steps.meta.outputs.tags }} + deploy_tag: ${{ fromJSON(steps.meta.outputs.json).tags[0] }} steps: - name: Checkout @@ -100,7 +100,7 @@ jobs: if: ${{ github.ref_type == 'tag' }} with: environment: prod - image_tag: ${{ needs.docker.outputs.tags }} + image_tag: ${{ needs.docker.outputs.deploy_tag }} deploy-int: name: Deploy Int @@ -110,4 +110,4 @@ jobs: if: ${{ github.ref == 'master' || (github.base_ref == 'master') }} with: environment: int - image_tag: ${{ needs.docker.outputs.tags }} \ No newline at end of file + image_tag: ${{ needs.docker.outputs.deploy_tag }} \ No newline at end of file From 0a41a8ab18cb662b0d7614437a716c76fd87174a Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 16:35:42 -0600 Subject: [PATCH 063/144] Update workflow --- .github/workflows/deploy-gke.yaml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 203fe7dc..f64ad13e 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -17,20 +17,22 @@ on: type: boolean required: false default: false + application_name: + description: The name of the application to deploy (e.g. 'rubinobs-site') + type: string + required: false + default: rubinobs-site concurrency: ${{ inputs.environment }}-deploy env: - MANIFEST_FILENAME: rubinobs-site-${{inputs.environment}}-${{ github.job }}.yaml + MANIFEST_FILENAME: ${{ inputs.application_name }}-${{inputs.environment}}-${{ github.sha }}.yaml jobs: generate-manifest: name: Generate Application Manifest runs-on: ubuntu-latest steps: - - - run: | - echo "Image tag: ${{inputs.timage_tag}}" - name: Write Manifest if: ${{ !inputs.preview }} @@ -39,7 +41,7 @@ jobs: apiVersion: argoproj.io/v1alpha1 kind: Application metadata: - name: edc-${{ inputs.environment }}-rubinobs-site + name: edc-${{ inputs.environment }}-${{ inputs.application_name }} namespace: argocd spec: source: @@ -63,7 +65,7 @@ jobs: # apiVersion: argoproj.io/v1alpha1 # kind: Application # metadata: - # name: edc-${{ inputs.environment }}-rubinobs-api-preview-${{ github.ref }} + # name: edc-${{ inputs.environment }}-${{ inputs.application_name }}-preview-${{ github.ref }} # namespace: argocd # spec: # source: From e9eef0628b9c820108cae63a8363db0514798c00 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 16:42:59 -0600 Subject: [PATCH 064/144] Update workflow --- .github/workflows/deploy-gke.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index f64ad13e..8f32aad0 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -91,6 +91,7 @@ jobs: uses: actions/upload-artifact@v4 with: path: ${{ env.MANIFEST_FILENAME }} + name: deployment-manifest deploy: runs-on: ubuntu-latest steps: @@ -130,8 +131,11 @@ jobs: - name: Download Manifest + id: download uses: actions/download-artifact@v4 + with: + name: deployment-manifest - name: Apply Application Manifest - run: kubectl apply -f ${{ env.MANIFEST_FILENAME }} \ No newline at end of file + run: kubectl apply -f ${{ steps.download.outpus.download-path }}/${{ env.MANIFEST_FILENAME }} \ No newline at end of file From 02cd68c323a4046dbf6c214ac7679cd6410b4193 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 16:44:48 -0600 Subject: [PATCH 065/144] Update workflow --- .github/workflows/deploy-gke.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 8f32aad0..60b36f43 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -138,4 +138,4 @@ jobs: - name: Apply Application Manifest - run: kubectl apply -f ${{ steps.download.outpus.download-path }}/${{ env.MANIFEST_FILENAME }} \ No newline at end of file + run: kubectl apply -f ${{ steps.download.outputs.download-path }}/${{ env.MANIFEST_FILENAME }} \ No newline at end of file From 3ad9f58c6306c3abcb9f2941a04d502444673dd3 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 16:47:17 -0600 Subject: [PATCH 066/144] Update workflow --- .github/workflows/deploy-gke.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 60b36f43..2b72cc83 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -116,7 +116,7 @@ jobs: - name: Get Int Cluster Credentials uses: 'google-github-actions/get-gke-credentials@v2' - if: ${{ inputs.enviornment == 'int' }} + if: ${{ inputs.environment == 'int' }} with: cluster_name: gke-ap-edc-int location: us-central1 From 8cc972351af57af24500f50a97674c653cdbca63 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 17:11:46 -0600 Subject: [PATCH 067/144] Update workflow --- .github/workflows/build-and-push.yaml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index a8973fdc..775835e1 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -22,7 +22,7 @@ jobs: name: Build Container Image runs-on: ubuntu-latest outputs: - deploy_tag: ${{ fromJSON(steps.meta.outputs.json).tags[0] }} + deploy_tag: ${{ steps.deploy-tag.outputs.tag }} steps: - name: Checkout @@ -48,6 +48,20 @@ jobs: type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} type=sha + - + name: Parse deployment tag + id: deploy-tag + run: | + tag='' + for tag in ${{ fromJSON(steps.meta.outputs.json).tags }} + do + if [[ $tag =~ ":(sha-|v.[0-9.]{3})"]] + then + tag=$tag + fi + done + echo "tag=$tag" >> "$GITHUB_OUTPUT" + - name: Set up QEMU uses: docker/setup-qemu-action@v2 From 9b79274caa06399572e50f9eb6df0cdc69de6e07 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 17:17:37 -0600 Subject: [PATCH 068/144] Update workflow --- .github/workflows/build-and-push.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 775835e1..bd94bbdc 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -53,10 +53,8 @@ jobs: id: deploy-tag run: | tag='' - for tag in ${{ fromJSON(steps.meta.outputs.json).tags }} - do - if [[ $tag =~ ":(sha-|v.[0-9.]{3})"]] - then + for tag in ${{ fromJSON(steps.meta.outputs.json).tags }}; do + if [[ $tag =~ /:(sha-|v.[0-9.]{3})/ ]]; then tag=$tag fi done From bb6145547fc4e41b16e3b2e6b8888c58fbbc5290 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 17:39:21 -0600 Subject: [PATCH 069/144] Update workflow --- .github/workflows/build-and-push.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index bd94bbdc..731da720 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -54,6 +54,7 @@ jobs: run: | tag='' for tag in ${{ fromJSON(steps.meta.outputs.json).tags }}; do + echo $tag if [[ $tag =~ /:(sha-|v.[0-9.]{3})/ ]]; then tag=$tag fi From 3d251bb6f47eaecfc7be3e88249ede44dfd18842 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 17:45:25 -0600 Subject: [PATCH 070/144] Update workflow --- .github/workflows/build-and-push.yaml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 731da720..e63351e9 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -52,14 +52,9 @@ jobs: name: Parse deployment tag id: deploy-tag run: | - tag='' - for tag in ${{ fromJSON(steps.meta.outputs.json).tags }}; do - echo $tag - if [[ $tag =~ /:(sha-|v.[0-9.]{3})/ ]]; then - tag=$tag - fi - done - echo "tag=$tag" >> "$GITHUB_OUTPUT" + tag=$(jq -r '.tags[] | select(. | test("sha-")) ${{ steps.meta.outputs.json }})') + echo $tag + echo tag=$tag >> "$GITHUB_OUTPUT" - name: Set up QEMU From 4eb634c0ad4a4ea15010da1b171532b46529be09 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 17:49:29 -0600 Subject: [PATCH 071/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index e63351e9..251b4f35 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -52,7 +52,7 @@ jobs: name: Parse deployment tag id: deploy-tag run: | - tag=$(jq -r '.tags[] | select(. | test("sha-")) ${{ steps.meta.outputs.json }})') + tag=$(echo ${{ steps.meta.outputs.json }} | jq -r '.tags[] | select((. | test(":sha-")) or (. | test(":v.")))') echo $tag echo tag=$tag >> "$GITHUB_OUTPUT" From 86dbb8193144e88033c226dbb923f3923a0722e3 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 17:52:10 -0600 Subject: [PATCH 072/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 251b4f35..ba5ba2d4 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -52,7 +52,7 @@ jobs: name: Parse deployment tag id: deploy-tag run: | - tag=$(echo ${{ steps.meta.outputs.json }} | jq -r '.tags[] | select((. | test(":sha-")) or (. | test(":v.")))') + tag=$(echo ${{ steps.meta.outputs.json }} | jq -r '.tags[] | select(. | test(":sha-|:v."))') echo $tag echo tag=$tag >> "$GITHUB_OUTPUT" From d1aea985cf13fc29460d2fb63e2dd7a482c1aaa9 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 17:53:29 -0600 Subject: [PATCH 073/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index ba5ba2d4..ad296119 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -52,7 +52,7 @@ jobs: name: Parse deployment tag id: deploy-tag run: | - tag=$(echo ${{ steps.meta.outputs.json }} | jq -r '.tags[] | select(. | test(":sha-|:v."))') + tag=$(echo ${{ steps.meta.outputs.json }} | jq -r '.tags[]') echo $tag echo tag=$tag >> "$GITHUB_OUTPUT" From 3e420f8c266c0f9a1be7d5e335ead5603218c7b7 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 17:54:13 -0600 Subject: [PATCH 074/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index ad296119..14ee9a23 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -52,7 +52,7 @@ jobs: name: Parse deployment tag id: deploy-tag run: | - tag=$(echo ${{ steps.meta.outputs.json }} | jq -r '.tags[]') + tag=$(echo ${{ steps.meta.outputs.json }} | jq -r '.tags') echo $tag echo tag=$tag >> "$GITHUB_OUTPUT" From 42fe2bc596c1a8755ca55816309fc1c697e308c8 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 17:54:52 -0600 Subject: [PATCH 075/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 14ee9a23..0a0e5fa2 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -52,7 +52,7 @@ jobs: name: Parse deployment tag id: deploy-tag run: | - tag=$(echo ${{ steps.meta.outputs.json }} | jq -r '.tags') + tag=$(echo ${{ steps.meta.outputs.json }} | jq -r '.') echo $tag echo tag=$tag >> "$GITHUB_OUTPUT" From e36c7634f36ad4116861e80c9189bfee9d8bc849 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 17:56:53 -0600 Subject: [PATCH 076/144] Update workflow --- .github/workflows/build-and-push.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 0a0e5fa2..7acf0298 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -51,8 +51,10 @@ jobs: - name: Parse deployment tag id: deploy-tag + env: + DOCKER_METADATA: ${{ steps.meta.outputs.json }} run: | - tag=$(echo ${{ steps.meta.outputs.json }} | jq -r '.') + tag=$(echo "$DOCKER_METADATA" | jq -r '.tags[]') echo $tag echo tag=$tag >> "$GITHUB_OUTPUT" From f159be79dd936cb965b34fd3554222083dcfed5c Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 17:59:13 -0600 Subject: [PATCH 077/144] Update workflow --- .github/workflows/build-and-push.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 7acf0298..f5dbc4d6 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -54,9 +54,9 @@ jobs: env: DOCKER_METADATA: ${{ steps.meta.outputs.json }} run: | - tag=$(echo "$DOCKER_METADATA" | jq -r '.tags[]') - echo $tag - echo tag=$tag >> "$GITHUB_OUTPUT" + tag=$(echo "$DOCKER_METADATA" | jq -r 'select(.tags[], ":sha-|:v.")') + echo cut -f1 -d: $tag + echo tag=$(cut -f1 -d: $tag) >> "$GITHUB_OUTPUT" - name: Set up QEMU From c87e4c68d8bcd18b3fe6e7e6b749f6f17cf64cdf Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 18:00:35 -0600 Subject: [PATCH 078/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index f5dbc4d6..0dc86de2 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -54,7 +54,7 @@ jobs: env: DOCKER_METADATA: ${{ steps.meta.outputs.json }} run: | - tag=$(echo "$DOCKER_METADATA" | jq -r 'select(.tags[], ":sha-|:v.")') + tag=$(echo "$DOCKER_METADATA" | jq -r '.tags[] | select(. | test(":sha-|:v."))') echo cut -f1 -d: $tag echo tag=$(cut -f1 -d: $tag) >> "$GITHUB_OUTPUT" From bbd318c4ce5825cbfa731726b572ce6c62cac4da Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 18:02:25 -0600 Subject: [PATCH 079/144] Update workflow --- .github/workflows/build-and-push.yaml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 0dc86de2..14e1a51d 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -51,12 +51,10 @@ jobs: - name: Parse deployment tag id: deploy-tag - env: - DOCKER_METADATA: ${{ steps.meta.outputs.json }} run: | - tag=$(echo "$DOCKER_METADATA" | jq -r '.tags[] | select(. | test(":sha-|:v."))') - echo cut -f1 -d: $tag - echo tag=$(cut -f1 -d: $tag) >> "$GITHUB_OUTPUT" + tag=$(echo "$DOCKER_METADATA_OUTPUT_JSON" | jq -r '.tags[] | select(. | test(":sha-|:v."))') + echo $tag | cut -f1 -d: + echo tag=$(echo $tag | cut -f1 -d:) >> "$GITHUB_OUTPUT" - name: Set up QEMU From 4c0ee969e3cfcf4b91b594be09fc665663e51706 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 18:03:04 -0600 Subject: [PATCH 080/144] Update workflow --- .github/workflows/build-and-push.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 14e1a51d..d3f9ed24 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -53,8 +53,8 @@ jobs: id: deploy-tag run: | tag=$(echo "$DOCKER_METADATA_OUTPUT_JSON" | jq -r '.tags[] | select(. | test(":sha-|:v."))') - echo $tag | cut -f1 -d: - echo tag=$(echo $tag | cut -f1 -d:) >> "$GITHUB_OUTPUT" + echo $tag | cut -f2 -d: + echo tag=$(echo $tag | cut -f2 -d:) >> "$GITHUB_OUTPUT" - name: Set up QEMU From 8c82a158914efc56b32bed4cf20f20be142fe0cc Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 18:12:32 -0600 Subject: [PATCH 081/144] Update workflow --- .github/workflows/build-and-push.yaml | 14 +++++++++----- .github/workflows/deploy-gke.yaml | 8 +++++++- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index d3f9ed24..43beec56 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -22,7 +22,8 @@ jobs: name: Build Container Image runs-on: ubuntu-latest outputs: - deploy_tag: ${{ steps.deploy-tag.outputs.tag }} + deploy_tag: ${{ steps.deploy-tag.outputs.deploy_tag }} + image_name: ${{ steps.deploy-tag.outputs.image_name }} steps: - name: Checkout @@ -52,9 +53,10 @@ jobs: name: Parse deployment tag id: deploy-tag run: | - tag=$(echo "$DOCKER_METADATA_OUTPUT_JSON" | jq -r '.tags[] | select(. | test(":sha-|:v."))') - echo $tag | cut -f2 -d: - echo tag=$(echo $tag | cut -f2 -d:) >> "$GITHUB_OUTPUT" + full_tag=$(echo "$DOCKER_METADATA_OUTPUT_JSON" | jq -r '.tags[] | select(. | test(":sha-|:v."))') + echo $full_tag | cut -f2 -d: + echo deploy_tag=$(echo $full_tag | cut -f2 -d:) >> "$GITHUB_OUTPUT" + echo image_name=$(echo $full_tag | cut -f2 -d:) >> "$GITHUB_OUTPUT" - name: Set up QEMU @@ -109,6 +111,7 @@ jobs: with: environment: prod image_tag: ${{ needs.docker.outputs.deploy_tag }} + image_name: ${{ needs.docker.outputs.image_name }} deploy-int: name: Deploy Int @@ -118,4 +121,5 @@ jobs: if: ${{ github.ref == 'master' || (github.base_ref == 'master') }} with: environment: int - image_tag: ${{ needs.docker.outputs.deploy_tag }} \ No newline at end of file + image_tag: ${{ needs.docker.outputs.deploy_tag }} + image_name: ${{ needs.docker.outputs.image_name }} \ No newline at end of file diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 2b72cc83..c8dff679 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -8,10 +8,14 @@ on: type: string required: true image_tag: - description: The API image tag to deploy + description: The container image tag to deploy type: string required: false default: latest + image_name: + description: The repo URL (minus the tag) of the container image to deploy + type: string + required: true preview: description: A boolean indicating if this is a preview deployment type: boolean @@ -49,6 +53,8 @@ jobs: parameters: - name: api.image.tag value: ${{ inputs.image_tag }} + - name: api.image.name + value: $${{ inputs.image_name }} operation: initiatedBy: username: ${{ github.actor }} From 1ff8762e8e07f085bd557ef96ad617716acd8001 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 18:16:49 -0600 Subject: [PATCH 082/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 43beec56..17c219b5 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -56,7 +56,7 @@ jobs: full_tag=$(echo "$DOCKER_METADATA_OUTPUT_JSON" | jq -r '.tags[] | select(. | test(":sha-|:v."))') echo $full_tag | cut -f2 -d: echo deploy_tag=$(echo $full_tag | cut -f2 -d:) >> "$GITHUB_OUTPUT" - echo image_name=$(echo $full_tag | cut -f2 -d:) >> "$GITHUB_OUTPUT" + echo image_name=$(echo $full_tag | cut -f1 -d:) >> "$GITHUB_OUTPUT" - name: Set up QEMU From ee80d193b7e9695543de21cef7076942adca7499 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 18:19:57 -0600 Subject: [PATCH 083/144] Update workflow --- .github/workflows/build-and-push.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 17c219b5..55fe1e4e 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -55,8 +55,8 @@ jobs: run: | full_tag=$(echo "$DOCKER_METADATA_OUTPUT_JSON" | jq -r '.tags[] | select(. | test(":sha-|:v."))') echo $full_tag | cut -f2 -d: - echo deploy_tag=$(echo $full_tag | cut -f2 -d:) >> "$GITHUB_OUTPUT" - echo image_name=$(echo $full_tag | cut -f1 -d:) >> "$GITHUB_OUTPUT" + echo deploy_tag=$(echo "$full_tag" | cut -f2 -d:) >> "$GITHUB_OUTPUT" + echo image_name=$(echo "$full_tag" | cut -f1 -d:) >> "$GITHUB_OUTPUT" - name: Set up QEMU From 4648243a428df4c645c91dc1d2ae3d3414b945ab Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 18:21:44 -0600 Subject: [PATCH 084/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 55fe1e4e..0328a5d2 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -54,7 +54,7 @@ jobs: id: deploy-tag run: | full_tag=$(echo "$DOCKER_METADATA_OUTPUT_JSON" | jq -r '.tags[] | select(. | test(":sha-|:v."))') - echo $full_tag | cut -f2 -d: + echo "$full_tag" echo deploy_tag=$(echo "$full_tag" | cut -f2 -d:) >> "$GITHUB_OUTPUT" echo image_name=$(echo "$full_tag" | cut -f1 -d:) >> "$GITHUB_OUTPUT" From 3f73747aa4652af23c342322083fe2e43bae5cd3 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 18:22:36 -0600 Subject: [PATCH 085/144] Update workflow --- .github/workflows/deploy-gke.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index c8dff679..ea906e13 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -54,7 +54,7 @@ jobs: - name: api.image.tag value: ${{ inputs.image_tag }} - name: api.image.name - value: $${{ inputs.image_name }} + value: ${{ inputs.image_name }} operation: initiatedBy: username: ${{ github.actor }} From 4b3e343fd7ff6ba5fb5dbb5a00913e5b88d4540e Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 18:24:57 -0600 Subject: [PATCH 086/144] Update workflow --- .github/workflows/deploy-gke.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index ea906e13..1498e93f 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -53,7 +53,7 @@ jobs: parameters: - name: api.image.tag value: ${{ inputs.image_tag }} - - name: api.image.name + - name: api.image.repository value: ${{ inputs.image_name }} operation: initiatedBy: From c9372e68905156e59b9f988f974fab1696696d84 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 18:34:35 -0600 Subject: [PATCH 087/144] Update workflow --- .github/workflows/deploy-gke.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 1498e93f..1a4aa3a1 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -60,6 +60,9 @@ jobs: username: ${{ github.actor }} sync: syncStrategy: + resources: + - kind: Deployment + name: edc-${{ inputs.environment }}-${{ inputs.application_name }}-api hook: {} EOF From c4a0398cb8780b007674f6861205b1ff9e0bf7f2 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 18:36:39 -0600 Subject: [PATCH 088/144] Update workflow --- .github/workflows/deploy-gke.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 1a4aa3a1..3243bb52 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -34,11 +34,11 @@ env: jobs: generate-manifest: - name: Generate Application Manifest + name: Make App Manifest runs-on: ubuntu-latest steps: - - name: Write Manifest + name: Make Sync Manifest if: ${{ !inputs.preview }} run: | cat <<-EOF > ${{ env.MANIFEST_FILENAME }} @@ -59,15 +59,15 @@ jobs: initiatedBy: username: ${{ github.actor }} sync: + resources: + - kind: Deployment + name: edc-${{ inputs.environment }}-${{ inputs.application_name }}-api syncStrategy: - resources: - - kind: Deployment - name: edc-${{ inputs.environment }}-${{ inputs.application_name }}-api hook: {} EOF # - - # name: Write Preview Version Manifest + # name: Make Preview Version Manifest # if: ${{ inputs.preview }} # run: | # cat <<-EOF > ${{ env.MANIFEST_FILENAME }} From 68edfb762be09fba18849114cedbd6c34918cdc4 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 18:39:21 -0600 Subject: [PATCH 089/144] Update workflow --- .github/workflows/deploy-gke.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 3243bb52..e502230c 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -60,8 +60,7 @@ jobs: username: ${{ github.actor }} sync: resources: - - kind: Deployment - name: edc-${{ inputs.environment }}-${{ inputs.application_name }}-api + - name: edc-${{ inputs.environment }}-${{ inputs.application_name }}-api syncStrategy: hook: {} EOF From 1c08795c36678d0c3c7f7a7e414fb3c93857832d Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 18:42:59 -0600 Subject: [PATCH 090/144] Update workflow --- .github/workflows/deploy-gke.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index e502230c..a035cfb4 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -60,7 +60,9 @@ jobs: username: ${{ github.actor }} sync: resources: - - name: edc-${{ inputs.environment }}-${{ inputs.application_name }}-api + - kind: Deployment + name: edc-${{ inputs.environment }}-${{ inputs.application_name }}-api + namespace: rubinobs syncStrategy: hook: {} EOF From 1f85002b100b37e8427cb834dd146801e54b6309 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 18:45:54 -0600 Subject: [PATCH 091/144] Update workflow --- .github/workflows/deploy-gke.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index a035cfb4..45b9daf4 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -56,11 +56,13 @@ jobs: - name: api.image.repository value: ${{ inputs.image_name }} operation: + info: + - ${{ github.sha }} initiatedBy: username: ${{ github.actor }} sync: resources: - - kind: Deployment + - kind: apps/Deployment name: edc-${{ inputs.environment }}-${{ inputs.application_name }}-api namespace: rubinobs syncStrategy: From c0d378b1b862bebc2d52929056b2afd562e63c80 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 20:03:39 -0600 Subject: [PATCH 092/144] Update workflow --- .github/workflows/deploy-gke.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 45b9daf4..1444a813 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -57,7 +57,7 @@ jobs: value: ${{ inputs.image_name }} operation: info: - - ${{ github.sha }} + commit: ${{ github.sha }} initiatedBy: username: ${{ github.actor }} sync: From 45caafce9af7c5b1c3936cd67f9ed4b03d701353 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 20:07:57 -0600 Subject: [PATCH 093/144] Update workflow --- .github/workflows/deploy-gke.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 1444a813..36ba2d46 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -55,9 +55,10 @@ jobs: value: ${{ inputs.image_tag }} - name: api.image.repository value: ${{ inputs.image_name }} + info: + commit: ${{ github.sha }} + ref: ${{ github.ref }} operation: - info: - commit: ${{ github.sha }} initiatedBy: username: ${{ github.actor }} sync: From 3397d7ee5da5077b5a08bf3bfa4e8af1053ece28 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 20:08:10 -0600 Subject: [PATCH 094/144] Update workflow --- .github/workflows/deploy-gke.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 36ba2d46..9c0e282d 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -55,9 +55,9 @@ jobs: value: ${{ inputs.image_tag }} - name: api.image.repository value: ${{ inputs.image_name }} - info: - commit: ${{ github.sha }} - ref: ${{ github.ref }} + info: + commit: ${{ github.sha }} + ref: ${{ github.ref }} operation: initiatedBy: username: ${{ github.actor }} From 66372b32e49d705b18fed7457f5f7f7914235d9c Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 20:09:40 -0600 Subject: [PATCH 095/144] Update workflow --- .github/workflows/deploy-gke.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 9c0e282d..9f1d23c8 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -55,10 +55,10 @@ jobs: value: ${{ inputs.image_tag }} - name: api.image.repository value: ${{ inputs.image_name }} - info: - commit: ${{ github.sha }} - ref: ${{ github.ref }} operation: + info: + - name: commit + value: ${{ github.sha }} initiatedBy: username: ${{ github.actor }} sync: From b5e9abb9f6d2a83a21279c3fad430a9148df565b Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 20:13:42 -0600 Subject: [PATCH 096/144] Update workflow --- .github/workflows/deploy-gke.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 9f1d23c8..a1d8fab9 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -55,10 +55,14 @@ jobs: value: ${{ inputs.image_tag }} - name: api.image.repository value: ${{ inputs.image_name }} - operation: info: - - name: commit + - name: api-repo-url + value: ${{ github.repositoryUrl }} + - name: api-commit value: ${{ github.sha }} + - name: api-ref + value: ${{ github.ref }} + operation: initiatedBy: username: ${{ github.actor }} sync: From 822825298ef0e7c4cea0448dd97003f5ac23e933 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 20:15:54 -0600 Subject: [PATCH 097/144] Update workflow --- .github/workflows/deploy-gke.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index a1d8fab9..dfc798b0 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -67,7 +67,8 @@ jobs: username: ${{ github.actor }} sync: resources: - - kind: apps/Deployment + - kind: Deployment + apiVersion: apps/v1 name: edc-${{ inputs.environment }}-${{ inputs.application_name }}-api namespace: rubinobs syncStrategy: From a5888ffa6d5826e6811de417e7d15c1758690b23 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 20:17:01 -0600 Subject: [PATCH 098/144] Update workflow --- .github/workflows/deploy-gke.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index dfc798b0..3ca2f490 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -68,7 +68,7 @@ jobs: sync: resources: - kind: Deployment - apiVersion: apps/v1 + group: apps name: edc-${{ inputs.environment }}-${{ inputs.application_name }}-api namespace: rubinobs syncStrategy: From dc15d8d239a35e9b68c563a9d03d543d77b47f4e Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 20:30:31 -0600 Subject: [PATCH 099/144] Update workflow --- .github/workflows/deploy-gke.yaml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 3ca2f490..26e0e404 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -38,15 +38,10 @@ jobs: runs-on: ubuntu-latest steps: - - name: Make Sync Manifest + name: Make Sync Patch File if: ${{ !inputs.preview }} run: | cat <<-EOF > ${{ env.MANIFEST_FILENAME }} - apiVersion: argoproj.io/v1alpha1 - kind: Application - metadata: - name: edc-${{ inputs.environment }}-${{ inputs.application_name }} - namespace: argocd spec: source: helm: @@ -156,4 +151,6 @@ jobs: - name: Apply Application Manifest - run: kubectl apply -f ${{ steps.download.outputs.download-path }}/${{ env.MANIFEST_FILENAME }} \ No newline at end of file + run: | + kubectl patch -n argocd app edc-${{ inputs.environment }}-${{ inputs.application_name }} \ + --patch-file ${{ steps.download.outputs.download-path }}/${{ env.MANIFEST_FILENAME }} \ No newline at end of file From 1a1a2db57b58aee68c9be3885f11fda8a9d5fb4a Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 20:32:28 -0600 Subject: [PATCH 100/144] Update workflow --- .github/workflows/deploy-gke.yaml | 54 +++++++++++++++---------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 26e0e404..69aa0745 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -42,33 +42,33 @@ jobs: if: ${{ !inputs.preview }} run: | cat <<-EOF > ${{ env.MANIFEST_FILENAME }} - spec: - source: - helm: - parameters: - - name: api.image.tag - value: ${{ inputs.image_tag }} - - name: api.image.repository - value: ${{ inputs.image_name }} - info: - - name: api-repo-url - value: ${{ github.repositoryUrl }} - - name: api-commit - value: ${{ github.sha }} - - name: api-ref - value: ${{ github.ref }} - operation: - initiatedBy: - username: ${{ github.actor }} - sync: - resources: - - kind: Deployment - group: apps - name: edc-${{ inputs.environment }}-${{ inputs.application_name }}-api - namespace: rubinobs - syncStrategy: - hook: {} - EOF + spec: + source: + helm: + parameters: + - name: api.image.tag + value: ${{ inputs.image_tag }} + - name: api.image.repository + value: ${{ inputs.image_name }} + info: + - name: api-repo-url + value: ${{ github.repositoryUrl }} + - name: api-commit + value: ${{ github.sha }} + - name: api-ref + value: ${{ github.ref }} + operation: + initiatedBy: + username: ${{ github.actor }} + sync: + resources: + - kind: Deployment + group: apps + name: edc-${{ inputs.environment }}-${{ inputs.application_name }}-api + namespace: rubinobs + syncStrategy: + hook: {} + EOF # - # name: Make Preview Version Manifest From 351c3208db0388fffb1ec6edd6e3f76631415cb1 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 20:32:48 -0600 Subject: [PATCH 101/144] Update workflow --- .github/workflows/deploy-gke.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index 69aa0745..d44856e8 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -68,7 +68,7 @@ jobs: namespace: rubinobs syncStrategy: hook: {} - EOF + EOF # - # name: Make Preview Version Manifest From 3706eb3be70048ee7912e88f862e9d4b9c0f92cb Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 20:35:07 -0600 Subject: [PATCH 102/144] Update workflow --- .github/workflows/deploy-gke.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-gke.yaml b/.github/workflows/deploy-gke.yaml index d44856e8..69aa0745 100644 --- a/.github/workflows/deploy-gke.yaml +++ b/.github/workflows/deploy-gke.yaml @@ -68,7 +68,7 @@ jobs: namespace: rubinobs syncStrategy: hook: {} - EOF + EOF # - # name: Make Preview Version Manifest From b2cbae5d63c53a9d775d87ce1839eab11227daa9 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 22:20:18 -0600 Subject: [PATCH 103/144] Update workflow --- .github/workflows/build-and-push.yaml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 0328a5d2..d3ea2f61 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -53,6 +53,7 @@ jobs: name: Parse deployment tag id: deploy-tag run: | + python -c 'import yaml;f=open("docker-compose.yml");y=yaml.safe_load(f)' full_tag=$(echo "$DOCKER_METADATA_OUTPUT_JSON" | jq -r '.tags[] | select(. | test(":sha-|:v."))') echo "$full_tag" echo deploy_tag=$(echo "$full_tag" | cut -f2 -d:) >> "$GITHUB_OUTPUT" @@ -116,10 +117,14 @@ jobs: deploy-int: name: Deploy Int needs: docker - uses: ./.github/workflows/deploy-gke.yaml - secrets: inherit + uses: lsst-epo/edc-deploy/.workflows/app-update-values.yaml + # uses: ./.github/workflows/deploy-gke.yaml if: ${{ github.ref == 'master' || (github.base_ref == 'master') }} with: - environment: int - image_tag: ${{ needs.docker.outputs.deploy_tag }} - image_name: ${{ needs.docker.outputs.image_name }} \ No newline at end of file + environment_name: int + app_name: rubinobs-site + parameters: | + api.image.tag=${{ needs.docker.outputs.deploy_tag }} + api.image.repository=${{ needs.docker.outputs.image_name }} + secrets: + gcp_credentials: ${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }} \ No newline at end of file From 156edacf36bbff31cfaff904ca9984fbec29723b Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 22:21:12 -0600 Subject: [PATCH 104/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index d3ea2f61..07a70dad 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -117,7 +117,7 @@ jobs: deploy-int: name: Deploy Int needs: docker - uses: lsst-epo/edc-deploy/.workflows/app-update-values.yaml + uses: lsst-epo/edc-deploy/.workflows/app-update-values.yaml@master # uses: ./.github/workflows/deploy-gke.yaml if: ${{ github.ref == 'master' || (github.base_ref == 'master') }} with: From e602580f12f0a9f42def396f8833c3190e5db1b7 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 22:21:51 -0600 Subject: [PATCH 105/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 07a70dad..bf365c39 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -117,7 +117,7 @@ jobs: deploy-int: name: Deploy Int needs: docker - uses: lsst-epo/edc-deploy/.workflows/app-update-values.yaml@master + uses: lsst-epo/edc-deploy/.github/workflows/app-update-values.yaml@master # uses: ./.github/workflows/deploy-gke.yaml if: ${{ github.ref == 'master' || (github.base_ref == 'master') }} with: From 1917980d5dfffc2bce1cf0f19419477b69e26291 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 22:53:38 -0600 Subject: [PATCH 106/144] Update workflow --- .github/workflows/build-and-push.yaml | 30 +++++++++++++++++++-------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index bf365c39..d17e6bc5 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -117,14 +117,26 @@ jobs: deploy-int: name: Deploy Int needs: docker - uses: lsst-epo/edc-deploy/.github/workflows/app-update-values.yaml@master + runs-on: ubuntu-latest # uses: ./.github/workflows/deploy-gke.yaml if: ${{ github.ref == 'master' || (github.base_ref == 'master') }} - with: - environment_name: int - app_name: rubinobs-site - parameters: | - api.image.tag=${{ needs.docker.outputs.deploy_tag }} - api.image.repository=${{ needs.docker.outputs.image_name }} - secrets: - gcp_credentials: ${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }} \ No newline at end of file + steps: + - name: Generate Webhook Payload + id: payload + run: | + export PARAMETERS="api.image.tag=${{ needs.docker.outputs.deploy_tag }} + api.image.repository=${{ needs.docker.outputs.image_name }}" + echo "DATA={ + \"event_type\": \"app_update_values\", + \"client_payload\": { + \"app_name\": \"rubinobs-site\", + \"environment_name\": \"int\", + \"parameters\": \"$PARAMETERS\" + } + }" >> "$GITHUB_OUTPUT" + - name: Call Deployment Webhook + run: | + curl -X POST $WEBHOOK_URL \ + -H 'Content-Type: application/json' \ + -H 'Authorization: ${{ github.token }}' + -d "$DATA" \ No newline at end of file From cfaac1f844b31f540324dfed0977e5e118337d1a Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 22:54:29 -0600 Subject: [PATCH 107/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index d17e6bc5..744476c7 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -135,6 +135,8 @@ jobs: } }" >> "$GITHUB_OUTPUT" - name: Call Deployment Webhook + env: + WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches run: | curl -X POST $WEBHOOK_URL \ -H 'Content-Type: application/json' \ From c9ecb4796af0be427a241e21ab716ddb9417e3b0 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 23:00:48 -0600 Subject: [PATCH 108/144] Update workflow --- .github/workflows/build-and-push.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 744476c7..4b4271b2 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -126,17 +126,19 @@ jobs: run: | export PARAMETERS="api.image.tag=${{ needs.docker.outputs.deploy_tag }} api.image.repository=${{ needs.docker.outputs.image_name }}" - echo "DATA={ + export DATA="{ \"event_type\": \"app_update_values\", \"client_payload\": { \"app_name\": \"rubinobs-site\", \"environment_name\": \"int\", \"parameters\": \"$PARAMETERS\" } - }" >> "$GITHUB_OUTPUT" + }" + echo "data=$DATA" >> "$GITHUB_OUTPUT" - name: Call Deployment Webhook env: WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches + DATA: ${{ steps.payload.outputs.data }} run: | curl -X POST $WEBHOOK_URL \ -H 'Content-Type: application/json' \ From e4741ac86f03b6b182f0fd24d1135747ff36f9da Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 27 Dec 2023 23:03:17 -0600 Subject: [PATCH 109/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 4b4271b2..6c2c2612 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -134,7 +134,7 @@ jobs: \"parameters\": \"$PARAMETERS\" } }" - echo "data=$DATA" >> "$GITHUB_OUTPUT" + echo "data=$(echo $DATA | jq '.')" >> "$GITHUB_OUTPUT" - name: Call Deployment Webhook env: WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches From 64b8c5cf808f1a3a2a3a3969dd773f17804f15c4 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 09:28:21 -0600 Subject: [PATCH 110/144] Update workflow --- .github/workflows/build-and-push.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 6c2c2612..8b12caf4 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -123,7 +123,7 @@ jobs: steps: - name: Generate Webhook Payload id: payload - run: | + run: |- export PARAMETERS="api.image.tag=${{ needs.docker.outputs.deploy_tag }} api.image.repository=${{ needs.docker.outputs.image_name }}" export DATA="{ @@ -131,7 +131,7 @@ jobs: \"client_payload\": { \"app_name\": \"rubinobs-site\", \"environment_name\": \"int\", - \"parameters\": \"$PARAMETERS\" + \"parameters\": $(echo $PARAMETERS | jq -Rn '[inputs]') } }" echo "data=$(echo $DATA | jq '.')" >> "$GITHUB_OUTPUT" @@ -139,7 +139,7 @@ jobs: env: WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches DATA: ${{ steps.payload.outputs.data }} - run: | + run: |- curl -X POST $WEBHOOK_URL \ -H 'Content-Type: application/json' \ -H 'Authorization: ${{ github.token }}' From 1aeea229c36e766a7f0e656ad2384051016a40a1 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 09:32:13 -0600 Subject: [PATCH 111/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 8b12caf4..cfaae851 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -134,7 +134,7 @@ jobs: \"parameters\": $(echo $PARAMETERS | jq -Rn '[inputs]') } }" - echo "data=$(echo $DATA | jq '.')" >> "$GITHUB_OUTPUT" + echo "data=fromJSON($(echo $DATA | jq '.'))" >> "$GITHUB_OUTPUT" - name: Call Deployment Webhook env: WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches From 3d582f341b702fc126dacee37e17ce50bd42b702 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 09:39:04 -0600 Subject: [PATCH 112/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index cfaae851..7010dab3 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -134,7 +134,7 @@ jobs: \"parameters\": $(echo $PARAMETERS | jq -Rn '[inputs]') } }" - echo "data=fromJSON($(echo $DATA | jq '.'))" >> "$GITHUB_OUTPUT" + echo "data=$(echo $DATA | jq -r '.')" >> "$GITHUB_OUTPUT" - name: Call Deployment Webhook env: WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches From ccddb99167e4db858f52618ac58c9f38c8daddfe Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 09:41:08 -0600 Subject: [PATCH 113/144] Update workflow --- .github/workflows/build-and-push.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 7010dab3..1f35ed12 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -134,7 +134,7 @@ jobs: \"parameters\": $(echo $PARAMETERS | jq -Rn '[inputs]') } }" - echo "data=$(echo $DATA | jq -r '.')" >> "$GITHUB_OUTPUT" + echo "data=$(echo $DATA | jq -rc '.')" >> "$GITHUB_OUTPUT" - name: Call Deployment Webhook env: WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches @@ -143,4 +143,4 @@ jobs: curl -X POST $WEBHOOK_URL \ -H 'Content-Type: application/json' \ -H 'Authorization: ${{ github.token }}' - -d "$DATA" \ No newline at end of file + -d "${{ fromJSON(steps.payload.outputs.data) }}" \ No newline at end of file From 45ce47295a4c517c06cd9416a29650f9fd538433 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 09:45:30 -0600 Subject: [PATCH 114/144] Update workflow --- .github/workflows/build-and-push.yaml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 1f35ed12..76a87c6d 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -138,9 +138,12 @@ jobs: - name: Call Deployment Webhook env: WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches - DATA: ${{ steps.payload.outputs.data }} + DATA: ${{ fromJSON(steps.payload.outputs.data) }} run: |- - curl -X POST $WEBHOOK_URL \ + curl -L \ + -X POST \ + $WEBHOOK_URL \ -H 'Content-Type: application/json' \ - -H 'Authorization: ${{ github.token }}' - -d "${{ fromJSON(steps.payload.outputs.data) }}" \ No newline at end of file + -H "Accept: application/vnd.github+json" \ + -H 'Authorization: token ${{ github.token }}' \ + -d "$DATA" \ No newline at end of file From ceb369223063a0bf2fae0af21706cc0826d674a9 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 09:47:35 -0600 Subject: [PATCH 115/144] Update workflow --- .github/workflows/build-and-push.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 76a87c6d..5ea57c2d 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -138,7 +138,6 @@ jobs: - name: Call Deployment Webhook env: WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches - DATA: ${{ fromJSON(steps.payload.outputs.data) }} run: |- curl -L \ -X POST \ @@ -146,4 +145,4 @@ jobs: -H 'Content-Type: application/json' \ -H "Accept: application/vnd.github+json" \ -H 'Authorization: token ${{ github.token }}' \ - -d "$DATA" \ No newline at end of file + -d "${{ fromJson(steps.payload.outputs.data) }}" \ No newline at end of file From f97758f0a0bedb9080587030faad8aa376f72c3b Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 10:08:11 -0600 Subject: [PATCH 116/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 5ea57c2d..bb37723a 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -144,5 +144,5 @@ jobs: $WEBHOOK_URL \ -H 'Content-Type: application/json' \ -H "Accept: application/vnd.github+json" \ - -H 'Authorization: token ${{ github.token }}' \ + -H 'Authorization: Bearer ${{ github.token }}' \ -d "${{ fromJson(steps.payload.outputs.data) }}" \ No newline at end of file From 525d6ace5544974d4e9614b477d3ba093c0c4fdb Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 12:29:21 -0600 Subject: [PATCH 117/144] Update workflow --- .github/workflows/build-and-push.yaml | 75 ++++++++++++--------------- 1 file changed, 34 insertions(+), 41 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index bb37723a..af368eff 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -22,8 +22,9 @@ jobs: name: Build Container Image runs-on: ubuntu-latest outputs: - deploy_tag: ${{ steps.deploy-tag.outputs.deploy_tag }} - image_name: ${{ steps.deploy-tag.outputs.image_name }} + image_tag: ${{ steps.deploy-info.outputs.image_tag }} + image_name: ${{ steps.deploy-info.outputs.image_name }} + environment_name: ${{ steps.deploy-info.outputs.environment_name }} steps: - name: Checkout @@ -50,14 +51,32 @@ jobs: type=semver,pattern={{major}} type=sha - - name: Parse deployment tag - id: deploy-tag + name: Parse deployment info + id: deploy-info run: | - python -c 'import yaml;f=open("docker-compose.yml");y=yaml.safe_load(f)' - full_tag=$(echo "$DOCKER_METADATA_OUTPUT_JSON" | jq -r '.tags[] | select(. | test(":sha-|:v."))') - echo "$full_tag" - echo deploy_tag=$(echo "$full_tag" | cut -f2 -d:) >> "$GITHUB_OUTPUT" + # Determine environment to deploy to + if [ ${{ github.ref != 'master' && github.ref_type != 'tag' && github.base_ref == 'develop' }} ]; then + environment_name="dev" + credentials_json="${{ secrets.DEV_SA_KEY }}" + elif [ ${{ github.ref == 'master' || github.base_ref == 'master'}} ]; then + environment_name="int" + credentials_json="${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }}" + elif [ ${{ github.ref_type == 'tag'}} ]; then + environment_name="prod" + credentials_json="${{ secrets.PIPELINE_EPO_PROD_PROJECT }}" + else + environment_name="" + credentials_json="" + fi + echo environment_name=$environment_name >> "$GITHUB_OUTPUT" + echo credentials_json=$credentials_json >> "$GITHUB_OUTPUT" + + # Parse container image tag to deploy + full_tag=$(echo "$DOCKER_METADATA_OUTPUT_JSON" | jq -r '.tags[] | limit(1, select(. | test(":sha-|:v.")))') + echo "Will use tag \"$full_tag\" for deployment." + echo image_tag=$(echo "$full_tag" | cut -f2 -d:) >> "$GITHUB_OUTPUT" echo image_name=$(echo "$full_tag" | cut -f1 -d:) >> "$GITHUB_OUTPUT" + echo full_tag=$full_tag >> "$GITHUB_OUTPUT" - name: Set up QEMU @@ -66,23 +85,10 @@ jobs: name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to GCP Dev + name: Login to ${{ steps.deploy-info.outputs.environment_name }} GCP uses: 'google-github-actions/auth@v2' - if: ${{ github.ref != 'master' && github.ref_type != 'tag' && github.base_ref == 'develop' }} with: - credentials_json: ${{ secrets.DEV_SA_KEY }} - - - name: Login to GCP Int - uses: 'google-github-actions/auth@v2' - if: ${{ github.ref == 'master' || github.base_ref == 'master'}} - with: - credentials_json: ${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }} - - - name: Login to GCP Prod - uses: 'google-github-actions/auth@v2' - if: ${{ github.ref_type == 'tag' }} - with: - credentials_json: ${{ secrets.PIPELINE_EPO_PROD_PROJECT }} + credentials_json: ${{ steps.deploy-info.outputs.credentials_json}} - name: 'Set up Cloud SDK' uses: 'google-github-actions/setup-gcloud@v2' @@ -102,35 +108,22 @@ jobs: type=gha build-args: | BASE_TAG=k8s - - deploy-prod: - name: Deploy Prod - needs: docker - uses: ./.github/workflows/deploy-gke.yaml - secrets: inherit - if: ${{ github.ref_type == 'tag' }} - with: - environment: prod - image_tag: ${{ needs.docker.outputs.deploy_tag }} - image_name: ${{ needs.docker.outputs.image_name }} - deploy-int: - name: Deploy Int + deploy: + name: Deploy to ${{ needs.docker.outputs.environment_name }} needs: docker runs-on: ubuntu-latest - # uses: ./.github/workflows/deploy-gke.yaml - if: ${{ github.ref == 'master' || (github.base_ref == 'master') }} steps: - name: Generate Webhook Payload id: payload run: |- - export PARAMETERS="api.image.tag=${{ needs.docker.outputs.deploy_tag }} + export PARAMETERS="api.image.tag=${{ needs.docker.outputs.image_tag }} api.image.repository=${{ needs.docker.outputs.image_name }}" export DATA="{ \"event_type\": \"app_update_values\", \"client_payload\": { \"app_name\": \"rubinobs-site\", - \"environment_name\": \"int\", + \"environment_name\": \"${{ needs.docker.outputs.environment_name }}\", \"parameters\": $(echo $PARAMETERS | jq -Rn '[inputs]') } }" @@ -145,4 +138,4 @@ jobs: -H 'Content-Type: application/json' \ -H "Accept: application/vnd.github+json" \ -H 'Authorization: Bearer ${{ github.token }}' \ - -d "${{ fromJson(steps.payload.outputs.data) }}" \ No newline at end of file + -d "${{ toJson(fromJson(steps.payload.outputs.data)) }}" \ No newline at end of file From 458eec25694be77a75721359038f6d10eb8f7279 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 12:31:55 -0600 Subject: [PATCH 118/144] Update workflow --- .github/workflows/build-and-push.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index af368eff..6e26894e 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -57,13 +57,13 @@ jobs: # Determine environment to deploy to if [ ${{ github.ref != 'master' && github.ref_type != 'tag' && github.base_ref == 'develop' }} ]; then environment_name="dev" - credentials_json="${{ secrets.DEV_SA_KEY }}" + credentials_json="${{ toJson(secrets.DEV_SA_KEY) }}" elif [ ${{ github.ref == 'master' || github.base_ref == 'master'}} ]; then environment_name="int" - credentials_json="${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }}" + credentials_json="${{ toJson(secrets.SKYVIEWER_INT_SERVICE_ACCOUNT) }}" elif [ ${{ github.ref_type == 'tag'}} ]; then environment_name="prod" - credentials_json="${{ secrets.PIPELINE_EPO_PROD_PROJECT }}" + credentials_json="${{ toJson(secrets.PIPELINE_EPO_PROD_PROJECT) }}" else environment_name="" credentials_json="" From 4ee8ddf1b912e0b9751c5a42cf850a2c235ed023 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 12:33:29 -0600 Subject: [PATCH 119/144] Update workflow --- .github/workflows/build-and-push.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 6e26894e..00a0e9af 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -57,13 +57,13 @@ jobs: # Determine environment to deploy to if [ ${{ github.ref != 'master' && github.ref_type != 'tag' && github.base_ref == 'develop' }} ]; then environment_name="dev" - credentials_json="${{ toJson(secrets.DEV_SA_KEY) }}" + credentials_json=${{ toJson(secrets.DEV_SA_KEY) }} elif [ ${{ github.ref == 'master' || github.base_ref == 'master'}} ]; then environment_name="int" - credentials_json="${{ toJson(secrets.SKYVIEWER_INT_SERVICE_ACCOUNT) }}" + credentials_json=${{ toJson(secrets.SKYVIEWER_INT_SERVICE_ACCOUNT) }} elif [ ${{ github.ref_type == 'tag'}} ]; then environment_name="prod" - credentials_json="${{ toJson(secrets.PIPELINE_EPO_PROD_PROJECT) }}" + credentials_json=${{ toJson(secrets.PIPELINE_EPO_PROD_PROJECT) }} else environment_name="" credentials_json="" @@ -85,10 +85,10 @@ jobs: name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to ${{ steps.deploy-info.outputs.environment_name }} GCP + name: Login to GCP uses: 'google-github-actions/auth@v2' with: - credentials_json: ${{ steps.deploy-info.outputs.credentials_json}} + credentials_json: ${{ steps.deploy-info.outputs.credentials_json }} - name: 'Set up Cloud SDK' uses: 'google-github-actions/setup-gcloud@v2' From 6d1a767aa4cd1e4b9d59016837e75fafb95fb21b Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 12:36:11 -0600 Subject: [PATCH 120/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 00a0e9af..a7c42627 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -72,7 +72,7 @@ jobs: echo credentials_json=$credentials_json >> "$GITHUB_OUTPUT" # Parse container image tag to deploy - full_tag=$(echo "$DOCKER_METADATA_OUTPUT_JSON" | jq -r '.tags[] | limit(1, select(. | test(":sha-|:v.")))') + full_tag=$(echo "$DOCKER_METADATA_OUTPUT_JSON" | jq -r '.tags[] | limit(1; select(. | test(":sha-|:v.")))') echo "Will use tag \"$full_tag\" for deployment." echo image_tag=$(echo "$full_tag" | cut -f2 -d:) >> "$GITHUB_OUTPUT" echo image_name=$(echo "$full_tag" | cut -f1 -d:) >> "$GITHUB_OUTPUT" From fc715ba4adb8d486f5dbc34ed9201bd0540c59cd Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 12:37:25 -0600 Subject: [PATCH 121/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index a7c42627..8e3ca4cc 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -88,7 +88,7 @@ jobs: name: Login to GCP uses: 'google-github-actions/auth@v2' with: - credentials_json: ${{ steps.deploy-info.outputs.credentials_json }} + credentials_json: ${{ fromJson(steps.deploy-info.outputs.credentials_json) }} - name: 'Set up Cloud SDK' uses: 'google-github-actions/setup-gcloud@v2' From 931fde13569b7585c074c1e8f35bf6334551108f Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 12:38:56 -0600 Subject: [PATCH 122/144] Update workflow --- .github/workflows/build-and-push.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 8e3ca4cc..cd6a5f55 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -57,13 +57,13 @@ jobs: # Determine environment to deploy to if [ ${{ github.ref != 'master' && github.ref_type != 'tag' && github.base_ref == 'develop' }} ]; then environment_name="dev" - credentials_json=${{ toJson(secrets.DEV_SA_KEY) }} + credentials_json=${{ fromJson(secrets.DEV_SA_KEY) }} elif [ ${{ github.ref == 'master' || github.base_ref == 'master'}} ]; then environment_name="int" - credentials_json=${{ toJson(secrets.SKYVIEWER_INT_SERVICE_ACCOUNT) }} + credentials_json=${{ fromJson(secrets.SKYVIEWER_INT_SERVICE_ACCOUNT) }} elif [ ${{ github.ref_type == 'tag'}} ]; then environment_name="prod" - credentials_json=${{ toJson(secrets.PIPELINE_EPO_PROD_PROJECT) }} + credentials_json=${{ fromJson(secrets.PIPELINE_EPO_PROD_PROJECT) }} else environment_name="" credentials_json="" @@ -88,7 +88,7 @@ jobs: name: Login to GCP uses: 'google-github-actions/auth@v2' with: - credentials_json: ${{ fromJson(steps.deploy-info.outputs.credentials_json) }} + credentials_json: ${{ toJson(steps.deploy-info.outputs.credentials_json) }} - name: 'Set up Cloud SDK' uses: 'google-github-actions/setup-gcloud@v2' From 97ccf972a877fe28f76ff486aee1cc25e523c972 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 12:41:34 -0600 Subject: [PATCH 123/144] Update workflow --- .github/workflows/build-and-push.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index cd6a5f55..21e86ccb 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -57,13 +57,13 @@ jobs: # Determine environment to deploy to if [ ${{ github.ref != 'master' && github.ref_type != 'tag' && github.base_ref == 'develop' }} ]; then environment_name="dev" - credentials_json=${{ fromJson(secrets.DEV_SA_KEY) }} + credentials_json=${{ toJson(secrets.DEV_SA_KEY) }} elif [ ${{ github.ref == 'master' || github.base_ref == 'master'}} ]; then environment_name="int" - credentials_json=${{ fromJson(secrets.SKYVIEWER_INT_SERVICE_ACCOUNT) }} + credentials_json=${{ toJson(secrets.SKYVIEWER_INT_SERVICE_ACCOUNT) }} elif [ ${{ github.ref_type == 'tag'}} ]; then environment_name="prod" - credentials_json=${{ fromJson(secrets.PIPELINE_EPO_PROD_PROJECT) }} + credentials_json=${{ toJson(secrets.PIPELINE_EPO_PROD_PROJECT) }} else environment_name="" credentials_json="" From 54e89404a4dd631f649d7199f7c9f86d65447032 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 12:42:45 -0600 Subject: [PATCH 124/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 21e86ccb..1c636098 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -88,7 +88,7 @@ jobs: name: Login to GCP uses: 'google-github-actions/auth@v2' with: - credentials_json: ${{ toJson(steps.deploy-info.outputs.credentials_json) }} + credentials_json: ${{ toJson(fromJson(steps.deploy-info.outputs.credentials_json)) }} - name: 'Set up Cloud SDK' uses: 'google-github-actions/setup-gcloud@v2' From 30811faae3843b219b1f78e7fa9a5f40cafc4e4d Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 12:44:19 -0600 Subject: [PATCH 125/144] Update workflow --- .github/workflows/build-and-push.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 1c636098..39207c24 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -57,13 +57,13 @@ jobs: # Determine environment to deploy to if [ ${{ github.ref != 'master' && github.ref_type != 'tag' && github.base_ref == 'develop' }} ]; then environment_name="dev" - credentials_json=${{ toJson(secrets.DEV_SA_KEY) }} + credentials_json='${{ secrets.DEV_SA_KEY }}' elif [ ${{ github.ref == 'master' || github.base_ref == 'master'}} ]; then environment_name="int" - credentials_json=${{ toJson(secrets.SKYVIEWER_INT_SERVICE_ACCOUNT) }} + credentials_json='${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }}' elif [ ${{ github.ref_type == 'tag'}} ]; then environment_name="prod" - credentials_json=${{ toJson(secrets.PIPELINE_EPO_PROD_PROJECT) }} + credentials_json='${{ secrets.PIPELINE_EPO_PROD_PROJECT }}' else environment_name="" credentials_json="" @@ -88,7 +88,7 @@ jobs: name: Login to GCP uses: 'google-github-actions/auth@v2' with: - credentials_json: ${{ toJson(fromJson(steps.deploy-info.outputs.credentials_json)) }} + credentials_json: ${{ steps.deploy-info.outputs.credentials_json }} - name: 'Set up Cloud SDK' uses: 'google-github-actions/setup-gcloud@v2' From 037f1611e5542bd3a3960d21ff28695d8d58d754 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 12:46:52 -0600 Subject: [PATCH 126/144] Update workflow --- .github/workflows/build-and-push.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 39207c24..fb173368 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -89,6 +89,7 @@ jobs: uses: 'google-github-actions/auth@v2' with: credentials_json: ${{ steps.deploy-info.outputs.credentials_json }} + export_environment_variables: true - name: 'Set up Cloud SDK' uses: 'google-github-actions/setup-gcloud@v2' From 485e73a30a3ab1b9e704f5aad90441997e43a666 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 12:48:42 -0600 Subject: [PATCH 127/144] Update workflow --- .github/workflows/build-and-push.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index fb173368..c911597b 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -55,13 +55,13 @@ jobs: id: deploy-info run: | # Determine environment to deploy to - if [ ${{ github.ref != 'master' && github.ref_type != 'tag' && github.base_ref == 'develop' }} ]; then + if ${{ github.ref != 'master' && github.ref_type != 'tag' && github.base_ref == 'develop' }}; then environment_name="dev" credentials_json='${{ secrets.DEV_SA_KEY }}' - elif [ ${{ github.ref == 'master' || github.base_ref == 'master'}} ]; then + elif ${{ github.ref == 'master' || github.base_ref == 'master'}}; then environment_name="int" credentials_json='${{ secrets.SKYVIEWER_INT_SERVICE_ACCOUNT }}' - elif [ ${{ github.ref_type == 'tag'}} ]; then + elif ${{ github.ref_type == 'tag'}}; then environment_name="prod" credentials_json='${{ secrets.PIPELINE_EPO_PROD_PROJECT }}' else From dd0b9c08003cb4babb67c284dbafaeb47e14d00e Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 12:54:02 -0600 Subject: [PATCH 128/144] Update workflow --- .github/workflows/build-and-push.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index c911597b..fe587fda 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -89,7 +89,6 @@ jobs: uses: 'google-github-actions/auth@v2' with: credentials_json: ${{ steps.deploy-info.outputs.credentials_json }} - export_environment_variables: true - name: 'Set up Cloud SDK' uses: 'google-github-actions/setup-gcloud@v2' @@ -111,15 +110,17 @@ jobs: BASE_TAG=k8s deploy: - name: Deploy to ${{ needs.docker.outputs.environment_name }} + name: Trigger deploy to ${{ needs.docker.outputs.environment_name }} needs: docker runs-on: ubuntu-latest steps: - name: Generate Webhook Payload id: payload run: |- - export PARAMETERS="api.image.tag=${{ needs.docker.outputs.image_tag }} - api.image.repository=${{ needs.docker.outputs.image_name }}" + export PARAMETERS="[ + \"api.image.tag=${{ needs.docker.outputs.image_tag }}\", + \"api.image.repository=${{ needs.docker.outputs.image_name }}\" + ]" export DATA="{ \"event_type\": \"app_update_values\", \"client_payload\": { From 82d5a18a6e5edcd1501e2edd38e57f4f7a58d3d5 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 13:06:33 -0600 Subject: [PATCH 129/144] Update workflow --- .github/workflows/build-and-push.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index fe587fda..68eb496f 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -117,16 +117,16 @@ jobs: - name: Generate Webhook Payload id: payload run: |- - export PARAMETERS="[ - \"api.image.tag=${{ needs.docker.outputs.image_tag }}\", - \"api.image.repository=${{ needs.docker.outputs.image_name }}\" - ]" - export DATA="{ + PARAMETERS=( + api.image.tag=${{ needs.docker.outputs.image_tag }} + api.image.repository=${{ needs.docker.outputs.image_name }} + ) + DATA="{ \"event_type\": \"app_update_values\", \"client_payload\": { \"app_name\": \"rubinobs-site\", \"environment_name\": \"${{ needs.docker.outputs.environment_name }}\", - \"parameters\": $(echo $PARAMETERS | jq -Rn '[inputs]') + \"parameters\": $(jq -c -n '$ARGS.positional' --args ${PARAMETERS[@]}) } }" echo "data=$(echo $DATA | jq -rc '.')" >> "$GITHUB_OUTPUT" From d581214e93d1e3d7206e5246a26b5d50932e9037 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 13:55:49 -0600 Subject: [PATCH 130/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 68eb496f..5102f699 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -139,5 +139,5 @@ jobs: $WEBHOOK_URL \ -H 'Content-Type: application/json' \ -H "Accept: application/vnd.github+json" \ - -H 'Authorization: Bearer ${{ github.token }}' \ + -H 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \ -d "${{ toJson(fromJson(steps.payload.outputs.data)) }}" \ No newline at end of file From 710368d68a53458931b7f7d138200f2bd494ddf8 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 13:59:49 -0600 Subject: [PATCH 131/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 5102f699..fcf661e0 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -134,7 +134,7 @@ jobs: env: WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches run: |- - curl -L \ + curl -L --fail \ -X POST \ $WEBHOOK_URL \ -H 'Content-Type: application/json' \ From e42c49604031767b62d763d16759080932297c44 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 15:38:24 -0600 Subject: [PATCH 132/144] Update workflow --- .github/workflows/build-and-push.yaml | 28 ++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index fcf661e0..9d382f4b 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -18,7 +18,7 @@ on: - 'master' jobs: - docker: + build: name: Build Container Image runs-on: ubuntu-latest outputs: @@ -108,24 +108,33 @@ jobs: type=gha build-args: | BASE_TAG=k8s + - + name: Summary + run: | + cat <<-EOT >> "$GITHUB_STEP_SUMMARY" + # Container Build Completed + + ## Tags + ${{ steps.meta.outputs.tags }} + EOT deploy: - name: Trigger deploy to ${{ needs.docker.outputs.environment_name }} - needs: docker + name: Trigger deploy to ${{ needs.build.outputs.environment_name }} + needs: build runs-on: ubuntu-latest steps: - name: Generate Webhook Payload id: payload run: |- PARAMETERS=( - api.image.tag=${{ needs.docker.outputs.image_tag }} - api.image.repository=${{ needs.docker.outputs.image_name }} + api.image.tag=${{ needs.build.outputs.image_tag }} + api.image.repository=${{ needs.build.outputs.image_name }} ) DATA="{ \"event_type\": \"app_update_values\", \"client_payload\": { \"app_name\": \"rubinobs-site\", - \"environment_name\": \"${{ needs.docker.outputs.environment_name }}\", + \"environment_name\": \"${{ needs.build.outputs.environment_name }}\", \"parameters\": $(jq -c -n '$ARGS.positional' --args ${PARAMETERS[@]}) } }" @@ -140,4 +149,9 @@ jobs: -H 'Content-Type: application/json' \ -H "Accept: application/vnd.github+json" \ -H 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \ - -d "${{ toJson(fromJson(steps.payload.outputs.data)) }}" \ No newline at end of file + -d "${{ toJson(fromJson(steps.payload.outputs.data)) }}" + cat <<-EOT >> "$GITHUB_STEP_SUMMARY" + # Deployment Workflow Triggered + + Access the deployment workflow at + EOT From 8b9e0fcf8353a1865aba34a81056bfec5515e464 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 16:14:30 -0600 Subject: [PATCH 133/144] Update workflow --- .github/workflows/build-and-push.yaml | 42 +++++++++++++++++---------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 9d382f4b..c7bdf9d9 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -133,25 +133,37 @@ jobs: DATA="{ \"event_type\": \"app_update_values\", \"client_payload\": { + \"run_id\": \"${{ github.repository}}/${{github.ref }}/${{ github.sha }}" \"app_name\": \"rubinobs-site\", \"environment_name\": \"${{ needs.build.outputs.environment_name }}\", \"parameters\": $(jq -c -n '$ARGS.positional' --args ${PARAMETERS[@]}) } }" echo "data=$(echo $DATA | jq -rc '.')" >> "$GITHUB_OUTPUT" - - name: Call Deployment Webhook - env: - WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches - run: |- - curl -L --fail \ - -X POST \ - $WEBHOOK_URL \ - -H 'Content-Type: application/json' \ - -H "Accept: application/vnd.github+json" \ - -H 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \ - -d "${{ toJson(fromJson(steps.payload.outputs.data)) }}" - cat <<-EOT >> "$GITHUB_STEP_SUMMARY" - # Deployment Workflow Triggered + # - name: Call Dispatch Webhook + # env: + # WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches + # run: |- + # curl -L --fail \ + # -X POST \ + # $WEBHOOK_URL \ + # -H 'Content-Type: application/json' \ + # -H "Accept: application/vnd.github+json" \ + # -H 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \ + # -d "${{ toJson(fromJson(steps.payload.outputs.data)) }}" + # cat <<-EOT >> "$GITHUB_STEP_SUMMARY" + # # Deployment Workflow Triggered - Access the deployment workflow at - EOT + # Access the deployment workflow at + # EOT + - uses: lasith-kg/dispatch-workflow@v1.7.0 + id: dispatch + name: Trigger Deployment and Wait + with: + dispatch-method: repository_dispatch + repo: edc-deploy + owner: lsst-epo + event-type: app_update_values + token: ${{ secrets.GITHUB_TOKEN }} + workflow-inputs: ${{ toJson(steps.payload.outputs.data) }} + discover: true From 5119383d8aeff67d1a0ee6986c7820ab887a6a31 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 16:16:05 -0600 Subject: [PATCH 134/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index c7bdf9d9..77e7acc4 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -133,7 +133,7 @@ jobs: DATA="{ \"event_type\": \"app_update_values\", \"client_payload\": { - \"run_id\": \"${{ github.repository}}/${{github.ref }}/${{ github.sha }}" + \"run_id\": \"${{ github.repository}}/${{github.ref }}/${{ github.sha }}", \"app_name\": \"rubinobs-site\", \"environment_name\": \"${{ needs.build.outputs.environment_name }}\", \"parameters\": $(jq -c -n '$ARGS.positional' --args ${PARAMETERS[@]}) From 04d231957df9ebf68ba963335b4002597d3233a1 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 16:17:54 -0600 Subject: [PATCH 135/144] Update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 77e7acc4..1e866fc5 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -133,7 +133,7 @@ jobs: DATA="{ \"event_type\": \"app_update_values\", \"client_payload\": { - \"run_id\": \"${{ github.repository}}/${{github.ref }}/${{ github.sha }}", + \"run_id\": \"${{ github.repository}}\/${{github.ref }}\/${{ github.sha }}", \"app_name\": \"rubinobs-site\", \"environment_name\": \"${{ needs.build.outputs.environment_name }}\", \"parameters\": $(jq -c -n '$ARGS.positional' --args ${PARAMETERS[@]}) From 73ee321661c16d8ea9e395c21039a2370f0ed8d0 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Thu, 28 Dec 2023 16:19:25 -0600 Subject: [PATCH 136/144] Update workflow --- .github/workflows/build-and-push.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 1e866fc5..cfa2cb45 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -133,7 +133,6 @@ jobs: DATA="{ \"event_type\": \"app_update_values\", \"client_payload\": { - \"run_id\": \"${{ github.repository}}\/${{github.ref }}\/${{ github.sha }}", \"app_name\": \"rubinobs-site\", \"environment_name\": \"${{ needs.build.outputs.environment_name }}\", \"parameters\": $(jq -c -n '$ARGS.positional' --args ${PARAMETERS[@]}) From e8dce7578a5b535fd8e78f43e1da775816a3e8c2 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Mon, 1 Jan 2024 19:45:52 -0600 Subject: [PATCH 137/144] update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index cfa2cb45..5e2d0356 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -163,6 +163,6 @@ jobs: repo: edc-deploy owner: lsst-epo event-type: app_update_values - token: ${{ secrets.GITHUB_TOKEN }} + token: ${{ secrets.EDC_DEPLOY_GITHUB_TOKEN_FOR_REST_API }} workflow-inputs: ${{ toJson(steps.payload.outputs.data) }} discover: true From 2a5b27012bad0a9a492b81c4fdb987e8f089ad1e Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Mon, 1 Jan 2024 19:50:30 -0600 Subject: [PATCH 138/144] update workflow --- .github/workflows/build-and-push.yaml | 30 +++++++++++++-------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 5e2d0356..1bd844ba 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -139,22 +139,22 @@ jobs: } }" echo "data=$(echo $DATA | jq -rc '.')" >> "$GITHUB_OUTPUT" - # - name: Call Dispatch Webhook - # env: - # WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches - # run: |- - # curl -L --fail \ - # -X POST \ - # $WEBHOOK_URL \ - # -H 'Content-Type: application/json' \ - # -H "Accept: application/vnd.github+json" \ - # -H 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \ - # -d "${{ toJson(fromJson(steps.payload.outputs.data)) }}" - # cat <<-EOT >> "$GITHUB_STEP_SUMMARY" - # # Deployment Workflow Triggered + - name: Call Dispatch Webhook + env: + WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches + run: |- + curl -L --fail \ + -X POST \ + $WEBHOOK_URL \ + -H 'Content-Type: application/json' \ + -H "Accept: application/vnd.github+json" \ + -H 'Authorization: Bearer ${{ secrets.EDC_DEPLOY_GITHUB_TOKEN_FOR_REST_API }}' \ + -d "${{ toJson(fromJson(steps.payload.outputs.data)) }}" + cat <<-EOT >> "$GITHUB_STEP_SUMMARY" + # Deployment Workflow Triggered - # Access the deployment workflow at - # EOT + Access the deployment workflow at + EOT - uses: lasith-kg/dispatch-workflow@v1.7.0 id: dispatch name: Trigger Deployment and Wait From 863632ed42c6ec4b8235a34ee09c798e0bc02951 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Mon, 1 Jan 2024 19:52:40 -0600 Subject: [PATCH 139/144] update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 1bd844ba..1de03cac 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -149,7 +149,7 @@ jobs: -H 'Content-Type: application/json' \ -H "Accept: application/vnd.github+json" \ -H 'Authorization: Bearer ${{ secrets.EDC_DEPLOY_GITHUB_TOKEN_FOR_REST_API }}' \ - -d "${{ toJson(fromJson(steps.payload.outputs.data)) }}" + -d '${{ toJson(fromJson(steps.payload.outputs.data)) }}' cat <<-EOT >> "$GITHUB_STEP_SUMMARY" # Deployment Workflow Triggered From b6853ffa792a2b3dc791f6bdc8f393cbd8940999 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Mon, 1 Jan 2024 19:59:28 -0600 Subject: [PATCH 140/144] update workflow --- .github/workflows/build-and-push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 1de03cac..5238c165 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -164,5 +164,5 @@ jobs: owner: lsst-epo event-type: app_update_values token: ${{ secrets.EDC_DEPLOY_GITHUB_TOKEN_FOR_REST_API }} - workflow-inputs: ${{ toJson(steps.payload.outputs.data) }} + workflow-inputs: ${{ steps.payload.outputs.data }} discover: true From 73a0c4f3046939b47aef130a7dbfbfdedf87d407 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Mon, 1 Jan 2024 20:12:50 -0600 Subject: [PATCH 141/144] update workflow --- .github/workflows/build-and-push.yaml | 48 +++++++++++++++------------ 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 5238c165..8d829c1b 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -131,33 +131,30 @@ jobs: api.image.repository=${{ needs.build.outputs.image_name }} ) DATA="{ - \"event_type\": \"app_update_values\", - \"client_payload\": { - \"app_name\": \"rubinobs-site\", - \"environment_name\": \"${{ needs.build.outputs.environment_name }}\", - \"parameters\": $(jq -c -n '$ARGS.positional' --args ${PARAMETERS[@]}) - } + \"app_name\": \"rubinobs-site\", + \"environment_name\": \"${{ needs.build.outputs.environment_name }}\", + \"parameters\": $(jq -c -n '$ARGS.positional' --args ${PARAMETERS[@]}) }" echo "data=$(echo $DATA | jq -rc '.')" >> "$GITHUB_OUTPUT" - - name: Call Dispatch Webhook - env: - WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches - run: |- - curl -L --fail \ - -X POST \ - $WEBHOOK_URL \ - -H 'Content-Type: application/json' \ - -H "Accept: application/vnd.github+json" \ - -H 'Authorization: Bearer ${{ secrets.EDC_DEPLOY_GITHUB_TOKEN_FOR_REST_API }}' \ - -d '${{ toJson(fromJson(steps.payload.outputs.data)) }}' - cat <<-EOT >> "$GITHUB_STEP_SUMMARY" - # Deployment Workflow Triggered + # - name: Call Dispatch Webhook + # env: + # WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches + # run: |- + # curl -L --fail \ + # -X POST \ + # $WEBHOOK_URL \ + # -H 'Content-Type: application/json' \ + # -H "Accept: application/vnd.github+json" \ + # -H 'Authorization: Bearer ${{ secrets.EDC_DEPLOY_GITHUB_TOKEN_FOR_REST_API }}' \ + # -d '${{ toJson(fromJson(steps.payload.outputs.data)) }}' + # cat <<-EOT >> "$GITHUB_STEP_SUMMARY" + # # Deployment Workflow Triggered - Access the deployment workflow at - EOT + # Access the deployment workflow at + # EOT - uses: lasith-kg/dispatch-workflow@v1.7.0 id: dispatch - name: Trigger Deployment and Wait + name: Trigger Deployment with: dispatch-method: repository_dispatch repo: edc-deploy @@ -166,3 +163,10 @@ jobs: token: ${{ secrets.EDC_DEPLOY_GITHUB_TOKEN_FOR_REST_API }} workflow-inputs: ${{ steps.payload.outputs.data }} discover: true + - name: Await Run ID ${{ steps.dispatch.outputs.run_id }} + uses: Codex-/await-remote-run@v1.10.0 + with: + token: ${{ secrets.EDC_DEPLOY_GITHUB_TOKEN_FOR_REST_API }} + repo: edc-deploy + owner: lsst-epo + run_id: ${{ steps.dispatch.outputs.run_id }} From dcd031f46c2e11d54e39f9841a1bc437819339db Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Mon, 1 Jan 2024 20:16:13 -0600 Subject: [PATCH 142/144] update workflow --- .github/workflows/build-and-push.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 8d829c1b..5cc72395 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -163,10 +163,10 @@ jobs: token: ${{ secrets.EDC_DEPLOY_GITHUB_TOKEN_FOR_REST_API }} workflow-inputs: ${{ steps.payload.outputs.data }} discover: true - - name: Await Run ID ${{ steps.dispatch.outputs.run_id }} + - name: Await Run ID ${{ steps.dispatch.outputs.run-id }} uses: Codex-/await-remote-run@v1.10.0 with: token: ${{ secrets.EDC_DEPLOY_GITHUB_TOKEN_FOR_REST_API }} repo: edc-deploy owner: lsst-epo - run_id: ${{ steps.dispatch.outputs.run_id }} + run_id: ${{ steps.dispatch.outputs.run-id }} From ac590c470ff3655ef6c842b71cd5c695c822c20d Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Mon, 1 Jan 2024 20:54:20 -0600 Subject: [PATCH 143/144] increase timeout --- .github/workflows/build-and-push.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 5cc72395..a4bbfb7e 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -170,3 +170,4 @@ jobs: repo: edc-deploy owner: lsst-epo run_id: ${{ steps.dispatch.outputs.run-id }} + run_timeout_seconds: 1500 From 0660af7c0eb4e3bc3793ad79be20216b4b21bed4 Mon Sep 17 00:00:00 2001 From: Jared Trouth Date: Wed, 3 Jan 2024 08:58:19 -0600 Subject: [PATCH 144/144] update --- .github/workflows/build-and-push.yaml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index a4bbfb7e..c4ec15ac 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -136,22 +136,6 @@ jobs: \"parameters\": $(jq -c -n '$ARGS.positional' --args ${PARAMETERS[@]}) }" echo "data=$(echo $DATA | jq -rc '.')" >> "$GITHUB_OUTPUT" - # - name: Call Dispatch Webhook - # env: - # WEBHOOK_URL: https://api.github.com/repos/lsst-epo/edc-deploy/dispatches - # run: |- - # curl -L --fail \ - # -X POST \ - # $WEBHOOK_URL \ - # -H 'Content-Type: application/json' \ - # -H "Accept: application/vnd.github+json" \ - # -H 'Authorization: Bearer ${{ secrets.EDC_DEPLOY_GITHUB_TOKEN_FOR_REST_API }}' \ - # -d '${{ toJson(fromJson(steps.payload.outputs.data)) }}' - # cat <<-EOT >> "$GITHUB_STEP_SUMMARY" - # # Deployment Workflow Triggered - - # Access the deployment workflow at - # EOT - uses: lasith-kg/dispatch-workflow@v1.7.0 id: dispatch name: Trigger Deployment