Page MenuHomeGRNET

No OneTemporary

File Metadata

Created
Mon, Nov 25, 6:46 PM
diff --git a/dumpdata.json b/cluster_insert.json
similarity index 81%
rename from dumpdata.json
rename to cluster_insert.json
index 3dd989e..1540144 100644
--- a/dumpdata.json
+++ b/cluster_insert.json
@@ -1,18 +1,18 @@
[
{
"fields": {
- "description": "",
+ "description": "ganeti docker container",
"disable_instance_creation": false,
"disabled": false,
"fast_create": false,
"hostname": "172.17.0.230",
"password": "test",
"port": 5080,
- "slug": "172170230",
+ "slug": "container",
"use_gnt_network": true,
"username": "ganeti"
},
"model": "ganeti.cluster",
"pk": 1
}
]
diff --git a/settings.py b/settings.py
index c067e8e..084170d 100644
--- a/settings.py
+++ b/settings.py
@@ -1,308 +1,308 @@
# -*- coding: utf-8 -*- vim:fileencoding=utf-8:
# shortcuts to create relative paths
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
PROJECT_DIR = os.path.join(BASE_DIR, 'ganetimgr')
# helper function to get database connection from env.var
import dj_database_url
DATABASES= {}
DATABASES['default'] = dj_database_url.config(default='sqlite:////%s' % os.path.join(BASE_DIR, 'db.sqlite3'))
#
DEBUG = os.environ.get('DJANGO_DEBUG', True)
TIME_ZONE = os.environ.get('DJANGO_TIMEZONE','Europe/Athens')
+BEANSTALK_TUBE = os.environ.get('BEANSTALK_TUBE', None)
ALLOWED_HOSTS=["*"]
TEMPLATE_DEBUG = DEBUG
SITE_ID = 1
ADMINS = ( ('John Doe', 'john@example.com'),)
MANAGERS = ADMINS
SECRET_KEY = '<CHANGE ME>'
# Locale settings
# We provide English and Greek translations
_ = lambda s: s
#LANGUAGE_CODE = 'en-us'
LANGUAGES = (
# ('el', u'Ελληνικά'),
('en', _('English')),
)
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
DATE_FORMAT = "d/m/Y H:i"
DATETIME_FORMAT = "d/m/Y H:i"
# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True
USE_L10N = True
MEDIA_ROOT = ''
MEDIA_URL = ''
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'middleware.ForceLogout.ForceLogoutMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
'middleware.UserMessages.UserMessageMiddleware',
)
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = ()
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
ROOT_URLCONF = 'ganetimgr.urls'
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.flatpages',
'django.contrib.messages',
'django.contrib.admin',
'django.contrib.staticfiles',
'registration',
- 'django_markdown',
'accounts',
'south',
'ganeti',
'apply',
'notifications',
'stats',
'auditlog',
)
# Caching is a vital part of ganetimgr.
# If you deploy more than one ganetimgr instances on the same server,
# and want to use Redis for both, make sure you select a different db for each instance
# Warning!!! Redis db should ALWAYS be an integer, denoting db index.
# If memcache is your preferred cache, then select:
#CACHE_BACKEND="redis_cache.cache://127.0.0.1:6379?timeout=1500"
#CACHES = {
# 'default': {
# 'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
# }
# 'default': {
# 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
# 'LOCATION': '127.0.0.1:11211',
# 'TIMEOUT': 1,
# }
#}
LOGIN_URL = '/user/login'
LOGIN_REDIRECT_URL = '/'
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"context.pending_notifications.notify",
"context.session_remaining.seconds",
"context.global_vars.settings_vars",
"django.core.context_processors.request",
"django.contrib.messages.context_processors.messages"
)
#EMAIL_HOST = "127.0.0.1"
#EMAIL_PORT = 25
USE_X_FORWARDED_HOST = True
# Auth stuff
# If you plan to deploy LDAP modify according to your needs
AUTHENTICATION_BACKENDS = (
#'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)
#import ldap
#from django_auth_ldap.config import LDAPSearch
#AUTH_LDAP_BIND_DN = ""
#AUTH_LDAP_BIND_PASSWORD = ""
#AUTH_LDAP_SERVER_URI = "ldap://ldap.example.com"
#AUTH_LDAP_START_TLS = True
#AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=People,dc=dept,dc=example,dc=com",
# ldap.SCOPE_SUBTREE, "(uid=%(user)s)")
#AUTH_LDAP_USER_ATTR_MAP = {
# "first_name": "givenName",
# "last_name": "sn",
# "email": "mail"
# }
ACCOUNT_ACTIVATION_DAYS = 10
AUTH_PROFILE_MODULE = 'accounts.UserProfile'
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
#SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_COOKIE_AGE = 10800
IDLE_ACCOUNT_NOTIFICATION_DAYS = '180'
# Number of days that hash verification is active
INSTANCE_ACTION_ACTIVE_DAYS = 7
# This works for our GRNET NOC Jira installation. Default is False
HELPDESK_INTEGRATION_JAVASCRIPT_URL = ""
HELPDESK_INTEGRATION_JAVASCRIPT_PARAMS = {
'customfield_11551': 'tier-1'
}
COLLECTD_URL = "http://stats.example.com"
# Graphs nodata image
NODATA_IMAGE = 'static/nodata.gif'
SERVER_MONITORING_URL = 'https://monitoring.example.com'
import _version
SW_VERSION = _version.VERSION
NODATA_IMAGE = 'static/nodata.gif'
WHITELIST_IP_MAX_SUBNET_V4 = 26
WHITELIST_IP_MAX_SUBNET_V6 = 64
# RSS Feed for the login page
FEED_URL = ""
# Choose whether to support websockets console or not.
WEBSOCK_VNC_ENABLED = True
# This is meant to be used with twistednovncauthproxy
# twistd --pidfile=/tmp/proxy.pid -n vncap -c tcp:8888:interface=0.0.0.0
NOVNC_PROXY = "vnc.proxy.com:8888"
NOVNC_USE_TLS = True
BRANDING = {
"SERVICE_PROVIDED_BY": {
"NAME": "EXAMPLE",
"URL": "//example.dot.com",
"SOCIAL_NETWORKS": [
{
"URL": "https://facebook.com/",
"FONT_AWESOME_NAME": "fa-facebook",
"FONT_COLOR": "#3b5998"
},
{
"URL": "https://twitter.com/",
"FONT_AWESOME_NAME": "fa-twitter",
"FONT_COLOR": "#00acee"
}
]
},
"VIDEO": "", # iframe url
"LOGO": "/static/ganetimgr/img/logo.png",
"FAVICON": "/static/ganetimgr/img/favicon.ico",
"MOTTO": "virtual private servers",
"FOOTER_ICONS_IFRAME": False,
# show the administrative contact
# option when creating a new vm
"SHOW_ADMINISTRATIVE_FORM": True,
"SHOW_ORGANIZATION_FORM": True,
"TITLE": "GanetiMGR",
}
# Set the email subject prefix:
EMAIL_SUBJECT_PREFIX = "[GANETIMGR SERVICE] "
SERVER_EMAIL = "no-reply@example.com"
DEFAULT_FROM_EMAIL = "no-reply@example.com"
# Flatpages manipulation. Show or hide flatpages links in page.
FLATPAGES = {
"INFO": True,
"TOS": True,
"FAQ": True,
}
# Get a recaptcha key
RECAPTCHA_PUBLIC_KEY = ''
RECAPTCHA_PRIVATE_KEY = ''
RECAPTCHA_USE_SSL = True
MARKDOWN_EDITOR_SKIN = 'simple'
#########################
# #
# Ganeti #
# #
#########################
# Select your ganetimgr prefix. This is applied in the tags
# of the instances. You could leave it as it is or set your own,
# eg. GANETI_TAG_PREFIX = "vmservice"
GANETI_TAG_PREFIX = "ganetimgr"
RAPI_CONNECT_TIMEOUT = 8
RAPI_RESPONSE_TIMEOUT = 15
# List of operating system images you provide...
OPERATING_SYSTEMS = {
"none": {
"description": "No operating system",
"provider": "noop",
"osparams": {},
"ssh_key_param": "",
},
- "debootstrap": {
+ "debootstrap+default": {
"description": "Debootstrap",
"provider": "debootstrap+default",
"osparams": {},
"ssh_key_param": "",
},
}
# the urls of the available os images
OPERATING_SYSTEMS_URLS = ['http://example.com/images']
SNF_OPERATING_SYSTEMS_URLS = ['http://example.com/snf-images/']
# the provider and ssh key param
# We assume that they have the same configuration
OPERATING_SYSTEMS_PROVIDER = 'image+default'
OPERATING_SYSTEMS_SSH_KEY_PARAM = 'img_ssh_key_url'
SNF_IMG_PROPERTIES = {
"SWAP": "2:512"
}
SNF_IMG_PASSWD = "example-passphrase"
#########################
# #
# Auditlog #
# #
#########################
# this option sets the amount of days old an audit entry has to be
# in order to be shown in audit log page
# '0' means show all entries
AUDIT_ENTRIES_LAST_X_DAYS = 10
diff --git a/watcher/Dockerfile b/watcher-Dockerfile
similarity index 100%
rename from watcher/Dockerfile
rename to watcher-Dockerfile
diff --git a/watcher/entrypoint.sh b/watcher-entrypoint.sh
similarity index 90%
rename from watcher/entrypoint.sh
rename to watcher-entrypoint.sh
index 796ce7a..12a8d36 100755
--- a/watcher/entrypoint.sh
+++ b/watcher-entrypoint.sh
@@ -1,15 +1,15 @@
#!/bin/bash
# Create a dummy file, until this is no longer needed
-touch templates/includes/analytics.html
+#touch templates/includes/analytics.html
mkdir /var/log/ganetimgr/
# Django init commands
python manage.py syncdb --noinput -v0 --migrate
python manage.py collectstatic --noinput -v0 -l
# Start background services
sed -i 's/#START=yes/START=yes/' /etc/default/beanstalkd
/etc/init.d/beanstalkd start > /dev/null
/srv/ganetimgr/watcher.py --foreground --log-file -
diff --git a/watcher/dj_database_url.py b/watcher/dj_database_url.py
deleted file mode 100644
index e269e9e..0000000
--- a/watcher/dj_database_url.py
+++ /dev/null
@@ -1,129 +0,0 @@
-# -*- coding: utf-8 -*-
-
-import os
-
-try:
- import urlparse
-except ImportError:
- import urllib.parse as urlparse
-
-
-# Register database schemes in URLs.
-urlparse.uses_netloc.append('postgres')
-urlparse.uses_netloc.append('postgresql')
-urlparse.uses_netloc.append('pgsql')
-urlparse.uses_netloc.append('postgis')
-urlparse.uses_netloc.append('mysql')
-urlparse.uses_netloc.append('mysql2')
-urlparse.uses_netloc.append('mysqlgis')
-urlparse.uses_netloc.append('mysql-connector')
-urlparse.uses_netloc.append('spatialite')
-urlparse.uses_netloc.append('sqlite')
-urlparse.uses_netloc.append('oracle')
-urlparse.uses_netloc.append('oraclegis')
-urlparse.uses_netloc.append('redshift')
-
-DEFAULT_ENV = 'DATABASE_URL'
-
-SCHEMES = {
- 'postgres': 'django.db.backends.postgresql_psycopg2',
- 'postgresql': 'django.db.backends.postgresql_psycopg2',
- 'pgsql': 'django.db.backends.postgresql_psycopg2',
- 'postgis': 'django.contrib.gis.db.backends.postgis',
- 'mysql': 'django.db.backends.mysql',
- 'mysql2': 'django.db.backends.mysql',
- 'mysqlgis': 'django.contrib.gis.db.backends.mysql',
- 'mysql-connector': 'mysql.connector.django',
- 'spatialite': 'django.contrib.gis.db.backends.spatialite',
- 'sqlite': 'django.db.backends.sqlite3',
- 'oracle': 'django.db.backends.oracle',
- 'oraclegis': 'django.contrib.gis.db.backends.oracle',
- 'redshift': 'django_redshift_backend',
-}
-
-
-def config(env=DEFAULT_ENV, default=None, engine=None, conn_max_age=0):
- """Returns configured DATABASE dictionary from DATABASE_URL."""
-
- config = {}
-
- s = os.environ.get(env, default)
-
- if s:
- config = parse(s, engine, conn_max_age)
-
- return config
-
-
-def parse(url, engine=None, conn_max_age=0):
- """Parses a database URL."""
-
- if url == 'sqlite://:memory:':
- # this is a special case, because if we pass this URL into
- # urlparse, urlparse will choke trying to interpret "memory"
- # as a port number
- return {
- 'ENGINE': SCHEMES['sqlite'],
- 'NAME': ':memory:'
- }
- # note: no other settings are required for sqlite
-
- # otherwise parse the url as normal
- config = {}
-
- url = urlparse.urlparse(url)
-
- # Split query strings from path.
- path = url.path[1:]
- if '?' in path and not url.query:
- path, query = path.split('?', 2)
- else:
- path, query = path, url.query
- query = urlparse.parse_qs(query)
-
- # If we are using sqlite and we have no path, then assume we
- # want an in-memory database (this is the behaviour of sqlalchemy)
- if url.scheme == 'sqlite' and path == '':
- path = ':memory:'
-
- # Handle postgres percent-encoded paths.
- hostname = url.hostname or ''
- if '%2f' in hostname.lower():
- hostname = hostname.replace('%2f', '/').replace('%2F', '/')
-
- # Update with environment configuration.
- config.update({
- 'NAME': urlparse.unquote(path or ''),
- 'USER': urlparse.unquote(url.username or ''),
- 'PASSWORD': urlparse.unquote(url.password or ''),
- 'HOST': hostname,
- 'PORT': url.port or '',
- 'CONN_MAX_AGE': conn_max_age,
- })
-
- # Lookup specified engine.
- engine = SCHEMES[url.scheme] if engine is None else engine
-
- # Pass the query string into OPTIONS.
- options = {}
- for key, values in query.items():
- if url.scheme == 'mysql' and key == 'ssl-ca':
- options['ssl'] = {'ca': values[-1]}
- continue
-
- options[key] = values[-1]
-
- # Support for Postgres Schema URLs
- if 'currentSchema' in options and engine in (
- 'django.db.backends.postgresql_psycopg2',
- 'django_redshift_backend',
- ):
- options['options'] = '-c search_path={0}'.format(options.pop('currentSchema'))
-
- if options:
- config['OPTIONS'] = options
-
- if engine:
- config['ENGINE'] = engine
-
- return config
diff --git a/watcher/python-django-markdown_0.6.1-1_all.deb b/watcher/python-django-markdown_0.6.1-1_all.deb
deleted file mode 100644
index 1ad0720..0000000
Binary files a/watcher/python-django-markdown_0.6.1-1_all.deb and /dev/null differ
diff --git a/watcher/settings.py b/watcher/settings.py
deleted file mode 100644
index a759146..0000000
--- a/watcher/settings.py
+++ /dev/null
@@ -1,308 +0,0 @@
-# -*- coding: utf-8 -*- vim:fileencoding=utf-8:
-
-# shortcuts to create relative paths
-import os
-BASE_DIR = os.path.dirname(os.path.dirname(__file__))
-PROJECT_DIR = os.path.join(BASE_DIR, 'ganetimgr')
-
-# helper function to get database connection from env.var
-import dj_database_url
-DATABASES= {}
-DATABASES['default'] = dj_database_url.config(default='sqlite:////%s' % os.path.join(BASE_DIR, 'db.sqlite3'))
-
-#
-DEBUG = os.environ.get('DJANGO_DEBUG', True)
-TIME_ZONE = os.environ.get('DJANGO_TIMEZONE','Europe/Athens')
-ALLOWED_HOSTS=["*"]
-TEMPLATE_DEBUG = DEBUG
-SITE_ID = 1
-ADMINS = ( ('John Doe', 'john@example.com'),)
-MANAGERS = ADMINS
-SECRET_KEY = '<CHANGE ME>'
-
-
-# Locale settings
-# We provide English and Greek translations
-_ = lambda s: s
-#LANGUAGE_CODE = 'en-us'
-LANGUAGES = (
-# ('el', u'Ελληνικά'),
- ('en', _('English')),
-)
-LOCALE_PATHS = (
- os.path.join(BASE_DIR, 'locale'),
-)
-
-
-DATE_FORMAT = "d/m/Y H:i"
-DATETIME_FORMAT = "d/m/Y H:i"
-
-
-# If you set this to False, Django will make some optimizations so as not
-# to load the internationalization machinery.
-USE_I18N = True
-USE_L10N = True
-
-MEDIA_ROOT = ''
-MEDIA_URL = ''
-
-# List of callables that know how to import templates from various sources.
-TEMPLATE_LOADERS = (
- 'django.template.loaders.filesystem.Loader',
- 'django.template.loaders.app_directories.Loader',
-)
-
-
-MIDDLEWARE_CLASSES = (
- 'django.middleware.common.CommonMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'middleware.ForceLogout.ForceLogoutMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.middleware.locale.LocaleMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
- 'middleware.UserMessages.UserMessageMiddleware',
-)
-
-STATIC_URL = '/static/'
-STATIC_ROOT = os.path.join(BASE_DIR, 'static')
-STATICFILES_DIRS = ()
-STATICFILES_FINDERS = (
- 'django.contrib.staticfiles.finders.FileSystemFinder',
- 'django.contrib.staticfiles.finders.AppDirectoriesFinder',
-)
-
-ROOT_URLCONF = 'ganetimgr.urls'
-
-TEMPLATE_DIRS = (
- os.path.join(BASE_DIR, 'templates'),
-)
-
-INSTALLED_APPS = (
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.sites',
- 'django.contrib.flatpages',
- 'django.contrib.messages',
- 'django.contrib.admin',
- 'django.contrib.staticfiles',
- 'registration',
- 'django_markdown',
- 'accounts',
- 'south',
- 'ganeti',
- 'apply',
- 'notifications',
- 'stats',
- 'auditlog',
-)
-
-# Caching is a vital part of ganetimgr.
-# If you deploy more than one ganetimgr instances on the same server,
-# and want to use Redis for both, make sure you select a different db for each instance
-# Warning!!! Redis db should ALWAYS be an integer, denoting db index.
-# If memcache is your preferred cache, then select:
-#CACHE_BACKEND="redis_cache.cache://127.0.0.1:6379?timeout=1500"
-#CACHES = {
-# 'default': {
-# 'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
-# }
- # 'default': {
- # 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
- # 'LOCATION': '127.0.0.1:11211',
- # 'TIMEOUT': 1,
- # }
-#}
-
-LOGIN_URL = '/user/login'
-LOGIN_REDIRECT_URL = '/'
-
-TEMPLATE_CONTEXT_PROCESSORS = (
- "django.contrib.auth.context_processors.auth",
- "django.core.context_processors.debug",
- "django.core.context_processors.i18n",
- "django.core.context_processors.media",
- "context.pending_notifications.notify",
- "context.session_remaining.seconds",
- "context.global_vars.settings_vars",
- "django.core.context_processors.request",
- "django.contrib.messages.context_processors.messages"
-)
-
-#EMAIL_HOST = "127.0.0.1"
-#EMAIL_PORT = 25
-USE_X_FORWARDED_HOST = True
-
-# Auth stuff
-# If you plan to deploy LDAP modify according to your needs
-AUTHENTICATION_BACKENDS = (
- #'django_auth_ldap.backend.LDAPBackend',
- 'django.contrib.auth.backends.ModelBackend',
-)
-
-#import ldap
-#from django_auth_ldap.config import LDAPSearch
-
-#AUTH_LDAP_BIND_DN = ""
-#AUTH_LDAP_BIND_PASSWORD = ""
-#AUTH_LDAP_SERVER_URI = "ldap://ldap.example.com"
-#AUTH_LDAP_START_TLS = True
-#AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=People,dc=dept,dc=example,dc=com",
-# ldap.SCOPE_SUBTREE, "(uid=%(user)s)")
-#AUTH_LDAP_USER_ATTR_MAP = {
-# "first_name": "givenName",
-# "last_name": "sn",
-# "email": "mail"
-# }
-
-ACCOUNT_ACTIVATION_DAYS = 10
-
-AUTH_PROFILE_MODULE = 'accounts.UserProfile'
-
-SESSION_EXPIRE_AT_BROWSER_CLOSE = True
-#SESSION_ENGINE = "django.contrib.sessions.backends.cache"
-SESSION_COOKIE_AGE = 10800
-
-IDLE_ACCOUNT_NOTIFICATION_DAYS = '180'
-
-# Number of days that hash verification is active
-INSTANCE_ACTION_ACTIVE_DAYS = 7
-
-# This works for our GRNET NOC Jira installation. Default is False
-HELPDESK_INTEGRATION_JAVASCRIPT_URL = ""
-HELPDESK_INTEGRATION_JAVASCRIPT_PARAMS = {
- 'customfield_11551': 'tier-1'
-}
-
-COLLECTD_URL = "http://stats.example.com"
-# Graphs nodata image
-NODATA_IMAGE = 'static/nodata.gif'
-
-SERVER_MONITORING_URL = 'https://monitoring.example.com'
-
-import _version
-SW_VERSION = _version.VERSION
-
-NODATA_IMAGE = 'static/nodata.gif'
-
-
-WHITELIST_IP_MAX_SUBNET_V4 = 26
-WHITELIST_IP_MAX_SUBNET_V6 = 64
-
-# RSS Feed for the login page
-FEED_URL = ""
-
-# Choose whether to support websockets console or not.
-WEBSOCK_VNC_ENABLED = True
-# This is meant to be used with twistednovncauthproxy
-# twistd --pidfile=/tmp/proxy.pid -n vncap -c tcp:8888:interface=0.0.0.0
-NOVNC_PROXY = "vnc.proxy.com:8888"
-NOVNC_USE_TLS = True
-
-BRANDING = {
- "SERVICE_PROVIDED_BY": {
- "NAME": "EXAMPLE",
- "URL": "//example.dot.com",
- "SOCIAL_NETWORKS": [
- {
- "URL": "https://facebook.com/",
- "FONT_AWESOME_NAME": "fa-facebook",
- "FONT_COLOR": "#3b5998"
- },
- {
- "URL": "https://twitter.com/",
- "FONT_AWESOME_NAME": "fa-twitter",
- "FONT_COLOR": "#00acee"
- }
- ]
- },
- "VIDEO": "", # iframe url
- "LOGO": "/static/ganetimgr/img/logo.png",
- "FAVICON": "/static/ganetimgr/img/favicon.ico",
- "MOTTO": "virtual private servers",
- "FOOTER_ICONS_IFRAME": False,
- # show the administrative contact
- # option when creating a new vm
- "SHOW_ADMINISTRATIVE_FORM": True,
- "SHOW_ORGANIZATION_FORM": True,
- "TITLE": "GanetiMGR",
-}
-
-# Set the email subject prefix:
-EMAIL_SUBJECT_PREFIX = "[GANETIMGR SERVICE] "
-SERVER_EMAIL = "no-reply@example.com"
-DEFAULT_FROM_EMAIL = "no-reply@example.com"
-
-# Flatpages manipulation. Show or hide flatpages links in page.
-FLATPAGES = {
- "INFO": True,
- "TOS": True,
- "FAQ": True,
-}
-# Get a recaptcha key
-RECAPTCHA_PUBLIC_KEY = ''
-RECAPTCHA_PRIVATE_KEY = ''
-RECAPTCHA_USE_SSL = True
-
-MARKDOWN_EDITOR_SKIN = 'simple'
-
-
-#########################
-# #
-# Ganeti #
-# #
-#########################
-# Select your ganetimgr prefix. This is applied in the tags
-# of the instances. You could leave it as it is or set your own,
-# eg. GANETI_TAG_PREFIX = "vmservice"
-GANETI_TAG_PREFIX = "ganetimgr"
-RAPI_CONNECT_TIMEOUT = 8
-RAPI_RESPONSE_TIMEOUT = 15
-# List of operating system images you provide...
-OPERATING_SYSTEMS = {
- "none": {
- "description": "No operating system",
- "provider": "noop",
- "osparams": {},
- "ssh_key_param": "",
- },
- "debootstrap": {
- "description": "Debootstrap",
- "provider": "debootstrap+default",
- "osparams": { },
- "ssh_key_param": "",
- },
-
-}
-
-
-# the urls of the available os images
-OPERATING_SYSTEMS_URLS = ['http://example.com/images']
-SNF_OPERATING_SYSTEMS_URLS = ['http://example.com/snf-images/']
-
-
-# the provider and ssh key param
-# We assume that they have the same configuration
-OPERATING_SYSTEMS_PROVIDER = 'image+default'
-OPERATING_SYSTEMS_SSH_KEY_PARAM = 'img_ssh_key_url'
-
-SNF_IMG_PROPERTIES = {
- "SWAP": "2:512"
-}
-SNF_IMG_PASSWD = "example-passphrase"
-
-#########################
-# #
-# Auditlog #
-# #
-#########################
-
-# this option sets the amount of days old an audit entry has to be
-# in order to be shown in audit log page
-# '0' means show all entries
-
-AUDIT_ENTRIES_LAST_X_DAYS = 10
-
-

Event Timeline