Skip to content

Commit

Permalink
feat: adapt license for community edition (#3644)
Browse files Browse the repository at this point in the history
* add preset-admin user
  • Loading branch information
yxxchange committed Aug 14, 2023
1 parent e483a74 commit 4efb22a
Show file tree
Hide file tree
Showing 35 changed files with 2,242 additions and 2,264 deletions.
5 changes: 5 additions & 0 deletions controllers/licenseissuer/.env
@@ -0,0 +1,5 @@
# set the environment variables when local testing
MONITOR= ""
CAN_CONNECT_TO_EXTERNAL_NETWORK= ""
MONGO_URI= ""
PASSWORD_SALT= ""
2 changes: 2 additions & 0 deletions controllers/licenseissuer/Makefile
Expand Up @@ -4,6 +4,8 @@ IMG ?= ghcr.io/labring/sealos-licenseissuer-controller:latest
# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
ENVTEST_K8S_VERSION = 1.26.1

include .env
export
# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
ifeq (,$(shell go env GOBIN))
GOBIN=$(shell go env GOPATH)/bin
Expand Down
48 changes: 21 additions & 27 deletions controllers/licenseissuer/cmd/main.go
Expand Up @@ -17,6 +17,7 @@ limitations under the License.
package main

import (
"context"
"flag"
"os"

Expand All @@ -36,6 +37,7 @@ import (

issuerv1 "github.com/labring/sealos/controllers/licenseissuer/api/v1"
"github.com/labring/sealos/controllers/licenseissuer/internal/controller"
"github.com/labring/sealos/controllers/licenseissuer/internal/controller/util"
//+kubebuilder:scaffold:imports
)

Expand Down Expand Up @@ -93,40 +95,32 @@ func main() {
os.Exit(1)
}

if err = (&controller.NotificationReconciler{
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
}).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "Notification")
os.Exit(1)
}
if err = (&controller.CollectorReconciler{
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
}).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "Collector")
os.Exit(1)
}
if err = (&controller.CloudSyncReconciler{
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
}).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "CloudSync")
os.Exit(1)
}
// get options for this Operator
options := util.GetOptions()

if err = (&controller.LicenseReconciler{
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
}).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "License")
os.Exit(1)
}
if err = (&controller.LauncherReconciler{
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),
}).SetupWithManager(mgr); err != nil {
setupLog.Error(err, "unable to create controller", "controller", "Launcher")
os.Exit(1)

// if err = (&controller.LauncherReconciler{
// Client: mgr.GetClient(),
// Scheme: mgr.GetScheme(),
// }).SetupWithManager(mgr); err != nil {
// setupLog.Error(err, "unable to create controller", "controller", "Launcher")
// os.Exit(1)
// }

// start the runnable tasks
tasks := util.BuildForRunnable(context.Background(), mgr.GetClient(), options)
for _, task := range tasks {
if err = mgr.Add(task); err != nil {
setupLog.Error(err, "unable to set up task pool")
os.Exit(1)
}
}

// if err = (&controller.ScaleMonitorReconciler{
Expand Down
130 changes: 0 additions & 130 deletions controllers/licenseissuer/config/rbac/role.yaml
Expand Up @@ -37,32 +37,6 @@ rules:
- patch
- update
- watch
- apiGroups:
- ""
resources:
- namespaces
verbs:
- create
- get
- list
- update
- watch
- apiGroups:
- ""
resources:
- nodes
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- persistentvolumes
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
Expand All @@ -75,84 +49,6 @@ rules:
- patch
- update
- watch
- apiGroups:
- infostream.sealos.io
resources:
- cloudsyncs
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- infostream.sealos.io
resources:
- cloudsyncs/finalizers
verbs:
- update
- apiGroups:
- infostream.sealos.io
resources:
- cloudsyncs/status
verbs:
- get
- patch
- update
- apiGroups:
- infostream.sealos.io
resources:
- collectors
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- infostream.sealos.io
resources:
- collectors/finalizers
verbs:
- update
- apiGroups:
- infostream.sealos.io
resources:
- collectors/status
verbs:
- get
- patch
- update
- apiGroups:
- infostream.sealos.io
resources:
- launchers
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- infostream.sealos.io
resources:
- launchers/finalizers
verbs:
- update
- apiGroups:
- infostream.sealos.io
resources:
- launchers/status
verbs:
- get
- patch
- update
- apiGroups:
- infostream.sealos.io
resources:
Expand All @@ -179,32 +75,6 @@ rules:
- get
- patch
- update
- apiGroups:
- infostream.sealos.io
resources:
- notifications
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- infostream.sealos.io
resources:
- notifications/finalizers
verbs:
- update
- apiGroups:
- infostream.sealos.io
resources:
- notifications/status
verbs:
- get
- patch
- update
- apiGroups:
- notification.sealos.io
resources:
Expand Down
7 changes: 6 additions & 1 deletion controllers/licenseissuer/deploy/Kubefile
Expand Up @@ -2,15 +2,20 @@ FROM scratch

USER 65532:65532

COPY registry registry
# COPY registry registry
COPY manifests manifests

ENV canConnectToExternalNetwork "true"
ENV enableMonitor "true"
ENV MongoURI ""
ENV PasswordSalt ""
ENV Namespace "sealos-system"
ENV CollectorURL "https://license.sealos.io/collector"
ENV NotificationURL "https://license.sealos.io/notify"
ENV RegisterURL "https://license.sealos.io/register"
ENV CloudSyncURL "https://license.sealos.io/datasync"
ENV LicenseMonitorURL "https://license.sealos.io/license"



CMD ["chmod +x manifests/setup.sh && bash manifests/setup.sh"]
14 changes: 4 additions & 10 deletions controllers/licenseissuer/deploy/manifests/customconfig.yaml.tmpl
Expand Up @@ -6,6 +6,9 @@ metadata:
stringData:
canConnectToExternalNetwork: "{{ .canConnectToExternalNetwork }}"
isMonitor: "{{ .enableMonitor }}"
MongoURI: "{{ .MongoURI }}"
PasswordSalt: "{{ .PasswordSalt }}"
Namespace: "{{ .Namespace }}"
---
apiVersion: v1
data:
Expand All @@ -20,20 +23,11 @@ data:
kind: ConfigMap
metadata:
name: url-config
namespace: sealos-system
namespace: "{{ .Namespace }}"
---
apiVersion: v1
data: null
kind: ConfigMap
metadata:
name: license-history
namespace: sealos-system
---
apiVersion: infostream.sealos.io/v1
kind: Launcher
metadata:
name: launcher
namespace: sealos-system
spec:
description: This YAML file is responsible for launching the entire cloud module.
name: Cloud-Launcher

0 comments on commit 4efb22a

Please sign in to comment.