diff --git a/.cruft.json b/.cruft.json new file mode 100644 index 0000000..b69471d --- /dev/null +++ b/.cruft.json @@ -0,0 +1,25 @@ +{ + "template": "https://github.com/projectsyn/commodore-component-template.git", + "commit": "913f9693b1c2be92ecaee469fd0fa1bd608f7aaa", + "checkout": "main", + "context": { + "cookiecutter": { + "name": "emergency-credentials-controller", + "slug": "emergency-credentials-controller", + "parameter_key": "emergency_credentials_controller", + "test_cases": "defaults", + "add_lib": "n", + "add_pp": "n", + "add_golden": "y", + "add_matrix": "y", + "add_go_unit": "n", + "copyright_holder": "VSHN AG ", + "copyright_year": "2023", + "github_owner": "appuio", + "github_name": "component-emergency-credentials-controller", + "github_url": "https://github.com/appuio/component-emergency-credentials-controller", + "_template": "https://github.com/projectsyn/commodore-component-template.git" + } + }, + "directory": null +} diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..26b3bc7 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,33 @@ +; This file is for unifying the coding style for different editors and IDEs. +; More information at https://editorconfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.{y*ml,*json}] +indent_style = space +indent_size = 2 + +[*.*sonnet] +# C-style doc comments +block_comment_start = /* +block_comment = * +block_comment_end = */ + +[.gitkeep] +insert_final_newline = false + +[Makefile] +indent_style = tab + +; Ignore golden test outputs +[tests/golden/**] +indent_size = unset +indent_style = unset +insert_final_newline = unset +trim_trailing_whitespace = unset diff --git a/.github/ISSUE_TEMPLATE/01_bug_report.md b/.github/ISSUE_TEMPLATE/01_bug_report.md new file mode 100644 index 0000000..f074759 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01_bug_report.md @@ -0,0 +1,20 @@ +--- +name: 🐜 Bug report +about: Create a report to help us improve 🔧 +labels: bug +--- + + + +## Steps to Reproduce the Problem + + + 1. + 1. + 1. + +## Actual Behavior + + +## Expected Behavior + diff --git a/.github/ISSUE_TEMPLATE/02_feature_request.md b/.github/ISSUE_TEMPLATE/02_feature_request.md new file mode 100644 index 0000000..bf42f36 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02_feature_request.md @@ -0,0 +1,18 @@ +--- +name: 🚀 Feature request +about: Suggest an idea for this project 💡 +labels: enhancement +--- + +## Context + + +## Alternatives + diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..ea8278c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: ❓ Help and Support RocketChat Channel + url: https://community.appuio.ch + about: Please ask and answer questions here. 🏥 diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..e2119f0 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,26 @@ + + + +## Checklist + +- [ ] The PR has a meaningful title. It will be used to auto generate the + changelog. + The PR has a meaningful description that sums up the change. It will be + linked in the changelog. +- [ ] PR contains a single logical change (to build a better changelog). +- [ ] Update the documentation. +- [ ] Categorize the PR by adding one of the labels: + `bug`, `enhancement`, `documentation`, `change`, `breaking`, `dependency` + as they show up in the changelog. +- [ ] Link this PR to related issues or PRs. + + diff --git a/.github/changelog-configuration.json b/.github/changelog-configuration.json new file mode 100644 index 0000000..40dc985 --- /dev/null +++ b/.github/changelog-configuration.json @@ -0,0 +1,32 @@ + +{ + "pr_template": "- ${{TITLE}} (#${{NUMBER}})", + "categories": [ + { + "title": "## 🚀 Features", + "labels": ["enhancement", "feature"] + }, + { + "title": "## 🛠️ Minor Changes", + "labels": ["change"] + }, + { + "title": "## 🔎 Breaking Changes", + "labels": ["breaking"] + }, + { + "title": "## 🐛 Fixes", + "labels": ["bug", "fix"] + }, + { + "title": "## 📄 Documentation", + "labels": ["documentation"] + }, + { + "title": "## 🔗 Dependency Updates", + "labels": ["dependency"] + } + ], + "template": "${{CATEGORIZED_COUNT}} changes since ${{FROM_TAG}}\n\n${{CHANGELOG}}" +} + diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..36c0ef8 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,32 @@ +name: Release +on: + push: + tags: + - v* + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: "0" + - name: Build changelog from PRs with labels + id: build_changelog + uses: mikepenz/release-changelog-builder-action@v4 + with: + configuration: ".github/changelog-configuration.json" + # PreReleases still get a changelog, but the next full release gets a diff since the last full release, + # combining possible changelogs of all previous PreReleases in between. + # PreReleases show a partial changelog since last PreRelease. + ignorePreReleases: "${{ !contains(github.ref, '-rc') }}" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Create Release + uses: ncipollo/release-action@v1 + with: + body: ${{steps.build_changelog.outputs.changelog}} + prerelease: "${{ contains(github.ref, '-rc') }}" + # Ensure target branch for release is "master" + commit: master + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 0000000..ec67fe9 --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,59 @@ +name: Pull Request +on: + pull_request: + branches: + - master + +env: + COMPONENT_NAME: emergency-credentials-controller + +jobs: + linting: + runs-on: ubuntu-latest + strategy: + matrix: + command: + - lint_jsonnet + - lint_yaml + - lint_adoc + steps: + - uses: actions/checkout@v4 + - name: Run ${{ matrix.command }} + run: make ${{ matrix.command }} + editorconfig: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: snow-actions/eclint@v1.0.1 + with: + args: 'check' + test: + runs-on: ubuntu-latest + strategy: + matrix: + instance: + - defaults + defaults: + run: + working-directory: ${{ env.COMPONENT_NAME }} + steps: + - uses: actions/checkout@v4 + with: + path: ${{ env.COMPONENT_NAME }} + - name: Compile component + run: make test -e instance=${{ matrix.instance }} + golden: + runs-on: ubuntu-latest + strategy: + matrix: + instance: + - defaults + defaults: + run: + working-directory: ${{ env.COMPONENT_NAME }} + steps: + - uses: actions/checkout@v4 + with: + path: ${{ env.COMPONENT_NAME }} + - name: Golden diff + run: make golden-diff -e instance=${{ matrix.instance }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f6ff082 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +# Commodore +/.cache +/dependencies +/helmcharts +/manifests +/vendor +/jsonnetfile.lock.json +/crds +/compiled + +# Antora +/_archive +/_public + +# Additional entries diff --git a/.yamllint.yml b/.yamllint.yml new file mode 100644 index 0000000..92aea6c --- /dev/null +++ b/.yamllint.yml @@ -0,0 +1,24 @@ +extends: default + +rules: + # 80 chars should be enough, but don't fail if a line is longer + line-length: + max: 80 + level: warning + + # Forbid octal literals until we've fully migrated to reclass-rs + octal-values: + forbid-implicit-octal: true + forbid-explicit-octal: true + + # Restrict truthy values to set which is parsed as boolean by reclass-rs + truthy: + allowed-values: ['true', 'false', 'True', 'False', 'TRUE', 'FALSE'] + check-keys: true + +ignore: | + dependencies/ + helmcharts/ + manifests/ + vendor/ + compiled/ diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..a7f4366 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,4 @@ +# Code of Conduct + +This code repository is part of Project Syn and the code of conduct at +https://syn.tools/syn/about/code_of_conduct.html does apply. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..2cf1dd5 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,6 @@ +# How to contribute + +This code repository is part of Project Syn and the contribution guide at +https://syn.tools/syn/about/contribution_guide.html does apply. + +Submit Pull Requests at https://github.com/appuio/component-emergency-credentials-controller/pulls. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..bb213bf --- /dev/null +++ b/LICENSE @@ -0,0 +1,27 @@ +Copyright 2023, VSHN AG +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..696a2e9 --- /dev/null +++ b/Makefile @@ -0,0 +1,84 @@ +MAKEFLAGS += --warn-undefined-variables +SHELL := bash +.SHELLFLAGS := -eu -o pipefail -c +.DEFAULT_GOAL := all +.DELETE_ON_ERROR: +.SUFFIXES: + +include Makefile.vars.mk + +.PHONY: help +help: ## Show this help + @grep -E -h '\s##\s' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = "(: ).*?## "}; {gsub(/\\:/,":", $$1)}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' + +.PHONY: all +all: lint + +.PHONY: lint +lint: lint_jsonnet lint_yaml lint_adoc lint_kubent ## All-in-one linting + +.PHONY: lint_jsonnet +lint_jsonnet: $(JSONNET_FILES) ## Lint jsonnet files + $(JSONNET_DOCKER) $(JSONNETFMT_ARGS) --test -- $? + +.PHONY: lint_yaml +lint_yaml: ## Lint yaml files + $(YAMLLINT_DOCKER) -f parsable -c $(YAMLLINT_CONFIG) $(YAMLLINT_ARGS) -- . + +.PHONY: lint_adoc +lint_adoc: ## Lint documentation + $(VALE_CMD) $(VALE_ARGS) +.PHONY: lint_kubent +lint_kubent: ## Check for deprecated Kubernetes API versions + $(KUBENT_DOCKER) $(KUBENT_ARGS) -f $(KUBENT_FILES) + +.PHONY: format +format: format_jsonnet ## All-in-one formatting + +.PHONY: format_jsonnet +format_jsonnet: $(JSONNET_FILES) ## Format jsonnet files + $(JSONNET_DOCKER) $(JSONNETFMT_ARGS) -- $? + +.PHONY: docs-serve +docs-serve: ## Preview the documentation + $(ANTORA_PREVIEW_CMD) + +.PHONY: compile +.compile: + mkdir -p dependencies + $(COMPILE_CMD) + +.PHONY: test +test: commodore_args += -f tests/$(instance).yml +test: .compile ## Compile the component +.PHONY: gen-golden +gen-golden: commodore_args += -f tests/$(instance).yml +gen-golden: clean .compile ## Update the reference version for target `golden-diff`. + @rm -rf tests/golden/$(instance) + @mkdir -p tests/golden/$(instance) + @cp -R compiled/. tests/golden/$(instance)/. + +.PHONY: golden-diff +golden-diff: commodore_args += -f tests/$(instance).yml +golden-diff: clean .compile ## Diff compile output against the reference version. Review output and run `make gen-golden golden-diff` if this target fails. + @git diff --exit-code --minimal --no-index -- tests/golden/$(instance) compiled/ + +.PHONY: golden-diff-all +golden-diff-all: recursive_target=golden-diff +golden-diff-all: $(test_instances) ## Run golden-diff for all instances. Note: this doesn't work when running make with multiple parallel jobs (-j != 1). + +.PHONY: gen-golden-all +gen-golden-all: recursive_target=gen-golden +gen-golden-all: $(test_instances) ## Run gen-golden for all instances. Note: this doesn't work when running make with multiple parallel jobs (-j != 1). + +.PHONY: lint_kubent_all +lint_kubent_all: recursive_target=lint_kubent +lint_kubent_all: $(test_instances) ## Lint deprecated Kubernetes API versions for all golden test instances. Will exit on first error. Note: this doesn't work when running make with multiple parallel jobs (-j != 1). + +.PHONY: $(test_instances) +$(test_instances): + $(MAKE) $(recursive_target) -e instance=$(basename $(@F)) + +.PHONY: clean +clean: ## Clean the project + rm -rf .cache compiled dependencies vendor helmcharts jsonnetfile*.json || true diff --git a/Makefile.vars.mk b/Makefile.vars.mk new file mode 100644 index 0000000..423e2c7 --- /dev/null +++ b/Makefile.vars.mk @@ -0,0 +1,53 @@ +# The component name is hard-coded from the template +COMPONENT_NAME ?= emergency-credentials-controller + +git_dir ?= $(shell git rev-parse --git-common-dir) +compiled_path ?= compiled/$(COMPONENT_NAME)/$(COMPONENT_NAME) +root_volume ?= -v "$${PWD}:/$(COMPONENT_NAME)" +compiled_volume ?= -v "$${PWD}/$(compiled_path):/$(COMPONENT_NAME)" +commodore_args ?= --search-paths . -n $(COMPONENT_NAME) + +ifneq "$(git_dir)" ".git" + git_volume ?= -v "$(git_dir):$(git_dir):ro" + antora_git_volume ?= -v "$(git_dir):/preview/antora/.git:ro" +else + git_volume ?= + antora_git_volume ?= -v "${PWD}/.git:/preview/antora/.git:ro" +endif + +ifneq "$(shell which docker 2>/dev/null)" "" + DOCKER_CMD ?= $(shell which docker) + DOCKER_USERNS ?= "" +else + DOCKER_CMD ?= podman + DOCKER_USERNS ?= keep-id +endif +DOCKER_ARGS ?= run --rm -u "$$(id -u):$$(id -g)" --userns=$(DOCKER_USERNS) -w /$(COMPONENT_NAME) -e HOME="/$(COMPONENT_NAME)" + +JSONNET_FILES ?= $(shell find . -type f -not -path './vendor/*' \( -name '*.*jsonnet' -or -name '*.libsonnet' \)) +JSONNETFMT_ARGS ?= --in-place --pad-arrays +JSONNET_IMAGE ?= docker.io/bitnami/jsonnet:latest +JSONNET_DOCKER ?= $(DOCKER_CMD) $(DOCKER_ARGS) $(root_volume) --entrypoint=jsonnetfmt $(JSONNET_IMAGE) + +YAMLLINT_ARGS ?= --no-warnings +YAMLLINT_CONFIG ?= .yamllint.yml +YAMLLINT_IMAGE ?= docker.io/cytopia/yamllint:latest +YAMLLINT_DOCKER ?= $(DOCKER_CMD) $(DOCKER_ARGS) $(root_volume) $(YAMLLINT_IMAGE) + +VALE_CMD ?= $(DOCKER_CMD) $(DOCKER_ARGS) $(root_volume) --volume "$${PWD}"/docs/modules:/pages ghcr.io/vshn/vale:2.15.5 +VALE_ARGS ?= --minAlertLevel=error --config=/pages/ROOT/pages/.vale.ini /pages + +ANTORA_PREVIEW_CMD ?= $(DOCKER_CMD) run --rm --publish 35729:35729 --publish 2020:2020 $(antora_git_volume) --volume "${PWD}/docs":/preview/antora/docs ghcr.io/vshn/antora-preview:3.1.2.3 --style=syn --antora=docs + +COMMODORE_CMD ?= $(DOCKER_CMD) $(DOCKER_ARGS) $(git_volume) $(root_volume) docker.io/projectsyn/commodore:latest +COMPILE_CMD ?= $(COMMODORE_CMD) component compile . $(commodore_args) +JB_CMD ?= $(DOCKER_CMD) $(DOCKER_ARGS) --entrypoint /usr/local/bin/jb docker.io/projectsyn/commodore:latest install +GOLDEN_FILES ?= $(shell find tests/golden/$(instance) -type f) + +KUBENT_FILES ?= $(shell echo "$(GOLDEN_FILES)" | sed 's/ /,/g') +KUBENT_ARGS ?= -c=false --helm3=false -e +KUBENT_IMAGE ?= ghcr.io/doitintl/kube-no-trouble:latest +KUBENT_DOCKER ?= $(DOCKER_CMD) $(DOCKER_ARGS) $(root_volume) --entrypoint=/app/kubent $(KUBENT_IMAGE) + +instance ?= defaults +test_instances = tests/defaults.yml diff --git a/README.md b/README.md new file mode 100644 index 0000000..fcbfa53 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# Commodore Component: emergency-credentials-controller + +This is a [Commodore][commodore] Component for emergency-credentials-controller. + +This repository is part of Project Syn. +For documentation on Project Syn and this component, see https://syn.tools. + +## Documentation + +The rendered documentation for this component is available on the [Commodore Components Hub](https://hub.syn.tools/emergency-credentials-controller). + +Documentation for this component is written using [Asciidoc][asciidoc] and [Antora][antora]. +It is located in the [docs/](docs) folder. +The [Divio documentation structure](https://documentation.divio.com/) is used to organize its content. + +Run the `make docs-serve` command in the root of the project, and then browse to http://localhost:2020 to see a preview of the current state of the documentation. + +After writing the documentation, please use the `make docs-vale` command and correct any warnings raised by the tool. + +## Contributing and license + +This library is licensed under [BSD-3-Clause](LICENSE). +For information about how to contribute see [CONTRIBUTING](CONTRIBUTING.md). + +[commodore]: https://syn.tools/commodore/ +[asciidoc]: https://asciidoctor.org/ +[antora]: https://antora.org/ diff --git a/class/defaults.yml b/class/defaults.yml new file mode 100644 index 0000000..1efffec --- /dev/null +++ b/class/defaults.yml @@ -0,0 +1,4 @@ +parameters: + emergency_credentials_controller: + =_metadata: {} + namespace: syn-emergency-credentials-controller diff --git a/class/emergency-credentials-controller.yml b/class/emergency-credentials-controller.yml new file mode 100644 index 0000000..41dded8 --- /dev/null +++ b/class/emergency-credentials-controller.yml @@ -0,0 +1,11 @@ +parameters: + kapitan: + compile: + - input_paths: + - ${_base_directory}/component/app.jsonnet + input_type: jsonnet + output_path: apps/ + - input_paths: + - ${_base_directory}/component/main.jsonnet + input_type: jsonnet + output_path: emergency-credentials-controller/ diff --git a/component/app.jsonnet b/component/app.jsonnet new file mode 100644 index 0000000..b9a9830 --- /dev/null +++ b/component/app.jsonnet @@ -0,0 +1,10 @@ +local kap = import 'lib/kapitan.libjsonnet'; +local inv = kap.inventory(); +local params = inv.parameters.emergency_credentials_controller; +local argocd = import 'lib/argocd.libjsonnet'; + +local app = argocd.App('emergency-credentials-controller', params.namespace); + +{ + 'emergency-credentials-controller': app, +} diff --git a/component/main.jsonnet b/component/main.jsonnet new file mode 100644 index 0000000..4a9f55f --- /dev/null +++ b/component/main.jsonnet @@ -0,0 +1,10 @@ +// main template for emergency-credentials-controller +local kap = import 'lib/kapitan.libjsonnet'; +local kube = import 'lib/kube.libjsonnet'; +local inv = kap.inventory(); +// The hiera parameters for the component +local params = inv.parameters.emergency_credentials_controller; + +// Define outputs below +{ +} diff --git a/docs/antora.yml b/docs/antora.yml new file mode 100644 index 0000000..62f8517 --- /dev/null +++ b/docs/antora.yml @@ -0,0 +1,6 @@ +name: emergency-credentials-controller +title: emergency-credentials-controller +version: master +start_page: ROOT:index.adoc +nav: + - modules/ROOT/partials/nav.adoc diff --git a/docs/modules/ROOT/pages/.vale.ini b/docs/modules/ROOT/pages/.vale.ini new file mode 100644 index 0000000..bbabddf --- /dev/null +++ b/docs/modules/ROOT/pages/.vale.ini @@ -0,0 +1 @@ +# Vale config diff --git a/docs/modules/ROOT/pages/explanations/.gitkeep b/docs/modules/ROOT/pages/explanations/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/docs/modules/ROOT/pages/how-tos/.gitkeep b/docs/modules/ROOT/pages/how-tos/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc new file mode 100644 index 0000000..11d0671 --- /dev/null +++ b/docs/modules/ROOT/pages/index.adoc @@ -0,0 +1,5 @@ += emergency-credentials-controller + +emergency-credentials-controller is a Commodore component to manage emergency-credentials-controller. + +See the xref:references/parameters.adoc[parameters] reference for further details. diff --git a/docs/modules/ROOT/pages/references/parameters.adoc b/docs/modules/ROOT/pages/references/parameters.adoc new file mode 100644 index 0000000..fb31518 --- /dev/null +++ b/docs/modules/ROOT/pages/references/parameters.adoc @@ -0,0 +1,19 @@ += Parameters + +The parent key for all of the following parameters is `emergency_credentials_controller`. + +== `namespace` + +[horizontal] +type:: string +default:: `syn-emergency-credentials-controller` + +The namespace in which to deploy this component. + + +== Example + +[source,yaml] +---- +namespace: example-namespace +---- diff --git a/docs/modules/ROOT/pages/tutorials/.gitkeep b/docs/modules/ROOT/pages/tutorials/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/docs/modules/ROOT/partials/nav.adoc b/docs/modules/ROOT/partials/nav.adoc new file mode 100644 index 0000000..08f9283 --- /dev/null +++ b/docs/modules/ROOT/partials/nav.adoc @@ -0,0 +1,2 @@ +* xref:index.adoc[Home] +* xref:references/parameters.adoc[Parameters] diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..0cdde1a --- /dev/null +++ b/renovate.json @@ -0,0 +1,21 @@ +{ + "extends": [ + "config:base", + ":gitSignOff", + ":disableDependencyDashboard" + ], + "ignorePaths": [ + ".github/**" + ], + "postUpgradeTasks": { + "commands": [ + "make gen-golden-all" + ], + "fileFilters": [ "tests/golden/**" ], + "executionMode": "update" + }, + "suppressNotifications": [ "artifactErrors" ], + "labels": [ + "dependency" + ] +} diff --git a/tests/defaults.yml b/tests/defaults.yml new file mode 100644 index 0000000..a4da5b7 --- /dev/null +++ b/tests/defaults.yml @@ -0,0 +1,3 @@ +# Overwrite parameters here + +# parameters: {...} diff --git a/tests/golden/defaults/emergency-credentials-controller/apps/emergency-credentials-controller.yaml b/tests/golden/defaults/emergency-credentials-controller/apps/emergency-credentials-controller.yaml new file mode 100644 index 0000000..e69de29