[][src]Struct krill::daemon::krillserver::KrillServer

pub struct KrillServer { /* fields omitted */ }

This is the master krill server that is doing all the orchestration for all the components, like:

  • Admin tasks:
    • Verify (admin) API access
    • Manage known publishers
  • CMS proxy:
    • Decodes and validates CMS sent by known publishers using CMS
    • Encodes and signs CMS responses for remote publishers using CMS
  • Repository:
    • Process publish / list requests by known publishers
    • Updates the repository on disk
    • Updates the RRDP files

Methods

impl KrillServer[src]

pub fn build(config: &Config) -> Result<Self, Error>[src]

Creates a new publication server. Note that state is preserved on disk in the work_dir provided.

pub fn service_base_uri(&self) -> &Https[src]

impl KrillServer[src]

pub fn login(&self, token: Token) -> bool[src]

pub fn is_api_allowed(&self, auth: &Auth) -> bool[src]

impl KrillServer[src]

pub fn publishers(&self) -> Result<Vec<Handle>, Error>[src]

Returns all currently configured publishers. (excludes deactivated)

pub fn add_publisher(
    &mut self,
    req: PublisherRequest
) -> Result<RepositoryResponse, Error>
[src]

Adds the publishers, blows up if it already existed.

pub fn remove_publisher(
    &mut self,
    publisher: PublisherHandle
) -> Result<(), Error>
[src]

Removes a publisher, blows up if it didn't exist.

pub fn get_publisher(
    &self,
    publisher: &PublisherHandle
) -> Result<PublisherDetails, Error>
[src]

Returns a publisher.

pub fn rrdp_base_path(&self) -> PathBuf[src]

impl KrillServer[src]

pub fn repository_response(
    &self,
    publisher: &PublisherHandle
) -> Result<RepositoryResponse, Error>
[src]

pub fn rfc8181(
    &self,
    publisher: PublisherHandle,
    msg_bytes: Bytes
) -> Result<Bytes, Error>
[src]

impl KrillServer[src]

pub fn ta(&self) -> Result<TaCertDetails, Error>[src]

pub fn trust_anchor_cert(&self) -> Option<Cert>[src]

pub fn ca_add_child(
    &self,
    parent: &ParentHandle,
    req: AddChildRequest
) -> Result<ParentCaContact, Error>
[src]

Adds a child to a CA and returns the ParentCaInfo that the child will need to contact this CA for resource requests.

pub fn ca_parent_contact(
    &self,
    parent: &ParentHandle,
    child: ChildHandle
) -> Result<ParentCaContact, Error>
[src]

Shows the parent contact for a child.

pub fn ca_parent_response(
    &self,
    parent: &ParentHandle,
    child: ChildHandle
) -> Result<ParentResponse, Error>
[src]

Shows the parent contact for a child.

pub fn ca_child_update(
    &self,
    parent: &ParentHandle,
    child: ChildHandle,
    req: UpdateChildRequest
) -> Result<(), Error>
[src]

Update IdCert or resources of a child.

pub fn ca_child_remove(
    &self,
    handle: &Handle,
    child: ChildHandle
) -> Result<(), Error>
[src]

Update IdCert or resources of a child.

pub fn ca_show_child(
    &self,
    parent: &ParentHandle,
    child: &ChildHandle
) -> Result<ChildCaInfo, Error>
[src]

Show details for a child under the TA.

pub fn republish_all(&self) -> Result<(), Error>[src]

Republish all CAs that need it.

pub fn resync_all(&self) -> Result<(), Error>[src]

Re-sync all CAs with their repositories

pub fn refresh_all(&self) -> Result<(), Error>[src]

Refresh all CAs: ask for updates and shrink as needed.

impl KrillServer[src]

pub fn cas(&self) -> CertAuthList[src]

pub fn ca_info(&self, handle: &Handle) -> Result<CertAuthInfo, Error>[src]

Returns the public CA info for a CA, or NONE if the CA cannot be found.

pub fn ca_my_parent_contact(
    &self,
    handle: &Handle,
    parent: &ParentHandle
) -> Result<ParentCaContact, Error>
[src]

Returns the parent contact for a CA and parent, or NONE if either the CA or the parent cannot be found.

pub fn ca_history(&self, handle: &Handle) -> Option<CertAuthHistory>[src]

Returns the history for a CA, or NONE in case of issues (i.e. it does not exist).

pub fn ca_child_req(&self, handle: &Handle) -> Result<ChildRequest, Error>[src]

Returns the child request for a CA, or NONE if the CA cannot be found.

pub fn ca_publisher_req(&self, handle: &Handle) -> Option<PublisherRequest>[src]

Returns the publisher request for a CA, or NONE of the CA cannot be found.

pub fn ca_init(&mut self, init: CertAuthInit) -> Result<(), Error>[src]

pub fn ca_repo_details(&self, handle: &Handle) -> Result<CaRepoDetails, Error>[src]

Return the info about the configured repository server for a given Ca. and the actual objects published there, as reported by a list reply.

pub fn ca_repo_state(&self, handle: &Handle) -> Result<CurrentRepoState, Error>[src]

Returns the state of the current configured repo for a ca

pub fn ca_update_repo(
    &self,
    handle: Handle,
    update: RepositoryUpdate
) -> Result<(), Error>
[src]

Update the repository for a CA, or return an error. (see CertAuth::repo_update)

pub fn ca_update_id(&self, handle: Handle) -> Result<(), Error>[src]

pub fn ca_add_parent(
    &self,
    handle: Handle,
    parent: ParentCaReq
) -> Result<(), Error>
[src]

pub fn ca_update_parent(
    &self,
    handle: Handle,
    parent: ParentHandle,
    contact: ParentCaContact
) -> Result<(), Error>
[src]

pub fn ca_remove_parent(
    &self,
    handle: Handle,
    parent: ParentHandle
) -> Result<(), Error>
[src]

pub fn ca_keyroll_init(&self, handle: Handle) -> Result<(), Error>[src]

pub fn ca_keyroll_activate(&self, handle: Handle) -> Result<(), Error>[src]

pub fn rfc6492(&self, handle: Handle, msg_bytes: Bytes) -> Result<Bytes, Error>[src]

impl KrillServer[src]

pub fn ca_routes_update(
    &self,
    handle: Handle,
    updates: RoaDefinitionUpdates
) -> Result<(), Error>
[src]

pub fn ca_routes_show(
    &self,
    handle: &Handle
) -> Result<Vec<RoaDefinition>, Error>
[src]

impl KrillServer[src]

pub fn handle_delta(
    &self,
    publisher: PublisherHandle,
    delta: PublishDelta
) -> Result<(), Error>
[src]

Handles a publish delta request sent to the API, or.. through the CmsProxy.

pub fn handle_list(
    &self,
    publisher: &PublisherHandle
) -> Result<ListReply, Error>
[src]

Handles a list request sent to the API, or.. through the CmsProxy.

Auto Trait Implementations

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Err = <U as TryFrom<T>>::Err