goauthentik / goauthentik/authentik

Application list should return raw meta icon attribute

Open
#15,474 0 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
25.6k
Forks
2k
Avg merge
1d 2h
Merged PRs (30d)
651

Description

**Is your feature request related to a problem? Please describe.**

When using the terraform provider we're observing that application icons never really "settle", it always reports a change from a full URL to a relative url.

```
# authentik_application.saml_app will be updated in-place
~ resource "authentik_application" "saml_app" {
id = "test-app"
~ meta_icon = "https://assets..org/test/media/public/application-icons/obs-logo.svg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=&X-Amz-Date=20250709T080728Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=" -> "application-icons/obs-logo.svg"
name = "Test app"
# (9 unchanged attributes hidden)
}
# [...]

Apply complete! Resources: 0 added, 2 changed, 0 destroyed.
```

**Describe the solution you'd like**

Two consecutive `terraform apply` calls should have incur in no difference (the first already settled the state, the second should never diff).

**Describe alternatives you've considered**

1. Accept the inevitable
2. Adding a `lifecycle` block to the terraform resource

**Additional context**

I believe the problem comes from the `/api/v3/core/applications//` returning the full browser-"consumable" url rather than the DB value that one is expected to set via terraform.

Related to goauthentik/terraform-provider-authentik#717

Contributor guide

Open the contributing guide

Research direction

Start by inspecting the /api/v3/core/applications// endpoint and how the application meta_icon value is serialized in its response. Confirm the response currently exposes a full browser-consumable URL, then trace the application field handling to return the raw attribute; done means consecutive Terraform applies produce no meta_icon diff.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, terraform
Domain
api, backend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.