Merge pull request #40 from aiyengar2/update-main

Remove everything except assets and index
pull/42/head
aiyengar2 2020-09-23 13:04:36 -07:00 committed by GitHub
commit 5d6652b456
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
66 changed files with 2 additions and 3581 deletions

View File

@ -1,15 +0,0 @@
name: CI-pullrequest
on:
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Validate
run: sudo make validate

View File

@ -1,19 +0,0 @@
name: CI-push
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run CI scripts
run: |-
sudo make ci
- uses: stefanzweifel/git-auto-commit-action@v4.1.1
with:
commit_message: Generated changes

2
.gitignore vendored
View File

@ -1,2 +0,0 @@
/packages/**/charts-original
/.idea

View File

@ -1,26 +0,0 @@
ci: bootstrap
./scripts/ci
prepare: bootstrap
./scripts/prepare
bootstrap:
./scripts/bootstrap
charts: bootstrap prepare
./scripts/generate-charts
patch: bootstrap
./scripts/generate-patch
validate: bootstrap
./scripts/validate
mirror: bootstrap
./scripts/image-mirror
clean:
./scripts/clean
.DEFAULT_GOAL := ci

127
README.md
View File

@ -1,126 +1,3 @@
# partner-charts
# Asset Branch
This is an experimental project to automate system charts and adding overlays files on top of it.
Charts will have two categories:
1. Charts that Rancher created and maintained (**Rancher original**).
2. Charts that Rancher modified from upstream (**Rancher modified**).
**Rancher original** chart is created and maintained by Rancher Team, such as rancher-cis-benchmark, rancher-k3s-upgrader.
**Rancher modified** chart is modified from upstream chart, while there are customizations added into the upstream chart from rancher side.
For **Rancher original** charts, it should have the following tree structure
```text
packages/${CHART_NAME}/
charts/ # regular helm chart directory
templates/
Chart.yaml
values.yaml
```
For **Rancher modified** charts, it should have the following tree structure
```text
packages/${CHART_NAME}/
package.yaml # metadata manifest containing upstream chart location, package version
${CHART_NAME}.patch # patch file containing the diff between modified chart and upstream
overlay/* # overlay files that needs to added on top of upstream, for example, questions.yaml
```
A regular `package.yaml` will have the following content:
```yaml
url: https://charts.bitnami.com/bitnami/external-dns-2.20.10.tgz # url to fetch upstream chart
packageVersion: 00 # packageVersion of modified charts, producing a $version-$packageVersion chart. For example, if istio 1.4.7 is modified with changes, rancher produces a 1.4.700 chart version that includes the modification rancher made on top of upstream charts.
```
Here is an example of upstream chart based on git repository
```yaml
url: https://github.com/open-policy-agent/gatekeeper.git # Url to fetch upstream chart from git
subdirectory: chart/gatekeeper-operator # Sub directory for helm charts in git repo
type: git # optinal, indicate that upstream chart is from git
commit: v3.1.0-beta.8 # the revision of git repo
packageVersion: 00 # package version
```
### Example
Todo: Add example
### Workflow
Modifying **Rancher original** charts is the same workflow as modifying helm charts. First make changes into `charts/` and commit changes. CI will automatically upload artifacts if file contents have been changed.
Modifying **Rancher modified** takes extra steps, as it requires modifications to be saved into patch files so that later it can retrieve the chart based on upstream chart and patch files.
The step includes:
1. Run `make CHART={CHART_NAME} prepare`
This prepares `charts` with the current upstream chart and current patch.
2. Change the version in `package.yaml`. If upstream chart needs to be updated, update url to point the latest chart. `packageVersion` also needs to updated.
3. Make modification to your charts.
4. Run `make CHART={CHART_NAME} patch`
This will compare your current chart with upstream chart and generate the correct patch.
5. Run `make CHART={CHART_NAME} clean`
This will clean up the `charts` directory so that it won't committed.
This repo provides a [workflow](./.github/workflows) that automatically uploads patch files and tarball of charts. Commit will only need to update `package/${chart-name}/charts` and make sure patches are
up-to-date with the latest chart. It also automatically build github pages to serve `index.yaml` and artifacts of charts.
### Override existing Chart
By defauly CI script doesn't allow changes to be made against existing chart. In order to make changes you have to bump chart version. There is a backdoor method to make changes to your existing chart without having to bump version. You can delete the tar.gz file you want to override and commit the change. Here is an example of [commit](https://github.com/rancher/dev-charts/commit/8be888076487e23a24121a532d25b9bf9ea936f3).
### Helm repo index
To add this repo as a helm repo, run
```text
helm repo add ${repo_name} https://partner-charts.rancher.io
```
To use a forked version of this chart repo, you can try either of these:
1. If you just need to test chart tar.gz file, you can run `make CHART=${name} charts` to generate tar.gz files. It will be generated under `docs/${chart_name}`.
2. You can also setup github page to serve your tar.gz files on your forked repo. Github pages usually requires you to have this set up on [specific branches](https://help.github.com/en/github/working-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#choosing-a-publishing-source).
3. You can directly add `https://github.com/rancher/partner-charts` into rancher catalog. In order to show all the charts you have to run `make CHART=${chart_name} prepare` and make sure there is `chart-original` folder on each chart folder if your chart relies on a upstream chart.
### Makefile
`make bootstrap`:
Download binaries that are needed for ci scripts.
`make prepare`:
Prepare the chart for modification. This will apply the upstream chart with the current patch. Use `CHART=${NAME}` for specific chart.
`make charts`:
Generate tarball for each charts. Use `CHART=${NAME}` for specific chart.
`make patch`:
Compare the current chart with upstream and generate patch file. Use `CHART=${NAME}` for specific chart.
`make validate`:
Validate if patch file can be applied.
`make mirror`:
Run image mirroring scripts.(Experimental)
This branch is auto-generated from main-source branch, please open PRs to main-source.

View File

@ -1,10 +0,0 @@
diff -x '*.tgz' -x '*.lock' -uNr packages/artifactory-ha/charts-original/Chart.yaml packages/artifactory-ha/charts/Chart.yaml
--- packages/artifactory-ha/charts-original/Chart.yaml
+++ packages/artifactory-ha/charts/Chart.yaml
@@ -24,3 +24,6 @@
- https://bintray.com/jfrog/product/JFrog-Artifactory-Pro/view
- https://github.com/jfrog/charts
version: 3.0.14
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: artifactory-ha

View File

@ -1,16 +0,0 @@
# JFrog Artifactory High Availability Helm Chart
Universal Repository Manager supporting all major packaging formats, build tools and CI servers.
## Chart Details
This chart will do the following:
* Deploy Artifactory highly available cluster. 1 primary node and 2 member nodes.
* Deploy a PostgreSQL database
* Deploy an Nginx server(optional)
## Useful links
Blog: [Herd Trust Into Your Rancher Labs Multi-Cloud Strategy with Artifactory](https://jfrog.com/blog/herd-trust-into-your-rancher-labs-multi-cloud-strategy-with-artifactory/)
## Activate Your Artifactory Instance
Don't have a license? Please send an email to [rancher-jfrog-licenses@jfrog.com](mailto:rancher-jfrog-licenses@jfrog.com) to get it.

View File

@ -1,424 +0,0 @@
questions:
# Advance Settings
- variable: artifactory.masterKey
default: "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
description: "Artifactory master key. For security reasons, we strongly recommend you generate your own master key using this command: 'openssl rand -hex 32'"
type: string
label: Artifactory master key
group: "Security Settings"
# Container Images
- variable: defaultImage
default: true
description: "Use default Docker image"
label: Use Default Image
type: boolean
show_subquestion_if: false
group: "Container Images"
subquestions:
- variable: initContainerImage
default: "docker.bintray.io/alpine:3.12"
description: "Init image name"
type: string
label: Init image name
- variable: artifactory.image.repository
default: "docker.bintray.io/jfrog/artifactory-pro"
description: "Artifactory image name"
type: string
label: Artifactory Image Name
- variable: artifactory.image.version
default: "7.6.3"
description: "Artifactory image tag"
type: string
label: Artifactory Image Tag
- variable: nginx.image.repository
default: "docker.bintray.io/jfrog/nginx-artifactory-pro"
description: "Nginx image name"
type: string
label: Nginx Image Name
- variable: nginx.image.version
default: "7.6.3"
description: "Nginx image tag"
type: string
label: Nginx Image Tag
- variable: imagePullSecrets
description: "Image Pull Secret"
type: string
label: Image Pull Secret
# Services and LoadBalancing Settings
- variable: artifactory.node.replicaCount
default: "2"
description: "Number of Secondary Nodes"
type: string
label: Number of Secondary Nodes
show_subquestion_if: true
group: "Services and Load Balancing"
- variable: ingress.enabled
default: false
description: "Expose app using Layer 7 Load Balancer - ingress"
type: boolean
label: Expose app using Layer 7 Load Balancer
show_subquestion_if: true
group: "Services and Load Balancing"
required: true
subquestions:
- variable: ingress.hosts[0]
default: "xip.io"
description: "Hostname to your artifactory installation"
type: hostname
required: true
label: Hostname
# Nginx Settings
- variable: nginx.enabled
default: true
description: "Enable nginx server"
type: boolean
label: Enable Nginx Server
group: "Services and Load Balancing"
required: true
show_if: "ingress.enabled=false"
- variable: nginx.service.type
default: "LoadBalancer"
description: "Nginx service type"
type: enum
required: true
label: Nginx Service Type
show_if: "nginx.enabled=true&&ingress.enabled=false"
group: "Services and Load Balancing"
options:
- "ClusterIP"
- "NodePort"
- "LoadBalancer"
- variable: nginx.service.loadBalancerIP
default: ""
description: "Provide Static IP to configure with Nginx"
type: string
label: Config Nginx LoadBalancer IP
show_if: "nginx.enabled=true&&nginx.service.type=LoadBalancer&&ingress.enabled=false"
group: "Services and Load Balancing"
- variable: nginx.tlsSecretName
default: ""
description: "Provide SSL Secret name to configure with Nginx"
type: string
label: Config Nginx SSL Secret
show_if: "nginx.enabled=true&&ingress.enabled=false"
group: "Services and Load Balancing"
- variable: nginx.customArtifactoryConfigMap
default: ""
description: "Provide configMap name to configure Nginx with custom `artifactory.conf`"
type: string
label: ConfigMap for Nginx Artifactory Config
show_if: "nginx.enabled=true&&ingress.enabled=false"
group: "Services and Load Balancing"
# Artifactory Storage Settings
- variable: artifactory.persistence.size
default: "50Gi"
description: "Artifactory persistent volume size"
type: string
label: Artifactory Persistent Volume Size
required: true
group: "Artifactory Storage"
- variable: artifactory.persistence.type
default: "file-system"
description: "Artifactory persistent volume size"
type: enum
label: Artifactory Persistent Storage Type
required: true
options:
- "file-system"
- "nfs"
- "google-storage"
- "aws-s3"
group: "Artifactory Storage"
#Storage Type Settings
- variable: artifactory.persistence.nfs.ip
default: ""
type: string
group: "Artifactory Storage"
label: NFS Server IP
description: "NFS server IP"
show_if: "artifactory.persistence.type=nfs"
- variable: artifactory.persistence.nfs.haDataMount
default: "/data"
type: string
label: NFS Data Directory
description: "NFS data directory"
group: "Artifactory Storage"
show_if: "artifactory.persistence.type=nfs"
- variable: artifactory.persistence.nfs.haBackupMount
default: "/backup"
type: string
label: NFS Backup Directory
description: "NFS backup directory"
group: "Artifactory Storage"
show_if: "artifactory.persistence.type=nfs"
- variable: artifactory.persistence.nfs.dataDir
default: "/var/opt/jfrog/artifactory-ha"
type: string
label: HA Data Directory
description: "HA data directory"
group: "Artifactory Storage"
show_if: "artifactory.persistence.type=nfs"
- variable: artifactory.persistence.nfs.backupDir
default: "/var/opt/jfrog/artifactory-backup"
type: string
label: HA Backup Directory
description: "HA backup directory "
group: "Artifactory Storage"
show_if: "artifactory.persistence.type=nfs"
- variable: artifactory.persistence.nfs.capacity
default: "200Gi"
type: string
label: NFS PVC Size
description: "NFS PVC size "
group: "Artifactory Storage"
show_if: "artifactory.persistence.type=nfs"
#Google storage settings
- variable: artifactory.persistence.googleStorage.bucketName
default: "artifactory-ha-gcp"
type: string
label: Google Storage Bucket Name
description: "Google storage bucket name"
group: "Artifactory Storage"
show_if: "artifactory.persistence.type=google-storage"
- variable: artifactory.persistence.googleStorage.identity
default: ""
type: string
label: Google Storage Service Account ID
description: "Google Storage service account id"
group: "Artifactory Storage"
show_if: "artifactory.persistence.type=google-storage"
- variable: artifactory.persistence.googleStorage.credential
default: ""
type: string
label: Google Storage Service Account Key
description: "Google Storage service account key"
group: "Artifactory Storage"
show_if: "artifactory.persistence.type=google-storage"
- variable: artifactory.persistence.googleStorage.path
default: "artifactory-ha/filestore"
type: string
label: Google Storage Path In Bucket
description: "Google Storage path in bucket"
group: "Artifactory Storage"
show_if: "artifactory.persistence.type=google-storage"
# awsS3 storage settings
- variable: artifactory.persistence.awsS3.bucketName
default: "artifactory-ha-aws"
type: string
label: AWS S3 Bucket Name
description: "AWS S3 bucket name"
group: "Artifactory Storage"
show_if: "artifactory.persistence.type=aws-s3"
- variable: artifactory.persistence.awsS3.region
default: ""
type: string
label: AWS S3 Bucket Region
description: "AWS S3 bucket region"
group: "Artifactory Storage"
show_if: "artifactory.persistence.type=aws-s3"
- variable: artifactory.persistence.awsS3.identity
default: ""
type: string
label: AWS S3 AWS_ACCESS_KEY_ID
description: "AWS S3 AWS_ACCESS_KEY_ID"
group: "Artifactory Storage"
show_if: "artifactory.persistence.type=aws-s3"
- variable: artifactory.persistence.awsS3.credential
default: ""
type: string
label: AWS S3 AWS_SECRET_ACCESS_KEY
description: "AWS S3 AWS_SECRET_ACCESS_KEY"
group: "Artifactory Storage"
show_if: "artifactory.persistence.type=aws-s3"
- variable: artifactory.persistence.awsS3.path
default: "artifactory-ha/filestore"
type: string
label: AWS S3 Path In Bucket
description: "AWS S3 path in bucket"
group: "Artifactory Storage"
show_if: "artifactory.persistence.type=aws-s3"
# Database Settings
- variable: postgresql.enabled
default: true
description: "Enable PostgreSQL"
type: boolean
required: true
label: Enable PostgreSQL
group: "Database Settings"
show_subquestion_if: true
subquestions:
- variable: postgresql.postgresqlPassword
default: ""
description: "PostgreSQL password"
type: password
required: true
label: PostgreSQL Password
group: "Database Settings"
show_if: "postgresql.enabled=true"
- variable: postgresql.persistence.size
default: 20Gi
description: "PostgreSQL persistent volume size"
type: string
label: PostgreSQL Persistent Volume Size
show_if: "postgresql.enabled=true"
- variable: postgresql.persistence.storageClass
default: ""
description: "If undefined or null, uses the default StorageClass. Default to null"
type: storageclass
label: Default StorageClass for PostgreSQL
show_if: "postgresql.enabled=true"
- variable: postgresql.resources.requests.cpu
default: "200m"
description: "PostgreSQL initial cpu request"
type: string
label: PostgreSQL Initial CPU Request
show_if: "postgresql.enabled=true"
- variable: postgresql.resources.requests.memory
default: "500Mi"
description: "PostgreSQL initial memory request"
type: string
label: PostgreSQL Initial Memory Request
show_if: "postgresql.enabled=true"
- variable: postgresql.resources.limits.cpu
default: "1"
description: "PostgreSQL cpu limit"
type: string
label: PostgreSQL CPU Limit
show_if: "postgresql.enabled=true"
- variable: postgresql.resources.limits.memory
default: "1Gi"
description: "PostgreSQL memory limit"
type: string
label: PostgreSQL Memory Limit
show_if: "postgresql.enabled=true"
- variable: database.type
default: "postgresql"
description: "xternal database type (postgresql, mysql, oracle or mssql)"
type: enum
required: true
label: External Database Type
group: "Database Settings"
show_if: "postgresql.enabled=false"
options:
- "postgresql"
- "mysql"
- "oracle"
- "mssql"
- variable: database.url
default: ""
description: "External database URL. If you set the url, leave host and port empty"
type: string
label: External Database URL
group: "Database Settings"
show_if: "postgresql.enabled=false"
- variable: database.host
default: ""
description: "External database hostname"
type: string
label: External Database Hostname
group: "Database Settings"
show_if: "postgresql.enabled=false"
- variable: database.port
default: ""
description: "External database port"
type: string
label: External Database Port
group: "Database Settings"
show_if: "postgresql.enabled=false"
- variable: database.user
default: ""
description: "External database username"
type: string
label: External Database Username
group: "Database Settings"
show_if: "postgresql.enabled=false"
- variable: database.password
default: ""
description: "External database password"
type: password
label: External Database Password
group: "Database Settings"
show_if: "postgresql.enabled=false"
# Advance Settings
- variable: advancedOptions
default: false
description: "Show advanced configurations"
label: Show Advanced Configurations
type: boolean
show_subquestion_if: true
group: "Advanced Options"
subquestions:
- variable: artifactory.primary.resources.requests.cpu
default: "500m"
description: "Artifactory primary node initial cpu request"
type: string
label: Artifactory Primary Node Initial CPU Request
- variable: artifactory.primary.resources.requests.memory
default: "1Gi"
description: "Artifactory primary node initial memory request"
type: string
label: Artifactory Primary Node Initial Memory Request
- variable: artifactory.primary.javaOpts.xms
default: "1g"
description: "Artifactory primary node java Xms size"
type: string
label: Artifactory Primary Node Java Xms Size
- variable: artifactory.primary.resources.limits.cpu
default: "2"
description: "Artifactory primary node cpu limit"
type: string
label: Artifactory Primary Node CPU Limit
- variable: artifactory.primary.resources.limits.memory
default: "4Gi"
description: "Artifactory primary node memory limit"
type: string
label: Artifactory Primary Node Memory Limit
- variable: artifactory.primary.javaOpts.xmx
default: "4g"
description: "Artifactory primary node java Xmx size"
type: string
label: Artifactory Primary Node Java Xmx Size
- variable: artifactory.node.resources.requests.cpu
default: "500m"
description: "Artifactory member node initial cpu request"
type: string
label: Artifactory Member Node Initial CPU Request
- variable: artifactory.node.resources.requests.memory
default: "2Gi"
description: "Artifactory member node initial memory request"
type: string
label: Artifactory Member Node Initial Memory Request
- variable: artifactory.node.javaOpts.xms
default: "1g"
description: "Artifactory member node java Xms size"
type: string
label: Artifactory Member Node Java Xms Size
- variable: artifactory.node.resources.limits.cpu
default: "2"
description: "Artifactory member node cpu limit"
type: string
label: Artifactory Member Node CPU Limit
- variable: artifactory.node.resources.limits.memory
default: "4Gi"
description: "Artifactory member node memory limit"
type: string
label: Artifactory Member Node Memory Limit
- variable: artifactory.node.javaOpts.xmx
default: "4g"
description: "Artifactory member node java Xmx size"
type: string
label: Artifactory Member Node Java Xmx Size
# Internal Settings
- variable: installerInfo
default: '\{\"productId\": \"RancherHelm_artifactory-ha/7.6.3\", \"features\": \[\{\"featureId\": \"Partner/ACC-007246\"\}\]\}'
type: string
group: "Internal Settings (Do not modify)"

View File

@ -1,2 +0,0 @@
url: https://repo.chartcenter.io/jfrog/artifactory-ha-3.0.14.tgz
packageVersion: 00

View File

@ -1,10 +0,0 @@
diff -x '*.tgz' -x '*.lock' -uNr packages/artifactory-jcr/charts-original/Chart.yaml packages/artifactory-jcr/charts/Chart.yaml
--- packages/artifactory-jcr/charts-original/Chart.yaml
+++ packages/artifactory-jcr/charts/Chart.yaml
@@ -27,3 +27,6 @@
sources:
- https://github.com/jfrog/charts
version: 2.5.1
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: artifactory-jcr

View File

@ -1,18 +0,0 @@
# JFrog Container Registry Helm Chart
Universal Repository Manager supporting all major packaging formats, build tools and CI servers.
## Chart Details
This chart will do the following:
* Deploy JFrog Container Registry
* Deploy an optional Nginx server
* Optionally expose Artifactory with Ingress [Ingress documentation](https://kubernetes.io/docs/concepts/services-networking/ingress/)
## Useful links
Blog: [Herd Trust Into Your Rancher Labs Multi-Cloud Strategy with Artifactory](https://jfrog.com/blog/herd-trust-into-your-rancher-labs-multi-cloud-strategy-with-artifactory/)
## Activate Your Artifactory Instance
Don't have a license? Please send an email to [rancher-jfrog-licenses@jfrog.com](mailto:rancher-jfrog-licenses@jfrog.com) to get it.

View File

@ -1,271 +0,0 @@
questions:
# Advance Settings
- variable: artifactory.artifactory.masterKey
default: "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
description: "Artifactory master key. For security reasons, we strongly recommend you generate your own master key using this command: 'openssl rand -hex 32'"
type: string
label: Artifactory master key
group: "Security Settings"
# Container Images
- variable: defaultImage
default: true
description: "Use default Docker image"
label: Use Default Image
type: boolean
show_subquestion_if: false
group: "Container Images"
subquestions:
- variable: artifactory.artifactory.image.repository
default: "docker.bintray.io/jfrog/artifactory-jcr"
description: "JFrog Container Registry image name"
type: string
label: JFrog Container Registry Image Name
- variable: artifactory.artifactory.image.version
default: "7.6.3"
description: "JFrog Container Registry image tag"
type: string
label: JFrog Container Registry Image Tag
- variable: artifactory.imagePullSecrets
description: "Image Pull Secret"
type: string
label: Image Pull Secret
# Services and LoadBalancing Settings
- variable: artifactory.ingress.enabled
default: false
description: "Expose app using Layer 7 Load Balancer - ingress"
type: boolean
label: Expose app using Layer 7 Load Balancer
show_subquestion_if: true
group: "Services and Load Balancing"
required: true
subquestions:
- variable: artifactory.ingress.hosts[0]
default: "xip.io"
description: "Hostname to your artifactory installation"
type: hostname
required: true
label: Hostname
# Nginx Settings
- variable: artifactory.nginx.enabled
default: true
description: "Enable nginx server"
type: boolean
label: Enable Nginx Server
group: "Services and Load Balancing"
required: true
show_if: "artifactory.ingress.enabled=false"
- variable: artifactory.nginx.service.type
default: "LoadBalancer"
description: "Nginx service type"
type: enum
required: true
label: Nginx Service Type
show_if: "artifactory.nginx.enabled=true&&artifactory.ingress.enabled=false"
group: "Services and Load Balancing"
options:
- "ClusterIP"
- "NodePort"
- "LoadBalancer"
- variable: artifactory.nginx.service.loadBalancerIP
default: ""
description: "Provide Static IP to configure with Nginx"
type: string
label: Config Nginx LoadBalancer IP
show_if: "artifactory.nginx.enabled=true&&artifactory.nginx.service.type=LoadBalancer&&artifactory.ingress.enabled=false"
group: "Services and Load Balancing"
- variable: artifactory.nginx.tlsSecretName
default: ""
description: "Provide SSL Secret name to configure with Nginx"
type: string
label: Config Nginx SSL Secret
show_if: "artifactory.nginx.enabled=true&&artifactory.ingress.enabled=false"
group: "Services and Load Balancing"
- variable: artifactory.nginx.customArtifactoryConfigMap
default: ""
description: "Provide configMap name to configure Nginx with custom `artifactory.conf`"
type: string
label: ConfigMap for Nginx Artifactory Config
show_if: "artifactory.nginx.enabled=true&&artifactory.ingress.enabled=false"
group: "Services and Load Balancing"
# Database Settings
- variable: artifactory.postgresql.enabled
default: true
description: "Enable PostgreSQL"
type: boolean
required: true
label: Enable PostgreSQL
group: "Database Settings"
show_subquestion_if: true
subquestions:
- variable: artifactory.postgresql.postgresqlPassword
default: ""
description: "PostgreSQL password"
type: password
required: true
label: PostgreSQL Password
group: "Database Settings"
show_if: "artifactory.postgresql.enabled=true"
- variable: artifactory.postgresql.persistence.size
default: 20Gi
description: "PostgreSQL persistent volume size"
type: string
label: PostgreSQL Persistent Volume Size
show_if: "artifactory.postgresql.enabled=true"
- variable: artifactory.postgresql.persistence.storageClass
default: ""
description: "If undefined or null, uses the default StorageClass. Default to null"
type: storageclass
label: Default StorageClass for PostgreSQL
show_if: "artifactory.postgresql.enabled=true"
- variable: artifactory.postgresql.resources.requests.cpu
default: "200m"
description: "PostgreSQL initial cpu request"
type: string
label: PostgreSQL Initial CPU Request
show_if: "artifactory.postgresql.enabled=true"
- variable: artifactory.postgresql.resources.requests.memory
default: "500Mi"
description: "PostgreSQL initial memory request"
type: string
label: PostgreSQL Initial Memory Request
show_if: "artifactory.postgresql.enabled=true"
- variable: artifactory.postgresql.resources.limits.cpu
default: "1"
description: "PostgreSQL cpu limit"
type: string
label: PostgreSQL CPU Limit
show_if: "artifactory.postgresql.enabled=true"
- variable: artifactory.postgresql.resources.limits.memory
default: "1Gi"
description: "PostgreSQL memory limit"
type: string
label: PostgreSQL Memory Limit
show_if: "artifactory.postgresql.enabled=true"
- variable: artifactory.database.type
default: "postgresql"
description: "xternal database type (postgresql, mysql, oracle or mssql)"
type: enum
required: true
label: External Database Type
group: "Database Settings"
show_if: "artifactory.postgresql.enabled=false"
options:
- "postgresql"
- "mysql"
- "oracle"
- "mssql"
- variable: artifactory.database.url
default: ""
description: "External database URL. If you set the url, leave host and port empty"
type: string
label: External Database URL
group: "Database Settings"
show_if: "artifactory.postgresql.enabled=false"
- variable: artifactory.database.host
default: ""
description: "External database hostname"
type: string
label: External Database Hostname
group: "Database Settings"
show_if: "artifactory.postgresql.enabled=false"
- variable: artifactory.database.port
default: ""
description: "External database port"
type: string
label: External Database Port
group: "Database Settings"
show_if: "artifactory.postgresql.enabled=false"
- variable: artifactory.database.user
default: ""
description: "External database username"
type: string
label: External Database Username
group: "Database Settings"
show_if: "artifactory.postgresql.enabled=false"
- variable: artifactory.database.password
default: ""
description: "External database password"
type: password
label: External Database Password
group: "Database Settings"
show_if: "artifactory.postgresql.enabled=false"
# Advance Settings
- variable: artifactory.advancedOptions
default: false
description: "Show advanced configurations"
label: Show Advanced Configurations
type: boolean
show_subquestion_if: true
group: "Advanced Options"
subquestions:
- variable: artifactory.artifactory.primary.resources.requests.cpu
default: "500m"
description: "Artifactory primary node initial cpu request"
type: string
label: Artifactory Primary Node Initial CPU Request
- variable: artifactory.artifactory.primary.resources.requests.memory
default: "1Gi"
description: "Artifactory primary node initial memory request"
type: string
label: Artifactory Primary Node Initial Memory Request
- variable: artifactory.artifactory.primary.javaOpts.xms
default: "1g"
description: "Artifactory primary node java Xms size"
type: string
label: Artifactory Primary Node Java Xms Size
- variable: artifactory.artifactory.primary.resources.limits.cpu
default: "2"
description: "Artifactory primary node cpu limit"
type: string
label: Artifactory Primary Node CPU Limit
- variable: artifactory.artifactory.primary.resources.limits.memory
default: "4Gi"
description: "Artifactory primary node memory limit"
type: string
label: Artifactory Primary Node Memory Limit
- variable: artifactory.artifactory.primary.javaOpts.xmx
default: "4g"
description: "Artifactory primary node java Xmx size"
type: string
label: Artifactory Primary Node Java Xmx Size
- variable: artifactory.artifactory.node.resources.requests.cpu
default: "500m"
description: "Artifactory member node initial cpu request"
type: string
label: Artifactory Member Node Initial CPU Request
- variable: artifactory.artifactory.node.resources.requests.memory
default: "2Gi"
description: "Artifactory member node initial memory request"
type: string
label: Artifactory Member Node Initial Memory Request
- variable: artifactory.artifactory.node.javaOpts.xms
default: "1g"
description: "Artifactory member node java Xms size"
type: string
label: Artifactory Member Node Java Xms Size
- variable: artifactory.artifactory.node.resources.limits.cpu
default: "2"
description: "Artifactory member node cpu limit"
type: string
label: Artifactory Member Node CPU Limit
- variable: artifactory.artifactory.node.resources.limits.memory
default: "4Gi"
description: "Artifactory member node memory limit"
type: string
label: Artifactory Member Node Memory Limit
- variable: artifactory.artifactory.node.javaOpts.xmx
default: "4g"
description: "Artifactory member node java Xmx size"
type: string
label: Artifactory Member Node Java Xmx Size
# Internal Settings
- variable: installerInfo
default: '\{\"productId\": \"RancherHelm_artifactory-jcr/7.6.3\", \"features\": \[\{\"featureId\": \"Partner/ACC-007246\"\}\]\}'
type: string
group: "Internal Settings (Do not modify)"

View File

@ -1,2 +0,0 @@
url: https://repo.chartcenter.io/jfrog/artifactory-jcr-2.5.1.tgz
packageVersion: 00

View File

@ -1,10 +0,0 @@
diff -x '*.tgz' -x '*.lock' -uNr packages/citrix-adc-istio-ingress-gateway/charts-original/Chart.yaml packages/citrix-adc-istio-ingress-gateway/charts/Chart.yaml
--- packages/citrix-adc-istio-ingress-gateway/charts-original/Chart.yaml
+++ packages/citrix-adc-istio-ingress-gateway/charts/Chart.yaml
@@ -13,3 +13,6 @@
sources:
- https://github.com/citrix/citrix-istio-adaptor
version: 1.2.1
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: citrix-adc-istio-ingress-gateway

View File

@ -1,18 +0,0 @@
# Citrix ADC as an Ingress Gateway for Istio
An [Istio](https://istio.io/) ingress gateway acts as an entry point for the incoming traffic and secures and controls access to the service mesh. It also performs routing and load balancing. Citrix ADC [CPX](https://docs.citrix.com/en-us/citrix-adc-cpx), MPX, or [VPX](https://docs.citrix.com/en-us/citrix-adc.html), can be deployed as an ingress gateway to the Istio service mesh.
### Prerequisites
The following prerequisites are required for deploying Citrix ADC as an Ingress Gateway in Istio service mesh:
- Ensure that **Istio** is enabled.
- Ensure that your cluster has Kubernetes version 1.14.0 or later.
- Ensure to create secret named **nslogin** with username and password in same namespace in case of VPX/MPX . Choose the **Resources > Secrets** in the navigation bar.
### Important NOTE:
- Follow this [link](https://github.com/citrix/citrix-helm-charts/blob/master/examples/citrix-adc-in-istio/README.md
) to deploy Citrix ADC as an ingress gateway for application.
- For deploying Citrix ADC VPX or MPX as ingress gateway, you should establish the connectivity between Citrix ADC VPX or MPX and cluster nodes. This connectivity can be established by configuring routes on Citrix ADC as mentioned [here](https://github.com/citrix/citrix-k8s-ingress-controller/blob/master/docs/network/staticrouting.md) or by deploying [Citrix Node Controller](https://github.com/citrix/citrix-k8s-node-controller).
This catalog deploys Citrix ADC VPX, MPX, or CPX as an Ingress Gateway in the Istio service mesh. For detailed information on various deployment options,checkout this [link](https://github.com/citrix/citrix-istio-adaptor).

View File

@ -1,300 +0,0 @@
questions:
- variable: citrixCPX
required: true
type: boolean
default: true
description: "Set true to use Citrix ADC CPX as ingress device. Set false to use VPX/MPX as ingress device"
label: citrixCPX
group: "Deployment Settings"
- variable: secrets.name
required: true
type: string
default: "nslogin"
description: "Ensure to create nslogin secret in same namespace"
show_if: "citrixCPX=false"
group: "nslogin Settings"
- variable: istioAdaptor.image
required: true
type: string
default: "quay.io/citrix/citrix-istio-adaptor"
label: istioAdaptor Image
description: "Istio-adaptor Image to be used"
group: "Istio-adaptor Settings"
- variable: istioAdaptor.tag
required: true
type: string
default: "1.2.1"
label: istioAdaptor tag
group: "Istio-adaptor Settings"
- variable: istioAdaptor.imagePullPolicy
required: true
type: enum
default: IfNotPresent
label: istioAdaptor imagePullPolicy
description: "Istio-adaptor Image pull policy"
options:
- "Always"
- "IfNotPresent"
- "Never"
group: "Istio-adaptor Settings"
- variable: istioAdaptor.netscalerUrl
required: true
type: string
default: null
label: istioAdaptor netscalerUrl
description: "URL or IP address of the Citrix ADC which Istio-adaptor configures"
show_if: "citrixCPX=false"
group: "Istio-adaptor Settings"
- variable: istioAdaptor.secureConnect
type: boolean
default: true
label: istioAdaptor secureConnect
description: "If this value is set to true, Istio-adaptor establishes secure gRPC channel with Istio Pilot"
group: "Istio-adaptor Settings"
- variable: istioAdaptor.vserverIP
required: true
type: string
label: istioAdaptor vserverIP
show_if: "citrixCPX=false"
descriptions: "Virtual server IP address on Citrix ADC"
group: "Istio-adaptor Settings"
- variable: istioAdaptor.netProfile
type: string
label: istioAdaptor netProfile
description: "profile name used by CNC to configure VPX/MPX"
show_if: "citrixCPX=false"
group: "Istio-adaptor Settings"
- variable: istioAdaptor.ADMIP
type: string
label: istioAdaptor ADMIP
description: "Citrix Application Delivery Management (ADM) IP address"
group: "Istio-adaptor Settings"
- variable: istioAdaptor.ADMFingerPrint
type: string
label: istioAdaptor ADMFingerPrint
description: "Citrix Application Delivery Management (ADM) Finger Print."
group: "Istio-adaptor Settings"
- variable: istioAdaptor.coeURL
type: string
label: istioAdaptor coeURL
description: "Name of Citrix Observability Exporter Service"
group: "Istio-adaptor Settings"
- variable: istioPilot.name
required: true
type: string
default: istio-pilot
label: istio-pilot name
group: "istio-pilot Settings"
description: "Name of the Istio Pilot service"
- variable: istioPilot.namespace
required: true
type: string
default: istio-system
label: istio-pilot namespace
description: "Namespace where Istio Pilot is running"
group: "istio-pilot Settings"
- variable: istioPilot.secureGrpcPort
required: true
type: int
default: 15011
label: istio-pilot secureGrpcPort
show_if: "istioAdaptor.secureConnect=true"
description: "Secure GRPC port where Istio Pilot is listening"
group: "istio-pilot Settings"
- variable: istioPilot.insecureGrpcPort
required: true
type: int
default: 15010
show_if: "istioAdaptor.secureConnect=false"
label: istio-pilot insecureGrpcPort
description: "Insecure GRPC port where Istio Pilot is listening"
group: "istio-pilot Settings"
- variable: istioPilot.SAN
required: true
type: string
default: "spiffe://cluster.local/ns/istio-system/sa/istio-pilot-service-account"
label: istio-pilot SAN
description: "Subject alternative name for Istio Pilot which is (SPIFFE) ID of Istio Pilot"
show_if: "istioAdaptor.secureConnect=true"
group: "istio-pilot Settings"
- variable: ingressGateway.image
required: true
type: string
default: "quay.io/citrix/citrix-k8s-cpx-ingress"
label: ingressGateway Image
description: "ingressGateway image to be used"
group: "ingressGateway Settings"
- variable: ingressGateway.tag
required: true
type: string
default: "13.0-47.22"
label: ingressGateway tag
group: "ingressGateway Settings"
- variable: ingressGateway.imagePullPolicy
required: true
type: enum
default: IfNotPresent
label: ingressGateway imagePullPolicy
description: Ingress-gateway Image pull policy
group: "ingressGateway Settings"
options:
- "Always"
- "IfNotPresent"
- "Never"
- variable: ingressGateway.EULA
required: true
type: enum
description: "End user license agreement (read EULA before accepting it yes)"
label: ingressGateway EULA
options:
- "YES"
- "NO"
group: "ingressGateway Settings"
- variable: ingressGateway.mgmtHttpPort
required: true
type: int
default: 10080
label: ingressGateway mgmtHttpPort
description: "Management port of the Citrix ADC CPX"
show_if: "citrixCPX=true"
group: "ingressGateway Settings"
- variable: ingressGateway.mgmtHttpsPort
required: true
type: int
default: 10443
show_if: "citrixCPX=true"
label: ingressGateway mgmtHttpsPort
description: "Secure management port of Citrix ADC CPX"
group: "ingressGateway Settings"
- variable: ingressGateway.httpNodePort
required: true
type: int
default: 30180
show_if: "citrixCPX=true"
label: ingressGateway httpNodePort
description: "Port on host machine which is used to expose HTTP port of Citrix ADC CPX"
group: "ingressGateway Settings"
- variable: ingressGateway.httpsNodePort
required: true
type: int
default: 31443
show_if: "citrixCPX=true"
label: ingressGateway httpsNodePort
description: "Port on host machine which is used to expose HTTPS port of Citrix ADC CPX"
group: "ingressGateway Settings"
- variable: ingressGateway.exposeMutipleApps
required: true
type: boolean
default: false
description: "By default, only one service is exposed via ingress gateway. To expose another service, select it TRUE, and then specify a set of secret, volume name, mount path in subsequent fields"
label: exposeMutipleApps
group: "ingressGateway Settings"
- variable: ingressGateway.secretVolumes[0].name
required: true
type: string
show_if: "ingressGateway.exposeMutipleApps=true"
label: ingressGateway secretVolumes name
group: "ingressGateway Settings"
- variable: ingressGateway.secretVolumes[0].secretName
required: true
type: string
show_if: "ingressGateway.exposeMutipleApps=true"
label: ingressGateway secretVolumes secretName
description: "user defined volumes to be mounted using Kubernetes secrets name"
group: "ingressGateway Settings"
- variable: ingressGateway.secretVolumes[0].mountPath
required: true
type: string
show_if: "ingressGateway.exposeMutipleApps=true"
label: ingressGateway secretVolumes mountPath
group: "ingressGateway Settings"
- variable: ingressGateway.licenseServerPort
type: int
default: 27000
label: ingressGateway licenseServerPort
description: "Citrix ADM port if a non-default port is used"
group: "ingressGateway Settings"
- variable: ingressGateway.label
required: true
type: string
default: "citrix-ingressgateway"
label: ingressGateway label
description: "Custom label for the Ingress Gateway service"
group: "ingressGateway Settings"
- variable: ingressGateway.exposeNonHttpService
required: true
type: boolean
default: false
description: "By default, gateway is configured to expose HTTP(S) services. To expose non-HTTP services, select exposeNonHttpService to True, and then specify a set of port, port-name, target-port, nodeport (if applicable) in subsequent field."
label: exposeNonHttpService
group: "ingressGateway Settings"
- variable: ingressGateway.tcpPort[0].name
required: true
type: string
default:
label: Services runing on tcpPort name
show_if: "ingressGateway.exposeNonHttpService=true"
group: "ingressGateway Settings"
- variable: ingressGateway.tcpPort[0].nodePort
required: true
type: int
min: 30000
max: 32767
label: Citrix ADC CPX exposed using nodePort
show_if: "citrixCPX=true && ingressGateway.exposeNonHttpService=true"
description: "NodePort (to set explicitly, choose port between 30000-32767)"
group: "ingressGateway Settings"
- variable: ingressGateway.tcpPort[0].port
required: true
type: int
label: Services exposed using Port on Citrix ADC
show_if: "ingressGateway.exposeNonHttpService=true"
group: "ingressGateway Settings"
- variable: ingressGateway.tcpPort[0].targetPort
required: true
type: int
label: Services running on targetPort
show_if: "ingressGateway.exposeNonHttpService=true"
group: "ingressGateway Settings"
- variable: metricExporter.image
required: true
type: string
default: "quay.io/citrix/citrix-adc-metrics-exporter"
label: Exporter Image
description: "Exporter Image to be used"
group: "metricExporter Settings"
- variable: metricExporter.version
required: true
type: string
default: "1.4.0"
label: metricExporter Version
group: "metricExporter Settings"
- variable: metricExporter.port
required: true
type: int
default: 8888
label: metricExporter Port
group: "metricExporter Settings"
- variable: metricExporter.logLevel
required: true
type: enum
default: ERROR
label: metricExporter logLevel
group: "metricExporter Settings"
options:
- "DEBUG"
- "INFO"
- "WARNING"
- "ERROR"
- "TRACE"
- variable: metricExporter.imagePullPolicy
required: true
type: enum
default: IfNotPresent
label: metricExporter imagePullPolicy
description: "Exporter Image pull policy"
group: "metricExporter Settings"
options:
- "Always"
- "IfNotPresent"
- "Never"

View File

@ -1,2 +0,0 @@
url: https://citrix.github.io/citrix-helm-charts/citrix-adc-istio-ingress-gateway-1.2.1.tgz
packageVersion: 00

View File

@ -1,22 +0,0 @@
diff -x '*.tgz' -x '*.lock' -uNr packages/citrix-cpx-with-ingress-controller/charts-original/Chart.yaml packages/citrix-cpx-with-ingress-controller/charts/Chart.yaml
--- packages/citrix-cpx-with-ingress-controller/charts-original/Chart.yaml
+++ packages/citrix-cpx-with-ingress-controller/charts/Chart.yaml
@@ -13,3 +13,6 @@
sources:
- https://github.com/citrix/citrix-k8s-ingress-controller
version: 1.8.28
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: citrix-cpx-with-ingress-controller
diff -x '*.tgz' -x '*.lock' -uNr packages/citrix-cpx-with-ingress-controller/charts-original/README.md packages/citrix-cpx-with-ingress-controller/charts/README.md
--- packages/citrix-cpx-with-ingress-controller/charts-original/README.md
+++ packages/citrix-cpx-with-ingress-controller/charts/README.md
@@ -187,7 +187,7 @@
| ADMSettings.cpxCores | Optional | 1 | Desired number of vCPU to be set for Citrix ADC CPX. |
| exporter.required | Optional | false | Use the argument if you want to run the [Exporter for Citrix ADC Stats](https://github.com/citrix/citrix-adc-metrics-exporter) along with Citrix ingress controller to pull metrics for the Citrix ADC CPX|
-| exporter.image | Optional | `quay.io/citrix/citrix-adc-metrics-exporter:1.4.4` | The Exporter for Citrix ADC Stats image. |
+| exporter.image | Optional | `quay.io/citrix/citrix-adc-metrics-exporter:1.4.5` | The Exporter for Citrix ADC Stats image. |
| exporter.pullPolicy | Optional | IfNotPresent | The Exporter for Citrix ADC Stats image pull policy. |
| exporter.ports.containerPort | Optional | 8888 | The Exporter for Citrix ADC Stats container port. |

View File

@ -1,5 +0,0 @@
# Citrix ADC CPX with Citrix Ingress Controller running as sidecar.
In a [Kubernetes](https://kubernetes.io/) or [OpenShift](https://www.openshift.com) cluster, you can deploy [Citrix ADC CPX](https://docs.citrix.com/en-us/citrix-adc-cpx) with Citrix ingress controller as a [sidecar](https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/). The Citrix ADC CPX instance is used for load balancing the North-South traffic to the microservices in your cluster. And, the sidecar Citrix ingress controller configures the Citrix ADC CPX.
This Chart bootstraps deployment of Citrix ADC CPX with Citrix Ingress Controller as sidecar.

View File

@ -1,211 +0,0 @@
questions:
- variable: license.accept
required: true
default: "no"
type: enum
description: "Set to yes to accept the terms and conditions of the Citrix license."
label: Accept License
group: "Deployment Settings"
options:
- "yes"
- "no"
- variable: openshift
default: false
type: boolean
description: "openshift is set to true if charts are being deployed in OpenShift environment"
label: Openshift flag
group: "Deployment Settings"
- variable: nsNamespace
type: string
description: "Prefix for the resources on Citrix ADC"
label: Resource Prefix
group: "Deployment Settings"
- variable: ingressClass[0]
type: string
description: "ingressClass is the name of the Ingress Class"
label: Ingress Class
group: "Deployment Settings"
- variable: logLevel
default: "DEBUG"
type: enum
options:
- "TRACE"
- "DEBUG"
- "INFO"
- "WARNING"
- "ERROR"
description: "logLevel of Citrix Ingress Controller pod"
label: LogLevel
group: "Deployment Settings"
- variable: defaultSSLCert
type: string
description: "Secret containing the default ceritifcate for SSL vservers"
label: Default SSLCert
group: "ADC Settings"
- variable: logProxy
type: string
description: "Elasticsearch or Kafka or Zipkin endpoint for Citrix observability exporte"
label: LogProxy
group: "Deployment Settings"
- variable: http2ServerSide
default: "OFF"
type: enum
options:
- "ON"
- "OFF"
description: "Set to ON to enable HTTP2 for Citrix ADC service group configurations"
label: HTTP2 on ADC
group: "ADC Settings"
- variable: nodeSelector.key
type: string
label: NodeSelector Key
group: "Deployment Settings"
- variable: nodeSelector.value
type: string
label: NodeSelector Value
group: "Deployment Settings"
- variable: ADMSettings.licenseServerIP
type: string
label: ADM LicenseServerIP
group: "ADM Settings"
- variable: ADMSettings.licenseServerPort
default: 27000
type: int
label: ADM LicenseServerPort
group: "ADM Settings"
- variable: ADMSettings.ADMIP
type: string
label: ADM IP
group: "ADM Settings"
- variable: ADMSettings.ADMFingerPrint
type: string
label: ADM FingerPrint
group: "ADM Settings"
- variable: ADMSettings.loginSecret
type: string
label: ADM Login Secret
group: "ADM Settings"
- variable: ADMSettings.bandWidthLicense
type: boolean
label: CPX Bandwidth License
group: "ADM Settings"
- variable: ADMSettings.bandWidth
type: int
label: CPX Bandwidth
group: "ADM Settings"
- variable: ADMSettings.vCPULicense
type: boolean
label: CPX vCPU License
group: "ADM Settings"
- variable: ADMSettings.cpxCores
type: int
label: CPX Cores
group: "ADM Settings"
- variable: cic.pullpolicy
default: "IfNotPresent"
type: enum
label: CIC Image Pullpolicy
group: "CIC/CPX Image Settings"
options:
- "Always"
- "IfNotPresent"
- "Never"
- variable: pullpolicy
default: "IfNotPresent"
type: enum
label: CPX Image Pullpolicy
group: "CIC/CPX Image Settings"
options:
- "Always"
- "IfNotPresent"
- "Never"
- variable: cic.image
default: "quay.io/citrix/citrix-k8s-ingress-controller:1.8.28"
type: string
label: CIC Image
group: "CIC/CPX Image Settings"
- variable: image
type: string
default: "quay.io/citrix/citrix-k8s-cpx-ingress:13.0-58.30"
label: CPX Image
group: "CIC/CPX Image Settings"
- variable: exporter.image
default: "quay.io/citrix/citrix-adc-metrics-exporter:1.4.5"
type: string
description: "Exporter Image to be used"
label: Exporter Image
group: "Exporter Settings"
- variable: exporter.pullPolicy
default: "IfNotPresent"
type: string
description: "Exporter Image pull policy"
label: Exporter Image PullPolicy
group: "Exporter Settings"
- variable: exporter.ports.containerPort
default: 8888
type: int
label: Exporter ContainerPort
group: "Exporter Settings"
- variable: coeConfig.distributedTracing.enable
default: false
type: boolean
label: Enable distributedTracing
group: "COE Settings"
- variable: coeConfig.distributedTracing.samplingrate
default: 100
type: int
label: COE Sampling Rate
group: "COE Settings"
- variable: coeConfig.endpoint.server
type: string
label: COE Endpoint Server
group: "COE Settings"
- variable: coeConfig.timeseries.port
default: 5563
type: int
label: COE timeseries port
group: "COE Settings"
- variable: coeConfig.timeseries.metrics.enable
default: false
type: boolean
label: Enable timeseries metrics
group: "COE Settings"
- variable: coeConfig.timeseries.metrics.mode
default: 'avro'
type: string
label: COE timeseries metrics Mode
group: "COE Settings"
- variable: coeConfig.timeseries.auditlogs.enable
default: false
type: string
label: Enable timeseries auditlogs
group: "COE Settings"
- variable: coeConfig.timeseries.events.enable
default: false
type: string
label: Enable timeseries events
group: "COE Settings"
- variable: coeConfig.transactions.enable
default: false
type: string
label: Enable transactions
group: "COE Settings"
- variable: coeConfig.transactions.port
default: 5557
type: int
label: COE transactions port
group: "COE Settings"
- variable: crds.install
default: true
type: boolean
description: "If set to true the charts will install CustomResourceDefinitions which are consumed by CIC."
label: CRD flag
group: "Deployment Settings"
- variable: crds.retainOnDelete
default: false
type: boolean
description: "Set this argument to true if you want to retain CustomResourceDefinitions even after uninstalling CIC. This will avoid data-loss of Custom Resource Objects created before uninstallation."
label: CRD retainOnDelete flag
group: "Deployment Settings"

View File

@ -1,2 +0,0 @@
url: https://citrix.github.io/citrix-helm-charts/citrix-cpx-with-ingress-controller-1.8.28.tgz
packageVersion: 00

View File

@ -1,10 +0,0 @@
diff -x '*.tgz' -x '*.lock' -uNr packages/cockroachdb/charts-original/Chart.yaml packages/cockroachdb/charts/Chart.yaml
--- packages/cockroachdb/charts-original/Chart.yaml
+++ packages/cockroachdb/charts/Chart.yaml
@@ -10,3 +10,6 @@
sources:
- https://github.com/cockroachdb/cockroach
version: 4.1.2
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: cockroachdb

View File

@ -1,9 +0,0 @@
# CockroachDB Chart
CockroachDB is a Distributed SQL database that runs natively in Kubernetes. It gives you resilient, horizontal scale across multiple clouds with always-on availability and data partitioned by location.
CockroachDB scales horizontally without reconfiguration or need for a massive architectural overhaul. Simply add a new node to the cluster and CockroachDB takes care of the underlying complexity.
- Scale by simply adding new nodes to a CockroachDB cluster
- Automate balancing and distribution of ranges, not shards
- Optimize server utilization evenly across all nodes

View File

@ -1,8 +0,0 @@
questions:
- default: 100Gi
variable: Storage
description: "Size of volume for each CockroachDB Node/Pod"
group: Config
label: "Storage per Node/Pod"
required: true
type: string

View File

@ -1,2 +0,0 @@
url: https://charts.cockroachdb.com/cockroachdb-4.1.2.tgz
packageVersion: 00

View File

@ -1,10 +0,0 @@
diff -x '*.tgz' -x '*.lock' -uNr packages/datadog/charts-original/Chart.yaml packages/datadog/charts/Chart.yaml
--- packages/datadog/charts-original/Chart.yaml
+++ packages/datadog/charts/Chart.yaml
@@ -15,3 +15,6 @@
- https://app.datadoghq.com/account/settings#agent/kubernetes
- https://github.com/DataDog/datadog-agent
version: 2.4.2
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: datadog

View File

@ -1,32 +0,0 @@
# Datadog
[Datadog](https://www.datadoghq.com/) is a hosted infrastructure monitoring platform. This chart adds the Datadog Agent to all nodes in your cluster via a DaemonSet. It also optionally depends on the [kube-state-metrics chart](https://github.com/kubernetes/charts/tree/master/stable/kube-state-metrics). For more information about monitoring Kubernetes with Datadog, please refer to the [Datadog documentation website](https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/).
Datadog [offers two variants](https://hub.docker.com/r/datadog/agent/tags/), switch to a `-jmx` tag if you need to run JMX/java integrations. The chart also supports running [the standalone dogstatsd image](https://hub.docker.com/r/datadog/dogstatsd/tags/).
See the [Datadog JMX integration](https://docs.datadoghq.com/integrations/java/) to learn more.
## Prerequisites
Kubernetes 1.4+ or OpenShift 3.4+, note that:
* the Datadog Agent supports Kubernetes 1.3+
* The Datadog chart's defaults are tailored to Kubernetes 1.7.6+, see [Datadog Agent legacy Kubernetes versions documentation](https://github.com/DataDog/datadog-agent/tree/master/Dockerfiles/agent#legacy-kubernetes-versions) for adjustments you might need to make for older versions
## Quick start
By default, the Datadog Agent runs in a DaemonSet. It can alternatively run inside a Deployment for special use cases.
**Note:** simultaneous DaemonSet + Deployment installation within a single release will be deprecated in a future version, requiring two releases to achieve this.
### Installing the Datadog Chart
To install the chart with the release name `<RELEASE_NAME>`, retrieve your Datadog API key from your [Agent Installation Instructions](https://app.datadoghq.com/account/settings#agent/kubernetes) and run:
```bash
helm install --name <RELEASE_NAME> \
--set datadog.apiKey=<DATADOG_API_KEY> stable/datadog
```
By default, this Chart creates a Secret and puts an API key in that Secret.
However, you can use manually created secret by setting the `datadog.apiKeyExistingSecret` value. After a few minutes, you should see hosts and metrics being reported in Datadog.

View File

@ -1,221 +0,0 @@
questions:
#image configurations
- variable: defaultImage
default: true
description: "Use default Datadog image or specify a custom one"
label: Use Default Datadog Image
type: boolean
show_subquestion_if: false
group: "Container Images"
subquestions:
- variable: agents.image.repository
default: "datadog/agent"
description: "Datadog image name"
type: string
label: Datadog Image Name
- variable: agents.image.tag
default: "7.21.1"
description: "Datadog Image Tag"
type: string
label: Datadog Image Tag
- variable: clusterAgent.image.repository
default: "datadog/cluster-agent"
description: "Datadog clusterAgent image name"
type: string
label: Datadog ClusterAgent Image Name
- variable: clusterAgent.image.tag
default: "1.7.0"
description: "Datadog ClusterAgent Image Tag"
type: string
label: Datadog ClusterAgent Image Tag
- variable: clusterChecksRunner.image.repository
default: "datadog/agent"
description: "Datadog clusterChecksRunner image name"
type: string
label: Datadog Cluster Checks Runner Image Name
show_if: "clusterChecksRunner.enabled=true&&defaultImage=false"
- variable: clusterChecksRunner.image.tag
default: "7.21.1"
description: "Datadog Cluster Checks Runner Image Tag"
type: string
label: Datadog Cluster Checks Runner Image Tag
show_if: "clusterChecksRunner.enabled=true&&defaultImage=false"
- variable: kube-state-metrics.image.repository
default: "quay.io/coreos/kube-state-metrics"
description: "KubeState image name"
type: string
label: KubeState Image Name
show_if: "kubeStateMetrics.enabled=true&&defaultImage=false"
- variable: kube-state-metrics.image.tag
default: "v1.9.7"
description: "KubeState Image Tag"
type: string
label: KubeState Image Tag
show_if: "kubeStateMetrics.enabled=true&&defaultImage=false"
#cluster agent configurations
- variable: clusterAgent.enabled
default: false
description: "Use the cluster-agent for cluster metrics (Kubernetes 1.10+ only), https://docs.datadoghq.com/agent/kubernetes/cluster/"
type: boolean
label: Enable Cluster Agent Metrics(Kubernetes 1.10+ only)
group: "Cluster Agent"
- variable: clusterAgent.metricsProvider.enabled
default: true
description: "Enable the metricsProvider to be able to scale based on metrics in Datadog"
type: boolean
label: Enable the metricsProvider
show_if: "clusterAgent.enabled=true"
group: "Cluster Agent"
- variable: datadog.appKey
default: ""
description: "Datadog App key required to use metricsProvider"
type: string
required: true
label: Datadog Metrics App Key
group: "Cluster Agent"
show_if: "clusterAgent.enabled=true&&clusterAgent.metricsProvider.enabled=true&&datadog.appKeyExistingSecret="
- variable: datadog.appKeyExistingSecret
default: ""
description: "If set, use the secret with a provided name instead of creating a new appKey secret."
type: secret
label: Select Existing Datadog App Key(Secret)
group: "Cluster Agent"
show_if: "clusterAgent.enabled=true&&clusterAgent.metricsProvider.enabled=true&&datadog.appKey="
#datadog agent configurations
- variable: datadog.apiKey
default: ""
description: "Enter your Datadog API Key."
type: string
label: Datadog API Key
group: "Agent Configuration"
required: true
show_if: "datadog.apiKeyExistingSecret="
- variable: datadog.apiKeyExistingSecret
default: ""
description: "If set, use the secret with a provided name instead of creating a new apiKey secret."
type: secret
label: Select Existing Datadog API Key(Secret)
group: "Agent Configuration"
show_if: "datadog.apiKey="
- variable: datadog.site
default: "datadoghq.com"
description: "The site of the Datadog intake to send Agent data to"
type: enum
label: Datadog Site URL
group: "Agent Configuration"
required: true
options:
- "datadoghq.com"
- "datadoghq.eu"
- "custom"
- variable: datadog.dd_url
required: true
default: ""
description: "The host of the Datadog intake server to send Agent data to, only set this option if you need the Agent to send data to a custom URL"
type: string
label: Datadog Custom Site URL
group: "Agent Configuration"
show_if: "datadog.site=custom"
- variable: datadog.logLevel
default: "warn"
description: "Set Agent logging verbosity"
type: enum
options:
- "trace"
- "debug"
- "info"
- "warn"
- "error"
- "critical"
- "off"
label: Log Level
group: "Agent Configuration"
- variable: datadog.tags
default: ""
description: "Host tags, separated by spaces. For example: 'simple-tag-0 tag-key-1:tag-value-1'"
type: string
label: Host Tags
group: "Agent Configuration"
- variable: datadog.criSocketPath
default: ""
description: "Path to the container runtime socket (if different from Docker), default to `/var/run/docker.sock`"
type: string
label: Path To The Container Runtime Socket(Optional)
group: "Agent Configuration"
- variable: datadog.dogstatsd.nonLocalTraffic
default: false
description: "Whether DogStatsD should listen to non local UDP traffic, required to send custom metrics"
type: boolean
label: DogStatsD Non-Local Traffic
group: "Agent Configuration"
- variable: datadog.collectEvents
default: false
description: "Enable event collection from the kubernetes API"
type: boolean
label: Collect Events
group: "Agent Configuration"
# Datadog Tagging
- variable: datadog.podLabelsAsTags
default: ""
description: "Specify a JSON map, where the map key is the source label name and the map value the datadog tag name. E.g: '{\"app\":\"kube_app\",\"release\":\"helm_release\"}'"
type: string
label: Extract Pod Labels as Tags
group: "Datadog Tagging"
- variable: datadog.podAnnotationsAsTags
default: ""
description: "Specify a JSON map, where the map key is the source label name and the map value the datadog tag name. E.g: '{\"app\":\"kube_app\",\"release\":\"helm_release\"}'"
type: string
label: Extract Pod Annotations as Tags
group: "Datadog Tagging"
- variable: datadog.nodeLabelsAsTags
default: ""
description: "Specify a JSON map, where the map key is the source label name and the map value the datadog tag name. E.g: '{\"app\":\"kube_app\",\"release\":\"helm_release\"}'"
type: string
label: Extract Node Labels As Tags
group: "Datadog Tagging"
# DaemonSet configurations
- variable: agents.useHostNetwork
default: false
description: "Bind ports on the hostNetwork. Useful for CNI networking where hostPort might not be supported. The ports will need to be available on all hosts"
type: boolean
label: Use HostNetwork
group: "Daemonset Configuration"
- variable: agents.dogstatsd.useHostPort
default: false
description: "Sets the hostPort to the same value of the container port"
type: boolean
label: Use HostPort
group: "Daemonset Configuration"
- variable: agents.useHostPID
default: false
description: "Run the agent in the host's PID namespace"
type: boolean
label: Use HostPID
group: "Daemonset Configuration"
# Optional Collection agents
- variable: datadog.apm.enabled
default: false
description: "Run the trace-agent along with the infrastructure agent, allowing the container to accept traces on 8126/tcp"
type: boolean
label: Enable APM
group: "Optional Collection Agents"
- variable: datadog.processAgent.enabled
default: false
description: "Enable live process collection in the process-agent"
type: boolean
label: Enable Live Process Agent
group: "Optional Collection Agents"
- variable: datadog.logs.enabled
default: false
description: "Run the log-agent along with the infrastructure agent"
type: boolean
label: Collect Logs
group: "Optional Collection Agents"
#Kube State Metrics
- variable: kubeStateMetrics.enabled
default: true
description: "Create a kube-state-metrics deployment"
type: boolean
label: Deployment KubeState Metrics Deployment
group: "Kube-State-Metrics"

View File

@ -1,2 +0,0 @@
url: https://github.com/DataDog/helm-charts/releases/download/datadog-2.4.2/datadog-2.4.2.tgz
packageVersion: 00

View File

@ -1,202 +0,0 @@
diff -x '*.tgz' -x '*.lock' -uNr packages/dynatrace-oneagent-operator/charts-original/Chart.yaml packages/dynatrace-oneagent-operator/charts/Chart.yaml
--- packages/dynatrace-oneagent-operator/charts-original/Chart.yaml
+++ packages/dynatrace-oneagent-operator/charts/Chart.yaml
@@ -15,3 +15,6 @@
- https://github.com/Dynatrace/helm-charts
type: application
version: 0.8.0
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: dynatrace-oneagent-operator
diff -x '*.tgz' -x '*.lock' -uNr packages/dynatrace-oneagent-operator/charts-original/app-readme.md packages/dynatrace-oneagent-operator/charts/app-readme.md
--- packages/dynatrace-oneagent-operator/charts-original/app-readme.md
+++ packages/dynatrace-oneagent-operator/charts/app-readme.md
@@ -1,6 +0,0 @@
-# Dynatrace OneAgent Operator
-
-This is the home of the Dynatrace OneAgent Operator's Helm Chart which supports the rollout and lifecycle of [Dynatrace OneAgent](https://www.dynatrace.com/support/help/get-started/introduction/what-is-oneagent/) in Kubernetes and OpenShift clusters.
-Rolling out Dynatrace OneAgent via DaemonSet on a cluster is straightforward.
-Maintaining its lifecycle places a burden on the operational team.
-Dynatrace OneAgent Operator closes this gap by automating the repetitive steps involved in keeping Dynatrace OneAgent at its latest desired version.
diff -x '*.tgz' -x '*.lock' -uNr packages/dynatrace-oneagent-operator/charts-original/questions.yml packages/dynatrace-oneagent-operator/charts/questions.yml
--- packages/dynatrace-oneagent-operator/charts-original/questions.yml
+++ packages/dynatrace-oneagent-operator/charts/questions.yml
@@ -1,178 +0,0 @@
-categories:
-- APM
-- Monitoring
-questions:
-
-#################### Agent Configuration (REQUIRED) ####################
-- variable: mode
- label: "Monitoring mode"
- description: "Either fullstack for full monitoring or apm for application only monitoring"
- default: "fullstack"
- type: enum
- group: "Agent Configuration (REQUIRED)"
- options:
- - "fullstack"
- - "apm"
-
-- variable: oneagent.apiUrl
- label: "Dynatrace API URL"
- description: "Dynatrace API URL including `/api` path at the end"
- default: "https://ENVIRONMENTID.live.dynatrace.com/api"
- type: string
- required: true
- group: "Agent Configuration (REQUIRED)"
-
-- variable: secret.apiToken
- label: "Dynatrace API token"
- description: "Your Dynatrace API token - You can generate this token in your Dynatrace environment"
- default: ""
- type: string
- required: true
- group: "Agent Configuration (REQUIRED)"
-
-- variable: secret.paasToken
- label: "Dynatrace PaaS token"
- description: "Your Dynatrace Platform as a Service token - You can generate this token in your Dynatrace environment"
- default: ""
- type: string
- required: true
- group: "Agent Configuration (REQUIRED)"
-
-#################### Advanced Agent Configuration (OPTIONAL) ####################
-- variable: show_advanced_config
- label: "Show advanced configuration"
- description: "Show advanced configuration options for the Dynatrace OneAgent Operator"
- default: false
- type: boolean
- group: "Advanced Agent Configuration (OPTIONAL)"
-
-- variable: operator.image
- label: "Custom Operator image location"
- description: "The location from where to grab the Dynatrace OneAgent operator image - default is quay.io/dynatrace/dynatrace-oneagent-operator"
- default: ""
- type: string
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true"
-
-- variable: oneagent.name
- label: "OneAgent CustomResource name"
- default: "oneagent"
- type: string
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true && mode=fullstack"
-
-- variable: oneagent.disableAgentUpdate
- label: "Disable automatic OneAgent updates"
- description: "Disables automatic restarts of oneagent pods in case a new version is available"
- default: false
- type: boolean
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true && mode=fullstack"
-
-- variable: oneagent.dnsPolicy
- label: "Set custom DNS Policy"
- description: "DNS Policy for OneAgent pods. Empty for default (ClusterFirst), more at https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy"
- default: ""
- type: string
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true && mode=fullstack"
-
-- variable: oneagent.enableIstio
- label: "Enable istio"
- description: "When enabled, and if Istio is installed on the Kubernetes environment, then the Operator will create the corresponding VirtualService and ServiceEntries objects to allow access to the Dynatrace cluster from the agent."
- default: false
- type: boolean
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true"
-
-- variable: oneagent.image
- label: "Custom OneAgent image location"
- description: "The location from where to grab the Dynatrace OneAgent image - default for Kubernetes is docker.io/dynatrace/oneagent"
- default: ""
- type: string
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true && mode=fullstack"
-
-- variable: oneagent.skipCertCheck
- label: "Skip certificate check"
- description: "Disable certificate validation checks for installer download and API communication"
- default: false
- type: boolean
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true"
-
-- variable: oneagent.priorityClassName
- label: "Assign priority class to OneAgent pods"
- description: "Priority class to assign to OneAgent pods, more at https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/"
- default: ""
- type: string
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true && mode=fullstack"
-
-- variable: oneagent.proxy
- label: "Define a proxy"
- description: "Configures a proxy for the Agent, AgentDownload and the Operator. Provide the proxy here"
- default: ""
- type: string
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true"
-
-- variable: oneagent.trustedCAs
- label: "Add custom CA certificates"
- description: "Adds the provided CA certficates to the Operator and the OneAgent. Provide your custom certificates here. If this is not set the default embedded certificates on the images will be used"
- default: ""
- type: multiline
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true"
-
-- variable: oneagent.waitReadySeconds
- label: "Wait seconds until ready"
- description: "Define the time to wait until OneAgent pod is ready after update - defaults to 300s"
- default: ""
- type: int
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true && mode=fullstack"
-
-- variable: oneagent.args
- label: "Arguments to OneAgent installer"
- description: "Defines additional arguments which get passed to the OneAgent installer - Please edit as Yaml for the best experience. The expected format is YAML and not a string"
- default: ""
- type: string
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true && mode=fullstack"
-
-- variable: oneagent.env
- label: "Environment variables for OneAgent"
- description: "Defines additional environment variables which get passed to the OneAgent - Please edit as Yaml for the best experience"
- type: string
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true && mode=fullstack"
-
-- variable: oneagent.nodeSelector
- label: "Node selector to control the selection of nodes"
- description: "Defines a NodeSelector to customize to which nodes the OneAgent will be rolled out - Please edit as Yaml for the best experience"
- type: string
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true && mode=fullstack"
-
-- variable: oneagent.labels
- label: "Custom labels for the OneAgent pods"
- description: "Defines labels for OneAgent pods to structure workloads as desired - Please edit as Yaml for the best experience"
- type: string
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true && mode=fullstack"
-
-- variable: oneagent.resources
- label: "Resource definition for the OneAgent pods"
- description: "Defines the resources the OneAgent pods can use - Please edit as Yaml for the best experience"
- type: string
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true && mode=fullstack"
-
-- variable: oneagent.tolerations
- label: "Custom tolerations for the OneAgent"
- description: "Defines custom tolerations to the OneAgent - Please edit as Yaml for the best experience - see https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/"
- default: ""
- type: string
- group: "Advanced Agent Configuration (OPTIONAL)"
- show_if: "show_advanced_config=true && mode=fullstack"

View File

@ -1,6 +0,0 @@
# Dynatrace OneAgent Operator
This is the home of the Dynatrace OneAgent Operator's Helm Chart which supports the rollout and lifecycle of [Dynatrace OneAgent](https://www.dynatrace.com/support/help/get-started/introduction/what-is-oneagent/) in Kubernetes and OpenShift clusters.
Rolling out Dynatrace OneAgent via DaemonSet on a cluster is straightforward.
Maintaining its lifecycle places a burden on the operational team.
Dynatrace OneAgent Operator closes this gap by automating the repetitive steps involved in keeping Dynatrace OneAgent at its latest desired version.

View File

@ -1,175 +0,0 @@
questions:
#################### Agent Configuration (REQUIRED) ####################
- variable: mode
label: "Monitoring mode"
description: "Either fullstack for full monitoring or apm for application only monitoring"
default: "fullstack"
type: enum
group: "Agent Configuration (REQUIRED)"
options:
- "fullstack"
- "apm"
- variable: oneagent.apiUrl
label: "Dynatrace API URL"
description: "Dynatrace API URL including `/api` path at the end"
default: "https://ENVIRONMENTID.live.dynatrace.com/api"
type: string
required: true
group: "Agent Configuration (REQUIRED)"
- variable: secret.apiToken
label: "Dynatrace API token"
description: "Your Dynatrace API token - You can generate this token in your Dynatrace environment"
default: ""
type: string
required: true
group: "Agent Configuration (REQUIRED)"
- variable: secret.paasToken
label: "Dynatrace PaaS token"
description: "Your Dynatrace Platform as a Service token - You can generate this token in your Dynatrace environment"
default: ""
type: string
required: true
group: "Agent Configuration (REQUIRED)"
#################### Advanced Agent Configuration (OPTIONAL) ####################
- variable: show_advanced_config
label: "Show advanced configuration"
description: "Show advanced configuration options for the Dynatrace OneAgent Operator"
default: false
type: boolean
group: "Advanced Agent Configuration (OPTIONAL)"
- variable: operator.image
label: "Custom Operator image location"
description: "The location from where to grab the Dynatrace OneAgent operator image - default is quay.io/dynatrace/dynatrace-oneagent-operator"
default: ""
type: string
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true"
- variable: oneagent.name
label: "OneAgent CustomResource name"
default: "oneagent"
type: string
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true && mode=fullstack"
- variable: oneagent.disableAgentUpdate
label: "Disable automatic OneAgent updates"
description: "Disables automatic restarts of oneagent pods in case a new version is available"
default: false
type: boolean
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true && mode=fullstack"
- variable: oneagent.dnsPolicy
label: "Set custom DNS Policy"
description: "DNS Policy for OneAgent pods. Empty for default (ClusterFirst), more at https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy"
default: ""
type: string
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true && mode=fullstack"
- variable: oneagent.enableIstio
label: "Enable istio"
description: "When enabled, and if Istio is installed on the Kubernetes environment, then the Operator will create the corresponding VirtualService and ServiceEntries objects to allow access to the Dynatrace cluster from the agent."
default: false
type: boolean
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true"
- variable: oneagent.image
label: "Custom OneAgent image location"
description: "The location from where to grab the Dynatrace OneAgent image - default for Kubernetes is docker.io/dynatrace/oneagent"
default: ""
type: string
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true && mode=fullstack"
- variable: oneagent.skipCertCheck
label: "Skip certificate check"
description: "Disable certificate validation checks for installer download and API communication"
default: false
type: boolean
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true"
- variable: oneagent.priorityClassName
label: "Assign priority class to OneAgent pods"
description: "Priority class to assign to OneAgent pods, more at https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/"
default: ""
type: string
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true && mode=fullstack"
- variable: oneagent.proxy
label: "Define a proxy"
description: "Configures a proxy for the Agent, AgentDownload and the Operator. Provide the proxy here"
default: ""
type: string
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true"
- variable: oneagent.trustedCAs
label: "Add custom CA certificates"
description: "Adds the provided CA certficates to the Operator and the OneAgent. Provide your custom certificates here. If this is not set the default embedded certificates on the images will be used"
default: ""
type: multiline
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true"
- variable: oneagent.waitReadySeconds
label: "Wait seconds until ready"
description: "Define the time to wait until OneAgent pod is ready after update - defaults to 300s"
default: ""
type: int
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true && mode=fullstack"
- variable: oneagent.args
label: "Arguments to OneAgent installer"
description: "Defines additional arguments which get passed to the OneAgent installer - Please edit as Yaml for the best experience. The expected format is YAML and not a string"
default: ""
type: string
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true && mode=fullstack"
- variable: oneagent.env
label: "Environment variables for OneAgent"
description: "Defines additional environment variables which get passed to the OneAgent - Please edit as Yaml for the best experience"
type: string
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true && mode=fullstack"
- variable: oneagent.nodeSelector
label: "Node selector to control the selection of nodes"
description: "Defines a NodeSelector to customize to which nodes the OneAgent will be rolled out - Please edit as Yaml for the best experience"
type: string
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true && mode=fullstack"
- variable: oneagent.labels
label: "Custom labels for the OneAgent pods"
description: "Defines labels for OneAgent pods to structure workloads as desired - Please edit as Yaml for the best experience"
type: string
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true && mode=fullstack"
- variable: oneagent.resources
label: "Resource definition for the OneAgent pods"
description: "Defines the resources the OneAgent pods can use - Please edit as Yaml for the best experience"
type: string
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true && mode=fullstack"
- variable: oneagent.tolerations
label: "Custom tolerations for the OneAgent"
description: "Defines custom tolerations to the OneAgent - Please edit as Yaml for the best experience - see https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/"
default: ""
type: string
group: "Advanced Agent Configuration (OPTIONAL)"
show_if: "show_advanced_config=true && mode=fullstack"

View File

@ -1,2 +0,0 @@
url: https://raw.githubusercontent.com/Dynatrace/helm-charts/master/repos/stable/dynatrace-oneagent-operator-0.8.0.tgz
packageVersion: 00

View File

@ -1,15 +0,0 @@
diff -x '*.tgz' -x '*.lock' -uNr packages/haproxy/charts-original/Chart.yaml packages/haproxy/charts/Chart.yaml
--- packages/haproxy/charts-original/Chart.yaml
+++ packages/haproxy/charts/Chart.yaml
@@ -14,7 +14,10 @@
name: Baptiste Assmann
- email: dkorunic@haproxy.com
name: Dinko Korunic
-name: kubernetes-ingress
+name: haproxy
sources:
- https://github.com/haproxytech/kubernetes-ingress
version: 1.4.3
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: haproxy

View File

@ -1,8 +0,0 @@
# HAProxy
[HAProxy](https://www.haproxy.org/) is the world's fastest and most widely used software load balancer. HAProxy allows organizations to deliver websites and applications with the utmost performance, observability, and security at any scale and in any environment.
# HAProxy Enterprise
[HAProxy Enterprise](https://www.haproxy.com/products/haproxy-enterprise-edition/) is an enterprise-class version of HAProxy providing a robust and reliable code base with cutting edge features, an enterprise suite of add-ons, expert support, and professional services. At its core, it incorporates feature backports from the HAProxy development branch for customers who require immediate access to the latest functionality in a hardened version of code.
## Introduction
This chart bootstraps the [HAProxy Ingress Controller](https://github.com/haproxytech/kubernetes-ingress) or the [HAProxy Enterprise Ingress Controller](https://www.haproxy.com/products/haproxy-enterprise-kubernetes-ingress-controller/) using the [Helm](https://helm.sh) package manager.

View File

@ -1,73 +0,0 @@
questions:
- variable: imageDefault
default: true
description: "Use default Docker image"
label: Use Default Image
type: boolean
group: "Settings"
show_subquestion_if: false
subquestions:
- variable: controller.image.tag
default: "1.4.6"
description: "HAProxy Ingress Controller Tag"
type: string
label: HAProxy Ingress Controller Tag
- variable: controller.kind
type: enum
options:
- "DaemonSet"
- "Deployment"
default: "Deployment"
description: "Deployment Type"
label: Deployment Type
group: "Settings"
- variable: controller.service.type
type: enum
options:
- "LoadBalancer"
- "NodePort"
default: "NodePort"
description: "Service Type for HAProxy Ingress Controller"
label: Service Type
group: "Settings"
- variable: controller.ingressClass
default: ""
description: "Ingress Class for targeting this controller"
label: Ingress Class
type: string
group: "Settings"
- variable: controller.defaultTLSSecret.secret
default: ""
description: "Default TLS certificate secret"
label: TLS Certificate Secret
type: string
group: "Settings"
- variable: enableEnterprise
default: false
description: "Use HAProxy Enterprise"
label: Enable
type: boolean
group: "HAProxy Enterprise"
show_subquestion_if: true
subquestions:
- variable: controller.imageCredentials.registry
type: string
default: "kubernetes-registry.haproxy.com"
description: "HAProxy Enterprise Registtry"
label: Registry
- variable: controller.image.repository
type: string
default: "kubernetes-registry.haproxy.com/hapee-ingress"
description: "HAProxy Enterprise Registry"
label: Repository
- variable: controller.imageCredentials.username
type: string
default: "MYUSERNAME"
description: "HAProxy Enterprise Username"
label: Username
- variable: controller.imageCredentials.password
type: string
default: "MYPASSWORD"
description: "HAProxy Enterprise Password"
label: Password

View File

@ -1,2 +0,0 @@
url: https://github.com/haproxytech/helm-charts/releases/download/kubernetes-ingress-1.4.3/kubernetes-ingress-1.4.3.tgz
packageVersion: 00

View File

@ -1,201 +0,0 @@
diff -x '*.tgz' -x '*.lock' -uNr packages/hpe-flexvolume-driver/charts-original/Chart.yaml packages/hpe-flexvolume-driver/charts/Chart.yaml
--- packages/hpe-flexvolume-driver/charts-original/Chart.yaml
+++ packages/hpe-flexvolume-driver/charts/Chart.yaml
@@ -18,3 +18,6 @@
sources:
- https://github.com/hpe-storage/flexvolume-driver
version: 3.1.0
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: hpe-flexvolume-driver
diff -x '*.tgz' -x '*.lock' -uNr packages/hpe-flexvolume-driver/charts-original/app-readme.md packages/hpe-flexvolume-driver/charts/app-readme.md
--- packages/hpe-flexvolume-driver/charts-original/app-readme.md
+++ packages/hpe-flexvolume-driver/charts/app-readme.md
@@ -1,3 +0,0 @@
-# HPE Volume Driver for Kubernetes FlexVolume Plugin
-
-The [HPE Volume Driver for Kubernetes FlexVolume plugin](https://github.com/hpe-storage/flexvolume-driver) leverages HPE storage platforms to provide scalable and persistent storage for stateful applications. This chart also deploys the [HPE Dynamic Provisioner for Kubernetes](https://github.com/hpe-storage/k8s-dynamic-provisioner).
diff -x '*.tgz' -x '*.lock' -uNr packages/hpe-flexvolume-driver/charts-original/questions.yml packages/hpe-flexvolume-driver/charts/questions.yml
--- packages/hpe-flexvolume-driver/charts-original/questions.yml
+++ packages/hpe-flexvolume-driver/charts/questions.yml
@@ -1,179 +0,0 @@
-categories:
-- storage
-namespace: kube-system
-rancher_min_version: 2.2.0
-labels:
- io.cattle.role: cluster
- io.rancher.certified: partner
-questions:
-- variable: flavor
- label: "Kubernetes flavor"
- type: enum
- default: "rke"
- required: true
- options:
- - "rke"
- - "eks"
- - "ocp"
- - "aks"
- - "gke"
- - "gkeop"
- - "k8s"
- description: "Tweak Helm chart behavior."
- group: "Rancher specific settings"
-- variable: pluginType
- label: "HPE platform"
- type: enum
- options:
- - "nimble"
- - "cv"
- - "simplivity"
- default: "nimble"
- description: "HPE platform type for the deployment."
- group: "HPE backend settings"
-- variable: backend
- label: "IP address"
- type: string
- required: true
- description: "Please specify HPE backend IP address."
- group: "HPE backend settings"
-- variable: username
- label: "Username"
- type: string
- required: true
- description: "Specify username with backend storage admin permissions."
- group: "HPE backend settings"
-- variable: password
- label: "Password"
- type: password
- required: true
- description: "Specify password for the backend user."
- group: "HPE backend settings"
-- variable: fsType
- label: "Filesystem"
- default: "xfs"
- type: enum
- options:
- - "xfs"
- - "ext4"
- - "ext3"
- - "btrfs"
- description: "Select the filesystem for Persistent Volumes, defaults to xfs."
- group: "HPE StorageClass and volume settings"
-- variable: protocol
- label: "HPE storage protocol"
- type: enum
- default: "iscsi"
- options:
- - "iscsi"
- - "fc"
- description: "Specify storage protocol for HPE backend connectivity."
- group: "HPE StorageClass and volume settings"
-- variable: storageClass.create
- label: "Create a StorageClass"
- type: boolean
- default: true
- required: true
- description: "If specified as 'true', a StorageClass named 'hpe-standard' will be created with the HPE Volume Driver for Kubernetes FlexVolume Plugin as provisioner."
- group: "HPE StorageClass and volume settings"
-- variable: storageClass.defaultClass
- label: "Mark StorageClass 'hpe-standard' as 'default'."
- type: boolean
- default: false
- description: "If specified as 'true', the 'hpe-standard' StorageClass will be annotated as 'default'. This option is ignored if 'Create a StorageClass' is set to 'false'."
- group: "HPE StorageClass and volume settings"
-- variable: cv.config.existingCloudSubnet
- show_if: "pluginType=cv"
- label: "Cloud subnet"
- type: string
- default: ""
- required: true
- description: "Cloud subnet of the cluster for connection provisioning"
- group: "Cloud instance settings"
-- variable: cv.config.privateCloud
- show_if: "pluginType=cv"
- label: "Virtual private cloud"
- type: string
- required: true
- description: "Virtual private cloud of the cluster"
- group: "Cloud instance settings"
-- variable: cv.config.region
- show_if: "pluginType=cv"
- label: "Public cloud region"
- type: string
- required: true
- description: "Public cloud provider region in which cluster resides"
- group: "Cloud instance settings"
-- variable: cv.config.cloudComputeProvider
- show_if: "pluginType=cv"
- label: "Public cloud provider"
- type: enum
- default: "Amazon AWS"
- options:
- - "Amazon AWS"
- - "Microsoft Azure"
- description: "Public cloud provider name"
- group: "Cloud instance settings"
-- variable: cv.config.privateCloudResourceGroup
- show_if: "cv.config.cloudComputeProvider=Microsoft Azure"
- label: "Azure Resource Group"
- type: string
- required: true
- description: "Azure resource group for the cluster"
- group: "Cloud instance settings"
-- variable: cv.config.volumeType
- show_if: "pluginType=cv"
- label: "Volume type"
- type: enum
- default: "PF"
- options:
- - "PF"
- - "GPF"
- description: "HPE Cloud Volume type"
- group: "HPE Cloud Volumes settings"
-- variable: cv.config.encryption
- show_if: "pluginType=cv"
- label: "Volume Encryption"
- type: boolean
- default: true
- required: true
- description: "Encryption for HPE Cloud Volume"
- group: "HPE Cloud Volumes settings"
-- variable: cv.config.protectionTemplate
- show_if: "pluginType=cv"
- label: "Protection template"
- type: enum
- default: "twicedaily:4"
- options:
- - "daily:3"
- - "daily:7"
- - "daily:14"
- - "hourly:6"
- - "hourly:12"
- - "hourly:24"
- - "twicedaily:4"
- - "twicedaily:8"
- - "twicedaily:14"
- - "weekly:2"
- - "weekly:4"
- - "weekly:8"
- - "monthly:3"
- - "monthly:6"
- - "monthly:12"
- - "none"
- description: "Protection Template"
- group: "HPE Cloud Volumes settings"
-- variable: cv.config.perfPolicy
- show_if: "pluginType=cv"
- label: "Performance policy"
- type: enum
- default: "Other"
- options:
- - "Other"
- - "Exchange"
- - "Oracle"
- - "SharePoint"
- - "SQL"
- - "Windows File Server"
- description: "Performance policy"
- group: "HPE Cloud Volumes settings"
\ No newline at end of file

View File

@ -1,3 +0,0 @@
# HPE Volume Driver for Kubernetes FlexVolume Plugin
The [HPE Volume Driver for Kubernetes FlexVolume plugin](https://github.com/hpe-storage/flexvolume-driver) leverages HPE storage platforms to provide scalable and persistent storage for stateful applications. This chart also deploys the [HPE Dynamic Provisioner for Kubernetes](https://github.com/hpe-storage/k8s-dynamic-provisioner).

View File

@ -1,172 +0,0 @@
questions:
- variable: flavor
label: "Kubernetes flavor"
type: enum
default: "rke"
required: true
options:
- "rke"
- "eks"
- "ocp"
- "aks"
- "gke"
- "gkeop"
- "k8s"
description: "Tweak Helm chart behavior."
group: "Rancher specific settings"
- variable: pluginType
label: "HPE platform"
type: enum
options:
- "nimble"
- "cv"
- "simplivity"
default: "nimble"
description: "HPE platform type for the deployment."
group: "HPE backend settings"
- variable: backend
label: "IP address"
type: string
required: true
description: "Please specify HPE backend IP address."
group: "HPE backend settings"
- variable: username
label: "Username"
type: string
required: true
description: "Specify username with backend storage admin permissions."
group: "HPE backend settings"
- variable: password
label: "Password"
type: password
required: true
description: "Specify password for the backend user."
group: "HPE backend settings"
- variable: fsType
label: "Filesystem"
default: "xfs"
type: enum
options:
- "xfs"
- "ext4"
- "ext3"
- "btrfs"
description: "Select the filesystem for Persistent Volumes, defaults to xfs."
group: "HPE StorageClass and volume settings"
- variable: protocol
label: "HPE storage protocol"
type: enum
default: "iscsi"
options:
- "iscsi"
- "fc"
description: "Specify storage protocol for HPE backend connectivity."
group: "HPE StorageClass and volume settings"
- variable: storageClass.create
label: "Create a StorageClass"
type: boolean
default: true
required: true
description: "If specified as 'true', a StorageClass named 'hpe-standard' will be created with the HPE Volume Driver for Kubernetes FlexVolume Plugin as provisioner."
group: "HPE StorageClass and volume settings"
- variable: storageClass.defaultClass
label: "Mark StorageClass 'hpe-standard' as 'default'."
type: boolean
default: false
description: "If specified as 'true', the 'hpe-standard' StorageClass will be annotated as 'default'. This option is ignored if 'Create a StorageClass' is set to 'false'."
group: "HPE StorageClass and volume settings"
- variable: cv.config.existingCloudSubnet
show_if: "pluginType=cv"
label: "Cloud subnet"
type: string
default: ""
required: true
description: "Cloud subnet of the cluster for connection provisioning"
group: "Cloud instance settings"
- variable: cv.config.privateCloud
show_if: "pluginType=cv"
label: "Virtual private cloud"
type: string
required: true
description: "Virtual private cloud of the cluster"
group: "Cloud instance settings"
- variable: cv.config.region
show_if: "pluginType=cv"
label: "Public cloud region"
type: string
required: true
description: "Public cloud provider region in which cluster resides"
group: "Cloud instance settings"
- variable: cv.config.cloudComputeProvider
show_if: "pluginType=cv"
label: "Public cloud provider"
type: enum
default: "Amazon AWS"
options:
- "Amazon AWS"
- "Microsoft Azure"
description: "Public cloud provider name"
group: "Cloud instance settings"
- variable: cv.config.privateCloudResourceGroup
show_if: "cv.config.cloudComputeProvider=Microsoft Azure"
label: "Azure Resource Group"
type: string
required: true
description: "Azure resource group for the cluster"
group: "Cloud instance settings"
- variable: cv.config.volumeType
show_if: "pluginType=cv"
label: "Volume type"
type: enum
default: "PF"
options:
- "PF"
- "GPF"
description: "HPE Cloud Volume type"
group: "HPE Cloud Volumes settings"
- variable: cv.config.encryption
show_if: "pluginType=cv"
label: "Volume Encryption"
type: boolean
default: true
required: true
description: "Encryption for HPE Cloud Volume"
group: "HPE Cloud Volumes settings"
- variable: cv.config.protectionTemplate
show_if: "pluginType=cv"
label: "Protection template"
type: enum
default: "twicedaily:4"
options:
- "daily:3"
- "daily:7"
- "daily:14"
- "hourly:6"
- "hourly:12"
- "hourly:24"
- "twicedaily:4"
- "twicedaily:8"
- "twicedaily:14"
- "weekly:2"
- "weekly:4"
- "weekly:8"
- "monthly:3"
- "monthly:6"
- "monthly:12"
- "none"
description: "Protection Template"
group: "HPE Cloud Volumes settings"
- variable: cv.config.perfPolicy
show_if: "pluginType=cv"
label: "Performance policy"
type: enum
default: "Other"
options:
- "Other"
- "Exchange"
- "Oracle"
- "SharePoint"
- "SQL"
- "Windows File Server"
description: "Performance policy"
group: "HPE Cloud Volumes settings"

View File

@ -1,2 +0,0 @@
url: https://hpe-storage.github.io/co-deployments/hpe-flexvolume-driver-3.1.0.tgz
packageVersion: 00

View File

@ -1,10 +0,0 @@
diff -x '*.tgz' -x '*.lock' -uNr packages/instana-agent/charts-original/Chart.yaml packages/instana-agent/charts/Chart.yaml
--- packages/instana-agent/charts-original/Chart.yaml
+++ packages/instana-agent/charts/Chart.yaml
@@ -22,3 +22,6 @@
sources:
- https://github.com/instana/instana-agent-docker
version: 1.0.29
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: instana-agent

View File

@ -1,5 +0,0 @@
# Instana
Instana is an [APM solution(https://www.instana.com/) built for microservices that enables IT Ops to build applications faster and deliver higher quality services by automating monitoring tracing and root cause analysis. This solution is optimized for [Rancher](https://www.instana.com/rancher/).
This chart adds the Instana Agent to all schedulable nodes in your cluster via a `DaemonSet`.

View File

@ -1,236 +0,0 @@
questions:
# Basic agent configuration
- variable: agent.key
label: agent.key
description: "Your Instana Agent key is the secret token which your agent uses to authenticate to Instana's servers"
type: string
required: true
group: "Agent Configuration"
- variable: agent.endpointHost
label: agent.endpointHost
description: "The hostname of the Instana server your agents will connect to. Defaults to ingress-red-saas.instana.io for US and ROW. If in Europe, please use ingress-blue-saas.instana.io"
type: string
required: true
default: "ingress-red-saas.instana.io"
group: "Agent Configuration"
- variable: zone.name
label: zone.name
description: "Custom zone that detected technologies will be assigned to"
type: string
required: true
group: "Agent Configuration"
# Advanced agent configuration
- variable: advancedAgentConfiguration
description: "Show advanced configuration for the Instana Agent"
label: Show advanced configuration
type: boolean
default: false
show_subquestion_if: true
group: "Advanced Agent Configuration"
subquestions:
- variable: agent.configuration_yaml
label: agent.configuration_yaml (Optional)
description: "Custom content for the agent configuration.yaml file in YAML format. Please use the 'Edit as YAML' feature in the Rancher UI for the best editing experience."
type: string
required: false
group: "Advanced Agent Configuration"
- variable: agent.downloadKey
label: agent.downloadKey (Optional)
description: "Your Instana download key"
type: string
required: false
group: "Advanced Agent Configuration"
- variable: agent.endpointPort
label: agent.endpointPort
description: "The Agent backend port number (as a string) of the Instana server your agents will connect to"
type: string
required: true
default: "443"
group: "Advanced Agent Configuration"
- variable: agent.image.name
label: agent.image.name
description: "The name of the Instana Agent container image"
type: string
required: true
default: "instana/agent"
group: "Advanced Agent Configuration"
- variable: agent.image.tag
label: agent.image.tag
description: "The tag name of the Instana Agent container image"
type: string
required: true
default: "latest"
group: "Advanced Agent Configuration"
- variable: agent.image.pullPolicy
label: agent.image.pullPolicy
description: "Specifies when to pull the Instana Agent image container"
type: string
required: true
default: "Always"
group: "Advanced Agent Configuration"
- variable: agent.listenAddress
label: agent.listenAddress (Optional)
description: "The IP address the agent HTTP server will listen to, or '*' for all interfaces"
type: string
required: false
group: "Advanced Agent Configuration"
- variable: agent.mode
label: agent.mode (Optional)
description: "Agent mode. Possible options are: APM, INFRASTRUCTURE or AWS"
type: enum
options:
- "APM"
- "INFRASTRUCTURE"
- "AWS"
required: false
group: "Advanced Agent Configuration"
- variable: agent.pod.annotations
label: agent.pod.annotations (Optional)
description: "Additional annotations to be added to the agent pods in YAML format. Please use the 'Edit as YAML' feature in the Rancher UI for the best editing experience."
type: string
required: false
group: "Advanced Agent Configuration"
- variable: agent.pod.limits.cpu
label: agent.pod.limits.cpu
description: "CPU units allocation limits for the agent pods"
type: string
required: true
default: "1.5"
group: "Advanced Agent Configuration"
- variable: agent.pod.limits.memory
label: agent.pod.limits.memory
description: "Memory allocation limits in MiB for the agent pods"
type: int
required: true
default: 512
group: "Advanced Agent Configuration"
- variable: agent.pod.proxyHost
label: agent.pod.proxyHost (Optional)
description: "Hostname/address of a proxy. Sets the INSTANA_AGENT_PROXY_HOST environment variable"
type: string
required: false
group: "Advanced Agent Configuration"
- variable: agent.pod.proxyPort
label: agent.pod.proxyPort (Optional)
description: "Port of a proxy. Sets the INSTANA_AGENT_PROXY_PORT environment variable"
type: string
required: false
group: "Advanced Agent Configuration"
- variable: agent.pod.proxyProtocol
label: agent.pod.proxyProtocol (Optional)
description: "Proxy protocol. Sets the INSTANA_AGENT_PROXY_PROTOCOL environment variable. Supported proxy types are http, socks4, socks5"
type: string
required: false
group: "Advanced Agent Configuration"
- variable: agent.pod.proxyUser
label: agent.pod.proxyUser (Optional)
description: "Username of the proxy auth. Sets the INSTANA_AGENT_PROXY_USER environment variable"
type: string
required: false
group: "Advanced Agent Configuration"
- variable: agent.pod.proxyPassword
label: agent.pod.proxyPassword (Optional)
description: "Password of the proxy auth. Sets the INSTANA_AGENT_PROXY_PASSWORD environment variable"
type: string
required: false
group: "Advanced Agent Configuration"
- variable: agent.pod.proxyUseDNS
label: agent.pod.proxyUseDNS. (Optional)
description: "Boolean if proxy also does DNS. Sets the INSTANA_AGENT_PROXY_USE_DNS environment variable"
type: enum
options:
- "true"
- "false"
required: false
group: "Advanced Agent Configuration"
- variable: agent.pod.requests.cpu
label: agent.pod.requests.cpu
description: "Requested CPU units allocation for the agent pods"
type: string
required: true
default: "0.5"
group: "Advanced Agent Configuration"
- variable: agent.pod.requests.memory
label: agent.pod.requests.memory
description: "Requested memory allocation in MiB for the agent pods"
type: int
required: true
default: 512
group: "Advanced Agent Configuration"
- variable: agent.pod.tolerations
label: agent.pod.tolerations (Optional)
description: "Tolerations to influence agent pod assignment in YAML format. Please use the 'Edit as YAML' feature in the Rancher UI for the best editing experience."
type: string
required: false
group: "Advanced Agent Configuration"
- variable: agent.redactKubernetesSecrets
label: agent.redactKubernetesSecrets (Optional)
description: "Enable additional secrets redaction for selected Kubernetes resources"
type: boolean
required: false
default: false
group: "Advanced Agent Configuration"
- variable: cluster.name
label: cluster.name (Optional)
description: "The name that will be assigned to this cluster in Instana. See the 'Installing the Chart' section in the 'Detailed Descriptions' tab for more details"
type: string
required: false
group: "Advanced Agent Configuration"
- variable: leaderElector.image.name
label: leaderElector.image.name
description: "The name of the leader elector container image"
type: string
required: true
default: "instana/leader-elector"
group: "Advanced Agent Configuration"
- variable: leaderElector.image.tag
label: leaderElector.image.tag
description: "The tag name of the leader elector container image"
type: string
required: true
default: "0.5.4"
group: "Advanced Agent Configuration"
- variable: leaderElector.port
label: leaderElector.port
description: "The port on which the leader elector sidecar is exposed"
type: int
required: true
default: 42655
group: "Advanced Agent Configuration"
- variable: podSecurityPolicy.enable
label: podSecurityPolicy.enable (Optional)
description: "Specifies whether a PodSecurityPolicy should be authorized for the Instana Agent pods. Requires `rbac.create` to also be `true`"
type: boolean
show_if: "rbac.create=true"
required: false
default: false
group: "Pod Security Policy Configuration"
- variable: podSecurityPolicy.name
label: podSecurityPolicy.name (Optional)
description: "The name of an existing PodSecurityPolicy you would like to authorize for the Instana Agent pods. If not set and `podSecurityPolicy.enable` is `true`, a PodSecurityPolicy will be created with a name generated using the fullname template"
type: string
show_if: "rbac.create=true&&podSecurityPolicy.enable=true"
required: false
group: "Pod Security Policy Configuration"
- variable: rbac.create
label: rbac.create
description: "Specifies whether RBAC resources should be created"
type: boolean
required: true
default: true
group: "RBAC Configuration"
- variable: serviceAccount.create
label: serviceAccount.create
description: "Specifies whether a ServiceAccount should be created"
type: boolean
required: true
default: true
show_subquestion_if: true
group: "RBAC Configuration"
subquestions:
- variable: serviceAccount.name
label: Name of the ServiceAccount (Optional)
description: "The name of the ServiceAccount to use. If not set and `serviceAccount.create` is true, a name is generated using the fullname template."
type: string
required: false
group: "RBAC Configuration"

View File

@ -1,2 +0,0 @@
url: https://kubernetes-charts.storage.googleapis.com/instana-agent-1.0.29.tgz
packageVersion: 00

View File

@ -1,10 +0,0 @@
diff -x '*.tgz' -x '*.lock' -uNr packages/openebs/charts-original/Chart.yaml packages/openebs/charts/Chart.yaml
--- packages/openebs/charts-original/Chart.yaml
+++ packages/openebs/charts/Chart.yaml
@@ -17,3 +17,6 @@
sources:
- https://github.com/openebs/openebs
version: 1.12.3
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: openebs

View File

@ -1,10 +0,0 @@
# OpenEBS
OpenEBS is an open source storage platform that provides persistent container attached, cloud-native block storage for DevOps and for Kubernetes environments.
OpenEBS allows you to treat your persistent workload containers, such as DBs on containers, just like other containers. OpenEBS itself is deployed as just another container on your host and enables storage services that can be designated on a per pod, application, cluster or container level, including:
- Data persistence across nodes, dramatically reducing time spent rebuilding Cassandra rings for example.
- Synchronization of data across availability zones and cloud providers.
- Use of commodity hardware plus a container engine to deliver so called container attached block storage.
- Integration with Kubernetes, so developer and application intent flows into OpenEBS configurations automatically.
- Management of tiering to and from S3 and other targets.

View File

@ -1,200 +0,0 @@
questions:
- variable: defaultImage
default: true
description: "Use default OpenEBS images"
label: Use Default Image
type: boolean
show_subquestion_if: false
group: "Container Images"
subquestions:
- variable: apiserver.image
default: "openebs/m-apiserver"
description: "Default API Server image for OpenEBS"
type: string
label: API Server Image
- variable: apiserver.imageTag
default: "1.12.0"
description: "The image tag of API Server image"
type: string
label: Image Tag For OpenEBS API Server Image
- variable: provisioner.image
default: "openebs/openebs-k8s-provisioner"
description: "Default K8s Provisioner image for OpenEBS"
type: string
label: Provisioner Image
- variable: provisioner.imageTag
default: "1.12.0"
description: "The image tag of Provisioner image"
type: string
label: Image Tag For Provisioner Image
- variable: snapshotOperator.controller.image
default: "openebs/snapshot-controller"
description: "Default Snapshot Controller image for OpenEBS"
type: string
label: Snapshot Controller Image
- variable: snapshotOperator.controller.imageTag
default: "1.12.0"
description: "The image tag of Snapshot Controller image"
type: string
label: Image Tag For OpenEBS Snapshot Controller Image
- variable: snapshotOperator.provisioner.image
default: "openebs/snapshot-provisioner"
description: "Default Snapshot Provisioner image for OpenEBS"
type: string
label: Snapshot Provisioner Image
- variable: snapshotOperator.provisioner.imageTag
default: "1.12.0"
description: "The image tag of Snapshot Provisioner image"
type: string
label: Image Tag For OpenEBS Snapshot Provisioner Image
- variable: ndm.image
default: "openebs/node-disk-manager"
description: "Default NDM image"
type: string
label: Node Disk Manager Image
- variable: ndm.imageTag
default: "0.7.0"
description: "The image tag of NDM image"
type: string
label: Image Tag For Node Disk Manager Image
- variable: ndmOperator.image
default: "openebs/node-disk-operator"
description: "Default NDO image"
type: string
label: Node Disk Operator Image
- variable: ndmOperator.imageTag
default: "0.7.0"
description: "The image tag of NDO image"
type: string
label: Image Tag For Node Disk Manager Image
- variable: jiva.image
default: "openebs/jiva"
description: "Default Jiva Storage Engine image for OpenEBS"
type: string
label: Jiva Storage Engine Image
- variable: jiva.imageTag
default: "1.12.0"
description: "The image tag of Jiva image"
type: string
label: Image Tag For OpenEBS Jiva Storage Engine Image
- variable: cstor.pool.image
default: "openebs/cstor-pool"
description: "Default cStor Storage Engine Pool image for OpenEBS"
type: string
label: cStor Storage Engine Pool Image
- variable: cstor.pool.imageTag
default: "1.12.0"
description: "The image tag of cStor Storage Engine Pool image"
type: string
label: Image Tag For OpenEBS cStor Storage Engine Pool Image
- variable: cstor.poolMgmt.image
default: "openebs/cstor-pool-mgmt"
description: "Default cStor Storage Engine Pool Management image for OpenEBS"
type: string
label: cStor Storage Engine Pool Management Image
- variable: cstor.poolMgmt.imageTag
default: "1.12.0"
description: "The image tag of cStor Storage Engine Pool Management image"
type: string
label: Image Tag For OpenEBS cStor Storage Engine Pool Management Image
- variable: cstor.target.image
default: "openebs/cstor-istgt"
description: "Default cStor Storage Engine Target image for OpenEBS"
type: string
label: cStor Storage Engine Target Image
- variable: cstor.target.imageTag
default: "1.12.0"
description: "The image tag of cStor Storage Engine Target image"
type: string
label: Image Tag For OpenEBS cStor Storage Engine Target Image
- variable: cstor.volumeMgmt.image
default: "openebs/cstor-volume-mgmt"
description: "Default cStor Storage Engine Target Management image for OpenEBS"
type: string
label: cStor Storage Engine Target Management Image
- variable: cstor.volumeMgmt.imageTag
default: "1.12.0"
description: "The image tag of cStor Storage Engine Target Management image"
type: string
label: Image Tag For OpenEBS cStor Storage Engine Target Management Image
- variable: policies.monitoring.image
default: "openebs/m-exporter"
description: "Default OpeneEBS Volume and pool Exporter image"
type: string
label: Monitoring Exporter Image
show_if: "policies.monitoring.enabled=true&&defaultImage=false"
- variable: policies.monitoring.imageTag
default: "1.12.0"
description: "The image tag of OpenEBS Exporter"
type: string
label: Image Tag For OpenEBS Exporter Image
show_if: "policies.monitoring.enabled=true&&defaultImage=false"
- variable: ndm.filters.excludeVendors
default: 'CLOUDBYT,OpenEBS'
type: string
description: "Configure NDM to filter disks from following vendors"
label: Filter Disks belonging to vendors
group: "NDM Disk Filter by Vendor "
- variable: ndm.filters.excludePaths
default: 'loop,fd0,sr0,/dev/ram,/dev/dm-,/dev/md'
type: string
description: "Configure NDM to filter disks from following paths"
label: Filter Disks belonging to paths
group: "NDM Disk Filter by Path"
- variable: ndm.sparse.enabled
default: true
description: "Create a cStor Pool on Sparse Disks"
label: Create cStor Pool on Sprase Disks
type: boolean
show_subquestion_if: true
group: "NDM Sparse Disk Settings"
subquestions:
- variable: ndm.sparse.size
default: "10737418240"
description: "Default Size of Sparse Disk"
type: string
label: Sparse Disk Size in bytes
- variable: ndm.sparse.count
default: "0"
description: "Number of Sparse Disks"
type: string
label: Number of Sparse Disks
- variable: ndm.sparse.path
default: "/var/openebs/sparse"
description: "Directory where Sparse Disks should be created"
type: string
label: Directory for Sparse Disks
- variable: defaultPorts
default: true
description: "Use default Communication Ports"
label: Use Default Ports
type: boolean
show_subquestion_if: false
group: "Communication Ports"
subquestions:
- variable: apiserver.ports.externalPort
default: 5656
description: "Default External Port for OpenEBS API Server"
type: int
min: 0
max: 9999
label: OpenEBS API Server External Port
- variable: apiserver.ports.internalPort
default: 5656
description: "Default Internal Port for OpenEBS API Server"
type: int
min: 0
max: 9999
label: OpenEBS API Server Internal Port
- variable: policies.monitoring.enabled
default: true
description: "Enable prometheus monitoring"
type: boolean
label: Enable Prometheus Monitoring
group: "Monitoring Settings"
- variable: analytics.enabled
default: true
description: "Enable sending anonymous statistics to OpenEBS Google Analytics"
type: boolean
label: Enable updating OpenEBS with usage details
group: "Anonymous Analytics"

View File

@ -1,2 +0,0 @@
url: https://github.com/openebs/charts/releases/download/openebs-1.12.3/openebs-1.12.3.tgz
packageVersion: 00

View File

@ -1,5 +0,0 @@
Portshift cloud-native security platform is an agentless security solution for containerized applications.
Portshift provides a real-time Kubernetes container security solution that addresses images, containers and cluster resources security. Detecting images vulnerabilities, pods misconfiguration, overly permissive roles and clusters misconfiguration and threats.
Portshift security platform leverages service mesh to enable unmatched network security enforcement tools that simplifies the implementation of zero trust security model in Kubernetes clusters, complemented by declarative security policies cluster entities visualisation.

View File

@ -1,60 +0,0 @@
questions:
#operator image configurations
- variable: defaultImage
default: true
description: "Use default Portshift operator image or specify a custom one"
label: Use Default Portshift Image
type: boolean
show_subquestion_if: false
group: "Operator Container Images"
subquestions:
- variable: operator.image.repository
default: "gcr.io/development-infra-208909/k8s_operator"
description: "Portshift Operator Image Name"
type: string
label: Portshift Operator Image Name
- variable: operator.image.tag
default: "v0.1.3"
description: "Portshift Operator Image Tag"
type: string
label: Portshift Operator Image Tag
- variable: operator.image.pullPolicy
default: "IfNotPresent"
description: "Portshift Operator Image Pull Policy"
type: string
label: Portshift Operator Image Pull Policy
#operator access configurations
- variable: operator.secret.accessKey
default: ""
description: "Operator access key retrieved from Portshift console"
type: string
required: true
label: Portshift Operator Access Key
group: "Operator Access Configuration"
- variable: operator.secret.secretKey
default: ""
description: "Operator secret key retrieved from Portshift console"
type: string
required: true
label: Portshift Operator Secret Key
group: "Operator Access Configuration"
- variable: defaultMgmtUrl
default: true
description: "Use default Portshift console url or specify a custom one"
label: Use Default Portshift Url
type: boolean
show_subquestion_if: false
group: "Operator Access Configuration"
subquestions:
- variable: operator.portshiftinstaller.managementUrl
default: "console.portshift.io"
description: "Portshift Console Url"
type: string
label: Portshift Console Url
- variable: operator.portshiftinstaller.portshiftClusterId
default: ""
description: "Cluster id definition retrieved from Portshift console"
type: string
required: true
label: Portshift Cluster ID
group: "Operator Access Configuration"

View File

@ -1,2 +0,0 @@
url: https://raw.githubusercontent.com/Portshift/helm-charts/master/repos/stable/portshift-operator-0.1.0.tgz
packageVersion: 00

View File

@ -1,10 +0,0 @@
diff -x '*.tgz' -x '*.lock' -uNr packages/portshift-operator/charts-original/Chart.yaml packages/portshift-operator/charts/Chart.yaml
--- packages/portshift-operator/charts-original/Chart.yaml
+++ packages/portshift-operator/charts/Chart.yaml
@@ -18,3 +18,6 @@
name: idan
name: portshift-operator
version: 0.1.0
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: portshift-operator

View File

@ -1,20 +0,0 @@
# Sysdig Secure DevOps Platform
Sysdig enables companies to confidently run cloud-native workloads in production. With the Sysdig Secure DevOps Platform, cloud teams embed security, maximize availability, and validate compliance. The Sysdig platform is open by design, with the scale, performance, and usability enterprises demand. The largest companies rely on Sysdig for cloud-native security and visibility.
## Embed security
* Detect vulnerabilities and misconfigurations with a single workflow
* Block threats without impacting performance using K8s controls
* Conduct forensics even after the container is gone
## Maximize availability
* Prevent issues by monitoring performance and capacity
* Accelerate troubleshooting with a single source of truth
* Scale Prometheus monitoring across clusters and clouds
## Validate compliance
* Verify configuration meets CIS best practices
* Ensure application compliance with NIST, PCI
* Enable audit by correlating Kubernetes activity
Learn more at [sysdig.com](https://sysdig.com/)

View File

@ -1,100 +0,0 @@
questions:
#image configurations
- variable: defaultImage
default: true
description: "Use default Sysdig image or specify a custom one"
label: Use Default Sysdig Image
type: boolean
show_subquestion_if: false
group: "Container Images"
subquestions:
- variable: image.repository
default: "sysdig/agent"
description: "Sysdig Image Name"
type: string
label: Sysdig Image Name
- variable: image.tag
default: "10.3.0"
description: "Sysdig Image Tag"
type: string
label: Sysdig Image Tag
#agent configurations
- variable: sysdig.accessKey
default: ""
description: "You need your Sysdig accessKey before running agents"
type: string
required: true
label: Sysdig accessKey
- variable: sysdig.backend
default: "Sysdig SaaS"
description: "Where is Sysdig backend hosted on"
type: enum
label: Sysdig Backend
group: "Agent Configuration"
required: true
options:
- "sysdig-saas"
- "self-hosted"
- variable: sysdig.settings.collector
required: true
default: "collector.sysdigcloud.com"
description: "The host of the Sysdig collector the agent sends data to, only set this option if you need the agent to send data to a custom backend"
type: string
label: Sysdig Collector
group: "Agent Configuration"
show_if: "sysdig.backend=self-hosted"
- variable: sysdig.settings.collector_port
required: true
default: "6443"
description: "The port where the Sysdig collector listens to"
type: string
label: Sysdig Collector Port
group: "Agent Configuration"
show_if: "sysdig.backend=self-hosted"
- variable: sysdig.settings.ssl
required: true
default: true
description: "Use SSL to connect to the Sysdig collector"
type: boolean
label: Sysdig Collector SSL
group: "Agent Configuration"
show_if: "sysdig.backend=self-hosted"
- variable: sysdig.settings.ssl_verify_certificate
required: true
default: true
description: "Validate SSL certificate from the Sysdig collector"
type: boolean
label: Sysdig Collector Verify SSL Certificate
group: "Agent Configuration"
show_if: "sysdig.backend=self-hosted&&sysdig.settings.ssl=true"
- variable: sysdig.settings.tags
default: ""
description: "Agent tags, separated by commas. For example: 'linux:ubuntu,dept:dev,local:nyc'"
type: string
label: Agent Tags
group: "Agent Configuration"
- variable: ebpf.enabled
default: false
description: "Enable eBPF support for Sysdig agent instead of kernel module"
type: boolean
label: Enable eBPF
group: "Agent Configuration"
#proxy configurations
- variable: proxy.httpProxy
default: ""
description: "An http URL to use as a proxy for http requests"
type: string
label: Proxy for HTTP Requests
group: "Proxy Configuration"
- variable: proxy.httpsProxy
default: ""
description: "An http URL to use as a proxy for https requests"
type: string
label: Proxy for HTTPS Requests
group: "Proxy Configuration"
- variable: proxy.noProxy
default: ""
description: "A space-separated list of URLs for which no proxy should be used"
type: string
label: No Proxy List (separated by a space)
group: "Proxy Configuration"

View File

@ -1,2 +0,0 @@
url: https://github.com/sysdiglabs/charts/releases/download/sysdig-1.9.2/sysdig-1.9.2.tgz
packageVersion: 00

View File

@ -1,10 +0,0 @@
diff -x '*.tgz' -x '*.lock' -uNr packages/sysdig/charts-original/Chart.yaml packages/sysdig/charts/Chart.yaml
--- packages/sysdig/charts-original/Chart.yaml
+++ packages/sysdig/charts/Chart.yaml
@@ -26,3 +26,6 @@
- https://app.sysdigcloud.com/#/settings/user
- https://github.com/draios/sysdig
version: 1.9.2
+annotations:
+ catalog.cattle.io/certified: partner
+ catalog.cattle.io/release-name: sysdig

View File

@ -1,17 +0,0 @@
#!/usr/bin/env bash
set -e
if [[ $(uname -s) == 'Darwin' ]]; then
echo "Please make sure you have helm v3 and yq v3 installed"
exit 0
fi
# Download helm
if [[ -z $(command -v helm) ]] || [[ $(helm version --short) != "v3"* ]]; then
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash && chmod +x /usr/local/bin/helm
fi
# Download yq
if [[ -z $(command -v yq) ]]; then
curl -sLf https://github.com/mikefarah/yq/releases/download/3.2.1/yq_linux_amd64 > /usr/local/bin/yq && chmod +x /usr/local/bin/yq
fi

View File

@ -1,6 +0,0 @@
#!/usr/bin/env bash
set -e
./scripts/prepare
./scripts/generate-charts
./scripts/clean

View File

@ -1,9 +0,0 @@
#!/usr/bin/env bash
for f in packages/*; do
if [[ -f ${f}/package.yaml ]]; then
if [[ -z $CHART || $CHART == $(basename -- ${f}) ]]; then
rm -rf ${f}/charts
fi
fi
done

View File

@ -1,24 +0,0 @@
#!/usr/bin/env bash
set -e
add=0
for f in packages/*; do
if [[ -z $CHART || $CHART == $(basename -- ${f}) ]]; then
mkdir -p assets/$(basename -- ${f})
if [[ -d ${f}/overlay ]]; then
cp -R ${f}/overlay/* ${f}/charts
fi
if [[ -f ${f}/package.yaml ]]; then
version=$(yq r ${f}/charts/Chart.yaml version)
packageVersion=$(yq r ${f}/package.yaml packageVersion)
yq w -i ${f}/charts/Chart.yaml 'version' "${version}${packageVersion}"
fi
helm package ${f}/charts --destination assets/$(basename -- ${f})
git checkout assets/$(basename -- ${f})/"$(basename -- ${f})-$(yq r ${f}/charts/Chart.yaml version).tgz" 2>/dev/null || true
fi
done
if [[ -n $(git ls-files --other | grep "tgz") ]]; then
helm repo index --merge ./assets/index.yaml --url assets assets
cp ./assets/index.yaml .
fi

View File

@ -1,49 +0,0 @@
#!/usr/bin/env bash
set -e
set -x
function remove_timestamp_from_diff {
prefix="[-\+]\{3\}"
filename_format="packages\/$(basename -- ${f})\/[^[:space:]]*"
# https://www.gnu.org/software/diffutils/manual/html_node/Example-Unified.html#Example-Unified
# Example timestamp: 2002-02-21 23:30:39.942229878 -0800
date="[[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}"
time="[[:digit:]]\{2\}:[[:digit:]]\{2\}:[[:digit:]]\{2\}.[[:digit:]]\{9\}"
timezone="[-\+][[:digit:]]\{4\}"
timestamp_format="${date}[[:space:]]${time}[[:space:]]${timezone}"
sed -i '' "s/\(${prefix} ${filename_format}\)[[:space:]]${timestamp_format}/\1/g" ${f}/$(basename -- ${f}).patch
}
for f in packages/*; do
if [[ -f ${f}/package.yaml ]]; then
if [[ -z $CHART || $CHART == $(basename -- ${f}) ]]; then
url=$(cat ${f}/package.yaml | yq r - url)
subdirectory=$(cat ${f}/package.yaml | yq r - subdirectory)
type=$(cat ${f}/package.yaml | yq r - type)
commit=$(cat ${f}/package.yaml | yq r - commit)
fields=$(echo ${subdirectory} | awk -F'/' '{print NF}')
if [[ $fields -eq '0' ]]; then
fields='1'
fi
if [[ $type == 'git' ]]; then
mkdir -p /tmp/tmp-charts
git clone --depth=1 --no-tags $url /tmp/tmp-charts
pwd=$(pwd)
cd /tmp/tmp-charts
git fetch origin $commit
git checkout $commit
cd $pwd
cp -r /tmp/tmp-charts/${subdirectory} ${f}/charts-original
rm -rf /tmp/tmp-charts
else
mkdir -p ${f}/charts-original
curl -sLf ${url} | tar xvzf - -C ${f}/charts-original --strip ${fields} ${subdirectory} > /dev/null 2>&1
fi
if [[ -d ${f}/charts ]]; then
diff -x *.tgz -x *.lock -uNr ${f}/charts-original ${f}/charts > ${f}/$(basename -- ${f}).patch || true
remove_timestamp_from_diff
fi
rm -rf ${f}/charts-original
fi
fi
done

View File

@ -1,24 +0,0 @@
#!/usr/bin/env bash
set -e
for f in packages/*; do
if [[ -f ${f}/package.yaml ]]; then
if [[ -n $(cat ${f}/package.yaml | yq r - imageMirror) ]]; then
for (( i=0; i<$(cat ${f}/package.yaml | yq r - imageMirror --length); i++ )); do
name=$(cat ${f}/package.yaml | yq r - imageMirror.[$i].name)
for (( j=0; j<$(cat ${f}/package.yaml | yq r - imageMirror.[$i].images --length); j++ )); do
arch=$(cat ${f}/package.yaml | yq r - imageMirror.[$i].images.[$j].arch)
os=$(cat ${f}/package.yaml | yq r - imageMirror.[$i].images.[$j].os)
original=$(cat ${f}/package.yaml | yq r - imageMirror.[$i].images.[$j].original)
tag=$(cat ${f}/package.yaml | yq r - imageMirror.[$i].images.[$j].tag)
docker pull $original:$tag
docker tag $original:$tag $name-$arch:$tag
docker push $name-$arch:$tag
docker manifest create --amend $name:$tag $name-$arch:$tag
docker manifest annotate $name:$tag $name-$arch:$tag --arch $arch --os $os
done
docker manifest push -p $name:$tag
done
fi
fi
done

View File

@ -1,61 +0,0 @@
#!/usr/bin/env bash
set -e
# rebase the patch with upsteam charts defined in package.yaml. Make sure patches still apply
# for the latest upsteam charts. If there is conflits commiter should solve it.
for f in packages/*; do
if [[ -f ${f}/package.yaml ]]; then
if [[ -z $CHART || $CHART == $(basename -- ${f}) ]]; then
url=$(cat ${f}/package.yaml | yq r - url)
subdirectory=$(cat ${f}/package.yaml | yq r - subdirectory)
type=$(cat ${f}/package.yaml | yq r - type)
fields=$(echo ${subdirectory} | awk -F'/' '{print NF}')
commit=$(cat ${f}/package.yaml | yq r - commit)
if [[ $fields -eq '0' ]]; then
fields='1'
fi
rm -rf ${f}/charts
mkdir -p ${f}/charts
if [[ $type == 'git' ]]; then
mkdir -p /tmp/tmp-charts
git clone --depth=1 --no-tags $url /tmp/tmp-charts
pwd=$(pwd)
cd /tmp/tmp-charts
git fetch origin $commit
git checkout $commit
cd $pwd
rm -rf ${f}/charts
cp -r /tmp/tmp-charts/${subdirectory} ${f}/charts
rm -rf /tmp/tmp-charts
else
curl -sLf ${url} | tar xvzf - -C ${f}/charts --strip ${fields} ${subdirectory} > /dev/null 2>&1
fi
for file in $(find ./${f} -type f -name "*.patch"); do
basename=$(basename -- ${file})
patch -E -p3 -d ${f}/charts < ${f}/$basename
done
copied_dependencies=()
if [[ -f ${f}/charts/requirements.yaml ]]; then
repos=$(cat ${f}/charts/requirements.yaml | yq r - "dependencies.*.repository")
while IFS= read -r repo; do
if [[ ${repo} == file://* ]]; then
charts_path=${repo/file:\/\//${f}/charts/}
overlay_path=${repo/file:\/\//${f}/overlay/}
if [[ ! -d $charts_path ]] && [[ -d $overlay_path ]]; then
cp -R $overlay_path $charts_path
copied_dependencies+=("${charts_path}")
fi
fi
done < <(echo "${repos}")
fi
pwd=$(pwd)
cd ${f}/charts
helm dependency update
cd $pwd
for dep in "${copied_dependencies[@]}"; do
rm -rf $dep
done
fi
fi
done

View File

@ -1,16 +0,0 @@
#!/bin/bash
set -e
cd $(dirname $0)/..
./scripts/prepare
source ./scripts/version
if [ -n "$DIRTY" ]; then
echo Git is dirty
git status
exit 1
fi
./scripts/generate-charts

View File

@ -1,26 +0,0 @@
#!/bin/bash
if [ -n "$(git status --porcelain --untracked-files=no)" ]; then
DIRTY="-dirty"
fi
COMMIT=$(git rev-parse --short HEAD)
GIT_TAG=${DRONE_TAG:-$(git tag -l --contains HEAD | head -n 1)}
if [[ -z "$DIRTY" && -n "$GIT_TAG" ]]; then
VERSION=$GIT_TAG
else
VERSION="${COMMIT}${DIRTY}"
fi
if [ -z "$ARCH" ]; then
ARCH=$(go env GOHOSTARCH)
fi
SUFFIX="-${ARCH}"
TAG=${TAG:-${VERSION}}
REPO=${REPO:-rancher}
if echo $TAG | grep -q dirty; then
TAG=dev
fi