Lightweight KubeVela that runs as Daemon in single node with high availability.

VelaD

Lightweight KubeVela that runs as Daemon in single node with k3s

English | 简体中文

Build

Introduction

VelaD helps to set up KubeVela in one step. With the help of k3s, VelaD can build KubeVela control plane of higher availability, which consist of multiple node and one load balancer typically.

demo

Features

  1. Set up KubeVela air-gapped
  2. Build KubeVela control plane with higher availability (Optional)

Prerequisites

  • Linux

Quickstart

Installation

curl -Lo velad.tar.gz https://github.com/oam-dev/velad/releases/download/v1.3.1/velad-v1.3.1-linux-amd64.tar.gz
tar -xzvf velad.tar.gz
cp linux-amd64/velad /usr/local/bin/velad

Setup

Only one command to setup KubeVela

velad install
Preparing cluster setup script...
Preparing k3s binary...
Successfully place k3s binary to /usr/local/bin/k3s
Preparing k3s images
Successfully prepare k3s image
Setting up cluster...
...

Successfully install KubeVela control plane! Try: vela components

There you go! You have set up a KubeVela. See available components:

vela comp
NAME                    DEFINITION
k8s-objects             autodetects.core.oam.dev
my-stateful             statefulsets.apps
raw                     autodetects.core.oam.dev
ref-objects             autodetects.core.oam.dev
snstateful              statefulsets.apps
task                    jobs.batch
webservice              deployments.apps
worker                  deployments.apps

uninstall

velad uninstall

More Options

Setup with database

If you run velad install, all metadata will be lost when velad uninstall. You may need to keep the metadata for migration This section describes how to setup a KubeVela control plane with an external database.

  1. Prepare a database, MySQL/MariaDB, PostgreSQL, ETCD are both OK. Choose one as you like.
  2. Run velad with database connection string.

Make sure you keep the token. It is required when restart KubeVela using this database

velad install --database-endpoint="mysql://USER:PASSWORD@tcp(HOST:3306)/velad" --token="TOKEN"

You can find more database endpoint format in this doc

  1. Now you have a KubeVela control plane which keeps all the data in database.

If this machine is shut down for some reason, or you run velad uninstall, you can restart it with --start flag and the same token.

velad install --database-endpoint="mysql://USER:PASSWORD@tcp(HOST:3306)/velad" --token="TOKEN" --start

Access from remote

By default, you can only access this control plane on this node. Typically, you run export KUBECONFIG=$(velad kubeconfig --internal) to access the control plane.

You can also make it accessible outside the machine.

  1. add --bind-ip=NODE_IP when velad install, which helps to generate the kubeconfig that can be used outside. NODE_IP is IP of machine where run the velad
  2. velad kubeconfig (note without --internal) will print the kubeconfig position.
  3. copy this file to other machine, setup KUBECONFIG, and you can access KubeVela control plane remotely.

Build

You could build velad yourself. This requires:

  • docker
  • go >= 1.17
git clone https://github.com/oam-dev/velad.git
cd velad
make

See more options here

Owner
KubeVela
Make shipping applications more enjoyable.
KubeVela
Comments
  • velad multi cluster failed

    velad multi cluster failed

    I created another k3d in window's docker-desktop ,but when I join default cluster, it happend a fail:

    C:\Windows\system32>vela cluster join C:\Users\dpp.kube\velad-cluster-sub-cluster-internal Error: failed to ensure vela-system namespace installed in cluster k3d-velad-cluster-sub-cluster: failed to check if namespace vela-system exists: dial tcp: lookup host.docker.internal on 10.43.0.10:53: no such host failed to ensure vela-system namespace installed in cluster k3d-velad-cluster-sub-cluster: failed to check if namespace vela-system exists: dial tcp: lookup host.docker.internal on 10.43.0.10:53: no such host

    I use velad 1.4.2 in window 10. Thank you.

  • Feat: add darwin-arm64 release

    Feat: add darwin-arm64 release

    Signed-off-by: qiaozp [email protected]

    This PR will add darwin-arm64 version of VelaD. There are problems of K3d importing images on darwin-arm64, VelaD will skip loading vela images on darwin-arm64. See #64

    Fixes: #18 Fixes: #44

  • On Linux root permissions are needed?

    On Linux root permissions are needed?

    It would be nice to have a more verbose output of velad install that shows all the commands that are executed as root. Additionally a --dry-run flag would be helpful to inspect those in advance.

  • install-velad.sh script should on Mac M1 should download velad-darwin-amd64 or report unsupported error instead

    install-velad.sh script should on Mac M1 should download velad-darwin-amd64 or report unsupported error instead

    install-velad.sh script should on Mac M1 should download velad-darwin-arm64 or report unsupported error instead:

    # following install instruction on https://kubevela.net/docs/install
    curl -fsSl https://static.kubevela.net/script/install-velad.sh | bash -s 1.4.6
    
    Your system is darwin_arm64
    Installing VelaD ...
    
    Downloading https://static.kubevela.net/binary/velad/v1.4.5/velad-darwin-arm64-v1.4.5.tar.gz ...
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 13547  100 13547    0     0  53602      0 --:--:-- --:--:-- --:--:-- 54846
    tar: Error opening archive: Unrecognized archive format
    Failed to unpack VelaD executable.
    Failed to install VelaD
    Go to https://kubevela.io for more support.
    ` 
  • can not install velad on macOS

    can not install velad on macOS

    root# curl -fsSl https://static.kubevela.net/script/install-velad.sh | bash -s 1.4.4
    Your system is darwin_arm64
    Installing VelaD ...
    
    Downloading https://static.kubevela.net/binary/velad/v1.4.4/velad-darwin-arm64-v1.4.4.tar.gz ...
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 13547  100 13547    0     0  35009      0 --:--:-- --:--:-- --:--:-- 35933
    tar: Error opening archive: Unrecognized archive format
    Failed to unpack VelaD executable.
    Failed to install VelaD
    Go to https://kubevela.io for more support.
    
    root# wget https://static.kubevela.net/binary/velad/v1.4.4/velad-darwin-arm64-v1.4.4.tar.gz
    --2022-07-01 11:33:05--  https://static.kubevela.net/binary/velad/v1.4.4/velad-darwin-arm64-v1.4.4.tar.gz
    正在解析主机 static.kubevela.net (static.kubevela.net)... 180.101.198.242, 180.101.198.243, 180.101.198.248, ...
    正在连接 static.kubevela.net (static.kubevela.net)|180.101.198.242|:443... 已连接。
    已发出 HTTP 请求,正在等待回应... 404 Not Found
    2022-07-01 11:33:05 错误 404:Not Found。
    

    image

  • velad uninstall failed when having pvc mounted

    velad uninstall failed when having pvc mounted

    image

    ➜  kubevela.io git:(helm2) ✗ velad uninstall test1
    INFO[0000] Deleting cluster 'velad-cluster-default'
    ERRO[0016] docker failed to remove the container 'k3d-velad-cluster-default-server-0': Error response from daemon: Could not kill running container 7c7e77416f482e73a55d7cf1fe2e6b339b8cb45f52e7e23bdfab707dc70a5980, cannot remove - tried to kill container, but did not receive an exit event
    INFO[0018] Deleting 1 attached volumes...
    WARN[0018] Failed to delete volume 'k3d-velad-cluster-default-images' of cluster 'velad-cluster-default': docker failed to delete volume 'k3d-velad-cluster-default-images': Error response from daemon: remove k3d-velad-cluster-default-images: volume is in use - [7c7e77416f482e73a55d7cf1fe2e6b339b8cb45f52e7e23bdfab707dc70a5980] -> Try to delete it manually
    Successfully uninstall KubeVela control plane!
    ➜  kubevela.io git:(helm2) ✗ velad uninstall default
    INFO[0000] Deleting cluster 'velad-cluster-default'
    INFO[0051] Deleting 1 attached volumes...
    Successfully uninstall KubeVela control plane!
    ➜  kubevela.io git:(helm2) ✗ velad uninstall test1
    panic: runtime error: invalid memory address or nil pointer dereference
    [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x3213945]
    
    goroutine 1 [running]:
    github.com/k3d-io/k3d/v5/pkg/client.ClusterDelete({0x1e2cb078, 0xc0000560a8}, {0x1e35be90, 0x1fd42e20}, 0x0, {0xb8})
    	/home/runner/go/pkg/mod/github.com/k3d-io/k3d/[email protected]/pkg/client/cluster.go:580 +0x65
    github.com/oam-dev/velad/pkg/cluster.(*K3dHandler).Uninstall(0x1fd050a0, {0x3a3e545, 0x7})
    	/home/runner/work/velad/velad/pkg/cluster/k3d.go:100 +0x1cd
    github.com/oam-dev/velad/pkg/cmd.uninstallCmd({{0x3a3e545, 0x0}})
    	/home/runner/work/velad/velad/pkg/cmd/control.go:137 +0xc9
    github.com/oam-dev/velad/pkg/cmd.NewUninstallCmd.func1(0xc000b72280, {0x3a30f9a, 0x1, 0x1})
    	/home/runner/work/velad/velad/pkg/cmd/command.go:125 +0x25
    github.com/spf13/cobra.(*Command).execute(0xc000b72280, {0xc00091fcb0, 0x1, 0x1})
    	/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:856 +0x60e
    github.com/spf13/cobra.(*Command).ExecuteC(0xc000a76c80)
    	/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:974 +0x3bc
    github.com/spf13/cobra.(*Command).Execute(...)
    	/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:902
    github.com/oam-dev/velad/pkg/cmd.App.Run({{0xc00004c1b0, 0x33f6b80, 0xc0000001a0}})
    	/home/runner/work/velad/velad/pkg/cmd/cli.go:42 +0x1ea
    main.main()
    	/home/runner/work/velad/velad/cmd/velad/main.go:25 +0x2e
    
  •  Mac M1 CPU requires `velad` darwin-arm64 binary?

    Mac M1 CPU requires `velad` darwin-arm64 binary?

    Running darwin-amd64 velad install on my MacBook Pro M1 CPU result following error:

    $ velad install
    INFO[0000] portmapping '8090:80' targets the loadbalancer: defaulting to [servers:*:proxy agents:*:proxy]
    Preparing K3s images...
    Successfully prepare k3s image:  /Users/nash/.vela/velad/k3s/k3s-airgap-images-amd64.tgz
    Successfully prepare k3d images
    Loading k3d images...
    Loaded image: ghcr.io/k3d-io/k3d-proxy:5.4.1
    
    Loaded image: ghcr.io/k3d-io/k3d-tools:5.4.1
    
    Loaded image: rancher/k3s:v1.21.10-k3s1
    
    Successfully load k3d images
    Creating k3d cluster...
    INFO[0008] Prep: Network
    INFO[0008] Created network 'k3d-velad'
    INFO[0008] Created image volume k3d-velad-cluster-default-images
    INFO[0008] Starting new tools node...
    INFO[0008] Starting Node 'k3d-velad-cluster-default-tools'
    INFO[0009] Creating node 'k3d-velad-cluster-default-server-0'
    INFO[0009] Creating LoadBalancer 'k3d-velad-cluster-default-serverlb'
    INFO[0010] Using the k3d-tools node to gather environment information
    INFO[0010] Starting new tools node...
    INFO[0010] Starting Node 'k3d-velad-cluster-default-tools'
    INFO[0011] Starting cluster 'velad-cluster-default'
    INFO[0011] Starting servers...
    INFO[0011] Starting Node 'k3d-velad-cluster-default-server-0'
    INFO[0032] All agents already running.
    INFO[0032] Starting helpers...
    INFO[0033] Starting Node 'k3d-velad-cluster-default-serverlb'
    INFO[0040] Injecting records for hostAliases (incl. host.k3d.internal) and for 3 network members into CoreDNS configmap...
    Successfully create k3d cluster
    Successfully setup cluster
    Setting kubeconfig env for VelaD...
    Checking and installing vela CLI...
    vela CLI is already installed, skip
    INFO[0043] Importing images from 1 tarball(s)...
    INFO[0043] Importing images '[/Users/nash/.vela/tmp/vela-image-cluster-gateway-502873529.tar]' into node 'k3d-velad-cluster-default-server-0'...
    INFO[0057] Successfully imported image(s)
    INFO[0058] Importing images from 1 tarball(s)...
    INFO[0058] Importing images '[/Users/nash/.vela/tmp/vela-image-kube-webhook-certgen-2636137615.tar]' into node 'k3d-velad-cluster-default-server-0'...
    INFO[0066] Successfully imported image(s)
    INFO[0066] Importing images from 1 tarball(s)...
    INFO[0066] Importing images '[/Users/nash/.vela/tmp/vela-image-vela-apiserver-1398039274.tar]' into node 'k3d-velad-cluster-default-server-0'...
    INFO[0075] Successfully imported image(s)
    INFO[0076] Importing images from 1 tarball(s)...
    INFO[0076] Importing images '[/Users/nash/.vela/tmp/vela-image-vela-core-439806314.tar]' into node 'k3d-velad-cluster-default-server-0'...
    ERRO[0078] Failed to copy read stream. write unix ->/Users/nash/.docker/run/docker.sock: use of closed network connection
    Error: fail to load vela images: failed to import image: could not load image to cluster from stream /Users/nash/.vela/tmp/vela-image-vela-core-439806314.tar: error loading image to cluster, first error: failed to import images in node 'k3d-velad-cluster-default-server-0': Exec process in node 'k3d-velad-cluster-default-server-0' failed with exit code '137'
    Usage:
      velad install [flags]
    
    Flags:
          --bind-ip string             Bind additional hostname or IP in the kubeconfig TLS cert
          --cluster-only               If set, start cluster without installing vela-core, typically used when restart a control plane where vela-core has been installed
          --controllers string         A list of controllers to enable, check "--controllers" argument for more spec in https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/ (default "*")
          --database-endpoint string   Use an external database to store control plane metadata, please ref https://rancher.com/docs/k3s/latest/en/installation/datastore/#datastore-endpoint-format-and-functionality for the format
      -d, --detail                     show detail log of installation (default true)
      -h, --help                       help for install
          --name string                The name of the cluster. only works when NOT in linux environment (default "default")
      -n, --namespace string           namespace scope for installing KubeVela Core (default "vela-system")
      -r, --reuse                      will re-use the user's last supplied values. (default true)
          --set stringArray            set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
          --token string               Token for identify the cluster. Can be used to restart the control plane or register other node. If not set, random token will be generated
    
    fail to load vela images: failed to import image: could not load image to cluster from stream /Users/nash/.vela/tmp/vela-image-vela-core-439806314.tar: error loading image to cluster, first error: failed to import images in node 'k3d-velad-cluster-default-server-0': Exec process in node 'k3d-velad-cluster-default-server-0' failed with exit code '137'
    

    I would seek that darwin-arm64 velad binary be available and shipping with k3s-airgap-images-arm64.tgz images?

  • prepare one unified install script for different platfrom(linux/mac/windows)

    prepare one unified install script for different platfrom(linux/mac/windows)

    The readme installation only works for linux: https://github.com/kubevela/velad#installation

    We already have different OS supported, just provide an install script is fine.

    We should use OSS url for source instead of github, it'll be faster.

    refer to https://kubevela.io/docs/install#2-install-kubevela-cli

  • Bump k3s to v1.24.8, gateway use traefik by default

    Bump k3s to v1.24.8, gateway use traefik by default

    Make several enhancement in this PR:

    1. Bump K3s and K3d, because KubeVela has support Kubernetes 1.24. And higher version of K3s add default IngressClass for Traefik.
    2. simplify the target in makefile, user can simply run make to build VelaD
    3. Modify gateway trait in vela-core charts so user can use gateway without specifying ingressClass with traefik in properties. Add test for this.
    4. Add prompt for using gateway trait in Linux.

    Signed-off-by: Qiaozp [email protected]

  • Add CodeQL workflow for GitHub code scanning

    Add CodeQL workflow for GitHub code scanning

    Hi kubevela/velad!

    This is a one-off automatically generated pull request from LGTM.com :robot:. You might have heard that we’ve integrated LGTM’s underlying CodeQL analysis engine natively into GitHub. The result is GitHub code scanning!

    With LGTM fully integrated into code scanning, we are focused on improving CodeQL within the native GitHub code scanning experience. In order to take advantage of current and future improvements to our analysis capabilities, we suggest you enable code scanning on your repository. Please take a look at our blog post for more information.

    This pull request enables code scanning by adding an auto-generated codeql.yml workflow file for GitHub Actions to your repository — take a look! We tested it before opening this pull request, so all should be working :heavy_check_mark:. In fact, you might already have seen some alerts appear on this pull request!

    Where needed and if possible, we’ve adjusted the configuration to the needs of your particular repository. But of course, you should feel free to tweak it further! Check this page for detailed documentation.

    Questions? Check out the FAQ below!

    FAQ

    Click here to expand the FAQ section

    How often will the code scanning analysis run?

    By default, code scanning will trigger a scan with the CodeQL engine on the following events:

    • On every pull request — to flag up potential security problems for you to investigate before merging a PR.
    • On every push to your default branch and other protected branches — this keeps the analysis results on your repository’s Security tab up to date.
    • Once a week at a fixed time — to make sure you benefit from the latest updated security analysis even when no code was committed or PRs were opened.

    What will this cost?

    Nothing! The CodeQL engine will run inside GitHub Actions, making use of your unlimited free compute minutes for public repositories.

    What types of problems does CodeQL find?

    The CodeQL engine that powers GitHub code scanning is the exact same engine that powers LGTM.com. The exact set of rules has been tweaked slightly, but you should see almost exactly the same types of alerts as you were used to on LGTM.com: we’ve enabled the security-and-quality query suite for you.

    How do I upgrade my CodeQL engine?

    No need! New versions of the CodeQL analysis are constantly deployed on GitHub.com; your repository will automatically benefit from the most recently released version.

    The analysis doesn’t seem to be working

    If you get an error in GitHub Actions that indicates that CodeQL wasn’t able to analyze your code, please follow the instructions here to debug the analysis.

    How do I disable LGTM.com?

    If you have LGTM’s automatic pull request analysis enabled, then you can follow these steps to disable the LGTM pull request analysis. You don’t actually need to remove your repository from LGTM.com; it will automatically be removed in the next few months as part of the deprecation of LGTM.com (more info here).

    Which source code hosting platforms does code scanning support?

    GitHub code scanning is deeply integrated within GitHub itself. If you’d like to scan source code that is hosted elsewhere, we suggest that you create a mirror of that code on GitHub.

    How do I know this PR is legitimate?

    This PR is filed by the official LGTM.com GitHub App, in line with the deprecation timeline that was announced on the official GitHub Blog. The proposed GitHub Action workflow uses the official open source GitHub CodeQL Action. If you have any other questions or concerns, please join the discussion here in the official GitHub community!

    I have another question / how do I get in touch?

    Please join the discussion here to ask further questions and send us suggestions!

  • [Feature] Add pre-install check

    [Feature] Add pre-install check

    If the port of machine(like 6443) is occupied in Linux, velad install will fail and throw some k3s logs. There maybe more situation like this. And this can be prevented by do some necessary pre-install check and report the problem in the early stage.

    image

  • velad install  --bind-ip=101.37.174.91 failed

    velad install --bind-ip=101.37.174.91 failed

    image

    root@iZbp1e3dhh5f4d0h13fesxZ:~# velad install --bind-ip=101.37.174.91
    Preparing cluster setup script...
    Preparing k3s binary...
    Successfully place k3s binary to /usr/local/bin/k3s
    Preparing k3s images
    Successfully prepare k3s image
    Setting up cluster...
    [INFO]  Skipping k3s download and verify
    [INFO]  Skipping installation of SELinux RPM
    [INFO]  Skipping /usr/local/bin/kubectl symlink to k3s, already exists
    [INFO]  Skipping /usr/local/bin/crictl symlink to k3s, already exists
    [INFO]  Skipping /usr/local/bin/ctr symlink to k3s, command exists in PATH at /usr/bin/ctr
    [INFO]  Creating killall script /usr/local/bin/k3s-killall.sh
    [INFO]  Creating uninstall script /usr/local/bin/k3s-uninstall.sh
    [INFO]  env: Creating environment file /etc/systemd/system/k3s.service.env
    [INFO]  systemd: Creating service file /etc/systemd/system/k3s.service
    [INFO]  systemd: Enabling k3s unit
    Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
    [INFO]  systemd: Starting k3s
    Successfully setup cluster
    Generating kubeconfig for remote access into  /etc/rancher/k3s/k3s-external.yaml
    Successfully generate kubeconfig at  /etc/rancher/k3s/k3s-external.yaml
    Checking and installing vela CLI...
    vela CLI is already installed, skip
    ctr: failed to dial "/run/k3s/containerd/containerd.sock": connection error: desc = "transport: error while dialing: dial unix /run/k3s/containerd/containerd.sock: connect: connection refused"
    
    Error: fail to load vela images: Fail to import image: exit status 1
    Usage:
      velad install [flags]
    
    Flags:
          --bind-ip string             Bind additional hostname or IP in the kubeconfig TLS cert
          --cluster-only               If set, start cluster without installing vela-core, typically used when restart a control plane where vela-core has been installed
          --controllers string         A list of controllers to enable, check "--controllers" argument for more spec in https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/ (default "*")
          --database-endpoint string   Use an external database to store control plane metadata, please ref https://rancher.com/docs/k3s/latest/en/installation/datastore/#datastore-endpoint-format-and-functionality for the format
      -d, --detail                     show detail log of installation (default true)
      -h, --help                       help for install
          --name string                The name of the cluster. only works when NOT in linux environment (default "default")
      -n, --namespace string           namespace scope for installing KubeVela Core (default "vela-system")
      -r, --reuse                      will re-use the user's last supplied values. (default true)
          --set stringArray            set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
          --token string               Token for identify the cluster. Can be used to restart the control plane or register other node. If not set, random token will be generated
    
    fail to load vela images: Fail to import image: exit status 1
    
  • provision cluster by combining ECS with velad

    provision cluster by combining ECS with velad

    According to the doc: https://kubevela.net/blog/2022/06/27/terraform-integrate-with-vela

    When we have a control plane with cloud provider enabled, we can easily provision a new cluster for user by creating ECS with velad. And conveniently join that cluster to our control plane.

Lightweight web framework based on net/http.

Goweb Light weight web framework based on net/http. Includes routing middleware logging easy CORS (experimental) Goweb aims to rely only on the standa

Dec 21, 2022
A lightweight MVC framework for Go(Golang)

utron utron is a lightweight MVC framework in Go (Golang) for building fast, scalable and robust database-driven web applications. Features Postgres,

Nov 26, 2022
Simple and lightweight Go web framework inspired by koa
Simple and lightweight Go web framework inspired by koa

VOX A golang web framework for humans, inspired by Koa heavily. Getting started Installation Using the go get power: $ go get -u github.com/aisk/vox B

Dec 14, 2022
Eudore is the core of a golang lightweight web framework.

Eudore eudore是一个golang轻量级web框架核心,可以轻松扩展成一个技术栈专用框架,具有完整框架设计体系。 反馈和交流请加群组:QQ群373278915。 Features 易扩展:主要设计目标、核心全部解耦,接口即为逻辑。 简单:对象语义明确,框架代码量少复杂度低,无依赖库。 易用

Nov 7, 2022
Golanger Web Framework is a lightweight framework for writing web applications in Go.

/* Copyright 2013 Golanger.com. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except

Nov 14, 2022
A lightweight RESTful web framework for Go
A lightweight RESTful web framework for Go

Goweb A lightweight RESTful web framework for Go. For examples and usage, please read the Goweb API Documentation Read our Articles Who uses Goweb? "U

Jan 5, 2023
lightweight, idiomatic and composable router for building Go HTTP services

chi is a lightweight, idiomatic and composable router for building Go HTTP services. It's especially good at helping you write large REST API services

Jan 6, 2023
Couper is a lightweight API gateway designed to support developers in building and operating API-driven Web projects
Couper is a lightweight API gateway designed to support developers in building and operating API-driven Web projects

Couper Couper is a lightweight API gateway designed to support developers in building and operating API-driven Web projects. Getting started The quick

Nov 18, 2022
Best simple, lightweight, powerful and really fast Api with Golang (Fiber, REL, Dbmate) PostgreSqL Database and Clean Architecture

GOLANG FIBER API (CLEAN ARCHITECTURE) Best simple, lightweight, powerful and really fast Api with Golang (Fiber, REL, Dbmate) PostgreSqLDatabase using

Sep 2, 2022
skr: The lightweight and powerful web framework using the new way for Go.Another go the way.
skr: The lightweight and powerful web framework using the new way for Go.Another go the way.

skr Overview Introduction Documents Features Install Quickstart Releases Todo Pull Request Issues Thanks Introduction The lightweight and powerful web

Jan 11, 2022
beego is an open-source, high-performance web framework for the Go programming language.
beego is an open-source, high-performance web framework for the Go programming language.

Beego Beego is used for rapid development of enterprise application in Go, including RESTful APIs, web apps and backend services. It is inspired by To

Jan 1, 2023
High performance, minimalist Go web framework
High performance, minimalist Go web framework

Supported Go versions As of version 4.0.0, Echo is available as a Go module. Therefore a Go version capable of understanding /vN suffixed imports is r

Jan 2, 2023
Gearbox :gear: is a web framework written in Go with a focus on high performance
Gearbox :gear: is a web framework written in Go with a focus on high performance

gearbox ⚙️ is a web framework for building micro services written in Go with a focus on high performance. It's built on fasthttp which is up to 10x fa

Jan 3, 2023
hiboot is a high performance web and cli application framework with dependency injection support

Hiboot - web/cli application framework About Hiboot is a cloud native web and cli application framework written in Go. Hiboot is not trying to reinven

Nov 20, 2022
Package macaron is a high productive and modular web framework in Go.
Package macaron is a high productive and modular web framework in Go.

Macaron Package macaron is a high productive and modular web framework in Go. Getting Started The minimum requirement of Go is 1.6. To install Macaron

Jan 2, 2023
A high productivity, full-stack web framework for the Go language.

Revel Framework A high productivity, full-stack web framework for the Go language. Current Version: 1.0.0 (2020-07-11) Supports go.mod package managem

Jan 7, 2023
Goal is a toolkit for high productivity web development in Go language in the spirit of Revel Framework that is built around the concept of code generation.

Goal Goal is a set of tools for high productivity web development in Go language. Goal, being mostly inspired by Revel Framework and its discussions,

Sep 27, 2021
A high level web-framework for Go

go-start is a high level web-framework for Go, like Django for Python or Rails for Ruby. Installation: go get github.com/ungerik/go-start Documentatio

Dec 24, 2022