Git Product home page Git Product logo

ansible-collection-matrix's People

Contributors

cherrykitten avatar evlli avatar jadyndev avatar jcgruenhage avatar jdreichmann avatar johannescpk avatar lrsksr avatar madonius avatar michaelkaye avatar nikzen avatar ratzupaltuff avatar robinreinhardt avatar sebastian-de avatar transcaffeine avatar

Watchers

 avatar  avatar  avatar  avatar

ansible-collection-matrix's Issues

matrix_uia_login trys unsupported flows

In GitLab by @jadyn.dev on Jan 12, 2022, 13:22

The matrix_uia_login always picks the first flow in the list regardless if the flow is supported or not. This means ansible fails when deploying the com.famedly.login.soo stage.

role for managing rooms

In GitLab by @jcgruenhage on Aug 23, 2021, 10:36

Our modules already offer a good low level API for managing matrix rooms, but we're lacking a higher level abstraction that takes in a bunch of variables and manages the rooms in an idempotent way.

Desired features

  • creating a bunch of rooms and spaces in one run
  • access control (public, invite only, knocking, restricted based on space membership)
  • idempotently upgrading rooms (to allow for the former) -> needs changes to our matrix_room module, because that should be handling the upgrade IMO
  • manage space hierarchy
  • set encryption
  • <your suggestions here>

Extend synapse role for worker support

In GitLab by @jdreichmann on Sep 29, 2020, 12:50

Allow to specify what type and amount of synapse workers to deploy.

Needs to be deployable with all deployment methods, needs checks in place to prevent trying to deploy unsupported worker configurations (e.g. pusher or appservice worker being deployed twice).

  • Synapse<>Redis
  • TCP Replication listener enable
  • Dynamic worker deployment
    • Workers with n replicas (client, fed_in, media, fed_out)
    • Workers who can only be run once (appservice, pusher, user_dir(?))
  • Allow passing in a dict of labels
  • Map ports to host/docker-gateway-ip (default: 0.0.0.0)
  • Systemd support
  • Make it pretty again
  • Traefik path matching
  • Clean up leftover running workers (more replicas to less replicas scaling)
    • Docker
    • Systemd

Depends on famedly/ansible/collections/base#2 (redis needed for worker+synapse communication/sync)

Rebase matrix module to use module_utils - [merged]

In GitLab by @jadyn.dev on Apr 13, 2021, 12:15

Merges jadyn/matrix_utils -> main

  • After talking with JC, we agreeed that user+pass and token should be added to the common argument spec, together with the mutally_exclusive and required_together specs for it.
  • The login should be handled via the helper class, which looks if a token was supplied, and if that is not the case, uses user+pass to obtain the token.
  • If a module logs in using user+pass, the module should invalidate the token when exiting. For this, the fail_json and exit_json methods need to be proxied to the helper aswell

matrix_facts module

In GitLab by @jcgruenhage on Feb 14, 2020, 12:13

A module for fetching facts about the rooms joined by the account identified by the access tokens. Fetching the whole room state for the joined rooms should be enough, but it might make sense to provide some shortcuts for commonly used things, for example to provide a list of room members.

feat(modules): add uia-based matrix login module - [merged]

In GitLab by @jdreichmann on Dec 10, 2020, 11:34

Merges transcaffeine/matrix-uia-login -> main

Test the module with: PASSWORD=abc echo '{"ANSIBLE_MODULE_ARGS": {"hs_url": "https://test-sp-gen-1.famedly.de","user_id": "admin","password": "$PASSWORD"}}' | python ansible_collections/famedly/matrix/plugins/modules/matrix_uia_login.py

Pip needed before it's installed

In GitLab by @Bubu on Feb 14, 2021, 19:09

On first run during install of signedjson pip was needed but it's only installed later on. Installing it manually and renunning the role worked.

matrix_member module

In GitLab by @jcgruenhage on Feb 14, 2020, 12:14

Module for managing member state for a list of users in a given room.

Can be given a list of matrix-IDs, a state (member|kicked|banned) and a room-ID (which will be modified).

Supports the exclusive=True paramter for state=member, which will remove any non-listed user_id's from the room.

Auth via token (can be obtained from matrix_login), the token must be of a user with the required permissions for the actions. Errors will tell if permissions were insufficient, room was not found or the HS could not be connected to.

- name: Define members in roomID
  matrix_member:
    hs_url: ...
    token: $TOKEN
    room_id: $ROOM
    state: (member|kicked|banned)
    user_ids:
      - "@user1:homeserver.tld"
      - "@admin:matrix.org"

MR: https://gitlab.com/famedly/ansible/collections/matrix/-/merge_requests/2

chore(synapse): remove deprecated room_invite_state_types config setting - [merged]

In GitLab by @jdreichmann on May 18, 2021, 09:17

Merges transcaffeine/synapse-config-update -> main

See: https://github.com/matrix-org/synapse/blob/release-v1.34.0/UPGRADE.rst#upgrading-to-v1340

I chose to remove the config block without a replacement, because in most cases, tuning of those values is necessary, and if done so, the new layout has an additional config setting to enable/disable adding the default set of state event types, so the user would be advised to just set matrix_synapse_extra_config.room_prejoin_state themselves to the correct values.

transcaffeine/matrix_member-module - [merged]

In GitLab by @jdreichmann on Sep 30, 2020, 19:48

Merges transcaffeine/matrix_member-module -> main

This module can manage matrix membership in a given room by inviting or kicking a list specified users.

With the exclusive=True flag, it can be used to garantuee a list of members to be in a room (and no one else). For this module, users invited into a room count as members, as they can be in the room.

The required token for authentification can be obtained easily from the matrix_login module.

Refactor matrix modules

In GitLab by @jdreichmann on Apr 8, 2021, 18:17

A lot of ansible modules duplicate code used to set up and configure matrix-nio.

  • They should be refactored to use a common class which handles those checks, and the modules itself should be reduced as much as possible to their actual logic.
  • Methods like get_room_members, invite_to_room (from the matrix_member module) should also be properly externalised such that other modules can use them easily

This is archived using module_utils and importing from there, for an example see https://github.com/ansible-collections/hetzner.hcloud/blob/main/plugins/modules/hcloud_server_info.py#L130 and it's corresponding repository layout

Config files in webroot deployment of element broken

In GitLab by @jcgruenhage on Jan 27, 2021, 23:03

TASK [famedly.matrix.element : Link main configuration] *******************************************************************************************************************
fatal: [matrix.entropia.de]: FAILED! => {"changed": false, "msg": "Error while linking: [Errno 2] No such file or directory: b'/opt/element/config.json' -> b'/opt/element/riot-v1.7.15/config.json'", "path": "/opt/element/riot-v1.7.15/config.json"}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.