コード例 #1
0
def loaddata():
    with open('initial_data.json') as data_file:
        structure = json.load(data_file)
    organization = Organization.objects.get(pk=1)
    for record in structure:
        try:
            team = Team.objects.get(name=record['team'],
                                    organization=organization)
        except ObjectDoesNotExist:
            team = Team()
            team.name = record['team']
            team.organization = organization
            team.save()
        try:
            project = Project.objects.get(name=record['project'],
                                          team=team,
                                          organization=organization)
        except ObjectDoesNotExist:
            project = Project()
            project.team = team
            project.name = record['project']
            project.organization = organization
            project.save()
        key = ProjectKey.objects.filter(project=project)[0]
        if 'key' in record:
            parts = record['key'].split(':')
            key.public_key = parts[0]
            if len(parts) > 1:
                key.secret_key = parts[1]
            key.save()
        print 'PROJECT_NAME = "%s"' % (project.name, )
        print 'SENTRY_DSN = "%s"' % (key.get_dsn(), )
        print ''
コード例 #2
0
def sentry_create_project(team, name):
    model = sentry_find_project(team, name)
    existing = model is not None
    if not existing:
        model = Project()
        model.name = name
        model.team = team
        model.organization = team.organization
        model.save()

    return model, existing
コード例 #3
0
    organization.name = 'Sentry'
    organization.save()

team = Team.objects.first()
if not team:
    team = Team()
    team.name = 'Sentry'
    team.organization = organization
    team.save()

django_project = Project.objects.filter(name='Django').first()
if not django_project:
    django_project = Project()
    django_project.team = team

    django_project.name = 'Django'
    django_project.organization = organization
    django_project.save()

    django_project.add_team(team)
    django_project.save()

react_project = Project.objects.filter(name='React').first()
if not react_project:
    react_project = Project()
    react_project.team = team

    react_project.name = 'React'
    react_project.organization = organization
    react_project.save()
コード例 #4
0
user.set_password('{{sentry.bootstrap.password}}')
user.save()

organization = Organization()
organization.name = '{{sentry.bootstrap.organization}}'
organization.owner = user
organization.save()

team = Team()
team.organization = organization
team.name = '{{sentry.bootstrap.team}}'
team.owner = user
team.save()

project = Project()
project.organization = organization
project.team = team
project.owner = user
project.name = '{{sentry.bootstrap.project}}'
project.save()

#let's replace the key
key = ProjectKey.objects.filter(project=project)[0]
key.public_key = '{{sentry.bootstrap.public_key}}'
key.secret_key = '{{sentry.bootstrap.secret_key}}'
key.save()
print 'SENTRY_DSN = "%s"' % (key.get_dsn(),)

with open('/srv/sentry/application/shared/bootstrap_project', 'w') as f:
    f.write(key.get_dsn())
コード例 #5
0
# Create an organization, team, and user if there are *no* users
# in the install (bootstrap 1 time only)
if not User.objects.all():
    organization = Organization()
    organization.name = os.environ.get('TEAM_NAME', 'Aptible')
    organization.save()

    team = Team()
    team.name = os.environ.get('TEAM_NAME', 'Aptible')
    team.organization = organization
    team.save()

    project = Project()
    project.team = team
    project.name = 'Default'
    project.organization = organization
    project.save()

    user = User()
    user.username = os.environ.get('ADMIN_USERNAME', 'aptible')
    user.email = 'admin@localhost'
    user.is_superuser = True
    user.set_password(os.environ['ADMIN_PASSWORD'])
    user.save()

    member = OrganizationMember.objects.create(
        organization=organization,
        user=user,
        role='owner',
    )
コード例 #6
0
ファイル: initialize.py プロジェクト: imfht/flaskapps
    user.email = '*****@*****.**'
    user.is_superuser = True
    user.set_password('admin')
    user.save()

    organization = Organization.objects.filter(slug='sentry')[0]

    team = Team()
    team.name = 'COD'
    team.organization = organization
    team.save()

    project = Project()
    project.team = team
    project.add_team(team)
    project.name = 'Cern Open Data Portal'
    project.organization = organization
    project.save()

    ProjectKey.objects.get(project=project).delete()

    public_key = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
    secret_key = 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'

    key = ProjectKey.objects.create(project=project, public_key=public_key,
                                    secret_key=secret_key, roles=1)

    member = OrganizationMember.objects.create(
        organization=organization,
        user=user,
        role='owner',
コード例 #7
0
ファイル: sentry.init.py プロジェクト: kemchos/docker-sentry
from sentry.models import Team, Project, ProjectKey, User, Organization

user = User()
user.username = '******'
user.email = 'admin@localhost'
user.is_superuser = True
user.set_password('admin')
user.save()

organization = Organization()
organization.name = 'MyOrg'
organization.owner = user
organization.save()

team = Team()
team.name = 'Sentry'
team.organization = organization
team.owner = user
team.save()

project = Project()
project.team = team
project.name = 'Default'
project.organization = organization
project.save()

f = open('dsn', 'wb')
key = ProjectKey.objects.filter(project=project)[0]
f.write(key.get_dsn())
f.close()
コード例 #8
0
def main():
    parser = build_parser()
    options, _args = parser.parse_args()

    os.environ['SENTRY_CONF'] = options.sentry_path

    from sentry.utils.runner import configure
    configure()

    from django.conf import settings
    # Add in the sentry object models
    from sentry.models import Organization, Project, ProjectKey, Team, User

    admin_email = settings.SENTRY_OPTIONS['system.admin-email']

    if not options.project:
        parser.error("Project name required")
    if not options.platform:
        parser.error("Platform is required")

    try:
        o = Organization.objects.get(name=options.org)
    except Organization.DoesNotExist:
        print "Organization not found: %s" % options.org
        sys.exit(1)

    try:
        u = User.objects.get(email=admin_email)
    except User.DoesNotExist:
        print "Admin user not found: %s" % admin_email
        sys.exit(1)

    # try to load the requested team
    try:
        t = Team.objects.get(name=options.team, organization_id=o.id)
    except Team.DoesNotExist:
        # this team does not yet exist.    Create it.
        t = Team()
        t.name = options.team
        t.organization_id = o.id
        t.owner_id = u.id
        t.save()
        # reload the object
        t = Team.objects.get(name=options.team, organization_id=o.id)

    try:
        p = Project.objects.get(name=options.project, team_id=t.id)
    except:
        # the project doesn't exist.    Create it!
        p = Project()
        # ensure all project names are in lowercase
        p.name = options.project.lower()
        p.team_id = t.id
        p.organization_id = o.id
        p.platform = options.platform

        try:
            p.save()
        except:
            print "Project save failed for %s" % (options.project)
            sys.exit(1)

    # create a static file containing this application's DSN
    k = ProjectKey.objects.get(project_id=p.id).get_dsn()
    prefix = quote(o.name.lower() + "-" + t.name.lower() + "-")
    dsn_path = "%s/dsn/%s%s" % (options.sentry_path, prefix, p.name)
    dsn = open(dsn_path, 'w')
    dsn.write(k)
    dsn.close()

    if options.verbose:
        print "Project %s created in team %s." % (options.project, t.name)
コード例 #9
0
user = User.objects.get(pk=1)

organization = Organization()
organization.name = 'AgoraVoting'
organization.owner = user
organization.save()

team = Team()
team.name = 'AgoraVoting'
team.organization = organization
team.save()

project = Project()
project.team = team
project.name = 'AuthApi'
project.organization = organization
project.save()

key = ProjectKey.objects.filter(project=project)[0]
dsn = key.get_dsn()

# writting the sentry configuration to deploy.conf
authapi_conf = '''
# sentry
RAVEN_CONFIG = {
    'dsn': '%s',
}
INSTALLED_APPS = INSTALLED_APPS + (
    'raven.contrib.django.raven_compat',
)
コード例 #10
0
if Organization.objects.filter(name=name).count() == 0:
    organization = Organization()
    organization.name = name
    organization.save()

    om = OrganizationMember()
    om.organization = organization
    om.role = 'owner'
    om.user = user
    om.save()

    team = Team()
    team.name = name
    team.organization = organization
    team.save()

    project = Project()
    project.team = team
    project.name = name2
    project.organization = organization
    project.save()
else:
    organization = Organization.objects.filter(name=name).all()[0]
    team = Team.objects.filter(name=name, organization=organization).all()[0]
    project =Project.objects.filter(team=team, name=name2, organization=organization).all()[0]

key = ProjectKey.objects.filter(project=project)[0]
dsn = key.get_dsn()
print(dsn)
コード例 #11
0
ファイル: bootstrap.py プロジェクト: kigorw/sentry
# Bootstrap the Sentry environment
from sentry.utils.runner import configure
configure()

# Do something crazy
from sentry.models import Team, Project, ProjectKey, User

user = User()
user.username = '******'
user.email = 'admin@localhost'
user.is_superuser = True
user.set_password('admin')
user.save()

team = Team()
team.name = 'Sentry'
team.owner = user
team.save()

project = Project()
project.team = team
project.owner = user
project.name = 'Test'
project.save()

key = ProjectKey.objects.filter(project=project)[0]
print 'SENTRY_DSN = "%s"' % (key.get_dsn(),)
コード例 #12
0
    organization = Organization()
    organization.name = name
    organization.save()

    om = OrganizationMember()
    om.organization = organization
    om.role = 'owner'
    om.user = user
    om.save()

    team = Team()
    team.name = name
    team.organization = organization
    team.save()

    project = Project()
    project.team = team
    project.name = name2
    project.organization = organization
    project.save()
else:
    organization = Organization.objects.filter(name=name).all()[0]
    team = Team.objects.filter(name=name, organization=organization).all()[0]
    project = Project.objects.filter(team=team,
                                     name=name2,
                                     organization=organization).all()[0]

key = ProjectKey.objects.filter(project=project)[0]
dsn = key.get_dsn()
print(dsn)