amazee.io Lagoon - 针对OpenShift和Kubernetes的Docker构建和部署系统
amazee.io Lagoon - 针对OpenShift和Kubernetes的Docker构建和部署系统 Schnitzel released this
After our big 1.0.0 release, here the next minor update. It features mainly High Availability of Keycloak, better high availability of RabbitMQ, plus a switch to Elasticsearch 7 with a migration from Searchguard to OpenDistro. Please read the Changes
section carefully as there is an important thing regarding Elasticsearch upgrades.
Changes:
- Move from Searchguard to Opendistro #1232
IMPORTANT: You cannot upgrade from a Lagoon 0.x.x Version directly to 1.1.0, as the included Elasticsearch would try to upgrade from 6.6 to 7 which is not possible. Only upgrades from Elasticsearch 6.6 (included in Lagoon 0.x) to Elasticsearch 6.8 (included in Lagoon 1.0.x) to Elasticsearch 7 (included in Lagoon 1.1.x) are possible. So if you are on 0.x.x, upgrade to 1.0.x first and then to 1.1.0. - Disable PHP notices on production environments by default #1162
- Add Drush launcher to /bin, with Drush 8 fallback #1183
- Adjust k8up backup webhooks for new format #1167
- Give default project user maintainer role #1252
IMPORTANT: This is a change from 1.0.0! In 1.0.0 the default project user had the guest role. This causeddrush sql-sync
tasks inpost-rollout
to fail, as soon as #1229 has been merged, this will change back to theguest
role.
Features:
- add migrate-resize-pv.sh script #1201
Bugfixes:
- Fix API slowness by caching keycloak authz response per API request #1222
- Fix API slowness in getBackupsByEnvironmentId resolver #1180 #1223
- Resolver for Backup > Environment was missing #1223
deleteProject
mutation not working (#1227)- API queries/mutations related to environment variables always returned permission denied #1259
- Fix removeNotificationFromProject mutation #1261
- Renamed the VARNISH_UNSET_HEADER_CACHE_TAGS variable to VARNISH_SET_HEADER_CACHE_TAGS #1264
Improvements:
- Implement Native Cronjob Removal #1178
- Added containers for Node version 12 #1216
- Adding end of life notification for node versions v6 and v9 and upcoming end of life for node v8 #1215
- Update Lagoon node packages #1218
- Set RabbitMQ policy to enable Mirrored Queue by default for all "lagoon-" queues #1226
- Add group listing API queries/resolvers #1228
- Cleanup of tests #1231
- High Available Keycloak #1235
- Update Lagoon internal Node services to Node 10 #1240
- Makefile still references node 8 deps #1262
- Support for search_api_solr 8.x-3.x module with Solr 7.x #1246
- Updating to NewRelic Agent 9.1.0.246 #1248
- MariaDB Galera: add check package #1253
- deploymentconfigs and pods don't need to be deleted manually anymore #1257
- Use of REDIS_SERVICE_PORT instead of REDIS_PORT #1263
- Drush Config: define backup-dir #1266
Documentation:
Assets
2
1.0.2 is just a short hotfix for 1.0.0. Unfortunately Drupal does not support the newest Redis 5.0.0 release and therefore we reverted back to redis 4.3.0 in PHP Images. At the same time we also solved some documentation and Node.js issues.
Changes:
- Reverting #1135 and going back to PHPRedis 4.3.0 for all PHP Versions as Drupal 8 and Drupal 7 is not ready for Redis 5.0.0 yet. - #1206
Features:
- none
Bugfixes:
- Force installing nghttp2-libs as the upstream image shipped an outdated version of the library #1209 and #1213
Improvements:
- none
Documentation:
Assets
2
Schnitzel released this
Today we feel as excited as we where exactly two years ago when we launched Lagoon two years ago.
Today we launch Lagoon Version 1.0.0, the first Major Version jump of Lagoon. We want to thank everybody who made this possible:
Thanks everybody for this, we always believed that Lagoon could make it that far, but without you it would never have happened.
As this is a major version jump there will be a dedicated upgrade documentation be created. But as it is a bit complicated we do not suggest to upgrade just now, but instead wait for 1.0.x and the upgrade documentation.
Changes:
- Groups and Subgroups instead of Customers. Starting in Lagoon 1.0.0 customers as we know if from v0.24.0 are gone: There are Groups instead. Projects can be assigned to one or multiple Groups. Users are added to Groups with a Role (see RBAC). Groups can be nested within Subgroups. This change provides a lot more flexibility and the possibility to recreate real world teams within Lagoon. The migration script will create for each existing customer a new group. #1200
- Role Based Access Control (RBAC). When assigning a user to a group, you need to provide a role for that user inside this group. Each one of the 5 current existing roles gives the user different permissions to the group and projects assigned to the group. There is a [full overview of all Roles existing]. The migration script will give each user the "Owner" Role. (https://docs.google.com/spreadsheets/d/1SBf7LxxgbJoefFg00DKA4m8HAshUjVpRHuqN3p_MyI4/edit?usp=sharing).
- Private Keys for Customers are now assigned to Projects. As we removed Customers and Projects can have multiple Groups assigned, the private keys for a project (which is used to access the git code) is now saved on the project directly. The migration script will assign the existing private keys from the customer directly to the projects. #1200
amazeeio/elasticsearch:latest
amazeeio/kibana:latest
amazeeio/logstash:latest
are not updated anymore! We now have versions for6
and7
, like:amazeeio/elasticsearch:6
#1179- Updated makefile and php Dockerfiles to pin correct alpine version for php 7.0 #1136
- Upgrading to PHPRedis 5.0.0 for PHP 7 and pin PHPRedis version 4.3.0 for PHP 5.6 image building process due to PHPRedis 5.0.0 dropping PHP5 support #1135
Features:
- If you don't provide any ssh private key during creation of a project, Lagoon will create a key pair automatically. #1200
- Prioritize production environments #995
Bugfixes:
- Projects with Promote Deployment Types do not create k8up objects - #1192
- Improved how fluentd handles connection interruptions #1171
- Retry API requests that timeout and reduce API load when syncing backups #1160
- Upgrade git-url-parse package to remove errant colon in UI #1066
- Exit and fail the deployment if the docker-host is not reachable #1143
Improvements:
- Searchguard is now using Groups instead of Projects for it's permissions. #1200
- Allow CronJobs to be scheduled on build nodes. #1196
- Allow any additional configurations to be added to elasticsearch #1188 #1182
- docker-host images now use the versioned
amazeeio/docker-host:latest
which is updated on every lagoon release and not on merges to master #1187 - exited containers are removed every 4 hours from docker-host #1187
- Update Drush to v8.3.0 #1185
- Update Drupal Console to v1.9.1 #1185
- Updating Composer to v1.9.0 #1184
- Bumps lodash.mergewith from 4.6.1 to 4.6.2. #1149
- Bump lodash.merge from 4.6.1 to 4.6.2 #1148
- Set memory resource limits for cli DeploymentConfigs (#1140)
- Xdebug will be enabled only if XDEBUG_ENABLE variable has a value #1170
- Allow adjustable interval in service idler (#1138)
- Check running builds and pods before idling (#1138)
- Allow services to be force idled manually ./idle-services.sh force #1139
- Enable much larger environment variable definitions in api #1133
- Also publish -latest suffix images for baseimages with versions #1131
- MDEV-17429 has been fixed, using newest mariadb-client again 821050d
Documentation:
Assets
2
Nothing super crazy here, just some smaller bug-fixes and improvements. Jack Bauer would be proud for a quiet day.
Features:
- none
Changes:
- none
Bugfixes:
- Close hanging SQL connections related to API subscriptions #1113
- Use
SAFE_PROJECT
for bucket names in backup schedule - add
-f
to force cleanup of build images #1128
Improvements:
- Bump axios from 0.18.0 to 0.18.1 #1112
- Bump js-yaml from 3.13.0 to 3.13.1 #1117
- Update mariadb-client to 10.2.24-r0 #1119
- Updated composer to v1.8.6 #1121 #1122
- Allow Lagoon to run with one pod a976730
backoffLimit: 0
for cli pods 15d43f3- remote
logs-forwarder
with better back-off 1d12d96
Documentation:
- none
Assets
2
Here another small release that addresses a Bugfix plus small new features and improvements that will make people happy.
Features:
- Add
order
field toallProjects
andallEnvironments
GraphQL API endpoints (#1109) - Smal script that updates all liveness and readiness checks of nginx-php pods 5d85dae
Changes:
- none
Bugfixes:
- Fix broken Backup Page in UI - d89447f
Improvements:
- Liveness and Readiness checks of containers run every 10 secs instead of 5 (lower load for the cluster) - 28788b6
Documentation:
- none
Assets
2
Schnitzel released this
We tried and we failed (a bit). Therefore there is a new release right after the big v0.23.0 one. This brings mostly improvements for the k8up integration and a new env variable:
Features:
- Provides support for a new
.lagoon.env
env file for catch-all variables #1108
Changes:
- none
Bugfixes:
- none
Improvements:
- Multiple Improvements for k8up integration #1110
Documentation:
- none
Assets
2
With this version of Lagoon we start to deprecate the rest2task
service in favor of the GraphQL API. rest2task was created as a small workaround as the GraphQL API did not have any mutations in the beginning of Lagoon. Now as the GraphQL API is fully grown and mature we can deprecate the rest2task
for good. In this version http requests to rest2task
still work, but a friendly HTTP header and a message in the response body will inform you that rest2tasks is deprecated (the HTTP return code is still 200 though). In future Versions rest2tasks will be completely disabled. Thank you rest2tasks!
Features:
- Varnish Image: allow to define listen and management listen ports (#900)
- API has new mutations for triggering deployments (#894)
Changes:
- API requires new deployment information when creating/updating environments (#894)
- rest2tasks is deprecated in favor of GraphQL API (#894)
Bugfixes:
- Fixed a few styling regressions in the UI caused by #976 (#986)
- UI/API load too much task data and logs and causes slow page loads and timeouts (#961)
- Fixing an issue with route generation on PolySites (#915)
- Fixing a small bug in the api-db duplicate ssh key script (#1005)
- address duplicate values in LAGOON_ROUTES (#1000)
- Fixing small issues in logs-db-forwarder (aka fluentd) (#1006)
Improvements:
- Prevent a previously-moved newrelic.disabled file from causing an error at container restart (#979)
- upgrade New Relic agent to 8.6.0.238 and enable for php 7.3. (#966)
- Shorter expire time for S3 links and use in more places (#999)
- Upgraded all node modules (#994)
- Better UI/API error handling (#987)
- UI can now trigger new deployments for environments (#838)
- Skip pull request deploys from forked repos (#789)
- Add ability to disable auto-idle per environment (#980)
Documentation:
- none
Assets
2
As we are working on a full overhaul of the permission system in Lagoon (is there a version 1.0.0 on it's way??) we have some Lagoon installations that need to protect some users from themselves and we implement a blacklist env variable which allows to disable some GraphQL Mutations from regular users to be used.
As soon as we have the RBAC based system running, this will be obsolete and removed again.
Features:
- Add environment variable to restrict API operations to admins only (#977)
- Python 2.7 and 3.7 Base Images (#897) - thanks @srowlands
- CKAN Base Images (#897) - thanks @srowlands
Changes:
- UI has clean URLs (#960)
Bugfixes:
- UI project page now returns 404 when no project is returned (#931)
- UI stuck in infinite loop when any runtime error is thrown in production mode
Improvements:
- API no longer allows adding duplicate ssh keys (#577) - IMPORTANT for Lagoon Admins: Make sure that you run
/rerun_initdb.sh
within theapi-db
container after release. This will generate the necessary ssh fingerprints in the api databases. Also if there are already existing duplicated keys, you need to fix them (the script warns you) - Broker (RabbitMQ Cluster) is now having a separate headless service for cluster discovery (
broker-headless
) and a regular service for accessing the rabbitmq directly (broker
). Before it was just a headless service which caused all kind of issues of connecting to the rabbitmq. - IMPORTANT for Lagoon Admins: you should delete thebroker
service and statefulset in your installation before deploying this version of Lagoon, as the deployment will fail otherwise. (#984)
Documentation:
Assets
2
Schnitzel released this
This Release is a set of a lot of small improvements and fixes, things that over time accumulated and make the system a bit better working.
Features:
- Allow to define an S3 region via the
S3_REGION
env variable for Lagoon Tasks (#957)
Changes:
- SSH Key Syncing from Gitlab is disabled for now (3041b36) if you use this features, please be aware that this will cause desynced ssh keys. We're working on getting the feature back and also provide a sync-everything feature
Bugfixes:
- Increase the Gitlab timeout to 30secs as the previous timeout of 2secs caused issues (96affbc)
Improvements:
- Remove
::ffff:
also from fastcgi paramREMOTE_ADDR
, as we already do it for theX-Forwarded-For
Header (#958) - Storage Calculator can now also calculate the storage for mariadb-shared service (#956)
- The Lagoon UI backup tab now informs customers about the new tasks tab where they can get on-demand backups (#955)
- Some less logging in the services which reduces the amount of container-logs created by Lagoon (#954)
- Better non-technical names for Lagoon Tasks (#952) - thanks @klonos!
Documentation:
- none
Assets
2
We now have full k8up support, also for the newest release with individual S3 Buckets per Lagoon Project. So far we already supported k8up, but only the global S3 bucket system. Which unfortunately is not really usable in very big cluster with thousand of backups.
Beside of that we also have:
Features:
- Add a
PROJECT_SECRET
which injects a random secret into all environment which is the same across all Lagoon Projects. (#947)
Changes:
- none
Bugfixes:
- Fix the start of RabbitMQ Cluster with non standard service names (#937)
- Force deprovisioning of "Provisioned Services" when deleting environments (#939)
Improvements:
- Allow certain Lagoon tasks to be disabled in the UI via the environment variable
LAGOON_UI_TASK_BLACKLIST
(#946)
Documentation:
Assets
2
Always tracking master branches and upstream is great to keep stuff up to date and things fresh. As Lagoon grows we're running more and more into issues of not having versioned Lagoon Releases or Lagoon Images, here just a short recap of the pain that we suffered in the last weeks:
- A recent update of curl caused some deployment issues for some projects, the developers unfortunately had to wait while we figured out what the problem was and released a Hotfix of the affected Images - #925
- As more and more people are using, the fact that
openshiftBuildDeploy
always used the newest published master version ofoc-build-deploy-dind
, made it very complicated to keep the newest code backwards compatible with a slightly older Lagoon version. - A build of the master branch of Lagoon automatically published new Lagoon Images. This meant we could only merge into master when we actually wanted to publish new images. While this maybe was okay when we had 2-3 PRs to release, recent Lagoon releases had up to 35 PRs that needed to be merged all at once, this caused confusion and a lot of complexity which wasn't necessary.
Therefore today we're addressing these issues with three updates:
- Lagoon Base Images (
php
,nginx
,nodejs
, etc.) exist with a:latest
tag (like they always did), plus a new Lagoon Version Tag, likeamazeeio/nginx:v0.21.0
. Important is that this is not the version number of the service, but the Lagoon Version. For Images that already provided tags for different versions of the service, we now publish a tag with a version suffix like:amazeeio/amazeeio/php:7.1-fpm-v0.21.0
plus the already existing "latest" version without a suffix:amazeeio/amazeeio/php:7.1-fpm
. We still suggest to always use the latest versions of the images as we do not maintain older version of images for security updates, but there are some cases where the versioned base images are coming in handy. - Merges into
master
branch do not automatically publish new Lagoon Images. New Images are only pushed if an actual release (a git tag) has been pushed. This improves the PR workflow drastically as we can now merge into master as soon as a single PR is coming back green from the CI system. Also all PRs and Branch builds still push images to theamazeeiolagoon
Dockerhub Organisation, likeamazeeiolagoon/php:7.1-fpm-master
. As you can see they are suffixed with the branch or PR name. These Images should only be used for testing purposes! - All Version builds of Lagoon Images now include a new
LAGOON_VERSION
environment variable which includes the version number of the Lagoon Version they have been published from. This can be used for all kind of purposes in your code and is used byopenshiftBuildDeploy
to use the sameoc-build-deploy-dind
image version that works together with the Lagoon Version that is running.
We know that many people where wondering since some time why these changes have not been implemented before and why it took so long for this to implement. We're sorry that we took a bit of time to realize and figure out a system that works for us.
We're very excited about the changes and look forward to a versioned future!
Beside all of that there are of course additional changes:
Features:
- Versioned Lagoon Images (read above) #930
Changes:
- none
Bugfixes:
- Fixes log link missing from RocketChat messages, described in #858
Improvements:
- Further improvements on the integration with th Backup-as-a-Service (K8up) system (#929) - which now creates individual S3 buckets for each Lagoon Project and improves the performance of Backups and Restores drastically (like 1000x faster for bigger Lagoon implementations).
- Updating Composer from V1.6.5 to v1.8.4 in all php cli images (#927)
- Logstash upstream images had some changes and we need to follow them (#926)
- Fluentd elasticsearch plugin has some new settings and defaults, we're using them now (#926)
- The Build Logs include some tokens, while they cannot really be used for anything, we're hiding them now (#924)
- Multiple scheduled builds are now skipped and only the last one run (#932)
Documentation:
Assets
2
Schnitzel released this
Assets
2
As promised in Blogposts before, a bit focus from our engineering team goes towards the Lagoon UI and making is more self service. With todays release we bring two exiting new features to the Lagoon UI and API!
Features:
- Lagoon UI Tasks (#860 and #845)
You can now via the Lagoon UI create tasks that run within your site without the need to connect via the SSH Remote Shell🎉 , currently there is support for the following Tasks:drush cr
/drush cc all
(automatically based on Drupal Version)drush sql-sync
anddrush rsync
(both with the possibility to define the source environment where whould be synced from)drush sql-dump
anddrush archive-dump
(both with the possibility to download the generated files via the UI directly!)
- Lagoon UI Environment Delete (#852)
Which allows a convenient way to delete environments (branches or pull-requests) via the UI.
Changes:
-
❗️ Deletion of environments viarest2tasks
has been removed❗️ (#852)
Before this change environments where able to be deleted via
this is not possible anymore and now needs to happen via the GraphQL API:curl -X POST \ https://<rest2tasksURL>/remove \ -H 'Content-Type: application/json' \ -d '{ "projectName" :"myproject", "branch": "develop" }'
If you wonder how to get thecurl -X POST \ https://<apiURL>/graphql \ -H 'Authorization: Bearer <LagoonAPIBearerToken>' \ -H 'Content-Type: application/json' \ -d '{ "query": "mutation { deleteEnvironment(input: {name: \"develop\", project: \"myproject\"}) }" }'
LagoonAPIBearerToken
, please see the documentation for it: https://lagoon.readthedocs.io/en/latest/using_lagoon/graphql_api/#connect-to-graphql-api
Bugfixes:
- Environment variables injected via the Lagoon API not present in environments (#861)
Improvements:
- Better mariadb-shared migration Scripts (#859)
- Updated Elasticsearch, Kibana, Logstash to version
6.5.4
, plus SearchGuard to the same versions (d5da69a)
Documentation:
Assets
2
Happy new Year from the Lagoon Team!
First we really would like to say sorry for the not existing change-logs of the last releases, unfortunately they fell a bit through the cracks of life.
But here is to the new year: We pledge that every release in 2019 and every year after will have a change-log!
Changes:
- Update default Solr Image Configs to run with
solr.lock.type:none
, this fixes issues where the Solr didn't fully bootstrap after the container was stopped non-gracefully. (#552)
Move the Solr Data dir from/opt/solr/server/solr/mycores/${corename}/data
to/var/solr/${corename}
while keeping the solr config still at/opt/solr/server/solr/mycores/${corename}/config
. This split of data and config allows upcoming Solr Docker Images to automatically update the solr config, before this was not possible as the solr core was configured once and the config never ever updated. (#552)
❗️ Important:❗️
If you customized the Docker Solr Images please update your Dockerfile from:
to:CMD ["solr-precreate", "corename", "/solr-conf"]
Additionally update the provided Solr Configs from:RUN precreate-core corename /solr-conf CMD ["solr-foreground"]
to:<dataDir>${solr.data.dir:}</dataDir> <lockType>${solr.lock.type:native}</lockType>
<dataDir>/var/solr/${solr.core.name}</dataDir> <lockType>${solr.lock.type:none}</lockType>
New Features:
- Convert
mariadb
to a meta-server and auto discovermariadb-shared
if the cluster supports it (#826)
This basically means that Lagoon will automatically check if the OpenShift Cluster supports thelagoon-dbaas-mariadb-apb
service broker class and if yes it will create a new service broker instance for this mariadb service. This means there is not a single pod anymore created for this environment, but instead a shared mariadb/mysql is used. If you still would like to have a single mariadb then use the service typemariadb-single
. Existing projects not migrated tomariadb-shared
are still automatically using the existingmariadb
pod, to migrate see: - Added helper script to migrate existing projects to
mariadb-shared
(#819) - Support for Solr 7.5 (#807)
- Support for PHP 7.3 (#811)
- Support to run Tasks (shell commands) via the UI/API that are executed in a new pod in the same namespace (#845)
- GraphQL API and UI have now support for GraphQL Subscriptions which automatically update in realtime on a new or updated Deployment, Backup or Task (#801)
- Lagoon Tasks can now create artifacts which will be uploaded automatically by the API in an S3 compatible service and then served from there if requested via the UI/API (#820)
- Added a new
nginx-php-redis-persistent
which putsnginx
,php
andredis
into a single pod. More added for consistency and for specific cases where this can be useful (#813) - Added Support for upcoming Restic Backup-as-a-Service System (#813)
- SSH Remote Shell now also supports SFTP into cli (#840)
Improvements:
- Performance tune default
mariadb-single
andmariadb-galera
configs (#793) - Added the haproxy config template that Lagoon expects to run within OpenShift (#825)
- Improve Elasticsearch Curator (7949a03)
- Better and faster mysqldumps for Backups (8031181)
- Change default
max_input_vars
in php from1000
to2000
(#788) - UI improvements (#776)
- Default Varnish Image ships now with dynamic director which can handle DNS changes on the fly and not only during Varnish starts (#759)
- Default Varnish Image ships now with
libvmod-bodyaccess
(#759) - Add
Projects
toCustomer
Object in GraphQL API (#777) - Fix not found Tika extension in Solr (#808)
- GraphQL API had issues loading the Hits for a month the year before (#839)
- Remove
::ffff:
in front of IPv6 addressed withinX-Forwarded-For
request headers (#837) - Enable xdebug's remote_log with an environment variable (#836)
- Support for Drupal BigPipe (#846)
- Longer timeouts for internal GraphQL Requests (aae899b)
Bug Fixes:
- Handle environment names longer than 64 characters (#806)
- Escape special characters in Pull Request Titles (#804)
- Handle long environment variables within nginx health check (https://github.com/amazeeio/lagoon/pull/823/files)
- Fix error with GraphQL
deleteEnv
(#822) - Handle environments with dots in
.lagoon.yml
(#818) - Fix overwritten
lagoon-env
config map (#792) - Fix issues with Keycloak 4.6.0 (#790)
Documentation:
Documentation and getting ready for `lagu`
Schnitzel released this
Another week, another Lagoon Release. This time we're at v0.16.1
(no worries, the v1.0.0
is coming soon).
In this release we have:
- Much much more documentation. We feel that many of the functionalities of Lagoon are now stable, so they also deserve a proper entry in the documentation over at http://lagoon.readthedocs.io/en/stable/ - thanks to @rtprio @twardnw @dasrecht
- A lot of preparation for our upcoming cli called
lagu
- thanks @karlhorky - Cleanups like removing an old centos image - #529 (thanks @twardnw)
- building MongoDB Image again, after it builds again - #509 (thanks @rtprio)
- Fixing an issue where Drush wasn't happy when a Branch contained a slash and failed - #486(thanks @rtprio)
- Added a long awaited
ll
command by @Schnitzel - #524 (thanks @twardnw)
Hotfixes and Documentation Updates
twardnw released this
Unfortunately, sometimes little bugs don't show themselves during the automated testing and builds, so we squashed a few since the last release.
We also turned some heavy attention to the docs and have made some substantial updates. Head over to http://lagoon.readthedocs.io/ and check it all out.
Logs Logs Logs and more!
Schnitzel released this
Today marks another big step for Lagoon, with the v0.15.0 release we have now a better logging system (#478, #481) which will allow us to keep logs of:
- Router Logs (each single Hit)
- Pod Logs (stderr and stdout of every single pod)
- Lagoon Logs (build fails, etc.)
- Syslog Logs (Logs emitted via Syslog from the Applications)
As the system is quite complicated and depending on a lot of different services, this probably will only fully automatically work with v0.16 but it's a step in the right direction.
Beside of that we have many other improvements:
- Drupal 7 Support in Varnish #479 (thanks to @ron_s for working with us on this)
- Possibility to set another memory limit for Varnish than the default 100MB - #474 (thanks to @dasrecht)
- Better Default Character sets for MariaDB so we can support all the emojis
😱 💚 #490 (thanks @twardnw) - Possibility to overwrite the storage size for MariaDB PVCs, because who would have thought that there are Databases bigger than 5GB?! - #487 thanks to @twardnw
- Better Idling behavior: Don't idle Databases (they take quite long and generate all kind of timeouts), Idle Projects only after they have not been used for 4 hours (was 1 hour before) - #473 thanks @rtprio
- Some small maxscale improvements - #494
- More documentation: #471
And a special big shout out to @markxtji which is an active user of Lagoon and started to contribute back to Lagoon, with improving the elasticsearch PVC configurations: #463 (thanks also to @thom8 for reviewing). OpenSource Love all the way!
v0.9.1
Schnitzel released this
Merge remote-tracking branch 'origin/289-elasticsearch-cluster-rebase'
v0.7.0: Cronjobs, Custom Routes, SSH wrappers, first Production Sites!
Schnitzel released this
Whew! What a last couple of weeks. After 316 commits later we are super proud to present Lagoon Version 0.7.0. Here a short overview of the new goodies:
- The API learned more Objects. We have now a new Object called
Environments
which is automatically propagated by new deployments. It keeps track of the generated OpenShift Projects and the type of environment (development or production). They are also automatically removed when a Branch or PR is deleted. - The API is now authenticated by User. JSON Web Tokens for Users include now the SSH Key of the user and with that we can figure out to which projects and customers a User belongs. Based on that the API will only show API Objects that should actually be seen by the User. (Authenticated Create, Delete and Update is still in the works)
- The
varnish
Image has been split up intovarnish
andvarnish-drupal
🔀 - Drupal specific things of the
php-cli
image (drush, console) have been removed and moved intophp-cli-drupal
- There is a new service called
ssh
which has magic powers🎩 ! It can do two things:- Generate JSON Web Tokens for a user with the SSH Key of the connecting User
- Provide remote shell access to a running container of an OpenShift Project. So it basically feels like you connect via ssh to the container even though you don't :) (this also provides possibilities for rsync and other tools that depend on rsync).
- A new lagoon type called
cli-persistent
which allows to mount an already existing persistent storage name into the cli container - Refactored Drush Aliases that auto generate a JWT for the User and makes API calls with that token, plus it also uses the new ssh connection to run drush sql-sync, drush rsync and drush ssh.
- The
php-cli-drupal
images are shipped with andrushrc.php
that tells Drush where it finds the Drupal root and what routes it currently has. This removes the need to cd into the correct drupal folder before running Drush commands!💚 - Injecting the already existing ssh key into the cli containers so that the cli itself can make remote shell commands (needed to sync a remote environment with another remote environment)
- Updates to the nginx image:
- Auto adding
x-robots-tag
if we are on a development environment - an easy redirect-map file that allows for easy redirects without the need to write actual nginx configs
- an easy way to create basic auth via Environment Variables (auto generated the .htpasswd file!
💪 )
- Auto adding
- Solr 5 and 6 Images! Also with a Drupal Flavor.
- MongoDB Images!
- A fully function
LAGOON_ENVIRONMENT_TYPE
environment variable. Also production environments cannot be deleted automatically and need to beforced - Mail Sending Support for php with an external Mail Relay (either provided by the hosting Infra, or something like Mailgun, etc.)
- Custom Routes per Environment definable in
.lagoon.yml
- Cronjobs definable in
.lagoon.yml
- Much much nicer shell and bash prompts
- Updated drupal-example with all the above mentioned changes: https://github.com/amazeeio/drupal-example
- Fought and conquered Spectre and Meltdown on the production servers.
⚔️
And probably the most exciting but not visible part of Lagoon:
We are running the first fully Dockerized Production environment sites (we always had sites that where hybrid of the new and old system, but now it's actually all in the new system).
If you are an amazee.io client we will contact you soon how we will migrate everybody over to Lagoon. Stay tuned!
Watchers:22 |
Star:329 |
Fork:97 |
创建时间: 2017-08-30 19:57:54 |
最后Commits: 前天 |
许可协议:Apache-2.0 |
877e264
Another short fix. Sorry for any failed builds this might have caused.
PSA: Please do not use this version in an emergency, instead call 112.
Changes: