profile
viewpoint
Michael Schmid Schnitzel @amazeeio Earth (currently) schnitzel.io CTO Amazee

push eventamazeeio/lagoon

Chris Davis

commit sha 73f86269d0d7a62416f306e7d3255135a22b2897

Removing fluentd prometheus plugin version constraint.

view details

Michael Schmid

commit sha 36d1b1342e2e934b92482f161ed21f44a6de0189

Merge pull request #1392 from amazeeio/fluentd_prometheus_fix Removing fluentd prometheus plugin version constraint.

view details

push time in 10 hours

PR merged amazeeio/lagoon

Removing fluentd prometheus plugin version constraint. Logging

This change upgrades fluentd's prometheus output plugin to the most recent version.

Changelog Entry

Change - Upgraded fluentd prometheus plugin to most recent version.

+3 -1

0 comment

1 changed file

cdchris12

pr closed time in 10 hours

pull request commentamazeeio/lagoon

adding toolbox container for operations purposes

@dasrecht the CI fails, can you check this? thanks

dasrecht

comment created time in 13 hours

push eventamazeeio/lagoon

Chris Davis

commit sha ec1443c333d9e561514be7219cdb03fbe0039770

Updating fluentd prometheus plugin version to work with fluentd version 0.12

view details

Chris Davis

commit sha 2bee3e043c6d5214730380f07c80f4bf24caf095

Missed a character.

view details

Michael Schmid

commit sha 8686e91e7ecd758ae2b81b908b5b414aa3ff3ad0

Merge pull request #1390 from amazeeio/fluentd_prometheus_fix Fluentd prometheus plugin fix

view details

push time in 13 hours

PR merged amazeeio/lagoon

Reviewers
Fluentd prometheus plugin fix Logging

Downgrading the prometheus exporter plugin for fluentd so that it will work with the version of fluentd we are running (0.12).

Changelog Entry

BugFix - Resolve fluentd prometheus exporter plugin startup issue.

+1 -1

0 comment

1 changed file

cdchris12

pr closed time in 13 hours

Pull request review commentamazeeio/lagoon

Corrects PHP-FPM to use host.docker.internal for xdebug

 # Tries to find the Dockerhost get_dockerhost() {   # https://docs.docker.com/docker-for-mac/networking/#known-limitations-use-cases-and-workarounds-  if busybox timeout -t 1 ping -c1 docker.for.mac.localhost &> /dev/null; then-    echo "docker.for.mac.localhost"-    return-  fi--  # https://docs.docker.com/docker-for-windows/release-notes/#docker-community-edition-17060-win13-release-notes-2017-06-01-17060-rc1-ce-win13-edge-  if busybox timeout -t 1 ping -c1 docker.for.win.localhost &> /dev/null; then-    echo "docker.for.win.localhost"-    return-  fi--  # https://github.com/amazeeio/pygmy/blob/267ba143158548628f190f05ecb5cb2c19212038/lib/pygmy/resolv_osx.rb#L26-  if busybox timeout -t 1 ping -c1 172.16.172.16 &> /dev/null; then-    echo "172.16.172.16"+  if busybox timeout 1 nslookup host.docker.internal &> /dev/null; then
  if busybox timeout 1 busybox nslookup host.docker.internal &> /dev/null; then

is making sure that we always run with busybox, as there could be other implementations of nslookup exist

fubarhouse

comment created time in 17 hours

pull request commentamazeeio/lagoon

Use KVM as the minishift vm-driver on Linux

this fails the automated testing, as it is running on Linux and the CI server does not have KVM installed. Can we get KVM installed there before we merge this, or all the CI will fail ;)

smlx

comment created time in 2 days

Pull request review commentamazeeio/lagoon

Corrects PHP-FPM to use host.docker.internal for xdebug

 # Tries to find the Dockerhost get_dockerhost() {   # https://docs.docker.com/docker-for-mac/networking/#known-limitations-use-cases-and-workarounds-  if busybox timeout -t 1 ping -c1 docker.for.mac.localhost &> /dev/null; then-    echo "docker.for.mac.localhost"-    return-  fi--  # https://docs.docker.com/docker-for-windows/release-notes/#docker-community-edition-17060-win13-release-notes-2017-06-01-17060-rc1-ce-win13-edge-  if busybox timeout -t 1 ping -c1 docker.for.win.localhost &> /dev/null; then-    echo "docker.for.win.localhost"-    return-  fi--  # https://github.com/amazeeio/pygmy/blob/267ba143158548628f190f05ecb5cb2c19212038/lib/pygmy/resolv_osx.rb#L26-  if busybox timeout -t 1 ping -c1 172.16.172.16 &> /dev/null; then-    echo "172.16.172.16"+  if busybox nslookup host.docker.internal &> /dev/null; then

as this is run inside an entrypoint and a DNS issue would block the whole container from coming up: can we add a timeout command in front of it with 1sec timeout? Just to be sure that we don't have any weird DNS issues affecting our containers :)

fubarhouse

comment created time in 2 days

issue commentamazeeio/lagoon

Route longer than 64 chars not correctly created

the problem is that the name of the service is prefixed to the route name, so for nginx the route name ends up being: nginx-$SAFE_BRANCH which is then longer than 63 chars, as SAFE_BRANCH is already 63 chars.

so maybe SAFE_BRANCH should be created with max 53 characters, so there is 10 characters left for the servicename? (this is though a guessing game, as people could call their services with something longer than 10 characters again)

vincenzodnp

comment created time in 5 days

issue commentamazeeio/lagoon

Xdebug host is not discovered correctly

I did some research myself and it seems that the problem is actually somewhere completely different:

  1. docker.for.mac.localhost still works even with the newest Docker for Mac Version 2.1.0.3 (Docker Version: 19.03.2):
$ ping docker.for.mac.localhost
PING docker.for.mac.localhost (192.168.65.2): 56 data bytes
64 bytes from 192.168.65.2: seq=0 ttl=37 time=0.373 ms```

and `host.docker.internal` works as well:
```ping host.docker.internal
PING host.docker.internal (192.168.65.2): 56 data bytes
64 bytes from 192.168.65.2: seq=0 ttl=37 time=0.502 ms```

2. `host.docker.internal` does **NOT** work on Linux systems, so just setting `DOCKERHOST` to `host.docker.internal` would not work on Linux systems, and we still need the `route -n | awk '/UG[ \t]/{print $2}'` system
3. The actual problem is that `busybox timeout -t 1` is not working anymore on the newest alpine that PHP has running inside, it fails with:

busybox timeout -t 1

timeout: unrecognized option: t``` 4. Some docker-compose.yml version doe now set the running user to 1000: https://github.com/amazeeio/drupal-example/blob/master/docker-compose.yml#L23-L26 which means that it's not running as root and ping can only be used under the User root, so we need to find another way to check if the host is reachable. But I think we could do this via nslookup:

os x:

nslookup: can't resolve '(null)': Name does not resolve

Name:      host.docker.internal
Address 1: 192.168.65.2```

linux:

/ # busybox timeout 1 nslookup host.docker.internal nslookup: can't resolve '(null)': Name does not resolve

nslookup: can't resolve 'host.docker.internal': Name does not resolve


so we would need a PR that: 
1. changes the `ping` tests to `nslookup` tests, like `busybox timeout 1 nslookup host.docker.internal`
2. combines the windows and mac tests into one for `host.docker.internal`
3. removes the check for `172.16.172.16` (it's not necessary anymore)
4. keeps the default gateway check

I don't have time right now to work on this, but this should be a fairly easy fix 
AlexSkrypnyk

comment created time in 5 days

push eventamazeeio/lagoon

Brandon Williams

commit sha 05894075176f51e8af15c034a36201a5e4678175

Handle loadAllGroups exceptions better

view details

Brandon Williams

commit sha 27f91330eae4f8714eb186131d15006c603c5899

Use a new KeycloakAdmin client for every API request

view details

Brandon Williams

commit sha c6b27b4d4d79d927a935d546e04c808329672a97

Remove parallel calls of keycloak API There is a bug with the keycloak-admin client related to expiring access tokens that somehow can cause failures when parallel keycloak requests are in flight and a token expires.

view details

Brandon Williams

commit sha 19ed06a6b0ea8370a69a56f531ad812eee3e9947

loadAllUsers defaulted to return 100 only

view details

Michael Schmid

commit sha 7c67acf24b15e55d2ffd48d96d484d012f9a67f5

Merge pull request #1386 from amazeeio/1337-keycloak-request-retries 1337 keycloak request retries

view details

push time in 5 days

PR merged amazeeio/lagoon

1337 keycloak request retries

<!-- IMPORTANT: Please do not create a Pull Request without creating an issue first. Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.

Please provide enough information so that others can review your pull request: -->

<!-- You can skip this if you're fixing a typo. -->

Checklist

  • [ ] Affected Issues have been mentioned in the Closing issues section
  • [ ] Documentation has been written/updated.
  • [ ] Changelog entry has been written

More changes to help #1337

Changelog Entry

<!-- Describe the change in order to make it visible in the changelog If the change breaks anything document this - how was the functionality before - how does it work after the change

Prefix the change with: Feature, Change, Bugfix, Improvement, Documentation

Use following format: Improvement - Description (#ISSUENUMBER) -->

Closing issues

Put closes #XXXX in your comment to auto-close the issue that your PR fixes (if such).

+961 -997

0 comment

22 changed files

rocketeerbkw

pr closed time in 5 days

issue commentamazeeio/lagoon

Xdebug host is not discovered correctly

@AlexSkrypnyk so would changing docker.for.mac.localhost to host.docker.internal in here https://github.com/amazeeio/lagoon/blob/master/images/php/fpm/entrypoints/60-php-xdebug.sh#L6 solve the problem?

AlexSkrypnyk

comment created time in 6 days

Pull request review commentamazeeio/lagoon

lte & gte w/ month and next month

 const getEnvironmentHitsMonthByEnvironmentId = async (               {                 range: {                   '@timestamp': {-                    gte: `${interested_year_month}||/M`,-                    lte: `${interested_year_month}||/M`,+                    gte: `${interested_year_month_gte}||/M`,+                    lte: `${interested_year_month_lte}||/M`,

so according to https://codesandbox.io/s/condescending-boyd-vwpqn?fontsize=14

this will now be

> 2019-12 
< 2020-01 

but ||/M will then round down for gte and round up for lte (see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html#range-query-date-math-rounding)

So I think in the end that query would actually cover two months, like 2019-12-01-2020-01-31?

I think we would need to remove the ||/M as we don't depend on ES doing the rounding anymore.

wintercreative

comment created time in 7 days

push eventamazeeio/lagoon

Michael Schmid

commit sha 612ec965dba218dfb4ccea451efc4136adce8520

#1363: tell elasticsearch which format we're sending data

view details

Michael Schmid

commit sha f460d0a1b0ec0af42a5819457280106122d76e67

Merge pull request #1380 from amazeeio/1363-define-format #1363: tell elasticsearch which format we're sending data

view details

push time in 7 days

PR merged amazeeio/lagoon

#1363: tell elasticsearch which format we're sending data

this is another fix for #1363 which does not require to let the API do the time calculation, but instead let's Elasticsearch calculate it (like it currently is)

Bugfix - Define the Date Format for loading of Hits

Closing issues

closes #1363

+1 -0

0 comment

1 changed file

Schnitzel

pr closed time in 7 days

issue closedamazeeio/lagoon

HitsMonth calculation fails with parse_exception

Describe the bug When running the following query, the result returns with errors

query {
  allProjects { 
      _:environments(includeDeleted: true, type: PRODUCTION) { 
      project { 
        name 
      } 
      openshiftProjectName
      name
      __:hitsMonth(month: "2019-10") { 
        total 
      } 
    }
  } 
}

The errors are

[parse_exception] failed to parse date field [2019-10] with format [strict_date_optional_time||epoch_millis]: [failed to parse date field [2019-10] with format [strict_date_optional_time||epoch_millis]] (and) [parse_exception] failed to parse date field [2019-10] with format [strict_date_optional_time||epoch_millis]: [failed to parse date field [2019-10] with format [strict_date_optional_time||epoch_millis]] (and) [parse_exception] failed to parse date field [2019-10] with format [strict_date_optional_time||epoch_millis]: [failed to parse date field [2019-10] with format [strict_date_optional_time||epoch_millis]] (and) [parse_exception] failed to parse date field [2019-10] with format [strict_date_optional_time||epoch_millis]: [failed to parse date field [2019-10] with format [strict_date_optional_time||epoch_millis]]

The call to elasticsearch is failing https://github.com/amazeeio/lagoon/blob/master/services/api/src/resources/environment/resolvers.js#L356-L385

A successful request needs to contain a full timestamp YYYY-MM-DDTHH:MM:SS rather than just the YYYY-MM

The following query succeeds.

GET router-logs-project-*/_count
{
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "@timestamp": {
              "gte": "2019-10-01T00:00:00",
              "lte": "2019-11-01T00:00:00"
            }
          }
        }
      ],
      "must_not": [
        {
          "match_phrase": {
            "request_header_useragent": {
              "query": "StatusCake"
            }
          }
        }
      ]
    }
  }
}

closed time in 7 days

shreddedbacon

PR opened amazeeio/lagoon

#1363: tell elasticsearch which format we're sending data

this is another fix for #1363 which does not require to let the API do the time calculation, but instead let's Elasticsearch calculate it (like it currently is)

Bugfix - Define the Date Format for loading of Hits

Closing issues

closes #1363

+1 -0

0 comment

1 changed file

pr created time in 8 days

create barnchamazeeio/lagoon

branch : 1363-define-format

created branch time in 8 days

issue commentamazeeio/lagoon

Improve CronJob handling/operation/modification

remote cron trigger?

this could be solved by https://github.com/amazeeio/lagoon/pull/1346

tobybellwood

comment created time in 9 days

issue commentamazeeio/lagoon

Improve CronJob handling/operation/modification

switching native to CLI without a redeploy

is this a one time execution (like we do with the helpers/ tools) or is that something that would need to be part of Lagoon Tasks?

tobybellwood

comment created time in 9 days

issue commentamazeeio/lagoon

Improve CronJob handling/operation/modification

setting local timezone we are currently switching all Clusters to UTC for the native cronjobs, as the in-pod cronjobs are already UTC running. Technically it would be possible to run the in-pod cronjobs with another Timezone (via the TZ env variable), but it's not gonna be possible to have the native cronjobs in another timezone as kubernetes decided to not have that: https://github.com/kubernetes/kubernetes/issues/47202 So I think the best is to have UTC for everything.

tobybellwood

comment created time in 9 days

Pull request review commentamazeeio/lagoon

Ensure that cron jobs that are every 15 minutes do not create a kuber…

 function outputToYaml() { }  function cronScheduleMoreOftenThan15Minutes() {-  #takes a unexpanded cron schedule, returns 0 if it's more often that 15 minutes+  # Work out if a particular cron schedule runs at least every 15 minutes.+  # returns 0 if cron runs at least every 15 minutes. This includes a 15 minute+  # cron as well. Running a cron every 10 minutes will also return 0.+  # returns 1 if cron runs less often, say every 30 minutes.   MINUTE=$(echo $1 | (read -a ARRAY; echo ${ARRAY[0]}) )   if [[ $MINUTE =~ ^(M|H|\*)\/([0-5]?[0-9])$ ]]; then-    # Match found for M/xx, H/xx or */xx-    # Check if xx is smaller than 15, which means this cronjob runs more often than every 15 minutes.+    # Match found for `M/xx`, `H/xx` or `*/xx`.+    # Check if xx is smaller or equal to 15, which means this cronjob runs at+    # least every 15 minutes.     STEP=${BASH_REMATCH[2]}-    if [ $STEP -lt 15 ]; then+    if [ $STEP -le 15 ]; then       return 0     else       return 1     fi   elif [[ $MINUTE =~ ^\*$ ]]; then-    # We are running every minute+    # We are running every minute.     return 0   else-    # all other cases are more often than 15 minutes+    # All other cases are less often than 15 minutes.

I don't think that "less" is correct now, this would mean that "other cases" are 15minute and higher (like 1 hour, 16min, etc.). But we return 1 when we have 14, 13, 12, etc.

So I would leave it at All other cases are more often than 15 minutes., as before it actually would have needed to be called All other cases are more often than or exactly 15 minutes.

seanhamlin

comment created time in 9 days

PR opened amazeeio/lagoon

Kubernetes Support

Changelog Entry

Improvement - Just a little bit Kubernetes support

+3087 -31

0 comment

54 changed files

pr created time in 9 days

create barnchamazeeio/lagoon

branch : kubernetes

created branch time in 9 days

push eventSchnitzel/lagoon-nginx-simple

Michael Schmid

commit sha 93651622576e3d8d638d7289207ac748cf4aa199

Update .lagoon.yml

view details

push time in 10 days

push eventSchnitzel/lagoon-nginx-simple

Michael Schmid

commit sha f6e21685160c7d269e266916892a5a625a3f55e7

Create docker-compose.yml

view details

push time in 10 days

create barnchSchnitzel/lagoon-nginx-simple

branch : master

created branch time in 10 days

created repositorySchnitzel/lagoon-nginx-simple

created time in 10 days

issue commentamazeeio/lagoon

Refactor Container Logs Elasticsearch Index Name creation to generate less indexes

@tobybellwood yes, we're using that already, or better: the openshift image we use: https://github.com/amazeeio/lagoon/blob/master/docker-compose.yaml#L394 uses it for us :)

Schnitzel

comment created time in 10 days

push eventamazeeio/lagoon

Brandon Williams

commit sha 0c2116830fbb5b4dd8bfe952aded0de80a86fb00

Refresh keycloak admin token if necessary before every keycloak admin request

view details

Michael Schmid

commit sha f1657e68a23f2c41b7d3123caad02bef811fa210

Merge pull request #1362 from amazeeio/1337-keycloak-request-retries Keycloak API stability improvements

view details

push time in 10 days

PR merged amazeeio/lagoon

Keycloak API stability improvements

<!-- IMPORTANT: Please do not create a Pull Request without creating an issue first. Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.

Please provide enough information so that others can review your pull request: -->

<!-- You can skip this if you're fixing a typo. -->

Checklist

  • [x] Affected Issues have been mentioned in the Closing issues section
  • [ ] Documentation has been written/updated.
  • [x] Changelog entry has been written

There are multiple reports of random API failures, all point back to keycloak. It appears that keycloak will just randomly not return data we know it has.

I'm still not able to reliably reproduce the bug, but I did find a couple issues that are likely culprits:

  1. The keycloak-admin library only authenticates for 1 minute and has a 55 second refresh timer. However, if there are keycloak requests happening when this refresh timer goes off, the new token is not reflected in the active requests and they fail with 401 not authenticated errors
  2. The API error handling erroneously sees the 401 errors in some cases and reports them as "404 not found" which caused some dead ends while hunting for the root issue.

This PR uses a cloned and hacked version of keycloak-admin that will check for a valid access token before every request and get a new one if necessary.

Still TODO is better error handling. In my testing, this change makes the 404 group errors go from at least every minute to non-existent. However I still am getting some user 404 errors.

At the very least, this as a hotfix should improve things.

Changelog Entry

<!-- Describe the change in order to make it visible in the changelog If the change breaks anything document this - how was the functionality before - how does it work after the change

Prefix the change with: Feature, Change, Bugfix, Improvement, Documentation

Use following format: Improvement - Description (#ISSUENUMBER) --> Bugfix - Check for expired keycloak token before requesting data (#1337)

Closing issues

+10 -9

0 comment

3 changed files

rocketeerbkw

pr closed time in 10 days

pull request commentamazeeio/lagoon

#1021 document lagoon base docker images

@vincenzodnp I merged this in, but they are not visible here: https://lagoon.readthedocs.io/en/latest/ looks like they are missing from here: https://github.com/amazeeio/lagoon/blob/master/mkdocs.yml can you create another PR and add them there?

vincenzodnp

comment created time in 11 days

pull request commentamazeeio/lagoon

Expose max_allowed_packet to env vars.

yes, the documentation PR has just been merged, so let's add that env variable to here: https://github.com/amazeeio/lagoon/blob/master/docs/using_lagoon/docker_images/mariadb.md

steveworley

comment created time in 11 days

push eventamazeeio/lagoon

Vincenzo De Naro Papa

commit sha 72b2ff6fb015bbe76557c7e4d18ce95475d0c42d

Added all missing base images' documentation

view details

Vincenzo De Naro Papa

commit sha f94f1e548a085f1554313a5e19d81f03c7d8c63e

Fix some typos

view details

Vincenzo De Naro Papa

commit sha 2286226a4d0fcc7287486859f6b5aa64d0a33807

Merge branch 'master' into 1021-document-lagoon-base-docker-images

view details

Vincenzo De Naro Papa

commit sha 6120ee0f5d1004f4161f327899d7ee7a52d37ded

Fixed some typos

view details

Vincenzo De Naro Papa

commit sha 61a42b6e9d474dfb7571e671f247ee79508feb88

Added Environment Variables section. Closing #922

view details

Vincenzo De Naro Papa

commit sha d4d11722124613fd7e2350ba5e15e7b0ca743aac

Added trailing spaces and suggestions

view details

Vincenzo De Naro Papa

commit sha 383be4f3bb0a45c8c8cbb30797a194975ae54895

Created separate page for drupal and added production variables' values

view details

Vincenzo De Naro Papa

commit sha 904aef0faef7d83fc135c524731fc9fe9ceb7881

Fix typo

view details

Vincenzo De Naro Papa

commit sha 12f33a88ac65cb9c840f5b7075eda7c0aac1d919

Added link how-to set Environment Variable on Lagoon

view details

Vincenzo De Naro Papa

commit sha 2efde966a021e46b7ca650c6cb5d6620369f0f37

Fix typo

view details

Vincenzo De Naro Papa

commit sha e6f36c28fe0845f55e26d8769dcfc17d9200f431

Added all tools installed into the image

view details

Vincenzo De Naro Papa

commit sha ff8519192b5db54328179573b48bad08b05efdf4

Defined the Drupal.conf customization section

view details

Vincenzo De Naro Papa

commit sha 04b8007ee869d158f68a8bd8a6d2188f03aff52b

Update docs/using_lagoon/docker_images/php-cli-drupal.md Fix typo Co-Authored-By: Toby Bellwood <toby.bellwood@finance.gov.au>

view details

Vincenzo De Naro Papa

commit sha d47f16c8ac655df02900bfca17240cf3dad5b508

Split out images to `*-drupal` version if available

view details

Vincenzo De Naro Papa

commit sha 590ce8aaea2a45d6b7ab074d21f91465f60773f2

Merge branch '1021-document-lagoon-base-docker-images' of github.com:amazeeio/lagoon into 1021-document-lagoon-base-docker-images

view details

Vincenzo De Naro Papa

commit sha ab8db44d2ec710295d992e0a86689edee37d857b

Fixed openresty version

view details

Michael Schmid

commit sha 616adcac8c15d6a90cb57bdc574fb124462aa852

Merge pull request #1323 from amazeeio/1021-document-lagoon-base-docker-images #1021 document lagoon base docker images

view details

push time in 11 days

PR merged amazeeio/lagoon

Reviewers
#1021 document lagoon base docker images

Checklist

  • [x] Affected Issues have been mentioned in the Closing issues section
  • [x] Documentation has been written/updated.
  • [x] Changelog entry has been written

Added detailed documentation of all Lagoon base images Replaced, where possible, amazee.io with lagoon Fix some typos

Changelog Entry

Improvement - Base images documentation (#1021 and #1236)

Closing issues

closes #1021 #1236

+280 -29

1 comment

17 changed files

vincenzodnp

pr closed time in 11 days

issue closedamazeeio/lagoon

Document all Lagoon Base Docker Images

Currently the documentation of the Lagoon Base Docker Images is lacking, we only have two of them really documented: https://lagoon.readthedocs.io/en/latest/using_lagoon/docker_images/php-fpm/ https://lagoon.readthedocs.io/en/latest/using_lagoon/docker_images/nginx/

This project idea includes the work to document all other Lagoon Base Docker Images: https://lagoon.readthedocs.io/en/latest/using_lagoon/#supported-services-base-images-by-lagoon in the same style as the php-fpm and nginx documentation

closed time in 11 days

Schnitzel

push eventamazeeio/lagoon

Scott Leggett

commit sha 0c6ec24dd5d3c8a9a1c75d17c98b3c8f891d25df

Update documented minishift make target

view details

Michael Schmid

commit sha 885c1e2e1dea03dbd44240c454ebe162cecb8a31

Merge pull request #1353 from amazeeio/typos-documentation Minor documentation fix

view details

push time in 11 days

PR merged amazeeio/lagoon

Reviewers
Minor documentation fix

Fix outdated documentation.

Checklist

  • [ ] Affected Issues have been mentioned in the Closing issues section
  • [x] Documentation has been written/updated.
  • [x] Changelog entry has been written

This change makes the comments and documentation easier to follow for a lagoon n00b like myself.

Changelog Entry

Documentation - Use the correct Minishift target.

Closing issues

n/a

+1 -1

0 comment

1 changed file

smlx

pr closed time in 11 days

Pull request review commentamazeeio/lagoon

Add Task for running Drupal core-cron.

 EOF   "scopes": ["drushCacheClear:production","drushCacheClear:development"],   "policies": ["User has access to project","Users role for project is Guest"] }+EOF++    /opt/jboss/keycloak/bin/kcadm.sh create clients/$CLIENT_ID/authz/resource-server/permission/scope --config $CONFIG_PATH -r lagoon -f - <<EOF+{+  "name": "Run Drush cron",+  "type": "scope",+  "logic": "POSITIVE",+  "decisionStrategy": "UNANIMOUS",+  "resources": ["task"],+  "scopes": ["drushCron:production","drushCron:development"],+  "policies": ["User has access to project","Users role for project is Guest"]+}

we need to move this outside of the configure_api_client() function, as configure_api_client is only called once (at the very beginning when keycloak starts the very first time)`.

see https://github.com/amazeeio/lagoon/blob/d9875b2a5b1d53c197d18c29b84b6a2b40e3bf81/services/keycloak/start.sh#L1324 as an example how we add additional things to the keycoak api (like upgrade paths)

fubarhouse

comment created time in 11 days

push eventamazeeio/lagoon

Schnitzel

commit sha 133b8cf34283b7083c3d60f77b5e6af7ff641468

remove `::ffff:` also from fastcgi param `REMOTE_ADDR`

view details

Schnitzel

commit sha bc0f20009cb6c9bec100444c6dc6f9e041bfd69e

also calculate storage for mariadb-shared, allow to define a regex to skip projects

view details

Schnitzel

commit sha 8642c89d041e7f43982ba2622957dcaede974dd9

allow to define region for S3

view details

Schnitzel

commit sha 067321338f98b638e6251a1218a59e06b71d0d2a

inform about new tasks tab

view details

Schnitzel

commit sha fc8cb98150b07b66e14205bdfb32bb1fcfbef5fc

run storage run crons via lagoon cron system

view details

Schnitzel

commit sha 3cae0319b87953acb6a0c12c3ddc7598d0322a2e

add services to test project to be able to test ui tasks

view details

Schnitzel

commit sha abdf5f8d9722ae30aefe1f58f758f1d21e820b96

less logging via logger() as with the new build logs these can be very big

view details

Schnitzel

commit sha 96affbcc77e662659cb2a6d90114bac65f9a9d09

hotfix: increase gitlab timeout to 30secs

view details

Schnitzel

commit sha 3041b36860f820430c62890323f08f77984fbec2

Disable SSH Key Syncing

view details

Elliot Schlegelmilch

commit sha ee1e7291d9be0e72b65fac350ce038c6531eb2ca

set the k8s.servicename to match the SERVICE_NAME.

view details

Elliot Schlegelmilch

commit sha 1aa6237be13194c17a352bb6d868854af31ed0a1

don't bother setting up the cluster if we're running locally

view details

Schnitzel

commit sha 8e1a6cb4eea190808e92de9340c36f552d1c432a

explain how to use drush9 rsyn

view details

Schnitzel

commit sha a3d8a128786324ca3766d92fdc2ca05c74966f07

small fixes for drupal docs

view details

Dan Lemon

commit sha 28c27b45bae6e7c8632f5bbd6dd973144bab49af

Run PHPCBF to cleanup code a little

view details

Dan Lemon

commit sha 5bb19d16cfbb06b9f082f5cc34108456d4e6b2b6

Further PHPCBF run

view details

Dan Lemon

commit sha eedf89d1d430a0a9ede525a3d49e64a3004b6eef

Keep lowercase a in amazee.io

view details

Brandon Williams

commit sha 14641a53ca4f9ac213442e2605755d114bc96e34

Format code and use native promises

view details

Brandon Williams

commit sha e4942f5409949f582ce7bdebe3f81fca340974b6

Force deprovision of service catalog instances when deleting environments

view details

Schnitzel

commit sha f936f07f53f318a2e5d45202f67a2c247124383b

comment patches directory by default

view details

Schnitzel

commit sha fd68173d2b9dc0148a6e1336895205f77cd50e2d

disable redis by default

view details

push time in 11 days

issue openedamazeeio/lagoon

Refactor Container Logs Elasticsearch Index Name creation to generate less indexes

Currently we just use the Kubernetes Namespace name as the indicator for index names of container logs inside elasticsearch: container-logs-${record['namespace_name']}-${Time.at(time).strftime("%Y.%m")}

The problem is that with having many PR environments we create a new index for each PR environment even though they only have a couple of hundred log entries. This makes the elasticsearch slow.

Therefore we would like to change the index name to separate between the environment type (where we currently have production and development):

  • `container-logs-${lagoon-projectname}-${lagoon-environmenttype}-${Time.at(time).strftime("%Y.%m")}``

In order to do this we're missing two essential pieces in the payload of the container logs:

  • lagoon project name
  • lagoon environment type

Fluentd has the possibility to inject the labels of the namespace into the payload of the container logs, therefore the plan is:

  • [ ] Inject the Lagoon ProjectName, EnviornmentName, EnvironmentType as a label into the Kubernetes Namespace when we create the namespace, but also when we redeploy (in order to handle namespaces that don't have the labels yet, but also in case the environment type change)
  • [ ] create a script that add/updates the labels in all the namespaces created by lagoon
  • [ ] Update the Fluentd config https://github.com/amazeeio/lagoon/blob/master/services/logs-forwarder/.lagoon.multi.yml#L223-L228 to check for these new variables and if they exist use them instead of the current way (but provide a fallback to use the old system, plus also for namespaces that are not created by lagoon - like default)

created time in 12 days

pull request commentamazeeio/lagoon

Patch keycloak Dockerfile and entrypoint for new base image

thanks @smlx !

smlx

comment created time in 13 days

push eventamazeeio/lagoon

Scott Leggett

commit sha 40ce597c715d57a25b102beaef87b9ac591e8854

Patch keycloak Dockerfile and entrypoint for new base image * install python2, as it is no longer part of the base image * enable script upload, as this is disabled by default in 7.0.1 * pin base image version to 7.0.1 (current latest version)

view details

Michael Schmid

commit sha 75ceac8eb14a2be0507f1cb43716d9f5bc12a54b

Merge pull request #1358 from amazeeio/patch-keycloak Patch keycloak Dockerfile and entrypoint for new base image

view details

push time in 13 days

PR merged amazeeio/lagoon

Reviewers
Patch keycloak Dockerfile and entrypoint for new base image

Checklist

  • [x] Affected Issues have been mentioned in the Closing issues section
  • [ ] Documentation has been written/updated.
  • [x] Changelog entry has been written

The base image our keycloak is jboss/keycloak. This had a new release tagged, and as we don't currently pin base images against a tag we get latest when building from scratch. This new version has an incompatibility with our entrypoint scripts.

Therefore this PR implements the following:

  • install python2, as it is no longer part of the base image
  • enable script upload, as this is disabled by default in 7.0.1
  • pin base image version to 7.0.1 (current latest version)

Changelog Entry

Bugfix - Fix incompatibility and pin new upstream keycloak version

Closing issues

Supersedes #1352

+6 -2

0 comment

2 changed files

smlx

pr closed time in 13 days

push eventamazeeio/drupal-example

Michael Schmid

commit sha 4e0a751d403e988df07222dd4934a01536c9d810

Moved Druplicon to footer.

view details

Michael Schmid

commit sha 3c40e62f923b87c0493ca90b92971de71eb61660

Merge pull request #60 from amazeeio/demo4-druplicon-footer Moved Druplicon to footer.

view details

push time in 14 days

create barnchamazeeio/drupal-example

branch : demo4-druplicon-footer

created branch time in 14 days

push eventamazeeio/drupal-example

Michael Schmid

commit sha 116f65542bee1c21bd6ceebacfbb2a4c91f8adc6

move druplicon in footer

view details

Michael Schmid

commit sha 91c34d923a3270c68bed098afff5c8d2ac2da7a2

Revert "move druplicon in footer" This reverts commit 116f65542bee1c21bd6ceebacfbb2a4c91f8adc6.

view details

push time in 14 days

push eventamazeeio/drupal-example

Michael Schmid

commit sha f9da456217d1dfdd229dd3f174381fcc5c43af54

Revert "move druplicon in footer" This reverts commit 116f65542bee1c21bd6ceebacfbb2a4c91f8adc6.

view details

push time in 14 days

issue commentamazeeio/lagoon

Lagoon API Error: No channels left to allocate

check the rabbitmq broker, the channels are probably full, we can solve this with restarting the API pods which then will remove all existing channels. for the longer term future I think the API needs to close it's connection to the rabbitmq after some time (maybe after the Websocket connection from the browser is also closed?)

vincenzodnp

comment created time in 19 days

push eventamazeeio/lagoon

Michael Schmid

commit sha ff240a2ade0ceb1f0263f34e5fa945962cb6b6a1

allow to overwrite amount of processors

view details

Michael Schmid

commit sha 6baa98f6d0ba903bddaad18351bde9f0995fe377

keycloak uses ubi8-minimal now which has microdnf instead of yum

view details

Michael Schmid

commit sha 8d9fd7057bab6f151277bcdc0a8aac5f8edaa3a3

Merge pull request #1336 from amazeeio/es-processors allow to overwrite amount of processors

view details

push time in 19 days

PR merged amazeeio/lagoon

allow to overwrite amount of processors

<!-- IMPORTANT: Please do not create a Pull Request without creating an issue first. Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.

Please provide enough information so that others can review your pull request: -->

<!-- You can skip this if you're fixing a typo. -->

Checklist

  • [ ] Affected Issues have been mentioned in the Closing issues section
  • [ ] Documentation has been written/updated.
  • [ ] Changelog entry has been written

Explain the details for making this change. What existing problem does the pull request solve?

Changelog Entry

<!-- Describe the change in order to make it visible in the changelog If the change breaks anything document this - how was the functionality before - how does it work after the change

Prefix the change with: Feature, Change, Bugfix, Improvement, Documentation

Use following format: Improvement - Description (#ISSUENUMBER) -->

Closing issues

Put closes #XXXX in your comment to auto-close the issue that your PR fixes (if such).

+6 -2

0 comment

3 changed files

Schnitzel

pr closed time in 19 days

issue openedamazeeio/lagoon

Random Keycloak errors

ever since we switched to RBAC with Keycloak we seem to have weird errors from the Keycloak API whenever the Lagoon API talks to it. Usually running the same GraphQL Request right after it usually solves the error, but this causes all kind of issues (Lagoon CI failures, failed builds, etc.)

Request:

query project {
  projectByName (name: "amz-amazee") {
    id
    name
    privateKey
    openshift {
      id
      name
    }
    groups {
      id
      name
      members {
        role
        user {
          id
          lastName
          firstName
          sshKeys {
            id
            name
            keyValue
            keyFingerprint
          }
        }
      }
    }
  }
}```

errors:

"errors": [ { "message": "Group not found: 189e43c1-4ecb-4a88-99ab-37c094955ebe", "locations": [ { "line": 4, "column": 5 } ], "path": [ "projectByName", "groups" ] } ], "data": { "projectByName": { "id": 52, "groups": null } } }


```{
  "errors": [
    {
      "message": "Request failed with status code 404",
      "locations": [
        {
          "line": 4,
          "column": 5
        }
      ],
      "path": [
        "projectByName",
        "groups"
      ]
    }
  ],
  "data": {
    "projectByName": {
      "id": 52,
      "groups": null
    }
  }
}```

```{
  "errors": [
    {
      "message": "Cannot read property 'map' of null",
      "locations": [
        {
          "line": 4,
          "column": 5
        }
      ],
      "path": [
        "projectByName",
        "groups"
      ]
    }
  ],
  "data": {
    "projectByName": {
      "id": 52,
      "groups": null
    }
  }
}```

We experienced these issues while building the gitlab sync and solved it with easy retries:
https://github.com/amazeeio/lagoon/blob/master/services/api/src/gitlab-sync/groups.ts#L57-L63

Of course it would be really good to actually find the reason for these issues and solve them, but maybe in the current state as a hotfix the best would be to just implement a retry handler whenever we talk to the keycloak API?

created time in 20 days

push eventamazeeio/lagoon

Brandon Williams

commit sha 24693f8f32235e6011fcbb897625f1295dbf195d

Fix permissions check for adding environment variable to projects

view details

Michael Schmid

commit sha be968597b900678cfbf802f2913dc8d2626302c3

Merge pull request #1335 from amazeeio/1244-env-vars-permission-denied Fix permissions check for adding environment variable to projects

view details

push time in 20 days

PR merged amazeeio/lagoon

Fix permissions check for adding environment variable to projects

<!-- IMPORTANT: Please do not create a Pull Request without creating an issue first. Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.

Please provide enough information so that others can review your pull request: -->

<!-- You can skip this if you're fixing a typo. -->

Checklist

  • [x] Affected Issues have been mentioned in the Closing issues section
  • [ ] Documentation has been written/updated.
  • [x] Changelog entry has been written

Follow up to #1259. There was still an issue with project environment variables which should now be fixed.

Changelog Entry

<!-- Describe the change in order to make it visible in the changelog If the change breaks anything document this - how was the functionality before - how does it work after the change

Prefix the change with: Feature, Change, Bugfix, Improvement, Documentation

Use following format: Improvement - Description (#ISSUENUMBER) --> Bugfix - API adding project environment variable always returned permission denied (followup #1244)

Closing issues

closes #1244

+1 -1

0 comment

1 changed file

rocketeerbkw

pr closed time in 20 days

issue closedamazeeio/lagoon

unable to add or delete environment variables to project or environment

Describe the bug Post RBAC integration, a user is unable to add any environment variables to a project or environment, the operation performs as expected for a user with an existing admin token.

To Reproduce Steps to reproduce the behavior:

  1. As a user who is of OWNER|MAINTAINER|DEVELOPER attempt to add an environment variable to a project or environment
mutation mutation1 {
  addEnvVariable(input:{
    type:PROJECT
    typeId:11
    scope:GLOBAL
    name:"TESTING"
    value:"CHECK"
  }) {
    id
  }
}

For all cases, attempting to add a PROJECT environment variable results in

Unauthorized: You don't have permission to \"project:add\" on \"env_var\".

Attempting to add an ENVIRONMENT environment variable results in

Unauthorized: You don't have permission to \"environment:add:undefined\" on \"env_var\".

For the deleteEnvVariable mutation the results are similar.

Expected behavior Environment variable should be saved\deleted to\from the API

closed time in 20 days

twardnw

push eventamazeeio/lagoon

Michael Schmid

commit sha 6baa98f6d0ba903bddaad18351bde9f0995fe377

keycloak uses ubi8-minimal now which has microdnf instead of yum

view details

push time in 20 days

PR opened amazeeio/lagoon

allow to overwrite amount of processors

<!-- IMPORTANT: Please do not create a Pull Request without creating an issue first. Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.

Please provide enough information so that others can review your pull request: -->

<!-- You can skip this if you're fixing a typo. -->

Checklist

  • [ ] Affected Issues have been mentioned in the Closing issues section
  • [ ] Documentation has been written/updated.
  • [ ] Changelog entry has been written

Explain the details for making this change. What existing problem does the pull request solve?

Changelog Entry

<!-- Describe the change in order to make it visible in the changelog If the change breaks anything document this - how was the functionality before - how does it work after the change

Prefix the change with: Feature, Change, Bugfix, Improvement, Documentation

Use following format: Improvement - Description (#ISSUENUMBER) -->

Closing issues

Put closes #XXXX in your comment to auto-close the issue that your PR fixes (if such).

+4 -0

0 comment

2 changed files

pr created time in 20 days

create barnchamazeeio/lagoon

branch : es-processors

created branch time in 20 days

Pull request review commentamazeeio/lagoon

Improvement: Extract favicon nginx conf.

+## Support for favicon. Return an 1x1 transparent GIF if it doesn't+## exist.+location = /favicon.ico {+  expires 30d;+  try_files /favicon.ico @empty;+}++## Return an in memory 1x1 transparent GIF.

let's leave @empty in the default config file, I don't think we need that to be easy overwrite-able and instead let's just include the location = /favicon.ico inside drupal/favicon.conf

steveworley

comment created time in 21 days

push eventamazeeio/lagoon

Jaime De La Paz

commit sha eecca7b538292a44192665d72a6e03fc547ac3db

added instructions to select tenant

view details

Michael Schmid

commit sha 5ad285c93a68d4c0153a82d6167423e5924d9b92

Merge pull request #1330 from amazeeio/kibanatenant added instructions to select tenant

view details

push time in 21 days

PR merged amazeeio/lagoon

added instructions to select tenant

<!-- IMPORTANT: Please do not create a Pull Request without creating an issue first. Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.

Please provide enough information so that others can review your pull request: -->

<!-- You can skip this if you're fixing a typo. -->

Checklist

  • [ ] Affected Issues have been mentioned in the Closing issues section
  • [ ] Documentation has been written/updated.
  • [ ] Changelog entry has been written

Explain the details for making this change. What existing problem does the pull request solve?

Changelog Entry

<!-- Describe the change in order to make it visible in the changelog If the change breaks anything document this - how was the functionality before - how does it work after the change

Prefix the change with: Feature, Change, Bugfix, Improvement, Documentation

Use following format: Improvement - Description (#ISSUENUMBER) -->

Closing issues

Put closes #XXXX in your comment to auto-close the issue that your PR fixes (if such).

+1 -1

0 comment

1 changed file

jaimed-amazee

pr closed time in 21 days

Pull request review commentamazeeio/lagoon

1021 document lagoon base docker images

+# Solr Image+Lagoon `Solr` image Dockerfile, based on the offical `solr:<version>-alpine` images.  +The supported versions of Solr on Lagoon are 5.5, 6.6 and 7.5.  ++This Dockerfile is intended to be used to setup a standalone Solr server with an initial core `mycore`.++## Lagoon & OpenShift adaptions+This image is prepared to be used on Lagoon which leverages OpenShift. There are therefore some things already done:++- Folder permissions are automatically adapted with [`fix-permissions`](https://github.com/sclorg/s2i-base-container/blob/master/core/root/usr/bin/fix-permissions) so this image will work with a random user and therefore also on OpenShift.+- `10-solr-port.sh` script to fix and check Solr port.+- `20-solr-datadir.sh` script to check if Solr config is compliant for Lagoon.++## Supported version+Lagoon supports Solr versions: `5.5`, `6.6`, `7.5`++## Solr Drupal image+Lagoon `solr-drupal` Docker image, is a customized `solr` image to use within Drupal projects in Lagoon.  +The initial core is `drupal` and it's created and configured starting from a Drupal customized and optimized configuration.  +For each Solr version, there is a specific `solr-drupal:<version>` docker image.++## Environment Variables+Environment variables defined in Solr base image++| Environment Variable                   | Default         | Description                                    |+| ---------------------------------      | ---------       | ---------------------------------------------- |+| `SOLR_JAVA_MEM`                        |   512M          | Default Java HEAP size (ie. `OLR_JAVA_MEM="-Xms10g -Xmx10g"` ) |
| `SOLR_JAVA_MEM`                        |   512M          | Default Java HEAP size (ie. `SOLR_JAVA_MEM="-Xms10g -Xmx10g"` ) |
vincenzodnp

comment created time in 21 days

Pull request review commentamazeeio/lagoon

1021 document lagoon base docker images

+# nginx-drupal Image+Lagoon `nginx-drupal` Docker image optimized to work with Drupal, based on Lagoon `nginx` image.++## Lagoon & OpenShift adaptions+This image is prepared to be used on Lagoon which leverages OpenShift.  +There are therefore some things already done:++- Folder permissions are automatically adapted with [`fix-permissions`](https://github.com/sclorg/s2i-base-container/blob/master/core/root/usr/bin/fix-permissions) so this image will work with a random user and therefore also on OpenShift.+- For all file's section, there are two `include` directives: the `prepend*.conf` and the `append*.conf`. They allow to add and append custom configuration to `drupal.conf` file

I think I would document this more clearer, the files are not called prepend*.conf but instead

  • /etc/nginx/conf.d/drupal/server_prepend*.conf;
  • /etc/nginx/conf.d/drupal/location_prepend*.conf;
  • /etc/nginx/conf.d/drupal/location_drupal_prepend*.conf;

so I would go a bit into the detail what each of these files does.

vincenzodnp

comment created time in 21 days

Pull request review commentamazeeio/lagoon

1021 document lagoon base docker images

+# MariaDB Image+Lagoon `MariaDB` image Dockerfile, based on offical packages `mariadb` and `mariadb-client` provided by the `alpine:3.8` image.++This Dockerfile is intended to be used to setup a standalone MariaDB database server.++## Lagoon & OpenShift adaptions+This image is prepared to be used on Lagoon which leverages OpenShift. There are therefore some things already done:++- Folder permissions are automatically adapted with [`fix-permissions`](https://github.com/sclorg/s2i-base-container/blob/master/core/root/usr/bin/fix-permissions) so this image will work with a random user and therefore also on OpenShift.+- `readiness-probe.sh` script to check when mariadb container's readiness.++## Included tools++- `mysqltuner.pl` - Perl script useful for database's parameters tuning+- `mysql-backup.sh` - script for automating the daily mysql backups on development computer+- `pwgen` - utility to generate random and complex passwords++## Included `my.cnf` configuration file+The image ships a *default* MariaDB configuration file, optimized to work on Lagoon.  +Some options are configurable via environments variables (see [Environment Variables](#environment-variables)).++## Environment Variables+Environment variables defined in MariaDB base image++| Environment Variable              | Default             | Description                                    |+| ---------------------------------      | ---------      | ---------------------------------------------- |+| `MARIADB_DATABASE`                     |   lagoon 	    | Database name created at startup               |+| `MARIADB_USER`                         |   lagoon 	    | Default user created at startup                |+| `MARIADB_PASSWORD`                     |   lagoon 	    | Password of default user createt at startup    |+| `MARIADB_ROOT_PASSWORD`                |   Lag00n 	    | MariaDB root user's password                   |+| `MARIADB_CHARSET`                      |   utf8mb4 	    | Set the server charset                         |+| `MARIADB_COLLATION`                    |   utf8mb4_bin 	| Set server collation                           |+| `MARIADB_INNODB_BUFFER_POOL_SIZE`      |   256M	        | Set the MariaDB InnoDB Buffer Pool Size        |+| `MARIADB_INNODB_BUFFER_POOL_INSTANCES` |   1            | Number of InnoDB Buffer Pool instances         |+| `MARIADB_INNODB_LOG_FILE_SIZE`         |   64M          | Size of InnoDB log file                        |+| `MARIADB_LOG_SLOW`                     | empty          | Variable to control the save of slow queries   |+| `MARIADB_LOG_QUERIES`                  | empty          | Variable to control the save of ALL queries    |+| `BACKUPS_DIR`                          |  /var/lib/mysql/backup | Default path for databases' backups    |++## MariaDB Drupal image

mhh so for some dockerimages we have separate pages for the -drupal version and for the mariadb we don't? I think the best would be to create separate pages for all of them.

vincenzodnp

comment created time in 21 days

Pull request review commentamazeeio/lagoon

1021 document lagoon base docker images

+# MariaDB Image+Lagoon `MariaDB` image Dockerfile, based on offical packages `mariadb` and `mariadb-client` provided by the `alpine:3.8` image.++This Dockerfile is intended to be used to setup a standalone MariaDB database server.++## Lagoon & OpenShift adaptions+This image is prepared to be used on Lagoon which leverages OpenShift. There are therefore some things already done:++- Folder permissions are automatically adapted with [`fix-permissions`](https://github.com/sclorg/s2i-base-container/blob/master/core/root/usr/bin/fix-permissions) so this image will work with a random user and therefore also on OpenShift.+- `readiness-probe.sh` script to check when mariadb container's readiness.++## Included tools++- `mysqltuner.pl` - Perl script useful for database's parameters tuning+- `mysql-backup.sh` - script for automating the daily mysql backups on development computer+- `pwgen` - utility to generate random and complex passwords++## Included `my.cnf` configuration file+The image ships a *default* MariaDB configuration file, optimized to work on Lagoon.  +Some options are configurable via environments variables (see [Environment Variables](#environment-variables)).++## Environment Variables+Environment variables defined in MariaDB base image++| Environment Variable              | Default             | Description                                    |+| ---------------------------------      | ---------      | ---------------------------------------------- |+| `MARIADB_DATABASE`                     |   lagoon 	    | Database name created at startup               |+| `MARIADB_USER`                         |   lagoon 	    | Default user created at startup                |+| `MARIADB_PASSWORD`                     |   lagoon 	    | Password of default user createt at startup    |+| `MARIADB_ROOT_PASSWORD`                |   Lag00n 	    | MariaDB root user's password                   |+| `MARIADB_CHARSET`                      |   utf8mb4 	    | Set the server charset                         |+| `MARIADB_COLLATION`                    |   utf8mb4_bin 	| Set server collation                           |+| `MARIADB_INNODB_BUFFER_POOL_SIZE`      |   256M	        | Set the MariaDB InnoDB Buffer Pool Size        |+| `MARIADB_INNODB_BUFFER_POOL_INSTANCES` |   1            | Number of InnoDB Buffer Pool instances         |+| `MARIADB_INNODB_LOG_FILE_SIZE`         |   64M          | Size of InnoDB log file                        |

they are updated if we run on production: https://github.com/amazeeio/lagoon/blob/master/images/mariadb/entrypoints/150-mariadb-performance.bash

vincenzodnp

comment created time in 21 days

Pull request review commentamazeeio/lagoon

1021 document lagoon base docker images

+# php-cli-drupal Image++Based on Lagoon `php-cli` image, `cli-drupal` image has all tools for daily maintenance, plus `drush`.

we are also installing:

  • drupal console
  • drupal lancher (which will fallback to drush 8 if there is no site installed drush found)
vincenzodnp

comment created time in 21 days

Pull request review commentamazeeio/lagoon

1021 document lagoon base docker images

 RUN echo "~^www.example.com           http://example.com\$request_uri;" >> /etc/  ``` -To get more details about the various types of redirects that can be achieved see the documentation within the [redirects-map.conf](https://github.com/amazeeio/lagoon/blob/master/images/nginx/redirects-map.conf) directly.+To get more details about the various types of redirects that can be achieved see the documentation within the [redirects-map.conf](https://github.com/amazeeio/lagoon/blob/master/images/nginx/redirects-map.conf) directly.   -After you put the `redirects-map.conf` in place you also need to include it in your `nginx.dockerfile` in order to get-the configuration file into your build.+After you put the `redirects-map.conf` in place you also need to include it in your `nginx.dockerfile` in order to get the configuration file into your build.  ``` COPY redirects-map.conf /etc/nginx/redirects-map.conf ```  ### Basic Authentication-If you want to protect your site via Basic Authentication you can do this by defining the environment variables `BASIC_AUTH_USERNAME` and `BASIC_AUTH_PASSWORD` within your .lagoon.env.environment files.+If you want to protect your site via Basic Authentication you can do this by defining the environment variables `BASIC_AUTH_USERNAME` and `BASIC_AUTH_PASSWORD` within your `.lagoon.env.environment` files.

let's link to the whole page that explains environment variables: https://lagoon.readthedocs.io/en/latest/using_lagoon/environment_variables/

vincenzodnp

comment created time in 21 days

Pull request review commentamazeeio/lagoon

Allow use of private docker registries

 Each definition is keyed by a unique name (`secrets` and `logs-db-secrets` in th * `path` - the path to the yaml file * `command` - can either be `create` or `apply`, depending on if you like to run `kubectl create -f [yamlfile]` or `kubectl apply -f [yamlfile]` * `ignore_error` - either `true` or `false` (default), this allows you to instruct the lagoon build script to ignore any errors that might are returned during running the command. (This can be useful to handle the case where you want to run `create` during every build, so that eventual configurations are created, but don't want to fail if they already exist).++#### `private-registries`++The `private-registries` block allows you to define your own private docker registries to pull private images. If you don't specify a `url` in your yaml, it will default to using docker hub.++The password can be defined as an environment variable name that is set in the Lagoon api [Environment Variables (Lagoon API) » Docker Registry Environment Variables (Lagoon API)](./environment_variables.md). If one is not set, it will default to the value defined in the `.lagoon.yml` file.

can you try explain that a bit better? honestly I'm confused where I should define the password and where.

shreddedbacon

comment created time in 21 days

Pull request review commentamazeeio/lagoon

Allow use of private docker registries

 Each definition is keyed by a unique name (`secrets` and `logs-db-secrets` in th * `path` - the path to the yaml file * `command` - can either be `create` or `apply`, depending on if you like to run `kubectl create -f [yamlfile]` or `kubectl apply -f [yamlfile]` * `ignore_error` - either `true` or `false` (default), this allows you to instruct the lagoon build script to ignore any errors that might are returned during running the command. (This can be useful to handle the case where you want to run `create` during every build, so that eventual configurations are created, but don't want to fail if they already exist).++#### `private-registries`++The `private-registries` block allows you to define your own private docker registries to pull private images. If you don't specify a `url` in your yaml, it will default to using docker hub.++The password can be defined as an environment variable name that is set in the Lagoon api [Environment Variables (Lagoon API) » Docker Registry Environment Variables (Lagoon API)](./environment_variables.md). If one is not set, it will default to the value defined in the `.lagoon.yml` file.++```+private-registries:+  docker-hub:+    username: dockerhubuser+    password: DOCKER_HUB_PASSWORD+  custom-registry:+    username: myownregistryuser+    password: MY_OWN_REGISTRY_PASSWORD+    url: my.own.registry.com+```++To consume an image from a private registry, it needs to be used as the `FROM` in a `Dockerfile.<service>`++```+#Dockerfile.mariadb+FROM dockerhubuser/my-private-database:tag+```++And the service updated to use build instead of image+

let's document here that we're talking about the docker-compose.yml file here

shreddedbacon

comment created time in 21 days

push eventamazeeio/dbaas-mariadb-apb

Michael Schmid

commit sha 2458785809efcca37a0a26e35afd7a6b9ddd0bff

fix name of dockerhub organisation

view details

push time in 21 days

PR merged amazeeio/dbaas-mariadb-apb

Read replica support

Add read replica support to the provisioner. This is a breaking change because it requires adding a _readreplica_hostname to the lagoon-dbaas-db-credentials secret.

Also update README and add notes on development environment, along with scripts and a basic test suite.

+278 -29

1 comment

5 changed files

smlx

pr closed time in 21 days

push eventamazeeio/dbaas-mariadb-apb

Ben Jackson

commit sha 619aea9d77e606a7aa2cbdffaf663d09cdb73312

add reader

view details

Scott Leggett

commit sha 05740a60af857928766b2327457a2ad023bd2bd6

Add minishift-devel script

view details

Scott Leggett

commit sha 6045e4b063ce59f25ab3ed6cb9f2f07a51cf0f95

Rename "reader" to "readreplica" Hopefully this name is more descriptive.

view details

Scott Leggett

commit sha 6577baeec353344e8daa261387c91cfcea17ed8a

Add test suite

view details

Scott Leggett

commit sha 24b04e45288a23b0b8d1b09f8b54b327354e526f

Update README

view details

Michael Schmid

commit sha 30fb037e7e523b1fe6ca121ff77c71abbce119a8

Merge pull request #2 from amazeeio/read-only-replica Read replica support

view details

push time in 21 days

pull request commentamazeeio/dbaas-mariadb-apb

Read replica support

nice! very very nice :)

smlx

comment created time in 21 days

Pull request review commentamazeeio/dbaas-mariadb-apb

Prefix username with project

   block:     - set_fact:         create_db_name: "{{ namespace | truncate(50, true, '') }}_{{ lookup('password', '/tmp/_name length=5 chars=ascii_letters') }}"-        create_db_user: "{{ lookup('password', '/tmp/_user length=16 chars=ascii_letters') }}"+        create_db_user: "{{ namespace | truncate(50, true, '') }}_{{ lookup('password', '/tmp/_user length=16 chars=ascii_letters') }}"

this is gonna fail very very very hard: https://dba.stackexchange.com/questions/147857/username-length-restriction-in-different-mysql-environments to be safe we should have mysql usernames max 16 chars (or maybe 32 characters, if we have mysql version 5.7.8 everywhere)

smlx

comment created time in 21 days

pull request commentamazeeio/lagoon

Configurable elastic endpoints

nice idea! there are more places though where we should use this, see https://github.com/amazeeio/lagoon/commit/47a53ea462dd526203006322c08f549ce2ee9389:

  • logs-forwarder
  • logs2logs-db
  • logs-db-curator
shreddedbacon

comment created time in 21 days

push eventshreddedbacon/lagoon

JohnAlbin

commit sha 2bb22ed788c8be90650be5f62bc9358bf8ce6157

Fix broken docs logo image by adding missing "!". Fixes #1307

view details

Dan Lemon

commit sha 4630b37cfccff569522979a9def36337958cf4dd

Fixes #1327 - Add Github usernames to closed Pull Requests

view details

Michael Schmid

commit sha 770bea162017866b882d10391192e3be2db86117

make clearer how to add a `privateKey`

view details

Michael Schmid

commit sha 946c665a34aed81215560f6bdf12a76a158154a9

make clearer how to add a `privateKey`

view details

Michael Schmid

commit sha 1d2539d1e5faabfbe5d369aeeb5174cb38667c2a

do not stop on error in syncGroup

view details

Michael Schmid

commit sha 0b4b52f02311c3f96da1e957b7a97a6b4485c343

Merge pull request #1332 from dan2k3k4/add-github-username-to-closed-pr Add Github usernames to closed Pull Requests

view details

Michael Schmid

commit sha 39910d84e02d798f8e3b49b184d516e89d9d4945

Merge branch 'master' into configure-elastic-endpoints

view details

push time in 21 days

pull request commentamazeeio/lagoon

Add Github usernames to closed Pull Requests

@dan2k3k4 merged! thank you! but this will only work for closed PRs, I think in #1327 we're talking about completed builds for PRs? this is not really a close?

dan2k3k4

comment created time in 21 days

push eventamazeeio/lagoon

Dan Lemon

commit sha 4630b37cfccff569522979a9def36337958cf4dd

Fixes #1327 - Add Github usernames to closed Pull Requests

view details

Michael Schmid

commit sha 0b4b52f02311c3f96da1e957b7a97a6b4485c343

Merge pull request #1332 from dan2k3k4/add-github-username-to-closed-pr Add Github usernames to closed Pull Requests

view details

push time in 21 days

issue closedamazeeio/lagoon

Include the GitHub username that created the PR in completed build notifications

It would be very useful to include the GitHub username that created the PR in completed build notifications, so that devs can be notified directly.

One possible solution would be (from @dan2k3k4):

  • Add an option on the Lagoon UI per project to change the Slack Message from standard to advanced, with advanced allowing customisation of what end-result looks like: [<project>] <pr-num> Build <build-num> completed by <PR Base Username>
  • Then within Slack, the user would just need to add their Github Name to the Get Notified by these words section inside Slack.

Or more simply, the GitHub username that created the PR could be included globally on all completed build notifications.

cc @Schnitzel

closed time in 21 days

nbaosullivan

push eventamazeeio/lagoon

Michael Schmid

commit sha 1d2539d1e5faabfbe5d369aeeb5174cb38667c2a

do not stop on error in syncGroup

view details

push time in 21 days

push eventamazeeio/lagoon

Michael Schmid

commit sha 946c665a34aed81215560f6bdf12a76a158154a9

make clearer how to add a `privateKey`

view details

push time in 21 days

push eventamazeeio/lagoon

Michael Schmid

commit sha 770bea162017866b882d10391192e3be2db86117

make clearer how to add a `privateKey`

view details

push time in 21 days

PR opened amazeeio/lagoon

Stop if rebinding of secret doesn't work

Changelog Entry

Improvement - Stop if rebinding of secret doesn't work

+6 -2

0 comment

1 changed file

pr created time in 22 days

create barnchamazeeio/lagoon

branch : dbaas-fail-if-missing-secret

created branch time in 22 days

create barnchamazeeio/lagoon

branch : hotfix/servicebroker-missing-secret-fix

created branch time in 22 days

push eventamazeeio/lagoon

Ben Jackson

commit sha 6c71cf614c0e999df515439736b32c8f47460f01

login to minishift again before pushing the rebuilt dind

view details

Michael Schmid

commit sha d3cefd375cb8400318eded8dd05d8ae94a344020

Merge pull request #1296 from shreddedbacon/rebuild-dind-makefile Login to minishift registry again before pushing the rebuilt dind image

view details

push time in 24 days

PR merged amazeeio/lagoon

Login to minishift registry again before pushing the rebuilt dind image

<!-- IMPORTANT: Please do not create a Pull Request without creating an issue first. Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.

Please provide enough information so that others can review your pull request: -->

<!-- You can skip this if you're fixing a typo. -->

Checklist

  • [x] Affected Issues have been mentioned in the Closing issues section
  • [ ] Documentation has been written/updated.
  • [ ] Changelog entry has been written

Add the command to log in to minishift registry before pushing the rebuilt dind image

Closing issues

closes #1295

+1 -1

0 comment

1 changed file

shreddedbacon

pr closed time in 24 days

issue closedamazeeio/lagoon

Unauthorized when trying to run make rebuild-push-oc-build-deploy-dind

Describe the bug When trying to run make rebuild-push-oc-build-deploy-dind results in unauthorized: authentication required

To Reproduce Steps to reproduce the behavior:

  1. Start lagoon
  2. Wait 2 days
  3. Run make rebuild-push-oc-build-deploy-dind
  4. See error

Expected behavior Should log in and push the image

closed time in 24 days

shreddedbacon

pull request commentamazeeio/lagoon

Documentation: Add ~~~ to terminal code

thank you @dan2k3k4 !

dan2k3k4

comment created time in 24 days

push eventamazeeio/lagoon

Dan Lemon

commit sha 946ef995aba7a44436a11acf26b86ffad690a2e1

Add ~~~ to terminal code

view details

Michael Schmid

commit sha 8eda8e63394f86b20a09b213e6165f5d2b49f394

Merge pull request #1309 from dan2k3k4/patch-1 Documentation: Add ~~~ to terminal code

view details

push time in 24 days

PR merged amazeeio/lagoon

Documentation: Add ~~~ to terminal code

Make documentation a little more readable

+7 -4

0 comment

1 changed file

dan2k3k4

pr closed time in 24 days

pull request commentamazeeio/lagoon

fixed code format

thank you @jaimed-amazee !

jaimed-amazee

comment created time in 24 days

push eventamazeeio/lagoon

Jaime De La Paz

commit sha 78d3769d05d9cae92c404f2ec7f8a88d0cb8ca46

fixed code format

view details

Michael Schmid

commit sha 36451c3b3d151b7c447631a67b99ff6b884e71fa

Merge pull request #1310 from amazeeio/fixedtypo fixed code format

view details

push time in 24 days

PR merged amazeeio/lagoon

fixed code format

<!-- IMPORTANT: Please do not create a Pull Request without creating an issue first. Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.

Please provide enough information so that others can review your pull request: -->

<!-- You can skip this if you're fixing a typo. -->

Checklist

  • [ ] Affected Issues have been mentioned in the Closing issues section
  • [x] Documentation has been written/updated.
  • [ ] Changelog entry has been written

Explain the details for making this change. What existing problem does the pull request solve?

Changelog Entry

<!-- Describe the change in order to make it visible in the changelog If the change breaks anything document this - how was the functionality before - how does it work after the change

Prefix the change with: Feature, Change, Bugfix, Improvement, Documentation

Use following format: Improvement - Description (#ISSUENUMBER) -->

Closing issues

Put closes #XXXX in your comment to auto-close the issue that your PR fixes (if such).

+1 -1

0 comment

1 changed file

jaimed-amazee

pr closed time in 24 days

pull request commentamazeeio/lagoon

Add Lagoon logo to docs

thank you!

JohnAlbin

comment created time in 24 days

push eventamazeeio/lagoon

JohnAlbin

commit sha 8eb03b567eaa029dbf49ddee8fa3f3e5d622554c

Add Lagoon logo to docs. #1307

view details

JohnAlbin

commit sha 0ecdb22e578f5b7c823ecc0832e334390840cd3a

Add Lagoon logo to README. Fixes #1307

view details

Michael Schmid

commit sha 4459d482833e16a6a4851a5670f3cb388fe3c951

Merge pull request #1314 from amazeeio/1307-docs-logo Add Lagoon logo to docs

view details

push time in 24 days

more