瀏覽代碼

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

Adding dirs and mods to readme
Nefi Munoz 2 年之前
父節點
當前提交
04bd1471e7
共有 5 個文件被更改,包括 109 次插入205 次删除
  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
-
-
-### 1. Definition:
-
- Rancher Extensions are designed to enhance and expand the
- functionality of Rancher, enabling partners to develop and integrate
- innovative features while ensuring seamless compatibility with the
- 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 
-    
+# Partner Extensions
+
+This repository is reserved for Rancher Extensions created by Rancher Partners.  Extensions were introduced with Rancher 2.7.0. 
+
+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.
+
+## Requirements
+
+* Charts must be Helm 3 compatible.
     
-2.  Familiarity with
-         [Kubernetes](https://kubernetes.io/docs/home/),
-         [Rancher](https://ranchermanager.docs.rancher.com/),
-        and [Rancher
-         UI](https://rancher.github.io/dashboard/home)
-         concepts -- check out the [Rancher
-         Academy](https://www.rancher.academy/) on latest
-         free, community training for Kubernetes & Rancher 
-
-
-### 3. Certification Testing:
-1. All certification testing on latest stable release of Rancher 
-2. All certification testing done against latest supported
-     version of RKE2 and/or K3s 
-
-
-### 4. Certification Workflow 
-
-
-1.  <ins>Prepare for Certification:</ins> Complete the general and
-           Rancher Extensions-specific certification prerequisites to ensure
-           that the extension is ready for the certification process. 
-      
-      
-     -  _Review Rancher Extension Guidelines:_ Thoroughly study the
-                [official Rancher Extensions
-                documentation](https://rancher.github.io/dashboard/extensions/introduction)
-                and ensure that the extension adheres to the guidelines and best
-                practices outlined, including proper use of Rancher APIs, UI
-                components, and other platform-specific features. 
-           
-           
-     -  _Integration Testing:_ Conduct integration testing to ensure the
-                Rancher Extension works seamlessly with the core Rancher platform
-                and other certified Rancher Extensions (where applicable) 
-           
-           
-     -  _Security and Compliance:_ Ensure that the Rancher Extension
-                complies with relevant security standards and guidelines,
-                safeguarding customer data and maintaining the security of the
-                overall Rancher environment. 
-           
-           
-     -  _Performance and Scalability:_ Validate that the Rancher Extension
-                performs efficiently and effectively under various workloads, and
-                can scale as needed to support larger deployments. 
-           
-           
-     -  _Extension Documentation:_ Prepare thorough documentation for the
-                Rancher Extension, detailing installation, configuration, usage,
-                and troubleshooting, as well as any Rancher-specific
-                considerations. 
-           
-2.  <ins>Submit Request:</ins> Submit a certification request to
-           SUSE, providing necessary details about the Rancher Extension,
-           including documentation, compatibility information, and any other
-           relevant materials. 
-      
-        
-      
-3.  <ins>Initial Review:</ins> SUSE will conduct an initial review of
-           the submitted materials, evaluating the extension\'s adherence to
-           guidelines, best practices, and compatibility with Rancher. SUSE
-           may request additional information or clarifications at this
-           stage. 
-      
-        
-      
-4.  <ins>Certification Testing:</ins> Upon passing the initial
-           review, the Rancher Extension will undergo a series of
-           certification tests by SUSE to validate functionality,
-           compatibility, performance, security, and other relevant aspects. 
-      
-        
-      
-5.  <ins>Address Issues:</ins> If any issues are identified during
-           the certification testing, partners must address these issues and
-           resubmit the extension for retesting until it passes all the
-           necessary certification tests. 
-      
-        
-      
-6.  <ins>Certification Approval:</ins> Once the Rancher Extension
-           passes all certification tests, SUSE will grant the Rancher
-           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
-           Extension certification will be also listed in the [SUSE Partner
-           Certification and Solutions Catalog
-           (PCSC)](https://www.suse.com/susePSC/home) 
-      
-        
-      
-7.  <ins>Continuous Maintenance:</ins> After receiving the
-           certification, partners must continuously maintain and update
-           their Rancher Extension to ensure ongoing compatibility with
-           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. 
-      
+
+* Chart must be in a hosted [Helm](https://helm.sh/docs/topics/chart_repository/) or Git repository that we can reference.
+
+
+## Workflow
+
+#### 1. Fork the [Partner Extensions](https://github.com/rancher/partner-charts/) repository, clone your fork, checkout the **main** branch and pull the latest changes. 
+Then create a new branch off of main
+
+#### 2. Create subdirectories in `packages` in the form of `<vendor>/<chart>`
+```bash
+cd partner-charts
+mkdir -p packages/suse/kubewarden-controller
+
+```
+#### 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).
+
+Some [example upstream.yaml](#examples) are provided below
+```bash
+cat <<EOF > packages/suse/kubewarden-controller/upstream.yaml
+HelmRepo: https://charts.kubewarden.io
+HelmChart: kubewarden-controller
+Vendor: SUSE
+DisplayName: Kubewarden Controller
+ChartMetadata:  
+  icon: https://www.kubewarden.io/images/icon-kubewarden.svg
+EOF
+```
+#### 4. Commit your packages directory
+```bash
+git add packages/suse/kubewarden-controller
+git commit -m "Submitting suse/kubewarden-controller"
+```
+#### 6. Test your configuration
+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
+```bash
+git push origin <your_branch>
+```
+#### 8. Open a pull request to **main** branch
+
+## Configuration File
+
+Options for `upstream.yaml`
+| Variable | Requires | Description |
+| ------------- | ------------- |------------- |
+| AutoInstall | | Allows setting a required additional chart to deploy prior to current chart, such as a dedicated CRDs chart
+| ChartMetadata | | Allows setting/overriding the value of any valid [Chart.yaml variable](https://helm.sh/docs/topics/charts/#the-chartyaml-file)
+| DisplayName | | Sets the name the chart will be listed under in the Rancher UI
+| Experimental | | Adds the 'experimental' annotation which adds a flag on the UI entry
+| 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
+| GitRepo | | Defines the git repo to pull from
+| GitSubdirectory | GitRepo | Allows selection of a subdirectory of the upstream git repo to pull the chart from
+| HelmChart | HelmRepo | Defines which chart to pull from the upstream Helm repo
+| 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
+| ReleaseName | | Sets the value of the release-name Rancher annotation. Defaults to the chart name
+| TrackVersions | HelmChart, HelmRepo | Allows selection of multiple *Major.Minor* versions to track from upstream independently.
+| Vendor | | Sets the vendor name providing the chart
+
+## Examples
+### Helm Repo
+#### Minimal Requirements
+```yaml
+HelmRepo: https://charts.kubewarden.io
+HelmChart: kubewarden-controller
+Vendor: SUSE
+DisplayName: Kubewarden Controller
+```
+
+### Git Repo
+```yaml
+GitRepo: https://github.com/kubewarden/helm-charts.git
+GitBranch: main
+GitSubdirectory: charts/kubewarden-controller
+Vendor: SUSE
+DisplayName: Kubewarden Controller
+ChartMetadata:
+  kubeVersion: '>=1.21-0'
+  icon: https://www.kubewarden.io/images/icon-kubewarden.svg
+```
+
+### GitHub Release
+```yaml
+GitRepo: https://github.com/kubewarden/helm-charts.git
+GitHubRelease: true
+GitSubdirectory: charts/kubewarden-controller
+Vendor: SUSE
+DisplayName: Kubewarden Controller
+ChartMetadata:
+  kubeVersion: '>=1.21-0'
+  icon: https://www.kubewarden.io/images/icon-kubewarden.svg
+```

+ 0 - 0
assets/suse/test


+ 0 - 0
charts/suse/test-chart


+ 0 - 0
packages/suse/test


+ 0 - 0
scripts/test