bux-kube-controller

所属分类:加密货币
开发工具:GO
文件大小:0KB
下载次数:0
上传日期:2023-07-25 11:29:47
上 传 者sh-1993
说明:  用于BUX服务器部署的Kubernetes控制器,
(Kubernetes controller for your BUX server deployment,)

文件列表:
.all-contributorsrc (961, 2023-12-18)
.dockerignore (784, 2023-12-18)
.editorconfig (1138, 2023-12-18)
.golangci.yml (16550, 2023-12-18)
.goreleaser.yml (1975, 2023-12-18)
.make/ (0, 2023-12-18)
.make/common.mk (2861, 2023-12-18)
.make/go.mk (4946, 2023-12-18)
.vscode/ (0, 2023-12-18)
.vscode/extensions.json (46, 2023-12-18)
.vscode/launch.json (225, 2023-12-18)
.vscode/settings.json (403, 2023-12-18)
.vscode/tasks.json (250, 2023-12-18)
.yamllint.yml (608, 2023-12-18)
Dockerfile (778, 2023-12-18)
LICENSE (1064, 2023-12-18)
Makefile (5612, 2023-12-18)
PROJECT (538, 2023-12-18)
api/ (0, 2023-12-18)
api/v1alpha1/ (0, 2023-12-18)
api/v1alpha1/agent_types.go (1931, 2023-12-18)
api/v1alpha1/bux_types.go (3134, 2023-12-18)
api/v1alpha1/groupversion_info.go (1391, 2023-12-18)
api/v1alpha1/zz_generated.deepcopy.go (7519, 2023-12-18)
bin/ (0, 2023-12-18)
bin/controller-gen (20740149, 2023-12-18)
codecov.yml (957, 2023-12-18)
config/ (0, 2023-12-18)
config/crd/ (0, 2023-12-18)
config/crd/bases/ (0, 2023-12-18)
config/crd/bases/server.buxorg.io_buxes.yaml (6564, 2023-12-18)
config/crd/bases/server.getbux.io_agents.yaml (1913, 2023-12-18)
config/crd/bases/server.getbux.io_buxes.yaml (7473, 2023-12-18)
config/crd/kustomization.yaml (1012, 2023-12-18)
config/crd/kustomizeconfig.yaml (506, 2023-12-18)
config/crd/patches/ (0, 2023-12-18)
config/crd/patches/cainjection_in_agents.yaml (286, 2023-12-18)
config/crd/patches/cainjection_in_buxes.yaml (285, 2023-12-18)
... ...

# BUX: Kubernetes Controller > Manage your [BUX](https://getbux.io) deployments using Kubernetes [![Release](https://img.shields.io/github/release-pre/BuxOrg/bux-kube-controller.svg?logo=github&style=flat&v=2)](https://github.com/BuxOrg/bux-kube-controller/releases) [![Build Status](https://img.shields.io/github/actions/workflow/status/BuxOrg/bux-kube-controller/run-tests.yml?branch=master&logo=github&v=2)](https://github.com/BuxOrg/bux-kube-controller/actions) [![Report](https://goreportcard.com/badge/github.com/BuxOrg/bux-kube-controller?style=flat&v=2)](https://goreportcard.com/report/github.com/BuxOrg/bux-kube-controller) [![Mergify Status](https://img.shields.io/endpoint.svg?url=https://api.mergify.com/v1/badges/BuxOrg/bux-kube-controller&style=flat&v=2)](https://mergify.io) [![Go](https://img.shields.io/github/go-mod/go-version/BuxOrg/bux-kube-controller?v=2)](https://golang.org/)
[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod&v=2)](https://gitpod.io/#https://github.com/BuxOrg/bux-kube-controller) [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat&v=2)](https://github.com/RichardLitt/standard-readme) [![Makefile Included](https://img.shields.io/badge/Makefile-Supported%20-brightgreen?=flat&logo=probot&v=2)](Makefile) [![Sponsor](https://img.shields.io/badge/sponsor-BuxOrg-181717.svg?logo=github&style=flat&v=2)](https://github.com/sponsors/BuxOrg) [![Donate](https://img.shields.io/badge/donate-bitcoin-ff9900.svg?logo=bitcoin&style=flat&v=2)](https://gobitcoinsv.com/#sponsor?utm_source=github&utm_medium=sponsor-link&utm_campaign=bux-kube-controller&utm_term=bux-kube-controller&utm_content=bux-kube-controller)
## Table of Contents - [What is BUX?](#what-is-bux) - [Installation](#installation) - [Configuration](#configuration) - [Examples & Tests](#examples--tests) - [Benchmarks](#benchmarks) - [Code Standards](#code-standards) - [Usage](#usage) - [Contributing](#contributing) - [License](#license)
## What is BUX? [Read more about BUX](https://getbux.io)
## Prerequisites If you want to use redis, this controller assumed you have installed the [redis operator](https://github.com/spotahome/redis-operator). In addition, if you with to use MongoDB this controller assumes you have installed the [mongo community operator](https://github.com/mongodb/mongodb-kubernetes-operator). In addition, if you wish to deploy bux to a domain with SSL, this controller assumes you have installed the [nginx ingress controller](https://kubernetes.github.io/ingress-nginx/) as well as [cert manager](https://cert-manager.io/).
## Installation **bux-kube-controller** requires a [supported release of Go](https://golang.org/doc/devel/release.html#policy). To install the CRDs and deploy the controller to the cluster, run: ```shell script make deploy ``` ### Run controller locally To run the controller locally for development, first install the CRDs: ```bash make install ``` Then run the controller: ```bash make run ```
## Configuration There is a limited set of configurable spec fields on the Bux CR. Eventually, we will enable the ability to set the entire bux config in the CR, but for now the following list are the available parameters: | Key | Type | Description | |---------------|----------|---------------------------------------------| | configuration | `Object` | Bux configuration settings | | domain | `string` | Domain to deploy bux to | | clusterIssuer | `string` | Name of cluster issuer object for SSL certs | | console | `bool` | Enable bux-console provisioning |
Repository Features
This repository was created using [MrZ's `go-template`](https://github.com/mrz1836/go-template#about) #### Built-in Features - Continuous integration via [GitHub Actions](https://github.com/features/actions) - Build automation via [Make](https://www.gnu.org/software/make) - Dependency management using [Go Modules](https://github.com/golang/go/wiki/Modules) - Code formatting using [gofumpt](https://github.com/mvdan/gofumpt) and linting with [golangci-lint](https://github.com/golangci/golangci-lint) and [yamllint](https://yamllint.readthedocs.io/en/stable/index.html) - Unit testing with [testify](https://github.com/stretchr/testify), [race detector](https://blog.golang.org/race-detector), code coverage [HTML report](https://blog.golang.org/cover) and [Codecov report](https://codecov.io/) - Releasing using [GoReleaser](https://github.com/goreleaser/goreleaser) on [new Tag](https://git-scm.com/book/en/v2/Git-Basics-Tagging) - Dependency scanning and updating thanks to [Dependabot](https://dependabot.com) and [Nancy](https://github.com/sonatype-nexus-community/nancy) - Security code analysis using [CodeQL Action](https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/about-code-scanning) - Automatic syndication to [pkg.go.dev](https://pkg.go.dev/) on every release - Generic templates for [Issues and Pull Requests](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository) in GitHub - All standard GitHub files such as `LICENSE`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, and `SECURITY.md` - Code [ownership configuration](.github/CODEOWNERS) for GitHub - All your ignore files for [vs-code](.editorconfig), [docker](.dockerignore) and [git](.gitignore) - Automatic sync for [labels](.github/labels.yml) into GitHub using a pre-defined [configuration](.github/labels.yml) - Built-in powerful merging rules using [Mergify](https://mergify.io/) - Welcome [new contributors](.github/mergify.yml) on their first Pull-Request - Follows the [standard-readme](https://github.com/RichardLitt/standard-readme/blob/master/spec.md) specification - [Visual Studio Code](https://code.visualstudio.com) configuration with [Go](https://code.visualstudio.com/docs/languages/go) - (Optional) [Slack](https://slack.com), [Discord](https://discord.com) or [Twitter](https://twitter.com) announcements on new GitHub Releases - (Optional) Easily add [contributors](https://allcontributors.org/docs/en/bot/installation) in any Issue or Pull-Request
Package Dependencies
- [stretchr/testify](https://github.com/stretchr/testify)
Library Deployment
Releases are automatically created when you create a new [git tag](https://git-scm.com/book/en/v2/Git-Basics-Tagging)! If you want to manually make releases, please install GoReleaser: [goreleaser](https://github.com/goreleaser/goreleaser) for easy binary or library deployment to GitHub and can be installed: - **using make:** `make install-releaser` - **using brew:** `brew install goreleaser` The [.goreleaser.yml](.goreleaser.yml) file is used to configure [goreleaser](https://github.com/goreleaser/goreleaser).
### Automatic Releases on Tag Creation (recommended) Automatic releases via [GitHub Actions](.github/workflows/release.yml) from creating a new tag: ```shell make tag version=1.2.3 ```
### Manual Releases (optional) Use `make release-snap` to create a snapshot version of the release, and finally `make release` to ship to production (manually).
Makefile Commands
View all `makefile` commands ```shell script make help ``` List of all current commands: ```text bench Run all benchmarks in the Go application build Build manager binary. build-go Build the Go application (locally) clean-mods Remove all the Go mod cache controller-gen Download controller-gen locally if necessary. coverage Shows the test coverage deploy Deploy controller to the K8s cluster specified in ~/.kube/config. diff Show the git diff docker-build Build docker image with the manager. docker-push Push docker image with the manager. envtest Download envtest-setup locally if necessary. fmt Run go fmt against code. generate Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations. generate Runs the go generate command in the base of the repo godocs Sync the latest tag with GoDocs install Install CRDs into the K8s cluster specified in ~/.kube/config. install-all-contributors Installs all contributors locally install-go Install the application (Using Native Go) install-releaser Install the GoReleaser application kustomize Download kustomize locally if necessary. lint Run the golangci-lint application (install if not found) manifests Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects. release Full production release (creates release in GitHub) release-snap Test the full release (build binaries) release-test Full production test release (everything except deploy) replace-version Replaces the version in HTML/JS (pre-deploy) run Run a controller from your host. tag Generate a new tag and push (tag version=0.0.0) tag-remove Remove a tag if found (tag-remove version=0.0.0) tag-update Update an existing tag to current commit (tag-update version=0.0.0) test Runs lint and ALL tests test-ci Runs all tests via CI (exports coverage) test-ci-no-race Runs all tests via CI (no race) (exports coverage) test-ci-short Runs unit tests via CI (exports coverage) test-no-lint Runs just tests test-short Runs vet, lint and tests (excludes integration tests) test-unit Runs tests and outputs coverage undeploy Undeploy controller from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. uninstall Uninstall CRDs from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. update Update all project dependencies update-contributors Regenerates the contributors html/list update-linter Update the golangci-lint package (macOS only) update-releaser Update the goreleaser application vet Run go vet against code. ```

## Examples & Tests All unit tests and [examples](examples) run via [GitHub Actions](https://github.com/BuxOrg/bux-kube-controller/actions) and uses [Go version 1.16.x](https://golang.org/doc/go1.16). View the [configuration file](.github/workflows/run-tests.yml).
Run all tests (including integration tests) ```shell script make test ```
Run tests (excluding integration tests) ```shell script make test-short ```
## Benchmarks Run the Go benchmarks: ```shell script make bench ```
## Code Standards Read more about this Go project's [code standards](.github/CODE_STANDARDS.md).
## Usage Checkout all the [examples](examples)!
## Contributing View the [contributing guidelines](.github/CONTRIBUTING.md) and follow the [code of conduct](.github/CODE_OF_CONDUCT.md).
### How can I help? All kinds of contributions are welcome :raised_hands:! The most basic way to show your support is to star :star2: the project, or to raise issues :speech_balloon:. You can also support this project by [becoming a sponsor on GitHub](https://github.com/sponsors/mrz1836) :clap: or by making a [**bitcoin donation**](https://gobitcoinsv.com/#sponsor?utm_source=github&utm_medium=sponsor-link&utm_campaign=bux-kube-controller&utm_term=bux-kube-controller&utm_content=bux-kube-controller) to ensure this journey continues indefinitely! :rocket: [![Stars](https://img.shields.io/github/stars/BuxOrg/bux-kube-controller?label=Please%20like%20us&style=social)](https://github.com/BuxOrg/bux-kube-controller/stargazers)
### Contributors Thank you to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

Dylan


Mr. Z

> This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification.
## License [![License](https://img.shields.io/github/license/BuxOrg/bux-kube-controller.svg?style=flat&v=2)](LICENSE)

近期下载者

相关文件


收藏者