rpki.myrpki.main Class Reference

Inherits rpki::cli::Cmd.

Collaboration diagram for rpki.myrpki.main:
Collaboration graph

List of all members.

Public Member Functions

def __init__
def configure_resources_main
def do_configure_child
def do_configure_daemons
def do_configure_parent
def do_configure_publication_client
def do_configure_repository
def do_configure_resources
def do_initialize
def help_overview
def read_config

Public Attributes

 bpki_resources
 bpki_servers
 cfg
 cfg_file
 entitydb
 handle
 histfile
 pubd_contact_info
 rsync_module
 rsync_server
 run_pubd
 run_rootd
 run_rpkid

Static Public Attributes

 completedefault = rpki.cli.Cmd.filename_complete
string prompt = "myrpki> "
 show_xml = False

Detailed Description

Definition at line 851 of file myrpki.py.


Member Function Documentation

def rpki.myrpki.main.__init__ (   self  ) 

Definition at line 859 of file myrpki.py.

def rpki.myrpki.main.configure_resources_main (   self,
  msg = None 
)
Main program of old myrpki.py script.  This remains separate
because it's called from more than one place.

Definition at line 1230 of file myrpki.py.

def rpki.myrpki.main.do_configure_child (   self,
  arg 
)
Configure a new child of this RPKI entity, given the child's XML
identity file as an input.  This command extracts the child's data
from the XML, cross-certifies the child's resource-holding BPKI
certificate, and generates an XML file describing the relationship
between the child and this parent, including this parent's BPKI
data and up-down protocol service URI.

Definition at line 997 of file myrpki.py.

def rpki.myrpki.main.do_configure_daemons (   self,
  arg 
)
Configure RPKI daemons with the data built up by the other
commands in this program.

The basic model here is that each entity with resources to certify
runs the myrpki tool, but not all of them necessarily run their
own RPKI engines.  The entities that do run RPKI engines get data
from the entities they host via the XML files output by the
configure_resources command.  Those XML files are the input to
this command, which uses them to do all the work of configuring
daemons, populating SQL databases, and so forth.  A few operations
(eg, BSC construction) generate data which has to be shipped back
to the resource holder, which we do by updating the same XML file.

In essence, the XML files are a sneakernet (or email, or carrier
pigeon) communication channel between the resource holders and the
RPKI engine operators.

As a convenience, for the normal case where the RPKI engine
operator is itself a resource holder, this command in effect runs
the configure_resources command automatically to process the RPKI
engine operator's own resources.

Note that, due to the back and forth nature of some of these
operations, it may take several cycles for data structures to stablize
and everything to reach a steady state.  This is normal.

Definition at line 1298 of file myrpki.py.

def rpki.myrpki.main.do_configure_parent (   self,
  arg 
)
Configure a new parent of this RPKI entity, given the output of
the parent's configure_child command as input.  This command reads
the parent's response XML, extracts the parent's BPKI and service
URI information, cross-certifies the parent's BPKI data into this
entity's BPKI, and checks for offers or referrals of publication
service.  If a publication offer or referral is present, we
generate a request-for-service message to that repository, in case
the user wants to avail herself of the referral or offer.

Definition at line 1079 of file myrpki.py.

def rpki.myrpki.main.do_configure_publication_client (   self,
  arg 
)
Configure publication server to know about a new client, given the
client's request-for-service message as input.  This command reads
the client's request for service, cross-certifies the client's
BPKI data, and generates a response message containing the
repository's BPKI data and service URI.

Definition at line 1126 of file myrpki.py.

def rpki.myrpki.main.do_configure_repository (   self,
  arg 
)
Configure a publication repository for this RPKI entity, given the
repository's response to our request-for-service message as input.
This command reads the repository's response, extracts and
cross-certifies the BPKI data and service URI, and links the
repository data with the corresponding parent data in our local
database.

Definition at line 1203 of file myrpki.py.

def rpki.myrpki.main.do_configure_resources (   self,
  arg 
)
Read CSV files and all the descriptions of parents and children
that we've built up, package the result up as a single XML file to
be shipped to a hosting rpkid.

Definition at line 1285 of file myrpki.py.

def rpki.myrpki.main.do_initialize (   self,
  arg 
)
Initialize an RPKI installation.  This command reads the
configuration file, creates the BPKI and EntityDB directories,
generates the initial BPKI certificates, and creates an XML file
describing the resource-holding aspect of this RPKI installation.

Definition at line 915 of file myrpki.py.

def rpki.myrpki.main.help_overview (   self  ) 
Show program __doc__ string.  Perhaps there's some clever way to
do this using the textwrap module, but for now something simple
and crude will suffice.

Definition at line 881 of file myrpki.py.

def rpki.myrpki.main.read_config (   self  ) 

Definition at line 891 of file myrpki.py.


Member Data Documentation

Definition at line 905 of file myrpki.py.

Definition at line 907 of file myrpki.py.

Definition at line 893 of file myrpki.py.

Definition at line 865 of file myrpki.py.

rpki.myrpki.main.completedefault = rpki.cli.Cmd.filename_complete [static]

Definition at line 855 of file myrpki.py.

Definition at line 900 of file myrpki.py.

Definition at line 896 of file myrpki.py.

Reimplemented from rpki.cli.Cmd.

Definition at line 895 of file myrpki.py.

string rpki.myrpki.main.prompt = "myrpki> " [static]

Definition at line 853 of file myrpki.py.

Definition at line 909 of file myrpki.py.

Definition at line 911 of file myrpki.py.

Definition at line 912 of file myrpki.py.

Definition at line 898 of file myrpki.py.

Definition at line 899 of file myrpki.py.

Definition at line 897 of file myrpki.py.

rpki.myrpki.main.show_xml = False [static]

Definition at line 857 of file myrpki.py.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables
Generated on Wed May 12 19:43:50 2010 for RPKI Engine by  doxygen 1.6.3