Compare commits

..

No commits in common. "v0.4.0-1" and "v0.3.0-1" have entirely different histories.

11 changed files with 93 additions and 105 deletions

View File

@ -6,14 +6,10 @@
{{ range .CommitGroups -}} {{ range .CommitGroups -}}
### {{ .Title }} ### {{ .Title }}
{{ $subjects := list }}
{{ range .Commits -}} {{ range .Commits -}}
{{ if not (has .Subject $subjects) -}}
- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }} - {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
{{ $subjects = append $subjects .Subject -}}
{{ end }} {{ end }}
{{- end }} {{ end -}}
{{- end -}}
{{- if .NoteGroups -}} {{- if .NoteGroups -}}
{{ range .NoteGroups -}} {{ range .NoteGroups -}}

View File

@ -2,7 +2,7 @@ style: github
template: CHANGELOG.tpl.md template: CHANGELOG.tpl.md
info: info:
title: CHANGELOG title: CHANGELOG
repository_url: https://gitea.rknet.org/docker/vaultwarden-ldap repository_url: https://gitea.rknet.org/docker/bitwardenrs_ldap
options: options:
commit_groups: commit_groups:
title_maps: title_maps:

View File

@ -28,7 +28,7 @@ platform:
steps: steps:
- name: binary - name: binary
image: clux/muslrust:nightly-2021-04-14 image: clux/muslrust:nightly-2020-10-02
commands: commands:
- make build - make build
environment: environment:
@ -64,22 +64,15 @@ steps:
depends_on: depends_on:
- dryrun - dryrun
- name: changelog-generate - name: changelog
image: thegeeklab/git-chglog image: thegeeklab/git-chglog
commands: commands:
- git fetch -tq - git fetch -tq
- git-chglog --no-color --no-emoji ${DRONE_TAG:---next-tag unreleased unreleased}
- git-chglog --no-color --no-emoji -o CHANGELOG.md ${DRONE_TAG:---next-tag unreleased unreleased} - git-chglog --no-color --no-emoji -o CHANGELOG.md ${DRONE_TAG:---next-tag unreleased unreleased}
depends_on: depends_on:
- tags - tags
- name: changelog-format
image: thegeeklab/alpine-tools
commands:
- prettier CHANGELOG.md
- prettier -w CHANGELOG.md
depends_on:
- changelog-generate
- name: publish-dockerhub - name: publish-dockerhub
image: thegeeklab/drone-docker-buildx:20 image: thegeeklab/drone-docker-buildx:20
settings: settings:
@ -94,7 +87,7 @@ steps:
- refs/heads/main - refs/heads/main
- refs/tags/** - refs/tags/**
depends_on: depends_on:
- changelog-format - changelog
- name: publish-quay - name: publish-quay
image: thegeeklab/drone-docker-buildx:20 image: thegeeklab/drone-docker-buildx:20
@ -111,7 +104,7 @@ steps:
- refs/heads/main - refs/heads/main
- refs/tags/** - refs/tags/**
depends_on: depends_on:
- changelog-format - changelog
- name: publish-gitea - name: publish-gitea
image: plugins/gitea-release image: plugins/gitea-release
@ -156,7 +149,7 @@ steps:
DOCKER_USER: DOCKER_USER:
from_secret: docker_username from_secret: docker_username
PUSHRM_FILE: README.md PUSHRM_FILE: README.md
PUSHRM_SHORT: Custom image for the Vaultwarden LDAP connector PUSHRM_SHORT: Custom image for the BitwardenRS LDAP connector
PUSHRM_TARGET: thegeeklab/${DRONE_REPO_NAME} PUSHRM_TARGET: thegeeklab/${DRONE_REPO_NAME}
when: when:
status: status:
@ -204,6 +197,6 @@ depends_on:
--- ---
kind: signature kind: signature
hmac: b03e655c89137813302453a422df07b0d905cbd6cdfe9d0719cf45e167f7ea75 hmac: e03145d27db00972b4bb48d3893c13c5c6998ed72a2243303dbadf11fc442d61
... ...

View File

@ -1,2 +1 @@
.drone.yml .drone.yml
*.tpl.md

View File

@ -1,11 +1,11 @@
FROM thegeeklab/alpine:latest@sha256:3de659c1a479d9d80e9c3924227981450af3a068087545a47360cfc2e70a91cc FROM thegeeklab/alpine:latest@sha256:5e7bbca9af19383c6e30ea5be6949e2a789828b648ed7b9fe04ca592fc1b795b
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>" LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>"
LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>" LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>"
LABEL org.opencontainers.image.title="vaultwarden-ldap" LABEL org.opencontainers.image.title="bitwardenrs_ldap"
LABEL org.opencontainers.image.url="https://gitea.rknet.org/docker/vaultwarden-ldap" LABEL org.opencontainers.image.url="https://gitea.rknet.org/docker/bitwardenrs_ldap"
LABEL org.opencontainers.image.source="https://gitea.rknet.org/docker/vaultwarden-ldap" LABEL org.opencontainers.image.source="https://gitea.rknet.org/docker/bitwardenrs_ldap"
LABEL org.opencontainers.image.documentation="https://gitea.rknet.org/docker/vaultwarden-ldap" LABEL org.opencontainers.image.documentation="https://gitea.rknet.org/docker/bitwardenrs_ldap"
ADD overlay/ / ADD overlay/ /
@ -15,7 +15,7 @@ RUN apk --update add ca-certificates && \
rm -rf /tmp/* && \ rm -rf /tmp/* && \
chown -R app:app /app chown -R app:app /app
ADD src/target/x86_64-unknown-linux-musl/release/vaultwarden_ldap /app ADD src/target/x86_64-unknown-linux-musl/release/bitwarden_rs_ldap /app
VOLUME /app/data VOLUME /app/data

View File

@ -1,5 +1,5 @@
# renovate: datasource=github-releases depName=ViViDboarder/vaultwarden_ldap # renovate: datasource=github-releases depName=ViViDboarder/bitwarden_rs_ldap
export BUILD_VERSION ?= v0.4.0 export BUILD_VERSION ?= v0.3.0
export DEBIAN_FRONTEND ?= noninteractive export DEBIAN_FRONTEND ?= noninteractive
export LANG ?= C.UTF-8 export LANG ?= C.UTF-8
export TZ ?= UTC export TZ ?= UTC
@ -14,7 +14,7 @@ build: build-src build-bin
.PHONY: build-src .PHONY: build-src
build-src: build-src:
mkdir -p $(SRC); \ mkdir -p $(SRC); \
curl -sSL "https://github.com/ViViDboarder/vaultwarden_ldap/archive/$${BUILD_VERSION}.tar.gz" | tar xz -C $(SRC) --strip-components=1 curl -sSL "https://github.com/ViViDboarder/bitwarden_rs_ldap/archive/$${BUILD_VERSION}.tar.gz" | tar xz -C $(SRC) --strip-components=1
.PHONY: build-bin .PHONY: build-bin
build-bin: build-bin:

View File

@ -1,42 +1,42 @@
# vaultwarden-ldap # bitwardenrs_ldap
Custom image for the Vaultwarden LDAP connector Custom image for the BitwardenRS LDAP connector
[![Build Status](https://img.shields.io/drone/build/docker/vaultwarden-ldap?logo=drone&server=https%3A%2F%2Fdrone.rknet.org)](https://drone.rknet.org/docker/vaultwarden-ldap) [![Build Status](https://img.shields.io/drone/build/docker/bitwardenrs_ldap?logo=drone&server=https%3A%2F%2Fdrone.rknet.org)](https://drone.rknet.org/docker/bitwardenrs_ldap)
[![Docker Hub](https://img.shields.io/badge/dockerhub-latest-blue.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/thegeeklab/vaultwarden-ldap) [![Docker Hub](https://img.shields.io/badge/dockerhub-latest-blue.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/thegeeklab/bitwardenrs_ldap)
[![Quay.io](https://img.shields.io/badge/quay-latest-blue.svg?logo=docker&logoColor=white)](https://quay.io/repository/thegeeklab/vaultwarden-ldap) [![Quay.io](https://img.shields.io/badge/quay-latest-blue.svg?logo=docker&logoColor=white)](https://quay.io/repository/thegeeklab/bitwardenrs_ldap)
[![Source: Gitea](https://img.shields.io/badge/source-gitea-blue.svg?logo=gitea&logoColor=white)](https://gitea.rknet.org/docker/vaultwarden-ldap) [![Source: Gitea](https://img.shields.io/badge/source-gitea-blue.svg?logo=gitea&logoColor=white)](https://gitea.rknet.org/docker/bitwardenrs_ldap)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://gitea.rknet.org/docker/vaultwarden-ldap/src/branch/main/LICENSE) [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://gitea.rknet.org/docker/bitwardenrs_ldap/src/branch/main/LICENSE)
This is a rootless custom Docker image for [vaultwarden_ldap](https://github.com/ViViDboarder/vaultwarden_ldap) a simple LDAP connector for vaultwarden. This is a rootless custom Docker image for [bitwarden_rs_ldap](https://github.com/ViViDboarder/bitwarden_rs_ldap) a simple LDAP connector for bitwarden_rs.
## Usage ## Usage
### Docker Compose ### Docker Compose
Please take a look at the [example](https://gitea.rknet.org/docker/vaultwarden-ldap/src/branch/main/docker-compose.yml) compose file from the git repo. Please take a look at the [example](https://gitea.rknet.org/docker/bitwardenrs_ldap/src/branch/main/docker-compose.yml) compose file from the git repo.
## Configuration ## Configuration
```Shell ```Shell
VAULTWARDEN_LDAP_VAULTWARDEN_URL= BITWARDENRS_LDAP_BITWARDEN_URL=
VAULTWARDEN_LDAP_VAULTWARDEN_ADMIN_TOKEN= BITWARDENRS_LDAP_BITWARDEN_ADMIN_TOKEN=
VAULTWARDEN_LDAP_VAULTWARDEN_ROOT_CERT_FILE= BITWARDENRS_LDAP_BITWARDEN_ROOT_CERT_FILE=
VAULTWARDEN_LDAP_HOST= BITWARDENRS_LDAP_HOST=
VAULTWARDEN_LDAP_SCHEME= BITWARDENRS_LDAP_SCHEME=
VAULTWARDEN_LDAP_SSL=True BITWARDENRS_LDAP_SSL=True
VAULTWARDEN_LDAP_SSL_VERIFY=True BITWARDENRS_LDAP_SSL_VERIFY=True
VAULTWARDEN_LDAP_PORT= BITWARDENRS_LDAP_PORT=
VAULTWARDEN_LDAP_BIND_DN= BITWARDENRS_LDAP_BIND_DN=
VAULTWARDEN_LDAP_BIND_PASSWORD= BITWARDENRS_LDAP_BIND_PASSWORD=
VAULTWARDEN_LDAP_SEARCH_BASE_DN= BITWARDENRS_LDAP_SEARCH_BASE_DN=
VAULTWARDEN_LDAP_SEARCH_FILTER="(&(objectClass=*)(uid=*))" BITWARDENRS_LDAP_SEARCH_FILTER="(&(objectClass=*)(uid=*))"
VAULTWARDEN_LDAP_MAIL_FIELD=mail BITWARDENRS_LDAP_MAIL_FIELD=mail
VAULTWARDEN_LDAP_SYNC_INTERVAL_SECONDS=60 BITWARDENRS_LDAP_SYNC_INTERVAL_SECONDS=60
VAULTWARDEN_LDAP_SYNC_LOOP=True BITWARDENRS_LDAP_SYNC_LOOP=True
``` ```
## License ## License
This project is licensed under the MIT License - see the [LICENSE](https://gitea.rknet.org/docker/vaultwarden-ldap/src/branch/main/LICENSE) file for details. This project is licensed under the MIT License - see the [LICENSE](https://gitea.rknet.org/docker/bitwardenrs_ldap/src/branch/main/LICENSE) file for details.

View File

@ -6,7 +6,7 @@ services:
container_name: postgres container_name: postgres
image: postgres image: postgres
environment: environment:
POSTGRES_DB: vaultwarden POSTGRES_DB: bitwarden
POSTGRES_PASSWORD: pass POSTGRES_PASSWORD: pass
POSTGRES_USER: user POSTGRES_USER: user
@ -14,9 +14,9 @@ services:
container_name: ldap container_name: ldap
image: osixia/openldap image: osixia/openldap
vaultwarden: bitwardenrs:
container_name: vaultwarden_server container_name: bitwardenrs_server
image: thegeeklab/vaultwarden image: thegeeklab/bitwardenrs
depends_on: depends_on:
- postgres - postgres
ports: ports:
@ -24,24 +24,24 @@ services:
volumes: volumes:
- data:/app/data - data:/app/data
environment: environment:
VAULTWARDEN_DATABASE_URL: postgresql://user:pass@postgres:5432/vaultwarden BITWARDENRS_DATABASE_URL: postgresql://user:pass@postgres:5432/bitwarden
VAULTWARDEN_ADMIN_TOKEN: my_secure_token BITWARDENRS_ADMIN_TOKEN: my_secure_token
vaultwarden-ldap: bitwardenrs_ldap:
container_name: ldap_sync container_name: ldap_sync
restart: always restart: always
image: thegeeklab/vaultwarden-ldap image: thegeeklab/bitwardenrs_ldap
depends_on: depends_on:
- vaultwarden - bitwardenrs
- ldap - ldap
environment: environment:
VAULTWARDEN_LDAP_VAULTWARDEN_URL: http://vaultwarden_server:8080 BITWARDENRS_LDAP_BITWARDEN_URL: http://bitwardenrs_server:8080
VAULTWARDEN_LDAP_VAULTWARDEN_ADMIN_TOKEN: my_secure_token BITWARDENRS_LDAP_BITWARDEN_ADMIN_TOKEN: my_secure_token
VAULTWARDEN_LDAP_HOST: ldap BITWARDENRS_LDAP_HOST: ldap
VAULTWARDEN_LDAP_SSL: "False" BITWARDENRS_LDAP_SSL: "False"
VAULTWARDEN_LDAP_BIND_DN: "cn=admin,dc=example,dc=org" BITWARDENRS_LDAP_BIND_DN: "cn=admin,dc=example,dc=org"
VAULTWARDEN_LDAP_SEARCH_BASE_DN: "dc=example,dc=org" BITWARDENRS_LDAP_SEARCH_BASE_DN: "dc=example,dc=org"
VAULTWARDEN_LDAP_BIND_PASSWORD: admin BITWARDENRS_LDAP_BIND_PASSWORD: admin
volumes: volumes:
data: data:

View File

@ -1,22 +1,22 @@
## Vaultwarden LDAP Configuration File ## Bitwarden_RS LDAP Configuration File
vaultwarden_url = "{{ getenv "VAULTWARDEN_LDAP_VAULTWARDEN_URL" }}" bitwarden_url = "{{ getenv "BITWARDENRS_LDAP_BITWARDEN_URL" }}"
vaultwarden_admin_token = "{{ getenv "VAULTWARDEN_LDAP_VAULTWARDEN_ADMIN_TOKEN" }}" bitwarden_admin_token = "{{ getenv "BITWARDENRS_LDAP_BITWARDEN_ADMIN_TOKEN" }}"
{{ if (getenv "VAULTWARDEN_LDAP_VAULTWARDEN_ROOT_CERT_FILE") -}} {{ if (getenv "BITWARDENRS_LDAP_BITWARDEN_ROOT_CERT_FILE") -}}
vaultwarden_root_cert_file = "{{ getenv "VAULTWARDEN_LDAP_VAULTWARDEN_ROOT_CERT_FILE" }}" bitwarden_root_cert_file = "{{ getenv "BITWARDENRS_LDAP_BITWARDEN_ROOT_CERT_FILE" }}"
{{ end -}} {{ end -}}
ldap_host = "{{ getenv "VAULTWARDEN_LDAP_HOST" }}" ldap_host = "{{ getenv "BITWARDENRS_LDAP_HOST" }}"
{{ if (getenv "VAULTWARDEN_LDAP_SCHEME") -}} {{ if (getenv "BITWARDENRS_LDAP_SCHEME") -}}
ldap_scheme = "{{ getenv "VAULTWARDEN_LDAP_SCHEME" }}" ldap_scheme = "{{ getenv "BITWARDENRS_LDAP_SCHEME" }}"
{{ end -}} {{ end -}}
ldap_ssl = {{ getenv "VAULTWARDEN_LDAP_SSL" "true" | conv.Bool }} ldap_ssl = {{ getenv "BITWARDENRS_LDAP_SSL" "true" | conv.Bool }}
ldap_no_tls_verify = {{ not (getenv "VAULTWARDEN_LDAP_SSL_VERIFY" "true" | conv.Bool) }} ldap_no_tls_verify = {{ not (getenv "BITWARDENRS_LDAP_SSL_VERIFY" "true" | conv.Bool) }}
{{ if (getenv "VAULTWARDEN_LDAP_PORT") -}} {{ if (getenv "BITWARDENRS_LDAP_PORT") -}}
ldap_port = {{ getenv "VAULTWARDEN_LDAP_PORT" }} ldap_port = {{ getenv "BITWARDENRS_LDAP_PORT" }}
{{ end -}} {{ end -}}
ldap_bind_dn = "{{ getenv "VAULTWARDEN_LDAP_BIND_DN" }}" ldap_bind_dn = "{{ getenv "BITWARDENRS_LDAP_BIND_DN" }}"
ldap_bind_password = "{{ getenv "VAULTWARDEN_LDAP_BIND_PASSWORD" }}" ldap_bind_password = "{{ getenv "BITWARDENRS_LDAP_BIND_PASSWORD" }}"
ldap_search_base_dn = "{{ getenv "VAULTWARDEN_LDAP_SEARCH_BASE_DN" }}" ldap_search_base_dn = "{{ getenv "BITWARDENRS_LDAP_SEARCH_BASE_DN" }}"
ldap_search_filter = "{{ getenv "VAULTWARDEN_LDAP_SEARCH_FILTER" "(&(objectClass=*)(uid=*))" }}" ldap_search_filter = "{{ getenv "BITWARDENRS_LDAP_SEARCH_FILTER" "(&(objectClass=*)(uid=*))" }}"
ldap_mail_field = "{{ getenv "VAULTWARDEN_LDAP_MAIL_FIELD" "mail" }}" ldap_mail_field = "{{ getenv "BITWARDENRS_LDAP_MAIL_FIELD" "mail" }}"
ldap_sync_interval_seconds = {{ getenv "VAULTWARDEN_LDAP_SYNC_INTERVAL_SECONDS" "60" }} ldap_sync_interval_seconds = {{ getenv "BITWARDENRS_LDAP_SYNC_INTERVAL_SECONDS" "60" }}
ldap_sync_loop = {{ getenv "VAULTWARDEN_LDAP_SYNC_LOOP" "true" | conv.Bool }} ldap_sync_loop = {{ getenv "BITWARDENRS_LDAP_SYNC_LOOP" "true" | conv.Bool }}

View File

@ -4,41 +4,41 @@ set -eo pipefail
/usr/local/bin/gomplate -o /app/config.toml -f /etc/templates/config.toml.tmpl /usr/local/bin/gomplate -o /app/config.toml -f /etc/templates/config.toml.tmpl
if [ -z "$VAULTWARDEN_LDAP_VAULTWARDEN_URL" ] || [ -z "$VAULTWARDEN_LDAP_HOST" ] if [ -z "$BITWARDENRS_LDAP_BITWARDEN_URL" ] || [ -z "$BITWARDENRS_LDAP_HOST" ]
then then
printf "Error: Vaultwarden and/or LDAP server not configured. Exiting ...\n" printf "Error: Bitwarden and/or LDAP server not configured. Exiting ...\n"
exit 1 exit 1
fi fi
if [ -n "$VAULTWARDEN_LDAP_VAULTWARDEN_URL" ] if [ -n "$BITWARDENRS_LDAP_BITWARDEN_URL" ]
then then
WAITFOR_BW_SCHEME=$(/usr/local/bin/url-parser scheme --url "$VAULTWARDEN_LDAP_VAULTWARDEN_URL") WAITFOR_BW_SCHEME=$(/usr/local/bin/url-parser scheme --url "$BITWARDENRS_LDAP_BITWARDEN_URL")
WAITFOR_BW_HOST=$(/usr/local/bin/url-parser host --url "$VAULTWARDEN_LDAP_VAULTWARDEN_URL") WAITFOR_BW_HOST=$(/usr/local/bin/url-parser host --url "$BITWARDENRS_LDAP_BITWARDEN_URL")
WAITFOR_BW_PORT=$(/usr/local/bin/url-parser port --url "$VAULTWARDEN_LDAP_VAULTWARDEN_URL") WAITFOR_BW_PORT=$(/usr/local/bin/url-parser port --url "$BITWARDENRS_LDAP_BITWARDEN_URL")
if [ -z "$WAITFOR_BW_PORT" ] if [ -z "$WAITFOR_BW_PORT" ]
then then
[ "$WAITFOR_BW_SCHEME" = "https" ] && WAITFOR_BW_PORT=433 || WAITFOR_BW_PORT=80 [ "$WAITFOR_BW_SCHEME" = "https" ] && WAITFOR_BW_PORT=433 || WAITFOR_BW_PORT=80
fi fi
printf "Wait for vaultwarden server on '%s:%s'...\n" "${WAITFOR_BW_HOST}" "${WAITFOR_BW_PORT}" printf "Wait for bitwarden server on '%s:%s'...\n" "${WAITFOR_BW_HOST}" "${WAITFOR_BW_PORT}"
/usr/local/bin/wait-for "${WAITFOR_BW_HOST}":"${WAITFOR_BW_PORT}" /usr/local/bin/wait-for "${WAITFOR_BW_HOST}":"${WAITFOR_BW_PORT}"
fi fi
if [ -n "$VAULTWARDEN_LDAP_HOST" ] if [ -n "$BITWARDENRS_LDAP_HOST" ]
then then
WAITFOR_LDAP_SSL=$(/usr/local/bin/gomplate -i '{{ getenv "VAULTWARDEN_LDAP_SSL" "true" | conv.Bool }}') WAITFOR_LDAP_SSL=$(/usr/local/bin/gomplate -i '{{ getenv "BITWARDENRS_LDAP_SSL" "true" | conv.Bool }}')
if [ -z "$VAULTWARDEN_LDAP_PORT" ] if [ -z "$BITWARDENRS_LDAP_PORT" ]
then then
[ "$WAITFOR_LDAP_SSL" = true ] && VAULTWARDEN_LDAP_PORT=636 || VAULTWARDEN_LDAP_PORT=389 [ "$WAITFOR_LDAP_SSL" = true ] && BITWARDENRS_LDAP_PORT=636 || BITWARDENRS_LDAP_PORT=389
fi fi
printf "Wait for ldap server on '%s:%s'...\n" "${VAULTWARDEN_LDAP_HOST}" "${VAULTWARDEN_LDAP_PORT}" printf "Wait for ldap server on '%s:%s'...\n" "${BITWARDENRS_LDAP_HOST}" "${BITWARDENRS_LDAP_PORT}"
/usr/local/bin/wait-for "${VAULTWARDEN_LDAP_HOST}":"${VAULTWARDEN_LDAP_PORT}" /usr/local/bin/wait-for "${BITWARDENRS_LDAP_HOST}":"${BITWARDENRS_LDAP_PORT}"
# TODO: add delay to minimize connection errors # TODO: add delay to minimize connection errors
sleep 10 sleep 10
fi fi
exec env CONFIG_PATH=/app/config.toml /app/vaultwarden_ldap exec env CONFIG_PATH=/app/config.toml /app/bitwarden_rs_ldap

View File

@ -3,7 +3,7 @@
"extends": ["github>thegeeklab/renovate-presets:docker"], "extends": ["github>thegeeklab/renovate-presets:docker"],
"packageRules": [ "packageRules": [
{ {
"groupName": "vaultwarden ldap packages", "groupName": "bitwarden ldap packages",
"matchDatasources": ["github-releases"], "matchDatasources": ["github-releases"],
"matchPackagePatterns": ["^ViViDboarder"] "matchPackagePatterns": ["^ViViDboarder"]
} }