Skip to content

Conversation

@mreid-tt
Copy link

App Addition

Description

Adds LLDAP to the community train.

Lightweight LDAP and authentication server with a built-in web UI for managing users, groups, and application credentials.

App Information

Testing

Tested locally with:

  • basic-values.yaml

All tests passed successfully.

Icons and Screenshots

Icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/lldap-light.svg
Screenshot (optional): (not provided)

Special Notes

  • Default admin username is admin; password is randomly generated during install and stored with the app’s secrets.
  • First login prompts you to update LDAP settings for your environment.

Checklist

  • App runs successfully locally
  • Only modified files under /ix-dev/ or /library/
  • README.md included
  • Multiple test scenarios tested
  • questions.yaml has clear descriptions and follows structure of existing apps
  • All automated CI checks pass

port_number: 3890
storage:
data:
path: /tmp/lldap-test
Copy link
Contributor

Choose a reason for hiding this comment

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

what is that?

Copy link
Contributor

@stavros-k stavros-k left a comment

Choose a reason for hiding this comment

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

Sorry but this follows zero styles from other apps.
I'm gonna close it for now as you also didnt open an issue to discuss and assign it to you first.

Thanks

type: host_path
host_path_config:
path: /tmp/lldap-test
storage_defaults:
Copy link
Contributor

Choose a reason for hiding this comment

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

what is that?

type: host_path
host_path_config:
path: /tmp/lldap-test
test_random_key: RAND68SG6w8PI2YS
Copy link
Contributor

Choose a reason for hiding this comment

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

what is that?

@@ -0,0 +1,23 @@
settings:
Copy link
Contributor

Choose a reason for hiding this comment

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

where is the resources section?

{% set tpl = ix_lib.base.render.Render(values) %}

{% set consts = values.consts %}
{% set container = tpl.add_container(consts.container_name, "main") %}
Copy link
Contributor

Choose a reason for hiding this comment

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

default image MUST be named image

Comment on lines +16 to +17
{% do container.clear_caps() %}
{% do container.deploy.resources.remove_cpus_and_memory() %}
Copy link
Contributor

Choose a reason for hiding this comment

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

why?

Comment on lines +8 to +29
values:
settings:
domain: example.com
admin_user: admin
networking:
web_port:
bind_mode: published
port_number: 17170
ldap_port:
bind_mode: published
port_number: 3890
storage:
data:
path: /mnt/tank/apps/lldap
type: host_path
host_path_config:
path: /mnt/tank/apps/lldap
secrets:
admin_password:
random: true
jwt_secret:
random: true
Copy link
Contributor

Choose a reason for hiding this comment

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

What is all this?

Comment on lines +30 to +41
notes:
- title: Credentials
level: INFO
message: 'Default admin username is admin. Set the password during installation.

'
storage_defaults:
data:
type: host_path
host_path_config:
path: /mnt/tank/apps/lldap
create_host_path: true
Copy link
Contributor

Choose a reason for hiding this comment

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

what is all this?

Comment on lines +3 to +8
- name: LLDAP
description: Configure the directory server
- name: Networking
description: Configure external access
- name: Storage
description: Configure data persistence
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm missing user, resources and labels group.

Comment on lines +61 to +68
- variable: port_number
label: Port Number
schema:
type: int
default: 17170
min: 1
max: 65535
required: true
Copy link
Contributor

Choose a reason for hiding this comment

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

where is the host ips?

Comment on lines +95 to +109
- variable: storage
group: Storage
label: Data Storage
schema:
type: dict
attrs:
- variable: data
label: Data Directory
schema:
type: hostPath
attrs:
- variable: path
type: path
default: /mnt/tank/apps/lldap
required: true
Copy link
Contributor

Choose a reason for hiding this comment

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

where is additional storage?, where is other storage types?

@stavros-k
Copy link
Contributor

Sorry but this follows almost zero styles from any other app.

@stavros-k stavros-k closed this Dec 25, 2025
@mreid-tt mreid-tt deleted the lldap-initial branch December 26, 2025 17:29
@mreid-tt
Copy link
Author

mreid-tt commented Jan 8, 2026

Sorry but this follows almost zero styles from any other app.

Thanks much for your detailed review. I've re-submitted in #3951 which should align to your guidance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants