Giter VIP home page Giter VIP logo

guinsoolab / console Goto Github PK

View Code? Open in Web Editor NEW
4.0 0.0 0.0 71.46 MB

Management UI for GuinsooLab

Home Page: https://ciusji.gitbook.io/guinsoolab/solutions/guinsoolab-console

License: GNU Affero General Public License v3.0

Dockerfile 0.02% Shell 0.57% Python 0.01% Makefile 0.19% Go 25.30% HTML 0.05% CSS 0.97% JavaScript 9.37% TypeScript 63.52%
cloud console guinsoolab guinsoolab-stack infrastructure private-cloud

console's Introduction

badge
console
Management UI for GuinsooLab

GuinsooLab Console

A graphical user interface for GuinsooLab.

Overview

Install

Docker

Pull the latest release via:

docker pull guinsoolab/console (coming)

Build from source

You will need a working Go environment. Therefore, please follow How to install Go. Minimum version required is go1.17

git clone [email protected]:GuinsooLab/console.git
sh cross-compile.sh
./console server
cd portal-ui
yarn start

Setup

All console needs is a GuinsooLab user with admin privileges and URL pointing to your GuinsooLab deployment.

Note: We don't recommend using GuinsooLab's Operator Credentials

1. Create a user console using mc

mc admin user add mystore/
Enter Access Key: admin
Enter Secret Key: xxxxxxxx

2. Create a policy for console with admin access to all resources (for testing)

cat > admin.json << EOF
{
	"Version": "2012-10-17",
	"Statement": [{
			"Action": [
				"admin:*"
			],
			"Effect": "Allow",
			"Sid": ""
		},
		{
			"Action": [
                "s3:*"
			],
			"Effect": "Allow",
			"Resource": [
				"arn:aws:s3:::*"
			],
			"Sid": ""
		}
	]
}
EOF
mc admin policy add mystore/ consoleAdmin admin.json

3. Set the policy for the new console user

mc admin policy set myGuinsooLab ConsoleAdmin user=console

NOTE: Additionally, you can create policies to limit the privileges for other console users, for example, if you want the user to only have access to dashboard, buckets, notifications and watch page, the policy should look like this:

{
	"Version": "2012-10-17",
	"Statement": [{
			"Action": [
				"admin:ServerInfo"
			],
			"Effect": "Allow",
			"Sid": ""
		},
		{
			"Action": [
				"s3:ListenBucketNotification",
				"s3:PutBucketNotification",
				"s3:GetBucketNotification",
				"s3:ListMultipartUploadParts",
				"s3:ListBucketMultipartUploads",
				"s3:ListBucket",
				"s3:HeadBucket",
				"s3:GetObject",
				"s3:GetBucketLocation",
				"s3:AbortMultipartUpload",
				"s3:CreateBucket",
				"s3:PutObject",
				"s3:DeleteObject",
				"s3:DeleteBucket",
				"s3:PutBucketPolicy",
				"s3:DeleteBucketPolicy",
				"s3:GetBucketPolicy"
			],
			"Effect": "Allow",
			"Resource": [
				"arn:aws:s3:::*"
			],
			"Sid": ""
		}
	]
}

Documentation

Start Console service

Before running console service, following environment settings must be supplied

# Salt to encrypt JWT payload
export CONSOLE_PBKDF_PASSPHRASE=SECRET

# Required to encrypt JWT payload
export CONSOLE_PBKDF_SALT=SECRET

# AnnaStore Endpoint
export CONSOLE_ANNASTORE_SERVER=http://localhost:9000

Now start the console service.

./console server
2021-01-19 02:36:08.893735 I | 2021/01/19 02:36:08 server.go:129: Serving console at http://localhost:9090

By default console runs on port 9090 this can be changed with --port of your choice.

Start Console service with TLS

Copy your public.crt and private.key to ~/.console/certs, then:

./console server
2021-01-19 02:36:08.893735 I | 2021/01/19 02:36:08 server.go:129: Serving console at http://[::]:9090
2021-01-19 02:36:08.893735 I | 2021/01/19 02:36:08 server.go:129: Serving console at https://[::]:9443

For advanced users, console has support for multiple certificates to service clients through multiple domains.

Following tree structure is expected for supporting multiple domains:

 certs/
  │
  ├─ public.crt
  ├─ private.key
  │
  ├─ example.com/
  │   │
  │   ├─ public.crt
  │   └─ private.key
  └─ foobar.org/
     │
     ├─ public.crt
     └─ private.key
  ...

Contribute to console Project

Please follow console Contributor's Guide

console's People

Contributors

ciusji avatar

Stargazers

 avatar  avatar  avatar

console's Issues

H2 database cant not list table when in `Postgres` mode

Function "col_description" not found; SQL statement: select ns.nspname as table_schema, cls.relname as table_name, attr.attname as column_name, trim(leading '_' from tp.typname) as data_type, pg_catalog.col_description(attr.attrelid, attr.attnum) as column_description from pg_catalog.pg_attribute as attr join pg_catalog.pg_class as cls on cls.oid = attr.attrelid join pg_catalog.pg_namespace as ns on ns.oid = cls.relnamespace join pg_catalog.pg_type as tp on tp.typelem = attr.atttypid where cls.relkind in ('r', 'v', 'm', 'f') and ns.nspname not in ('pg_catalog', 'pg_toast', 'information_schema') and not attr.attisdropped and attr.attnum > 0 order by ns.nspname, cls.relname, attr.attnum limit 1000001 [90022-214]

Importerror: /lib64/libstdc++.so.6 not found

importerror: /lib64/libstdc++.so.6 not found.

detail info as below:
node_modules/sqlite3/lib/binding/napi-v6-linux-glibc-x64/node_sqlite3.node importerror: /lib64/libstdc++.so.6 ... not found.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.