Difference between revisions of "Dogtag"

From Dogtag
Jump to: navigation, search
(Proposals)
m (Third-Party Components)
 
(44 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Roadmap ==
 
Dogtag will be undergoing some exciting new changes to make it easier to be integrated with other projects.
 
 
For a roadmap of these changes, see [[Dogtag Future Directions]].
 
 
 
== Source Code ==
 
== Source Code ==
  
Line 85: Line 80:
 
The following table shows the corresponding platform vs. product version vs. branch names:
 
The following table shows the corresponding platform vs. product version vs. branch names:
  
* [http://pki.fedoraproject.org/wiki/Dogtag_branches_and_releases Platform vs. Product Version vs. Branch]
+
* [[Dogtag_branches_and_releases|Platform vs. Product Version vs. Branch]]
  
 
The following describes the branching philosophy associated with packaging:
 
The following describes the branching philosophy associated with packaging:
  
* [http://pki.fedoraproject.org/wiki/Package_Versioning Package Versioning]
+
* [[Package Versioning]]
  
 
=== Example of Updating an Existing Branch that has been Previously Checked-Out ===
 
=== Example of Updating an Existing Branch that has been Previously Checked-Out ===
Line 115: Line 110:
  
 
This new version of Dogtag will begin development using '''64-bit x86_64''' [http://fedoraproject.org/ Fedora 16].
 
This new version of Dogtag will begin development using '''64-bit x86_64''' [http://fedoraproject.org/ Fedora 16].
 
== Third-Party Components ==
 
 
Much of this new version of Dogtag will be based upon the following versions of these major third-party components:
 
* [http://httpd.apache.org/ Apache 2.4]
 
* [http://openjdk.java.net/projects/jdk7/ Java 7]
 
* [http://www.python.org/getit/releases/2.7/ Python 2.7]
 
* [http://tomcat.apache.org/ Tomcat 7]
 
 
and will make use of the following third-party technologies:
 
* [http://junit.sourceforge.net/ JUnit]
 
** [http://junit.sourceforge.net/cpl-v10.html JUnit License]
 
* [http://www.jboss.org/resteasy RESTeasy]
 
** [[REST]]
 
** [[REST/flows]]
 
** [[Getting_RESTeasy_into_fedora]]
 
 
Dogtag will also utilize the following third-party components:
 
* [http://jquery.org/ JQuery]
 
** [http://jquery.org/license/ JQuery License]
 
* [http://code.google.com/p/jquery-i18n-properties JQuery.i18n.properties plug-in]
 
  
 
== Development Tools ==
 
== Development Tools ==
  
Development of this new version of Dogtag will take advantage of the following development tools:
+
See [https://github.com/dogtagpki/pki/wiki/Development-Tools Development Tools].
* [http://www.cmake.org/ CMake]
 
* [http://www.eclipse.org/ Eclipse]
 
** [[DogtagEclipse|Using Eclipse for Dogtag]]
 
* [http://git-scm.com/ Git Revision Control System]
 
** [[Using_Git|Using Git for Dogtag]]
 
** [[Hosting a Developmental PKI 'git' Repository on 'fedorapeople.org']]
 
* [http://trac.edgewall.org/ Trac]
 
** [https://fedorahosted.org/pki/ Dogtag Trac]
 
* [[Pylint]]
 
  
 
== Javadocs ==
 
== Javadocs ==
 
* [[Javadocs | On-line Dogtag Javadocs]]
 
* [[Javadocs | On-line Dogtag Javadocs]]
 
== Designs ==
 
== Designs ==
The following designs are for a future version of Dogtag:
+
[https://github.com/dogtagpki/pki/wiki/Design-Documents Design Documents]
* [[PKI Interface Design (Legacy)]]
 
* [[PKI Instance Deployment]]
 
* [[Merging IPA and Dogtag Databases]]
 
* [[Merging CA and KRA Instances]]
 
** [[Merging CA and KRA Instances#Dogtag_10|Dogtag 10: Single Merged CA, KRA, OCSP, and TKS Instance]]
 
* [[Packaging]]
 
* [[Migrating Dogtag 9 Instances to Dogtag 10]]
 
* [[Cleaning up the UI theme packages]]
 
* [[Enhancing DRM connector setup/removal code]]
 
* [[8.1_installer_work_for_cloning]]
 
* [[CLI]]
 
* [[Interactive Installation]]
 
* [[Customization]]
 
* [[CMake]]
 
* [[RESTEasy]]
 
* [[JUnit]]
 
* [[Authentication]]
 
* [[Random Certificate Serial Numbers]]
 
* [[Randomized Validity]]
 
* [[TPS Revocation Routing]]
 
* [[Automated generation of Shared Secret]]
 
* [[Continuous_Integration_testing_framework_for_Dogtag_%28Design%29|Continuous Integration Testing Framework for Dogtag]]
 
* [[Support_NSSDB_in_Python_API|Support NSSDB in PKI's Python API (WIP)]]
 
<hr>
 
Features should begin utilizing the following template:
 
* [[PKI Feature Template]]
 
<hr>
 
* [[Stand-alone PKI Subsystems]]
 
* [[DRM Transport Key Rotation]] (and associated [[DRM Transport Key Rotation Procedures]])
 
* [[IP Port Separation]]
 
* [[Enhancing DRM Authentication and Authorization]]
 
* [[Sharing Subsystem Cert]]
 
* [[Top level basedn]]
 
  
== Proposals ==
+
== How-To Procedures ==
* [[Proposal to Separate Existing Single PKI Source Repository into Multiple PKI Source Repositories]]
+
* [[Installing Theme|How to apply a theme to a previously installed PKI server instance]]
* [[Proposal to Combine Multiple SRPMS into a Single SRPM]]
 
  
== Resources for Client Developers ==
 
* [[REST|REST interfaces in Dogtag]]
 
* [[RESTEasy|More details about REST interfaces in Dogtag]]
 
* [[Python Key Client]]
 
* [[Java Key Client]]
 
* [[Dogtag 10 Python Cert Client API|Dogtag 10 Python Cert Client API]]
 
* [[Dogtag 10 Python Profile Client API|Dogtag 10 Python Profile Client API]]
 
 
== Releases ==
 
* [[Procedure used to Release Dogtag 10.2.1-1 on Fedora 22]]
 
* [[COPR Repository for CentOS]]
 
 
== 'How-To' Procedures ==
 
* [[Procedure 'tkstool'|How to run 'tkstool' to manually generate and use a shared key between a Tomcat7-based TKS instance and an Apache-based TPS instance]]
 
* [[Procedure 'tpsclient'|How to run 'tpsclient' to verify communication between a Tomcat7-based TKS instance and an Apache-based TPS instance]]
 
* [[Installing Theme|How to apply a theme to a previously installed PKI server instance]]
 
 
== Miscellaneous ==
 
== Miscellaneous ==
 
The fedorahosted.org sunset on Tuesday, February 28, 2017; this involved migration of the numerous products away from the use of its TRAC Issue Trackers, storage of various SVN and GIT repositories, and movement away from TRAC Wiki material:
 
The fedorahosted.org sunset on Tuesday, February 28, 2017; this involved migration of the numerous products away from the use of its TRAC Issue Trackers, storage of various SVN and GIT repositories, and movement away from TRAC Wiki material:
 
* [[RELOCATION OF PROJECT ISSUES, REPOSITORIES, AND WIKI INFORMATION]]
 
* [[RELOCATION OF PROJECT ISSUES, REPOSITORIES, AND WIKI INFORMATION]]

Latest revision as of 23:39, 2 February 2022

Source Code

Dogtag source code is managed via the Git Revision Control System and can be viewed at the pki.git repository:

Revised Branch Names

On September 16, 2014, the PKI git repository branches were renamed to follow our new naming conventions:

ORIGINAL BRANCH NAME NEW BRANCH NAME
remotes/origin/DOGTAG_10_0_BRANCH remotes/origin/DOGTAG_10_0_BRANCH
remotes/origin/IPA_V3_RHEL_7_ERRATA_BRANCH remotes/origin/DOGTAG_10_0_RHEL_BRANCH
remotes/origin/DOGTAG_10_1_BRANCH remotes/origin/DOGTAG_10_1_BRANCH
remotes/origin/IPA_V4_RHEL_7_1_ERRATA_BRANCH remotes/origin/DOGTAG_10_1_RHEL_BRANCH
'master' 7cf3bd73a7c41d8633fb2a92053a55e0e36a4925 remotes/origin/DOGTAG_10_2_RHEL_BRANCH
remotes/origin/DOGTAG_9_BRANCH remotes/origin/DOGTAG_9_0_BRANCH
remotes/origin/IPA_v2_RHEL_6_ERRATA_BRANCH remotes/origin/DOGTAG_9_0_RHEL_BRANCH
remotes/origin/RHEL_7_0_BRANCH  
remotes/origin/RHEL_7_BRANCH  
remotes/origin/autoformat  
remotes/origin/autoformat2  
remotes/origin/HEAD -> origin/master remotes/origin/HEAD -> origin/master
remotes/origin/master remotes/origin/master

The following table shows the corresponding platform vs. product version vs. branch names:

The following describes the branching philosophy associated with packaging:

Example of Updating an Existing Branch that has been Previously Checked-Out

(1) Identify the local branch

   # git branch
   IPA_V3_RHEL_7_ERRATA_BRANCH

(2) Rename the local branch

   # git branch -m IPA_V3_RHEL_7_ERRATA_BRANCH DOGTAG_10_0_RHEL_BRANCH

(3) Identify the local branch

   # git branch
   DOGTAG_10_0_RHEL_BRANCH

(4) Attempt to update the local branch from the remote branch

   # git pull
   . . .
   Your configuration specifies to merge with the ref 'IPA_V3_RHEL_7_ERRATA_BRANCH'
   from the remote, but no such ref was fetched.

(5) Setup remote upstream tracking on the branch you just renamed

   # git branch -u origin/DOGTAG_10_0_RHEL_BRANCH
   Branch DOGTAG_10_0_RHEL_BRANCH set up to track remote branch DOGTAG_10_0_RHEL_BRANCH from origin.

(6) Attempt to update the local branch from the remote branch

   # git pull
   Already up-to-date.

Platform

This new version of Dogtag will begin development using 64-bit x86_64 Fedora 16.

Development Tools

See Development Tools.

Javadocs

Designs

Design Documents

How-To Procedures

Miscellaneous

The fedorahosted.org sunset on Tuesday, February 28, 2017; this involved migration of the numerous products away from the use of its TRAC Issue Trackers, storage of various SVN and GIT repositories, and movement away from TRAC Wiki material: