5 # Configure the API. Must be done after SSL certificates are generated
6 # and before the API web server is brought up.
8 # Mark Huang <mlhuang@cs.princeton.edu>
9 # Copyright (C) 2006 The Trustees of Princeton University
11 # $Id: api,v 1.6 2007/01/18 18:44:18 mlhuang Exp $
14 # Source function library and configuration
15 . /etc/plc.d/functions
16 . /etc/planetlab/plc_config
23 if [ "$PLC_API_ENABLED" != "1" ] ; then
27 MESSAGE=$"Configuring the API"
30 # Make sure that the API maintenance account is protected by a
32 if [ -z "$PLC_API_MAINTENANCE_PASSWORD" ] ; then
33 PLC_API_MAINTENANCE_PASSWORD=$(uuidgen)
34 plc-config --category=plc_api --variable=maintenance_password --value="$PLC_API_MAINTENANCE_PASSWORD" --save
37 # Make sure that all PLC servers are allowed to access the API
38 # through the maintenance account.
39 for server in API BOOT WWW ; do
40 hostname=PLC_${server}_HOST
41 ip=$(gethostbyname ${!hostname})
42 if [ -n "$ip" ] ; then
43 if [ -z "$PLC_API_MAINTENANCE_SOURCES" ] ; then
44 PLC_API_MAINTENANCE_SOURCES=$ip
46 PLC_API_MAINTENANCE_SOURCES="$PLC_API_MAINTENANCE_SOURCES $ip"
50 plc-config --category=plc_api --variable=maintenance_sources --value="$PLC_API_MAINTENANCE_SOURCES" --save