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
|
## 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
|
## Development Setup
|
||||||
@ -163,7 +163,7 @@ If you want to contribute, start by reading this document, then visit our [Getti
|
|||||||
|
|
||||||
## License
|
## 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");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with 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