Public Member Functions | Public Attributes | Static Public Attributes

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 complete_delete_child
def complete_delete_parent
def complete_delete_publication_client
def complete_delete_repository
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_update_bpki
def entitydb_complete
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 877 of file myrpki.py.


Member Function Documentation

def rpki.myrpki.main.__init__ (   self  ) 

Definition at line 885 of file myrpki.py.

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

Definition at line 1178 of file myrpki.py.

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

Definition at line 1242 of file myrpki.py.

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

Definition at line 1336 of file myrpki.py.

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

Definition at line 1378 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 1384 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 1076 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 1452 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 1182 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 1246 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 1340 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 1439 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 1165 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 1229 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 1323 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 1365 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 952 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 1035 of file myrpki.py.

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

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

def rpki.myrpki.main.read_config (   self  ) 

Definition at line 928 of file myrpki.py.


Member Data Documentation

Definition at line 942 of file myrpki.py.

Definition at line 944 of file myrpki.py.

Definition at line 930 of file myrpki.py.

Definition at line 891 of file myrpki.py.

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

Definition at line 881 of file myrpki.py.

Definition at line 937 of file myrpki.py.

Definition at line 933 of file myrpki.py.

Reimplemented from rpki.cli.Cmd.

Definition at line 932 of file myrpki.py.

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

Definition at line 879 of file myrpki.py.

Definition at line 946 of file myrpki.py.

Definition at line 948 of file myrpki.py.

Definition at line 949 of file myrpki.py.

Definition at line 935 of file myrpki.py.

Definition at line 936 of file myrpki.py.

Definition at line 934 of file myrpki.py.

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

Definition at line 883 of file myrpki.py.


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