PKC DevOps

From PKC
Revision as of 14:59, 7 August 2021 by Benkoo (talk | contribs) (Created page with "{{:Task/PKC DevOps}}")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Logic Model (PKC DevOps) Template:LogicModel 08 7, 2021
Abstract Specification
Context PKC Development and Operation Cycle requires a namespace management and CI/CD approach. We need a generalized Data Governance infrastructure that keeps all events in physical spacetime accountable.


Goal The foremost goal of the PKC DevOps practice is to ensure composability in all three levels, Data Content, in Collaborative Workflow, and in Deployment Infrastructures.
  1. At every stage, make sure all the software or hardware requirements are met, and tries to install or instruct the user to do the right thing using IaC tools.
  2. Lower the entry-barrier for digitized value production and exchange workflow.
  3. Allow for a secure and user-friendly Pull Request for all kinds of DevOps workflows.
  4. Create a PKC namespace that is sound, precise, and terminable by each development cycle.


Success Criteria
  1. Minimize manual edits
  2. Maximize DevOps automation and adopt Semantic Versioning
  3. Standardize default UI
Concrete Implementation
Given Inputs When Process is executed... Then, we get Outputs
  1. Specify a PKC namespace
  2. PKC Dependent Data Repositories
    1. PKC Dependent Source Code Repositories
  3. Human Resources for PKC Development
    1. PKC User Community
  4. PKC Design Orientation and Design Pattern Guidelines
    1. Written in PKC and deployed as the base PKC mountPoint tar ball.
  5. Standardised Mount Directory for Extension Development
    1. MountPoint Hierarchy Rules
    2. Data verification with Data Accounting Extension
  6. UI Specification
    1. Load skins/Medik
    2. Set Medik default values
    3. Evolve CSS/Common.js
  7. Default PKC RBAC Configurations
    1. LocalSetting.php options
    2. Define standard User Types
    3. Provide standard procedure for Admin right access
  1. Installing Procedure
    1. Define Ansible Roles for the Installation
    2. Docker Installation
    3. Kubernetes-based Installation
  2. Testing
    1. Unit Testing
    2. Integration Testing
    3. Data Exchange between PKCs
  3. Follow Semantic Versioning Practice to name software and data migration/upgrade activities
    1. Version Control in terms of the whole package
    2. Data Migration Updates
  1. A set of PKC pages on [1] linked from (PKC DevOps) that guides users to install and use PKC.
  2. A Github Project [2], that includes all the required data content that enables anyone to build a running PKC.
  3. A tested and running Github Docker Image, namely xlp0/PKCv that contains features that contains the bare minimum features of PKC and Time Bansemer's Page Verification features, documented in Data Accounting Extension
  4. Use Ansible to conduct installation and execution for Mac, Linux, and Windows
    1. Addon installation automated by PKC Installation Playbook
  5. Packages for AddOn
    1. Composer enabled
Boundary/Safety Conditions of PKC DevOps
  1. MediaWiki no-longer a viable software platform for value creation and value exchange
  2. Other new technologies replaces MediaWiki or PKC