Skip to content

Commit

Permalink
Remove mongodb support from asset svcs and re-write postgres tests. (#…
Browse files Browse the repository at this point in the history
…2048)

* Remove mongodb support from asset svcs and re-write postgres tests.

* Remove database type from app repo controller.

* Remove database-type from assetsvc.

* Remove references to mongodb in docs.

* Fix sort criteria.
  • Loading branch information
absoludity authored Sep 22, 2020
1 parent 8671879 commit 276c162
Show file tree
Hide file tree
Showing 35 changed files with 682 additions and 1,440 deletions.
1 change: 0 additions & 1 deletion chart/kubeapps/templates/apprepository-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ spec:
- --namespace={{ .Release.Namespace }}
- --database-secret-name={{ .Values.postgresql.existingSecret }}
- --database-secret-key=postgresql-password
- --database-type=postgresql
- --database-url={{ template "kubeapps.postgresql.fullname" . }}:5432
- --database-user=postgres
- --database-name=assets
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ spec:
- /asset-syncer
args:
- invalidate-cache
- --database-type=postgresql
- --database-url={{ template "kubeapps.postgresql.fullname" . }}:5432
- --database-user=postgres
- --database-name=assets
Expand Down
1 change: 0 additions & 1 deletion chart/kubeapps/templates/assetsvc-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ spec:
command:
- /assetsvc
args:
- --database-type=postgresql
- --database-user=postgres
- --database-name=assets
- --database-url={{ template "kubeapps.postgresql.fullname" . }}-headless:5432
Expand Down
1 change: 0 additions & 1 deletion cmd/apprepository-controller/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -614,7 +614,6 @@ func apprepoCleanupJobArgs(repoName, repoNamespace string) []string {

func dbFlags() []string {
return []string{
"--database-type=" + dbType,
"--database-url=" + dbURL,
"--database-user=" + dbUser,
"--database-name=" + dbName,
Expand Down
62 changes: 26 additions & 36 deletions cmd/apprepository-controller/controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ import (
)

func Test_newCronJob(t *testing.T) {
dbURL = "mongodb.kubeapps"
dbURL = "postgresql.kubeapps"
dbName = "assets"
dbUser = "admin"
dbSecretName = "mongodb"
dbSecretName = "postgresql"
const kubeappsNamespace = "kubeapps"
tests := []struct {
name string
Expand Down Expand Up @@ -84,8 +84,7 @@ func Test_newCronJob(t *testing.T) {
Command: []string{"/chart-repo"},
Args: []string{
"sync",
"--database-type=mongodb",
"--database-url=mongodb.kubeapps",
"--database-url=postgresql.kubeapps",
"--database-user=admin",
"--database-name=assets",
"--namespace=kubeapps",
Expand All @@ -96,7 +95,7 @@ func Test_newCronJob(t *testing.T) {
{
Name: "DB_PASSWORD",
ValueFrom: &corev1.EnvVarSource{
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "mongodb"}, Key: "mongodb-root-password"}},
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "postgresql"}, Key: "postgresql-root-password"}},
},
},
VolumeMounts: nil,
Expand Down Expand Up @@ -175,8 +174,7 @@ func Test_newCronJob(t *testing.T) {
Command: []string{"/chart-repo"},
Args: []string{
"sync",
"--database-type=mongodb",
"--database-url=mongodb.kubeapps",
"--database-url=postgresql.kubeapps",
"--database-user=admin",
"--database-name=assets",
"--user-agent-comment=kubeapps/v2.3",
Expand All @@ -188,7 +186,7 @@ func Test_newCronJob(t *testing.T) {
{
Name: "DB_PASSWORD",
ValueFrom: &corev1.EnvVarSource{
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "mongodb"}, Key: "mongodb-root-password"}},
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "postgresql"}, Key: "postgresql-root-password"}},
},
{
Name: "AUTHORIZATION_HEADER",
Expand Down Expand Up @@ -263,8 +261,7 @@ func Test_newCronJob(t *testing.T) {
Command: []string{"/chart-repo"},
Args: []string{
"sync",
"--database-type=mongodb",
"--database-url=mongodb.kubeapps",
"--database-url=postgresql.kubeapps",
"--database-user=admin",
"--database-name=assets",
"--user-agent-comment=kubeapps/v2.3",
Expand All @@ -276,7 +273,7 @@ func Test_newCronJob(t *testing.T) {
{
Name: "DB_PASSWORD",
ValueFrom: &corev1.EnvVarSource{
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "mongodb"}, Key: "mongodb-root-password"}},
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "postgresql"}, Key: "postgresql-root-password"}},
},
{
Name: "AUTHORIZATION_HEADER",
Expand Down Expand Up @@ -318,10 +315,10 @@ func Test_newCronJob(t *testing.T) {
}

func Test_newSyncJob(t *testing.T) {
dbURL = "mongodb.kubeapps"
dbURL = "postgresql.kubeapps"
dbName = "assets"
dbUser = "admin"
dbSecretName = "mongodb"
dbSecretName = "postgresql"
const kubeappsNamespace = "kubeapps"
tests := []struct {
name string
Expand Down Expand Up @@ -381,8 +378,7 @@ func Test_newSyncJob(t *testing.T) {
Command: []string{"/chart-repo"},
Args: []string{
"sync",
"--database-type=mongodb",
"--database-url=mongodb.kubeapps",
"--database-url=postgresql.kubeapps",
"--database-user=admin",
"--database-name=assets",
"--namespace=kubeapps",
Expand All @@ -393,7 +389,7 @@ func Test_newSyncJob(t *testing.T) {
{
Name: "DB_PASSWORD",
ValueFrom: &corev1.EnvVarSource{
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "mongodb"}, Key: "mongodb-root-password"}},
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "postgresql"}, Key: "postgresql-root-password"}},
},
},
VolumeMounts: nil,
Expand Down Expand Up @@ -448,8 +444,7 @@ func Test_newSyncJob(t *testing.T) {
Command: []string{"/chart-repo"},
Args: []string{
"sync",
"--database-type=mongodb",
"--database-url=mongodb.kubeapps",
"--database-url=postgresql.kubeapps",
"--database-user=admin",
"--database-name=assets",
"--namespace=my-other-namespace",
Expand All @@ -460,7 +455,7 @@ func Test_newSyncJob(t *testing.T) {
{
Name: "DB_PASSWORD",
ValueFrom: &corev1.EnvVarSource{
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "mongodb"}, Key: "mongodb-root-password"}},
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "postgresql"}, Key: "postgresql-root-password"}},
},
},
VolumeMounts: nil,
Expand Down Expand Up @@ -529,8 +524,7 @@ func Test_newSyncJob(t *testing.T) {
Command: []string{"/chart-repo"},
Args: []string{
"sync",
"--database-type=mongodb",
"--database-url=mongodb.kubeapps",
"--database-url=postgresql.kubeapps",
"--database-user=admin",
"--database-name=assets",
"--user-agent-comment=kubeapps/v2.3",
Expand All @@ -542,7 +536,7 @@ func Test_newSyncJob(t *testing.T) {
{
Name: "DB_PASSWORD",
ValueFrom: &corev1.EnvVarSource{
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "mongodb"}, Key: "mongodb-root-password"}},
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "postgresql"}, Key: "postgresql-root-password"}},
},
{
Name: "AUTHORIZATION_HEADER",
Expand Down Expand Up @@ -617,8 +611,7 @@ func Test_newSyncJob(t *testing.T) {
Command: []string{"/chart-repo"},
Args: []string{
"sync",
"--database-type=mongodb",
"--database-url=mongodb.kubeapps",
"--database-url=postgresql.kubeapps",
"--database-user=admin",
"--database-name=assets",
"--namespace=kubeapps",
Expand All @@ -629,7 +622,7 @@ func Test_newSyncJob(t *testing.T) {
{
Name: "DB_PASSWORD",
ValueFrom: &corev1.EnvVarSource{
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "mongodb"}, Key: "mongodb-root-password"}},
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "postgresql"}, Key: "postgresql-root-password"}},
},
},
VolumeMounts: []corev1.VolumeMount{{
Expand Down Expand Up @@ -716,8 +709,7 @@ func Test_newSyncJob(t *testing.T) {
Command: []string{"/chart-repo"},
Args: []string{
"sync",
"--database-type=mongodb",
"--database-url=mongodb.kubeapps",
"--database-url=postgresql.kubeapps",
"--database-user=admin",
"--database-name=assets",
"--namespace=kubeapps",
Expand All @@ -728,7 +720,7 @@ func Test_newSyncJob(t *testing.T) {
{
Name: "DB_PASSWORD",
ValueFrom: &corev1.EnvVarSource{
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "mongodb"}, Key: "mongodb-root-password"}},
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "postgresql"}, Key: "postgresql-root-password"}},
},
{
Name: "AUTHORIZATION_HEADER",
Expand Down Expand Up @@ -833,8 +825,7 @@ func Test_newSyncJob(t *testing.T) {
Command: []string{"/chart-repo"},
Args: []string{
"sync",
"--database-type=mongodb",
"--database-url=mongodb.kubeapps",
"--database-url=postgresql.kubeapps",
"--database-user=admin",
"--database-name=assets",
"--namespace=kubeapps",
Expand All @@ -846,7 +837,7 @@ func Test_newSyncJob(t *testing.T) {
{
Name: "DB_PASSWORD",
ValueFrom: &corev1.EnvVarSource{
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "mongodb"}, Key: "mongodb-root-password"}},
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "postgresql"}, Key: "postgresql-root-password"}},
},
},
VolumeMounts: []corev1.VolumeMount{{Name: "foo", MountPath: "/bar"}},
Expand Down Expand Up @@ -877,10 +868,10 @@ func Test_newSyncJob(t *testing.T) {
}

func Test_newCleanupJob(t *testing.T) {
dbURL = "mongodb.kubeapps"
dbURL = "postgresql.kubeapps"
dbName = "assets"
dbUser = "admin"
dbSecretName = "mongodb"
dbSecretName = "postgresql"
const kubeappsNamespace = "kubeapps"

tests := []struct {
Expand Down Expand Up @@ -912,16 +903,15 @@ func Test_newCleanupJob(t *testing.T) {
"delete",
"my-charts",
"--namespace=kubeapps",
"--database-type=mongodb",
"--database-url=mongodb.kubeapps",
"--database-url=postgresql.kubeapps",
"--database-user=admin",
"--database-name=assets",
},
Env: []corev1.EnvVar{
{
Name: "DB_PASSWORD",
ValueFrom: &corev1.EnvVarSource{
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "mongodb"}, Key: "mongodb-root-password"}},
SecretKeyRef: &corev1.SecretKeySelector{LocalObjectReference: corev1.LocalObjectReference{Name: "postgresql"}, Key: "postgresql-root-password"}},
},
},
},
Expand Down
6 changes: 2 additions & 4 deletions cmd/apprepository-controller/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ var (
repoSyncImage string
repoSyncCommand string
namespace string
dbType string
dbURL string
dbUser string
dbName string
Expand Down Expand Up @@ -89,12 +88,11 @@ func init() {
flag.StringVar(&repoSyncCommand, "repo-sync-cmd", "/chart-repo", "command used to sync/delete repos for repo-sync-image")
flag.StringVar(&namespace, "namespace", "kubeapps", "Namespace to discover AppRepository resources")
flag.BoolVar(&reposPerNamespace, "repos-per-namespace", true, "UNUSED: This flag will be removed in a future release.")
flag.StringVar(&dbType, "database-type", "mongodb", "Database type. Allowed values: mongodb, postgresql")
flag.StringVar(&dbURL, "database-url", "localhost", "Database URL")
flag.StringVar(&dbUser, "database-user", "root", "Database user")
flag.StringVar(&dbName, "database-name", "charts", "Database name")
flag.StringVar(&dbSecretName, "database-secret-name", "mongodb", "Kubernetes secret name for database credentials")
flag.StringVar(&dbSecretKey, "database-secret-key", "mongodb-root-password", "Kubernetes secret key used for database credentials")
flag.StringVar(&dbSecretName, "database-secret-name", "kubeapps-db", "Kubernetes secret name for database credentials")
flag.StringVar(&dbSecretKey, "database-secret-key", "postgresql-root-password", "Kubernetes secret key used for database credentials")
flag.StringVar(&userAgentComment, "user-agent-comment", "", "UserAgent comment used during outbound requests")
flag.StringVar(&crontab, "crontab", "*/10 * * * *", "CronTab to specify schedule")
}
2 changes: 1 addition & 1 deletion cmd/asset-syncer/delete.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ var deleteCmd = &cobra.Command{

dbConfig := datastore.Config{URL: databaseURL, Database: databaseName, Username: databaseUser, Password: databasePassword}
kubeappsNamespace := os.Getenv("POD_NAMESPACE")
manager, err := newManager(databaseType, dbConfig, kubeappsNamespace)
manager, err := newManager(dbConfig, kubeappsNamespace)
if err != nil {
logrus.Fatal(err)
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/asset-syncer/invalidate-cache.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ var invalidateCacheCmd = &cobra.Command{

dbConfig := datastore.Config{URL: databaseURL, Database: databaseName, Username: databaseUser, Password: databasePassword}
kubeappsNamespace := os.Getenv("POD_NAMESPACE")
manager, err := newManager(databaseType, dbConfig, kubeappsNamespace)
manager, err := newManager(dbConfig, kubeappsNamespace)
if err != nil {
logrus.Fatal(err)
}
Expand Down
2 changes: 0 additions & 2 deletions cmd/asset-syncer/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import (
)

var (
databaseType string
databaseURL string
databaseName string
databaseUser string
Expand All @@ -48,7 +47,6 @@ func main() {
}

func init() {
rootCmd.PersistentFlags().StringVar(&databaseType, "database-type", "mongodb", "Database to use. Choice: mongodb, postgresql")
rootCmd.PersistentFlags().StringVar(&databaseURL, "database-url", "localhost", "Database URL")
rootCmd.PersistentFlags().StringVar(&databaseName, "database-name", "charts", "Name of the database to use")
rootCmd.PersistentFlags().StringVar(&databaseUser, "database-user", "", "Database user")
Expand Down
Loading

0 comments on commit 276c162

Please sign in to comment.