Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Procfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
controller: go run ./cmd/argocd-application-controller/main.go --app-resync 10
api-server: go run ./cmd/argocd-server/main.go --insecure
api-server: go run ./cmd/argocd-server/main.go --insecure --disable-auth
repo-server: go run ./cmd/argocd-repo-server/main.go
dex: sh -c "go run ./cmd/argocd-util/main.go gendexcfg -o `pwd`/dist/dex.yaml && docker run --rm -p 5556:5556 -p 5557:5557 -v `pwd`/dist/dex.yaml:/dex.yaml quay.io/coreos/dex:v2.10.0 serve /dex.yaml"
8 changes: 1 addition & 7 deletions cmd/argocd-util/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import (
"github.com/argoproj/argo-cd/errors"
"github.com/argoproj/argo-cd/util/cli"
"github.com/argoproj/argo-cd/util/dex"
"github.com/ghodss/yaml"
log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
"k8s.io/client-go/kubernetes"
Expand Down Expand Up @@ -117,12 +116,7 @@ func genDexConfig(clientConfig clientcmd.ClientConfig) ([]byte, error) {
errors.CheckError(err)

kubeClient := kubernetes.NewForConfigOrDie(config)
dexCfg, err := dex.GetDexConfig(kubeClient, namespace)
errors.CheckError(err)
if dexCfg == nil {
return nil, nil
}
return yaml.Marshal(dexCfg)
return dex.GenerateDexConfigYAML(kubeClient, namespace)
}

func main() {
Expand Down
10 changes: 5 additions & 5 deletions install/install.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ import (

"github.com/argoproj/argo-cd/common"
"github.com/argoproj/argo-cd/errors"
"github.com/argoproj/argo-cd/util/config"
"github.com/argoproj/argo-cd/util/diff"
"github.com/argoproj/argo-cd/util/kube"
"github.com/argoproj/argo-cd/util/password"
"github.com/argoproj/argo-cd/util/session"
"github.com/argoproj/argo-cd/util/settings"
tlsutil "github.com/argoproj/argo-cd/util/tls"
"github.com/ghodss/yaml"
"github.com/gobuffalo/packr"
Expand Down Expand Up @@ -131,8 +131,8 @@ func (i *Installer) InstallApplicationCRD() {
func (i *Installer) InstallSettings() {
kubeclientset, err := kubernetes.NewForConfig(i.config)
errors.CheckError(err)
configManager := config.NewConfigManager(kubeclientset, i.Namespace)
_, err = configManager.GetSettings()
settingsMgr := settings.NewSettingsManager(kubeclientset, i.Namespace)
_, err = settingsMgr.GetSettings()
if err == nil {
log.Infof("Settings already exists. Skipping creation")
return
Expand All @@ -141,7 +141,7 @@ func (i *Installer) InstallSettings() {
log.Fatal(err)
}
// configmap/secret not yet created
var newSettings config.ArgoCDSettings
var newSettings settings.ArgoCDSettings

// set JWT signature
signature, err := session.MakeSignature(32)
Expand Down Expand Up @@ -173,7 +173,7 @@ func (i *Installer) InstallSettings() {
errors.CheckError(err)
newSettings.Certificate = cert

err = configManager.SaveSettings(&newSettings)
err = settingsMgr.SaveSettings(&newSettings)
errors.CheckError(err)
}

Expand Down
16 changes: 11 additions & 5 deletions server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,13 @@ import (
"github.com/argoproj/argo-cd/server/cluster"
"github.com/argoproj/argo-cd/server/repository"
"github.com/argoproj/argo-cd/server/session"
"github.com/argoproj/argo-cd/server/settings"
"github.com/argoproj/argo-cd/server/version"
"github.com/argoproj/argo-cd/util/config"
dexutil "github.com/argoproj/argo-cd/util/dex"
grpc_util "github.com/argoproj/argo-cd/util/grpc"
jsonutil "github.com/argoproj/argo-cd/util/json"
util_session "github.com/argoproj/argo-cd/util/session"
settings_util "github.com/argoproj/argo-cd/util/settings"
tlsutil "github.com/argoproj/argo-cd/util/tls"
golang_proto "github.com/golang/protobuf/proto"
grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware"
Expand Down Expand Up @@ -59,9 +60,10 @@ type ArgoCDServer struct {
ArgoCDServerOpts

ssoClientApp *dexutil.ClientApp
settings config.ArgoCDSettings
settings settings_util.ArgoCDSettings
log *log.Entry
sessionMgr *util_session.SessionManager
settingsMgr *settings_util.SettingsManager
}

type ArgoCDServerOpts struct {
Expand All @@ -76,8 +78,8 @@ type ArgoCDServerOpts struct {

// NewServer returns a new instance of the ArgoCD API server
func NewServer(opts ArgoCDServerOpts) *ArgoCDServer {
configManager := config.NewConfigManager(opts.KubeClientset, opts.Namespace)
settings, err := configManager.GetSettings()
settingsMgr := settings_util.NewSettingsManager(opts.KubeClientset, opts.Namespace)
settings, err := settingsMgr.GetSettings()
if err != nil {
log.Fatal(err)
}
Expand All @@ -87,6 +89,7 @@ func NewServer(opts ArgoCDServerOpts) *ArgoCDServer {
log: log.NewEntry(log.New()),
settings: *settings,
sessionMgr: &sessionMgr,
settingsMgr: settingsMgr,
}
}

Expand Down Expand Up @@ -210,13 +213,15 @@ func (a *ArgoCDServer) newGRPCServer() *grpc.Server {
grpcS := grpc.NewServer(sOpts...)
clusterService := cluster.NewServer(a.Namespace, a.KubeClientset, a.AppClientset)
repoService := repository.NewServer(a.Namespace, a.KubeClientset, a.AppClientset)
sessionService := session.NewServer(a.Namespace, a.KubeClientset, a.AppClientset, a.settings)
sessionService := session.NewServer(a.settings)
applicationService := application.NewServer(a.Namespace, a.KubeClientset, a.AppClientset, a.RepoClientset, repoService, clusterService)
settingsService := settings.NewServer(a.settingsMgr)
version.RegisterVersionServiceServer(grpcS, &version.Server{})
cluster.RegisterClusterServiceServer(grpcS, clusterService)
application.RegisterApplicationServiceServer(grpcS, applicationService)
repository.RegisterRepositoryServiceServer(grpcS, repoService)
session.RegisterSessionServiceServer(grpcS, sessionService)
settings.RegisterSettingsServiceServer(grpcS, settingsService)

// Register reflection service on gRPC server.
reflection.Register(grpcS)
Expand Down Expand Up @@ -273,6 +278,7 @@ func (a *ArgoCDServer) newHTTPServer(ctx context.Context) *http.Server {
mustRegisterGWHandler(application.RegisterApplicationServiceHandlerFromEndpoint, ctx, gwmux, endpoint, dOpts)
mustRegisterGWHandler(repository.RegisterRepositoryServiceHandlerFromEndpoint, ctx, gwmux, endpoint, dOpts)
mustRegisterGWHandler(session.RegisterSessionServiceHandlerFromEndpoint, ctx, gwmux, endpoint, dOpts)
mustRegisterGWHandler(settings.RegisterSettingsServiceHandlerFromEndpoint, ctx, gwmux, endpoint, dOpts)

a.registerDexHandlers(mux)

Expand Down
14 changes: 3 additions & 11 deletions server/session/session.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,21 @@ package session
import (
"context"

appclientset "github.com/argoproj/argo-cd/pkg/client/clientset/versioned"
"github.com/argoproj/argo-cd/util/config"
"github.com/argoproj/argo-cd/util/password"
"github.com/argoproj/argo-cd/util/session"
"github.com/argoproj/argo-cd/util/settings"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"k8s.io/client-go/kubernetes"
)

// Server provides a Session service
type Server struct {
ns string
kubeclientset kubernetes.Interface
appclientset appclientset.Interface
serversettings config.ArgoCDSettings
serversettings settings.ArgoCDSettings
}

// NewServer returns a new instance of the Session service
func NewServer(namespace string, kubeclientset kubernetes.Interface, appclientset appclientset.Interface, serversettings config.ArgoCDSettings) *Server {
func NewServer(serversettings settings.ArgoCDSettings) *Server {
return &Server{
ns: namespace,
appclientset: appclientset,
kubeclientset: kubeclientset,
serversettings: serversettings,
}
}
Expand Down
36 changes: 36 additions & 0 deletions server/settings/settings.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package settings

import (
"github.com/argoproj/argo-cd/util/settings"
"github.com/ghodss/yaml"
"golang.org/x/net/context"
)

// Server provides a Settings service
type Server struct {
mgr *settings.SettingsManager
}

// NewServer returns a new instance of the Repository service
func NewServer(mgr *settings.SettingsManager) *Server {
return &Server{
mgr: mgr,
}
}

// Get returns ArgoCD settings
func (s *Server) Get(ctx context.Context, q *SettingsQuery) (*Settings, error) {
argoCDSettings, err := s.mgr.GetSettings()
if err != nil {
return nil, err
}
set := Settings{
URL: argoCDSettings.URL,
}
var cfg DexConfig
err = yaml.Unmarshal([]byte(argoCDSettings.DexConfig), &cfg)
if err == nil {
set.DexConfig = &cfg
}
return &set, nil
}
Loading