Page Menu
Home
GRNET
Search
Configure Global Search
Log In
Files
F324342
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Mon, Nov 25, 6:46 PM
Size
23 KB
Mime Type
text/x-diff
Expires
Wed, Nov 27, 6:46 PM (1 d, 20 h)
Engine
blob
Format
Raw Data
Handle
156168
Attached To
rGMGRDCKR ganetimgr-docker
View Options
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
Log In to Comment