platform issueshttps://git.startinblox.com/infra/platform/-/issues2023-11-17T13:33:10+01:00https://git.startinblox.com/infra/platform/-/issues/252Add Passthrough setting2023-11-17T13:33:10+01:00Sylvain Le BonAdd Passthrough settingAdd a default setting `PASSTHROUGH_IPS = {'51.15.243.248', '212.47.234.179', '2001:bc8:47b0:2711::1'}` for XMPP access.
This is required for the compatibility with the new permission mechanism.Add a default setting `PASSTHROUGH_IPS = {'51.15.243.248', '212.47.234.179', '2001:bc8:47b0:2711::1'}` for XMPP access.
This is required for the compatibility with the new permission mechanism.Benoit Alessandronibenoit@startinblox.comBenoit Alessandronibenoit@startinblox.comhttps://git.startinblox.com/infra/platform/-/issues/249Space coop EU - Set the right logo when the application start on mobile2022-01-11T11:37:15+01:00Francis GrandeSpace coop EU - Set the right logo when the application start on mobileWhen the application is launch on mobile the logo Hubl appear insteed of the SCE logo :
![image](/uploads/e48c0dd8787fcc40eecb8883566f4e53/image.png)
And when we create a shortcut, it's also the hubl icon that appear :
![image](...When the application is launch on mobile the logo Hubl appear insteed of the SCE logo :
![image](/uploads/e48c0dd8787fcc40eecb8883566f4e53/image.png)
And when we create a shortcut, it's also the hubl icon that appear :
![image](/uploads/53f02b01ccd651fde84b64bd39f0caf2/image.png)
Could you place the logo use for the web application as the logo use when the application start on mobile and when we create a shortcut on mobile ?Benoit Alessandronibenoit@startinblox.comBenoit Alessandronibenoit@startinblox.comhttps://git.startinblox.com/infra/platform/-/issues/244Error when trying to create a private circle on SecoiaDeal2022-06-14T19:02:03+02:00Audrey PayenError when trying to create a private circle on SecoiaDealWhen my client try to create a private circle on her platform https://app.secoiadeal.eu/ she gets the following message "Erreur lors de la connexion au serveur de discussion".
Her browser is Chrome, I didn't succeed in replicating the bu...When my client try to create a private circle on her platform https://app.secoiadeal.eu/ she gets the following message "Erreur lors de la connexion au serveur de discussion".
Her browser is Chrome, I didn't succeed in replicating the bug.
Ping @jbpasquier @balessan I'm sorry I don't know who can handle this ? :) Thanks !https://git.startinblox.com/infra/platform/-/issues/243Get better formatted console output ?2021-09-22T13:32:36+02:00Benoit Alessandronibenoit@startinblox.comGet better formatted console output ?Just a suggestion, but would it be possible to get the error output of the ansible console to be pretty-formatted as JSON directly ?
Could help tracking the error efficiently, even though a copy-paste in a formatter is not that costly.Just a suggestion, but would it be possible to get the error output of the ansible console to be pretty-formatted as JSON directly ?
Could help tracking the error efficiently, even though a copy-paste in a formatter is not that costly.https://git.startinblox.com/infra/platform/-/issues/242A story of auto-deploying without the chat2021-12-10T16:37:28+01:00Benoit Alessandronibenoit@startinblox.comA story of auto-deploying without the chatIn order to cover requirements from @matthieu which is to deploy a test instance:
* Federated -> will use test6 and test8 for that
* WIth lots of datas -> users/projects to be generated through the available fixtures in the djangoldp t...In order to cover requirements from @matthieu which is to deploy a test instance:
* Federated -> will use test6 and test8 for that
* WIth lots of datas -> users/projects to be generated through the available fixtures in the djangoldp tests directory
* With everything chat-related disabled (especially no initialization of converse)
I went to both update test6 which looked to be unused and deploy a new test8.
My first try was to remove the chat, projects and circles bloxes and the XMPP configurations from the yml file to get the following:
```yml
---
apps:
hosts:
test8:
graphics:
client: test8.startinblox.com
title: Another instance without chat
data:
api: api.test8.startinblox.com
services:
email:
matomo:
host: matomo.startinblox.com
xmpp:
host:
domain:
bloxes:
- type: international
- type: registering
- type: account
- type: notification
- type: admin
- type: about
- type: dashboard
- type: directory
- type: communities
title: NoChat
- type: job-board
route: job-offers
- type: events
- type: conversation
- type: uploader
- type: skill
- type: analytics
```
And launch the deployment script with the `--skip-tags=prosody` from the command line.
That resulted on errors from `djangoldp_community` models.py needing both `djangoldp_project.models.Project` and `djangoldp_circle.models.Circle` models to exist, giving that output:
```json
{
"changed":true,
"cmd":[
"djangoldp",
"configure"
],
"delta":"0:00:01.173128",
"end":"2021-09-21 14:12:35.564792",
"msg":"non-zero return code",
"rc":1,
"start":"2021-09-21 14:12:34.391664",
"stderr":"Traceback (most recent call last):\n File \"/home/test6/startinblox/sibserver/manage.py\", line 25, in <module>\n execute_from_command_line(sys.argv)\n File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/django/core/management/__init__.py\", line 381, in execute_from_command_line\n utility.execute()\n File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/django/core/management/__init__.py\", line 357, in execute\n django.setup()\n File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/django/__init__.py\", line 24, in setup\n apps.populate(settings.INSTALLED_APPS)\n File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/django/apps/registry.py\", line 114, in populate\n app_config.import_models()\n File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/django/apps/config.py\", line 211, in import_models\n self.models_module = import_module(models_module_name)\n File \"/usr/alwaysdata/python/3.6.10/lib/python3.6/importlib/__init__.py\", line 126, in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n File \"<frozen importlib._bootstrap>\", line 994, in _gcd_import\n File \"<frozen importlib._bootstrap>\", line 971, in _find_and_load\n File \"<frozen importlib._bootstrap>\", line 955, in _find_and_load_unlocked\n File \"<frozen importlib._bootstrap>\", line 665, in _load_unlocked\n File \"<frozen importlib._bootstrap_external>\", line 678, in exec_module\n File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed\n File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/djangoldp_community/models.py\", line 16, in <module>\n from djangoldp_circle.models import Circle\n File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/djangoldp_circle/models.py\", line 37, in <module>\n class Circle(Model):\n File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/django/db/models/base.py\", line 111, in __new__\n \"INSTALLED_APPS.\" % (module, name)\nRuntimeError: Model class djangoldp_circle.models.Circle doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.",
"stderr_lines":[
"Traceback (most recent call last):",
" File \"/home/test6/startinblox/sibserver/manage.py\", line 25, in <module>",
" execute_from_command_line(sys.argv)",
" File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/django/core/management/__init__.py\", line 381, in execute_from_command_line",
" utility.execute()",
" File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/django/core/management/__init__.py\", line 357, in execute",
" django.setup()",
" File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/django/__init__.py\", line 24, in setup",
" apps.populate(settings.INSTALLED_APPS)",
" File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/django/apps/registry.py\", line 114, in populate",
" app_config.import_models()",
" File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/django/apps/config.py\", line 211, in import_models",
" self.models_module = import_module(models_module_name)",
" File \"/usr/alwaysdata/python/3.6.10/lib/python3.6/importlib/__init__.py\", line 126, in import_module",
" return _bootstrap._gcd_import(name[level:], package, level)",
" File \"<frozen importlib._bootstrap>\", line 994, in _gcd_import",
" File \"<frozen importlib._bootstrap>\", line 971, in _find_and_load",
" File \"<frozen importlib._bootstrap>\", line 955, in _find_and_load_unlocked",
" File \"<frozen importlib._bootstrap>\", line 665, in _load_unlocked",
" File \"<frozen importlib._bootstrap_external>\", line 678, in exec_module",
" File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed",
" File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/djangoldp_community/models.py\", line 16, in <module>",
" from djangoldp_circle.models import Circle",
" File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/djangoldp_circle/models.py\", line 37, in <module>",
" class Circle(Model):",
" File \"/home/test6/startinblox/venv_20210921T141219/lib/python3.6/site-packages/django/db/models/base.py\", line 111, in __new__",
" \"INSTALLED_APPS.\" % (module, name)",
"RuntimeError: Model class djangoldp_circle.models.Circle doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS."
],
"stdout":"Configuration error: Command '['/home/test6/startinblox/venv_20210921T141219/bin/python', '/home/test6/startinblox/sibserver/manage.py', 'configure']' returned non-zero exit status 1.",
"stdout_lines":[
"Configuration error: Command '['/home/test6/startinblox/venv_20210921T141219/bin/python', '/home/test6/startinblox/sibserver/manage.py', 'configure']' returned non-zero exit status 1."
]
}
```
**We should workaround that dependency between those models**
When putting back those components into the yml configuration (anyway in my case projects were needed to test for lot of datas), I got another exception from the server configuration task which failed when running the create_subscription command because of the empty `xmpp.domain` key in the configuration too:
```json
{
"changed":true,
"cmd":[
"python",
"manage.py",
"create_subscriptions"
],
"delta":"0:00:01.575940",
"end":"2021-09-21 14:40:09.408036",
"msg":"non-zero return code",
"rc":1,
"start":"2021-09-21 14:40:07.832096",
"stderr":"Traceback (most recent call last):\n File \"manage.py\", line 25, in <module>\n execute_from_command_line(sys.argv)\n File \"/home/test6/startinblox/venv_20210921T143950/lib/python3.6/site-packages/django/core/management/__init__.py\", line 381, in execute_from_command_line\n utility.execute()\n File \"/home/test6/startinblox/venv_20210921T143950/lib/python3.6/site-packages/django/core/management/__init__.py\", line 375, in execute\n self.fetch_command(subcommand).run_from_argv(self.argv)\n File \"/home/test6/startinblox/venv_20210921T143950/lib/python3.6/site-packages/django/core/management/base.py\", line 323, in run_from_argv\n self.execute(*args, **cmd_options)\n File \"/home/test6/startinblox/venv_20210921T143950/lib/python3.6/site-packages/django/core/management/base.py\", line 364, in execute\n output = self.handle(*args, **options)\n File \"/home/test6/startinblox/venv_20210921T143950/lib/python3.6/site-packages/djangoldp_notification/management/commands/create_subscriptions.py\", line 13, in handle\n Subscription.objects.get_or_create(object=host+\"/circles/\", inbox=xmpp + \"/conference.\" + jabber_host + \"/happydev_muc_admin\", field=None)\nTypeError: must be str, not NoneType",
"stderr_lines":[
"Traceback (most recent call last):",
" File \"manage.py\", line 25, in <module>",
" execute_from_command_line(sys.argv)",
" File \"/home/test6/startinblox/venv_20210921T143950/lib/python3.6/site-packages/django/core/management/__init__.py\", line 381, in execute_from_command_line",
" utility.execute()",
" File \"/home/test6/startinblox/venv_20210921T143950/lib/python3.6/site-packages/django/core/management/__init__.py\", line 375, in execute",
" self.fetch_command(subcommand).run_from_argv(self.argv)",
" File \"/home/test6/startinblox/venv_20210921T143950/lib/python3.6/site-packages/django/core/management/base.py\", line 323, in run_from_argv",
" self.execute(*args, **cmd_options)",
" File \"/home/test6/startinblox/venv_20210921T143950/lib/python3.6/site-packages/django/core/management/base.py\", line 364, in execute",
" output = self.handle(*args, **options)",
" File \"/home/test6/startinblox/venv_20210921T143950/lib/python3.6/site-packages/djangoldp_notification/management/commands/create_subscriptions.py\", line 13, in handle",
" Subscription.objects.get_or_create(object=host+\"/circles/\", inbox=xmpp + \"/conference.\" + jabber_host + \"/happydev_muc_admin\", field=None)",
"TypeError: must be str, not NoneType"
],
"stdout":"",
"stdout_lines":[
]
}
```
**This should be reworked too, to not execute that task if the given configuration key is not present**
Then, after adding back a value on that one too, I got an error on the build of the front, related to the inexistence of the `chat` component entry:
```json
{
"changed":true,
"cmd":[
"npm",
"run",
"build"
],
"delta":"0:00:01.902007",
"end":"2021-09-21 15:29:40.088111",
"msg":"non-zero return code",
"rc":1,
"start":"2021-09-21 15:29:38.186104",
"stderr":"npm WARN lifecycle The node binary used for scripts is /usr/bin/node but npm is using /usr/alwaysdata/nodejs/14.17.0/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.\nNo component found for type chat\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! orbit@1.0.0 build: `cross-env NODE_ENV='production' node internal/parcel.js`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the orbit@1.0.0 build script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR! /home/test6/.npm/_logs/2021-09-21T13_29_40_082Z-debug.log",
"stderr_lines":[
"npm WARN lifecycle The node binary used for scripts is /usr/bin/node but npm is using /usr/alwaysdata/nodejs/14.17.0/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.",
"No component found for type chat",
"npm ERR! code ELIFECYCLE",
"npm ERR! errno 1",
"npm ERR! orbit@1.0.0 build: `cross-env NODE_ENV='production' node internal/parcel.js`",
"npm ERR! Exit status 1",
"npm ERR! ",
"npm ERR! Failed at the orbit@1.0.0 build script.",
"npm ERR! This is probably not a problem with npm. There is likely additional logging output above.",
"",
"npm ERR! A complete log of this run can be found in:",
"npm ERR! /home/test6/.npm/_logs/2021-09-21T13_29_40_082Z-debug.log"
],
"stdout":"\n> orbit@1.0.0 prebuild /home/test6/startinblox/client\n> rimraf build\n\n\n> orbit@1.0.0 build /home/test6/startinblox/client\n> cross-env NODE_ENV='production' node internal/parcel.js\n\nUsing config.json config file\nCreated manifest for Instance without chat\nCopied locales to dist folder\n🚨 /home/test6/startinblox/client/src/index.pug: Cannot read property 'route' of undefined\n at eval (eval at wrap (/home/test6/startinblox/client/node_modules/pug-runtime/wrap.js:6:10), <anonymous>:459:60)\n at template (eval at wrap (/home/test6/startinblox/client/node_modules/pug-runtime/wrap.js:6:10), <anonymous>:851:7)\n at PugAsset.generate (/home/test6/startinblox/client/node_modules/parcel-bundler/src/assets/PugAsset.js:36:12)\n at async PugAsset.process (/home/test6/startinblox/client/node_modules/parcel-bundler/src/Asset.js:217:24)\n at async Pipeline.processAsset (/home/test6/startinblox/client/node_modules/parcel-bundler/src/Pipeline.js:46:7)\n at async Pipeline.process (/home/test6/startinblox/client/node_modules/parcel-bundler/src/Pipeline.js:24:23)\n at async Object.run (/home/test6/startinblox/client/node_modules/parcel-bundler/src/worker.js:15:12)\n at async Bundler.loadAsset (/home/test6/startinblox/client/node_modules/parcel-bundler/src/Bundler.js:577:19)\n at async Bundler.processAsset (/home/test6/startinblox/client/node_modules/parcel-bundler/src/Bundler.js:557:5)\n at async PromiseQueue._runJob (/home/test6/startinblox/client/node_modules/parcel-bundler/src/utils/PromiseQueue.js:48:7)",
"stdout_lines":[
"",
"> orbit@1.0.0 prebuild /home/test6/startinblox/client",
"> rimraf build",
"",
"",
"> orbit@1.0.0 build /home/test6/startinblox/client",
"> cross-env NODE_ENV='production' node internal/parcel.js",
"",
"Using config.json config file",
"Created manifest for Instance without chat",
"Copied locales to dist folder",
"🚨 /home/test6/startinblox/client/src/index.pug: Cannot read property 'route' of undefined",
" at eval (eval at wrap (/home/test6/startinblox/client/node_modules/pug-runtime/wrap.js:6:10), <anonymous>:459:60)",
" at template (eval at wrap (/home/test6/startinblox/client/node_modules/pug-runtime/wrap.js:6:10), <anonymous>:851:7)",
" at PugAsset.generate (/home/test6/startinblox/client/node_modules/parcel-bundler/src/assets/PugAsset.js:36:12)",
" at async PugAsset.process (/home/test6/startinblox/client/node_modules/parcel-bundler/src/Asset.js:217:24)",
" at async Pipeline.processAsset (/home/test6/startinblox/client/node_modules/parcel-bundler/src/Pipeline.js:46:7)",
" at async Pipeline.process (/home/test6/startinblox/client/node_modules/parcel-bundler/src/Pipeline.js:24:23)",
" at async Object.run (/home/test6/startinblox/client/node_modules/parcel-bundler/src/worker.js:15:12)",
" at async Bundler.loadAsset (/home/test6/startinblox/client/node_modules/parcel-bundler/src/Bundler.js:577:19)",
" at async Bundler.processAsset (/home/test6/startinblox/client/node_modules/parcel-bundler/src/Bundler.js:557:5)",
" at async PromiseQueue._runJob (/home/test6/startinblox/client/node_modules/parcel-bundler/src/utils/PromiseQueue.js:48:7)"
]
}
```
**The parcel build should not fail either if that key is not present, it should only ignore it**
Because I had to add back all those keys I now have a working configuration of Hubl/Orbit including everything, so my initial requirements are not covered.
Ping @calummackervoy @jbpasquier @matthieu @plup for ideas/next steps.Benoit Alessandronibenoit@startinblox.comBenoit Alessandronibenoit@startinblox.comhttps://git.startinblox.com/infra/platform/-/issues/237SRI and CI/CD2021-09-22T14:58:05+02:00Ghost UserSRI and CI/CDBuild a publication system which allow SRI to work in a CI/CD contextBuild a publication system which allow SRI to work in a CI/CD context[INV26] Continuous release and deploymenthttps://git.startinblox.com/infra/platform/-/issues/233Issue with tchat functionality2021-07-19T20:03:38+02:00Francis GrandeIssue with tchat functionalityI have this message on production when i want to use the tchat functionality :
![image](/uploads/dffbae64f3c7cb43ffbc1cab1e8f9921/image.png)
Is it the same kind of issue that you just correct on staging and staging2 ?I have this message on production when i want to use the tchat functionality :
![image](/uploads/dffbae64f3c7cb43ffbc1cab1e8f9921/image.png)
Is it the same kind of issue that you just correct on staging and staging2 ?https://git.startinblox.com/infra/platform/-/issues/231Align coopstarter2021-07-19T19:10:10+02:00Ghost UserAlign coopstarter@balessan I'm trying to configure `coopstarter-staging` in the autodeployment. In order to prepare the deployment for production and in the meantime the alignment with the federated bloxes.
I'll do it from what and I can see in the `con...@balessan I'm trying to configure `coopstarter-staging` in the autodeployment. In order to prepare the deployment for production and in the meantime the alignment with the federated bloxes.
I'll do it from what and I can see in the `config.json` and the `settings.yml`. I just backed up the whole `startinblox` folder.
This will also be an big upgrade so we'll need to validate before moving forward.Benoit Alessandronibenoit@startinblox.comBenoit Alessandronibenoit@startinblox.comhttps://git.startinblox.com/infra/platform/-/issues/230Create demo instances2022-07-22T14:38:30+02:00Ghost UserCreate demo instancesFor the tutorial we need:
1. [x] 2 federated instances with the proper LDP server capabilities
2. [x] Some fixtures for the endpoint we fetch in the tutorial
3. [ ] A cron command to reset the database
@manonbou This might be some use ...For the tutorial we need:
1. [x] 2 federated instances with the proper LDP server capabilities
2. [x] Some fixtures for the endpoint we fetch in the tutorial
3. [ ] A cron command to reset the database
@manonbou This might be some use for you ;)[INV36] Instance deploymenthttps://git.startinblox.com/infra/platform/-/issues/213New instance for app.hubl.world2021-08-26T21:22:05+02:00Cyril ThirietNew instance for app.hubl.worldHey @plup We need to deploy a new instance before next thursday idealy. It will be app.hubl.world in a standalone way.
# New instance to deploy
Configuration of deployed instances can be inspect [here](https://git.startinblox.com/inf...Hey @plup We need to deploy a new instance before next thursday idealy. It will be app.hubl.world in a standalone way.
# New instance to deploy
Configuration of deployed instances can be inspect [here](https://git.startinblox.com/infra/platform/blob/master/inventory/prd/apps.yml)
## App parameters
* app address: `<app.hubl.world`
* title:
* logo:![HB_logo_hubl_new](/uploads/a5f1ab7a4a188a6c0982055035e0f3cb/HB_logo_hubl_new.png)
* favicon: ![Logo-Huble-circle-blue](/uploads/65c815b41882ebebeffdda2ead81282e/Logo-Huble-circle-blue.png)
## Requested services
* [x] server address: `api.app.hubl.world`
* [x] email cyril@hubl.world alex@hubl.world
* [x] matomo
* [x] xmpp with domain: `<example>.startinblox.com` <- @plup I not sure what to do here
## Requested bloxes
* [x] international
* [x] registering
* [x] account
* [x] notification
* [x] admin
* [x] about
* [x] communities
* [x] dashboard
* [x] profileDirectory
* [x] jobBoard
* [ ] projects
* [ ] invoice
* [x] contact
* [x] circles
* [x] conversation
* [x] uploader
* [x] skill
* [x] chat
* [x] analytics
## Specific requirements for bloxes
## Environments
* [x] development
* [x] staging
* [x] production
## Federation
One of:
* [ ] hublworld
* [ ] hublunderworld
* [x] standalone (not federated)
If it requires a new custom federation:
* federation name:
* other instances to move in:
## Update startegy for standalone or custom federation
* [x] My app should be updated along with `hublworld` and `hublunderworld` (`/!\` only possible if they have the exact same bloxes configuration)
* [x] I want to control the deployment process (should also come with a staging instance)
## Comments
As well I'd like to have it on this board @jbpasquier made me https://cdn.startinblox.com/hubl/stats/index.html?source=https://api.community.hubl.world/sources/users/&type=users&icon=users possible to do this ?
@plup This is the first time I use this form to ask for instance on platform, don't hésite to tell me if something is not clear on my description before to launch, Thx
@jbpasquier Could you please implement the last stuffs ( checkboxes tjm on jobboard ) we talk about directly on this instance ?
cc @alexbourlier2021-06-02https://git.startinblox.com/infra/platform/-/issues/209Data Model for Instances deployment2021-10-11T16:05:58+02:00Ghost UserData Model for Instances deploymentRelying on https://git.startinblox.com/management/startinblox-feature-requests/issues/268#note_62122
Covering by: https://git.startinblox.com/infra/platform/issues/224Relying on https://git.startinblox.com/management/startinblox-feature-requests/issues/268#note_62122
Covering by: https://git.startinblox.com/infra/platform/issues/224[INV23] SaaS web interfacehttps://git.startinblox.com/infra/platform/-/issues/208Erase server files at each deployment2021-05-14T16:02:13+02:00Ghost UserErase server files at each deploymentWhen deploying we should get rid of any local modification.
Mind the `media`When deploying we should get rid of any local modification.
Mind the `media`[INV22] Insfrastructure maintenancehttps://git.startinblox.com/infra/platform/-/issues/199Happy Dev DNS issue2021-04-28T17:09:34+02:00Jean-Baptiste PasquierHappy Dev DNS issueIt looks that Happy Dev's domain is missing some entries for Prosody, this lead to a bunch of exception whenever a user join any of their circle or of their members from another domain.
```
TASK [prosody : Validate service entries] ****...It looks that Happy Dev's domain is missing some entries for Prosody, this lead to a bunch of exception whenever a user join any of their circle or of their members from another domain.
```
TASK [prosody : Validate service entries] ****************************************************************************************************************************
failed: [hd-nantes] (item={'name': '_xmpp-client._tcp.nantes.happy-dev.fr', 'type': 'SRV', 'value': '5 5222 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-client._tcp.nantes.happy-dev.fr", "type": "SRV", "value": "5 5222 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-client._tcp.nantes.happy-dev.fr"}
failed: [hd-aquitaine] (item={'name': '_xmpp-client._tcp.nouvelle-aquitaine.happy-dev.fr', 'type': 'SRV', 'value': '5 5222 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-client._tcp.nouvelle-aquitaine.happy-dev.fr", "type": "SRV", "value": "5 5222 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-client._tcp.nouvelle-aquitaine.happy-dev.fr"}
failed: [hd-paca] (item={'name': '_xmpp-client._tcp.paca.happy-dev.fr', 'type': 'SRV', 'value': '5 5222 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-client._tcp.paca.happy-dev.fr", "type": "SRV", "value": "5 5222 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-client._tcp.paca.happy-dev.fr"}
failed: [hd-paris] (item={'name': '_xmpp-client._tcp.paris.happy-dev.fr', 'type': 'SRV', 'value': '5 5222 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-client._tcp.paris.happy-dev.fr", "type": "SRV", "value": "5 5222 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-client._tcp.paris.happy-dev.fr"}
failed: [hd-nantes] (item={'name': '_xmpp-server._tcp.nantes.happy-dev.fr', 'type': 'SRV', 'value': '5 5269 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-server._tcp.nantes.happy-dev.fr", "type": "SRV", "value": "5 5269 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-server._tcp.nantes.happy-dev.fr"}
failed: [hd-aquitaine] (item={'name': '_xmpp-server._tcp.nouvelle-aquitaine.happy-dev.fr', 'type': 'SRV', 'value': '5 5269 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-server._tcp.nouvelle-aquitaine.happy-dev.fr", "type": "SRV", "value": "5 5269 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-server._tcp.nouvelle-aquitaine.happy-dev.fr"}
failed: [hd-montpellier] (item={'name': '_xmpp-client._tcp.montpellier.happy-dev.fr', 'type': 'SRV', 'value': '5 5222 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-client._tcp.montpellier.happy-dev.fr", "type": "SRV", "value": "5 5222 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-client._tcp.montpellier.happy-dev.fr"}
failed: [hd-paca] (item={'name': '_xmpp-server._tcp.paca.happy-dev.fr', 'type': 'SRV', 'value': '5 5269 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-server._tcp.paca.happy-dev.fr", "type": "SRV", "value": "5 5269 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-server._tcp.paca.happy-dev.fr"}
failed: [hd-paris] (item={'name': '_xmpp-server._tcp.paris.happy-dev.fr', 'type': 'SRV', 'value': '5 5269 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-server._tcp.paris.happy-dev.fr", "type": "SRV", "value": "5 5269 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-server._tcp.paris.happy-dev.fr"}
failed: [hd-aquitaine] (item={'name': '_xmpp-client._tcp.conference.nouvelle-aquitaine.happy-dev.fr', 'type': 'SRV', 'value': '5 5222 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-client._tcp.conference.nouvelle-aquitaine.happy-dev.fr", "type": "SRV", "value": "5 5222 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-client._tcp.conference.nouvelle-aquitaine.happy-dev.fr"}
failed: [hd-paca] (item={'name': '_xmpp-client._tcp.conference.paca.happy-dev.fr', 'type': 'SRV', 'value': '5 5222 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-client._tcp.conference.paca.happy-dev.fr", "type": "SRV", "value": "5 5222 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-client._tcp.conference.paca.happy-dev.fr"}
failed: [hd-nantes] (item={'name': '_xmpp-client._tcp.conference.nantes.happy-dev.fr', 'type': 'SRV', 'value': '5 5222 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-client._tcp.conference.nantes.happy-dev.fr", "type": "SRV", "value": "5 5222 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-client._tcp.conference.nantes.happy-dev.fr"}
failed: [hd-montpellier] (item={'name': '_xmpp-server._tcp.montpellier.happy-dev.fr', 'type': 'SRV', 'value': '5 5269 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-server._tcp.montpellier.happy-dev.fr", "type": "SRV", "value": "5 5269 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-server._tcp.montpellier.happy-dev.fr"}
failed: [hd-paris] (item={'name': '_xmpp-client._tcp.conference.paris.happy-dev.fr', 'type': 'SRV', 'value': '5 5222 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-client._tcp.conference.paris.happy-dev.fr", "type": "SRV", "value": "5 5222 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-client._tcp.conference.paris.happy-dev.fr"}
failed: [hd-aquitaine] (item={'name': '_xmpp-server._tcp.conference.nouvelle-aquitaine.happy-dev.fr', 'type': 'SRV', 'value': '5 5269 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-server._tcp.conference.nouvelle-aquitaine.happy-dev.fr", "type": "SRV", "value": "5 5269 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-server._tcp.conference.nouvelle-aquitaine.happy-dev.fr"}
failed: [hd-nantes] (item={'name': '_xmpp-server._tcp.conference.nantes.happy-dev.fr', 'type': 'SRV', 'value': '5 5269 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-server._tcp.conference.nantes.happy-dev.fr", "type": "SRV", "value": "5 5269 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-server._tcp.conference.nantes.happy-dev.fr"}
failed: [hd-paca] (item={'name': '_xmpp-server._tcp.conference.paca.happy-dev.fr', 'type': 'SRV', 'value': '5 5269 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-server._tcp.conference.paca.happy-dev.fr", "type": "SRV", "value": "5 5269 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-server._tcp.conference.paca.happy-dev.fr"}
failed: [hd-montpellier] (item={'name': '_xmpp-client._tcp.conference.montpellier.happy-dev.fr', 'type': 'SRV', 'value': '5 5222 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-client._tcp.conference.montpellier.happy-dev.fr", "type": "SRV", "value": "5 5222 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-client._tcp.conference.montpellier.happy-dev.fr"}
failed: [hd-paris] (item={'name': '_xmpp-server._tcp.conference.paris.happy-dev.fr', 'type': 'SRV', 'value': '5 5269 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-server._tcp.conference.paris.happy-dev.fr", "type": "SRV", "value": "5 5269 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-server._tcp.conference.paris.happy-dev.fr"}
failed: [hd-montpellier] (item={'name': '_xmpp-server._tcp.conference.montpellier.happy-dev.fr', 'type': 'SRV', 'value': '5 5269 jabber.happy-dev.fr'}) => {"ansible_loop_var": "item", "assertion": "lookup(\"dig\", item.name + \"/\" + item.type) == (\"0 \" + item.value + \".\")", "changed": false, "evaluated_to": false, "item": {"name": "_xmpp-server._tcp.conference.montpellier.happy-dev.fr", "type": "SRV", "value": "5 5269 jabber.happy-dev.fr"}, "msg": "improper configuration for _xmpp-server._tcp.conference.montpellier.happy-dev.fr"}
```
I guess that this issue is more on HD hands than ours, still it needs to get a resolution to solve some chat issue HD users can face.https://git.startinblox.com/infra/platform/-/issues/183Create a new instance of Space Coop EU community plate-forme2021-06-11T09:50:57+02:00Francis GrandeCreate a new instance of Space Coop EU community plate-forme**WAITING E.MONDON VALIDATION**
# Please fill all these info
# This instance must be federated with Space Coop EU ecosystem
- The blox Directory must be bidirectional
- The blox Event must be bidirectional
- The blox Circle must be bidi...**WAITING E.MONDON VALIDATION**
# Please fill all these info
# This instance must be federated with Space Coop EU ecosystem
- The blox Directory must be bidirectional
- The blox Event must be bidirectional
- The blox Circle must be bidirectional
## General info
- Name of the instance: SBIC Noordwijk Community
- Domain: http://sbic-noordwijk.community.spacecoop.eu/
## Cosmetics
- Logo:![logo-sbic_transparent](/uploads/3b04261b7d6ba150e2128be73b835e01/logo-sbic_transparent.png)
- Favicon:![favicon_SBIC](/uploads/8a1cd7172f5e0606874a6e765f51c6ee/favicon_SBIC.png)
- 4 Colors:
![image](/uploads/fbcbe7258f86f2607e4d79f0e31370f3/image.png)
- Police de caractères: Open Sans
![image](https://git.startinblox.com/applications/space-coop/plateforme-hubl/uploads/2d1a454312d314dc7657f23591abf7aa/image.png)
## To create when instance is open :
* [ ] \* Make Francis Admin on Django sideFrancis GrandeFrancis Grande2021-04-07https://git.startinblox.com/infra/platform/-/issues/176Check prosody vhosts config2021-03-24T15:13:18+01:00Ghost UserCheck prosody vhosts configI need to way to ensure a vhosts is deployed correctly.
From matthew:
```
curl -s -H 'Content-Type: application/json' -d'{"target": "example.com"}' https://observe.jabber.network/api/v1/check/xmpp-server | jq .
```I need to way to ensure a vhosts is deployed correctly.
From matthew:
```
curl -s -H 'Content-Type: application/json' -d'{"target": "example.com"}' https://observe.jabber.network/api/v1/check/xmpp-server | jq .
```Monitor applicationshttps://git.startinblox.com/infra/platform/-/issues/172Allow custom SMTP configuration2021-03-01T16:41:29+01:00Fabien QuatravauxAllow custom SMTP configurationI need to have a custom configuration for SMTP:
```
EMAIL_HOST: ***
EMAIL_HOST_USER: community@spacecoop.eu
EMAIL_HOST_PASSWORD: ***
DEFAULT_FROM_EMAIL: community@spacecoop.eu
```
How can we integrate this in the autodeploy script ?I need to have a custom configuration for SMTP:
```
EMAIL_HOST: ***
EMAIL_HOST_USER: community@spacecoop.eu
EMAIL_HOST_PASSWORD: ***
DEFAULT_FROM_EMAIL: community@spacecoop.eu
```
How can we integrate this in the autodeploy script ?https://git.startinblox.com/infra/platform/-/issues/170Rust compiler error at server install2021-03-03T18:07:38+01:00Ghost UserRust compiler error at server install```
creating build/temp.linux-x86_64-3.6
generating cffi module 'build/temp.linux-x86_64-3.6/_openssl.c'
running build_rust
=============================DEBUG ASSISTANCE=============================
If you ar...```
creating build/temp.linux-x86_64-3.6
generating cffi module 'build/temp.linux-x86_64-3.6/_openssl.c'
running build_rust
=============================DEBUG ASSISTANCE=============================
If you are seeing a compilation error please try the following steps to
successfully install cryptography:
1) Upgrade to the latest pip and try again. This will fix errors for most
users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
2) Read https://cryptography.io/en/latest/installation.html for specific
instructions for your platform.
3) Check our frequently asked questions for more information:
https://cryptography.io/en/latest/faq.html
4) Ensure you have a recent Rust toolchain installed:
https://cryptography.io/en/latest/installation.html#rust
5) If you are experiencing issues with Rust for *this release only* you may
set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
=============================DEBUG ASSISTANCE=============================
error: Can not find Rust compiler
----------------------------------------
Command "/home/pluptest/startinblox/venv/bin/python -u -c "import setuptools, tokenize;__file__='/home/pluptest/admin/tmp/pip-install-4hbv_j67/cryptography/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /home/pluptest/admin/tmp/pip-record-dbeddxu_/install-record.txt --single-version-externally-managed --compile --install-headers /home/pluptest/startinblox/venv/include/site/python3.6/cryptography" failed with error code 1 in /home/pluptest/admin/tmp/pip-install-4hbv_j67/cryptography/
```
Solved by upgrading to last pip version. We may need that step in all production install.https://git.startinblox.com/infra/platform/-/issues/164Specific htaccess for Coopedia2021-02-23T11:14:59+01:00Benoit Alessandronibenoit@startinblox.comSpecific htaccess for CoopediaHere is the current version of the Coopedia htaccess to allow for internationalization.
```
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]{2})/.*$ "$1/index.html" [L]
</IfModule>
```Here is the current version of the Coopedia htaccess to allow for internationalization.
```
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]{2})/.*$ "$1/index.html" [L]
</IfModule>
```https://git.startinblox.com/infra/platform/-/issues/155Prosody Dev broken on ltn12 module error2021-03-03T16:35:03+01:00Ghost UserProsody Dev broken on ltn12 module error```
# prosodyctl --help
**************************
A problem occurred while reading the config file /etc/prosody/prosody.cfg.lua
Error: ./ltn12.lua:1: loop or previous error loading module 'ltn12'
More help on configuring Prosody can...```
# prosodyctl --help
**************************
A problem occurred while reading the config file /etc/prosody/prosody.cfg.lua
Error: ./ltn12.lua:1: loop or previous error loading module 'ltn12'
More help on configuring Prosody can be found at https://prosody.im/doc/configure
Good luck!
**************************
```Maintenance 2021-03https://git.startinblox.com/infra/platform/-/issues/154CAnumeriques DNS are wrong2021-02-02T16:41:18+01:00Ghost UserCAnumeriques DNS are wrongLast action from #152Last action from #152