Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / app_settings / default / api.py @ a682eaea

History | View | Annotate | Download (4.4 kB)

1
# -*- coding: utf-8 -*-
2
#
3
# API configuration
4
#####################
5

    
6

    
7
DEBUG = False
8

    
9
# Top-level URL for deployment. Numerous other URLs depend on this.
10
APP_INSTALL_URL = "https://host:port"
11

    
12
# The API implementation needs to accept and return absolute references
13
# to its resources. Thus, it needs to know its public URL.
14
API_ROOT_URL = APP_INSTALL_URL + '/api'
15

    
16
# The API will return HTTP Bad Request if the ?changes-since
17
# parameter refers to a point in time more than POLL_LIMIT seconds ago.
18
POLL_LIMIT = 3600
19

    
20
#
21
# Network Configuration
22
#
23

    
24
# Maximum allowed network size for private networks.
25
MAX_CIDR_BLOCK = 22
26

    
27
# Default settings used by network flavors
28
DEFAULT_MAC_PREFIX = 'aa:00:0'
29
DEFAULT_BRIDGE = 'br0'
30

    
31
# Boolean value indicating whether synnefo would hold a Pool and allocate IP
32
# addresses. If this setting is set to False, IP pool management will be
33
# delegated to Ganeti. If machines have been created with this option as False,
34
# you must run network reconciliation after turning it to True.
35
PUBLIC_USE_POOL = True
36

    
37
# Network flavors that users are allowed to create through API requests
38
API_ENABLED_NETWORK_FLAVORS = ['MAC_FILTERED']
39

    
40
# Settings for IP_LESS_ROUTED network:
41
# -----------------------------------
42
# In this case VMCs act as routers that forward the traffic to/from VMs, based
43
# on the defined routing table($DEFAULT_ROUTING_TABLE) and ip rules, that
44
# exist in every node, implenting an IP-less routed and proxy-arp setup.
45
DEFAULT_ROUTING_TABLE = 'snf_public'
46

    
47
# Settings for MAC_FILTERED network:
48
# ------------------------------------------
49
# All networks of this type are bridged to the same bridge. Isolation between
50
# networks is achieved by assigning a unique MAC-prefix to each network and
51
# filtering packets via ebtables.
52
DEFAULT_MAC_FILTERED_BRIDGE = 'prv0'
53

    
54

    
55
# Firewalling
56
GANETI_FIREWALL_ENABLED_TAG = 'synnefo:network:0:protected'
57
GANETI_FIREWALL_DISABLED_TAG = 'synnefo:network:0:unprotected'
58
GANETI_FIREWALL_PROTECTED_TAG = 'synnefo:network:0:limited'
59

    
60
# The default firewall profile that will be in effect if no tags are defined
61
DEFAULT_FIREWALL_PROFILE = 'DISABLED'
62

    
63
# our REST API would prefer to be explicit about trailing slashes
64
APPEND_SLASH = False
65

    
66
# Fixed mapping of user VMs to a specific backend.
67
# e.g. BACKEND_PER_USER = {'example@okeanos.grnet.gr': 2}
68
BACKEND_PER_USER = {}
69

    
70
# List of backend IDs used *only* for archipelagos.
71
ARCHIPELAGOS_BACKENDS = []
72

    
73
# Quota
74
# Maximum number of VMs a user is allowed to have.
75
MAX_VMS_PER_USER = 3
76

    
77
# Override maximum number of VMs for specific users.
78
# e.g. VMS_USER_QUOTA = {'user1@grnet.gr': 5, 'user2@grnet.gr': 10}
79
VMS_USER_QUOTA = {}
80

    
81
# Maximum number of networks a user is allowed to have.
82
MAX_NETWORKS_PER_USER = 5
83

    
84
# Override maximum number of private networks for specific users.
85
# e.g. NETWORKS_USER_QUOTA = {'user1@grnet.gr': 5, 'user2@grnet.gr': 10}
86
NETWORKS_USER_QUOTA = {}
87

    
88
# URL templates for the stat graphs.
89
# The API implementation replaces '%s' with the encrypted backend id.
90
# FIXME: For now we do not encrypt the backend id.
91
CPU_BAR_GRAPH_URL = 'http://stats.okeanos.grnet.gr/%s/cpu-bar.png'
92
CPU_TIMESERIES_GRAPH_URL = 'http://stats.okeanos.grnet.gr/%s/cpu-ts.png'
93
NET_BAR_GRAPH_URL = 'http://stats.okeanos.grnet.gr/%s/net-bar.png'
94
NET_TIMESERIES_GRAPH_URL = 'http://stats.okeanos.grnet.gr/%s/net-ts.png'
95

    
96
# Recommended refresh period for server stats
97
STATS_REFRESH_PERIOD = 60
98

    
99
# The maximum number of file path/content pairs that can be supplied on server
100
# build
101
MAX_PERSONALITY = 5
102

    
103
# The maximum size, in bytes, for each personality file
104
MAX_PERSONALITY_SIZE = 10240
105

    
106
# Available storage types to be used as disk templates
107
# Use ext_<provider_name> to map specific provider for `ext` disk template.
108
GANETI_DISK_TEMPLATES = ('blockdev', 'diskless', 'drbd', 'file', 'plain',
109
                         'rbd',  'sharedfile')
110
DEFAULT_GANETI_DISK_TEMPLATE = 'drbd'
111

    
112
# The URL of an astakos instance that will be used for user authentication
113
ASTAKOS_URL = 'https://astakos.okeanos.grnet.gr/im/authenticate'
114

    
115
# Key for password encryption-decryption. After changing this setting, synnefo
116
# will be unable to decrypt all existing Backend passwords. You will need to
117
# store again the new password by using 'snf-manage backend-modify'.
118
# SECRET_ENCRYPTION_KEY may up to 32 bytes. Keys bigger than 32 bytes are not
119
# supported.
120
SECRET_ENCRYPTION_KEY= "Password Encryption Key"
121

    
122
# Astakos service token
123
# The token used for astakos service api calls (e.g. api to retrieve user email
124
# using a user uuid)
125
CYCLADES_ASTAKOS_SERVICE_TOKEN = ''
126