Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Read-only Resources Feature Request #2008

Open
eadasiak opened this issue Feb 1, 2024 · 6 comments
Open

Read-only Resources Feature Request #2008

eadasiak opened this issue Feb 1, 2024 · 6 comments
Assignees
Labels
area/runtime Issues or PRs as related to controller runtime, common reconciliation logic, etc kind/feature Categorizes issue or PR as related to a new feature.

Comments

@eadasiak
Copy link
Contributor

eadasiak commented Feb 1, 2024

Is your feature request related to a problem?
Let's say I have a resource that was either:

  • created outside of ACK (e.g., CloudFormation, Terraform, etc)
  • created and managed with ACK from another cluster in a multi-cluster environment
    I'd still like the ability to reference its values or query the live status of it without ever make changes to it or introducing a split-brain management issue. A good example would be a VPC where I'd like to, say, reference subnet ID's within it.

Describe the solution you'd like
I'd like the ability to create a read-only instance of the resource through the adoption procedure. What I'm looking for is similar to the Observe-Only Resource in Crossplane: crossplane/crossplane#1722

A similar feature is available in the Azure Service Operator with the serviceoperator.azure.com/reconcile-policy annotation: https://azure.github.io/azure-service-operator/guide/annotations/#serviceoperatorazurecomreconcile-policy. Setting the reconcile-policy to skip effectively makes it read-only.

Either there could be a way to adopt a resource with a label/annotation that designates it as read-only and prevents the controller from making changes to it, or perhaps a new resource type altogether.

Describe alternatives you've considered
I haven't been able to identify any alternatives thus far.

@a-hilaly a-hilaly added area/runtime Issues or PRs as related to controller runtime, common reconciliation logic, etc kind/feature Categorizes issue or PR as related to a new feature. labels Feb 1, 2024
@gecube
Copy link

gecube commented Feb 5, 2024

something probably related

#1965
#1896
#1862

@gecube
Copy link

gecube commented Feb 5, 2024

and finally - #1381

@a-hilaly
Copy link
Member

a-hilaly commented Feb 6, 2024

Also related: #1585

@a-hilaly a-hilaly self-assigned this Feb 8, 2024
@reegnz
Copy link

reegnz commented Feb 9, 2024

+1 I think this is a must-have feature.
I'm looking into ways of replacing terraform with ACK, but without something equivalent to a data source, I can't do even the slightly complex stuff.
eg. VPC is created in a central account, shared with AWS RAM to other accounts, so only a single cluster can own the VPC creation of it.
Ideally discovery of the resource should be possible with things like aws tags, not just the vpc id because then I need to hardcode a vpc id that might not be the same for all clusters, vs. a uniform tag across all clusters, no hardcoding of vpc id is required.

@ack-bot
Copy link
Collaborator

ack-bot commented Aug 7, 2024

Issues go stale after 180d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 60d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/aws-controllers-k8s/community.
/lifecycle stale

@ack-prow ack-prow bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 7, 2024
@gecube
Copy link

gecube commented Aug 7, 2024

/remove-lifecycle stale

@ack-prow ack-prow bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/runtime Issues or PRs as related to controller runtime, common reconciliation logic, etc kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

No branches or pull requests

5 participants