mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 23:27:31 +00:00
fix(instance): add web key generation to instance defaults (#9815)
# Which Problems Are Solved
Webkeys were not generated with new instances when the webkey feature
flag was enabled for instance defaults. This would cause a redirect loop
with console for new instances on QA / coud.
# How the Problems Are Solved
- uncomment the webkeys section on defaults.yaml
- Fix field naming of webkey config
# Additional Changes
- Add all available features as comments.
- Make the improved performance type enum parsable from the config,
untill now they were just ints.
- Running of the enumer command created missing enum entries for feature
keys.
# Additional Context
- Needs to be back-ported to v3 / next-rc
Co-authored-by: Livio Spring <livio.a@gmail.com>
(cherry picked from commit 91bc71db74
)
This commit is contained in:

committed by
Livio Spring

parent
0af5346288
commit
19aacdab26
File diff suppressed because one or more lines are too long
@@ -172,7 +172,7 @@ func improvedPerformanceTypesToPb(types []feature.ImprovedPerformanceType) []fea
|
|||||||
|
|
||||||
func improvedPerformanceTypeToPb(typ feature.ImprovedPerformanceType) feature_pb.ImprovedPerformance {
|
func improvedPerformanceTypeToPb(typ feature.ImprovedPerformanceType) feature_pb.ImprovedPerformance {
|
||||||
switch typ {
|
switch typ {
|
||||||
case feature.ImprovedPerformanceTypeUnknown:
|
case feature.ImprovedPerformanceTypeUnspecified:
|
||||||
return feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_UNSPECIFIED
|
return feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_UNSPECIFIED
|
||||||
case feature.ImprovedPerformanceTypeOrgByID:
|
case feature.ImprovedPerformanceTypeOrgByID:
|
||||||
return feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_ORG_BY_ID
|
return feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_ORG_BY_ID
|
||||||
@@ -205,7 +205,7 @@ func improvedPerformanceListToDomain(list []feature_pb.ImprovedPerformance) []fe
|
|||||||
func improvedPerformanceToDomain(typ feature_pb.ImprovedPerformance) feature.ImprovedPerformanceType {
|
func improvedPerformanceToDomain(typ feature_pb.ImprovedPerformance) feature.ImprovedPerformanceType {
|
||||||
switch typ {
|
switch typ {
|
||||||
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_UNSPECIFIED:
|
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_UNSPECIFIED:
|
||||||
return feature.ImprovedPerformanceTypeUnknown
|
return feature.ImprovedPerformanceTypeUnspecified
|
||||||
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_ORG_BY_ID:
|
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_ORG_BY_ID:
|
||||||
return feature.ImprovedPerformanceTypeOrgByID
|
return feature.ImprovedPerformanceTypeOrgByID
|
||||||
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_PROJECT_GRANT:
|
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_PROJECT_GRANT:
|
||||||
@@ -217,6 +217,6 @@ func improvedPerformanceToDomain(typ feature_pb.ImprovedPerformance) feature.Imp
|
|||||||
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_ORG_DOMAIN_VERIFIED:
|
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_ORG_DOMAIN_VERIFIED:
|
||||||
return feature.ImprovedPerformanceTypeOrgDomainVerified
|
return feature.ImprovedPerformanceTypeOrgDomainVerified
|
||||||
default:
|
default:
|
||||||
return feature.ImprovedPerformanceTypeUnknown
|
return feature.ImprovedPerformanceTypeUnspecified
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -109,7 +109,7 @@ func improvedPerformanceTypesToPb(types []feature.ImprovedPerformanceType) []fea
|
|||||||
|
|
||||||
func improvedPerformanceTypeToPb(typ feature.ImprovedPerformanceType) feature_pb.ImprovedPerformance {
|
func improvedPerformanceTypeToPb(typ feature.ImprovedPerformanceType) feature_pb.ImprovedPerformance {
|
||||||
switch typ {
|
switch typ {
|
||||||
case feature.ImprovedPerformanceTypeUnknown:
|
case feature.ImprovedPerformanceTypeUnspecified:
|
||||||
return feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_UNSPECIFIED
|
return feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_UNSPECIFIED
|
||||||
case feature.ImprovedPerformanceTypeOrgByID:
|
case feature.ImprovedPerformanceTypeOrgByID:
|
||||||
return feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_ORG_BY_ID
|
return feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_ORG_BY_ID
|
||||||
@@ -142,7 +142,7 @@ func improvedPerformanceListToDomain(list []feature_pb.ImprovedPerformance) []fe
|
|||||||
func improvedPerformanceToDomain(typ feature_pb.ImprovedPerformance) feature.ImprovedPerformanceType {
|
func improvedPerformanceToDomain(typ feature_pb.ImprovedPerformance) feature.ImprovedPerformanceType {
|
||||||
switch typ {
|
switch typ {
|
||||||
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_UNSPECIFIED:
|
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_UNSPECIFIED:
|
||||||
return feature.ImprovedPerformanceTypeUnknown
|
return feature.ImprovedPerformanceTypeUnspecified
|
||||||
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_ORG_BY_ID:
|
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_ORG_BY_ID:
|
||||||
return feature.ImprovedPerformanceTypeOrgByID
|
return feature.ImprovedPerformanceTypeOrgByID
|
||||||
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_PROJECT_GRANT:
|
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_PROJECT_GRANT:
|
||||||
@@ -154,6 +154,6 @@ func improvedPerformanceToDomain(typ feature_pb.ImprovedPerformance) feature.Imp
|
|||||||
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_ORG_DOMAIN_VERIFIED:
|
case feature_pb.ImprovedPerformance_IMPROVED_PERFORMANCE_ORG_DOMAIN_VERIFIED:
|
||||||
return feature.ImprovedPerformanceTypeOrgDomainVerified
|
return feature.ImprovedPerformanceTypeOrgDomainVerified
|
||||||
default:
|
default:
|
||||||
return feature.ImprovedPerformanceTypeUnknown
|
return feature.ImprovedPerformanceTypeUnspecified
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -57,10 +57,11 @@ type Features struct {
|
|||||||
ConsoleUseV2UserApi bool `json:"console_use_v2_user_api,omitempty"`
|
ConsoleUseV2UserApi bool `json:"console_use_v2_user_api,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//go:generate enumer -type ImprovedPerformanceType -trimprefix ImprovedPerformanceType -text
|
||||||
type ImprovedPerformanceType int32
|
type ImprovedPerformanceType int32
|
||||||
|
|
||||||
const (
|
const (
|
||||||
ImprovedPerformanceTypeUnknown = iota
|
ImprovedPerformanceTypeUnspecified ImprovedPerformanceType = iota
|
||||||
ImprovedPerformanceTypeOrgByID
|
ImprovedPerformanceTypeOrgByID
|
||||||
ImprovedPerformanceTypeProjectGrant
|
ImprovedPerformanceTypeProjectGrant
|
||||||
ImprovedPerformanceTypeProject
|
ImprovedPerformanceTypeProject
|
||||||
|
106
internal/feature/improvedperformancetype_enumer.go
Normal file
106
internal/feature/improvedperformancetype_enumer.go
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
// Code generated by "enumer -type ImprovedPerformanceType -trimprefix ImprovedPerformanceType -text"; DO NOT EDIT.
|
||||||
|
|
||||||
|
package feature
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
const _ImprovedPerformanceTypeName = "UnspecifiedOrgByIDProjectGrantProjectUserGrantOrgDomainVerified"
|
||||||
|
|
||||||
|
var _ImprovedPerformanceTypeIndex = [...]uint8{0, 11, 18, 30, 37, 46, 63}
|
||||||
|
|
||||||
|
const _ImprovedPerformanceTypeLowerName = "unspecifiedorgbyidprojectgrantprojectusergrantorgdomainverified"
|
||||||
|
|
||||||
|
func (i ImprovedPerformanceType) String() string {
|
||||||
|
if i < 0 || i >= ImprovedPerformanceType(len(_ImprovedPerformanceTypeIndex)-1) {
|
||||||
|
return fmt.Sprintf("ImprovedPerformanceType(%d)", i)
|
||||||
|
}
|
||||||
|
return _ImprovedPerformanceTypeName[_ImprovedPerformanceTypeIndex[i]:_ImprovedPerformanceTypeIndex[i+1]]
|
||||||
|
}
|
||||||
|
|
||||||
|
// An "invalid array index" compiler error signifies that the constant values have changed.
|
||||||
|
// Re-run the stringer command to generate them again.
|
||||||
|
func _ImprovedPerformanceTypeNoOp() {
|
||||||
|
var x [1]struct{}
|
||||||
|
_ = x[ImprovedPerformanceTypeUnspecified-(0)]
|
||||||
|
_ = x[ImprovedPerformanceTypeOrgByID-(1)]
|
||||||
|
_ = x[ImprovedPerformanceTypeProjectGrant-(2)]
|
||||||
|
_ = x[ImprovedPerformanceTypeProject-(3)]
|
||||||
|
_ = x[ImprovedPerformanceTypeUserGrant-(4)]
|
||||||
|
_ = x[ImprovedPerformanceTypeOrgDomainVerified-(5)]
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ImprovedPerformanceTypeValues = []ImprovedPerformanceType{ImprovedPerformanceTypeUnspecified, ImprovedPerformanceTypeOrgByID, ImprovedPerformanceTypeProjectGrant, ImprovedPerformanceTypeProject, ImprovedPerformanceTypeUserGrant, ImprovedPerformanceTypeOrgDomainVerified}
|
||||||
|
|
||||||
|
var _ImprovedPerformanceTypeNameToValueMap = map[string]ImprovedPerformanceType{
|
||||||
|
_ImprovedPerformanceTypeName[0:11]: ImprovedPerformanceTypeUnspecified,
|
||||||
|
_ImprovedPerformanceTypeLowerName[0:11]: ImprovedPerformanceTypeUnspecified,
|
||||||
|
_ImprovedPerformanceTypeName[11:18]: ImprovedPerformanceTypeOrgByID,
|
||||||
|
_ImprovedPerformanceTypeLowerName[11:18]: ImprovedPerformanceTypeOrgByID,
|
||||||
|
_ImprovedPerformanceTypeName[18:30]: ImprovedPerformanceTypeProjectGrant,
|
||||||
|
_ImprovedPerformanceTypeLowerName[18:30]: ImprovedPerformanceTypeProjectGrant,
|
||||||
|
_ImprovedPerformanceTypeName[30:37]: ImprovedPerformanceTypeProject,
|
||||||
|
_ImprovedPerformanceTypeLowerName[30:37]: ImprovedPerformanceTypeProject,
|
||||||
|
_ImprovedPerformanceTypeName[37:46]: ImprovedPerformanceTypeUserGrant,
|
||||||
|
_ImprovedPerformanceTypeLowerName[37:46]: ImprovedPerformanceTypeUserGrant,
|
||||||
|
_ImprovedPerformanceTypeName[46:63]: ImprovedPerformanceTypeOrgDomainVerified,
|
||||||
|
_ImprovedPerformanceTypeLowerName[46:63]: ImprovedPerformanceTypeOrgDomainVerified,
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ImprovedPerformanceTypeNames = []string{
|
||||||
|
_ImprovedPerformanceTypeName[0:11],
|
||||||
|
_ImprovedPerformanceTypeName[11:18],
|
||||||
|
_ImprovedPerformanceTypeName[18:30],
|
||||||
|
_ImprovedPerformanceTypeName[30:37],
|
||||||
|
_ImprovedPerformanceTypeName[37:46],
|
||||||
|
_ImprovedPerformanceTypeName[46:63],
|
||||||
|
}
|
||||||
|
|
||||||
|
// ImprovedPerformanceTypeString retrieves an enum value from the enum constants string name.
|
||||||
|
// Throws an error if the param is not part of the enum.
|
||||||
|
func ImprovedPerformanceTypeString(s string) (ImprovedPerformanceType, error) {
|
||||||
|
if val, ok := _ImprovedPerformanceTypeNameToValueMap[s]; ok {
|
||||||
|
return val, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if val, ok := _ImprovedPerformanceTypeNameToValueMap[strings.ToLower(s)]; ok {
|
||||||
|
return val, nil
|
||||||
|
}
|
||||||
|
return 0, fmt.Errorf("%s does not belong to ImprovedPerformanceType values", s)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ImprovedPerformanceTypeValues returns all values of the enum
|
||||||
|
func ImprovedPerformanceTypeValues() []ImprovedPerformanceType {
|
||||||
|
return _ImprovedPerformanceTypeValues
|
||||||
|
}
|
||||||
|
|
||||||
|
// ImprovedPerformanceTypeStrings returns a slice of all String values of the enum
|
||||||
|
func ImprovedPerformanceTypeStrings() []string {
|
||||||
|
strs := make([]string, len(_ImprovedPerformanceTypeNames))
|
||||||
|
copy(strs, _ImprovedPerformanceTypeNames)
|
||||||
|
return strs
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsAImprovedPerformanceType returns "true" if the value is listed in the enum definition. "false" otherwise
|
||||||
|
func (i ImprovedPerformanceType) IsAImprovedPerformanceType() bool {
|
||||||
|
for _, v := range _ImprovedPerformanceTypeValues {
|
||||||
|
if i == v {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalText implements the encoding.TextMarshaler interface for ImprovedPerformanceType
|
||||||
|
func (i ImprovedPerformanceType) MarshalText() ([]byte, error) {
|
||||||
|
return []byte(i.String()), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalText implements the encoding.TextUnmarshaler interface for ImprovedPerformanceType
|
||||||
|
func (i *ImprovedPerformanceType) UnmarshalText(text []byte) error {
|
||||||
|
var err error
|
||||||
|
*i, err = ImprovedPerformanceTypeString(string(text))
|
||||||
|
return err
|
||||||
|
}
|
@@ -7,11 +7,11 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
const _KeyName = "unspecifiedlogin_default_orgtrigger_introspection_projectionslegacy_introspectionuser_schematoken_exchangeactionsimproved_performanceweb_keydebug_oidc_parent_erroroidc_single_v1_session_terminationdisable_user_token_eventenable_back_channel_logoutlogin_v2permission_check_v2console_use_v2_user_api"
|
const _KeyName = "unspecifiedlogin_default_orgtrigger_introspection_projectionslegacy_introspectionuser_schematoken_exchangeactions_deprecatedimproved_performanceweb_keydebug_oidc_parent_erroroidc_single_v1_session_terminationdisable_user_token_eventenable_back_channel_logoutlogin_v2permission_check_v2console_use_v2_user_api"
|
||||||
|
|
||||||
var _KeyIndex = [...]uint16{0, 11, 28, 61, 81, 92, 106, 113, 133, 140, 163, 197, 221, 247, 255, 274, 297}
|
var _KeyIndex = [...]uint16{0, 11, 28, 61, 81, 92, 106, 124, 144, 151, 174, 208, 232, 258, 266, 285, 308}
|
||||||
|
|
||||||
const _KeyLowerName = "unspecifiedlogin_default_orgtrigger_introspection_projectionslegacy_introspectionuser_schematoken_exchangeactionsimproved_performanceweb_keydebug_oidc_parent_erroroidc_single_v1_session_terminationdisable_user_token_eventenable_back_channel_logoutlogin_v2permission_check_v2console_use_v2_user_api"
|
const _KeyLowerName = "unspecifiedlogin_default_orgtrigger_introspection_projectionslegacy_introspectionuser_schematoken_exchangeactions_deprecatedimproved_performanceweb_keydebug_oidc_parent_erroroidc_single_v1_session_terminationdisable_user_token_eventenable_back_channel_logoutlogin_v2permission_check_v2console_use_v2_user_api"
|
||||||
|
|
||||||
func (i Key) String() string {
|
func (i Key) String() string {
|
||||||
if i < 0 || i >= Key(len(_KeyIndex)-1) {
|
if i < 0 || i >= Key(len(_KeyIndex)-1) {
|
||||||
@@ -57,26 +57,26 @@ var _KeyNameToValueMap = map[string]Key{
|
|||||||
_KeyLowerName[81:92]: KeyUserSchema,
|
_KeyLowerName[81:92]: KeyUserSchema,
|
||||||
_KeyName[92:106]: KeyTokenExchange,
|
_KeyName[92:106]: KeyTokenExchange,
|
||||||
_KeyLowerName[92:106]: KeyTokenExchange,
|
_KeyLowerName[92:106]: KeyTokenExchange,
|
||||||
_KeyName[106:113]: KeyActionsDeprecated,
|
_KeyName[106:124]: KeyActionsDeprecated,
|
||||||
_KeyLowerName[106:113]: KeyActionsDeprecated,
|
_KeyLowerName[106:124]: KeyActionsDeprecated,
|
||||||
_KeyName[113:133]: KeyImprovedPerformance,
|
_KeyName[124:144]: KeyImprovedPerformance,
|
||||||
_KeyLowerName[113:133]: KeyImprovedPerformance,
|
_KeyLowerName[124:144]: KeyImprovedPerformance,
|
||||||
_KeyName[133:140]: KeyWebKey,
|
_KeyName[144:151]: KeyWebKey,
|
||||||
_KeyLowerName[133:140]: KeyWebKey,
|
_KeyLowerName[144:151]: KeyWebKey,
|
||||||
_KeyName[140:163]: KeyDebugOIDCParentError,
|
_KeyName[151:174]: KeyDebugOIDCParentError,
|
||||||
_KeyLowerName[140:163]: KeyDebugOIDCParentError,
|
_KeyLowerName[151:174]: KeyDebugOIDCParentError,
|
||||||
_KeyName[163:197]: KeyOIDCSingleV1SessionTermination,
|
_KeyName[174:208]: KeyOIDCSingleV1SessionTermination,
|
||||||
_KeyLowerName[163:197]: KeyOIDCSingleV1SessionTermination,
|
_KeyLowerName[174:208]: KeyOIDCSingleV1SessionTermination,
|
||||||
_KeyName[197:221]: KeyDisableUserTokenEvent,
|
_KeyName[208:232]: KeyDisableUserTokenEvent,
|
||||||
_KeyLowerName[197:221]: KeyDisableUserTokenEvent,
|
_KeyLowerName[208:232]: KeyDisableUserTokenEvent,
|
||||||
_KeyName[221:247]: KeyEnableBackChannelLogout,
|
_KeyName[232:258]: KeyEnableBackChannelLogout,
|
||||||
_KeyLowerName[221:247]: KeyEnableBackChannelLogout,
|
_KeyLowerName[232:258]: KeyEnableBackChannelLogout,
|
||||||
_KeyName[247:255]: KeyLoginV2,
|
_KeyName[258:266]: KeyLoginV2,
|
||||||
_KeyLowerName[247:255]: KeyLoginV2,
|
_KeyLowerName[258:266]: KeyLoginV2,
|
||||||
_KeyName[255:274]: KeyPermissionCheckV2,
|
_KeyName[266:285]: KeyPermissionCheckV2,
|
||||||
_KeyLowerName[255:274]: KeyPermissionCheckV2,
|
_KeyLowerName[266:285]: KeyPermissionCheckV2,
|
||||||
_KeyName[274:297]: KeyConsoleUseV2UserApi,
|
_KeyName[285:308]: KeyConsoleUseV2UserApi,
|
||||||
_KeyLowerName[274:297]: KeyConsoleUseV2UserApi,
|
_KeyLowerName[285:308]: KeyConsoleUseV2UserApi,
|
||||||
}
|
}
|
||||||
|
|
||||||
var _KeyNames = []string{
|
var _KeyNames = []string{
|
||||||
@@ -86,16 +86,16 @@ var _KeyNames = []string{
|
|||||||
_KeyName[61:81],
|
_KeyName[61:81],
|
||||||
_KeyName[81:92],
|
_KeyName[81:92],
|
||||||
_KeyName[92:106],
|
_KeyName[92:106],
|
||||||
_KeyName[106:113],
|
_KeyName[106:124],
|
||||||
_KeyName[113:133],
|
_KeyName[124:144],
|
||||||
_KeyName[133:140],
|
_KeyName[144:151],
|
||||||
_KeyName[140:163],
|
_KeyName[151:174],
|
||||||
_KeyName[163:197],
|
_KeyName[174:208],
|
||||||
_KeyName[197:221],
|
_KeyName[208:232],
|
||||||
_KeyName[221:247],
|
_KeyName[232:258],
|
||||||
_KeyName[247:255],
|
_KeyName[258:266],
|
||||||
_KeyName[255:274],
|
_KeyName[266:285],
|
||||||
_KeyName[274:297],
|
_KeyName[285:308],
|
||||||
}
|
}
|
||||||
|
|
||||||
// KeyString retrieves an enum value from the enum constants string name.
|
// KeyString retrieves an enum value from the enum constants string name.
|
||||||
|
Reference in New Issue
Block a user