Browse Source

Merge pull request #3 from nflondo/feature/update-readme-create-dirs

Adding dirs and mods to readme
Nefi Munoz 2 years ago
parent
commit
04bd1471e7
5 changed files with 109 additions and 205 deletions
  1. 109 205
      README.md
  2. 0 0
      assets/suse/test
  3. 0 0
      charts/suse/test-chart
  4. 0 0
      packages/suse/test
  5. 0 0
      scripts/test

+ 109 - 205
README.md

@@ -1,206 +1,110 @@
-# Certified Partner Rancher Extensions
+# Partner Extensions
-
+
+This repository is reserved for Rancher Extensions created by Rancher Partners.  Extensions were introduced with Rancher 2.7.0. 
-
+
-### 1. Definition:
+The "Tested & Certified -- Rancher Extension" certification is part of the SUSE "Tested & Certified" product certification framework and it aims to address the growing need for a standardized, high-quality, and reliable ecosystem of Rancher Extensions that augment the capabilities of the Rancher by SUSE platform.
-
+
- Rancher Extensions are designed to enhance and expand the
+## Requirements
- functionality of Rancher, enabling partners to develop and integrate
+
- innovative features while ensuring seamless compatibility with the
+* Charts must be Helm 3 compatible.
- core platform. 
-
- The "Tested & Certified -- Rancher Extension" certification is part of
- the SUSE "Tested & Certified" product certification framework and it
- aims to address the growing need for a standardized, high-quality, and
- reliable ecosystem of [Rancher
- Extensions](https://rancher.github.io/dashboard/extensions/introduction)
- that augment the capabilities of the [Rancher by
- SUSE](https://www.rancher.com/products/rancher) platform.
- This guide provides step-by-step instructions for [SUSE
- partners](https://www.suse.com/partners/) on how to
- certify their Rancher Extensions developed for use with Rancher. 
-
-  
-
- The rationale behind the Rancher Extensions certification is to
- establish a set of guidelines, best practices, and validation
- processes that partners can follow to guarantee the quality,
- compatibility, and reliability of their Rancher Extensions. By
- adhering to the certification criteria, partners demonstrate their
- commitment to maintaining the high standards expected within the
- Rancher ecosystem. This certification process also encourages
- innovation and collaboration among partners, fostering a vibrant and
- growing ecosystem of Rancher Extensions that can cater to a wide range
- of use cases and customer needs. 
-
-  
-
- Furthermore, the Rancher Extensions certification helps build trust
- and recognition among customers by providing a clear indication of
- which Rancher Extensions have been thoroughly vetted and endorsed by
- SUSE. This assurance allows customers to make more informed decisions
- when selecting Rancher Extensions to deploy in their Rancher
- environments. 
-
-  
-
-<ins> _The "Tested & Certified -- Rancher Extension" certification aims
-to:_ </ins> 
-
--   _Ensure Compatibility:_ This certification verifies that Rancher
-     Extensions developed by SUSE partners are fully compatible with
-     the Rancher platform, facilitating seamless integration and
-     reducing the likelihood of conflicts or issues. 
-
--   _Maintain Quality Standards:_ The Rancher Extensions certification
-     ensures that certified extensions adhere to best practices and
-     meet the quality standards set forth by SUSE and the Rancher
-     community, providing a consistent and reliable user experience. 
-
--   _Foster Innovation:_ By encouraging the development of certified
-     Rancher Extensions, this certification promotes innovation and the
-     continuous improvement of the Rancher ecosystem. 
-
--   _Simplify Deployment and Management:_ The certification process
-     validates that Rancher Extensions can be easily deployed, managed,
-     and updated within the Rancher platform, offering a streamlined
-     experience for partners and end-users. 
-
--   _Support:_ Partners with certified Rancher Extensions are expected
-     to maintain and support their extensions, ensuring that Rancher
-     customers have access to expert assistance when needed. 
-
--   _Build Trust and Recognition:_ The Rancher Extensions
-     certification serves as a mark of quality and trust, demonstrating
-     to customers that the certified extension meets industry standards
-     and is backed by SUSE\'s endorsement. 
-
-  
-
- By obtaining the "Tested & Certified -- Rancher Extension"
- certification, partners can showcase their commitment to delivering
- high-quality, innovative, and reliable Rancher Extensions, while
- benefiting from the comprehensive product certification framework
- within the [SUSE One Partner
- Program](https://www.suse.com/partners/). 
-
-
-### 2.  Certification Prerequisites:
-
-
-1.  A Kubernetes cluster running Rancher by SUSE -- check out
-         [K3s](https://k3s.io/) and
-         [RKE2](https://docs.rke2.io/) if you haven't picked
-         a Kubernetes distribution yet 
-    
     
     
-2.  Familiarity with
+
-         [Kubernetes](https://kubernetes.io/docs/home/),
+* Chart must be in a hosted [Helm](https://helm.sh/docs/topics/chart_repository/) or Git repository that we can reference.
-         [Rancher](https://ranchermanager.docs.rancher.com/),
+
-        and [Rancher
+
-         UI](https://rancher.github.io/dashboard/home)
+## Workflow
-         concepts -- check out the [Rancher
+
-         Academy](https://www.rancher.academy/) on latest
+#### 1. Fork the [Partner Extensions](https://github.com/rancher/partner-charts/) repository, clone your fork, checkout the **main** branch and pull the latest changes. 
-         free, community training for Kubernetes & Rancher 
+Then create a new branch off of main
-
+
+#### 2. Create subdirectories in `packages` in the form of `<vendor>/<chart>`
-
+```bash
-### 3. Certification Testing:
+cd partner-charts
-1. All certification testing on latest stable release of Rancher 
+mkdir -p packages/suse/kubewarden-controller
-2. All certification testing done against latest supported
+
-     version of RKE2 and/or K3s 
+```
-
+#### 3. Create your [upstream.yaml](#configuration-file) in `packages/<vendor>/<chart>`
+
-
+The tool reads a configuration yaml, `upstream.yaml`, to know where to fetch the upstream chart. This file is also able to define any alterations for valid variables in the Chart.yaml as described by [Helm](https://helm.sh/docs/topics/charts/#the-chartyaml-file).
-### 4. Certification Workflow 
+
-
+Some [example upstream.yaml](#examples) are provided below
-
+```bash
-1.  <ins>Prepare for Certification:</ins> Complete the general and
+cat <<EOF > packages/suse/kubewarden-controller/upstream.yaml
-           Rancher Extensions-specific certification prerequisites to ensure
+HelmRepo: https://charts.kubewarden.io
-           that the extension is ready for the certification process. 
+HelmChart: kubewarden-controller
-      
+Vendor: SUSE
-      
+DisplayName: Kubewarden Controller
-     -  _Review Rancher Extension Guidelines:_ Thoroughly study the
+ChartMetadata:  
-                [official Rancher Extensions
+  icon: https://www.kubewarden.io/images/icon-kubewarden.svg
-                documentation](https://rancher.github.io/dashboard/extensions/introduction)
+EOF
-                and ensure that the extension adheres to the guidelines and best
+```
-                practices outlined, including proper use of Rancher APIs, UI
+#### 4. Commit your packages directory
-                components, and other platform-specific features. 
+```bash
-           
+git add packages/suse/kubewarden-controller
-           
+git commit -m "Submitting suse/kubewarden-controller"
-     -  _Integration Testing:_ Conduct integration testing to ensure the
+```
-                Rancher Extension works seamlessly with the core Rancher platform
+#### 6. Test your configuration
-                and other certified Rancher Extensions (where applicable) 
+1. In Rancher UI > Extensions > Kebab menu (3 dot) > Manage repositories, add your github repository
-           
+2. Go to Hamburger menu > Extensions and your extension should be listed under "Available." Install the extension
-           
+#### 7. Push your commit
-     -  _Security and Compliance:_ Ensure that the Rancher Extension
+```bash
-                complies with relevant security standards and guidelines,
+git push origin <your_branch>
-                safeguarding customer data and maintaining the security of the
+```
-                overall Rancher environment. 
+#### 8. Open a pull request to **main** branch
-           
+
-           
+## Configuration File
-     -  _Performance and Scalability:_ Validate that the Rancher Extension
+
-                performs efficiently and effectively under various workloads, and
+Options for `upstream.yaml`
-                can scale as needed to support larger deployments. 
+| Variable | Requires | Description |
-           
+| ------------- | ------------- |------------- |
-           
+| AutoInstall | | Allows setting a required additional chart to deploy prior to current chart, such as a dedicated CRDs chart
-     -  _Extension Documentation:_ Prepare thorough documentation for the
+| ChartMetadata | | Allows setting/overriding the value of any valid [Chart.yaml variable](https://helm.sh/docs/topics/charts/#the-chartyaml-file)
-                Rancher Extension, detailing installation, configuration, usage,
+| DisplayName | | Sets the name the chart will be listed under in the Rancher UI
-                and troubleshooting, as well as any Rancher-specific
+| Experimental | | Adds the 'experimental' annotation which adds a flag on the UI entry
-                considerations. 
+| Fetch | HelmChart, HelmRepo | Selects set of charts to pull from upstream.<br />- **latest** will pull only the latest chart version *default*<br />- **newer** will pull all newer versions than currently stored<br />- **all** will pull all versions
+| GitBranch | GitRepo | Defines which branch to pull from the upstream GitRepo
-           
+| GitHubRelease | GitRepo | If true, will pull latest GitHub release from repo. Requires GitHub URL
-2.  <ins>Submit Request:</ins> Submit a certification request to
+| GitRepo | | Defines the git repo to pull from
-           SUSE, providing necessary details about the Rancher Extension,
+| GitSubdirectory | GitRepo | Allows selection of a subdirectory of the upstream git repo to pull the chart from
-           including documentation, compatibility information, and any other
+| HelmChart | HelmRepo | Defines which chart to pull from the upstream Helm repo
-           relevant materials. 
+| HelmRepo | HelmChart | Defines the upstream Helm repo to pull from
-      
+| Hidden | | Adds the 'hidden' annotation which hides the chart from the Rancher UI
-        
+| Namespace | | Addes the 'namespace' annotation which hard-codes a deployment namespace for the chart
-      
+| PackageVersion | | Used to generate new patch version of chart
-3.  <ins>Initial Review:</ins> SUSE will conduct an initial review of
+| ReleaseName | | Sets the value of the release-name Rancher annotation. Defaults to the chart name
-           the submitted materials, evaluating the extension\'s adherence to
+| TrackVersions | HelmChart, HelmRepo | Allows selection of multiple *Major.Minor* versions to track from upstream independently.
-           guidelines, best practices, and compatibility with Rancher. SUSE
+| Vendor | | Sets the vendor name providing the chart
-           may request additional information or clarifications at this
+
-           stage. 
+## Examples
-      
+### Helm Repo
-        
+#### Minimal Requirements
-      
+```yaml
-4.  <ins>Certification Testing:</ins> Upon passing the initial
+HelmRepo: https://charts.kubewarden.io
-           review, the Rancher Extension will undergo a series of
+HelmChart: kubewarden-controller
-           certification tests by SUSE to validate functionality,
+Vendor: SUSE
-           compatibility, performance, security, and other relevant aspects. 
+DisplayName: Kubewarden Controller
-      
+```
-        
+
-      
+### Git Repo
-5.  <ins>Address Issues:</ins> If any issues are identified during
+```yaml
-           the certification testing, partners must address these issues and
+GitRepo: https://github.com/kubewarden/helm-charts.git
-           resubmit the extension for retesting until it passes all the
+GitBranch: main
-           necessary certification tests. 
+GitSubdirectory: charts/kubewarden-controller
-      
+Vendor: SUSE
-        
+DisplayName: Kubewarden Controller
-      
+ChartMetadata:
-6.  <ins>Certification Approval:</ins> Once the Rancher Extension
+  kubeVersion: '>=1.21-0'
-           passes all certification tests, SUSE will grant the Rancher
+  icon: https://www.kubewarden.io/images/icon-kubewarden.svg
-           Extensions certification and provide the partner with a
+```
-           certification badge that can be displayed on their website,
+
-           product materials, and other marketing collateral.  Your Rancher
+### GitHub Release
-           Extension certification will be also listed in the [SUSE Partner
+```yaml
-           Certification and Solutions Catalog
+GitRepo: https://github.com/kubewarden/helm-charts.git
-           (PCSC)](https://www.suse.com/susePSC/home) 
+GitHubRelease: true
-      
+GitSubdirectory: charts/kubewarden-controller
-        
+Vendor: SUSE
-      
+DisplayName: Kubewarden Controller
-7.  <ins>Continuous Maintenance:</ins> After receiving the
+ChartMetadata:
-           certification, partners must continuously maintain and update
+  kubeVersion: '>=1.21-0'
-           their Rancher Extension to ensure ongoing compatibility with
+  icon: https://www.kubewarden.io/images/icon-kubewarden.svg
-           Rancher updates and compliance with the certification criteria. 
+```
-      
-        
-      
-8.  <ins>Recertification:</ins> Partners may need to go through a
-           recertification process if significant updates are made to the
-           extension or if new versions of Rancher are released that may
-           impact compatibility. SUSE will provide guidelines on when
-           recertification is necessary. 
-      

+ 0 - 0
assets/suse/test


+ 0 - 0
charts/suse/test-chart


+ 0 - 0
packages/suse/test


+ 0 - 0
scripts/test