Skip to content

Commit

Permalink
Add ace-ocm-addons chart
Browse files Browse the repository at this point in the history
Signed-off-by: Tamal Saha <[email protected]>
  • Loading branch information
tamalsaha committed Nov 14, 2023
1 parent f66655d commit 84ebfb2
Show file tree
Hide file tree
Showing 16 changed files with 764 additions and 0 deletions.
61 changes: 61 additions & 0 deletions apis/installer/v1alpha1/ace_ocm_addons.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/*
Copyright AppsCode Inc. and Contributors
Licensed under the AppsCode Community License 1.0.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://github.com/appscode/licenses/raw/1.0.0/AppsCode-Community-1.0.0.md
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package v1alpha1

import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"kmodules.xyz/resource-metadata/apis/shared"
)

const (
ResourceKindAceOcmAddons = "AceOcmAddons"
ResourceAceOcmAddons = "aceocmaddons"
ResourceAceOcmAddonss = "aceocmaddonss"
)

// AceOcmAddons defines the schama for AceOcmAddons Installer.

// +genclient
// +genclient:skipVerbs=updateStatus
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

// +kubebuilder:object:root=true
// +kubebuilder:resource:path=aceocmaddonss,singular=aceocmaddons,categories={kubeops,appscode}
type AceOcmAddons struct {
metav1.TypeMeta `json:",inline,omitempty"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AceOcmAddonsSpec `json:"spec,omitempty"`
}

// AceOcmAddonsSpec is the schema for AceOcmAddons Operator values file
type AceOcmAddonsSpec struct {
NameOverride string `json:"nameOverride"`
FullnameOverride string `json:"fullnameOverride"`

shared.BootstrapPresets `json:",inline,omitempty"`
}

// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

// AceOcmAddonsList is a list of AceOcmAddonss
type AceOcmAddonsList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
// Items is a list of AceOcmAddons CRD objects
Items []AceOcmAddons `json:"items,omitempty"`
}
2 changes: 2 additions & 0 deletions apis/installer/v1alpha1/register.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&AceList{},
&AceInstaller{},
&AceInstallerList{},
&AceOcmAddons{},
&AceOcmAddonsList{},
&Billing{},
&BillingList{},
&BillingUi{},
Expand Down
1 change: 1 addition & 0 deletions apis/installer/v1alpha1/types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ func TestDefaultValues(t *testing.T) {
checker := sc.New(os.DirFS("../../.."),
sc.TestCase{Obj: v1alpha1.AccountsUiSpec{}},
sc.TestCase{Obj: v1alpha1.AceInstallerSpec{}},
sc.TestCase{Obj: v1alpha1.AceOcmAddonsSpec{}},
sc.TestCase{Obj: v1alpha1.AceSpec{}},
sc.TestCase{Obj: v1alpha1.BillingSpec{}},
sc.TestCase{Obj: v1alpha1.BillingUiSpec{}},
Expand Down
74 changes: 74 additions & 0 deletions apis/installer/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 23 additions & 0 deletions charts/ace-ocm-addons/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
13 changes: 13 additions & 0 deletions charts/ace-ocm-addons/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: v2
name: ace-ocm-addons
description: A Helm chart for ACE OCM Addons
type: application
version: v2023.10.18
appVersion: v2023.10.18
home: https://github.com/bytebuilders
icon: https://cdn.appscode.com/images/products/kubeops/icons/android-icon-192x192.png
sources:
- https://github.com/bytebuilders/installer
maintainers:
- name: appscode
email: [email protected]
80 changes: 80 additions & 0 deletions charts/ace-ocm-addons/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# ACE OCM Addons

[ACE OCM Addons](https://github.com/bytebuilders/installer) - ACE OCM Addons

## TL;DR;

```bash
$ helm repo add appscode https://charts.appscode.com/stable
$ helm repo update
$ helm search repo appscode/ace-ocm-addons --version=v2023.10.18
$ helm upgrade -i ace-ocm-addons appscode/ace-ocm-addons -n open-cluster-management --create-namespace --version=v2023.10.18
```

## Introduction

This chart deploys charts for ACE OCM Addons on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.

## Prerequisites

- Kubernetes 1.21+

## Installing the Chart

To install/upgrade the chart with the release name `ace-ocm-addons`:

```bash
$ helm upgrade -i ace-ocm-addons appscode/ace-ocm-addons -n open-cluster-management --create-namespace --version=v2023.10.18
```

The command deploys charts for ACE OCM Addons on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.

> **Tip**: List all releases using `helm list`
## Uninstalling the Chart

To uninstall the `ace-ocm-addons`:

```bash
$ helm uninstall ace-ocm-addons -n open-cluster-management
```

The command removes all the Kubernetes components associated with the chart and deletes the release.

## Configuration

The following table lists the configurable parameters of the `ace-ocm-addons` chart and their default values.

| Parameter | Description | Default |
|-------------------------------------------|-------------------------|--------------------------------------------|
| nameOverride | | <code>""</code> |
| fullnameOverride | | <code>""</code> |
| offlineInstaller | | <code>false</code> |
| image.proxies.appscode | r.appscode.com | <code>r.appscode.com</code> |
| image.proxies.dockerHub | company/bin:tag | <code>""</code> |
| image.proxies.dockerLibrary | alpine, nginx etc. | <code>""</code> |
| image.proxies.ghcr | ghcr.io/company/bin:tag | <code>ghcr.io</code> |
| image.proxies.quay | quay.io/company/bin:tag | <code>quay.io</code> |
| image.proxies.kubernetes | registry.k8s.io/bin:tag | <code>registry.k8s.io</code> |
| registry.credentials | | <code>{}</code> |
| helm.repositories.appscode-charts-oci.url | | <code>oci://ghcr.io/appscode-charts</code> |
| helm.releases.kube-ui-server.enabled | | <code>true</code> |
| helm.releases.kube-ui-server.version | | <code>"v2023.10.1"</code> |
| helm.releases.license-proxyserver.enabled | | <code>true</code> |
| helm.releases.license-proxyserver.version | | <code>"v2023.10.18"</code> |
| helm.releases.opscenter-features.enabled | | <code>true</code> |
| helm.releases.opscenter-features.version | | <code>"v2023.10.18"</code> |


Specify each parameter using the `--set key=value[,key=value]` argument to `helm upgrade -i`. For example:

```bash
$ helm upgrade -i ace-ocm-addons appscode/ace-ocm-addons -n open-cluster-management --create-namespace --version=v2023.10.18 --set image.proxies.appscode=r.appscode.com
```

Alternatively, a YAML file that specifies the values for the parameters can be provided while
installing the chart. For example:

```bash
$ helm upgrade -i ace-ocm-addons appscode/ace-ocm-addons -n open-cluster-management --create-namespace --version=v2023.10.18 --values values.yaml
```
18 changes: 18 additions & 0 deletions charts/ace-ocm-addons/doc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
project:
name: ACE OCM Addons
shortName: ACE OCM Addons
url: https://github.com/bytebuilders/installer
description: ACE OCM Addons
app: charts for ACE OCM Addons
repository:
url: https://charts.appscode.com/stable
name: appscode
chart:
name: ace-ocm-addons
values: -- generate from values file --
valuesExample: -- generate from values file --
prerequisites:
- Kubernetes 1.21+
release:
name: ace-ocm-addons
namespace: open-cluster-management
3 changes: 3 additions & 0 deletions charts/ace-ocm-addons/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
To verify that ACE OCM addons are setup correctly, run:

kubectl get placement,manifestworkreplicaset -n open-cluster-management-addon
Loading

0 comments on commit 84ebfb2

Please sign in to comment.