RPKI Engine 1.0
Public Member Functions | Public Attributes | Static Public Attributes

rpki.myrpki.main Class Reference

Inheritance diagram for rpki.myrpki.main:
Inheritance graph
Collaboration diagram for rpki.myrpki.main:
Collaboration graph

List of all members.

Public Member Functions

def __init__
def complete_delete_child
def complete_delete_parent
def complete_delete_publication_client
def complete_delete_repository
def complete_renew_child
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_delete_child
def do_delete_parent
def do_delete_publication_client
def do_delete_repository
def do_initialize
def do_renew_all_children
def do_renew_child
def do_update_bpki
def entitydb_complete
def help_overview
def read_config
def renew_children_common

Public Attributes

 bpki_resources
 bpki_servers
 cfg
 cfg_file
 default_repository
 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 1008 of file myrpki.py.


Constructor & Destructor Documentation

def rpki.myrpki.main.__init__ (   self)

Definition at line 1016 of file myrpki.py.


Member Function Documentation

def rpki.myrpki.main.complete_delete_child (   self,
  args 
)

Definition at line 1303 of file myrpki.py.

def rpki.myrpki.main.complete_delete_parent (   self,
  args 
)

Definition at line 1366 of file myrpki.py.

def rpki.myrpki.main.complete_delete_publication_client (   self,
  args 
)

Definition at line 1469 of file myrpki.py.

def rpki.myrpki.main.complete_delete_repository (   self,
  args 
)

Definition at line 1517 of file myrpki.py.

def rpki.myrpki.main.complete_renew_child (   self,
  args 
)

Definition at line 1562 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 1574 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 1207 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 1642 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 1307 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 1370 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 1473 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 1629 of file myrpki.py.

def rpki.myrpki.main.do_delete_child (   self,
  arg 
)
Delete a child of this RPKI entity.

This should check that the XML file it's deleting really is a
child, but doesn't, yet.

Definition at line 1290 of file myrpki.py.

def rpki.myrpki.main.do_delete_parent (   self,
  arg 
)
Delete a parent of this RPKI entity.

This should check that the XML file it's deleting really is a
parent, but doesn't, yet.

Definition at line 1353 of file myrpki.py.

def rpki.myrpki.main.do_delete_publication_client (   self,
  arg 
)
Delete a publication client of this RPKI entity.

This should check that the XML file it's deleting really is a
client, but doesn't, yet.

Definition at line 1456 of file myrpki.py.

def rpki.myrpki.main.do_delete_repository (   self,
  arg 
)
Delete a repository of this RPKI entity.

This should check that the XML file it's deleting really is a
repository, but doesn't, yet.

Definition at line 1504 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 1084 of file myrpki.py.

def rpki.myrpki.main.do_renew_all_children (   self,
  arg 
)
Update validity period for all child entities.

Definition at line 1565 of file myrpki.py.

def rpki.myrpki.main.do_renew_child (   self,
  arg 
)
Update validity period for one child entity.

Definition at line 1556 of file myrpki.py.

def rpki.myrpki.main.do_update_bpki (   self,
  arg 
)
Update BPKI certificates.  Assumes an existing RPKI installation.

Basic plan here is to reissue all BPKI certificates we can, right
now.  In the long run we might want to be more clever about only
touching ones that need maintenance, but this will do for a start.

Most likely this should be run under cron.

Definition at line 1166 of file myrpki.py.

def rpki.myrpki.main.entitydb_complete (   self,
  prefix,
  text,
  line,
  begidx,
  endidx 
)
Completion helper for entitydb filenames.

Definition at line 1048 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 1038 of file myrpki.py.

def rpki.myrpki.main.read_config (   self)

Definition at line 1059 of file myrpki.py.

def rpki.myrpki.main.renew_children_common (   self,
  arg,
  plural 
)
Common code for renew_child and renew_all_children commands.

Definition at line 1521 of file myrpki.py.


Member Data Documentation

Definition at line 1059 of file myrpki.py.

Definition at line 1059 of file myrpki.py.

Definition at line 1059 of file myrpki.py.

Definition at line 1016 of file myrpki.py.

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

Definition at line 1012 of file myrpki.py.

Definition at line 1059 of file myrpki.py.

Definition at line 1059 of file myrpki.py.

Definition at line 1059 of file myrpki.py.

Reimplemented from rpki.cli.Cmd.

Definition at line 1059 of file myrpki.py.

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

Definition at line 1010 of file myrpki.py.

Definition at line 1059 of file myrpki.py.

Definition at line 1059 of file myrpki.py.

Definition at line 1059 of file myrpki.py.

Definition at line 1059 of file myrpki.py.

Definition at line 1059 of file myrpki.py.

Definition at line 1059 of file myrpki.py.

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

Definition at line 1014 of file myrpki.py.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables