Skip to content

[ECS-Plugin] Implement Livestate Plugin#6620

Merged
khanhtc1202 merged 2 commits intopipe-cd:masterfrom
armistcxy:ecs-plugin/livestate
Apr 14, 2026
Merged

[ECS-Plugin] Implement Livestate Plugin#6620
khanhtc1202 merged 2 commits intopipe-cd:masterfrom
armistcxy:ecs-plugin/livestate

Conversation

@armistcxy
Copy link
Copy Markdown
Contributor

What this PR does: Implements the livestate plugin for the ECS plugin, enabling PipeCD to report the live state of ECS applications to the control plane

Why we need it:

Which issue(s) this PR fixes: Part of #6443

Does this PR introduce a user-facing change?: Yes

  • How are users affected by this change: Without this, PipeCD has no visibility into the live state of ECS applications after deployment. Users cannot tell whether their ECS serviceis healthy, how many tasks are running vs desired, or whether the cluster is drifted from the declared Git state.
  • Is this breaking change:
  • How to migrate (if breaking change):

@armistcxy
Copy link
Copy Markdown
Contributor Author

Some screenshots as proof:

Overview

image

Resource detail

image image

Note

There's an issue with the UI (pipecd/web) that seems like currently support only K8s (my guess because I see "Kind", "Namespace", "API Version")

image

I quick fix the issue with Claude Code just to verify the livestate plugin implementation, have a look here

export const ResourceDetail: FC<ResourceDetailProps> = ({
resource,
onClose,
}) => {
return (
<PanelWrap square>
<CloseButton onClick={onClose} size="large">
<CloseIcon />
</CloseButton>
<PanelTitle>{resource.name}</PanelTitle>
<Box
sx={{
pt: 1,
display: "flex",
alignItems: "center",
}}
>
<InfoRowTitle>Kind</InfoRowTitle>
<InfoRowValue>
{findMetadataByKey(resource.resourceMetadataMap, "Kind")}
</InfoRowValue>
</Box>
<Box
sx={{
pt: 1,
display: "flex",
alignItems: "center",
}}
>
<InfoRowTitle>Namespace</InfoRowTitle>
<InfoRowValue>
{findMetadataByKey(resource.resourceMetadataMap, "Namespace")}
</InfoRowValue>
</Box>
<Box
sx={{
pt: 1,
display: "flex",
alignItems: "center",
}}
>
<InfoRowTitle>Api Version</InfoRowTitle>
<InfoRowValue>
{findMetadataByKey(resource.resourceMetadataMap, "API Version")}
</InfoRowValue>
</Box>
<Box
sx={{
pt: 1,
}}
>
<InfoRowTitle>Health Description</InfoRowTitle>
<InfoRowValue>{resource.healthDescription || "Empty"}</InfoRowValue>
</Box>
</PanelWrap>
);
};
.

will create a PR soon ^^

Signed-off-by: Hoang Ngo <adlehoang118@gmail.com>
Signed-off-by: Hoang Ngo <adlehoang118@gmail.com>
@armistcxy armistcxy force-pushed the ecs-plugin/livestate branch from b564211 to a50de91 Compare April 14, 2026 02:25
Copy link
Copy Markdown
Member

@khanhtc1202 khanhtc1202 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks

@khanhtc1202 khanhtc1202 merged commit 3a9bff4 into pipe-cd:master Apr 14, 2026
45 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants