frp-operator

Expose your service in Kubernetes to the Internet with open source FRP!

https://github.com/zufardhiyaulhaq/frp-operator

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary

Keywords

frp frp-alternative frp-kubernetes frp-operator frpc frps k8s kubernetes kubernetes-frp kubernetes-tunnel operator private-kubernetes proxy tunnel
Last synced: 6 months ago · JSON representation ·

Repository

Expose your service in Kubernetes to the Internet with open source FRP!

Basic Info
  • Host: GitHub
  • Owner: zufardhiyaulhaq
  • License: mit
  • Language: Go
  • Default Branch: main
  • Homepage:
  • Size: 224 KB
Statistics
  • Stars: 46
  • Watchers: 3
  • Forks: 14
  • Open Issues: 4
  • Releases: 4
Topics
frp frp-alternative frp-kubernetes frp-operator frpc frps k8s kubernetes kubernetes-frp kubernetes-tunnel operator private-kubernetes proxy tunnel
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing Funding License Code of conduct Citation

README.md

frp-operator

Expose your service in Kubernetes to the Internet with open source FRP!

Version: 1.2.0 Type: application AppVersion: 0.3.1 made with Go Github main branch build GitHub issues GitHub pull requestsArtifact Hub

Document

  1. RFC: Fast Reverse Proxy Operator

Installing

To install the chart with the release name my-release:

console helm repo add frp-operator https://zufardhiyaulhaq.com/frp-operator/charts/releases/ helm install my-frp-operator frp-operator/frp-operator --values values.yaml

Prerequisite

To expose your private Kubernetes service into public network. You need public machine running FRP Server that act as a proxy. Currently the operator doesn't have capability to spine a new machine on cloud providers, but this can be setup in a minute.

  1. Create machine on cloud provider
  2. Download frps binary
  3. Create server configuration ``` vi frps.ini

[common] bindaddress = 0.0.0.0 bindport = 7000 token = yourtoken 4. Run FRP server frps -c ./frps.ini ```

You can reuse our build-in ansible playbook to setup the FRP server on your machine, please check https://github.com/zufardhiyaulhaq/frp-operator/tree/main/ansible/server

Usage

  1. Apply some example console kubectl apply -f examples/deployment/ kubectl apply -f examples/client/
  2. Check frpc object ```console kubectl get client NAME AGE client-01 17m

kubectl get upstream NAME AGE nginx 17m ```

  1. access the URL console http://178.128.100.87:8080/

Values

| Key | Type | Default | Description | |-----|------|---------|-------------| | operator.image | string | "zufardhiyaulhaq/frp-operator" | | | operator.replica | int | 1 | | | operator.tag | string | "v0.3.1" | | | resources.limits.cpu | string | "200m" | | | resources.limits.memory | string | "100Mi" | | | resources.requests.cpu | string | "100m" | | | resources.requests.memory | string | "20Mi" | |

see example files here

Owner

  • Name: Zufar Dhiyaulhaq
  • Login: zufardhiyaulhaq
  • Kind: user
  • Location: Indonesia
  • Company: GoTo Financial

@gopaytech Engineering, @cloudnative-id lead organizer

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Dhiyaulhaq"
  given-names: "Zufar"
title: "frp-operator"
version: 0.1.0
date-released: 2022-06-12
url: "https://github.com/zufardhiyaulhaq/frp-operator"

GitHub Events

Total
  • Issues event: 3
  • Watch event: 16
  • Issue comment event: 1
Last Year
  • Issues event: 3
  • Watch event: 16
  • Issue comment event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 34
  • Total Committers: 2
  • Avg Commits per committer: 17.0
  • Development Distribution Score (DDS): 0.029
Past Year
  • Commits: 8
  • Committers: 2
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.125
Top Committers
Name Email Commits
zufardhiyaulhaq z****q@g****m 33
Williams Alejandro w****t@g****m 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 6
  • Total pull requests: 2
  • Average time to close issues: 25 days
  • Average time to close pull requests: 26 days
  • Total issue authors: 5
  • Total pull request authors: 2
  • Average comments per issue: 1.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • walejandromt (2)
  • libracoder (1)
  • JinxCappa (1)
  • camilamacedo86 (1)
  • Feelfeel20088 (1)
  • terryzwt (1)
Pull Request Authors
  • JinxCappa (2)
  • walejandromt (2)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 4
proxy.golang.org: github.com/zufardhiyaulhaq/frp-operator
  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Stargazers count: 7.3%
Average: 8.2%
Forks count: 9.0%
Dependent repos count: 9.3%
Last synced: 6 months ago

Dependencies

go.mod go
  • cloud.google.com/go/compute v1.5.0
  • github.com/Azure/go-autorest v14.2.0+incompatible
  • github.com/Azure/go-autorest/autorest v0.11.18
  • github.com/Azure/go-autorest/autorest/adal v0.9.13
  • github.com/Azure/go-autorest/autorest/date v0.3.0
  • github.com/Azure/go-autorest/logger v0.2.1
  • github.com/Azure/go-autorest/tracing v0.6.0
  • github.com/PuerkitoBio/purell v1.1.1
  • github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578
  • github.com/beorn7/perks v1.0.1
  • github.com/cespare/xxhash/v2 v2.1.2
  • github.com/davecgh/go-spew v1.1.1
  • github.com/emicklei/go-restful v2.9.5+incompatible
  • github.com/evanphx/json-patch v4.12.0+incompatible
  • github.com/form3tech-oss/jwt-go v3.2.3+incompatible
  • github.com/fsnotify/fsnotify v1.5.4
  • github.com/go-logr/logr v1.2.0
  • github.com/go-logr/zapr v1.2.0
  • github.com/go-openapi/jsonpointer v0.19.5
  • github.com/go-openapi/jsonreference v0.19.5
  • github.com/go-openapi/swag v0.19.14
  • github.com/gogo/protobuf v1.3.2
  • github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
  • github.com/golang/protobuf v1.5.2
  • github.com/google/gnostic v0.5.7-v3refs
  • github.com/google/go-cmp v0.5.7
  • github.com/google/gofuzz v1.1.0
  • github.com/google/uuid v1.3.0
  • github.com/imdario/mergo v0.3.12
  • github.com/josharian/intern v1.0.0
  • github.com/json-iterator/go v1.1.12
  • github.com/mailru/easyjson v0.7.6
  • github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369
  • github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
  • github.com/modern-go/reflect2 v1.0.2
  • github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822
  • github.com/onsi/gomega v1.18.1
  • github.com/pkg/errors v0.9.1
  • github.com/prometheus/client_golang v1.12.1
  • github.com/prometheus/client_model v0.2.0
  • github.com/prometheus/common v0.32.1
  • github.com/prometheus/procfs v0.7.3
  • github.com/spf13/pflag v1.0.5
  • github.com/stretchr/testify v1.7.1
  • go.uber.org/atomic v1.7.0
  • go.uber.org/multierr v1.6.0
  • go.uber.org/zap v1.19.1
  • golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4
  • golang.org/x/net v0.0.0-20220412020605-290c469a71a5
  • golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5
  • golang.org/x/sys v0.0.0-20220422013727-9388b58f7150
  • golang.org/x/term v0.0.0-20210927222741-03fcf44c2211
  • golang.org/x/text v0.3.7
  • golang.org/x/time v0.0.0-20220210224613-90d013bbcef8
  • golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f
  • gomodules.xyz/jsonpatch/v2 v2.2.0
  • google.golang.org/appengine v1.6.7
  • google.golang.org/protobuf v1.28.0
  • gopkg.in/inf.v0 v0.9.1
  • gopkg.in/yaml.v2 v2.4.0
  • gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
  • k8s.io/api v0.24.1
  • k8s.io/apiextensions-apiserver v0.23.5
  • k8s.io/apimachinery v0.24.1
  • k8s.io/client-go v0.24.1
  • k8s.io/component-base v0.23.5
  • k8s.io/klog/v2 v2.60.1
  • k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42
  • k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
  • sigs.k8s.io/controller-runtime v0.11.2
  • sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2
  • sigs.k8s.io/structured-merge-diff/v4 v4.2.1
  • sigs.k8s.io/yaml v1.3.0
go.sum go
  • 1001 dependencies
.github/workflows/main.yml actions
  • actions/checkout v2 composite
  • actions/setup-go v2 composite
  • azure/setup-helm v1 composite
  • azure/setup-kubectl v1 composite
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/setup-buildx-action v1 composite
  • docker/setup-qemu-action v1 composite
  • nolar/setup-k3d-k3s v1 composite
.github/workflows/publish.yml actions
  • actions/checkout v2 composite
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/setup-buildx-action v1 composite
  • docker/setup-qemu-action v1 composite
.github/workflows/pullrequest.yml actions
  • actions/checkout v2 composite
  • actions/setup-go v2 composite
Dockerfile docker
  • gcr.io/distroless/static nonroot build
  • golang 1.17 build