mirror of
https://github.com/harvester/harvester-ui-extension.git
synced 2026-03-23 13:41:45 +00:00
Compare commits
23 Commits
main
...
harvester-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
453bd51c0f | ||
|
|
1dbb6601db | ||
|
|
b6f5d0f93c | ||
|
|
be06d1735f | ||
|
|
48ff415710 | ||
|
|
e892df40b1 | ||
|
|
fcd1138450 | ||
|
|
1f55c6b27d | ||
|
|
8e96580390 | ||
|
|
ee21c69e51 | ||
|
|
ee63d3d190 | ||
|
|
ff7e696a4d | ||
|
|
db61294f01 | ||
|
|
f64dc4f4ca | ||
|
|
776f18789e | ||
|
|
eb47489b0c | ||
|
|
a01d336bfa | ||
|
|
853bcb2632 | ||
|
|
841063599f | ||
|
|
fc29a989f8 | ||
|
|
1320d91a41 | ||
|
|
79eeae37fd | ||
|
|
1cb57b8998 |
@ -1,17 +0,0 @@
|
||||
assets/fonts
|
||||
coverage
|
||||
.nyc_output
|
||||
node_modules/
|
||||
.npm
|
||||
.eslintcache
|
||||
.env
|
||||
.cache
|
||||
.next
|
||||
.nuxt
|
||||
dist
|
||||
dist-pkg
|
||||
.DS_Store
|
||||
pkg/harvester/index.ts
|
||||
pkg/harvester/store/*
|
||||
scripts/pkgfile.js
|
||||
tmp
|
||||
@ -1,225 +0,0 @@
|
||||
module.exports = {
|
||||
env: {
|
||||
browser: true,
|
||||
node: true
|
||||
},
|
||||
globals: {
|
||||
NodeJS: true,
|
||||
Timer: true
|
||||
},
|
||||
plugins: [
|
||||
'jest',
|
||||
'@typescript-eslint'
|
||||
],
|
||||
extends: [
|
||||
'standard',
|
||||
'eslint:recommended',
|
||||
'plugin:@typescript-eslint/recommended',
|
||||
'plugin:vue/vue3-recommended',
|
||||
],
|
||||
rules: {
|
||||
'semi-spacing': 'off',
|
||||
'space-in-parens': 'off',
|
||||
'array-bracket-spacing': 'warn',
|
||||
'arrow-parens': 'warn',
|
||||
'arrow-spacing': [
|
||||
'warn',
|
||||
{
|
||||
before: true,
|
||||
after: true
|
||||
}
|
||||
],
|
||||
'block-spacing': [
|
||||
'warn',
|
||||
'always'
|
||||
],
|
||||
'brace-style': [
|
||||
'warn',
|
||||
'1tbs'
|
||||
],
|
||||
'comma-dangle': [
|
||||
'warn',
|
||||
'only-multiline'
|
||||
],
|
||||
'comma-spacing': 'warn',
|
||||
indent: [
|
||||
'warn',
|
||||
2
|
||||
],
|
||||
'keyword-spacing': 'warn',
|
||||
'newline-per-chained-call': [
|
||||
'warn',
|
||||
{ ignoreChainWithDepth: 4 }
|
||||
],
|
||||
'no-trailing-spaces': 'warn',
|
||||
'func-call-spacing': [
|
||||
'warn',
|
||||
'never'
|
||||
],
|
||||
'wrap-iife': 'off',
|
||||
'lines-between-class-members': [
|
||||
'warn',
|
||||
'always',
|
||||
{ exceptAfterSingleLine: true }
|
||||
],
|
||||
'multiline-ternary': [
|
||||
'warn',
|
||||
'never'
|
||||
],
|
||||
'no-whitespace-before-property': 'warn',
|
||||
'object-curly-spacing': [
|
||||
'warn',
|
||||
'always'
|
||||
],
|
||||
'object-property-newline': 'warn',
|
||||
'object-shorthand': 'warn',
|
||||
'padded-blocks': [
|
||||
'warn',
|
||||
'never'
|
||||
],
|
||||
'quote-props': 'warn',
|
||||
'rest-spread-spacing': 'warn',
|
||||
semi: [
|
||||
'warn',
|
||||
'always'
|
||||
],
|
||||
'space-before-function-paren': [
|
||||
'warn',
|
||||
'never'
|
||||
],
|
||||
'space-infix-ops': 'warn',
|
||||
'spaced-comment': 'warn',
|
||||
'switch-colon-spacing': 'warn',
|
||||
'template-curly-spacing': [
|
||||
'warn',
|
||||
'always'
|
||||
],
|
||||
'yield-star-spacing': [
|
||||
'warn',
|
||||
'both'
|
||||
],
|
||||
'key-spacing': [
|
||||
'warn',
|
||||
{
|
||||
align: {
|
||||
beforeColon: false,
|
||||
afterColon: true,
|
||||
on: 'value',
|
||||
mode: 'strict'
|
||||
},
|
||||
multiLine: {
|
||||
beforeColon: false,
|
||||
afterColon: true
|
||||
}
|
||||
}
|
||||
],
|
||||
'object-curly-newline': [
|
||||
'warn',
|
||||
{
|
||||
ObjectExpression: {
|
||||
multiline: true,
|
||||
minProperties: 3
|
||||
},
|
||||
ObjectPattern: {
|
||||
multiline: true,
|
||||
minProperties: 4
|
||||
},
|
||||
ImportDeclaration: {
|
||||
multiline: true,
|
||||
minProperties: 5
|
||||
},
|
||||
ExportDeclaration: {
|
||||
multiline: true,
|
||||
minProperties: 3
|
||||
}
|
||||
}
|
||||
],
|
||||
'padding-line-between-statements': [
|
||||
'warn',
|
||||
{
|
||||
blankLine: 'always',
|
||||
prev: '*',
|
||||
next: 'return'
|
||||
},
|
||||
{
|
||||
blankLine: 'always',
|
||||
prev: 'function',
|
||||
next: 'function'
|
||||
},
|
||||
{
|
||||
blankLine: 'always',
|
||||
prev: [
|
||||
'const',
|
||||
'let',
|
||||
'var'
|
||||
],
|
||||
next: '*'
|
||||
},
|
||||
{
|
||||
blankLine: 'any',
|
||||
prev: [
|
||||
'const',
|
||||
'let',
|
||||
'var'
|
||||
],
|
||||
next: [
|
||||
'const',
|
||||
'let',
|
||||
'var'
|
||||
]
|
||||
}
|
||||
],
|
||||
quotes: [
|
||||
'warn',
|
||||
'single',
|
||||
{
|
||||
avoidEscape: true,
|
||||
allowTemplateLiterals: true
|
||||
}
|
||||
],
|
||||
'space-unary-ops': [
|
||||
'warn',
|
||||
{
|
||||
words: true,
|
||||
nonwords: false
|
||||
}
|
||||
],
|
||||
'vue/one-component-per-file': 'off',
|
||||
'vue/no-deprecated-slot-attribute': 'off',
|
||||
'vue/require-explicit-emits': 'error',
|
||||
'vue/v-on-event-hyphenation': 'off'
|
||||
},
|
||||
overrides: [
|
||||
{
|
||||
files: [
|
||||
'**/*.{js,ts,vue}'
|
||||
],
|
||||
rules: {
|
||||
'@typescript-eslint/no-empty-function': 'off',
|
||||
'@typescript-eslint/ban-types': 'off'
|
||||
}
|
||||
},
|
||||
{
|
||||
files: [
|
||||
'**/*.test.{js,ts}',
|
||||
'**/__tests__/**/*.{js,ts}',
|
||||
'**/__mocks__/**/*.{js,ts}'
|
||||
],
|
||||
rules: {
|
||||
'@typescript-eslint/no-empty-function': 'off',
|
||||
'@typescript-eslint/no-non-null-assertion': 'off',
|
||||
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
||||
'jest/prefer-expect-assertions': 'off'
|
||||
},
|
||||
extends: [
|
||||
'plugin:jest/all'
|
||||
]
|
||||
},
|
||||
{
|
||||
files: [
|
||||
'**/*.{js,vue}'
|
||||
],
|
||||
rules: { '@typescript-eslint/explicit-module-boundary-types': 'off' }
|
||||
}
|
||||
]
|
||||
};
|
||||
244
.eslintrc.js
244
.eslintrc.js
@ -1,244 +0,0 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
env: {
|
||||
browser: true,
|
||||
node: true
|
||||
},
|
||||
globals: {
|
||||
NodeJS: true,
|
||||
Timer: true
|
||||
},
|
||||
extends: [
|
||||
'.eslintrc.default.js'
|
||||
],
|
||||
rules: {
|
||||
'dot-notation': 'off',
|
||||
'generator-star-spacing': 'off',
|
||||
'guard-for-in': 'off',
|
||||
'linebreak-style': 'off',
|
||||
'new-cap': 'off',
|
||||
'no-empty': 'off',
|
||||
'no-extra-boolean-cast': 'off',
|
||||
'no-new': 'off',
|
||||
'no-plusplus': 'off',
|
||||
'no-useless-escape': 'off',
|
||||
'nuxt/no-cjs-in-config': 'off',
|
||||
'semi-spacing': 'off',
|
||||
'space-in-parens': 'off',
|
||||
strict: 'off',
|
||||
'unicorn/no-new-buffer': 'off',
|
||||
'vue/html-self-closing': 'off',
|
||||
'vue/multi-word-component-names': 'off',
|
||||
'vue/no-reserved-component-names': 'off',
|
||||
'vue/no-deprecated-v-on-native-modifier': 'off',
|
||||
'vue/no-useless-template-attributes': 'off',
|
||||
'vue/no-unused-components': 'warn',
|
||||
'vue/no-v-html': 'error',
|
||||
'wrap-iife': 'off',
|
||||
'array-bracket-spacing': 'warn',
|
||||
'arrow-parens': 'warn',
|
||||
'arrow-spacing': [
|
||||
'warn',
|
||||
{
|
||||
before: true,
|
||||
after: true
|
||||
}
|
||||
],
|
||||
'block-spacing': [
|
||||
'warn',
|
||||
'always'
|
||||
],
|
||||
'brace-style': [
|
||||
'warn',
|
||||
'1tbs'
|
||||
],
|
||||
'comma-dangle': [
|
||||
'warn',
|
||||
'only-multiline'
|
||||
],
|
||||
'comma-spacing': 'warn',
|
||||
curly: 'warn',
|
||||
eqeqeq: 'warn',
|
||||
'func-call-spacing': [
|
||||
'warn',
|
||||
'never'
|
||||
],
|
||||
'implicit-arrow-linebreak': 'warn',
|
||||
indent: [
|
||||
'warn',
|
||||
2
|
||||
],
|
||||
'keyword-spacing': 'warn',
|
||||
'lines-between-class-members': [
|
||||
'warn',
|
||||
'always',
|
||||
{ exceptAfterSingleLine: true }
|
||||
],
|
||||
'multiline-ternary': [
|
||||
'warn',
|
||||
'never'
|
||||
],
|
||||
'newline-per-chained-call': [
|
||||
'warn',
|
||||
{ ignoreChainWithDepth: 4 }
|
||||
],
|
||||
'no-caller': 'warn',
|
||||
'no-cond-assign': [
|
||||
'warn',
|
||||
'except-parens'
|
||||
],
|
||||
'no-console': 'warn',
|
||||
'no-debugger': 'warn',
|
||||
'no-eq-null': 'warn',
|
||||
'no-eval': 'warn',
|
||||
'no-trailing-spaces': 'warn',
|
||||
'no-undef': 'warn',
|
||||
'no-unused-vars': 'warn',
|
||||
'no-whitespace-before-property': 'warn',
|
||||
'object-curly-spacing': [
|
||||
'warn',
|
||||
'always'
|
||||
],
|
||||
'object-property-newline': 'warn',
|
||||
'object-shorthand': 'warn',
|
||||
'padded-blocks': [
|
||||
'warn',
|
||||
'never'
|
||||
],
|
||||
'prefer-arrow-callback': 'warn',
|
||||
'prefer-template': 'warn',
|
||||
'quote-props': 'warn',
|
||||
'rest-spread-spacing': 'warn',
|
||||
semi: [
|
||||
'warn',
|
||||
'always'
|
||||
],
|
||||
'space-before-function-paren': [
|
||||
'warn',
|
||||
'never'
|
||||
],
|
||||
'space-infix-ops': 'warn',
|
||||
'spaced-comment': 'warn',
|
||||
'switch-colon-spacing': 'warn',
|
||||
'template-curly-spacing': [
|
||||
'warn',
|
||||
'always'
|
||||
],
|
||||
'yield-star-spacing': [
|
||||
'warn',
|
||||
'both'
|
||||
],
|
||||
'key-spacing': [
|
||||
'warn',
|
||||
{
|
||||
align: {
|
||||
beforeColon: false,
|
||||
afterColon: true,
|
||||
on: 'value',
|
||||
mode: 'minimum'
|
||||
},
|
||||
multiLine: {
|
||||
beforeColon: false,
|
||||
afterColon: true
|
||||
}
|
||||
}
|
||||
],
|
||||
'object-curly-newline': [
|
||||
'warn',
|
||||
{
|
||||
ObjectExpression: {
|
||||
multiline: true,
|
||||
minProperties: 3
|
||||
},
|
||||
ObjectPattern: {
|
||||
multiline: true,
|
||||
minProperties: 4
|
||||
},
|
||||
ImportDeclaration: {
|
||||
multiline: true,
|
||||
minProperties: 5
|
||||
},
|
||||
ExportDeclaration: {
|
||||
multiline: true,
|
||||
minProperties: 3
|
||||
}
|
||||
}
|
||||
],
|
||||
'padding-line-between-statements': [
|
||||
'warn',
|
||||
{
|
||||
blankLine: 'always',
|
||||
prev: '*',
|
||||
next: 'return'
|
||||
},
|
||||
{
|
||||
blankLine: 'always',
|
||||
prev: 'function',
|
||||
next: 'function'
|
||||
},
|
||||
{
|
||||
blankLine: 'always',
|
||||
prev: [
|
||||
'const',
|
||||
'let',
|
||||
'var'
|
||||
],
|
||||
next: '*'
|
||||
},
|
||||
{
|
||||
blankLine: 'any',
|
||||
prev: [
|
||||
'const',
|
||||
'let',
|
||||
'var'
|
||||
],
|
||||
next: [
|
||||
'const',
|
||||
'let',
|
||||
'var'
|
||||
]
|
||||
}
|
||||
],
|
||||
quotes: [
|
||||
'warn',
|
||||
'single',
|
||||
{
|
||||
avoidEscape: true,
|
||||
allowTemplateLiterals: true
|
||||
}
|
||||
],
|
||||
'space-unary-ops': [
|
||||
'warn',
|
||||
{
|
||||
words: true,
|
||||
nonwords: false
|
||||
}
|
||||
],
|
||||
'vue/order-in-components': 'off',
|
||||
'vue/no-lone-template': 'off',
|
||||
'vue/v-slot-style': 'off',
|
||||
'vue/component-tags-order': 'off',
|
||||
'vue/no-mutating-props': 'off',
|
||||
'@typescript-eslint/no-unused-vars': 'off',
|
||||
'@typescript-eslint/no-var-requires': 'off',
|
||||
'@typescript-eslint/no-this-alias': 'off',
|
||||
'array-callback-return': 'off',
|
||||
'vue/one-component-per-file': 'off',
|
||||
'vue/no-deprecated-slot-attribute': 'off',
|
||||
'vue/require-explicit-emits': 'off',
|
||||
'vue/v-on-event-hyphenation': 'off'
|
||||
},
|
||||
overrides: [
|
||||
{
|
||||
files: [
|
||||
'*.js'
|
||||
],
|
||||
rules: {
|
||||
'prefer-regex-literals': 'off',
|
||||
'vue/component-definition-name-casing': 'off',
|
||||
'no-unreachable-loop': 'off',
|
||||
'computed-property-spacing': 'off'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
12
.github/actions/lint/action.yaml
vendored
12
.github/actions/lint/action.yaml
vendored
@ -1,12 +0,0 @@
|
||||
name: Run Lint
|
||||
description: Run Lint
|
||||
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- name: Setup env
|
||||
uses: ./.github/actions/setup
|
||||
|
||||
- name: Run linters
|
||||
shell: bash
|
||||
run: yarn lint
|
||||
14
.github/actions/setup/action.yaml
vendored
14
.github/actions/setup/action.yaml
vendored
@ -1,14 +0,0 @@
|
||||
name: Setup UI Env
|
||||
description: Setup node and install dependencies
|
||||
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Install packages
|
||||
shell: bash
|
||||
run: yarn install
|
||||
6
.github/auto-assign-config.yaml
vendored
6
.github/auto-assign-config.yaml
vendored
@ -1,6 +0,0 @@
|
||||
addAssignees: author
|
||||
addReviewers: true
|
||||
numberOfReviewers: 0
|
||||
reviewers:
|
||||
- a110605
|
||||
- houhoucoop
|
||||
14
.github/mergify.yml
vendored
14
.github/mergify.yml
vendored
@ -1,14 +0,0 @@
|
||||
pull_request_rules:
|
||||
- name: Ask to resolve conflict
|
||||
conditions:
|
||||
- conflict
|
||||
actions:
|
||||
comment:
|
||||
message: This pull request is now in conflict. Could you fix it @{{author}}? 🙏
|
||||
|
||||
commands_restrictions:
|
||||
backport:
|
||||
conditions:
|
||||
- or:
|
||||
- sender-permission>=write
|
||||
- sender=github-actions[bot]
|
||||
14
.github/pull_request_template.md
vendored
14
.github/pull_request_template.md
vendored
@ -1,14 +0,0 @@
|
||||
<!-- This template is for Devs to give QA details before moving the issue To-Test -->
|
||||
### Summary
|
||||
|
||||
### PR Checklists
|
||||
- Are backend engineers aware of UI changes ?
|
||||
- [ ] Yes, the backend owner is:
|
||||
|
||||
### Related Issue #
|
||||
<!-- Define findings related to the feature or bug issue. -->
|
||||
|
||||
### Test screenshot or video
|
||||
<!-- Attach screenshot or video of the changes and eventual comparison if you find it necessary -->
|
||||
|
||||
|
||||
40
.github/release.yml
vendored
40
.github/release.yml
vendored
@ -1,40 +0,0 @@
|
||||
# .github/release.yml
|
||||
changelog:
|
||||
categories:
|
||||
- title: Features
|
||||
labels:
|
||||
- feat
|
||||
- title: Bug Fixes
|
||||
labels:
|
||||
- fix
|
||||
- title: Dependencies
|
||||
labels:
|
||||
- deps
|
||||
- title: Performance
|
||||
labels:
|
||||
- perf
|
||||
- title: Documentation
|
||||
labels:
|
||||
- docs
|
||||
- title: Style
|
||||
labels:
|
||||
- style
|
||||
- title: Build & Continuous Integration
|
||||
labels:
|
||||
- build
|
||||
- ci
|
||||
- title: Security
|
||||
labels:
|
||||
- security
|
||||
- title: Tests
|
||||
labels:
|
||||
- test
|
||||
- title: Refactoring
|
||||
labels:
|
||||
- refactor
|
||||
- title: Chores
|
||||
labels:
|
||||
- chore
|
||||
- title: Others
|
||||
labels:
|
||||
- other
|
||||
47
.github/renovate.json
vendored
47
.github/renovate.json
vendored
@ -1,47 +0,0 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": [
|
||||
"config:recommended",
|
||||
":semanticCommitTypeAll(deps)",
|
||||
":semanticCommitScopeDisabled"
|
||||
],
|
||||
"baseBranches": [
|
||||
"main",
|
||||
"release-harvester-v1.7",
|
||||
"release-harvester-v1.8"
|
||||
],
|
||||
"automergeMajor": false,
|
||||
"semanticCommits": "enabled",
|
||||
"semanticCommitType": "deps",
|
||||
"prHourlyLimit": 12,
|
||||
"timezone": "Asia/Taipei",
|
||||
"schedule": ["after 10am on sunday"],
|
||||
"postUpdateOptions": ["yarnDedupeFewer"],
|
||||
"packageRules": [
|
||||
{
|
||||
"matchUpdateTypes": ["major"],
|
||||
"enabled": false
|
||||
},
|
||||
{
|
||||
"matchPackagePatterns": ["vue", "vue-router", "vuex"],
|
||||
"matchUpdateTypes": ["major"],
|
||||
"enabled": false
|
||||
},
|
||||
{
|
||||
"matchPackageNames": ["@rancher/shell"],
|
||||
"enabled": false
|
||||
},
|
||||
{
|
||||
"matchUpdateTypes": ["minor"],
|
||||
"groupName": "minor dependencies",
|
||||
"labels": ["minor-update"],
|
||||
"reviewers": ["a110605", "houhoucoop"]
|
||||
},
|
||||
{
|
||||
"matchUpdateTypes": ["patch", "digest"],
|
||||
"automerge": true,
|
||||
"groupName": "patch digest dependencies",
|
||||
"labels": ["patch-update", "automerge"]
|
||||
}
|
||||
]
|
||||
}
|
||||
17
.github/workflows/auto-assign-reviewer.yaml
vendored
17
.github/workflows/auto-assign-reviewer.yaml
vendored
@ -1,17 +0,0 @@
|
||||
name: "[PR Management] Auto Assign Reviewer & Assignee"
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, ready_for_review]
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
auto-assign:
|
||||
if: github.event.pull_request.draft == false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: rancher/gh-issue-mgr/auto-assign-action@main
|
||||
with:
|
||||
configuration-path: .github/auto-assign-config.yaml
|
||||
94
.github/workflows/backport-label.yaml
vendored
94
.github/workflows/backport-label.yaml
vendored
@ -1,94 +0,0 @@
|
||||
name: "[PR Management] Add Labels"
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, reopened]
|
||||
branches:
|
||||
- main
|
||||
- 'release-harvester-v*'
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
add-require-backport-label:
|
||||
if: github.event.pull_request.draft == false &&
|
||||
github.event.pull_request.base.ref == 'main'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.base_ref }}
|
||||
|
||||
- name: Fetch release branches and PR labels
|
||||
id: fetch_info
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
repo="${{ github.repository }}"
|
||||
pr_number=${{ github.event.pull_request.number }}
|
||||
|
||||
release_branches=$(gh api "repos/${repo}/branches" --paginate --jq '.[].name' | grep -E '^release-harvester-v[0-9]+\.[0-9]+$' || true)
|
||||
|
||||
if [[ -z "$release_branches" ]]; then
|
||||
echo "should_label=false" >> "$GITHUB_OUTPUT"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
latest_branch=$(echo "$release_branches" | sort -Vr | head -n1)
|
||||
version="${latest_branch#release-harvester-v}"
|
||||
release_tag="v${version}.0"
|
||||
|
||||
tags=$(gh api "repos/${repo}/releases" --paginate --jq '.[].tag_name')
|
||||
if echo "$tags" | grep -Fxq "$release_tag"; then
|
||||
echo "should_label=false" >> "$GITHUB_OUTPUT"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
label="require backport/v${version}"
|
||||
echo "should_label=true" >> "$GITHUB_OUTPUT"
|
||||
echo "backport_label=$label" >> "$GITHUB_OUTPUT"
|
||||
|
||||
pr_labels=$(gh pr view "$pr_number" --repo "$repo" --json labels --jq '.labels[].name' || echo "")
|
||||
pr_labels_csv=$(echo "$pr_labels" | tr '\n' ',' | sed 's/,$//')
|
||||
echo "pr_labels=$pr_labels_csv" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Add label if needed
|
||||
if: steps.fetch_info.outputs.should_label == 'true' && !contains(steps.fetch_info.outputs.pr_labels, steps.fetch_info.outputs.backport_label)
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
echo "Adding label: ${{ steps.fetch_info.outputs.backport_label }}"
|
||||
gh pr edit ${{ github.event.pull_request.number }} \
|
||||
--repo ${{ github.repository }} \
|
||||
--add-label "${{ steps.fetch_info.outputs.backport_label }}"
|
||||
|
||||
add-backport-label:
|
||||
if: github.event.pull_request.draft == false &&
|
||||
startsWith(github.event.pull_request.base.ref, 'release-harvester-v')
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check conditions for backport label
|
||||
id: check
|
||||
run: |
|
||||
IS_MERGIFY=$(echo '${{ github.event.pull_request.user.login }}' | grep -iq 'mergify' && echo true || echo false)
|
||||
TARGET_BRANCH=${{ github.event.pull_request.base.ref }}
|
||||
|
||||
echo "IS_MERGIFY=$IS_MERGIFY" >> $GITHUB_OUTPUT
|
||||
echo "TARGET_BRANCH=$TARGET_BRANCH" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Add label if needed
|
||||
if: steps.check.outputs.IS_MERGIFY == 'true' && startsWith(steps.check.outputs.TARGET_BRANCH, 'release-harvester-v')
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
TARGET_BRANCH="${{ steps.check.outputs.TARGET_BRANCH }}"
|
||||
version="${TARGET_BRANCH#release-harvester-v}"
|
||||
label="backport/v${version}"
|
||||
echo "Adding label $label"
|
||||
gh pr edit ${{ github.event.pull_request.number }} \
|
||||
--repo ${{ github.repository }} \
|
||||
--add-label "$label"
|
||||
49
.github/workflows/backport-request.yaml
vendored
49
.github/workflows/backport-request.yaml
vendored
@ -1,49 +0,0 @@
|
||||
name: "[PR Management] Request Backport via Mergify"
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [closed]
|
||||
branches: [main]
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
comment-backport:
|
||||
if: github.event.pull_request.merged == true
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.base_ref }}
|
||||
|
||||
- name: Post Mergify backport command
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
pr_number=${{ github.event.pull_request.number }}
|
||||
repo="${{ github.repository }}"
|
||||
|
||||
labels_json='${{ toJson(github.event.pull_request.labels.*.name) }}'
|
||||
labels=$(echo "$labels_json" | jq -r '.[] // empty')
|
||||
|
||||
echo "Labels on PR: $labels"
|
||||
|
||||
matches=$(echo "$labels" | grep -oE '^require backport/v[0-9]+\.[0-9]+$' || true)
|
||||
|
||||
if [[ -z "$matches" ]]; then
|
||||
echo "No back‑port labels found — skipping."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
branches=$(echo "$matches" \
|
||||
| sed -E 's/^require backport\/v/release-harvester-v/' \
|
||||
| sort -u | tr '\n' ' ')
|
||||
branches=${branches%% }
|
||||
|
||||
cmd="@Mergifyio backport $branches"
|
||||
echo "Posting Mergify command: $cmd"
|
||||
gh pr comment "$pr_number" --repo "$repo" --body "$cmd"
|
||||
@ -1,36 +0,0 @@
|
||||
name: Build Harvester Catalog Image and Publish on Release
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
working-directory: ./
|
||||
|
||||
jobs:
|
||||
check-version:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Check package version
|
||||
env:
|
||||
TAG_VERSION: ${{ github.event.release.tag_name }}
|
||||
run: ./scripts/check-version.sh $TAG_VERSION
|
||||
|
||||
build-and-push-extension-catalog:
|
||||
needs: check-version
|
||||
uses: ./.github/workflows/build-extension-catalog.yml
|
||||
permissions:
|
||||
actions: write
|
||||
contents: read
|
||||
packages: write
|
||||
id-token: write
|
||||
with:
|
||||
registry_target: docker.io
|
||||
registry_user: rancher
|
||||
secrets: inherit
|
||||
165
.github/workflows/build-and-publish-standalone.yaml
vendored
165
.github/workflows/build-and-publish-standalone.yaml
vendored
@ -1,165 +0,0 @@
|
||||
name: Build Harvester Dashboard and Publish
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
CI_BRANCH:
|
||||
required: false
|
||||
type: string
|
||||
CI_BUILD_TAG:
|
||||
required: false
|
||||
type: string
|
||||
|
||||
env:
|
||||
GOOGLE_AUTH: ''
|
||||
DOCKER_USERNAME: ''
|
||||
DOCKER_PASSWORD: ''
|
||||
CI_BUILD_TAG: ${{inputs.CI_BUILD_TAG}}
|
||||
CI_BRANCH: ${{inputs.CI_BRANCH}}
|
||||
GIT_REPO: ${{github.repository}}
|
||||
GIT_COMMIT: ${{github.sha}}
|
||||
REPO: ${{github.event.repository.name || ''}}
|
||||
|
||||
jobs:
|
||||
build-and-upload-hosted:
|
||||
name: Build & Upload Hosted
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
# Note - Cannot use the setup action here as it uses a different yarn install arg
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'yarn'
|
||||
|
||||
# Build a directory containing the dashboard that can be used with ui-dashboard-index
|
||||
- id: build-hosted
|
||||
name: Build Hosted
|
||||
run: ./scripts/build-hosted
|
||||
|
||||
- id: upload-gate
|
||||
name: Upload Gate (superseded by a newer build?)
|
||||
run: ./scripts/build-upload-gate
|
||||
|
||||
- name: Get gcs auth
|
||||
uses: rancher-eio/read-vault-secrets@main
|
||||
with:
|
||||
secrets: |
|
||||
secret/data/github/repo/${{ github.repository }}/google-auth/harvester/credentials token | GOOGLE_AUTH ;
|
||||
|
||||
- name: Apply gcs auth
|
||||
# https://github.com/google-github-actions/auth
|
||||
uses: 'google-github-actions/auth@v2'
|
||||
with:
|
||||
credentials_json: "${{ env.GOOGLE_AUTH }}"
|
||||
|
||||
- name: Upload build
|
||||
uses: 'google-github-actions/upload-cloud-storage@v2'
|
||||
# https://github.com/google-github-actions/upload-cloud-storage
|
||||
with:
|
||||
path: ${{steps.build-hosted.outputs.BUILD_HOSTED_DIR}}
|
||||
destination: releases.rancher.com/harvester-ui/dashboard/${{ steps.build-hosted.outputs.BUILD_HOSTED_LOCATION }}
|
||||
parent: false
|
||||
headers: |-
|
||||
cache-control: no-cache,must-revalidate
|
||||
process_gcloudignore: false
|
||||
|
||||
build-and-upload-embedded:
|
||||
name: Build & Upload Embedded
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
# Note - Cannot use the setup action here as it uses a different yarn install arg
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'yarn'
|
||||
|
||||
# Build a tar that will be picked up by rancher builds and embedded into it
|
||||
- id: build-embedded
|
||||
name: Build Embedded
|
||||
run: ./scripts/build-embedded
|
||||
env:
|
||||
DISABLED_EMBED_PKG: https://releases.rancher.com/harvester-ui/plugin/harvester-1.0.3.tar.gz
|
||||
|
||||
- name: Get gcs auth
|
||||
uses: rancher-eio/read-vault-secrets@main
|
||||
with:
|
||||
secrets: |
|
||||
secret/data/github/repo/${{ github.repository }}/google-auth/harvester/credentials token | GOOGLE_AUTH ;
|
||||
|
||||
- name: Apply gcs auth
|
||||
# https://github.com/google-github-actions/auth
|
||||
uses: 'google-github-actions/auth@v2'
|
||||
with:
|
||||
credentials_json: "${{ env.GOOGLE_AUTH }}"
|
||||
|
||||
- name: Upload tar
|
||||
uses: 'google-github-actions/upload-cloud-storage@v2'
|
||||
with:
|
||||
path: ${{steps.build-embedded.outputs.BUILD_EMBEDED_TGZ}}
|
||||
destination: releases.rancher.com/harvester-ui/dashboard
|
||||
parent: false
|
||||
headers: |-
|
||||
cache-control: no-cache,must-revalidate
|
||||
process_gcloudignore: false
|
||||
|
||||
build-and-upload-harvester-plugin:
|
||||
name: Build & Upload Plugin
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
# Note - Cannot use the setup action here as it uses a different yarn install arg
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'yarn'
|
||||
|
||||
- id: ci-build-pkg
|
||||
name: Build pkg
|
||||
run: ./scripts/ci-build-pkg.sh harvester
|
||||
|
||||
- id: upload-gate
|
||||
name: Upload Gate
|
||||
run: ./scripts/build-upload-gate
|
||||
|
||||
- name: Get gcs auth
|
||||
uses: rancher-eio/read-vault-secrets@main
|
||||
with:
|
||||
secrets: |
|
||||
secret/data/github/repo/${{ github.repository }}/google-auth/harvester/credentials token | GOOGLE_AUTH ;
|
||||
|
||||
- name: Apply gcs auth
|
||||
# https://github.com/google-github-actions/auth
|
||||
uses: 'google-github-actions/auth@v2'
|
||||
with:
|
||||
credentials_json: "${{ env.GOOGLE_AUTH }}"
|
||||
|
||||
- name: Upload plugin tar
|
||||
uses: 'google-github-actions/upload-cloud-storage@v2'
|
||||
with:
|
||||
path: dist-pkg/${{steps.ci-build-pkg.outputs.PKG_TARBALL}}
|
||||
destination: releases.rancher.com/harvester-ui/plugin
|
||||
parent: false
|
||||
headers: |-
|
||||
cache-control: no-cache,must-revalidate
|
||||
process_gcloudignore: false
|
||||
|
||||
- name: Upload plugin directory
|
||||
uses: 'google-github-actions/upload-cloud-storage@v2'
|
||||
with:
|
||||
path: dist-pkg/${{steps.ci-build-pkg.outputs.PKG_NAME}}
|
||||
destination: releases.rancher.com/harvester-ui/plugin/${{steps.ci-build-pkg.outputs.PKG_NAME}}
|
||||
parent: false
|
||||
headers: |-
|
||||
cache-control: no-cache,must-revalidate
|
||||
process_gcloudignore: false
|
||||
70
.github/workflows/build-extension-catalog.yml
vendored
70
.github/workflows/build-extension-catalog.yml
vendored
@ -1,70 +0,0 @@
|
||||
name: Build and release Extension Catalog Image to registry
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
registry_target:
|
||||
required: true
|
||||
type: string
|
||||
registry_user:
|
||||
required: true
|
||||
type: string
|
||||
outputs:
|
||||
build-extension-catalog-job-status:
|
||||
value: ${{ jobs.build-extension-catalog.outputs.build-status }}
|
||||
|
||||
jobs:
|
||||
build-and-push-extension-catalog:
|
||||
name: Build container image
|
||||
if: github.ref_type == 'tag' || (github.ref == 'refs/heads/main' && github.event_name != 'pull_request')
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: write
|
||||
contents: read
|
||||
packages: write
|
||||
id-token: write
|
||||
outputs:
|
||||
build-status: ${{ job.status }}
|
||||
steps:
|
||||
- name: Read Secrets
|
||||
uses: rancher-eio/read-vault-secrets@main
|
||||
with:
|
||||
secrets: |
|
||||
secret/data/github/repo/${{ github.repository }}/dockerhub/rancher/credentials username | DOCKER_USERNAME ;
|
||||
secret/data/github/repo/${{ github.repository }}/dockerhub/rancher/credentials password | DOCKER_PASSWORD ;
|
||||
|
||||
- name: Checkout repository (normal flow)
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Enable Corepack
|
||||
run: corepack enable
|
||||
|
||||
- name: Configure Git
|
||||
run: |
|
||||
git config user.name 'github-actions[bot]'
|
||||
git config user.email 'github-actions[bot]@users.noreply.github.com'
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ env.DOCKER_USERNAME }}
|
||||
password: ${{ env.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Setup Helm
|
||||
uses: azure/setup-helm@v3
|
||||
with:
|
||||
version: v3.8.0
|
||||
|
||||
- name: Setup Nodejs with yarn caching
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
cache: yarn
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn
|
||||
|
||||
- name: Build and push UI image
|
||||
run: |
|
||||
publish="yarn publish-pkgs -cp -r ${{ inputs.registry_target }} -o ${{ inputs.registry_user }}"
|
||||
$publish
|
||||
140
.github/workflows/build-extension-on-merge.yml
vendored
140
.github/workflows/build-extension-on-merge.yml
vendored
@ -1,140 +0,0 @@
|
||||
name: Build and Release Extension Charts on PR Merge
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'release-harvester-v*'
|
||||
- 'main'
|
||||
|
||||
jobs:
|
||||
setup-target-branch:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
target_branch: ${{ steps.get-version.outputs.target_branch }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Determine target branch
|
||||
id: get-version
|
||||
run: |
|
||||
if [[ "${{ github.ref_name }}" == "main" ]]; then
|
||||
TARGET_BRANCH="main-head"
|
||||
elif [[ "${{ github.ref_name }}" =~ ^release-harvester-v([0-9]+\.[0-9]+)$ ]]; then
|
||||
TARGET_BRANCH="v${BASH_REMATCH[1]}-head"
|
||||
else
|
||||
echo "Error: invalid branch format." && exit 1
|
||||
fi
|
||||
|
||||
echo "target_branch=${TARGET_BRANCH}" >> $GITHUB_ENV
|
||||
echo "target_branch=${TARGET_BRANCH}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Ensure target branch exists
|
||||
run: |
|
||||
git fetch --all
|
||||
if ! git ls-remote --exit-code --heads origin "${{ env.target_branch }}"; then
|
||||
git checkout gh-pages
|
||||
git checkout -b "${{ env.target_branch }}"
|
||||
git push origin "${{ env.target_branch }}"
|
||||
fi
|
||||
|
||||
extract-version:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
version: ${{ steps.get_version.outputs.version }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Extract version from package.json
|
||||
id: get_version
|
||||
run: |
|
||||
VERSION=$(jq -r '.version' pkg/harvester/package.json)
|
||||
echo "VERSION=${VERSION}" >> $GITHUB_ENV
|
||||
echo "version=${VERSION}" >> $GITHUB_OUTPUT
|
||||
|
||||
build-extension-charts:
|
||||
needs:
|
||||
- setup-target-branch
|
||||
- extract-version
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup environment
|
||||
run: |
|
||||
corepack enable
|
||||
yarn install --frozen-lockfile
|
||||
|
||||
- name: Setup Helm
|
||||
uses: azure/setup-helm@v3
|
||||
with:
|
||||
version: v3.8.0
|
||||
|
||||
- name: Build Helm charts
|
||||
run: |
|
||||
yarn publish-pkgs -s ${{ github.repository }} -b ${{ needs.setup-target-branch.outputs.target_branch }} -t harvester-${{ needs.extract-version.outputs.version }}
|
||||
|
||||
- name: Upload charts artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: charts
|
||||
path: tmp
|
||||
|
||||
release:
|
||||
needs:
|
||||
- setup-target-branch
|
||||
- extract-version
|
||||
- build-extension-charts
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- name: Checkout release branch
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: '${{ github.ref_name }}'
|
||||
|
||||
- name: Get last commit hash
|
||||
id: last_commit
|
||||
run: |
|
||||
LAST_COMMIT=$(git rev-parse HEAD)
|
||||
echo "LAST_COMMIT=${LAST_COMMIT}" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout target branch
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: '${{ needs.setup-target-branch.outputs.target_branch }}'
|
||||
|
||||
- name: Remove old artifacts
|
||||
run: |
|
||||
rm -rf extensions/harvester/${{ needs.extract-version.outputs.version }}
|
||||
rm -rf charts/harvester/${{ needs.extract-version.outputs.version }}
|
||||
rm -f assets/harvester/harvester-${{ needs.extract-version.outputs.version }}.tgz
|
||||
|
||||
- name: Configure Git
|
||||
run: |
|
||||
git config user.name 'github-actions[bot]'
|
||||
git config user.email 'github-actions[bot]@users.noreply.github.com'
|
||||
|
||||
- name: Download build artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: charts
|
||||
|
||||
- name: Commit and push artifacts
|
||||
run: |
|
||||
git add ./{assets,charts,extensions,index.yaml}
|
||||
git commit -m "CI Build Artifacts (commit: ${{ env.LAST_COMMIT }}, version: ${{ needs.extract-version.outputs.version }})"
|
||||
git push origin ${{ needs.setup-target-branch.outputs.target_branch }}
|
||||
|
||||
- name: Run Helm chart releaser
|
||||
uses: helm/chart-releaser-action@v1.7.0
|
||||
with:
|
||||
charts_dir: ./charts
|
||||
env:
|
||||
CR_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
||||
CR_SKIP_EXISTING: true
|
||||
54
.github/workflows/build-extension-on-release.yml
vendored
54
.github/workflows/build-extension-on-release.yml
vendored
@ -1,54 +0,0 @@
|
||||
name: Build and Release Extension Charts on Release
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [released]
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
working-directory: ./
|
||||
|
||||
jobs:
|
||||
setup-release-tag:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
release_tag: ${{ steps.determine_tag.outputs.release_tag }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Determine release tag
|
||||
id: determine_tag
|
||||
run: |
|
||||
if [[ "${{ github.event.release.tag_name }}" =~ ^v([0-9]+\.[0-9]+\.[0-9]+)$ ]]; then
|
||||
RELEASE_TAG="harvester-${BASH_REMATCH[1]}"
|
||||
echo "${RELEASE_TAG}"
|
||||
echo "release_tag=${RELEASE_TAG}" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "Error: invalid tag format." && exit 1
|
||||
fi
|
||||
check-version:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Check package version
|
||||
env:
|
||||
TAG_VERSION: ${{ github.event.release.tag_name }}
|
||||
run: ./scripts/check-version.sh $TAG_VERSION
|
||||
|
||||
build-extension-charts:
|
||||
needs:
|
||||
- setup-release-tag
|
||||
- check-version
|
||||
uses: rancher/dashboard/.github/workflows/build-extension-charts.yml@master
|
||||
permissions:
|
||||
actions: write
|
||||
contents: write
|
||||
deployments: write
|
||||
pages: write
|
||||
with:
|
||||
target_branch: gh-pages
|
||||
tagged_release: '${{ needs.setup-release-tag.outputs.release_tag }}'
|
||||
31
.github/workflows/build-standalone-on-merge.yaml
vendored
31
.github/workflows/build-standalone-on-merge.yaml
vendored
@ -1,31 +0,0 @@
|
||||
name: Build Standalone on PR Merge
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- 'release-harvester-v*'
|
||||
- '*-dev'
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- 'release-harvester-v*'
|
||||
- '*-dev'
|
||||
types:
|
||||
- merged
|
||||
|
||||
jobs:
|
||||
build-validation:
|
||||
name: Build Test
|
||||
uses: ./.github/workflows/run-lint.yaml
|
||||
build:
|
||||
name: Build and Upload Package
|
||||
uses: ./.github/workflows/build-and-publish-standalone.yaml
|
||||
needs:
|
||||
- build-validation
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
id-token: write
|
||||
with:
|
||||
CI_BRANCH: ${{github.ref_name}}
|
||||
@ -1,27 +0,0 @@
|
||||
name: Build Standalone on Release
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v[1-9].*
|
||||
|
||||
jobs:
|
||||
check-version:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Check package version
|
||||
env:
|
||||
TAG_VERSION: ${{github.ref_name}}
|
||||
run: ./scripts/check-version.sh $TAG_VERSION
|
||||
|
||||
build:
|
||||
name: Build and Upload Package
|
||||
uses: ./.github/workflows/build-and-publish-standalone.yaml
|
||||
needs: check-version
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
id-token: write
|
||||
with:
|
||||
CI_BUILD_TAG: ${{github.ref_name}}
|
||||
34
.github/workflows/fossa.yml
vendored
34
.github/workflows/fossa.yml
vendored
@ -1,34 +0,0 @@
|
||||
name: FOSSA Scanning
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["main", "release-harvester-v*"]
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
|
||||
jobs:
|
||||
fossa-scanning:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
|
||||
# The FOSSA token is shared between all repos in Harvester's GH org. It can
|
||||
# be used directly and there is no need to request specific access to EIO.
|
||||
- name: Read FOSSA token
|
||||
uses: rancher-eio/read-vault-secrets@main
|
||||
with:
|
||||
secrets: |
|
||||
secret/data/github/org/harvester/fossa/credentials token | FOSSA_API_KEY_PUSH_ONLY
|
||||
|
||||
- name: FOSSA scan
|
||||
uses: fossas/fossa-action@main
|
||||
with:
|
||||
api-key: ${{ env.FOSSA_API_KEY_PUSH_ONLY }}
|
||||
# Only runs the scan and do not provide/returns any results back to the
|
||||
# pipeline.
|
||||
run-tests: false
|
||||
30
.github/workflows/release-label.yaml
vendored
30
.github/workflows/release-label.yaml
vendored
@ -1,30 +0,0 @@
|
||||
name: "[PR Management] Add PR Label"
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, reopened, edited]
|
||||
branches:
|
||||
- main
|
||||
- 'release-harvester-v*'
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
auto-assign-pr-label:
|
||||
if: github.event.pull_request.draft == false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.base_ref }}
|
||||
- name: Setup Nodejs and yarn install
|
||||
uses: ./.github/actions/setup
|
||||
- name: Set PR label
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
PR_LABEL=$(node ./scripts/extract-release-label.mjs "${{ github.event.pull_request.title }}")
|
||||
echo "PR_LABEL = $PR_LABEL"
|
||||
gh pr edit ${{ github.event.pull_request.number }} --repo ${{ github.repository }} --add-label "$PR_LABEL"
|
||||
73
.github/workflows/run-lint.yaml
vendored
73
.github/workflows/run-lint.yaml
vendored
@ -1,73 +0,0 @@
|
||||
name: Tests
|
||||
|
||||
on:
|
||||
workflow_call: # This tells GH that the workflow is reusable
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- 'release-*'
|
||||
pull_request:
|
||||
types: [opened, reopened, edited, synchronize]
|
||||
branches:
|
||||
- main
|
||||
- 'release-*'
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # Need full history for commit-lint
|
||||
|
||||
- name: Run tests
|
||||
uses: ./.github/actions/lint
|
||||
|
||||
- name: Validate PR title lint
|
||||
if: github.event_name == 'pull_request'
|
||||
shell: bash
|
||||
run: echo "${{ github.event.pull_request.title }}" | npx commitlint
|
||||
|
||||
- name: Validate commit messages
|
||||
shell: bash
|
||||
run: |
|
||||
echo "GITHUB_EVENT_NAME=$GITHUB_EVENT_NAME"
|
||||
echo "GITHUB_BASE_SHA=$GITHUB_BASE_SHA"
|
||||
echo "GITHUB_HEAD_SHA=$GITHUB_HEAD_SHA"
|
||||
echo "GITHUB_BEFORE=$GITHUB_BEFORE"
|
||||
echo "GITHUB_AFTER=$GITHUB_AFTER"
|
||||
|
||||
if [ "$GITHUB_EVENT_NAME" = "pull_request" ] && [ -n "$GITHUB_BASE_SHA" ] && [ -n "$GITHUB_HEAD_SHA" ]; then
|
||||
FROM="$GITHUB_BASE_SHA"
|
||||
TO="$GITHUB_HEAD_SHA"
|
||||
elif [ -n "$GITHUB_BEFORE" ] && [ -n "$GITHUB_AFTER" ]; then
|
||||
if [ "$GITHUB_BEFORE" = "0000000000000000000000000000000000000000" ]; then
|
||||
# first push to HEAD
|
||||
FROM=""
|
||||
TO="$GITHUB_AFTER"
|
||||
else
|
||||
FROM="$GITHUB_BEFORE"
|
||||
TO="$GITHUB_AFTER"
|
||||
fi
|
||||
else
|
||||
echo "No valid commit range found, skipping commitlint."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "FROM=$FROM"
|
||||
echo "TO=$TO"
|
||||
|
||||
if [ -z "$FROM" ]; then
|
||||
echo "Linting last commit $TO"
|
||||
npx commitlint --last --verbose
|
||||
|
||||
else
|
||||
echo "Linting commits from $FROM to $TO"
|
||||
npx commitlint --from "$FROM" --to "$TO" --verbose
|
||||
fi
|
||||
env:
|
||||
GITHUB_EVENT_NAME: ${{ github.event_name }}
|
||||
GITHUB_BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
||||
GITHUB_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
GITHUB_BEFORE: ${{ github.event.before }}
|
||||
GITHUB_AFTER: ${{ github.event.after }}
|
||||
74
.gitignore
vendored
74
.gitignore
vendored
@ -1,74 +0,0 @@
|
||||
# rancher shell
|
||||
.shell
|
||||
|
||||
# compiled output
|
||||
/dist
|
||||
/dist-pkg
|
||||
/tmp
|
||||
/out-tsc
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# IDEs and editors
|
||||
.idea
|
||||
.project
|
||||
.classpath
|
||||
.c9/
|
||||
*.launch
|
||||
.settings/
|
||||
*.sublime-workspace
|
||||
|
||||
# IDE - VSCode
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
|
||||
# misc
|
||||
.sass-cache
|
||||
connect.lock
|
||||
typings
|
||||
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
|
||||
# System Files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
@ -1 +0,0 @@
|
||||
npx --no -- commitlint --edit $1
|
||||
@ -1 +0,0 @@
|
||||
yarn lint
|
||||
9
.vscode/settings.json
vendored
9
.vscode/settings.json
vendored
@ -1,9 +0,0 @@
|
||||
{
|
||||
"files.exclude": {
|
||||
".ackrc": true,
|
||||
".editorconfig": true,
|
||||
".eslintcache": true,
|
||||
".nyc_output": true,
|
||||
"yarn-error.log": true
|
||||
}
|
||||
}
|
||||
201
LICENSE
201
LICENSE
@ -1,201 +0,0 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@ -7,7 +7,7 @@ The Harvester UI Extension is a Rancher extension that provides the user interfa
|
||||
|
||||
## Installation
|
||||
|
||||
For Harvester UI extension installation instructions, please refer to the page **Rancher Integration** -> **Harvester UI Extension** in [official Harvester documentation](https://docs.harvesterhci.io).
|
||||
For detailed installation instructions, please refer to the [official Harvester documentation](https://docs.harvesterhci.io/v1.5/rancher/harvester-ui-extension#installation-on-rancher-210).
|
||||
|
||||
|
||||
## Development Setup
|
||||
@ -163,7 +163,7 @@ If you want to contribute, start by reading this document, then visit our [Getti
|
||||
|
||||
## License
|
||||
|
||||
Copyright (c) 2014-2026 [SUSE, LLC.](https://www.suse.com/)
|
||||
Copyright (c) 2014-2025 [SUSE, LLC.](https://www.suse.com/)
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
BIN
assets/harvester/harvester-1.0.0.tgz
Normal file
BIN
assets/harvester/harvester-1.0.0.tgz
Normal file
Binary file not shown.
BIN
assets/harvester/harvester-1.0.1.tgz
Normal file
BIN
assets/harvester/harvester-1.0.1.tgz
Normal file
Binary file not shown.
BIN
assets/harvester/harvester-1.0.2.tgz
Normal file
BIN
assets/harvester/harvester-1.0.2.tgz
Normal file
Binary file not shown.
BIN
assets/harvester/harvester-1.0.3.tgz
Normal file
BIN
assets/harvester/harvester-1.0.3.tgz
Normal file
Binary file not shown.
BIN
assets/harvester/harvester-1.0.4.tgz
Normal file
BIN
assets/harvester/harvester-1.0.4.tgz
Normal file
Binary file not shown.
BIN
assets/harvester/harvester-1.0.5.tgz
Normal file
BIN
assets/harvester/harvester-1.0.5.tgz
Normal file
Binary file not shown.
BIN
assets/harvester/harvester-1.0.6.tgz
Normal file
BIN
assets/harvester/harvester-1.0.6.tgz
Normal file
Binary file not shown.
BIN
assets/harvester/harvester-1.5.0.tgz
Normal file
BIN
assets/harvester/harvester-1.5.0.tgz
Normal file
Binary file not shown.
BIN
assets/harvester/harvester-1.5.1.tgz
Normal file
BIN
assets/harvester/harvester-1.5.1.tgz
Normal file
Binary file not shown.
BIN
assets/harvester/harvester-1.5.2.tgz
Normal file
BIN
assets/harvester/harvester-1.5.2.tgz
Normal file
Binary file not shown.
BIN
assets/harvester/harvester-1.6.0.tgz
Normal file
BIN
assets/harvester/harvester-1.6.0.tgz
Normal file
Binary file not shown.
BIN
assets/harvester/harvester-1.6.1.tgz
Normal file
BIN
assets/harvester/harvester-1.6.1.tgz
Normal file
Binary file not shown.
BIN
assets/harvester/harvester-1.7.0.tgz
Normal file
BIN
assets/harvester/harvester-1.7.0.tgz
Normal file
Binary file not shown.
BIN
assets/harvester/harvester-1.7.1.tgz
Normal file
BIN
assets/harvester/harvester-1.7.1.tgz
Normal file
Binary file not shown.
312
assets/index.yaml
Normal file
312
assets/index.yaml
Normal file
@ -0,0 +1,312 @@
|
||||
apiVersion: v1
|
||||
entries:
|
||||
harvester:
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.13.0-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.7.1
|
||||
created: "2026-02-09T01:38:47.352758035Z"
|
||||
description: Rancher UI Extension for Harvester
|
||||
digest: c570a3e3c94e82ead235d9466bac185d7b598900475deab0252d41164e9ee8b6
|
||||
icon: https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
name: harvester
|
||||
type: application
|
||||
urls:
|
||||
- assets/harvester/harvester-1.7.1.tgz
|
||||
version: 1.7.1
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.13.0-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.7.0
|
||||
created: "2025-12-22T05:51:53.138074031Z"
|
||||
description: Rancher UI Extension for Harvester
|
||||
digest: cd5c5510f7ae950080515d45a8fdff4e4783bb5f84aa1a3137beea9b31c36ca4
|
||||
icon: https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
name: harvester
|
||||
type: application
|
||||
urls:
|
||||
- assets/harvester/harvester-1.7.0.tgz
|
||||
version: 1.7.0
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.12.0-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.6.1
|
||||
created: "2025-10-16T04:39:45.574842313Z"
|
||||
description: Rancher UI Extension for Harvester
|
||||
digest: df703aaada94422091572b9688a99bb307ed4554d97e170bf33672f1be24fbec
|
||||
icon: https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
name: harvester
|
||||
type: application
|
||||
urls:
|
||||
- assets/harvester/harvester-1.6.1.tgz
|
||||
version: 1.6.1
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.12.0-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.6.0
|
||||
created: "2025-08-26T03:29:21.033664392Z"
|
||||
description: Rancher UI Extension for Harvester
|
||||
digest: 909af8d2367e4c7efe00d3ed652f08de754e6649f4918f4ed2061c07ae1d3d80
|
||||
icon: https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
name: harvester
|
||||
type: application
|
||||
urls:
|
||||
- assets/harvester/harvester-1.6.0.tgz
|
||||
version: 1.6.0
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.11.0-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.5.2
|
||||
created: "2025-09-17T03:07:46.804461872Z"
|
||||
description: Rancher UI Extension for Harvester
|
||||
digest: 87cf31646a9b992062fcfe814141a4d94e08084fd90beb4d7013ca76c166282a
|
||||
icon: https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
name: harvester
|
||||
type: application
|
||||
urls:
|
||||
- assets/harvester/harvester-1.5.2.tgz
|
||||
version: 1.5.2
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.11.0-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.5.1
|
||||
created: "2025-06-27T09:48:21.367483564Z"
|
||||
description: Rancher UI Extension for Harvester
|
||||
digest: babe61b6d79da2e3aff8cb728b0ba199b452aede7415e4c0f0f7fa64db2753cd
|
||||
icon: https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
name: harvester
|
||||
type: application
|
||||
urls:
|
||||
- assets/harvester/harvester-1.5.1.tgz
|
||||
version: 1.5.1
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.11.0-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.5.0
|
||||
created: "2025-04-25T02:20:26.600866687Z"
|
||||
description: Rancher UI Extension for Harvester
|
||||
digest: 5e1afb0097c5462f993a05a9349a15a60b469f640c767a3c93b6bcc80d3c44ac
|
||||
icon: https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
name: harvester
|
||||
type: application
|
||||
urls:
|
||||
- assets/harvester/harvester-1.5.0.tgz
|
||||
version: 1.5.0
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.1-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.6
|
||||
created: "2025-05-26T06:32:05.860124157Z"
|
||||
description: Rancher UI Extension for Harvester
|
||||
digest: 96a36d27d133efa201ab66d90ef836a0d3d77f6545644072be28171401a3ae63
|
||||
icon: https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
name: harvester
|
||||
type: application
|
||||
urls:
|
||||
- assets/harvester/harvester-1.0.6.tgz
|
||||
version: 1.0.6
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.1-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.5
|
||||
created: "2025-04-09T06:25:21.340042447Z"
|
||||
description: Rancher UI Extension for Harvester
|
||||
digest: fa5abbe0e45e49503ae2c7a02d51a0a04712a89e2e37580492f049a4c2d21f56
|
||||
icon: https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
name: harvester
|
||||
type: application
|
||||
urls:
|
||||
- assets/harvester/harvester-1.0.5.tgz
|
||||
version: 1.0.5
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.1-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.4
|
||||
created: "2025-03-12T04:29:44.860530676Z"
|
||||
description: Rancher UI Extension for Harvester
|
||||
digest: dd764576608dc58afb8a295465e5d96eb62465f81619b8b330431049d6abc620
|
||||
icon: https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
name: harvester
|
||||
type: application
|
||||
urls:
|
||||
- assets/harvester/harvester-1.0.4.tgz
|
||||
version: 1.0.4
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.1-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.3
|
||||
created: "2025-01-23T09:53:53.344703+08:00"
|
||||
description: Rancher UI Extension for Harvester
|
||||
digest: 5c48a041bf53352b577b676b00cdbaa33111d6e56dc0ef3c6b4e3356af8fa7e6
|
||||
icon: https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
name: harvester
|
||||
type: application
|
||||
urls:
|
||||
- assets/harvester/harvester-1.0.3.tgz
|
||||
version: 1.0.3
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.1-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.2
|
||||
created: "2024-12-11T16:31:27.652133344+01:00"
|
||||
description: Rancher UI Extension for Harvester
|
||||
digest: f67131b4885906997f72215207b26758fafaeef0fb499d76c5f44d37e4fcbcd3
|
||||
icon: https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
name: harvester
|
||||
type: application
|
||||
urls:
|
||||
- assets/harvester/harvester-1.0.2.tgz
|
||||
version: 1.0.2
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.1-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.1
|
||||
created: "2024-12-05T10:00:30.505664281+01:00"
|
||||
description: Rancher UI Extension for Harvester
|
||||
digest: 1a913ee87fc9b99b3f98f6782910288e6b3c704ad4deec4d449aab5fd981b698
|
||||
icon: https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
name: harvester
|
||||
type: application
|
||||
urls:
|
||||
- assets/harvester/harvester-1.0.1.tgz
|
||||
version: 1.0.1
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.0-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0-0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.0
|
||||
created: "2024-11-13T11:07:57.455463377+01:00"
|
||||
description: Rancher UI Extension for Harvester
|
||||
digest: 3ef724e6bf906c1cfa691a43e7c9be737a9bc2fc0b3df6d227fac05adf0aea04
|
||||
icon: https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
name: harvester
|
||||
type: application
|
||||
urls:
|
||||
- assets/harvester/harvester-1.0.0.tgz
|
||||
version: 1.0.0
|
||||
generated: "2026-02-09T01:38:47.351589605Z"
|
||||
@ -1 +0,0 @@
|
||||
module.exports = require('@rancher/shell/babel.config.js');
|
||||
19
charts/harvester/1.0.0/Chart.yaml
Normal file
19
charts/harvester/1.0.0/Chart.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.0-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0-0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.0
|
||||
description: Rancher UI Extension for Harvester
|
||||
name: harvester
|
||||
type: application
|
||||
version: 1.0.0
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
63
charts/harvester/1.0.0/templates/_helpers.tpl
Normal file
63
charts/harvester/1.0.0/templates/_helpers.tpl
Normal file
@ -0,0 +1,63 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "extension-server.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "extension-server.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "extension-server.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "extension-server.labels" -}}
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "extension-server.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "extension-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Pkg annotations
|
||||
*/}}
|
||||
{{- define "extension-server.pluginMetadata" -}}
|
||||
{{- with .Values.plugin.metadata }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
14
charts/harvester/1.0.0/templates/cr.yaml
Normal file
14
charts/harvester/1.0.0/templates/cr.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
apiVersion: catalog.cattle.io/v1
|
||||
kind: UIPlugin
|
||||
metadata:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{ include "extension-server.labels" . | nindent 4 }}
|
||||
spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.0.0
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
||||
12
charts/harvester/1.0.0/values.yaml
Normal file
12
charts/harvester/1.0.0/values.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
plugin:
|
||||
enabled: true
|
||||
versionOverride: ""
|
||||
noCache: false
|
||||
noAuth: false
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: ">= 1.16.0-0"
|
||||
catalog.cattle.io/rancher-version: ">= 2.10.0-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0-0"
|
||||
19
charts/harvester/1.0.1/Chart.yaml
Normal file
19
charts/harvester/1.0.1/Chart.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.1-0'
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.1
|
||||
description: Rancher UI Extension for Harvester
|
||||
name: harvester
|
||||
type: application
|
||||
version: 1.0.1
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
63
charts/harvester/1.0.1/templates/_helpers.tpl
Normal file
63
charts/harvester/1.0.1/templates/_helpers.tpl
Normal file
@ -0,0 +1,63 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "extension-server.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "extension-server.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "extension-server.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "extension-server.labels" -}}
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "extension-server.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "extension-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Pkg annotations
|
||||
*/}}
|
||||
{{- define "extension-server.pluginMetadata" -}}
|
||||
{{- with .Values.plugin.metadata }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
14
charts/harvester/1.0.1/templates/cr.yaml
Normal file
14
charts/harvester/1.0.1/templates/cr.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
apiVersion: catalog.cattle.io/v1
|
||||
kind: UIPlugin
|
||||
metadata:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{ include "extension-server.labels" . | nindent 4 }}
|
||||
spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.0.1
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
||||
12
charts/harvester/1.0.1/values.yaml
Normal file
12
charts/harvester/1.0.1/values.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
plugin:
|
||||
enabled: true
|
||||
versionOverride: ""
|
||||
noCache: false
|
||||
noAuth: false
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: ">= 1.16.0-0"
|
||||
catalog.cattle.io/rancher-version: ">= 2.10.1-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
19
charts/harvester/1.0.2/Chart.yaml
Normal file
19
charts/harvester/1.0.2/Chart.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.1-0'
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.2
|
||||
description: Rancher UI Extension for Harvester
|
||||
name: harvester
|
||||
type: application
|
||||
version: 1.0.2
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
63
charts/harvester/1.0.2/templates/_helpers.tpl
Normal file
63
charts/harvester/1.0.2/templates/_helpers.tpl
Normal file
@ -0,0 +1,63 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "extension-server.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "extension-server.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "extension-server.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "extension-server.labels" -}}
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "extension-server.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "extension-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Pkg annotations
|
||||
*/}}
|
||||
{{- define "extension-server.pluginMetadata" -}}
|
||||
{{- with .Values.plugin.metadata }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
14
charts/harvester/1.0.2/templates/cr.yaml
Normal file
14
charts/harvester/1.0.2/templates/cr.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
apiVersion: catalog.cattle.io/v1
|
||||
kind: UIPlugin
|
||||
metadata:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{ include "extension-server.labels" . | nindent 4 }}
|
||||
spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.0.2
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
||||
12
charts/harvester/1.0.2/values.yaml
Normal file
12
charts/harvester/1.0.2/values.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
plugin:
|
||||
enabled: true
|
||||
versionOverride: ""
|
||||
noCache: false
|
||||
noAuth: false
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: ">= 1.16.0-0"
|
||||
catalog.cattle.io/rancher-version: ">= 2.10.1-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
19
charts/harvester/1.0.3/Chart.yaml
Normal file
19
charts/harvester/1.0.3/Chart.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.1-0'
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.3
|
||||
description: Rancher UI Extension for Harvester
|
||||
name: harvester
|
||||
type: application
|
||||
version: 1.0.3
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
63
charts/harvester/1.0.3/templates/_helpers.tpl
Normal file
63
charts/harvester/1.0.3/templates/_helpers.tpl
Normal file
@ -0,0 +1,63 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "extension-server.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "extension-server.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "extension-server.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "extension-server.labels" -}}
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "extension-server.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "extension-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Pkg annotations
|
||||
*/}}
|
||||
{{- define "extension-server.pluginMetadata" -}}
|
||||
{{- with .Values.plugin.metadata }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
14
charts/harvester/1.0.3/templates/cr.yaml
Normal file
14
charts/harvester/1.0.3/templates/cr.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
apiVersion: catalog.cattle.io/v1
|
||||
kind: UIPlugin
|
||||
metadata:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{ include "extension-server.labels" . | nindent 4 }}
|
||||
spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.0.3
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
||||
12
charts/harvester/1.0.3/values.yaml
Normal file
12
charts/harvester/1.0.3/values.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
plugin:
|
||||
enabled: true
|
||||
versionOverride: ""
|
||||
noCache: false
|
||||
noAuth: false
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: ">= 1.16.0-0"
|
||||
catalog.cattle.io/rancher-version: ">= 2.10.1-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
19
charts/harvester/1.0.4/Chart.yaml
Normal file
19
charts/harvester/1.0.4/Chart.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.1-0'
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.4
|
||||
description: Rancher UI Extension for Harvester
|
||||
name: harvester
|
||||
type: application
|
||||
version: 1.0.4
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
63
charts/harvester/1.0.4/templates/_helpers.tpl
Normal file
63
charts/harvester/1.0.4/templates/_helpers.tpl
Normal file
@ -0,0 +1,63 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "extension-server.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "extension-server.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "extension-server.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "extension-server.labels" -}}
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "extension-server.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "extension-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Pkg annotations
|
||||
*/}}
|
||||
{{- define "extension-server.pluginMetadata" -}}
|
||||
{{- with .Values.plugin.metadata }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
14
charts/harvester/1.0.4/templates/cr.yaml
Normal file
14
charts/harvester/1.0.4/templates/cr.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
apiVersion: catalog.cattle.io/v1
|
||||
kind: UIPlugin
|
||||
metadata:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{ include "extension-server.labels" . | nindent 4 }}
|
||||
spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.0.4
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
||||
12
charts/harvester/1.0.4/values.yaml
Normal file
12
charts/harvester/1.0.4/values.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
plugin:
|
||||
enabled: true
|
||||
versionOverride: ""
|
||||
noCache: false
|
||||
noAuth: false
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: ">= 1.16.0-0"
|
||||
catalog.cattle.io/rancher-version: ">= 2.10.1-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
19
charts/harvester/1.0.5/Chart.yaml
Normal file
19
charts/harvester/1.0.5/Chart.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.1-0'
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.5
|
||||
description: Rancher UI Extension for Harvester
|
||||
name: harvester
|
||||
type: application
|
||||
version: 1.0.5
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
63
charts/harvester/1.0.5/templates/_helpers.tpl
Normal file
63
charts/harvester/1.0.5/templates/_helpers.tpl
Normal file
@ -0,0 +1,63 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "extension-server.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "extension-server.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "extension-server.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "extension-server.labels" -}}
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "extension-server.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "extension-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Pkg annotations
|
||||
*/}}
|
||||
{{- define "extension-server.pluginMetadata" -}}
|
||||
{{- with .Values.plugin.metadata }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
14
charts/harvester/1.0.5/templates/cr.yaml
Normal file
14
charts/harvester/1.0.5/templates/cr.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
apiVersion: catalog.cattle.io/v1
|
||||
kind: UIPlugin
|
||||
metadata:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{ include "extension-server.labels" . | nindent 4 }}
|
||||
spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.0.5
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
||||
12
charts/harvester/1.0.5/values.yaml
Normal file
12
charts/harvester/1.0.5/values.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
plugin:
|
||||
enabled: true
|
||||
versionOverride: ""
|
||||
noCache: false
|
||||
noAuth: false
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: ">= 1.16.0-0"
|
||||
catalog.cattle.io/rancher-version: ">= 2.10.1-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
19
charts/harvester/1.0.6/Chart.yaml
Normal file
19
charts/harvester/1.0.6/Chart.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/rancher-version: '>= 2.10.1-0'
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.0.6
|
||||
description: Rancher UI Extension for Harvester
|
||||
name: harvester
|
||||
type: application
|
||||
version: 1.0.6
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
63
charts/harvester/1.0.6/templates/_helpers.tpl
Normal file
63
charts/harvester/1.0.6/templates/_helpers.tpl
Normal file
@ -0,0 +1,63 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "extension-server.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "extension-server.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "extension-server.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "extension-server.labels" -}}
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "extension-server.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "extension-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Pkg annotations
|
||||
*/}}
|
||||
{{- define "extension-server.pluginMetadata" -}}
|
||||
{{- with .Values.plugin.metadata }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
14
charts/harvester/1.0.6/templates/cr.yaml
Normal file
14
charts/harvester/1.0.6/templates/cr.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
apiVersion: catalog.cattle.io/v1
|
||||
kind: UIPlugin
|
||||
metadata:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{ include "extension-server.labels" . | nindent 4 }}
|
||||
spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.0.6
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
||||
12
charts/harvester/1.0.6/values.yaml
Normal file
12
charts/harvester/1.0.6/values.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
plugin:
|
||||
enabled: true
|
||||
versionOverride: ""
|
||||
noCache: false
|
||||
noAuth: false
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: ">= 1.16.0-0"
|
||||
catalog.cattle.io/rancher-version: ">= 2.10.1-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
19
charts/harvester/1.5.0/Chart.yaml
Normal file
19
charts/harvester/1.5.0/Chart.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/rancher-version: '>= 2.11.0-0'
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.5.0
|
||||
description: Rancher UI Extension for Harvester
|
||||
name: harvester
|
||||
type: application
|
||||
version: 1.5.0
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
63
charts/harvester/1.5.0/templates/_helpers.tpl
Normal file
63
charts/harvester/1.5.0/templates/_helpers.tpl
Normal file
@ -0,0 +1,63 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "extension-server.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "extension-server.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "extension-server.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "extension-server.labels" -}}
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "extension-server.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "extension-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Pkg annotations
|
||||
*/}}
|
||||
{{- define "extension-server.pluginMetadata" -}}
|
||||
{{- with .Values.plugin.metadata }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
14
charts/harvester/1.5.0/templates/cr.yaml
Normal file
14
charts/harvester/1.5.0/templates/cr.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
apiVersion: catalog.cattle.io/v1
|
||||
kind: UIPlugin
|
||||
metadata:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{ include "extension-server.labels" . | nindent 4 }}
|
||||
spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.5.0
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
||||
12
charts/harvester/1.5.0/values.yaml
Normal file
12
charts/harvester/1.5.0/values.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
plugin:
|
||||
enabled: true
|
||||
versionOverride: ""
|
||||
noCache: false
|
||||
noAuth: false
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: ">= 1.16.0-0"
|
||||
catalog.cattle.io/rancher-version: ">= 2.11.0-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
19
charts/harvester/1.5.1/Chart.yaml
Normal file
19
charts/harvester/1.5.1/Chart.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/rancher-version: '>= 2.11.0-0'
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.5.1
|
||||
description: Rancher UI Extension for Harvester
|
||||
name: harvester
|
||||
type: application
|
||||
version: 1.5.1
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
63
charts/harvester/1.5.1/templates/_helpers.tpl
Normal file
63
charts/harvester/1.5.1/templates/_helpers.tpl
Normal file
@ -0,0 +1,63 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "extension-server.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "extension-server.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "extension-server.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "extension-server.labels" -}}
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "extension-server.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "extension-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Pkg annotations
|
||||
*/}}
|
||||
{{- define "extension-server.pluginMetadata" -}}
|
||||
{{- with .Values.plugin.metadata }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
14
charts/harvester/1.5.1/templates/cr.yaml
Normal file
14
charts/harvester/1.5.1/templates/cr.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
apiVersion: catalog.cattle.io/v1
|
||||
kind: UIPlugin
|
||||
metadata:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{ include "extension-server.labels" . | nindent 4 }}
|
||||
spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.5.1
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
||||
12
charts/harvester/1.5.1/values.yaml
Normal file
12
charts/harvester/1.5.1/values.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
plugin:
|
||||
enabled: true
|
||||
versionOverride: ""
|
||||
noCache: false
|
||||
noAuth: false
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: ">= 1.16.0-0"
|
||||
catalog.cattle.io/rancher-version: ">= 2.11.0-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
19
charts/harvester/1.5.2/Chart.yaml
Normal file
19
charts/harvester/1.5.2/Chart.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/rancher-version: '>= 2.11.0-0'
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.5.2
|
||||
description: Rancher UI Extension for Harvester
|
||||
name: harvester
|
||||
type: application
|
||||
version: 1.5.2
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
63
charts/harvester/1.5.2/templates/_helpers.tpl
Normal file
63
charts/harvester/1.5.2/templates/_helpers.tpl
Normal file
@ -0,0 +1,63 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "extension-server.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "extension-server.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "extension-server.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "extension-server.labels" -}}
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "extension-server.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "extension-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Pkg annotations
|
||||
*/}}
|
||||
{{- define "extension-server.pluginMetadata" -}}
|
||||
{{- with .Values.plugin.metadata }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
14
charts/harvester/1.5.2/templates/cr.yaml
Normal file
14
charts/harvester/1.5.2/templates/cr.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
apiVersion: catalog.cattle.io/v1
|
||||
kind: UIPlugin
|
||||
metadata:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{ include "extension-server.labels" . | nindent 4 }}
|
||||
spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.5.2
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
||||
12
charts/harvester/1.5.2/values.yaml
Normal file
12
charts/harvester/1.5.2/values.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
plugin:
|
||||
enabled: true
|
||||
versionOverride: ""
|
||||
noCache: false
|
||||
noAuth: false
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: ">= 1.16.0-0"
|
||||
catalog.cattle.io/rancher-version: ">= 2.11.0-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
19
charts/harvester/1.6.0/Chart.yaml
Normal file
19
charts/harvester/1.6.0/Chart.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/rancher-version: '>= 2.12.0-0'
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.6.0
|
||||
description: Rancher UI Extension for Harvester
|
||||
name: harvester
|
||||
type: application
|
||||
version: 1.6.0
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
63
charts/harvester/1.6.0/templates/_helpers.tpl
Normal file
63
charts/harvester/1.6.0/templates/_helpers.tpl
Normal file
@ -0,0 +1,63 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "extension-server.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "extension-server.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "extension-server.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "extension-server.labels" -}}
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | replace "+" "_" | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "extension-server.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "extension-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Pkg annotations
|
||||
*/}}
|
||||
{{- define "extension-server.pluginMetadata" -}}
|
||||
{{- with .Values.plugin.metadata }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
15
charts/harvester/1.6.0/templates/cr.yaml
Normal file
15
charts/harvester/1.6.0/templates/cr.yaml
Normal file
@ -0,0 +1,15 @@
|
||||
apiVersion: catalog.cattle.io/v1
|
||||
kind: UIPlugin
|
||||
metadata:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{ include "extension-server.labels" . | nindent 4 }}
|
||||
spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: {{ .Values.plugin.endpoint | quote }}
|
||||
compressedEndpoint: {{ .Values.plugin.compressedEndpoint | quote }}
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
||||
16
charts/harvester/1.6.0/values.yaml
Normal file
16
charts/harvester/1.6.0/values.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
plugin:
|
||||
enabled: true
|
||||
versionOverride: ""
|
||||
endpoint: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.6.0
|
||||
compressedEndpoint: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.6.0.tgz
|
||||
noCache: false
|
||||
noAuth: false
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: ">= 1.16.0-0"
|
||||
catalog.cattle.io/rancher-version: ">= 2.12.0-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
19
charts/harvester/1.6.1/Chart.yaml
Normal file
19
charts/harvester/1.6.1/Chart.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/rancher-version: '>= 2.12.0-0'
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.6.1
|
||||
description: Rancher UI Extension for Harvester
|
||||
name: harvester
|
||||
type: application
|
||||
version: 1.6.1
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
63
charts/harvester/1.6.1/templates/_helpers.tpl
Normal file
63
charts/harvester/1.6.1/templates/_helpers.tpl
Normal file
@ -0,0 +1,63 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "extension-server.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "extension-server.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "extension-server.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "extension-server.labels" -}}
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | replace "+" "_" | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "extension-server.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "extension-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Pkg annotations
|
||||
*/}}
|
||||
{{- define "extension-server.pluginMetadata" -}}
|
||||
{{- with .Values.plugin.metadata }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
15
charts/harvester/1.6.1/templates/cr.yaml
Normal file
15
charts/harvester/1.6.1/templates/cr.yaml
Normal file
@ -0,0 +1,15 @@
|
||||
apiVersion: catalog.cattle.io/v1
|
||||
kind: UIPlugin
|
||||
metadata:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{ include "extension-server.labels" . | nindent 4 }}
|
||||
spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: {{ .Values.plugin.endpoint | quote }}
|
||||
compressedEndpoint: {{ .Values.plugin.compressedEndpoint | quote }}
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
||||
16
charts/harvester/1.6.1/values.yaml
Normal file
16
charts/harvester/1.6.1/values.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
plugin:
|
||||
enabled: true
|
||||
versionOverride: ""
|
||||
endpoint: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.6.1
|
||||
compressedEndpoint: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.6.1.tgz
|
||||
noCache: false
|
||||
noAuth: false
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: ">= 1.16.0-0"
|
||||
catalog.cattle.io/rancher-version: ">= 2.12.0-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
19
charts/harvester/1.7.0/Chart.yaml
Normal file
19
charts/harvester/1.7.0/Chart.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/rancher-version: '>= 2.13.0-0'
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.7.0
|
||||
description: Rancher UI Extension for Harvester
|
||||
name: harvester
|
||||
type: application
|
||||
version: 1.7.0
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
178
charts/harvester/1.7.0/README.md
Normal file
178
charts/harvester/1.7.0/README.md
Normal file
@ -0,0 +1,178 @@
|
||||
# harvester-ui-extension
|
||||
|
||||
The Harvester UI Extension is a Rancher extension that provides the user interface for [Harvester](https://harvesterhci.io) within the [Rancher Dashboard](https://github.com/rancher/dashboard).
|
||||
|
||||
> **Note:**
|
||||
> This extension is available starting from **Rancher 2.10.0**. Ensure your Rancher version is **2.10.0 or later** to access Harvester integration.
|
||||
|
||||
## Installation
|
||||
|
||||
For detailed installation instructions, please refer to the [official Harvester documentation](https://docs.harvesterhci.io/v1.5/rancher/harvester-ui-extension#installation-on-rancher-210).
|
||||
|
||||
|
||||
## Development Setup
|
||||
|
||||
Ensure **Node.js v20 or later** is installed for development and debugging.
|
||||
|
||||
### Standalone Mode
|
||||
|
||||
Run the extension standalone with hot reload at `https://localhost:8005`.
|
||||
|
||||
```bash
|
||||
# Install dependencies
|
||||
yarn install
|
||||
|
||||
# Start the development server
|
||||
RANCHER_ENV=harvester API=https://your-harvester-ip yarn dev
|
||||
|
||||
# Example with specific server version
|
||||
RANCHER_ENV=harvester VUE_APP_SERVER_VERSION=v1.5.0 API=https://192.168.1.123 yarn dev
|
||||
```
|
||||
|
||||
You may also define environment variables in a `.env` file:
|
||||
|
||||
```env
|
||||
RANCHER_ENV=harvester
|
||||
VUE_APP_SERVER_VERSION=v1.5.0
|
||||
API=https://192.168.1.123
|
||||
```
|
||||
|
||||
### Rancher Integration Mode
|
||||
|
||||
To run as a Rancher extension, follow the [Rancher UI Extension Guide](https://extensions.rancher.io/extensions/next/extensions-getting-started#running-the-app).
|
||||
|
||||
```bash
|
||||
API=https://your-rancher-ip yarn dev
|
||||
```
|
||||
|
||||
## Commit Message Guidelines
|
||||
|
||||
This project uses [commit-lint](https://commitlint.js.org/) with [Conventional Commits](https://www.conventionalcommits.org/) to ensure consistent and meaningful commit messages.
|
||||
|
||||
### Commit Message Format
|
||||
|
||||
All commit messages must follow the conventional commit format:
|
||||
|
||||
```
|
||||
<type>[optional scope]: <description>
|
||||
|
||||
[optional body]
|
||||
|
||||
[optional footer(s)]
|
||||
```
|
||||
|
||||
### Supported Types
|
||||
|
||||
- **feat**: New features
|
||||
- **fix**: Bug fixes
|
||||
- **docs**: Documentation changes
|
||||
- **style**: Code style changes (formatting, missing semicolons, etc.)
|
||||
- **refactor**: Code refactoring
|
||||
- **perf**: Performance improvements
|
||||
- **test**: Adding or updating tests
|
||||
- **build**: Build system or external dependencies
|
||||
- **ci**: CI/CD changes
|
||||
- **chore**: Other changes that don't modify src or test files
|
||||
- **revert**: Reverts a previous commit
|
||||
- **wip**: Work in progress
|
||||
- **deps**: Dependency updates
|
||||
- **security**: Security fixes
|
||||
|
||||
### Examples
|
||||
|
||||
```bash
|
||||
# Feature
|
||||
git commit -m "feat: add new virtual machine creation wizard"
|
||||
|
||||
# Bug fix
|
||||
git commit -m "fix: resolve memory leak in VM console"
|
||||
|
||||
# Documentation
|
||||
git commit -m "docs: update installation instructions"
|
||||
|
||||
# Breaking change
|
||||
git commit -m "feat!: change API endpoint structure
|
||||
|
||||
BREAKING CHANGE: The /api/v1/vms endpoint has been replaced with /api/v2/vms"
|
||||
```
|
||||
|
||||
### Git Hooks
|
||||
|
||||
The project uses [Husky](https://typicode.github.io/husky/) to automatically validate commit messages and run linting before commits:
|
||||
|
||||
- **pre-commit**: Runs ESLint to ensure code quality
|
||||
- **commit-msg**: Validates commit message format using commit-lint
|
||||
|
||||
These hooks are automatically installed when you run `yarn install`.
|
||||
|
||||
### Manual Validation
|
||||
|
||||
You can manually validate commit messages:
|
||||
|
||||
```bash
|
||||
# Validate the last commit
|
||||
yarn commitlint
|
||||
|
||||
# Validate a specific commit
|
||||
npx commitlint --from <commit-hash>
|
||||
|
||||
# Validate a range of commits
|
||||
npx commitlint --from <start-hash> --to <end-hash>
|
||||
```
|
||||
|
||||
## Branch Structure
|
||||
|
||||
- **`main`** – Main development branch
|
||||
- **`release-harvester-vX.Y`** – Stable release branches per version series
|
||||
- **`vX.Y-head`** – Testing branches for ongoing changes to extension builds in each release series
|
||||
|
||||
> **Note:**
|
||||
> The `vX.Y-head` branches are auto-generated and kept in sync with release branches. Use these for testing the latest changes in each version series.
|
||||
|
||||
## Testing Guidelines
|
||||
|
||||
### UI Extension Testing
|
||||
|
||||
To validate changes in a release series, switch to the appropriate `vX.Y-head` branch. For main branch testing, use `main-head`.
|
||||
|
||||
- Examples:
|
||||
- Test `1.0.x` series → `v1.0-head`
|
||||
- Test `1.5.x` series → `v1.5-head`
|
||||
|
||||
**Steps:**
|
||||
1. Navigate to **Rancher UI** → **Local** → **App** → **Repositories**
|
||||
2. Refresh the Harvester repository using the target `vX.Y-head` branch
|
||||
3. Go to the **Extensions** page and install the desired version
|
||||
|
||||
### Standalone Mode Testing
|
||||
|
||||
To test the standalone UI, configure Harvester to load the UI from an external source.
|
||||
|
||||
- Examples of `ui-index`:
|
||||
- Main branch → `https://releases.rancher.com/harvester-ui/dashboard/latest/index.html`
|
||||
- Release series `1.5.x` → `https://releases.rancher.com/harvester-ui/dashboard/release-harvester-v1.5/index.html`
|
||||
|
||||
**Steps:**
|
||||
1. Go to **Harvester UI** → **Advanced** → **Settings** → **UI**
|
||||
2. Set **ui-source** to `External`
|
||||
3. Set **ui-index** to the desired URL
|
||||
|
||||
## Contributing
|
||||
|
||||
If you want to contribute, start by reading this document, then visit our [Getting Started guide](https://extensions.rancher.io/extensions/next/extensions-getting-started) to learn how to develop and submit changes.
|
||||
|
||||
## License
|
||||
|
||||
Copyright (c) 2014-2025 [SUSE, LLC.](https://www.suse.com/)
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
[http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
63
charts/harvester/1.7.0/templates/_helpers.tpl
Normal file
63
charts/harvester/1.7.0/templates/_helpers.tpl
Normal file
@ -0,0 +1,63 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "extension-server.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "extension-server.fullname" -}}
|
||||
{{- if .Values.fullnameOverride }}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "extension-server.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "extension-server.labels" -}}
|
||||
helm.sh/chart: {{ include "extension-server.chart" . }}
|
||||
{{ include "extension-server.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | replace "+" "_" | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "extension-server.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "extension-server.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Pkg annotations
|
||||
*/}}
|
||||
{{- define "extension-server.pluginMetadata" -}}
|
||||
{{- with .Values.plugin.metadata }}
|
||||
{{- range $key, $value := . }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
15
charts/harvester/1.7.0/templates/cr.yaml
Normal file
15
charts/harvester/1.7.0/templates/cr.yaml
Normal file
@ -0,0 +1,15 @@
|
||||
apiVersion: catalog.cattle.io/v1
|
||||
kind: UIPlugin
|
||||
metadata:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels: {{ include "extension-server.labels" . | nindent 4 }}
|
||||
spec:
|
||||
plugin:
|
||||
name: {{ include "extension-server.fullname" . }}
|
||||
version: {{ (semver (default .Chart.AppVersion .Values.plugin.versionOverride)).Original }}
|
||||
endpoint: {{ .Values.plugin.endpoint | quote }}
|
||||
compressedEndpoint: {{ .Values.plugin.compressedEndpoint | quote }}
|
||||
noCache: {{ .Values.plugin.noCache }}
|
||||
noAuth: {{ .Values.plugin.noAuth }}
|
||||
metadata: {{ include "extension-server.pluginMetadata" . | indent 6 }}
|
||||
16
charts/harvester/1.7.0/values.yaml
Normal file
16
charts/harvester/1.7.0/values.yaml
Normal file
@ -0,0 +1,16 @@
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
plugin:
|
||||
enabled: true
|
||||
versionOverride: ""
|
||||
endpoint: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.7.0
|
||||
compressedEndpoint: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/gh-pages/extensions/harvester/1.7.0.tgz
|
||||
noCache: false
|
||||
noAuth: false
|
||||
metadata:
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: ">= 1.16.0-0"
|
||||
catalog.cattle.io/rancher-version: ">= 2.13.0-0"
|
||||
catalog.cattle.io/ui-extensions-version: ">= 3.0.0 < 4.0.0"
|
||||
19
charts/harvester/1.7.1/Chart.yaml
Normal file
19
charts/harvester/1.7.1/Chart.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
annotations:
|
||||
catalog.cattle.io/certified: rancher
|
||||
catalog.cattle.io/namespace: cattle-ui-plugin-system
|
||||
catalog.cattle.io/os: linux
|
||||
catalog.cattle.io/permits-os: linux, windows
|
||||
catalog.cattle.io/scope: management
|
||||
catalog.cattle.io/ui-component: plugins
|
||||
catalog.cattle.io/display-name: Harvester
|
||||
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
||||
catalog.cattle.io/rancher-version: '>= 2.13.0-0'
|
||||
catalog.cattle.io/ui-extensions-version: '>= 3.0.0 < 4.0.0'
|
||||
apiVersion: v2
|
||||
appVersion: 1.7.1
|
||||
description: Rancher UI Extension for Harvester
|
||||
name: harvester
|
||||
type: application
|
||||
version: 1.7.1
|
||||
icon: >-
|
||||
https://raw.githubusercontent.com/harvester/harvester-ui-extension/main/pkg/harvester/icon.svg
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user