1
0
mirror of https://github.com/peeringdb/peeringdb.git synced 2024-05-11 05:55:09 +00:00
Commit Graph

41 Commits

Author SHA1 Message Date
Matt Griswold
e2619a001f Support 202201 (#1111)
* remove survey notifications

* substantially rate limit unauthenticated /api/ queries to encourage authenticated queries #853

* move api throttle class configuration to settings (#853)

* #722 with a more generic validation approach

* Add organisations and registered users to "Global System Statistics" in footer #620

* poetry relock

* linting

* regen docs

* fix test data

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: David Poarch <dpoarch@20c.com>
2022-02-08 13:14:27 -06:00
Matt Griswold
de92f823d4 Default settings tweaks (#1103)
* remove survey notifications

* tweak default settings for WEBAUTHN, SESSION_COOKIE_DOMAIN and OIDC_RSA_PRIVATE_KEY_ACTIVE_PATH

Co-authored-by: Stefan Pratter <stefan@20c.com>
2022-01-12 12:33:32 -06:00
Matt Griswold
677f94f550 Support 202111 (#1101)
* Block registering private ASN ranges

* Add a continental region field for facilities #1007

* Incorrect order of search results #232

* Allow users to upload a small logo to their record #346

* Sponsor badge CSS and text translation issues #453

* IXP and Facility summary #18

* Add sales email and phone contact to ix object #949

* Increase timeout timer for IX-F JSON importer to 30s #962

* IX-F manually triggered import bugs #1054

* remove survey notifications

* IX-F importer: manual add followed by IX-F prompted add can result in "The server rejected your data" #807

* performance fix for net view

* api documentation generate broken #956

* fix poc set missing from net view

* Auto focus cursor on search field on main website #695

* PeeringDB website has a poor choice of line-breaks for IPv6 addresses. #748

* Delete childless org objects #838

* linting

* poetry lock

* re-add mistakingly dropped translation to email template

* fix template variables

* regen docs

* regen api docs

* add u2f api

* fix merge cruft

* fido u2f webauthn first steps

* dont need this

* typo

* first ux steps for security key management, u2f views

* u2f auth

* linting

* Cascade delete when performed by superuser in django-admin #735

* security key passwordless login

* reset webauthn migrations

* security key 2fa

* linting

* ux cleanup

* cleanup

* Add IXP to AS record / dropdown limited #469

* ignore orgs that have pre-dated or finished sponsorships attached

* split out to django_security_keys

* default to 90 days

* make URL required for new objects #374

* move CONN_MAX_AGE to proper location and expose as env var (#1060)

* Error message for invalid password on email change

* Registering a new facility or exchange organization is broken #1062

* Creating a facility that matches the name of a soft-deleted facility will cause the entry to bypass the verification queue #901

* irr source validator doesn't allow for hyphens in source #921

* split out javascript

* split out js

* Clicking "Add" to add a user api-key without providing a name for the key raises Internal Error #1033

* remove security key admin views

* global stats don't show up at login screen #284

* Possible for "pending" exchange to have "deleted" ixlan (#1077)

* webauthn finalizations

* oidc support for oauth provider #1070

* Revert "Merge branch 'gh_1070' into 'support_202111'"

* remove unused dev mounts

* linting

* add django-security-key and relock poetry

* re-add imports removed through linting

* docs regen

* oauth toolkit pinned to 1.6.1
django-security-keys pinned to 1.0.1

* remove debug message

* linting

* linting

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: David Poarch <dpoarch@20c.com>
2022-01-11 08:56:47 -06:00
Carlos Aguado
1c314cdf1f Enable OIDC support (#1070) (#1098)
Enable OIDC and RS256 JWT signing from django-oauth-toolkit with a
single RSA key. Key rotation is not yet enabled and will be introduced
on the first rotation.

The JWT signed token contains the previous claims exposed in profile/v1
endpoint but compatible with the OIDC standard claims.

https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
2022-01-10 07:34:16 -06:00
Matt Griswold
8ef76dc5ab Support 202110 (#1085)
* Block registering private ASN ranges

* Add a continental region field for facilities #1007

* Incorrect order of search results #232

* Allow users to upload a small logo to their record #346

* Sponsor badge CSS and text translation issues #453

* IXP and Facility summary #18

* Add sales email and phone contact to ix object #949

* Increase timeout timer for IX-F JSON importer to 30s #962

* IX-F manually triggered import bugs #1054

* remove survey notifications

* IX-F importer: manual add followed by IX-F prompted add can result in "The server rejected your data" #807

* performance fix for net view

* api documentation generate broken #956

* fix poc set missing from net view

* Auto focus cursor on search field on main website #695

* PeeringDB website has a poor choice of line-breaks for IPv6 addresses. #748

* Delete childless org objects #838

* linting

* poetry lock

* re-add mistakingly dropped translation to email template

* fix template variables

* regen docs

* regen api docs

* fix merge cruft

* django-peeringdb to 2.11 and poetry relock

* linting

* comment out django-peeringdb volume mount

* add missing declaration

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: David Poarch <dpoarch@20c.com>
2021-11-09 09:47:38 -06:00
Matt Griswold
1eda45ffeb ignore new ixf field (#1082)
* ignore new ixf field

* pre-commit

* gh actions linting fix
2021-10-30 10:20:04 -05:00
Matt Griswold
c21130eed9 Docs 202109 (#1067)
* module docstrings

* db schema graph

* dev docs first pass

* dev docs pass 2

* add generated notification to top of generated docs files

* linting

* regen docs

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: Sunshine Buchholz <sunshine@20c.com>
2021-10-15 03:25:38 -05:00
Matt Griswold
5147028bee clean up / format / poetry (#1000)
* stub in poetry for pipenv

* re-add tester image

* add pre-commit / formatting

* fix ghactions

* revert test data whitespace, exclude tests/data

* revert ws

* decruft, rm tox/pipenv

* install dev packages for base image

* add lgtm config to force to py3
2021-07-10 10:12:35 -05:00
Matt Griswold
8cc0f13ec1 Support 202102 (#950)
* install django-grainy

* nsp to grainy first iteration

* nsp to grainy second iteration

* grainy and django-grainy pinned to latest releases

* Fix typo

* Update djangorestframework, peeringdb, django-ratelimit

* Rewrite login view ratelimit decorator

* Relock pipfile

* add list() to make copy of dictionaries before iterating

* relock pipfile with python3.9
change docker to use python3.9

* add ordering to admin search queryset for deskproticket and email

* add org api key and begin to write tests

* additional key tests

* add drf-api-keys to pipfile

* Wire orgapikey to modelviewsetpermissions

* Update api key helper functions

* add put test

* Add Org API key tab to frontend

* Add user api key model

* Update user key handling and tests

* Update APIPermissionsApplicator to make it work w requests

* Add org api key perm panel

* add org key permissions

* Add user api key views

* Add templates for handling user api key (adding, not revoking)

* relock pipfile

* assorted fixes and tweaks

* Add general user group permissions and org user group perms

* refactor org api key perms

* Add tests for api keys

* Add docstrings to permissions helpers

* Add api key examples

* squash migrations

* remove custom api key header config

* Change api key test setup

* Update permissions for grainy change

* Bump up pipfile and pipfile.lock

* Add API Key to Verification Queue Item

* Delete travis

* Add workaround to Dockerfile

* update pipfile and sort out migrations

* Add comment to Dockerfile

* Re-add API Key migrations

* Add locale to .gitignore

* remove suggest functionality from ix

* Update test to recognize that IX api no longer has suggest function

* Add test to outlaw POSTing an IX w its org equal to the suggest entity org

* Add meta information geowarning

* Add alert to demonstrate UI

* Add error to fac update

* Add template warning for geovalidation

* Add geowarning meta js

* cover absent meta_response test case

* Update styles for geowarning

* refactor geotag warning implementation

* null lat and long on unsuccessful geo locate

* modify geovalidation frontend update

* Add deskproticket model email field

* Add missing span

* add email to org keys

* Add email to org key tests

* update serializer with rdap validation wrapper

* update admin for api keys

* Enable writing an email as part of org key creation

* Add email validation to org api key form

* fix css style on perm row

* Add suggested info to api response

* display suggested address on frontend

* add needs geocode to serializer

* save lat long on forward geonormalization

* add address suggestion submit button

* Add suggested address popin to ADD facility form

* Fix css

* add lat and long rounding to geocodenabled model clean method

* add migration and regression test for lat long decimal db constraint

* Add another regression test for model decimal places

* Get deskpro functions passing isort and flake

* Update ticket_queue_deletion_prevented

* update ticket_queue_deletion_prevented for use with org api key

* add template for org key dpt from asnauto skipvq

* Update deskproticket for rdap error

* add facility aka

* add aka to serializer and views

* black and isort test api keys

* fix typo in org key deskpro template

* skip or rewrite unapplicable org key tests, and add as_set tests

* adjust api key test comments

* Add vqi_notify to signals

* Add reversion comments for api keys and helper function

* update how org keys are added to verification queue items

* rename verification queue item fk from api_key to org_key

* fix group id error

* update key tests with correct http header info

* check both user and key, not just user

* templates fiex

* adapt deskpro integration to work with email only

* make org api keys editable for desc and email

* pipfile relock

* edit test setupdata settings for groups

* Change comment to signify we don't need to remove code

* address untranslated accept button

* Add docstrings to the serializer functions

* Add loading shim

* Add migration for all longname and aka

* Add aka and long name to views and serializers

* delete migration w decimals

* standardize serializer lat and long fields

* Add clean rounding for lat and long

* fix serializer error

* api key admin improvements

* fix linebreak in user api key form

* remove debug prints

* Add rounding util

* Add rounding to lat and long fields

* remove 'clean' from geocode method (logic now in admin form)

* remove erroneous tests

* revert serializer changes

* Fix migrations

* Add long name and aka to admin models

* Update API key docs

* Add documentation for api keys

* fix typo

* fix org api key revoke broken by editable api keys

* doc tweaks

* doc tweaks

* doc tweaks

* black format

* fix migration hierarchy

* docs

* docs

* api key permissions screenshot

* formatting

* formatting

* padding fixed

* remove one image

* fix get_user_from_request type checking
take out POST only valdiator for entity suggest

* didnt mean to commit the django-peeringdb mount

* fix suggest on PUT net
fix tests

* black formatting

* update org key permission template

* install rust for cryptography

* pipfile relock (django-peeringdb to 2.6)

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: Elliot Frank <elliot@20c.com>
2021-03-09 13:30:30 -06:00
Matt Griswold
b07baf3092 Support 202011 (#917)
* install django-grainy

* nsp to grainy first iteration

* Fix validation error message overflow

* Add migration, update views.py and template to add help_text to UI

* nsp to grainy second iteration

* grainy and django-grainy pinned to latest releases

* deskpro ticket cc (#875)

* black formatting

* move ac link to bottom for ticket body

* Fix typo

* Update djangorestframework, peeringdb, django-ratelimit

* Rewrite login view ratelimit decorator

* Relock pipfile

* add list() to make copy of dictionaries before iterating

* respect ix-f url visibilty in ix-f conflict emails

* Add type coercion to settings taken from environment variables

* Add bool handling

* relock pipfile with python3.9
change docker to use python3.9

* Check bool via isinstance

* add ordering to admin search queryset for deskproticket and email

* update settings with envvar_type option

* Add tooltips to add ix and add exchange views (in org)

* Add tooltip to suggest fac view

* get phone information in view

* add missing migration

* add migration and make org a geo model

* Wire normalization to put/create requests for Facility

* Update admin with new address fields

* Refactor serializer using mixin

* Add floor and suite to address API

* Write command to geonormalize existing entries

* Remove unnecessary method from model

* Add floor and suite to views

* Add ignore geo status

* Force refresh for fac and org updates

* adjust frontend typo

* add checking if update needs geosync

* redo error handling for geosync

* remove save keyword from geonormalize command script

* change raw_id_fields

* alternate autocomplete lookup field depending on where inline is called

* remove unnecessary error handling

* Add  csv option

* Fix bug
 with None vs empty string

* add regex parsing for suite and floor conversion

* Add migration that removes geo error as a field

* add geostatus update to command

* Ignore suite floor and address2 changes for api normalization

* update geomodel by removing geo_error

* Black models.py

* Black serializers.py

* remove geocode error from admin

* Add function for reversing pretty speed

* add conversion to export method

* fix typo

* fix speed value feedback after submit

* remove conditional

* Add error handling to create endpoint

* Refine floor and suite parsing regex

* Add geocoding tests

* Add json for tests

* IX-F Importer: Bogus output of "Preview" tool #896

* remove cruft

* black formatting

* IX-F Importer: history of changes per ixlan & netixlan #893

* 6 add geocode to org view

* 4 update geocode without refresh

* Update error display

* Fix bug with formatting translated string

* Add DateTimeFields to model

* Add update signals

* add last updated fields to views and serializers

* Add last updated model migration

* Add the data migration for last updated fields

* add test that tests a normal org user with create org permissions

* grainy to 1.7
django grainy to 1.9.1

* Fix formatting issues

* Adjust var names

* Refactor signals

* Temporary: save override from network model

* Empty vlan lists no longer cause error

* typo in ixf.py

* typo in admin

* Typos in model verbose names

* Add serializer IXLAN validation for ixf_ixp_import_enabled

* Add model validation to IXLan

* relock pipfile

* relock pipfile

* begin signal test file

* Remove full clean from save in ixlan

* use post_reversion_commit signal instead

* remove redundant save override

* remove cruft / debug code

* Add signal tests

* exclude organizations with city missing from commandline geosync

* Skip geosync if the only address information we have is a country

* initial commit for vlan matcher in importer

* Add more tests and remove unused imports

* update tests

* Actually add vlan matching to importer

* Add type checking for speed list and state

* Change how we register connection.state

* add bootstrap options

* add rdap cache command

* remove outdated perm docs

* rdap from master and relock

* propagate rdap settings to peeringdb.settings

* add loaddata for initial fixtures

* user friendly error message on RdapNotFound errors (#497)

* update rdap errors

* django-peeringdb to 2.5.0 and relock

* rdap to 1.2.0 and relock

* fix migration hierarchy

* add ignore_recurse_errors option

* add missing fields to mock
remove cruft missed during merge

* rdap to 1.2.1

* dont geo validate during api tests

* fix tests

* Add test file

* fix merge

* RDAP_SELF_BOOTSTRAP to False while running tests

* black formatted

* run black

* add github actions

* add runs on

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: Elliot Frank <elliot@20c.com>
2021-01-13 14:35:07 -06:00
Chris Caputo
5eba373d5b Update container.md 2020-12-06 15:24:25 -08:00
Matt Griswold
299016282e Gh 724 (#897)
* remove log file writing from migration

* run tests on mysql

* fix tests (pt.1)

* fix tests (pt.2)

* fix all user_id errors in tests

* Fix geocode typo

* More test changes for mysql id issues

* Add coverage config that defines coverage db should go inside test folder

* update docs

* fix mysql user

* fix tests cli

* add mysql collate settings

* docs

* fix sync

* fix sync

* docs

* remove debug output

* remove XXX

* interim commit to move to dev box

* mv db local, rm after run

* updates for 724

* note layer error message and work around

* fix travis

* chown tests

* more travis fixes

* travis: touch Ctl/dev/.env

* write coverage report to ./coverage

* clean up docs

* formatting

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: Elliot Frank <elliot@20c.com>
2020-12-03 13:10:02 -06:00
Chris Caputo
2ca4eb96de api_specs 'irr_as_set' fix, deploy.md update (#854)
* api_specs: 'irr_as_set' is actually a string, not a set.

* Update deploy.md: ^python2.7^python3.7
2020-11-03 18:27:53 -06:00
Matt Griswold
04f1928b3c Updates 2.23 (#843)
* pipenv lock and pyupgrade

* pyupgrade, black format, add docs

* update for py3.7
2020-09-29 20:13:38 -05:00
Matt Griswold
aed211418d Fix typos1 conflicts resolved (#842)
* Update 0006_network_allow_ixp_update.py

fixes 'Sepcifies' typo in 0006_network_allow_ixp_update.py

* Update 0029_auto_20200401_1006.py

fixes 'Sepcifies' typo in 0029_auto_20200401_1006.py

* Update models.py

fixes 'Sepcifies' typo in models.py

* Update org_admin_views.py

fixes 'afiliation' typos in org_admin_views.py

* Update serializers.py

fix use of "it's" when it should instead be "its" in 'serializers.py'

* Update 0004_geocode_fields.py

correct use of "it's" to be "its" in '0004_geocode_fields.py', also fix spelling of 'syncronized'

* Update 0029_auto_20200401_1006.py

correct use of "it's" to be "its" in '0029_auto_20200401_1006.py', also fix spelling of 'syncronized'

* Update models.py

correct use of "it's" to be "its" in 'models.py', also fix spelling of 'syncronized'

* Update email_confirm.html

correct 're-initate' in email_confirm.html

* Update notify-pdb-admin-user-affil.txt

correct 'organzation' in 'notify-pdb-admin-user-affil.txt'

* Update op_create.md

correct 'organzation' in 'ip_create.md'

* Update notify-pdb-admin-asnauto-skipvq.txt

correct 'organzation' in 'notify-pdb-admin-asnauto-skipvq.txt'

* Update models.py

correct 'organzation' in 'models.py'

* Update notify-pdb-admin-asnauto-skipvq.txt

fix 'succesfully' in 'notify-pdb-admin-asnauto-skipvq.txt'

* Update views.py

fix 'succesfully' in 'views.py'

* Update pdb_migrate_ixlans.py

* Update models.py

several more replacements of "it's" with "its"

* Update rest.py

one more replacement of "it's" with "its"

* Update op_retrieve.md

replace "dont" with "don't"

* Update notify-org-admin-merge.txt

fix "dont" with "don't"

* Update error.html

fix "dont" with "don't"

* Update op_list.md

fix "dont" with "don't"

* Update serializers.py

fix "dont" with "don't"

* Update deskpro.py

fix "dont" with "don't"

* Update mock.py

fix "dont" with "don't"

* Update ixf.py

fix "dont" with "don't"

* Update admin.py

fix "dont" with "don't"

* Update api_schema.py

fix "dont" with "don't"

* Update signals.py

fix "dont" with "don't"

* Update views.py

fix "dont" with "don't"

* Update test_admin.py

fix "dont" with "don't"

* Update pdb_api_test.py

fix "dont" with "don't"

* Update models.py

fix "dont" with "don't"

* revert to "IXP" in help text

Co-authored-by: Theo Baschak <tbaschak@users.noreply.github.com>
Co-authored-by: Stefan Pratter <stefan@20c.com>
2020-09-29 15:01:47 -05:00
Stefan Pratter
a753cee5a9 Merge branch 'gh_626' into april_updates
Conflicts:
	config/facsimile/peeringdb.yaml
	config/facsimile/tmpl/_ALL_/_DEPLOY_/peeringdb/peeringdb_com/settings.d/20-rest.conf
2020-04-14 21:15:03 +00:00
Stefan Pratter
fc6b45c82c new api docs (#626) 2020-04-14 21:11:24 +00:00
Matt Griswold
bff6f7f216 containerize, gh-548 (#682) 2020-04-14 15:45:36 +00:00
Matt Griswold
37c7529909 generate requirements.txt 2020-01-08 20:41:54 +00:00
Matt Griswold
62cae775ac rm requirements-text.txt in favor of tox with pipenv 2020-01-08 20:00:28 +00:00
Matt Griswold
ba6f9b6432 Qu1003 (#621)
* use new peeringdb client (1.0.0) for pdb_load_data sync (#599)

* drop django-mobi for lack of py3/dj2 support (#492)
remove django-forms-bootstrap for lack of py3/dj2 support (#492)

* black formatted

* django2.2 and py3 upgrade (#492)

* drop ixlans (#21) ui and api changes

* drop local_asn (#168)

* org search (#193)

* phone number validation (#50)

* implement help text tooltips (#228)

* Mark own ASN as transit-free (#394)

* py3 fix for `pdb_migrate_ixlans` command when writing migration report

* pdb_migrate_ixlans: properly handle py3 Runtime error if ixlan dict changes during iteration

* set rest DEFAULT_SCHEMA_CLASS to coreapi to fix swagger apidocs
fix migration 0027 missing from facsimile manifest

* fix swagger doc strings

* fix tests that were broken from api doc fixes

* fix UniqueFieldValidator for netixlan ipaddress validation that broke during django/drf upgrade

* fix org merge tool layout issues

* travis config

* update pipfile and lock

* black formatting

* update travis dist

* beta mode banner (#411)

* add beta banner template (#411)

* automatically scheduled sync may not always be on, add a flag that lets us reflect that state in the beta banner message
clean up beta banner implementation (#411)

* add tests for beta banner (#411)
2020-01-08 13:29:58 -06:00
Stefan Pratter
d7a41bdd30 tutorial mode implementation 2019-01-29 06:43:14 +00:00
Matt Griswold
43e80f8c05 add where to run them from 2018-12-29 21:22:03 +00:00
Stefan Pratter
726d1e3a22 how to use the undelete command 2018-12-29 21:19:12 +00:00
Stefan Pratter
a1747435bc docs 2018-11-09 11:06:56 +00:00
Stefan Pratter
db6cc8817a typo 2018-11-09 11:05:43 +00:00
Stefan Pratter
ea2128842e docs 2018-11-09 11:04:50 +00:00
Stefan Pratter
80a9fc01a8 better instructions for dev environment 2018-11-09 11:01:23 +00:00
Stefan Pratter
0b617ff259 note about py2.7 2018-11-09 10:54:22 +00:00
Stefan Pratter
f4aa99ded8 instruct them to copy env config 2018-11-09 10:50:34 +00:00
Stefan Pratter
5f5b11f918 clarification 2018-11-09 10:46:37 +00:00
Stefan Pratter
f320f70004 moar docs 2018-11-09 10:44:43 +00:00
Stefan Pratter
6d2a98b89d docs and deploy fixes 2018-11-09 10:43:15 +00:00
Stefan Pratter
33c293e993 fix test reqs and docs 2018-11-09 10:22:11 +00:00
Stefan Pratter
befc519726 Merge branch 'master' of git.20c.com:pdb/gh-peeringdb
Conflicts:
	peeringdb_server/management/commands/pdb_load_data.py
2018-11-09 10:19:25 +00:00
Stefan Pratter
45a272a7a5 docs 2018-11-09 10:18:23 +00:00
Stefan Pratter
7af6adaa9f Merge branch 'master' of git.20c.com:pdb/gh-peeringdb 2018-11-09 09:57:16 +00:00
Stefan Pratter
3399036cf5 docs 2018-11-09 09:57:05 +00:00
Stefan Pratter
e3ab24d19d how to populate your test instance with initial data 2018-11-09 09:56:16 +00:00
Stefan Pratter
93906c82ae facs can now be installed via pip 2018-11-08 19:49:28 +00:00
Stefan Pratter
0edf47bbfb initial commit of code 2018-11-08 19:45:21 +00:00