Commit Graph

156 Commits

Author SHA1 Message Date
Clément Michaud
0c43740a4e
[FEATURE] Add command to generate self-signed certs in authelia binary. (#676)
* [FEATURE] Add command to generate self-signed certs in authelia binary.
* Apply suggestions from code review

Fixes #454 

Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2020-03-01 14:08:09 +01:00
Amir Zarrinkafsh
2ffbea50af [MISC] Update QEMU to v4.2.0-4 (#629) 2020-02-10 21:38:53 +11:00
Amir Zarrinkafsh
f1a89de2e7
[MISC] Restructure repo folder layout (#628) 2020-02-09 18:04:27 +01:00
Amir Zarrinkafsh
27b8a1b0fe
[Buildkite] Fix issues with releases in CD pipeline (#617)
* [Buildkite] Fix changelog output for github releases

Fetch is required to grab the latest tag, this will ensure the correct data is generated

* [Buildkite] Only clean tags on pushes to master

Also ensure that master tag is not removed on github API failures.

* [Buildkite] Fix tag publishing for releases

* [Buildkite] Minor tweaks to github changelog output
2020-02-05 23:24:19 +11:00
Clément Michaud
d1d02d9eae
[FIX] Redirect to default URL after 1FA when default policy is one_factor. (#611)
* Redirect to default URL after 1FA when default policy is one_factor.

User is now redirected to the default redirection URL after 1FA if
the default policy is set to one_factor and there is no target URL
or if the target URL is unsafe.

Also, if the default policy is set to one_factor and the user is already
authenticated, if she visits the login portal, the 'already authenticated'
view is displayed with a logout button.

This fixes #581.

* Update users.yml

* Fix permissions issue causing suite test failure
2020-02-05 08:18:02 +11:00
Amir Zarrinkafsh
1b478e8f3d
[Buildkite] Do not persist Docker secret in builds (#603) 2020-02-01 19:10:18 +11:00
Amir Zarrinkafsh
49e739d009
[Buildkite] Add automatic deployment and removal of Docker images for Branches and PRs (#592) 2020-01-30 08:37:11 +01:00
Clement Michaud
2acf8bf21c Add hash-password and migrate commands to authelia binary.
This reduce the size of the docker image and avoid confusing users.

We keep the commands in authelia-scripts too in order to keep the
current workflow of developers.
2020-01-22 11:53:15 +11:00
James Elliott
736ed3f212 Misc Spelling Corrections
- Mostly changes to spelling of comments/docs/displayed text
- A few changes to test function names
2020-01-21 12:16:00 +11:00
Clément Michaud
ce7b6b8167
Build docker image upfront in CI and use it in integration tests. (#555)
* Build docker image upfront in CI and use it in integration tests.

Previously, the development workflow was broken because the container
generated from Dockerfile.CI was used in dev environments but the binary
was not pre-built as it is on buildkite. I propose to just remove that
image and use the "to be published" image instead in integration tests.

This will have several advantages:
- Fix the dev workflow.
- Remove CI arch from authelia-scripts build command
- Optimize CI time in buildkite since we'll cache a way small artifact
- We don't build authelia more than once for earch arch.

* Fix suites and only build ARM images on master or tagged commits

* Optimise pipeline dependencies and Kubernetes suite to utilise cache

* Run unit tests and docker image build in parallel.

* Fix suite trying to write on read only fs.

Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2020-01-17 20:46:51 +01:00
Amir Zarrinkafsh
9b8be0fef0 Remove Travis and promote Buildkite (#545)
* Remove Travis and promote Buildkite

* Add Docker Size badge to README.md

* Call MicroBadger webhook to update metadata for shields

Add updateMicroBadger function and refactor publishDockerReadme to be called explicitly instead of on every deployManifest call.
2020-01-16 21:57:44 +01:00
Amir Zarrinkafsh
5914f96de4
Add git tag back to binary artifact. 2020-01-13 11:30:05 +11:00
Clement Michaud
a823b6368a Remove build time and git tag from binary artifact.
That way it's easy to build a given commit and check whether
it's the same binary than the one published on Github.
2020-01-12 20:17:11 +01:00
Amir Zarrinkafsh
7dc4ac5cd9 Create a suite for HAProxy 2020-01-10 11:41:01 +01:00
Amir Zarrinkafsh
c60904add7 Revert migration script to ensure data is migrated 2020-01-10 11:33:18 +01:00
Amir Zarrinkafsh
612881ca67 Fix spelling errors 2020-01-10 11:33:18 +01:00
Amir Zarrinkafsh
fd53bbef2d Update QEMU to v4.2.0-2 2019-12-29 22:50:29 +11:00
Amir Zarrinkafsh
2fb20882d9
Utilise Buildkite for Authelia CI/CD (#507)
Publish steps are currently disabled.
2019-12-27 22:07:53 +11:00
Amir Zarrinkafsh
fabb76754e
Rename org from clems4ever to authelia
Also fix references from config.yml to configuration.yml
2019-12-24 13:14:52 +11:00
Clement Michaud
da2b3b8370 Add a way to run multiple suites with authelia-scripts.
Providing a list of suites test to authelia-scripts will run the
tests of each of them sequentially.

For instance, authelia-scripts suites test Standalone,BypassAll.
2019-12-10 12:27:09 +01:00
Clement Michaud
bd2ddc5e90 Strip v prefix in git tag name when publishing in Docker. 2019-12-10 09:21:54 +01:00
Clement Michaud
b4a8c4f0ec Introduce version command to Authelia to check the version
The version command displays the tag and the commit hash of the
built commit along with the time when the build was done.
2019-12-09 13:03:12 +01:00
Amir Zarrinkafsh
55460035f7 Fix README.md publication and tag cleanup for DockerHub 2019-12-09 08:22:10 +01:00
Amir Zarrinkafsh
d158632452 Fix README.md publication and tag cleanup for DockerHub 2019-12-09 08:22:10 +01:00
Clement Michaud
61c1365ba2 Update README and documentation to close refactoring. 2019-12-05 23:20:12 +01:00
Clement Michaud
135cf718d5 Fix DuoPush suite and do some clean up. 2019-12-05 11:05:24 +01:00
Clement Michaud
b89f63e9c1 Fix and parallelize integration tests. 2019-12-05 11:05:24 +01:00
Clement Michaud
c78a732c6a Rewrite and fix remaining suites in Go. 2019-12-05 11:05:24 +01:00
Clement Michaud
373911d199 Add first unit tests to frontend components. 2019-12-05 11:05:24 +01:00
Amir Zarrinkafsh
05129207a2 Update QEMU to v4.1.1-1 2019-12-03 08:46:18 +01:00
Amir Zarrinkafsh
6725dc753a Adjust logging for Docker helper script
Signed-off-by: Amir Zarrinkafsh <nightah@me.com>
2019-12-01 22:11:19 +01:00
Amir Zarrinkafsh
68845057a2 Retry curl up to 3 times for transient network errors
Signed-off-by: Amir Zarrinkafsh <nightah@me.com>
2019-11-29 08:34:12 +01:00
Amir Zarrinkafsh
f143dd19a2 Publish additional minor and major tags on DockerHub
Signed-off-by: Amir Zarrinkafsh <nightah@me.com>
2019-11-28 18:52:10 +01:00
Amir Zarrinkafsh
1530267b50 Prevent publishing alpha/beta releases as latest on DockerHub 2019-11-22 14:19:00 +01:00
Clement Michaud
eafd9330dc Update documentation to introduce migration scripts. 2019-11-19 00:11:53 +01:00
Clement Michaud
3b2d733367 Move source code into internal directory to follow standard project layout.
https://github.com/golang-standards/project-layout
2019-11-17 16:30:33 +01:00
Clement Michaud
a06b69dd45 Provide commands to migrate database from v3 to v4. 2019-11-17 16:30:33 +01:00
Clement Michaud
6303485fd2 Add support for PostgreSQL. 2019-11-16 23:39:26 +01:00
Clement Michaud
b2ced06402 Fix Kubernetes suite tests.
Also deploy kubernetes dashboard prior to authelia services to ease
debugging of the suite.
2019-11-16 23:39:26 +01:00
Clement Michaud
e20112f209 Remove retry mechanism from mysql provider.
The retry logic is implemented in the reflex service script instead.
2019-11-16 23:39:26 +01:00
Clement Michaud
bd19ee48fd Deprecate mongo and add mariadb as storage backend option. 2019-11-16 23:39:26 +01:00
Clement Michaud
a991379a74 Declare suites as Go structs and bootstrap e2e test framework in Go.
Some tests are not fully rewritten in Go, a typescript wrapper is called
instead until we remove the remaining TS tests and dependencies.

Also, dockerize every components (mainly Authelia backend, frontend and kind)
so that the project does not interfere with user host anymore (open ports for instance).
The only remaining intrusive change is the one done during bootstrap to add entries in /etc/hosts.
It will soon be avoided using authelia.com domain that I own.
2019-11-15 20:23:06 +01:00
Clement Michaud
ad8463f2fa Fix authentication issue while performing docker tags cleaning. 2019-11-13 08:49:25 +01:00
Clement Michaud
b8aaa01247 Do not fail silently on curl errors. 2019-11-12 21:17:01 +01:00
Amir Zarrinkafsh
08b519293a During cleanup, treat non-200 responses as an error and retry up to 3 times 2019-11-12 18:51:04 +01:00
Amir Zarrinkafsh
51465f8b77 Sync README.md from GitHub to DockerHub after push-manifest 2019-11-10 11:51:24 +01:00
Amir Zarrinkafsh
175ac50888 Remove unnecessary tags from DockerHub after publishing a manifest 2019-11-09 12:30:03 +01:00
Amir Zarrinkafsh
e7816d7028 Fix docker manifest push 2019-11-08 13:15:15 +01:00
Clement Michaud
a8ce22ade7 Fail the authelia-scripts commands when bad args are provided. 2019-11-07 16:26:18 +01:00
Amir Zarrinkafsh
23c093b9c6 Fix docker manifest push 2019-11-07 15:59:40 +01:00
Amir Zarrinkafsh
6380bd32d7 Enable Multiarch docker builds 2019-11-07 07:51:14 +01:00
Clement Michaud
b9fea361c9 Create suite for testing the docker image.
Running this suite is the first advice given by the
bootstrap script to help the user move forward.

This commit also updates the documentation to reflect
changes introduced by the Go rewrite.
2019-11-03 16:53:47 +01:00
Clement Michaud
391bd6c576 Move authelia entrypoint to cmd/authelia directory. 2019-11-02 11:09:18 +01:00
Clement Michaud
5bd9e831eb Use pure implementation of crypt to generate and check password hashes.
This allows to remove the dependency to libc.
2019-11-01 23:06:31 +01:00
Clement Michaud
0571df4058 Fetch state after logging out. 2019-11-01 19:03:22 +01:00
Clement Michaud
9d7224b7ad Replace typescript version of authelia-scripts by Go version. 2019-11-01 19:03:22 +01:00