- Nov 25, 2020
-
-
Benjamin Bertrand authored
- Remove extra handler - flask default handler is fine (everything was logged twice due to changes in flask 1.0) - Add more logging messages JIRA INFRA-2899 #action In Progress
-
- Oct 27, 2020
-
-
Benjamin Bertrand authored
RQ_DASHBOARD_REDIS_URL can't be set to RD_REDIS_URL in setting.py. If RQ_REDIS_URL is changed in settings.cfg, that wouldn't update RQ_DASHBOARD_REDIS_URL. JIRA INFRA-2754 #action In Progress
-
- Feb 21, 2020
-
-
Benjamin Bertrand authored
The version file is created when building the docker image using the git tag. Switch to calendar versioning JIRA INFRA-1789 #action In Progress
-
- Apr 23, 2019
-
-
Benjamin Bertrand authored
JIRA INFRA-979 #action In Progress
-
- Mar 05, 2019
-
-
Benjamin Bertrand authored
Tags were basically only used for IOCs. Tags were linked to the interface (and not the host). But for IOC we assume it should always be the main (first) interface. Using a field on the host table will make it more obvious for users. Created a IOC dynamic group type, to create a group including all IOCs JIRA INFRA-862 #action In Progress
-
- Nov 30, 2018
-
-
Benjamin Bertrand authored
- flask-bootstrap dependency removed a while ago - the full static directory shall be passed JIRA INFRA-683
-
- Oct 11, 2018
-
-
Benjamin Bertrand authored
JIRA INFRA-576
-
- Oct 05, 2018
-
-
Benjamin Bertrand authored
JIRA INFRA-575
-
- Sep 14, 2018
-
-
Benjamin Bertrand authored
Errors are now sent to sentry. No need to send them directly via e-mail. JIRA INFRA-525
-
Benjamin Bertrand authored
JIRA INFRA-525 #action In Progress
-
- Aug 02, 2018
-
-
Benjamin Bertrand authored
The official flask-bootstrap is still not compatible with bootstrap 4. The application basically only uses the main template and one macro. It's easier to include directly bootstrap in CSEntry. It makes upgrading to the latest bootstrap much easier and removes a dependency. Update to bootstrap 4.1.3 Added: - jquery-3.3.1.min.js - bootstrap.bundle.min.js (include popper but not jquery) Note that jquery.slim can't be used. We need for example $.getJSON for datatables.
-
- Jul 12, 2018
-
-
Benjamin Bertrand authored
- add ansible_groups_hosts_table for many-to-many relationship between groups and hosts - add new api endpoint /network/groups JIRA INFRA-412
-
- Jul 11, 2018
-
-
Benjamin Bertrand authored
Allow to enter Ansible variables on host in YAML format. Use codemirror (http://codemirror.net) to make editing YAML easier. JIRA INFRA-412
-
- Jul 06, 2018
-
-
-
Benjamin Bertrand authored
Add new jinja2 filter to format datetime
-
- Jul 02, 2018
-
-
Benjamin Bertrand authored
Allow to display tasks JIRA INFRA-403
-
Benjamin Bertrand authored
-
- Apr 27, 2018
-
-
Benjamin Bertrand authored
- RQ Dashboard shall only be accessible to admin users - "REDIS_URL" is hard-coded in rq-dashboard (had to rename RQ_REDIS_URL)
-
Benjamin Bertrand authored
The "REDIS_URL" variable is hard-coded in RQ Dashboard. REDIS_URL was used by redis_store that is passed to Flask Session. The url variable used by Flask-Redis can be changed by setting the config_prefix. 1. Rename REDIS_URL to SESSION_REDIS_URL 2. Rename redis_store to session_redis_store 3. Use "SESSION_REDIS" config_prefix to initialize session_redis_store This makes it clear that this Redis instance is used by Flask-Session. REDIS_URL will be used for RQ.
-
- Apr 10, 2018
-
-
Benjamin Bertrand authored
JIRA INFRA-281
-
- Apr 06, 2018
-
-
Benjamin Bertrand authored
JIRA INFRA-281
-
- Feb 12, 2018
-
-
Benjamin Bertrand authored
This reverts commit 4ddde36f. This broke the loading of fonts. Fonts directory should be excluded.
-
Benjamin Bertrand authored
The browser caches the static files (js, css...). Flask-CacheBust adds a hash to the URL of each static file to force clients to redownload the files when changed.
-
- Feb 09, 2018
-
-
Benjamin Bertrand authored
- add domain_id on NetworkScope table to define a default domain - add domain_id on Network (default to the Network Scope one) Fixes INFRA-194
-
- Jan 16, 2018
-
-
Benjamin Bertrand authored
Command shall be run every night to keep the users in the database in sync with the LDAP server. If a user is not found: - set its groups to [] - revoke all its tokens
-
- Jan 12, 2018
-
-
Benjamin Bertrand authored
The user_id is stored in the flask session. On every page load, we query the database to get: - the user objet (user_account table) - the user's groups (group table) to know what the user can access If we try to cache the user_load function, the following error is raised when retrieving the groups: sqlalchemy.orm.exc.DetachedInstanceError: Parent instance <User at 0x7f51e050a940> is not bound to a Session; lazy load operation of attribute 'grp' cannot proceed The groups from AD are only stored to map them with CSENTRY_LDAP_GROUPS. We don't do any query on them (get all users from one group). As we always query them with one user, it's more efficient to store them in the user_account table as an array than in a separate table. This allows to easily cache the load_user function. Note that we have to remember to add the current_user to the sqlalchemy session if we want to modify it or access a relationship (like tokens)! The load_user function is now cached for 30 minutes. This decreases a lot the number of database queries. Fix INFRA-156
-
- Jan 05, 2018
-
-
Benjamin Bertrand authored
-
- Jan 02, 2018
-
-
Benjamin Bertrand authored
-
- Dec 21, 2017
-
-
Benjamin Bertrand authored
Required to create users when importing items from JIRA. Renamed blueprint from "users" to "user" to be consistent with other blueprints (inventory and network).
-
Benjamin Bertrand authored
Split API in different blueprints like for the web UI: - users (login) - inventory - network Use version in API url (api/v1) to make future changes easier without breaking backward compatibility
-
- Dec 15, 2017
-
-
Benjamin Bertrand authored
-
Benjamin Bertrand authored
Use endpoint argument to avoid collision with flask-admin Network
-
Benjamin Bertrand authored
TODO: we should be able to render HTML in the comments Look at https://github.com/miguelgrinberg/Flask-PageDown
-
- Dec 14, 2017
-
-
Benjamin Bertrand authored
- Main blueprint used to declare custom views for all blueprints. (keep inventory blueprint cleaner) - Add url_prefix to each blueprint
-
- Dec 13, 2017
-
-
Benjamin Bertrand authored
In Flask, session data are stored in a cookie by default. Using a server side session, there is no risk of putting too much data in the session and transmissting a big cookie on every request (only an id is sent in the cookie). Redis is used as backend (without persistent storage).
-
Benjamin Bertrand authored
main blueprint splitted in: - inventory - networks
-
Benjamin Bertrand authored
- Rename Host to Interface - Create new Host table to group interfaces
-
Benjamin Bertrand authored
- All created tokens are stored in the database. To revoke a token, we just delete it from the database. Tokens not found in the database are thus considered unvalid / revoked. - Add button to copy generated token to the clipboard - Redesign profile page
-
- Dec 06, 2017
-
-
Benjamin Bertrand authored
- refactor Network class
-
- Nov 20, 2017
-
-
Benjamin Bertrand authored
- network name should be unique and not nullable - force all name fields to StringField
-