mirror of
https://github.com/gravitational/teleport.git
synced 2026-10-12 02:15:01 +00:00
Discover: Create app server event (#45242)
* Create app server event * Emit create app server event
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -366,6 +366,13 @@ message UIDiscoverCreateNodeEvent {
|
||||
DiscoverStepStatus status = 3;
|
||||
}
|
||||
|
||||
// UIDiscoverCreateAppServerEvent is emitted when an app server is created.
|
||||
message UIDiscoverCreateAppServerEvent {
|
||||
DiscoverMetadata metadata = 1;
|
||||
DiscoverResourceMetadata resource = 2;
|
||||
DiscoverStepStatus status = 3;
|
||||
}
|
||||
|
||||
// UIDiscoverDatabaseConfigureIAMPolicyEvent is emitted when a user is finished with the step that configures IAM policy for an RDS database.
|
||||
message UIDiscoverDatabaseConfigureIAMPolicyEvent {
|
||||
DiscoverMetadata metadata = 1;
|
||||
@@ -739,6 +746,7 @@ message UsageEventOneOf {
|
||||
DiscoveryFetchEvent discovery_fetch_event = 54;
|
||||
UIDiscoverCreateDiscoveryConfigEvent ui_discover_create_discovery_config = 55;
|
||||
UIDiscoverKubeEKSEnrollEvent ui_discover_kube_eks_enroll_event = 56;
|
||||
UIDiscoverCreateAppServerEvent ui_discover_create_app_server_event = 57;
|
||||
}
|
||||
reserved 2; //UIOnboardGetStartedClickEvent
|
||||
reserved "ui_onboard_get_started_click";
|
||||
|
||||
+1836
-1718
File diff suppressed because it is too large
Load Diff
+96
-1
@@ -1072,6 +1072,25 @@ export interface UIDiscoverCreateNodeEvent {
|
||||
*/
|
||||
status?: DiscoverStepStatus;
|
||||
}
|
||||
/**
|
||||
* UIDiscoverCreateAppServerEvent is emitted when an app server is created.
|
||||
*
|
||||
* @generated from protobuf message prehog.v1alpha.UIDiscoverCreateAppServerEvent
|
||||
*/
|
||||
export interface UIDiscoverCreateAppServerEvent {
|
||||
/**
|
||||
* @generated from protobuf field: prehog.v1alpha.DiscoverMetadata metadata = 1;
|
||||
*/
|
||||
metadata?: DiscoverMetadata;
|
||||
/**
|
||||
* @generated from protobuf field: prehog.v1alpha.DiscoverResourceMetadata resource = 2;
|
||||
*/
|
||||
resource?: DiscoverResourceMetadata;
|
||||
/**
|
||||
* @generated from protobuf field: prehog.v1alpha.DiscoverStepStatus status = 3;
|
||||
*/
|
||||
status?: DiscoverStepStatus;
|
||||
}
|
||||
/**
|
||||
* UIDiscoverDatabaseConfigureIAMPolicyEvent is emitted when a user is finished with the step that configures IAM policy for an RDS database.
|
||||
*
|
||||
@@ -2826,6 +2845,12 @@ export interface SubmitEventRequest {
|
||||
* @generated from protobuf field: prehog.v1alpha.UIDiscoverKubeEKSEnrollEvent ui_discover_kube_eks_enroll_event = 84;
|
||||
*/
|
||||
uiDiscoverKubeEksEnrollEvent: UIDiscoverKubeEKSEnrollEvent;
|
||||
} | {
|
||||
oneofKind: "uiDiscoverCreateAppServerEvent";
|
||||
/**
|
||||
* @generated from protobuf field: prehog.v1alpha.UIDiscoverCreateAppServerEvent ui_discover_create_app_server_event = 85;
|
||||
*/
|
||||
uiDiscoverCreateAppServerEvent: UIDiscoverCreateAppServerEvent;
|
||||
} | {
|
||||
oneofKind: undefined;
|
||||
};
|
||||
@@ -5795,6 +5820,66 @@ class UIDiscoverCreateNodeEvent$Type extends MessageType<UIDiscoverCreateNodeEve
|
||||
*/
|
||||
export const UIDiscoverCreateNodeEvent = new UIDiscoverCreateNodeEvent$Type();
|
||||
// @generated message type with reflection information, may provide speed optimized methods
|
||||
class UIDiscoverCreateAppServerEvent$Type extends MessageType<UIDiscoverCreateAppServerEvent> {
|
||||
constructor() {
|
||||
super("prehog.v1alpha.UIDiscoverCreateAppServerEvent", [
|
||||
{ no: 1, name: "metadata", kind: "message", T: () => DiscoverMetadata },
|
||||
{ no: 2, name: "resource", kind: "message", T: () => DiscoverResourceMetadata },
|
||||
{ no: 3, name: "status", kind: "message", T: () => DiscoverStepStatus }
|
||||
]);
|
||||
}
|
||||
create(value?: PartialMessage<UIDiscoverCreateAppServerEvent>): UIDiscoverCreateAppServerEvent {
|
||||
const message = globalThis.Object.create((this.messagePrototype!));
|
||||
if (value !== undefined)
|
||||
reflectionMergePartial<UIDiscoverCreateAppServerEvent>(this, message, value);
|
||||
return message;
|
||||
}
|
||||
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UIDiscoverCreateAppServerEvent): UIDiscoverCreateAppServerEvent {
|
||||
let message = target ?? this.create(), end = reader.pos + length;
|
||||
while (reader.pos < end) {
|
||||
let [fieldNo, wireType] = reader.tag();
|
||||
switch (fieldNo) {
|
||||
case /* prehog.v1alpha.DiscoverMetadata metadata */ 1:
|
||||
message.metadata = DiscoverMetadata.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
|
||||
break;
|
||||
case /* prehog.v1alpha.DiscoverResourceMetadata resource */ 2:
|
||||
message.resource = DiscoverResourceMetadata.internalBinaryRead(reader, reader.uint32(), options, message.resource);
|
||||
break;
|
||||
case /* prehog.v1alpha.DiscoverStepStatus status */ 3:
|
||||
message.status = DiscoverStepStatus.internalBinaryRead(reader, reader.uint32(), options, message.status);
|
||||
break;
|
||||
default:
|
||||
let u = options.readUnknownField;
|
||||
if (u === "throw")
|
||||
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
|
||||
let d = reader.skip(wireType);
|
||||
if (u !== false)
|
||||
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
|
||||
}
|
||||
}
|
||||
return message;
|
||||
}
|
||||
internalBinaryWrite(message: UIDiscoverCreateAppServerEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
||||
/* prehog.v1alpha.DiscoverMetadata metadata = 1; */
|
||||
if (message.metadata)
|
||||
DiscoverMetadata.internalBinaryWrite(message.metadata, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
|
||||
/* prehog.v1alpha.DiscoverResourceMetadata resource = 2; */
|
||||
if (message.resource)
|
||||
DiscoverResourceMetadata.internalBinaryWrite(message.resource, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
|
||||
/* prehog.v1alpha.DiscoverStepStatus status = 3; */
|
||||
if (message.status)
|
||||
DiscoverStepStatus.internalBinaryWrite(message.status, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
|
||||
let u = options.writeUnknownFields;
|
||||
if (u !== false)
|
||||
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
||||
return writer;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @generated MessageType for protobuf message prehog.v1alpha.UIDiscoverCreateAppServerEvent
|
||||
*/
|
||||
export const UIDiscoverCreateAppServerEvent = new UIDiscoverCreateAppServerEvent$Type();
|
||||
// @generated message type with reflection information, may provide speed optimized methods
|
||||
class UIDiscoverDatabaseConfigureIAMPolicyEvent$Type extends MessageType<UIDiscoverDatabaseConfigureIAMPolicyEvent> {
|
||||
constructor() {
|
||||
super("prehog.v1alpha.UIDiscoverDatabaseConfigureIAMPolicyEvent", [
|
||||
@@ -8929,7 +9014,8 @@ class SubmitEventRequest$Type extends MessageType<SubmitEventRequest> {
|
||||
{ no: 81, name: "database_user_created", kind: "message", oneof: "event", T: () => DatabaseUserCreatedEvent },
|
||||
{ no: 82, name: "database_user_permissions_updated", kind: "message", oneof: "event", T: () => DatabaseUserPermissionsUpdateEvent },
|
||||
{ no: 83, name: "ui_discover_create_discovery_config", kind: "message", oneof: "event", T: () => UIDiscoverCreateDiscoveryConfigEvent },
|
||||
{ no: 84, name: "ui_discover_kube_eks_enroll_event", kind: "message", oneof: "event", T: () => UIDiscoverKubeEKSEnrollEvent }
|
||||
{ no: 84, name: "ui_discover_kube_eks_enroll_event", kind: "message", oneof: "event", T: () => UIDiscoverKubeEKSEnrollEvent },
|
||||
{ no: 85, name: "ui_discover_create_app_server_event", kind: "message", oneof: "event", T: () => UIDiscoverCreateAppServerEvent }
|
||||
]);
|
||||
}
|
||||
create(value?: PartialMessage<SubmitEventRequest>): SubmitEventRequest {
|
||||
@@ -9437,6 +9523,12 @@ class SubmitEventRequest$Type extends MessageType<SubmitEventRequest> {
|
||||
uiDiscoverKubeEksEnrollEvent: UIDiscoverKubeEKSEnrollEvent.internalBinaryRead(reader, reader.uint32(), options, (message.event as any).uiDiscoverKubeEksEnrollEvent)
|
||||
};
|
||||
break;
|
||||
case /* prehog.v1alpha.UIDiscoverCreateAppServerEvent ui_discover_create_app_server_event */ 85:
|
||||
message.event = {
|
||||
oneofKind: "uiDiscoverCreateAppServerEvent",
|
||||
uiDiscoverCreateAppServerEvent: UIDiscoverCreateAppServerEvent.internalBinaryRead(reader, reader.uint32(), options, (message.event as any).uiDiscoverCreateAppServerEvent)
|
||||
};
|
||||
break;
|
||||
default:
|
||||
let u = options.readUnknownField;
|
||||
if (u === "throw")
|
||||
@@ -9698,6 +9790,9 @@ class SubmitEventRequest$Type extends MessageType<SubmitEventRequest> {
|
||||
/* prehog.v1alpha.UIDiscoverKubeEKSEnrollEvent ui_discover_kube_eks_enroll_event = 84; */
|
||||
if (message.event.oneofKind === "uiDiscoverKubeEksEnrollEvent")
|
||||
UIDiscoverKubeEKSEnrollEvent.internalBinaryWrite(message.event.uiDiscoverKubeEksEnrollEvent, writer.tag(84, WireType.LengthDelimited).fork(), options).join();
|
||||
/* prehog.v1alpha.UIDiscoverCreateAppServerEvent ui_discover_create_app_server_event = 85; */
|
||||
if (message.event.oneofKind === "uiDiscoverCreateAppServerEvent")
|
||||
UIDiscoverCreateAppServerEvent.internalBinaryWrite(message.event.uiDiscoverCreateAppServerEvent, writer.tag(85, WireType.LengthDelimited).fork(), options).join();
|
||||
let u = options.writeUnknownFields;
|
||||
if (u !== false)
|
||||
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
||||
|
||||
@@ -1373,6 +1373,17 @@ func ConvertUsageEvent(event *usageeventsv1.UsageEventOneOf, userMD UserMetadata
|
||||
return nil, trace.Wrap(err)
|
||||
}
|
||||
|
||||
return ret, nil
|
||||
case *usageeventsv1.UsageEventOneOf_UiDiscoverCreateAppServerEvent:
|
||||
ret := &UIDiscoverCreateAppServerEvent{
|
||||
Metadata: discoverMetadataToPrehog(e.UiDiscoverCreateAppServerEvent.Metadata, userMD),
|
||||
Resource: discoverResourceToPrehog(e.UiDiscoverCreateAppServerEvent.Resource),
|
||||
Status: discoverStatusToPrehog(e.UiDiscoverCreateAppServerEvent.Status),
|
||||
}
|
||||
if err := ret.CheckAndSetDefaults(); err != nil {
|
||||
return nil, trace.Wrap(err)
|
||||
}
|
||||
|
||||
return ret, nil
|
||||
case *usageeventsv1.UsageEventOneOf_UiDiscoverDatabaseConfigureIamPolicyEvent:
|
||||
ret := &UIDiscoverDatabaseConfigureIAMPolicyEvent{
|
||||
|
||||
@@ -466,6 +466,28 @@ func (u *UIDiscoverCreateNodeEvent) Anonymize(a utils.Anonymizer) prehogv1a.Subm
|
||||
}
|
||||
}
|
||||
|
||||
// UIDiscoverCreateAppServerEvent is emitted when the node is created in Teleport.
|
||||
type UIDiscoverCreateAppServerEvent prehogv1a.UIDiscoverCreateAppServerEvent
|
||||
|
||||
func (u *UIDiscoverCreateAppServerEvent) CheckAndSetDefaults() error {
|
||||
return trace.Wrap(validateDiscoverBaseEventFields(u.Metadata, u.Resource, u.Status))
|
||||
}
|
||||
|
||||
func (u *UIDiscoverCreateAppServerEvent) Anonymize(a utils.Anonymizer) prehogv1a.SubmitEventRequest {
|
||||
return prehogv1a.SubmitEventRequest{
|
||||
Event: &prehogv1a.SubmitEventRequest_UiDiscoverCreateAppServerEvent{
|
||||
UiDiscoverCreateAppServerEvent: &prehogv1a.UIDiscoverCreateAppServerEvent{
|
||||
Metadata: &prehogv1a.DiscoverMetadata{
|
||||
Id: u.Metadata.Id,
|
||||
UserName: a.AnonymizeString(u.Metadata.UserName),
|
||||
},
|
||||
Resource: u.Resource,
|
||||
Status: u.Status,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// UIDiscoverDatabaseConfigureIAMPolicyEvent is emitted when a user configured IAM for RDS database
|
||||
// and proceeded to the next step.
|
||||
type UIDiscoverDatabaseConfigureIAMPolicyEvent prehogv1a.UIDiscoverDatabaseConfigureIAMPolicyEvent
|
||||
|
||||
@@ -312,6 +312,29 @@ func TestConvertUsageEvent(t *testing.T) {
|
||||
},
|
||||
}},
|
||||
},
|
||||
{
|
||||
name: "discover create app server event",
|
||||
event: &usageeventsv1.UsageEventOneOf{Event: &usageeventsv1.UsageEventOneOf_UiDiscoverCreateAppServerEvent{
|
||||
UiDiscoverCreateAppServerEvent: &usageeventsv1.UIDiscoverCreateAppServerEvent{
|
||||
Metadata: &usageeventsv1.DiscoverMetadata{Id: "someid"},
|
||||
Resource: &usageeventsv1.DiscoverResourceMetadata{Resource: usageeventsv1.DiscoverResource_DISCOVER_RESOURCE_APPLICATION_AWS_CONSOLE},
|
||||
Status: &usageeventsv1.DiscoverStepStatus{Status: usageeventsv1.DiscoverStatus_DISCOVER_STATUS_SUCCESS},
|
||||
},
|
||||
}},
|
||||
identityUsername: "myuser",
|
||||
errCheck: require.NoError,
|
||||
expected: &prehogv1a.SubmitEventRequest{Event: &prehogv1a.SubmitEventRequest_UiDiscoverCreateAppServerEvent{
|
||||
UiDiscoverCreateAppServerEvent: &prehogv1a.UIDiscoverCreateAppServerEvent{
|
||||
Metadata: &prehogv1a.DiscoverMetadata{
|
||||
Id: "someid",
|
||||
UserName: expectedAnonymizedUserString,
|
||||
Sso: false,
|
||||
},
|
||||
Resource: &prehogv1a.DiscoverResourceMetadata{Resource: prehogv1a.DiscoverResource_DISCOVER_RESOURCE_APPLICATION_AWS_CONSOLE},
|
||||
Status: &prehogv1a.DiscoverStepStatus{Status: prehogv1a.DiscoverStatus_DISCOVER_STATUS_SUCCESS},
|
||||
},
|
||||
}},
|
||||
},
|
||||
{
|
||||
name: "discover deploy eice event",
|
||||
event: &usageeventsv1.UsageEventOneOf{Event: &usageeventsv1.UsageEventOneOf_UiDiscoverDeployEice{
|
||||
|
||||
@@ -61,6 +61,7 @@ const (
|
||||
uiDiscoverEC2InstanceSelectionEvent = "tp.ui.discover.selectedEC2Instance"
|
||||
uiDiscoverDeployEICEEvent = "tp.ui.discover.deployEICE"
|
||||
uiDiscoverCreateNodeEvent = "tp.ui.discover.createNode"
|
||||
uiDiscoverCreateAppServerEvent = "tp.ui.discover.createAppServer"
|
||||
uiDiscoverCreateDiscoveryConfigEvent = "tp.ui.discover.createDiscoveryConfig"
|
||||
uiDiscoverPrincipalsConfigureEvent = "tp.ui.discover.principals.configure"
|
||||
uiDiscoverTestConnectionEvent = "tp.ui.discover.testConnection"
|
||||
@@ -301,6 +302,7 @@ func ConvertUserEventRequestToUsageEvent(req CreateUserEventRequest) (*usageeven
|
||||
uiDiscoverEC2InstanceSelectionEvent,
|
||||
uiDiscoverDeployEICEEvent,
|
||||
uiDiscoverCreateNodeEvent,
|
||||
uiDiscoverCreateAppServerEvent,
|
||||
uiDiscoverCreateDiscoveryConfigEvent,
|
||||
uiDiscoverCompletedEvent:
|
||||
|
||||
|
||||
@@ -246,6 +246,15 @@ func (d *DiscoverEventData) ToUsageEvent(eventName string) (*usageeventsv1.Usage
|
||||
},
|
||||
}}, nil
|
||||
|
||||
case uiDiscoverCreateAppServerEvent:
|
||||
return &usageeventsv1.UsageEventOneOf{Event: &usageeventsv1.UsageEventOneOf_UiDiscoverCreateAppServerEvent{
|
||||
UiDiscoverCreateAppServerEvent: &usageeventsv1.UIDiscoverCreateAppServerEvent{
|
||||
Metadata: metadata,
|
||||
Resource: resource,
|
||||
Status: status,
|
||||
},
|
||||
}}, nil
|
||||
|
||||
case uiDiscoverDatabaseConfigureIAMPolicyEvent:
|
||||
return &usageeventsv1.UsageEventOneOf{Event: &usageeventsv1.UsageEventOneOf_UiDiscoverDatabaseConfigureIamPolicyEvent{
|
||||
UiDiscoverDatabaseConfigureIamPolicyEvent: &usageeventsv1.UIDiscoverDatabaseConfigureIAMPolicyEvent{
|
||||
|
||||
@@ -164,6 +164,25 @@ func TestDiscoverEventDataToUsageEvent(t *testing.T) {
|
||||
},
|
||||
}},
|
||||
},
|
||||
{
|
||||
name: uiDiscoverCreateAppServerEvent + "/success_test",
|
||||
event: uiDiscoverCreateAppServerEvent,
|
||||
errCheck: require.NoError,
|
||||
req: DiscoverEventData{
|
||||
ID: "someid",
|
||||
Resource: "DISCOVER_RESOURCE_APPLICATION_AWS_CONSOLE",
|
||||
StepStatus: "DISCOVER_STATUS_SUCCESS",
|
||||
},
|
||||
expected: &usageeventsv1.UsageEventOneOf{Event: &usageeventsv1.UsageEventOneOf_UiDiscoverCreateAppServerEvent{
|
||||
UiDiscoverCreateAppServerEvent: &usageeventsv1.UIDiscoverCreateAppServerEvent{
|
||||
Metadata: &usageeventsv1.DiscoverMetadata{Id: "someid"},
|
||||
Resource: &usageeventsv1.DiscoverResourceMetadata{Resource: usageeventsv1.DiscoverResource_DISCOVER_RESOURCE_APPLICATION_AWS_CONSOLE},
|
||||
Status: &usageeventsv1.DiscoverStepStatus{
|
||||
Status: usageeventsv1.DiscoverStatus_DISCOVER_STATUS_SUCCESS,
|
||||
},
|
||||
},
|
||||
}},
|
||||
},
|
||||
{
|
||||
name: uiDiscoverKubeEKSEnrollEvent + "/success_test",
|
||||
event: uiDiscoverKubeEKSEnrollEvent,
|
||||
|
||||
@@ -652,6 +652,13 @@ message UIDiscoverCreateNodeEvent {
|
||||
DiscoverStepStatus status = 3;
|
||||
}
|
||||
|
||||
// UIDiscoverCreateAppServerEvent is emitted when an app server is created.
|
||||
message UIDiscoverCreateAppServerEvent {
|
||||
DiscoverMetadata metadata = 1;
|
||||
DiscoverResourceMetadata resource = 2;
|
||||
DiscoverStepStatus status = 3;
|
||||
}
|
||||
|
||||
// UIDiscoverDatabaseConfigureIAMPolicyEvent is emitted when a user is finished with the step that configures IAM policy for an RDS database.
|
||||
message UIDiscoverDatabaseConfigureIAMPolicyEvent {
|
||||
DiscoverMetadata metadata = 1;
|
||||
@@ -1443,6 +1450,8 @@ message SubmitEventRequest {
|
||||
UIDiscoverCreateDiscoveryConfigEvent ui_discover_create_discovery_config = 83;
|
||||
|
||||
UIDiscoverKubeEKSEnrollEvent ui_discover_kube_eks_enroll_event = 84;
|
||||
|
||||
UIDiscoverCreateAppServerEvent ui_discover_create_app_server_event = 85;
|
||||
}
|
||||
|
||||
reserved 8; // UIOnboardGetStartedClickEvent
|
||||
|
||||
@@ -43,7 +43,7 @@ export const AwsMangementConsole: ResourceViewConfig<ResourceSpec> = {
|
||||
{
|
||||
title: 'Create Application Server',
|
||||
component: CreateAppAccess,
|
||||
// TODO(lisa) define a create application aws step
|
||||
eventName: DiscoverEvent.CreateApplicationServer,
|
||||
},
|
||||
{
|
||||
title: 'Set Up Access',
|
||||
|
||||
@@ -90,6 +90,7 @@ export enum DiscoverEvent {
|
||||
DatabaseConfigureIAMPolicy = 'tp.ui.discover.database.configure.iampolicy',
|
||||
EC2InstanceSelection = 'tp.ui.discover.selectedEC2Instance',
|
||||
EC2DeployEICE = 'tp.ui.discover.deployEICE',
|
||||
CreateApplicationServer = 'tp.ui.discover.createAppServer',
|
||||
CreateNode = 'tp.ui.discover.createNode',
|
||||
CreateDiscoveryConfig = 'tp.ui.discover.createDiscoveryConfig',
|
||||
KubeEKSEnrollEvent = 'tp.ui.discover.kube.enroll.eks',
|
||||
|
||||
Reference in New Issue
Block a user