Skip to content

Commit

Permalink
Merge branch 'main' into feat/allow-releasing-beta
Browse files Browse the repository at this point in the history
  • Loading branch information
buraksekili committed Oct 26, 2023
2 parents 5aa8ded + 3404ae0 commit 926a294
Show file tree
Hide file tree
Showing 7 changed files with 69 additions and 82 deletions.
4 changes: 2 additions & 2 deletions cmd/bootstrap-post/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ func main() {
fmt.Println("Finished bootstrapping operator secret")

fmt.Println("Started bootstrapping portal secret")
if data.AppConfig.EnterprisePortalSecretEnabled {
err = helpers.BootstrapTykEnterprisePortalSecret()
if data.AppConfig.DeveloperPortalSecretEnabled {
err = helpers.BootstrapTykPortalSecret()
if err != nil {
fmt.Println(err)
os.Exit(1)
Expand Down
40 changes: 19 additions & 21 deletions constants/constants.go
Original file line number Diff line number Diff line change
@@ -1,30 +1,28 @@
package constants

const (
OperatorSecretEnabledEnvVar = "OPERATOR_SECRET_ENABLED"
EnterprisePortalSecretEnabledEnvVar = "ENTERPRISE_PORTAL_SECRET_ENABLED"
BootstrapPortalEnvVar = "BOOTSTRAP_PORTAL"
TykDashboardDeployEnvVar = "TYK_DASHBOARD_DEPLOY"
OperatorSecretNameEnvVar = "OPERATOR_SECRET_NAME"
EnterprisePortalSecretNameEnvVar = "ENTERPRISE_PORTAL_SECRET_NAME"
TykAdminFirstNameEnvVar = "TYK_ADMIN_FIRST_NAME"
TykAdminLastNameEnvVar = "TYK_ADMIN_LAST_NAME"
TykAdminEmailEnvVar = "TYK_ADMIN_EMAIL"
TykAdminPasswordEnvVar = "TYK_ADMIN_PASSWORD"
TykPodNamespaceEnvVar = "TYK_POD_NAMESPACE"
TykDashboardProtoEnvVar = "TYK_DASHBOARD_PROTO"
TykDashboardInsecureSkipVerify = "TYK_DASHBOARD_INSECURE_SKIP_VERIFY"
TykDashboardLicenseEnvVarName = "TYK_DB_LICENSEKEY"
TykDbLicensekeyEnvVar = "TYK_DB_LICENSEKEY"
TykAdminSecretEnvVar = "TYK_ADMIN_SECRET"
DashboardEnabledEnvVar = "DASHBOARD_ENABLED"
TykOrgNameEnvVar = "TYK_ORG_NAME"
TykOrgCnameEnvVar = "TYK_ORG_CNAME"
ReleaseNameEnvVar = "RELEASE_NAME"
OperatorSecretEnabledEnvVar = "OPERATOR_SECRET_ENABLED"
DeveloperPortalSecretEnabledEnvVar = "DEVELOPER_PORTAL_SECRET_ENABLED"
BootstrapPortalEnvVar = "BOOTSTRAP_PORTAL"
TykDashboardDeployEnvVar = "TYK_DASHBOARD_DEPLOY"
OperatorSecretNameEnvVar = "OPERATOR_SECRET_NAME"
DeveloperPortalSecretNameEnvVar = "DEVELOPER_PORTAL_SECRET_NAME"
TykAdminFirstNameEnvVar = "TYK_ADMIN_FIRST_NAME"
TykAdminLastNameEnvVar = "TYK_ADMIN_LAST_NAME"
TykAdminEmailEnvVar = "TYK_ADMIN_EMAIL"
TykAdminPasswordEnvVar = "TYK_ADMIN_PASSWORD"
TykPodNamespaceEnvVar = "TYK_POD_NAMESPACE"
TykDashboardProtoEnvVar = "TYK_DASHBOARD_PROTO"
TykDashboardInsecureSkipVerify = "TYK_DASHBOARD_INSECURE_SKIP_VERIFY"
TykDashboardLicenseEnvVarName = "TYK_DB_LICENSEKEY"
TykDbLicensekeyEnvVar = "TYK_DB_LICENSEKEY"
TykAdminSecretEnvVar = "TYK_ADMIN_SECRET"
DashboardEnabledEnvVar = "DASHBOARD_ENABLED"
TykOrgNameEnvVar = "TYK_ORG_NAME"
TykOrgCnameEnvVar = "TYK_ORG_CNAME"

TykBootstrapLabel = "tyk.tyk.io/k8s-bootstrap"
TykBootstrapPreDeleteLabel = "tyk-k8s-bootstrap-pre-delete"
TykBootstrapDashboardDeployLabel = "tyk-dashboard"
TykBootstrapDashboardSvcLabel = "tyk-dashboard"
TykBootstrapReleaseLabel = "release"
)
68 changes: 31 additions & 37 deletions data/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,32 +13,31 @@ import (
)

type AppArguments struct {
DashboardHost string
DashboardPort int32
DashBoardLicense string
TykAdminSecret string
CurrentOrgName string
TykAdminPassword string
Cname string
TykAdminFirstName string
TykAdminLastName string
TykAdminEmailAddress string
UserAuth string
OrgId string
CatalogId string
DashboardUrl string
DashboardProto string
TykPodNamespace string
DashboardSvc string
DashboardInsecureSkipVerify bool
IsDashboardEnabled bool
OperatorSecretEnabled bool
OperatorSecretName string
EnterprisePortalSecretEnabled bool
EnterprisePortalSecretName string
BootstrapPortal bool
DashboardDeploymentName string
ReleaseName string
DashboardHost string
DashboardPort int32
DashBoardLicense string
TykAdminSecret string
CurrentOrgName string
TykAdminPassword string
Cname string
TykAdminFirstName string
TykAdminLastName string
TykAdminEmailAddress string
UserAuth string
OrgId string
CatalogId string
DashboardUrl string
DashboardProto string
TykPodNamespace string
DashboardSvc string
DashboardInsecureSkipVerify bool
IsDashboardEnabled bool
OperatorSecretEnabled bool
OperatorSecretName string
DeveloperPortalSecretEnabled bool
DeveloperPortalSecretName string
BootstrapPortal bool
DashboardDeploymentName string
}

var AppConfig = AppArguments{
Expand All @@ -54,7 +53,7 @@ var AppConfig = AppArguments{

func InitAppDataPreDelete() error {
AppConfig.OperatorSecretName = os.Getenv(constants.OperatorSecretNameEnvVar)
AppConfig.EnterprisePortalSecretName = os.Getenv(constants.EnterprisePortalSecretNameEnvVar)
AppConfig.DeveloperPortalSecretName = os.Getenv(constants.DeveloperPortalSecretNameEnvVar)
AppConfig.TykPodNamespace = os.Getenv(constants.TykPodNamespaceEnvVar)
return nil
}
Expand All @@ -71,7 +70,6 @@ func InitAppDataPostInstall() error {
AppConfig.TykAdminSecret = os.Getenv(constants.TykAdminSecretEnvVar)
AppConfig.CurrentOrgName = os.Getenv(constants.TykOrgNameEnvVar)
AppConfig.Cname = os.Getenv(constants.TykOrgCnameEnvVar)
AppConfig.ReleaseName = os.Getenv(constants.ReleaseNameEnvVar)

var err error

Expand Down Expand Up @@ -105,15 +103,14 @@ func InitAppDataPostInstall() error {

AppConfig.OperatorSecretName = os.Getenv(constants.OperatorSecretNameEnvVar)

enterprisePortalSecretEnabledRaw := os.Getenv(constants.EnterprisePortalSecretEnabledEnvVar)
if enterprisePortalSecretEnabledRaw != "" {
AppConfig.EnterprisePortalSecretEnabled, err = strconv.ParseBool(enterprisePortalSecretEnabledRaw)
developerPortalSecretEnabledRaw := os.Getenv(constants.DeveloperPortalSecretEnabledEnvVar)
if developerPortalSecretEnabledRaw != "" {
AppConfig.DeveloperPortalSecretEnabled, err = strconv.ParseBool(developerPortalSecretEnabledRaw)
if err != nil {
return fmt.Errorf("failed to parse %v, err: %v", constants.EnterprisePortalSecretEnabledEnvVar, err)
return err
}
}

AppConfig.EnterprisePortalSecretName = os.Getenv(constants.EnterprisePortalSecretNameEnvVar)
AppConfig.DeveloperPortalSecretName = os.Getenv(constants.DeveloperPortalSecretNameEnvVar)

bootstrapPortalBoolRaw := os.Getenv(constants.BootstrapPortalEnvVar)
if bootstrapPortalBoolRaw != "" {
Expand Down Expand Up @@ -152,9 +149,6 @@ func discoverDashboardSvc() error {
ls := metav1.LabelSelector{MatchLabels: map[string]string{
constants.TykBootstrapLabel: constants.TykBootstrapDashboardSvcLabel,
}}
if AppConfig.ReleaseName != "" {
ls.MatchLabels[constants.TykBootstrapReleaseLabel] = AppConfig.ReleaseName
}

l := labels.Set(ls.MatchLabels).String()

Expand Down
6 changes: 2 additions & 4 deletions hack/job.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,8 @@ spec:
value: "true"
- name: OPERATOR_SECRET_NAME
value: "tyk-operator-conf"
- name: ENTERPRISE_PORTAL_SECRET_ENABLED
value: "true"
- name: ENTERPRISE_PORTAL_SECRET_NAME
value: "tyk-enterprise-portal-conf"
- name: DEVELOPER_PORTAL_SECRET_NAME
value: "tyk-dev-portal-conf"
- name: BOOTSTRAP_DASHBOARD
value: "true"
- name: GATEWAY_ADDRESS
Expand Down
19 changes: 10 additions & 9 deletions helpers/operator.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ func CreateTykOperatorSecret(clientset *kubernetes.Clientset) error {
return nil
}

func BootstrapTykEnterprisePortalSecret() error {
func BootstrapTykPortalSecret() error {
config, err := rest.InClusterConfig()
if err != nil {
return err
Expand All @@ -88,32 +88,33 @@ func BootstrapTykEnterprisePortalSecret() error {
}

for _, value := range secrets.Items {
if data.AppConfig.EnterprisePortalSecretName == value.Name {
if data.AppConfig.DeveloperPortalSecretName == value.Name {
err = clientset.CoreV1().Secrets(data.AppConfig.TykPodNamespace).
Delete(context.TODO(), value.Name, v1.DeleteOptions{})
if err != nil {
return err
}
fmt.Println("A previously created enterprise portal secret was identified and deleted")
fmt.Println("A previously created portal secret was identified and deleted")
break
}
}

err = CreateTykEnterprisePortalSecret(clientset)
if err != nil {
return err
if data.AppConfig.DeveloperPortalSecretName != "" {
err = CreateTykPortalSecret(clientset, data.AppConfig.DeveloperPortalSecretName)
if err != nil {
return err
}
}

return nil
}

func CreateTykEnterprisePortalSecret(clientset *kubernetes.Clientset) error {
func CreateTykPortalSecret(clientset *kubernetes.Clientset, secretName string) error {
secretData := map[string][]byte{
TykAuth: []byte(data.AppConfig.UserAuth),
TykOrg: []byte(data.AppConfig.OrgId),
}

objectMeta := v1.ObjectMeta{Name: data.AppConfig.EnterprisePortalSecretName}
objectMeta := v1.ObjectMeta{Name: secretName}

secret := v12.Secret{
ObjectMeta: objectMeta,
Expand Down
4 changes: 0 additions & 4 deletions helpers/portal.go
Original file line number Diff line number Diff line change
Expand Up @@ -242,10 +242,6 @@ func RestartDashboard() error {
constants.TykBootstrapLabel: constants.TykBootstrapDashboardDeployLabel,
}}

if data.AppConfig.ReleaseName != "" {
ls.MatchLabels[constants.TykBootstrapReleaseLabel] = data.AppConfig.ReleaseName
}

deployments, err := clientset.
AppsV1().
Deployments(data.AppConfig.TykPodNamespace).
Expand Down
10 changes: 5 additions & 5 deletions predelete/predelete.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func ExecutePreDeleteOperations() error {
return err
}

err = PreDeleteEnterprisePortalSecret(clientset)
err = PreDeletePortalSecret(clientset)
if err != nil {
return err
}
Expand Down Expand Up @@ -69,7 +69,7 @@ func PreDeleteOperatorSecret(clientset *kubernetes.Clientset) error {
return nil
}

func PreDeleteEnterprisePortalSecret(clientset *kubernetes.Clientset) error {
func PreDeletePortalSecret(clientset *kubernetes.Clientset) error {
fmt.Println("Running pre delete hook")
ns := data.AppConfig.TykPodNamespace

Expand All @@ -81,21 +81,21 @@ func PreDeleteEnterprisePortalSecret(clientset *kubernetes.Clientset) error {

notFound := true
for _, value := range secrets.Items {
if data.AppConfig.EnterprisePortalSecretName == value.Name {
if data.AppConfig.DeveloperPortalSecretName == value.Name {
err = clientset.CoreV1().Secrets(ns).
Delete(context.TODO(), value.Name, metav1.DeleteOptions{})

if err != nil {
return err
}
fmt.Println("A previously created enterprise portal secret was identified and deleted")
fmt.Println("A previously created developer portal secret was identified and deleted")
notFound = false
break
}
}

if notFound {
fmt.Println("A previously created enterprise portal secret has not been identified")
fmt.Println("A previously created developer portal secret has not been identified")
}

return nil
Expand Down

0 comments on commit 926a294

Please sign in to comment.