Ryan Richard
70c3c62021
Merge pull request #2588 from vmware/update_deps_aug_28_2025
...
CodeQL / Analyze (go) (push) Failing after 3m53s
CodeQL / Analyze (javascript) (push) Failing after 2m29s
Update dependencies
2025-08-28 14:39:28 -07:00
Ryan Richard
1623b2c46e
ran codegen after update of kube-versions.txt
2025-08-28 12:34:05 -07:00
Ryan Richard
adc0dba8e5
update kube-versions.txt
2025-08-28 12:33:39 -07:00
Ryan Richard
6de6d17429
upgrade github.com/google/cel-go to v0.26.1
2025-08-28 12:18:30 -07:00
Ryan Richard
c51fde6c5a
upgrade to github.com/google/go-github/v74
2025-08-28 10:52:36 -07:00
Ryan Richard
cf63d782d4
Merge pull request #2580 from vmware/adfs_workaround
...
CodeQL / Analyze (go) (push) Failing after 2m49s
CodeQL / Analyze (javascript) (push) Failing after 2m5s
Implement configuration option which allows Supervisor to work with ADFS
2025-08-27 16:43:24 -07:00
Ryan Richard
577797d569
add new supervisor configmap option to ignore userinfo endpoints by matching issuer URLs
2025-08-27 13:22:17 -07:00
Ryan Richard
e427a5202e
add new bool supervisor configmap option to ignore userinfo endpoints
2025-08-27 12:13:15 -07:00
Ryan Richard
44893e6b0d
upgrade linter (caused no new linter errors)
2025-08-27 12:13:15 -07:00
Ryan Richard
7090fb7038
Merge pull request #2577 from vmware/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 2m57s
CodeQL / Analyze (javascript) (push) Failing after 2m5s
Bump dependencies
2025-08-27 11:54:29 -07:00
Pinny
892ffead6c
Bump dependencies
2025-08-27 13:03:38 +00:00
Ryan Richard
9bbdf59828
Merge pull request #2573 from vmware/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 2m17s
CodeQL / Analyze (javascript) (push) Failing after 2m7s
Bump dependencies
2025-08-26 15:53:15 -07:00
Pinny
bf416d59c8
Bump dependencies
2025-08-26 20:55:39 +00:00
Ryan Richard
95e4ec9d88
Merge pull request #2536 from vmware/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 2m20s
CodeQL / Analyze (javascript) (push) Failing after 1m47s
Bump dependencies
2025-08-22 09:17:52 -07:00
Ryan Richard
097f3ec5fe
ran update.sh
2025-08-20 17:12:50 -07:00
Pinny
301c717d17
Bump dependencies
2025-08-20 13:03:35 +00:00
Ryan Richard
e20c5beb47
Merge pull request #2531 from vmware/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 2m32s
CodeQL / Analyze (javascript) (push) Failing after 1m33s
Bump dependencies
2025-08-05 10:25:55 -07:00
Pinny
f96b17abbf
Bump dependencies
2025-08-05 13:01:56 +00:00
Ryan Richard
71295c619d
Merge pull request #2529 from vmware/pinny/update-version-and-cli-docs
...
CodeQL / Analyze (go) (push) Failing after 2m11s
CodeQL / Analyze (javascript) (push) Failing after 1m18s
Update version and CLI docs on website
2025-08-04 14:19:16 -07:00
Pinny
bf2b28a755
Update version and CLI docs on website
2025-08-04 21:16:23 +00:00
Ryan Richard
62dd4ab758
Merge pull request #2528 from vmware/pinny/bump-deps
...
Bump dependencies
2025-08-04 10:15:02 -07:00
Pinny
ff38d82745
Bump dependencies
2025-08-04 13:09:14 +00:00
Ryan Richard
47e1f7e465
Merge pull request #2526 from vmware/change_github_org
...
CodeQL / Analyze (go) (push) Failing after 2m13s
CodeQL / Analyze (javascript) (push) Failing after 1m39s
account for move of repo from vmware-tanzu to vmware on GitHub
2025-08-04 05:01:44 -07:00
Ryan Richard
4fe8167f60
account for move of repo from vmware-tanzu to vmware on GitHub
2025-08-02 15:08:15 -07:00
Ryan Richard
8f583447ca
Merge pull request #2525 from vmware/update_deps_aug_2025
...
CodeQL / Analyze (go) (push) Failing after 1m55s
CodeQL / Analyze (javascript) (push) Failing after 1m41s
update github.com/google/go-github and Kube versions in generated code
2025-08-02 10:46:16 -07:00
Ryan Richard
9c1cc8db50
update github.com/google/go-github and Kube versions in generated code
2025-08-01 13:41:39 -07:00
Ryan Richard
089e8cf740
Merge pull request #2514 from vmware/okta_ldap
...
CodeQL / Analyze (go) (push) Failing after 1m46s
CodeQL / Analyze (javascript) (push) Failing after 1m5s
adjust test code to allow for using Okta LDAP in integration tests
2025-08-01 12:23:12 -07:00
Ryan Richard
a038aeb8f0
adjust test code to allow for using Okta LDAP in integration tests
...
- Okta LDAP requires using a different groups search filter.
- It also does not support posix groups, so make that expected
value optional.
2025-07-31 15:16:10 -07:00
Ryan Richard
088f88bdc0
Merge pull request #2482 from vmware/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m54s
CodeQL / Analyze (javascript) (push) Failing after 1m22s
Bump dependencies
2025-07-31 15:15:50 -07:00
Ryan Richard
3a02eec765
avoid using t.Context inside t.Cleanup because it is already cancelled
2025-07-30 15:22:20 -07:00
Joshua Casey
1c1b3b7f2e
Bump golangci-lint to 2.3.0 and fix issues
2025-07-30 10:25:23 -05:00
Joshua Casey
b387a2cae9
Update release checklist to include checking the overrides.conf file
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2025-07-30 09:21:37 -05:00
Joshua Casey
af8d7335fd
Replace github.com/google/gnostic-models v0.6.9
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2025-07-30 09:21:37 -05:00
Joshua Casey
07ed9e95cd
Pin k8s.io/kube-openapi to v0.0.0-20250318190949-c8a335a9a2ff
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2025-07-30 09:21:37 -05:00
Joshua Casey
8d56e06f1c
Bump golang.org/x/mod from 0.25.0 to 0.26.0 in /hack/update-go-mod
2025-07-30 09:21:37 -05:00
Joshua Casey
17cb4c2ee5
Update unit test malformed jwt error messages due to https://github.com/coreos/go-oidc/compare/v3.14.1...v3.15.0
2025-07-30 09:21:37 -05:00
Pinny
cd3f55c019
Bump dependencies
2025-07-30 09:05:28 -05:00
Ryan Richard
cf700382fe
Merge pull request #2491 from vmware/jwtauthenticator_new_features
...
CodeQL / Analyze (go) (push) Failing after 3m35s
CodeQL / Analyze (javascript) (push) Failing after 2m21s
add new features in JWTAuthenticator CRD
2025-07-25 13:17:15 -07:00
Ryan Richard
da26da1bd5
Merge pull request #2506 from vmware/new_okta
...
CodeQL / Analyze (go) (push) Failing after 3m18s
CodeQL / Analyze (javascript) (push) Failing after 3m7s
change css selectors which find Okta page elements for new Okta account
2025-07-24 10:17:01 -07:00
Ryan Richard
679a40b847
change css selectors which find Okta page elements for new Okta account
2025-07-23 11:02:16 -07:00
Ryan Richard
6d8ad5f7a9
fix install-linter.sh for when there is no toolchain in go.mod
2025-07-21 13:50:29 -07:00
Ryan Richard
3c28171525
account for change in err msg starting in Kube 1.34 beta version
2025-07-21 13:50:29 -07:00
Ryan Richard
83696fd023
improve errors and docs for JWTAuthenticator features, with int tests
2025-07-18 12:22:06 -07:00
Ryan Richard
cc4a148c70
add new login integration tests for new JWTAuthenticator features
2025-07-18 12:14:32 -07:00
Ryan Richard
52622d5e4c
fix pre-existing integration tests for new JWTAuthenticator features
2025-07-17 10:52:29 -07:00
Ryan Richard
64e5e20010
add usernameExpression and groupsExpression to JWTAuthenticator CRD
2025-07-16 14:56:44 -07:00
Ryan Richard
2a83d00373
add claimValidationRules, userValidationRules, and claims.extra to JWTAuthenticator CRD
2025-07-16 14:56:44 -07:00
Ryan Richard
fdfe2a3c9f
Merge pull request #2485 from vmware/skip_on_eks
...
CodeQL / Analyze (go) (push) Failing after 3m15s
CodeQL / Analyze (javascript) (push) Failing after 2m48s
skip some integration tests on EKS
2025-07-10 15:19:21 -07:00
Ryan Richard
04f0c559db
skip some integration tests on EKS
2025-07-10 13:27:26 -07:00
Ryan Richard
9a97e20c40
Merge pull request #2475 from vmware/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 2m39s
CodeQL / Analyze (javascript) (push) Failing after 1m58s
Bump dependencies
2025-07-07 15:02:58 -07:00
Pinny
9e742d2d84
Bump dependencies
2025-07-07 13:08:57 +00:00
Ryan Richard
4c134a410d
Merge pull request #2473 from vmware/update_deps_jun_2025
...
CodeQL / Analyze (go) (push) Failing after 3m33s
CodeQL / Analyze (javascript) (push) Failing after 2m44s
Update deps
2025-07-02 16:52:58 -07:00
Ryan Richard
cd431c2a8e
run codegen and commit results
2025-07-02 13:38:28 -07:00
Ryan Richard
96ef1b75a7
update github client, kube versions, linter
2025-07-02 13:31:37 -07:00
Ryan Richard
63d56f3abb
Merge pull request #2471 from vmware/pinny/bump-deps
...
Bump dependencies
2025-07-02 11:27:32 -07:00
Pinny
de273ea68a
Bump dependencies
2025-07-02 13:11:14 +00:00
Joshua Casey
b4758c8e4f
Merge pull request #2393 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 2m44s
CodeQL / Analyze (javascript) (push) Failing after 1m58s
Bump dependencies
2025-07-01 18:33:31 -05:00
Ryan Richard
5258bd542c
update test expectation due to dependency bump
2025-07-01 13:46:39 -07:00
Pinny
0656a2dde9
Bump dependencies
2025-07-01 19:27:03 +00:00
Ryan Richard
9d681f2745
Merge pull request #2461 from vmware/new_ci
...
update docs and tests for new internal CI
2025-07-01 12:12:13 -07:00
Ryan Richard
d57005c42a
do not drop internal IP annotation from CredentialIssuer in test
2025-06-30 14:56:48 -07:00
Ryan Richard
6de6bcd81a
test fixes for when Kind cluster VM has no public IP in CI
2025-06-27 13:31:38 -07:00
Ryan Richard
d1a14413fb
update docs for new internal CI
2025-06-26 12:45:27 -07:00
Ryan Richard
c8a7c10793
Update email address in SECURITY.md
CodeQL / Analyze (go) (push) Failing after 3m5s
CodeQL / Analyze (javascript) (push) Failing after 2m19s
2025-05-30 11:32:04 -07:00
Pinny
fa0c63fc40
Updated versions in docs for v0.39.0 release
CodeQL / Analyze (go) (push) Failing after 1m38s
CodeQL / Analyze (javascript) (push) Failing after 1m13s
2025-05-19 15:50:36 +00:00
Joshua Casey
d8a439acc3
Merge pull request #2389 from vmware-tanzu/agentConfig_priorityClassName
...
CodeQL / Analyze (go) (push) Failing after 1m41s
CodeQL / Analyze (javascript) (push) Failing after 1m8s
New configuration option for Concierge: kube cert agent `priorityClassName`
2025-05-16 14:53:03 -05:00
Joshua Casey
1254f730f2
Revert the Concierge configmap data to inline rendering
2025-05-16 10:43:14 -05:00
Joshua Casey
69281a4620
Fix concierge config deployment manifest
2025-05-16 10:43:14 -05:00
Joshua Casey
02f7ad2fff
Run unit tests with CGO_ENABLED=0, which no longer yields ld warnings
2025-05-16 10:43:13 -05:00
Ryan Richard
2e3e0eed8e
avoid "defer cancelFunc()" for top-level context in integration tests
...
"defer cancelFunc()" causes the context to be cancelled already when
the t.Cleanup's are called, which causes strange test results if those
t.Cleanup's try to use that cancelled context to perform operations.
2025-05-16 10:43:13 -05:00
Ryan Richard
72cea70967
integration test for new config option kubeCertAgent.priorityClassName
2025-05-16 10:43:13 -05:00
Ryan Richard
1428444c24
refactor how Concierge ConfigMap gets templated
...
Make it similar to how the Supervisor templates
work. This creates a more human-readable ConfigMap
on the cluster.
2025-05-16 10:43:13 -05:00
Ryan Richard
7276a1df53
add new concierge configuration option kubeCertAgent.priorityClassName
2025-05-16 10:43:13 -05:00
Joshua Casey
33c68e2e7d
Merge pull request #2383 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2025-05-16 10:06:24 -05:00
Pinny
0986c90678
Bump dependencies
2025-05-16 13:05:44 +00:00
Ryan Richard
986ebe0063
Merge pull request #2384 from vmware-tanzu/upgrade_to_k8s_1.33
...
CodeQL / Analyze (go) (push) Failing after 1m42s
CodeQL / Analyze (javascript) (push) Failing after 1m6s
Upgrade to k8s libs to 1.33
2025-05-13 14:51:28 -07:00
Ryan Richard
9b24ecad19
run codegen to add 1.33 and update patch versions
2025-05-13 12:21:07 -07:00
Ryan Richard
2e4f719419
fix linter warning caused by k8s 0.33 function deprecation
2025-05-13 12:17:14 -07:00
Ryan Richard
f45e0aeb3d
update kube-versions.txt to add 1.33.0
2025-05-13 12:02:07 -07:00
Ryan Richard
e743beac53
upgrade k8s libs to v0.33.0
2025-05-13 11:56:03 -07:00
Ryan Richard
b294c7657a
remove generated/1.25
2025-05-13 11:55:29 -07:00
Ryan Richard
524989e16b
Merge pull request #2380 from vmware-tanzu/upgrade_to_k8s_1.32
...
CodeQL / Analyze (go) (push) Failing after 1m41s
CodeQL / Analyze (javascript) (push) Failing after 1m15s
Upgrade to k8s 1.32, upgrade linter and other deps
2025-05-13 11:53:33 -07:00
Ryan Richard
a6b2905c3a
skip race detector for impersonator package for now
...
This commit is meant to be reverted when the upstream
bug is fixed which causes tests to fail when the race
detector is enabled for unit tests in the impersonator
package. There is a commit in the hack dir and another
commit in the `ci` branch for CI.
2025-05-13 07:47:53 -07:00
Ryan Richard
aa2bdcb8dd
update codegen, including copright year
2025-05-12 16:53:30 -07:00
Ryan Richard
a315cc4977
update copyright year for api generated code
2025-05-12 16:49:00 -07:00
Joshua Casey
b8e7a64afe
Bump libs to k8s.io@v0.32.3, add codegen for k8s 1.32, and drop codegen for k8s 1.25
2025-05-12 16:36:46 -07:00
Ryan Richard
b50da60c84
run codegen post-bump controller-gen to v0.18.0
2025-05-12 15:52:11 -07:00
Ryan Richard
dfc4c38259
upgrade github.com/google/go-github to v71
2025-05-12 15:47:36 -07:00
Pinny
dce1f5b208
Bump dependencies
2025-05-12 15:47:21 -07:00
Ryan Richard
c600cf7949
upgrade linter to latest
2025-05-12 15:19:50 -07:00
Joshua Casey
32a29da86c
Merge pull request #2344 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m40s
CodeQL / Analyze (javascript) (push) Failing after 1m11s
Bump dependencies
2025-04-29 23:52:35 -05:00
Pinny
9ac9930650
Bump dependencies
2025-04-29 13:04:40 +00:00
Ryan Richard
1f01c394f3
Merge pull request #2338 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m37s
CodeQL / Analyze (javascript) (push) Failing after 1m11s
Bump dependencies
2025-04-23 12:03:03 -07:00
Pinny
a41ca92b8e
Bump dependencies
2025-04-23 13:04:34 +00:00
Joshua Casey
f75eef16b4
Merge pull request #2322 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m33s
CodeQL / Analyze (javascript) (push) Failing after 1m7s
Bump dependencies
2025-04-21 14:21:58 -05:00
Pinny
2e801dc275
Bump dependencies
2025-04-21 13:07:26 +00:00
Ryan Richard
b8b460f98a
Merge pull request #2319 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m36s
CodeQL / Analyze (javascript) (push) Failing after 1m6s
Bump dependencies
2025-04-09 11:14:36 -07:00
Pinny
39588c3bb4
Bump dependencies
2025-04-09 13:11:48 +00:00
Ryan Richard
79035bc2b6
Merge pull request #2317 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m40s
CodeQL / Analyze (javascript) (push) Failing after 1m7s
Bump dependencies
2025-04-08 17:08:45 -07:00
Ryan Richard
85c94116ce
ignore a new lint warning
2025-04-08 12:55:20 -07:00
Pinny
7e8ea9f1fb
Bump dependencies
2025-04-08 13:05:48 +00:00
Ryan Richard
a0e38fe8c1
Merge pull request #2315 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m59s
CodeQL / Analyze (javascript) (push) Failing after 1m46s
Bump dependencies
2025-04-07 12:41:22 -07:00
Pinny
f9c3d932c1
Bump dependencies
2025-04-07 13:01:30 +00:00
Ryan Richard
861c501ea8
Merge pull request #2313 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m45s
CodeQL / Analyze (javascript) (push) Failing after 14m41s
Bump dependencies
2025-04-04 10:55:33 -07:00
Pinny
e129a569ba
Bump dependencies
2025-04-04 13:09:33 +00:00
Ryan Richard
fd42da225d
Merge pull request #2309 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 3m3s
CodeQL / Analyze (javascript) (push) Failing after 1m37s
Bump dependencies
2025-04-03 07:58:19 -07:00
Pinny
b139a458fd
Bump dependencies
2025-04-03 13:02:37 +00:00
Joshua Casey
68a2df41ed
Merge pull request #2297 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 2m41s
CodeQL / Analyze (javascript) (push) Failing after 1m57s
Bump dependencies
2025-03-31 09:57:41 -05:00
Pinny
2cbdd60022
Bump dependencies
2025-03-31 13:10:59 +00:00
Joshua Casey
0e12f90749
Merge pull request #2290 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m31s
CodeQL / Analyze (javascript) (push) Failing after 50s
Bump dependencies
2025-03-26 23:01:01 -05:00
Pinny
7e132a5dcd
Bump dependencies
2025-03-26 13:10:43 +00:00
Joshua Casey
910326f1ea
Merge pull request #2285 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m28s
CodeQL / Analyze (javascript) (push) Failing after 51s
Bump dependencies
2025-03-24 15:06:34 -05:00
Joshua Casey
6057b0c912
Bump to github.com/google/go-github/v70
2025-03-24 10:13:45 -05:00
Joshua Casey
2845829fb4
Bump to k8s.io@v0.31.7 libs
2025-03-24 10:10:49 -05:00
Pinny
653b6d5b0d
Bump dependencies
2025-03-24 13:10:39 +00:00
Pinny
7ef58a9132
Updated versions in docs for v0.38.0 release
CodeQL / Analyze (go) (push) Failing after 1m2s
CodeQL / Analyze (javascript) (push) Failing after 55s
2025-03-19 20:56:58 +00:00
Ryan Richard
cf98c69c0d
Merge pull request #2283 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m37s
CodeQL / Analyze (javascript) (push) Failing after 52s
Bump dependencies
2025-03-19 08:21:36 -07:00
Ryan Richard
62f6d8516b
Merge pull request #2278 from vmware-tanzu/upgrade_deps_march_2025
...
Upgrade deps
2025-03-19 07:44:39 -07:00
Pinny
604ecc583c
Bump dependencies
2025-03-19 13:10:02 +00:00
Ryan Richard
a010794873
generated code changes from running update.sh
2025-03-18 15:32:37 -07:00
Ryan Richard
c7462bf1f6
update kube-versions.txt
2025-03-18 12:39:13 -07:00
Ryan Richard
b396d12456
update Dockerfile and README copyright years
2025-03-18 12:38:58 -07:00
Ryan Richard
695ea3a165
upgrade linter
2025-03-18 12:38:47 -07:00
Ryan Richard
d625ada06a
upgrade github.com/google/go-github and k8s.io packages
2025-03-18 12:38:29 -07:00
Joshua Casey
0f48620d9c
Merge pull request #2276 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m21s
CodeQL / Analyze (javascript) (push) Failing after 59s
Bump dependencies
2025-03-18 09:54:16 -05:00
Pinny
c2496aab6b
Bump dependencies
2025-03-18 13:04:18 +00:00
Joshua Casey
00734d143e
Merge pull request #2269 from vmware-tanzu/rr/option_to_disable_admission_plugins
...
introduce new configuration option to disable admission plugin types
2025-03-18 07:31:46 -05:00
Ryan Richard
d90b3c23ef
introduce new configuration option to disable admission plugin types
2025-03-17 14:49:17 -07:00
Ryan Richard
035dbffd28
Merge pull request #2268 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 53s
CodeQL / Analyze (javascript) (push) Failing after 1m2s
Bump dependencies
2025-03-17 12:32:28 -07:00
Pinny
e3710289e5
Bump dependencies
2025-03-17 13:09:35 +00:00
Joshua Casey
99b67b89ac
Merge pull request #2266 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m37s
CodeQL / Analyze (javascript) (push) Failing after 54s
Bump dependencies
2025-03-16 22:58:47 -05:00
Pinny
e374841857
Bump dependencies
2025-03-14 13:08:05 +00:00
Ryan Richard
9f2336476f
Merge pull request #2264 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m34s
CodeQL / Analyze (javascript) (push) Failing after 51s
Bump dependencies
2025-03-13 13:38:08 -07:00
Pinny
63b560d740
Bump dependencies
2025-03-13 13:11:01 +00:00
Joshua Casey
f54834cbee
Merge pull request #2254 from vmware-tanzu/rr/callback_handler_form_post
...
CodeQL / Analyze (go) (push) Failing after 1m34s
CodeQL / Analyze (javascript) (push) Failing after 55s
support response_mode=form_post in upstream OIDC IDPs
2025-03-07 17:40:37 -06:00
Ryan Richard
749633e43c
support response_mode=form_post in upstream OIDC IDPs
2025-03-06 15:28:47 -08:00
Ryan Richard
308c76cd69
Merge pull request #2249 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m27s
CodeQL / Analyze (javascript) (push) Failing after 48s
Bump dependencies
2025-03-06 15:14:51 -08:00
Joshua Casey
fc9a261b77
Update golang.org/x/mod in hack/update-go-mod/go.mod
2025-03-06 13:28:00 -08:00
Pinny
d2d860bd3b
Bump dependencies
2025-03-06 13:28:00 -08:00
Ryan Richard
9cb3638354
Merge pull request #2253 from vmware-tanzu/optional_tools_proxy
...
make tools deployment proxy server optional
2025-03-06 11:41:42 -08:00
Ryan Richard
6133276555
make tools deployment proxy server optional
2025-03-06 11:02:24 -08:00
Joshua Casey
a7a3016ae5
Merge pull request #2250 from vmware-tanzu/chrome_v134
...
CodeQL / Analyze (go) (push) Failing after 1m30s
CodeQL / Analyze (javascript) (push) Failing after 45s
slow down filling out the Okta login screen for Chrome v134
2025-03-05 17:28:03 -06:00
Ryan Richard
dd0dcad8c4
slow down filling out the Okta login screen for Chrome v134
2025-03-05 12:13:45 -08:00
Joshua Casey
ed8c9448de
Merge pull request #2239 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m28s
CodeQL / Analyze (javascript) (push) Failing after 44s
Bump dependencies
2025-02-28 11:53:46 -06:00
Pinny
5e80fb26f0
Bump dependencies
2025-02-28 14:06:05 +00:00
Joshua Casey
292855332c
Merge pull request #2236 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m36s
CodeQL / Analyze (javascript) (push) Failing after 52s
Bump dependencies
2025-02-27 09:53:36 -06:00
Pinny
68b0dd83f2
Bump dependencies
2025-02-27 14:02:01 +00:00
Joshua Casey
611fc61c12
Merge pull request #2233 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m33s
CodeQL / Analyze (javascript) (push) Failing after 46s
Bump dependencies
2025-02-26 11:27:08 -06:00
Pinny
2cd4a2c730
Bump dependencies
2025-02-26 14:09:14 +00:00
Ryan Richard
3e89915a98
Merge pull request #2228 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m11s
CodeQL / Analyze (javascript) (push) Failing after 43s
Bump dependencies
2025-02-25 10:05:28 -08:00
Pinny
f4aaee8bd7
Bump dependencies
2025-02-25 14:10:26 +00:00
Ryan Richard
d56413a289
Merge pull request #2209 from vmware-tanzu/dependabot/go_modules/hack/update-go-mod/golang.org/x/mod-0.23.0
...
CodeQL / Analyze (go) (push) Failing after 1m27s
CodeQL / Analyze (javascript) (push) Failing after 41s
Bump golang.org/x/mod from 0.22.0 to 0.23.0 in /hack/update-go-mod
2025-02-24 12:10:57 -08:00
dependabot[bot]
27b629af3a
Bump golang.org/x/mod from 0.22.0 to 0.23.0 in /hack/update-go-mod
...
Bumps [golang.org/x/mod](https://github.com/golang/mod ) from 0.22.0 to 0.23.0.
- [Commits](https://github.com/golang/mod/compare/v0.22.0...v0.23.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-02-24 20:09:53 +00:00
Ryan Richard
1a3cb65fa4
remove go-lint-runner dockerfile from dependabot.yml
...
That directory doesn't exist anymore, so no need for
dependabot to monitor it anymore.
2025-02-24 11:46:54 -08:00
Ryan Richard
4b3eb0e6ec
Merge pull request #2205 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2025-02-24 10:28:12 -08:00
Pinny
f89b13bc62
Bump dependencies
2025-02-24 14:09:13 +00:00
Ryan Richard
8b7fec5049
Merge pull request #2203 from vmware-tanzu/go1.24
...
CodeQL / Analyze (go) (push) Failing after 1m26s
CodeQL / Analyze (javascript) (push) Failing after 41s
Upgrade to Go 1.24 and change FIPS-compatible builds to allow the use of TLS 1.3
2025-02-19 14:46:01 -08:00
Ryan Richard
3a6573f89e
remove fips_enable_tls13_max_for_default_profile build tag
2025-02-19 11:47:34 -08:00
Ryan Richard
4e04f5b606
remove fips_strict insecure ciphers which do not seem to be in Go 1.24
2025-02-19 08:13:55 -08:00
Ryan Richard
39a86e7d52
upgrade Go linter to current latest
2025-02-18 10:47:24 -08:00
Ryan Richard
8cfc1c08ec
allow both TLS v1.2 and v1.3 in fips mode, supported starting in Go 1.24
2025-02-18 10:46:59 -08:00
Pinny
c90637398d
Bump dependencies
2025-02-18 14:10:15 +00:00
Ryan Richard
737aabb620
Merge pull request #2197 from vmware-tanzu/downgrade_cdproto
...
CodeQL / Analyze (go) (push) Failing after 1m25s
CodeQL / Analyze (javascript) (push) Failing after 41s
Downgrade cdproto to the version selected by current chromedp version
2025-02-14 12:58:48 -08:00
Ryan Richard
0e930b3d63
Downgrade cdproto to the version selected by current chromedp version
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2025-02-12 13:27:31 -08:00
Joshua Casey
876f626e7d
Merge pull request #2196 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m23s
CodeQL / Analyze (javascript) (push) Failing after 41s
Bump dependencies
2025-02-10 09:47:12 -06:00
Pinny
0dc704be9c
Bump dependencies
2025-02-10 14:01:28 +00:00
Joshua Casey
e437832698
Merge pull request #2195 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m24s
CodeQL / Analyze (javascript) (push) Failing after 42s
Bump dependencies
2025-02-06 10:26:31 -06:00
Pinny
274ca4cb73
Bump dependencies
2025-02-06 14:03:20 +00:00
Ryan Richard
a99ff646a0
Merge pull request #2193 from vmware-tanzu/rr/ca_bundle_discovery
...
CodeQL / Analyze (go) (push) Failing after 1m20s
CodeQL / Analyze (javascript) (push) Failing after 40s
"pinniped get kubeconfig" discovers CA bundle from JWTAuthenticator's spec.TLS.CertificateAuthorityDataSource
2025-02-05 12:47:42 -08:00
Ryan Richard
02eb26f135
"pinniped get kubeconfig" discovers CA bundle from CertificateAuthorityDataSource
2025-02-05 10:59:02 -08:00
Joshua Casey
e90f19f8ab
Merge pull request #2192 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 49s
CodeQL / Analyze (javascript) (push) Failing after 35s
Bump dependencies
2025-02-04 10:06:44 -06:00
Pinny
00c2c5cf6e
Bump dependencies
2025-02-04 14:08:31 +00:00
Joshua Casey
3386774f5f
Merge pull request #2191 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m34s
CodeQL / Analyze (javascript) (push) Failing after 45s
Bump dependencies
2025-02-03 13:47:48 -06:00
Joshua Casey
7e4330be93
Bump codegen to latest k8s.io versions for 1.29, 1.30, and 1.31
2025-02-03 10:28:43 -06:00
Joshua Casey
f5b3e6da93
Bump to k8s.io@v0.31.5 libs
2025-02-03 10:28:42 -06:00
Joshua Casey
5c39374915
Update code for fosite changes
2025-02-03 10:28:42 -06:00
Pinny
4fdb931141
Bump dependencies
2025-02-03 14:06:25 +00:00
Ryan Richard
3a02854192
Merge pull request #2190 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m30s
CodeQL / Analyze (javascript) (push) Failing after 41s
Bump dependencies
2025-01-31 09:30:28 -08:00
Pinny
63c071d6ea
Bump dependencies
2025-01-31 14:05:01 +00:00
Ryan Richard
6dc96f4224
Merge pull request #2189 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m33s
CodeQL / Analyze (javascript) (push) Failing after 42s
Bump dependencies
2025-01-30 10:33:40 -08:00
Pinny
aa8f8f7fda
Bump dependencies
2025-01-30 14:10:37 +00:00
Joshua Casey
f5167bb279
Merge pull request #2188 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m24s
CodeQL / Analyze (javascript) (push) Failing after 43s
Bump dependencies
2025-01-29 13:10:25 -06:00
Pinny
b84eafc173
Bump dependencies
2025-01-29 14:04:56 +00:00
Ryan Richard
50ed1b0cf9
Merge pull request #2167 from vmware-tanzu/jtc/federation-domain-issuer-must-be-https-url
...
CodeQL / Analyze (go) (push) Failing after 56s
CodeQL / Analyze (javascript) (push) Failing after 45s
Federation domain issuer must be https url
2025-01-28 10:56:35 -08:00
Joshua Casey
1d873be184
Make sure that CEL errors are checked for the appropriate Kube version
2025-01-27 10:46:55 -06:00
Joshua Casey
5a0d6eddb1
Make sure each FederationDomain has a unique name, and skip CEL tests for old K8s versions
2025-01-27 10:46:55 -06:00
Joshua Casey
31b45525ce
Remove deprecated CredentialIssuer.status.kubeConfigInfo
2025-01-27 10:46:55 -06:00
Joshua Casey
430c73b903
FederationDomain.spec.issuer must now be an HTTPS URL
2025-01-27 10:46:55 -06:00
Joshua Casey
cc1befbc57
Allow for multiple error messages
2025-01-27 10:46:55 -06:00
Joshua Casey
68a0ad4112
Extract common prefix from error messages
2025-01-27 10:46:55 -06:00
Joshua Casey
9aca187559
Merge pull request #2187 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m27s
CodeQL / Analyze (javascript) (push) Failing after 44s
Bump dependencies
2025-01-27 10:18:30 -06:00
Pinny
d0fb9f3637
Bump dependencies
2025-01-27 14:05:17 +00:00
Joshua Casey
51d1bc32e8
Merge pull request #2186 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m23s
CodeQL / Analyze (javascript) (push) Failing after 35s
Bump dependencies
2025-01-24 17:00:25 -06:00
Ryan Richard
e9b9dd6fa3
update generated code for 1.26 and 1.29
2025-01-24 13:15:39 -08:00
Joshua Casey
7e43aa4e12
Bump dependencies and codgen
2025-01-24 13:56:57 -06:00
Pinny
de509db7be
Bump dependencies
2025-01-24 14:01:08 +00:00
Pinny
69c6676d8f
Updated versions in docs for v0.37.0 release
CodeQL / Analyze (go) (push) Failing after 1m25s
CodeQL / Analyze (javascript) (push) Failing after 41s
2025-01-15 20:53:32 +00:00
Joshua Casey
2ab11dccfc
Merge pull request #2185 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2025-01-15 12:21:55 -06:00
Pinny
d64b4677b9
Bump dependencies
2025-01-15 10:07:13 -06:00
Ryan Richard
f040f098dc
rerun codegen after bumping controller-gen and crd-ref-docs
2025-01-14 11:04:42 -08:00
Ryan Richard
abe3391cce
use github.Ptr where deprecated github.String and github.Int64 were used
2025-01-14 09:40:48 -08:00
Ryan Richard
6ae27c87f6
upgrade dep to github.com/google/go-github/v68/github
2025-01-14 09:03:06 -08:00
Joshua Casey
3d2446d235
Merge pull request #2182 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 36s
CodeQL / Analyze (javascript) (push) Failing after 34s
Bump dependencies
2025-01-14 09:54:48 -06:00
Pinny
4f01b3157f
Bump dependencies
2025-01-14 14:06:38 +00:00
Joshua Casey
14e728aa0d
Merge pull request #2177 from vmware-tanzu/doc_updates
...
CodeQL / Analyze (go) (push) Failing after 1m18s
CodeQL / Analyze (javascript) (push) Failing after 44s
Doc updates
2025-01-13 16:33:32 -06:00
Joshua Casey
4a266a44db
Merge pull request #2181 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2025-01-13 16:20:07 -06:00
Pinny
900db0d3a3
Bump dependencies
2025-01-13 14:00:50 +00:00
Joshua Casey
8b95b141b2
Merge pull request #2179 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m22s
CodeQL / Analyze (javascript) (push) Failing after 31s
Bump dependencies
2025-01-13 07:10:57 -06:00
Pinny
5a9f2f3181
Bump dependencies
2025-01-10 14:02:04 +00:00
Ryan Richard
4f43f01e55
update architecture.md
2025-01-08 12:35:47 -08:00
Ryan Richard
7221be5a8a
add doc describing all tokens and credentials
2025-01-08 12:35:34 -08:00
Joshua Casey
83ab099b84
Merge pull request #2176 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 35s
CodeQL / Analyze (javascript) (push) Failing after 32s
Bump dependencies
2025-01-07 11:12:33 -06:00
Pinny
5f79860c8c
Bump dependencies
2025-01-07 14:06:50 +00:00
Joshua Casey
e4f7b5d181
Merge pull request #2174 from vmware-tanzu/audit_sourceips
...
CodeQL / Analyze (go) (push) Failing after 1m19s
CodeQL / Analyze (javascript) (push) Failing after 35s
change `remoteAddr` to `sourceIPs` in Supervisor audit log for incoming http requests
2025-01-06 23:09:03 -06:00
Ryan Richard
9619a0f226
change remoteAddr to sourceIPs in Supervisor audit log for incoming reqs
2025-01-06 21:21:01 -06:00
Joshua Casey
23f414c384
Merge pull request #2175 from vmware-tanzu/upgrade_linter
...
upgrade golangci-lint to v1.63.4
2025-01-06 19:22:05 -06:00
Ryan Richard
4872be0a84
upgrade golangci-lint to v1.63.4
2025-01-06 13:03:46 -08:00
Joshua Casey
691307a269
Merge pull request #2173 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m19s
CodeQL / Analyze (javascript) (push) Failing after 31s
Bump dependencies
2025-01-06 10:39:13 -06:00
Pinny
6d846ad2a9
Bump dependencies
2025-01-06 14:03:30 +00:00
Joshua Casey
ff24c757b7
Merge pull request #2171 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m19s
CodeQL / Analyze (javascript) (push) Failing after 32s
Bump dependencies
2025-01-02 09:51:32 -06:00
Pinny
ee4663aa19
Bump dependencies
2025-01-02 14:05:57 +00:00
Joshua Casey
119c591500
Merge pull request #2170 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m21s
CodeQL / Analyze (javascript) (push) Failing after 32s
Bump dependencies
2024-12-30 10:47:57 -06:00
Pinny
275412e902
Bump dependencies
2024-12-30 14:03:31 +00:00
Joshua Casey
fe75ebe4b2
Merge pull request #2169 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m22s
CodeQL / Analyze (javascript) (push) Failing after 34s
Bump dependencies
2024-12-27 11:01:39 -06:00
Pinny
fabb80cf19
Bump dependencies
2024-12-27 14:09:36 +00:00
Joshua Casey
7577f20c61
Merge pull request #2166 from vmware-tanzu/avoid_kube_32
...
CodeQL / Analyze (go) (push) Failing after 1m28s
CodeQL / Analyze (javascript) (push) Failing after 48s
temporarily avoid upgrades to kube v0.32.0 without using replace directives for direct deps
2024-12-26 13:16:18 -06:00
Joshua Casey
f441714f93
Bump codegen for 1.31, 1.30, and 1.29
2024-12-26 11:31:19 -06:00
Ryan Richard
2c9547e6a4
bump build image to latest
2024-12-24 12:38:55 -08:00
Ryan Richard
3bf3ed03f5
temporarily avoid upgrades to kube v0.32.0 without replace directives
2024-12-24 12:37:48 -08:00
Joshua Casey
c279253e20
Merge pull request #2163 from vmware-tanzu/jtc/pin-k8s-to-1-31-4
...
CodeQL / Analyze (go) (push) Failing after 1m38s
CodeQL / Analyze (javascript) (push) Failing after 46s
Pin k8s.io libs to 1.31.4
2024-12-23 12:59:01 -06:00
Joshua Casey
fa9ddf48d5
Pin k8s.io dependencies to v0.31.4
2024-12-20 15:39:26 -06:00
Joshua Casey
b8a9c4d1e5
Bump all dependencies
2024-12-20 15:38:57 -06:00
Joshua Casey
b4365c100f
Merge pull request #2162 from vmware-tanzu/build_tags_for_tls_versions
...
CodeQL / Analyze (go) (push) Failing after 1m30s
CodeQL / Analyze (javascript) (push) Failing after 39s
Introduce new build tags to optionally override some min and max TLS settings
2024-12-20 14:25:22 -06:00
Ryan Richard
ef4b0c9cff
bump golang.org/x/net
2024-12-20 10:28:32 -08:00
Ryan Richard
b625b4a076
introduce build tags to optionally override some TLS settings
2024-12-20 10:28:32 -08:00
Joshua Casey
acbe9ce23d
Merge pull request #2158 from vmware-tanzu/upgrade_fosite
...
CodeQL / Analyze (go) (push) Has started running
CodeQL / Analyze (javascript) (push) Has started running
upgrade fosite to v0.49.0 and handle its API changes
2024-12-13 14:11:25 -06:00
Ryan Richard
90c95866d1
upgrade fosite to v0.49.0 and handle its API changes
2024-12-13 10:17:42 -08:00
Ryan Richard
57fc177266
Merge pull request #2156 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 2m9s
CodeQL / Analyze (javascript) (push) Failing after 1m11s
Bump dependencies
2024-12-11 10:53:48 -08:00
Pinny
0366f4087f
Bump dependencies
2024-12-11 14:00:52 +00:00
Joshua Casey
3f6d287b44
Merge pull request #2155 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 1m9s
CodeQL / Analyze (javascript) (push) Failing after 1m12s
Bump dependencies
2024-12-10 16:28:15 -06:00
Joshua Casey
36aa701b56
Merge branch 'main' into pinny/bump-deps
2024-12-10 13:29:48 -06:00
Pinny
fc5a776645
Updated versions in docs for v0.36.0 release
2024-12-10 19:00:02 +00:00
Pinny
c2b4390bfa
Bump dependencies
2024-12-10 14:06:14 +00:00
Ryan Richard
b371389c27
Merge pull request #2154 from vmware-tanzu/jtc/fixup-before-audit-release
...
CodeQL / Analyze (go) (push) Failing after 1m11s
CodeQL / Analyze (javascript) (push) Failing after 1m9s
Small fixups prior to releasing audit log story
2024-12-09 12:36:49 -08:00
Joshua Casey
87640ca54a
Callback endpoint emits audit log with authorizeID even when code param not found
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-12-09 12:47:54 -06:00
Joshua Casey
8322b03d63
Merge pull request #2153 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 2m2s
CodeQL / Analyze (javascript) (push) Failing after 1m8s
Bump dependencies
2024-12-09 10:04:13 -06:00
Pinny
594c3580f2
Bump dependencies
2024-12-09 14:11:21 +00:00
Joshua Casey
0d80c492f1
Merge pull request #2152 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 2m28s
CodeQL / Analyze (javascript) (push) Failing after 1m29s
Bump dependencies
2024-12-05 15:23:10 -06:00
Pinny
1a29cca1ca
Bump dependencies
2024-12-05 14:07:26 +00:00
Ryan Richard
b54191f29f
Merge pull request #2150 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 2m32s
CodeQL / Analyze (javascript) (push) Failing after 1m26s
Bump dependencies
2024-12-04 13:39:11 -08:00
Pinny
422e4e4785
Bump dependencies
2024-12-04 14:06:21 +00:00
Joshua Casey
4187cc1f61
Merge pull request #2149 from vmware-tanzu/upgrade_majors
...
CodeQL / Analyze (go) (push) Failing after 14m1s
CodeQL / Analyze (javascript) (push) Failing after 14m3s
New hack script to help us upgrade major versions of modules from `go.mod`
2024-12-03 19:07:28 -06:00
Ryan Richard
ede9e45211
make audit_test.go ignore pod log lines that aren't JSON
2024-12-03 17:20:25 -06:00
Ryan Richard
a36550d94b
ran update.sh after updating kube minor versions for codegen
2024-12-03 13:06:15 -06:00
Ryan Richard
7c3870f3fa
update kube-versions.txt for new patch versions
2024-12-03 13:05:27 -06:00
Ryan Richard
7ca2796774
update release_checklist.md for new hack script
2024-12-03 13:05:05 -06:00
Ryan Richard
170cc3bba4
ran new hack script to update all majors: updated github mod
2024-12-03 12:52:29 -06:00
Ryan Richard
1980912ebe
add hack script to help update major versions of modules
2024-12-03 12:51:40 -06:00
Joshua Casey
1571859d67
Merge pull request #2147 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 9m3s
CodeQL / Analyze (javascript) (push) Failing after 3m7s
Bump dependencies
2024-12-03 11:22:23 -06:00
Pinny
eb4c20a6aa
Bump dependencies
2024-12-03 14:04:18 +00:00
Joshua Casey
1154139b91
Merge pull request #2145 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 14m14s
CodeQL / Analyze (javascript) (push) Failing after 14m10s
Bump dependencies
2024-12-02 16:52:50 -06:00
Joshua Casey
28e22d7dd2
Update error text assertion due to change in ory/fosite
...
- db74aa7abd
2024-12-02 11:08:30 -06:00
Joshua Casey
9cfbbb541a
Standardize casing in Dockerfiles
2024-12-02 10:00:39 -06:00
Pinny
21bce1cb92
Bump dependencies
2024-12-02 14:10:28 +00:00
Joshua Casey
fe045343ee
Merge pull request #2009 from vmware-tanzu/audit_logging
...
CodeQL / Analyze (go) (push) Failing after 18m37s
CodeQL / Analyze (javascript) (push) Failing after 2m36s
Add audit logging for Supervisor and Concierge
2024-11-27 15:46:34 -06:00
Ryan Richard
df017f9267
attempt to fix a test flake seen sometimes in CI
2024-11-27 13:53:03 -06:00
Ryan Richard
ae5aad178d
TokenCredentialRequest uses actual cert expiry time instead of estimate
...
and also audit logs both the NotBefore and NotAfter of the issued cert.
Implemented by changing the return type of the cert issuer helpers
to make them also return the NotBefore and NotAfter values of the new
cert, along with the key PEM and cert PEM.
2024-11-27 13:53:03 -06:00
Ryan Richard
032160a85e
simplify single-node.yaml
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-11-27 13:53:03 -06:00
Ryan Richard
ecd23e86ce
callback endpoint renders more useful user-facing error messages
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-11-27 13:53:03 -06:00
Ryan Richard
51ae782135
fix typo in audit-logging.md
2024-11-27 13:53:03 -06:00
Ryan Richard
54b35c30da
rename tokenIdentifier to tokenID in the audit logs
...
Because `tokenID` is more consistent with the names of
the other correlation keys.
2024-11-27 13:53:03 -06:00
Ryan Richard
dfe04c5a58
update audit-logging.md to reflect changes in recent commits
2024-11-27 13:53:03 -06:00
Ryan Richard
4423d472da
allow audit correlation between token being issued and being used
2024-11-27 13:53:03 -06:00
Joshua Casey
c803a182be
Allow override of audit.log_usernames_and_groups for local debugging
2024-11-27 13:53:02 -06:00
Joshua Casey
bc73505e35
Easily enable kind audit logs with ENABLE_AUDIT_LOGGING=true ./hack/kind-up.sh
2024-11-27 13:53:02 -06:00
Joshua Casey
0a28c818ad
Small fixes for integration tests
2024-11-27 13:53:02 -06:00
Joshua Casey
ce2dcbdbb3
simplify godoc
2024-11-27 13:53:02 -06:00
Ryan Richard
1ebe2fcd1a
add integration test for personal info showing in login audit logs
2024-11-27 13:53:02 -06:00
Joshua Casey
c7e9ee1c61
Backfill unit tests for paramsSafeToLog
2024-11-27 13:53:02 -06:00
Joshua Casey
51c86795af
Backfill unit tests for cmd/pinniped/cmd/audit_id.go
2024-11-27 13:53:02 -06:00
Joshua Casey
8dffd60f0b
Backfill unit tests for audit logging from the CLI
2024-11-27 13:53:02 -06:00
Ryan Richard
6bf9b64778
log response audit-id for tokencredentialrequests made from CLI
...
Only logged when PINNIPED_DEBUG=true is used.
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-11-27 13:53:02 -06:00
Ryan Richard
26ec7fa346
prepare-supervisor-on-kind.sh takes new --api-group-suffix flag
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-11-27 13:53:02 -06:00
Joshua Casey
60bd118a9c
pinniped CLI should print the audit-ID in certain error cases
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-11-27 13:53:02 -06:00
Joshua Casey
b69507f7f3
Add generic audit integration test
2024-11-27 13:53:02 -06:00
Ryan Richard
7d59df0f86
update original audit logging proposal
2024-11-27 13:53:02 -06:00
Ryan Richard
9c0272382f
clean up audit logging documentation
2024-11-27 13:53:02 -06:00
Ryan Richard
2de8d9f0f3
cleanup example audit logs to make them prettier
2024-11-27 13:53:02 -06:00
Ryan Richard
d0905c02dd
use test helper in rest_test.go to reduce some duplication
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-11-27 13:53:02 -06:00
Ryan Richard
51fc86f950
don't audit log missing username or password, change query param value
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-11-27 13:53:02 -06:00
Ryan Richard
76bda12760
update audit-logging.md to resolve todos
2024-11-27 13:53:02 -06:00
Ryan Richard
a84b76e56a
audit log session ID in token handler for every grant type
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-11-27 13:53:02 -06:00
Ryan Richard
c2018717b6
audit log OIDCClientSecretRequests
2024-11-27 13:53:02 -06:00
Joshua Casey
f388513145
resolve TODO by adding docs
2024-11-27 13:53:02 -06:00
Ryan Richard
c16ebe1707
add unit test for audit logging when token refresh updates groups
2024-11-27 13:53:02 -06:00
Ryan Richard
b54365c199
audit log request params on GET and POST login handlers
2024-11-27 13:53:02 -06:00
Ryan Richard
51d1cc7a96
refactor and add unit test for AuditRequestParams()
2024-11-27 13:53:02 -06:00
Ryan Richard
c06141c871
token handler uses common method to audit HTTP request parameters
2024-11-27 13:53:02 -06:00
Ryan Richard
eab3fde3af
introduce common method to audit HTTP request parameters
2024-11-27 13:53:02 -06:00
Joshua Casey
de7781b7f9
Use correct caller when generating audit events
2024-11-27 13:53:02 -06:00
Joshua Casey
611de03e01
Add audit event 'Incorrect Username Or Password' to auth_handler and audit event 'Using Upstream IDP' to callback_handler
2024-11-27 13:53:01 -06:00
Joshua Casey
de722332b1
Add audit logging to post_login_handler
2024-11-27 13:53:01 -06:00
Ryan Richard
438ca437ec
tokencredentialrequest audit logs failed requests
2024-11-27 13:53:01 -06:00
Ryan Richard
e21e1326b7
tokencredentialrequest audit logs successful responses
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-11-27 13:53:01 -06:00
Joshua Casey
37e12b4024
Start backfilling some audit unit tests in post_login_handler
2024-11-27 13:53:01 -06:00
Ryan Richard
e126ee5495
all callers of Audit() identify which keys may contain PII
2024-11-27 13:53:01 -06:00
Ryan Richard
a308f3f22a
audit log: keep key ordering in personalInfo, render nil slices and maps
2024-11-27 13:53:01 -06:00
Ryan Richard
c5f4cce3ae
make Audit() take struct as param for all optional params and redact PII
2024-11-27 13:53:01 -06:00
Ryan Richard
ced8686d11
add config for audit logging, remove Audit() from Logger interface
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-11-27 13:53:01 -06:00
Joshua Casey
76f6b725b8
Fix some rebase conflicts
2024-11-27 13:53:01 -06:00
Joshua Casey
f9e1dd4bec
Backfill unit tests for garbage_collector audit logging
2024-11-27 13:53:01 -06:00
Joshua Casey
f4f393e5de
Audit event 'HTTP Request Completed' will now log the location with err, error, and error_description query parameters
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-11-27 13:53:01 -06:00
Joshua Casey
2db5dda266
Add last audit log unit tests to auth_handler
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-11-27 13:53:01 -06:00
Ryan Richard
8cf9c59957
refactor to move audit event message types to their own pkg
2024-11-27 13:53:01 -06:00
Ryan Richard
088556193d
auth handler audit logs headers and params when http method is wrong
...
also refactor some related code into a helper, and fix linter errors
2024-11-27 13:53:01 -06:00
Joshua Casey
18d3ab3d15
The 'HTTP Request Parameters' audit event now logs params as a JSON object
2024-11-27 13:53:01 -06:00
Joshua Casey
dc6faa33bb
Log params to token_handler endpoint even during error cases
2024-11-27 13:53:01 -06:00
Joshua Casey
0d22ae2c1a
Fix lint and unit test compilation
2024-11-27 13:53:01 -06:00
Joshua Casey
362d982906
Start to backfill some audit unit tests for the token_handler
2024-11-27 13:53:01 -06:00
Ryan Richard
1006dd9379
resolve some todos
2024-11-27 13:53:01 -06:00
Joshua Casey
369316556a
Add configuration to audit internal endpoints and backfill unit tests
2024-11-27 13:53:01 -06:00
Joshua Casey
cf4b29de4b
Clarify docs
2024-11-27 13:53:00 -06:00
Joshua Casey
09ca7920ea
Extract testutil helper function
2024-11-27 13:53:00 -06:00
Joshua Casey
9994e033b2
Add audit event tests for login_handler
2024-11-27 13:53:00 -06:00
Joshua Casey
dd56f2b47f
Add audit event tests for callback_handler
2024-11-27 13:53:00 -06:00
Ryan Richard
4df043a91c
document audit logging
2024-11-27 13:53:00 -06:00
Ryan Richard
d020de4b3d
update fips reference doc
2024-11-27 13:53:00 -06:00
Joshua Casey
dd42f35db0
plog.TestLogger returns a buffer that holds the logs
...
# Conflicts:
# internal/controller/apicerts/certs_expirer_test.go
# internal/plog/plog_test.go
# internal/plog/testing.go
# pkg/oidcclient/login_test.go
2024-11-27 13:53:00 -06:00
Joshua Casey
a67af9455b
Refactor: don't copy the loop variable in test loops
2024-11-27 13:53:00 -06:00
Joshua Casey
d729c82f84
fix lint
2024-11-27 13:53:00 -06:00
Joshua Casey
44e218194b
Add 'AuthorizeID From Parameters' audit logs to the /callback and /login endpoints
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-11-27 13:53:00 -06:00
Joshua Casey
bf1e37f149
Use a helper to verify audit messages
2024-11-27 13:53:00 -06:00
Joshua Casey
aee56c388f
Check the sessionID as well
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-11-27 13:53:00 -06:00
Joshua Casey
fd5a10bee7
WIP: Add audit event when upstream redirect occurs and backfill tests
2024-11-27 13:53:00 -06:00
Joshua Casey
b20e890f15
Add testutil.RequireLogLines to verify multiple log lines at once
2024-11-27 13:53:00 -06:00
Ryan Richard
4f9530eec7
audit logging WIP
2024-11-27 13:53:00 -06:00
Joshua Casey
615b60bd37
Merge pull request #2143 from vmware-tanzu/rr/kube-cert-agent-for-unschedulable-nodes
...
CodeQL / Analyze (go) (push) Failing after 24m0s
CodeQL / Analyze (javascript) (push) Failing after 4m25s
Cert agent controller avoids locating the agent pod on unschedulable nodes when possible
2024-11-27 12:27:33 -06:00
Joshua Casey
e61afcd109
Merge branch 'main' into rr/kube-cert-agent-for-unschedulable-nodes
2024-11-27 10:05:20 -06:00
Joshua Casey
6ac5446940
Merge pull request #2142 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-11-27 09:46:46 -06:00
Pinny
0706681180
Bump dependencies
2024-11-27 14:03:34 +00:00
Ryan Richard
e44d70b41d
kube cert agent controller avoids unschedulable nodes when possible
2024-11-25 14:20:12 -08:00
Joshua Casey
4bf810cb8f
Merge pull request #2139 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 20m49s
CodeQL / Analyze (javascript) (push) Failing after 4m51s
Bump dependencies
2024-11-21 12:13:23 -06:00
Pinny
c791db4c52
Bump dependencies
2024-11-21 14:04:17 +00:00
Joshua Casey
e86f3cc594
Merge pull request #2123 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 11m50s
CodeQL / Analyze (javascript) (push) Failing after 11m59s
Bump dependencies
2024-11-15 10:10:21 -06:00
Pinny
be6243c446
Bump dependencies
2024-11-15 14:01:52 +00:00
Joshua Casey
4263ee52f3
Merge pull request #2121 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-11-14 10:59:03 -06:00
Pinny
d6f1c91b9c
Bump dependencies
2024-11-14 14:02:35 +00:00
Joshua Casey
105dc4a249
Merge pull request #2119 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 9m32s
CodeQL / Analyze (javascript) (push) Failing after 13m34s
Bump dependencies
2024-11-13 14:21:09 -06:00
Pinny
aa80c8d0b2
Bump dependencies
2024-11-13 14:02:04 +00:00
Joshua Casey
7c9bdfb96e
Merge pull request #2109 from vmware-tanzu/pinny/bump-deps
...
CodeQL / Analyze (go) (push) Failing after 8m14s
CodeQL / Analyze (javascript) (push) Failing after 7m34s
Bump dependencies
2024-11-12 14:06:35 -06:00
Pinny
84b3c0ad31
Bump dependencies
2024-11-12 14:01:57 +00:00
Joshua Casey
f2538689e7
Merge pull request #2107 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-11-11 10:51:36 -06:00
Pinny
66eb7735dd
Bump dependencies
2024-11-11 14:01:16 +00:00
Ryan Richard
33edb7ea15
Merge pull request #2101 from vmware-tanzu/jtc/plog-testlogger-returns-buffer
...
plog.TestLogger returns a buffer instead of taking one in
2024-11-08 14:08:15 -08:00
Joshua Casey
f3c9be07c0
Bump dependencies
2024-11-08 14:15:05 -06:00
Joshua Casey
0c131f11f8
plog.TestLogger returns a buffer instead of taking one in
2024-11-07 17:46:01 -06:00
Ryan Richard
dc86c9305c
Merge pull request #2100 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-11-07 15:18:18 -08:00
Pinny
36ff99882f
Bump dependencies
2024-11-07 12:56:53 -08:00
Joshua Casey
3ed4b1c132
Merge pull request #2095 from vmware-tanzu/update_test_expectation_for_kube_prerelease
...
update test expectation to match new validation error text in new Kube
2024-11-06 17:40:59 -06:00
Ryan Richard
8fad2c5127
update test expectation to match new validation error text in new Kube
2024-11-06 13:57:15 -08:00
Pinny
a25749f087
Updated versions in docs for v0.35.0 release
2024-11-06 20:50:55 +00:00
Joshua Casey
248b1ef947
Merge pull request #2094 from vmware-tanzu/fix_test_flake
...
fix test flake by removing memory limit from test pod
2024-11-06 13:42:37 -06:00
Ryan Richard
feef4bf508
fix test flake by removing memory limit from test pod
...
On AKS clusters, the pod's container would exceed its memory limit,
get OOMKilled, get restarted, and cause that test to flake.
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-11-06 09:56:36 -08:00
Joshua Casey
aa70ff13f4
Merge pull request #2093 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-11-05 16:21:04 -06:00
Joshua Casey
8a6c64095d
Pin sigs.k8s.io/structured-merge-diff/v4s to the version used in k8s.io/apimachinery@v0.31.2
2024-11-05 09:05:14 -06:00
Pinny
ea40ffef06
Bump dependencies
2024-11-05 14:01:27 +00:00
Joshua Casey
44d9dc7440
Merge pull request #2092 from vmware-tanzu/acceptance_cluster_flake
...
add SAN to default cert in supervisor_discovery_test.go
2024-11-05 07:05:05 -06:00
Ryan Richard
fedb9812bd
add SAN to default cert in supervisor_discovery_test.go
2024-11-04 17:34:53 -08:00
Ryan Richard
febbee347b
Merge pull request #2090 from vmware-tanzu/jwtauthenticator_bug
...
Bug fix: JWTAuthenticator must reload when spec.audience or spec.claims changes
2024-11-04 17:32:38 -08:00
Ryan Richard
a7edbd19ad
run codegen again after updating version of controller-gen in CI
2024-11-04 15:36:24 -08:00
Ryan Richard
c39b2fe03d
run codegen after updating kube-versions.txt in previous commit
2024-11-04 13:26:04 -08:00
Ryan Richard
1e23f94b36
update kube-versions.txt
2024-11-04 13:20:09 -08:00
Ryan Richard
106a480dad
JWTAuthenticator must reload when spec.audience or spec.claims changes
2024-11-04 12:49:18 -08:00
Joshua Casey
587e6fbd8a
Merge pull request #2088 from vmware-tanzu/remove_replace
...
remove replace directives made unnecessary by recent dep bumps
2024-11-04 12:42:28 -06:00
Ryan Richard
dc2275099a
remove replace directives made unnecessary by recent dep bumps
2024-11-04 08:53:57 -08:00
Joshua Casey
bcb9175aa8
Merge pull request #2086 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-11-04 10:19:47 -06:00
Pinny
dd71de9aa1
Bump dependencies
2024-11-04 14:01:28 +00:00
Ryan Richard
1c4fe6e406
Merge pull request #2084 from vmware-tanzu/update_replace_directives
...
update replace directives in go.mod
2024-10-31 15:52:57 -07:00
Ryan Richard
697757ba8e
update replace directives in go.mod
2024-10-31 13:53:59 -07:00
Joshua Casey
774df36f41
Merge pull request #2082 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-10-30 10:20:15 -05:00
Pinny
a092b68f61
Bump dependencies
2024-10-30 13:01:38 +00:00
Joshua Casey
2587b0a8ad
Merge pull request #2077 from vmware-tanzu/migrate_ci_code
...
changes related to migrating CI code from private repo to `ci` branch
2024-10-29 16:54:17 -05:00
Ryan Richard
ff0e849730
changes related to migrating CI code from private repo to ci branch
2024-10-29 13:28:47 -07:00
Joshua Casey
c25d30ae88
Merge pull request #2076 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-10-28 12:42:08 -05:00
Pinny
51bc70a11b
Bump dependencies
2024-10-28 13:01:47 +00:00
Joshua Casey
d26e54fd89
Merge pull request #2075 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-10-25 15:10:36 -05:00
Pinny
fc6bcc2f5b
Bump dependencies
2024-10-25 13:01:50 +00:00
Joshua Casey
96f0ea2311
Merge pull request #2074 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-10-24 12:14:37 -05:00
Pinny
261f4a4e5b
Bump dependencies
2024-10-24 13:01:11 +00:00
Joshua Casey
f1e933e7aa
Merge pull request #2072 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-10-23 13:13:53 -05:00
Joshua Casey
590f001f17
Run go generate with new version of mock library
2024-10-23 09:09:41 -05:00
Pinny
88e17c8f86
Bump dependencies
2024-10-23 13:01:00 +00:00
Pinny
009470883e
Updated versions in docs for v0.34.0 release
2024-10-16 23:27:23 +00:00
Pinny
99ad89211a
Updated versions in docs for v0.33.0 release
2024-10-16 22:42:51 +00:00
Ryan Richard
67841f8e27
Merge pull request #2071 from vmware-tanzu/bump_deps
...
Rerun codegen after bumping kube and controller-gen patch versions, and bump go dep to `github.com/google/go-github/v66`
2024-10-16 10:02:07 -07:00
Ryan Richard
eb5ed1490c
run codegen again after bumping controller-gen to v0.16.4
2024-10-15 14:22:09 -07:00
Ryan Richard
46182f03b3
bump kube patch versions for generated code to latest
2024-10-15 14:06:49 -07:00
Ryan Richard
e37d1444c4
bump to github.com/google/go-github/v66
2024-10-15 14:06:34 -07:00
Ryan Richard
4b1577ab70
Merge pull request #2069 from vmware-tanzu/dial_probes_with_proxy
...
Dial probes with proxy
2024-10-15 12:42:00 -07:00
Pinny
c235239ee7
Bump dependencies
2024-10-15 10:17:09 -07:00
Ryan Richard
f36298c542
use required headers for GitHub API connection probe request
2024-10-14 11:12:34 -07:00
Pinny
c3afa55738
Bump dependencies
2024-10-14 09:40:51 -07:00
Ryan Richard
5c252fd083
increase allowed delta in test to allow for slower CI workers
2024-10-14 09:32:06 -07:00
Ryan Richard
dc195536d0
also use port number when checking https proxy for WebhookAuthenticator
2024-10-11 14:49:46 -07:00
Ryan Richard
4d2bbac674
use .cluster.local address for LUA (squid cannot resolve .svc addresses)
2024-10-10 14:44:14 -07:00
Ryan Richard
eca8914760
fix integration test for WebhookAuthenticator status conditions
2024-10-10 14:41:49 -07:00
Ryan Richard
2aa30edb88
explicitly define "podSelector" in NetworkPolicies
...
because Kube API docs say it is not optional
2024-10-10 11:45:16 -07:00
Ryan Richard
4f661aaa69
pay attention to web proxy settings during connection probes
...
- WebhookAuthenticator will now detect the proxy setting and skip
dialing the connection probe if it should go through a proxy
- GitHubIdentityProvider will avoid using tls.Dial altogether
by instead making a real request to the GitHub API as its
connection probe, because this will respect the proxy settings
2024-10-10 10:41:31 -07:00
Ryan Richard
60cfa470b5
hack/prepare-for-integration-tests.sh has new option to firewall IDPs
2024-10-10 10:41:31 -07:00
Ryan Richard
7a41b74ac1
Merge pull request #2068 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-10-10 10:01:57 -07:00
Pinny
b400648e56
Bump dependencies
2024-10-10 13:01:47 +00:00
Ryan Richard
d4bb12ec6d
Merge pull request #2065 from vmware-tanzu/jtc/dont-leak-goroutines-during-ldap-dial
...
Check TLS bundle before dialing for performance reasons, and add godoc to clarify intent
2024-10-08 09:06:07 -07:00
Ryan Richard
6fe55a3b48
assume port 443 when not specified in printServerCert() test helper
2024-10-07 13:18:42 -07:00
Joshua Casey
3e72e40af2
Merge pull request #2067 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-10-04 18:05:39 -05:00
Pinny
2501d41d93
Bump dependencies
2024-10-04 19:29:57 +00:00
Joshua T Casey
629f89d95b
Check TLS bundle before dialing for performance reasons, and add godoc to clarify intent
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2024-10-02 14:54:30 -05:00
Joshua Casey
bb00587bd7
Merge pull request #2064 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-09-30 10:45:01 -05:00
Pinny
973886b683
Bump dependencies
2024-09-30 13:04:24 +00:00
Joshua Casey
4e30bc37f1
Merge pull request #2056 from vmware-tanzu/jtc/tls-dial-should-have-timeout
...
GitHubIdentityProvider and WebhookAuthenticator should perform `tls.Dial` with a timeout
2024-09-24 16:38:13 -05:00
Joshua Casey
01c2377de0
Refactor tests to use a table
2024-09-24 14:45:07 -05:00
Ashish Amarnath
0fab37c089
Update internal/crypto/ptls/dialer_test.go
...
ignore lint error on nil context in unit test validating nil context
2024-09-24 14:14:48 -05:00
Joshua Casey
f7fd209f29
Address PR feedback
2024-09-24 14:14:48 -05:00
Joshua Casey
76a116641f
Add ptls.Dialer to provide some common configuration for tls.Dial operations
2024-09-24 14:14:48 -05:00
Joshua Casey
1e0f7d8437
Merge pull request #2063 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-09-24 14:11:17 -05:00
Pinny
7295ec661f
Bump dependencies
2024-09-24 13:04:13 +00:00
Ashish Amarnath
1a1aac7d09
Merge pull request #2061 from vmware-tanzu/aa/fix-comments
...
refactor and fix comments
2024-09-23 14:27:00 -07:00
Ashish Amarnath
ab2c2e30cb
refactor and fix comments
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-09-19 13:38:12 -07:00
Joshua Casey
65b93f0822
Merge pull request #2059 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-09-16 22:55:42 -05:00
Pinny
da77fb1c3f
Bump dependencies
2024-09-16 13:04:19 +00:00
Joshua Casey
d9ccb11092
Merge pull request #2058 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-09-11 10:16:57 -05:00
Pinny
e62f9b2b48
Bump dependencies
2024-09-11 13:03:58 +00:00
Joshua Casey
62d17155ec
Merge pull request #2057 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-09-10 18:54:55 -05:00
Joshua Casey
702d5bdc01
Bump golangci-lint to 1.61.0
2024-09-10 15:14:53 -05:00
Pinny
8ee08050cc
Bump dependencies
2024-09-10 13:02:05 +00:00
Ashish Amarnath
1d81474d1b
Merge pull request #2052 from vmware-tanzu/jtc/bump-all
...
Bump dependencies and lint
2024-09-06 13:30:00 -07:00
Joshua Casey
00e9b347db
Bump BUILD_IMAGE in Dockerfiles
2024-09-05 08:16:36 -05:00
Joshua Casey
72fa369fc9
Integration tests should use PINNIPED_TEST_SUPERVISOR_SERVICE_NAME to decide where to port-forward
2024-09-04 20:52:01 -05:00
Joshua Casey
08abff1cae
Bump golanglint-ci to 1.60.3
2024-09-04 20:52:01 -05:00
Joshua Casey
f476259bbf
Bump all dependencies
2024-09-04 20:52:01 -05:00
Joshua Casey
c87f091a44
Upcoming k8s versions have an additional extra field in the CSR response
...
- failure due to https://github.com/kubernetes/kubernetes/pull/125634
2024-09-04 11:23:11 -05:00
Joshua Casey
d165899870
Merge pull request #2049 from vmware-tanzu/log_msg_level
...
failed upstream OIDC token exchanges should show in log at default log config
2024-09-03 10:50:41 -05:00
Joshua Casey
6c97600174
Merge branch 'main' into log_msg_level
2024-09-03 06:22:09 -05:00
Joshua Casey
3e2f7456c4
Merge pull request #2047 from vmware-tanzu/jtc/bump-to-k8s-1-31
...
Bump K8s libs to 1.31 and add generated code for 1.31
2024-09-03 06:21:54 -05:00
Joshua Casey
ca9503e4c0
Be sure to update the DEFAULT cert instead of the per-FederationDomain cert when the supervisor is using an IP address
2024-09-02 07:46:15 -05:00
Joshua Casey
dc72a36cb1
Add some logging to debug TLS validation failures with IP addresses
2024-09-01 08:26:23 -05:00
Joshua Casey
18e2024e3f
Environment variables with 'https_address' in them should have 'https://' scheme
2024-08-31 17:46:35 -05:00
Joshua Casey
7d83e209c8
Integration tests should expect that the Supervisor hostname might be an IP address
2024-08-31 08:51:31 -05:00
Joshua Casey
1bbfa4984d
Test refactor for clarity
2024-08-30 17:50:29 -05:00
Joshua Casey
557dee06f0
Allow the integration tests to set an IP address for the Supervisor issuer
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-30 15:48:04 -05:00
Joshua Casey
c0bab69cd1
Allow the Dex hostname to be set by integration tests
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-30 12:42:03 -05:00
Joshua Casey
f480daf7dc
Upgrade all dependencies
2024-08-27 13:31:08 -05:00
Joshua Casey
cf56d808f2
No longer ship or generate code for Kubernetes 1.24
2024-08-27 13:26:40 -05:00
Joshua Casey
b78e2c7ded
Update comments for testing
2024-08-27 13:26:40 -05:00
Joshua Casey
9b3bcca15e
Add test to confirm that pversion.Get() returns something that utilversion.NewEffectiveVersion can consume
2024-08-27 13:26:40 -05:00
Joshua Casey
f7f25a8815
Refactor pversion_test to use a test table
2024-08-27 13:26:39 -05:00
Joshua Casey
94809ee396
Use a real binary version when setting up the aggregated API servers
2024-08-27 13:26:39 -05:00
Joshua Casey
851855d0ee
Upgrade all dependencies
2024-08-27 13:26:39 -05:00
Joshua Casey
2a6a0d2997
Refactor certauthority_test to not need pool.Subjects()
2024-08-27 13:26:39 -05:00
Joshua Casey
c6516af31e
Bump dependencies
2024-08-27 13:26:39 -05:00
Joshua Casey
05098c68f6
Refactor kubeclient_test to not use pool.Subjects()
2024-08-27 13:26:39 -05:00
Joshua Casey
a1dafcf45a
Refactor provider_test to not use pool.Subjects()
2024-08-27 13:26:39 -05:00
Joshua Casey
0ee8ee80e1
Use sha256.Size
2024-08-27 13:26:39 -05:00
Joshua Casey
436112252d
Lint fixes
2024-08-27 13:26:39 -05:00
Joshua Casey
8bd9b94d0a
Impersonator server should take in a cancellable context instead of a stop channel
2024-08-27 13:26:39 -05:00
Joshua Casey
504f0dc26f
Fix some unit tests
2024-08-27 13:26:38 -05:00
Joshua Casey
c12402ee49
Run code generation for updated K8s versions, including 1.31
2024-08-27 13:26:38 -05:00
Joshua Casey
f09b3c2f72
Bump K8s libs to 1.31 and fix compilation errors
2024-08-27 13:26:38 -05:00
Joshua Casey
90c1f6a8c9
Merge branch 'main' into log_msg_level
2024-08-27 13:03:29 -05:00
Joshua Casey
844c169bdc
Merge pull request #2050 from vmware-tanzu/site_footer
...
Add reference to hosting provider in site's page footer
2024-08-26 11:24:47 -05:00
Ryan Richard
c1930833eb
add reference to hosting provider in site's page footer
2024-08-26 09:22:32 -07:00
Ryan Richard
f194594e5b
failed token exchanges should show in log at default log config
2024-08-22 10:09:19 -07:00
Joshua Casey
5bb4adea30
Merge pull request #2048 from vmware-tanzu/golang1.23
...
Upgrade to Go 1.23
2024-08-19 19:21:05 -05:00
Ryan Richard
376b83050a
upgrade linter and fix new lint errors
2024-08-19 15:45:32 -07:00
Ryan Richard
bee87395b1
ran update.sh
2024-08-19 15:23:51 -07:00
Ryan Richard
21ee90ae41
unit tests should not depend on real KUBECONFIG env var value to pass
2024-08-19 15:02:10 -07:00
Ryan Richard
d2f00d832e
upgrade golang from 1.22.6 to 1.23.0
2024-08-19 14:58:10 -07:00
Ryan Richard
764064716f
Merge pull request #2046 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-08-13 11:08:22 -07:00
Pinny
7b051ddc22
Bump dependencies
2024-08-13 10:11:21 -07:00
Joshua Casey
9aac96313a
Merge pull request #2045 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-08-12 09:41:14 -05:00
Pinny
fcdb340623
Bump dependencies
2024-08-12 13:02:20 +00:00
Ryan Richard
4301eb6553
Merge pull request #2037 from vmware-tanzu/jtc/refactor-conditions-util
...
Refactor conditions util
2024-08-09 12:17:09 -07:00
Joshua Casey
649bbc7c4f
Merge branch 'main' into jtc/refactor-conditions-util
2024-08-09 11:52:32 -05:00
Joshua Casey
1eb6145080
Merge pull request #2044 from vmware-tanzu/upgrade_lint
...
upgrade linter from 1.58.1 to 1.59.1: no new linter errors/warnings
2024-08-09 11:52:19 -05:00
Ryan Richard
00f6f39b1c
upgrade linter from 1.58.1 to 1.59.1: no new linter errors/warnings
2024-08-09 09:26:02 -07:00
Joshua Casey
d0f5c2c7ab
Merge branch 'main' into jtc/refactor-conditions-util
2024-08-09 11:22:59 -05:00
Joshua Casey
1cfb83bca9
Merge pull request #2043 from vmware-tanzu/kube_cert_agent_controller_manager_cli_flags
...
support alternate controller-manager flags in kubecertagent controller (e.g. for RKE2)
2024-08-09 11:22:45 -05:00
Joshua Casey
4ef705ae0f
Merge branch 'main' into jtc/refactor-conditions-util
2024-08-09 10:57:08 -05:00
Ryan Richard
5e6f6a1c50
support alternate controller-manager flags in kubecertagent controller
2024-08-08 15:52:50 -07:00
Ryan Richard
59c36ee972
Merge pull request #2042 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-08-08 14:19:24 -07:00
Pinny
ae3cfad10b
Bump dependencies
2024-08-08 19:46:18 +00:00
Joshua Casey
21010b000e
Merge pull request #2041 from vmware-tanzu/auto_update_toolchain_directives
...
Auto-update toolchain directives in all go.mod files
2024-08-08 12:29:51 -05:00
Ryan Richard
4d2b00f612
auto-update toolchain directives in go.mod files
...
Also ran the auto-formatter on the shell script.
2024-08-08 10:23:28 -07:00
Joshua Casey
bab8b54ed8
Update godoc
2024-08-08 10:38:12 -05:00
Joshua Casey
4bd5db14b4
Refactor branching logic when using an early return
2024-08-08 08:12:41 -05:00
Joshua Casey
4a9136040c
Refactor to make it obvious that newCondition is a copy
2024-08-08 08:12:41 -05:00
Joshua Casey
8b97414f3d
Refactor to simplify logic
2024-08-08 08:12:41 -05:00
Joshua Casey
1e8e9ecc98
Refactor to use slices helpers instead of harder-to-read loops
2024-08-08 08:12:41 -05:00
Joshua Casey
2d8ab9ff5d
Refactor variable name for clarity
2024-08-08 08:12:41 -05:00
Joshua Casey
17f66331ea
Refactor parameter names for clarity
2024-08-08 08:12:41 -05:00
Joshua Casey
6bf30bc6b5
Backfill test for existing exported function HadErrorCondition
2024-08-08 08:12:41 -05:00
Joshua Casey
f798777a3b
Refactor: reorder parameters to MergeConditions
2024-08-08 08:12:41 -05:00
Joshua Casey
6207121c03
Merge pull request #2038 from vmware-tanzu/ci_doc_update
...
update cicd.md to discuss using multiple IDPs for human vs bot accounts
2024-08-08 08:12:08 -05:00
Pinny
248994dab6
Updated versions in docs for v0.33.0 release
2024-08-08 04:58:23 +00:00
Ryan Richard
a68db4f0db
Merge pull request #2039 from vmware-tanzu/jtc/add-blog-post-for-v0.33.0
...
Add blog post for v0.33.0 - externally managed CA bundles
2024-08-07 14:58:33 -07:00
Ryan Richard
aad6b676b0
add section to blog post
2024-08-07 14:57:46 -07:00
Joshua Casey
bf91b2045c
Add blog post for v0.33.0 - externally managed CA bundles
2024-08-07 14:57:15 -07:00
Ryan Richard
fcf6ec6731
update cicd.md to discuss using multiple IDPs for human vs bot accounts
2024-08-07 10:39:30 -07:00
Ryan Richard
b377040144
Merge pull request #2034 from vmware-tanzu/jtc/older-idps-should-use-unknown-condition-status
...
OIDC/LDAP/AD IDPs should use unknown condition status
2024-08-06 20:13:02 -07:00
Ryan Richard
c1328d9619
update expectation in supervisor_ldap_idp_test.go
2024-08-06 16:08:25 -07:00
Joshua Casey
f918edd846
Add integration tests to ensure that LDAP/AD conditions with status Unknown if they cannot be validated
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-06 16:08:25 -07:00
Ryan Richard
6b49cd7d28
add Unknown SearchBaseFound status condition for AD only
2024-08-06 16:08:25 -07:00
Joshua Casey
afa3aa2232
LDAP and AD IDPs now always report condition with type LDAPConnectionValid, even if the status is unknown
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-06 16:08:25 -07:00
Joshua Casey
1c59a41cc5
Remove some dead code from LDAP/AD controllers
2024-08-06 16:08:25 -07:00
Joshua Casey
0626b22c70
OIDC Upstream Watcher now reports condition OIDCDiscoverySucceeded with status Unknown if TLS validation fails
2024-08-06 16:08:25 -07:00
Ryan Richard
fbbec507d1
Merge pull request #2036 from vmware-tanzu/bump_codegen
...
Bump codegen
2024-08-06 15:08:32 -07:00
Ryan Richard
a4b0416174
Merge pull request #2035 from vmware-tanzu/go-github-v62
...
upgrade github.com/google/go-github from v62 to v63
2024-08-06 15:08:10 -07:00
Ryan Richard
659f33dc55
run codegen for updated kube-versions.txt
2024-08-06 13:53:44 -07:00
Ryan Richard
20ddf553ce
update kube-versions.txt
2024-08-06 13:50:25 -07:00
Ryan Richard
7483de5e90
upgrade github.com/google/go-github from v62 to v63
2024-08-06 13:45:38 -07:00
Joshua Casey
9f1d6258a2
Merge pull request #2032 from vmware-tanzu/github_api_host
...
When testing connection for GitHubIdentityProvider host `github.com`, actually dial `api.github.com`
2024-08-06 12:53:08 -05:00
Ryan Richard
99b59a90b6
run codegen for gihub doc change from previous commit
2024-08-06 08:58:30 -07:00
Ryan Richard
56bf9bad25
GitHubIdentityProvider: document github.com vs. api.github.com
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-08-06 08:58:30 -07:00
Ryan Richard
229b6a262e
when dialing github to test connection, dial api.github.com
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-08-06 08:58:30 -07:00
Ryan Richard
74d9fb863f
Merge pull request #2028 from vmware-tanzu/doc_typo
...
fix WS1 doc typo
2024-08-06 08:58:00 -07:00
Joshua Casey
e332fb505c
Merge branch 'main' into doc_typo
2024-08-06 09:10:21 -05:00
Ashish Amarnath
dafde586ec
Merge pull request #2033 from vmware-tanzu/update-comments
...
fix typo in integration test function comments
2024-08-06 06:50:44 -07:00
Joshua Casey
cb101e4dbe
Merge branch 'main' into doc_typo
2024-08-06 08:28:22 -05:00
Ashish Amarnath
6fdfee36fe
fix typo in integration test function comments
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 23:33:31 -07:00
Ryan Richard
0787301ddb
Merge pull request #1996 from ashish-amarnath/ca-bundles-ref
...
Implement proposal to allow Pinniped custom resources to ref configmaps or secrets for CA bundles
2024-08-05 14:28:39 -07:00
Ryan Richard
2af510a3ee
Revert "add integration test for TLS config validation in GitHubIdentityProvider"
...
This reverts commit 23129da3e2 .
2024-08-05 12:52:41 -07:00
Ryan Richard
fdeca2c026
Revert "add integration test for TLS config validation in OIDCIdentityProvider"
...
This reverts commit 59402bca7b .
2024-08-05 12:52:29 -07:00
Ryan Richard
23fd15f840
Revert "Add integration tests for tls spec validation in JWTAuthenticator and WebhookAuthenticator"
...
This reverts commit c3405095b2 .
2024-08-05 12:52:21 -07:00
Ryan Richard
06b7d302a2
fix typo in tmpl and run codegen
2024-08-05 11:32:21 -07:00
Ashish Amarnath
b70db9dc03
refactor to use new certificateAuthorityDataSourceKind enum
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:21 -07:00
Ryan Richard
d4ac69d88e
run codegen for changes in previous commit
2024-08-05 11:32:21 -07:00
Ryan Richard
59c2295dfd
improve api docs for TLSSpec in authenticator and IDP specs
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
Co-authored-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:21 -07:00
Ryan Richard
4eb9a09385
test more condition message cases in concierge_tls_spec_test.go and supervisor_tls_spec_test.go
2024-08-05 11:32:21 -07:00
Ryan Richard
db2d7c8c50
assert on condition message in concierge_tls_spec_test.go and supervisor_tls_spec_test.go
2024-08-05 11:32:21 -07:00
Ryan Richard
2ebf9d3d00
minor test refactor
2024-08-05 11:32:21 -07:00
Ryan Richard
67de14a3b8
ran codegen on previous commit's changes
2024-08-05 11:32:21 -07:00
Ryan Richard
a40c88ebf3
document allowed enum values and default values in all CR spec fields
2024-08-05 11:32:21 -07:00
Ashish Amarnath
23129da3e2
add integration test for TLS config validation in GitHubIdentityProvider
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:21 -07:00
Ashish Amarnath
59402bca7b
add integration test for TLS config validation in OIDCIdentityProvider
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:21 -07:00
Ashish Amarnath
c3405095b2
Add integration tests for tls spec validation in JWTAuthenticator and WebhookAuthenticator
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:21 -07:00
Ryan Richard
2181418cc5
refactor test helpers in supervisor_login_test.go
...
Co-authored-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:21 -07:00
Ryan Richard
e0235ed190
update docs and change struct name in types_tls.go.tmpl files
...
Co-authored-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:21 -07:00
Ryan Richard
02e41baa47
small refactors
2024-08-05 11:32:21 -07:00
Ryan Richard
91ef68992c
document new CA bundle source option in howto docs
2024-08-05 11:32:20 -07:00
Ashish Amarnath
43964ff7a2
update generated api docs
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:20 -07:00
Ashish Amarnath
19c4acf391
secret/configmap with CA bundle to be created in namespace where pinniped is installed
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:20 -07:00
Ryan Richard
ed502949dd
webhookcachefiller and jwtcachefiller always update status when needed
...
Even when the authenticator is found in the cache, try to update its
status. Failing to do so would mean that the actual status will not
be overwritten by the controller's newly computed desired status.
Co-authored-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:20 -07:00
Ashish Amarnath
a0c259ffbc
update expectation conditions message when CA bundle is not configured
...
fix a typo where we intended to use a configmap instead of a secret
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-05 11:32:20 -07:00
Joshua Casey
d6d66faae3
jwtcachefiller now tests for exact log lines and prints when it chooses to not update the status
2024-08-05 11:32:20 -07:00
Ryan Richard
15c84fcc94
extract helper func in jwtcachefiller and webhookcachefiller
2024-08-05 11:32:20 -07:00
Joshua Casey
1438f06c12
webhookcachefiller adds more detail when it chooses to update or not update status conditions
2024-08-05 11:32:20 -07:00
Joshua Casey
ca5bb2170c
webhookcontroller should use a logger that is built for each webhook authenticator
2024-08-05 11:32:20 -07:00
Joshua Casey
05a2fd97f8
webhookcontroller now only logs the webhook authenticator name instead of an object
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-05 11:32:20 -07:00
Joshua Casey
dedd51df91
Test Refactor: webhookauthenticator_test checks exact log line equality
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-05 11:32:20 -07:00
Ryan Richard
290676e4d1
improve info/debug log messages for jwtcachefiller & webhookcachefiller
...
Co-authored-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:20 -07:00
Ryan Richard
8725ab4caa
do not make any assumption about OIDC issuer 404 page body in test
...
Instead of using Dex or Okta, use a fake localhost issuer which
does not exist. This will give a consistent connection error
message. Needed because Dex and Okta return different 404 error
pages, so we can't easily make a test assertion that works for both.
Co-authored-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:20 -07:00
Ryan Richard
3891f90f43
skip external CA bundle tests when CA bundle is empty
...
Co-authored-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:20 -07:00
Ryan Richard
9f17ba5ae4
change wording of TLS config loaded success messages
2024-08-05 11:32:20 -07:00
Ashish Amarnath
81d42cb3b9
add unit tests for validatedsettings cache storing ca bundle hash
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-05 11:32:20 -07:00
Ryan Richard
dfef9f470f
fix bug in webhookcachefiller caused when status update returns error
...
Also refactor test assertions regarding log statements in
jwtcachefiller_test.go and webhookcachefiller_test.go
Co-authored-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:20 -07:00
Ryan Richard
f5da417450
fix bug in jwtcachefiller caused when status update returns error
...
Co-authored-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:20 -07:00
Joshua Casey
a888083c50
Introduce type alias CABundleHash for the hash of a CA bundle ([32]byte)
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:20 -07:00
Joshua Casey
99cfc4fbce
Remove tlsconfigutil.CABundle.IsEqual and ensure that tlsconfigutil.NewCABundle handles nil/empty input
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-05 11:32:20 -07:00
Joshua Casey
fcceeed9fa
Refactor tlsconfigutil.CABundle 'getters' to not have 'get' in the name
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-05 11:32:20 -07:00
Joshua Casey
4cf0e46c38
tlsconfigutil.CABundle should generate its own certPool
2024-08-05 11:32:20 -07:00
Joshua Casey
34eff2a2f9
Refactor tlsconfigutil.buildCABundle to make it more clear where the bundle is coming from
2024-08-05 11:32:20 -07:00
Joshua Casey
e82cb2c7ba
Refactor tlsconfigutil.getCertPool to return a CABundle and change its name to buildCABundle
2024-08-05 11:32:20 -07:00
Joshua Casey
0711093ccd
Add tests for tlsconfigutil.CABundle and all callers should use the constructor
2024-08-05 11:32:20 -07:00
Joshua Casey
15d0006841
Pull tlsconfigutil.CABundle into a separate file
2024-08-05 11:32:20 -07:00
Ashish Amarnath
282b949c24
update jwtcachefiller to use new tlsconfigutil.CABundle type
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:20 -07:00
Ashish Amarnath
005dbf3aa8
refactor tlsconfigutil to return a caBundle type
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:20 -07:00
Ashish Amarnath
a1dcba4731
add unit tests for validatedsettings cache storing ca bundle hash
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:20 -07:00
Ashish Amarnath
2a62beeb5f
store ca bundle hash in validated settings cache
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:20 -07:00
Joshua Casey
242fa8afb2
When reading CA bundle from a secret/configmap, return more specific err
...
When the bundle does not contain any certs, make the error more
specific.
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-05 11:32:20 -07:00
Joshua Casey
e3ed722252
Minor refactor
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-05 11:32:20 -07:00
Joshua Casey
9a16dc28b7
Fix another integration test
2024-08-05 11:32:20 -07:00
Joshua Casey
de86809b69
Fix some integration tests
2024-08-05 11:32:20 -07:00
Joshua Casey
9420bfde5b
webhookcachefiller controller loops over all webhookauthenticators
2024-08-05 11:32:20 -07:00
Ryan Richard
adb460b644
refactor integration test to use proper test table
2024-08-05 11:32:20 -07:00
Ryan Richard
06b47a5792
jwtcachefiller controller loops over all jwtauthenticators
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-08-05 11:32:20 -07:00
Ryan Richard
ca2dd2d476
refactor InferSupervisorIssuerURL() func; remove a TODO
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
Co-authored-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:20 -07:00
Joshua Casey
60f82d2a55
Fix integration test typo
2024-08-05 11:32:20 -07:00
Ryan Richard
414ff503ef
extract some common condition reason string constants
2024-08-05 11:32:20 -07:00
Joshua Casey
4ec5766ea9
Modify Concierge/Superivsor TLS spec integration tests to allow for older K8s versions
2024-08-05 11:32:20 -07:00
Joshua Casey
b7c26c43ca
Add LDAPIdentityProvider and ActiveDirectoryIdentityProvider to the Supervisor TLS config static validation integration tests
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-05 11:32:20 -07:00
Joshua Casey
4b2ed52f44
Add GitHubIdentityProvider to the Supervisor TLS config static validation integration tests
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-05 11:32:20 -07:00
Ryan Richard
f381c92f0b
Use templates to reduce duplication in concierge_tls_spec_test.go
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-08-05 11:32:20 -07:00
Joshua Casey
3a303cc8fb
Supervisor TLS Spec validation integration tests should use helper method
2024-08-05 11:32:20 -07:00
Ryan Richard
09724cfa71
Add unit test: when discovery is already cached for OIDCIdentityProvider
2024-08-05 11:32:20 -07:00
Joshua Casey
d74c2a6e3f
Supervisor TLS spec integration tests should use an OIDC issuer url from the test environment
2024-08-05 11:32:19 -07:00
Joshua Casey
0f9352db3b
Integration tests should use a helper func to infer Supervisor's downstream issuer URL
2024-08-05 11:32:19 -07:00
Joshua Casey
afec420ce6
Add JWTAuthenticators to the static validation checks for concierge TLS spec
2024-08-05 11:32:19 -07:00
Joshua Casey
d5e3ad9da0
Concierge external TLS static integration tests use the real URL of the deployed local-user-authenticator
2024-08-05 11:32:19 -07:00
Ryan Richard
0f103ed2a4
Add unit tests for external CA bundle in oidc_upstream_watcher_test.go
2024-08-05 11:32:19 -07:00
Joshua Casey
d62d6a1f27
Refactor github_controller_watcher to simplify the tls Dial
2024-08-05 11:32:19 -07:00
Ryan Richard
a4ad5d68a9
Fix *_tls_spec_test.go for old versions of Kubernetes
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-08-05 11:32:19 -07:00
Ryan Richard
30c0fd479e
Fix e2e_test.go
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-08-05 11:32:19 -07:00
Ryan Richard
756966c55b
add "Status" printer column to JWTAuthenticator and WebhookAuthenticator
2024-08-05 11:32:19 -07:00
Joshua Casey
288e092d2e
GitHub IDP watcher should not dial an address that has already been validated
2024-08-05 11:32:19 -07:00
Ryan Richard
72745cd8fe
run codegen to update copyrights
2024-08-05 11:32:19 -07:00
Ryan Richard
8060e82745
include external CA bundles in the cache key in oidc_upstream_watcher.go
2024-08-05 11:32:19 -07:00
Ryan Richard
373713f7e0
webhook controller redoes validations when external CA bundle changes
2024-08-05 11:32:19 -07:00
Joshua Casey
66401b42d8
Add GitHubIDP tests for a CA bundle in a Secret or a ConfigMap
2024-08-05 11:32:19 -07:00
Joshua Casey
2d5943b21a
Move conditions reason Success to conditions_util
2024-08-05 11:32:19 -07:00
Ryan Richard
920b519ebf
error when CA bundle from Secret or ConfigMap is empty
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-08-05 11:32:19 -07:00
Joshua Casey
bf1c02d328
jwtauthenticator controller redoes validations when external CA bundle changes
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-05 11:32:19 -07:00
Joshua Casey
6e9023e090
add code review todos and light refactoring
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
1b7a26d932
test secret and configmap filtering in concierge authenticator controllers
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
cb4b63f8b3
integration tests for concierge authenticators
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
8eb15a924f
integration tests for supervisor oidc, ldap, activedirectory IDP
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
6a610a9d51
add namespace to jwt authenticator controller
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
821a893f70
integration tests for supervisor oidc, ldap, activedirectory IDP
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
afcd80de37
more integration tests pass
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
edc327ba33
update supervisor RBAC to allow get, list, and watch on configmaps
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
90e8cc86c2
integration tests pass
2024-08-05 11:32:19 -07:00
Ashish Amarnath
9ab7c39d56
jwt cache filler
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
207bac9452
webhook cache filler
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
199562fd05
get all supervisor unit tests to pass
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
3a969a83b7
update supervisor controllers
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
aab1ee9edc
unify TLS Spec between supervisor and concierge
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
080c75efe6
refactor tls spec validation into its own package
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
7e6dadb508
add CRD validation integration tests
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
19c3f2cb04
run hack/update.sh
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:19 -07:00
Ashish Amarnath
842f14af4c
update go templates for TLSSpec for concierge and supervisor
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-08-05 11:32:18 -07:00
Joshua Casey
05c258026a
Merge branch 'main' into doc_typo
2024-08-05 13:31:05 -05:00
Joshua Casey
1bb38911dc
Merge pull request #2030 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-08-05 13:23:30 -05:00
Joshua Casey
ec943fffdc
Bump golang.org/x/mod from 0.19.0 to 0.20.0 in /hack/update-go-mod
2024-08-05 12:08:46 -05:00
Pinny
ae1d182b30
Bump dependencies
2024-08-05 13:01:14 +00:00
Joshua Casey
82c056b955
Merge branch 'main' into doc_typo
2024-08-02 16:05:03 -05:00
Joshua Casey
7acc2aa383
Merge pull request #2026 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-08-02 16:04:46 -05:00
Ryan Richard
4e6a39ed11
fix WS1 doc typo
2024-08-02 09:12:08 -07:00
Pinny
d587c6b10e
Bump dependencies
2024-08-02 13:02:39 +00:00
Ryan Richard
51c5a05ea7
Merge pull request #2024 from vmware-tanzu/hack_improvements
...
small improvements to some hack scripts
2024-08-01 12:50:13 -07:00
Ryan Richard
f0cac8c5d3
small improvements to some hack scripts
2024-08-01 10:00:27 -07:00
Joshua Casey
76f3430c68
Merge pull request #2023 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-07-31 08:57:24 -05:00
Pinny
0e4f7082b0
Bump dependencies
2024-07-31 13:02:19 +00:00
Ashish Amarnath
66f005f275
Merge pull request #2022 from ashish-amarnath/host-name-case-insensitve
...
make host name parsing case-insensitive
2024-07-30 10:31:48 -07:00
Joshua Casey
bc10d500b7
Merge branch 'main' into host-name-case-insensitve
2024-07-30 09:27:45 -05:00
Ashish Amarnath
7c7f0fdae3
make host name parsing case-insensitive
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-07-29 14:32:01 -07:00
Joshua Casey
4fa901c017
Merge pull request #2021 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-07-29 09:52:44 -05:00
Pinny
fd11c37825
Bump dependencies
2024-07-29 13:02:10 +00:00
Joshua Casey
f1b82dbf1f
Merge pull request #2020 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-07-26 15:39:47 -05:00
Pinny
8891455e10
Bump dependencies
2024-07-26 13:03:12 +00:00
Joshua Casey
5540f25932
Merge pull request #2019 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-07-24 09:45:57 -05:00
Pinny
ee9bbbe50b
Bump dependencies
2024-07-24 13:02:40 +00:00
Joshua Casey
e013c90993
Merge pull request #2018 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-07-22 10:54:22 -05:00
Pinny
fa85be4b94
Bump dependencies
2024-07-22 13:02:35 +00:00
Ryan Richard
276cba08ee
Merge pull request #2015 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-07-19 06:54:49 -07:00
Pinny
0e312c88c1
Bump dependencies
2024-07-19 13:01:19 +00:00
Ryan Richard
00301e3642
Merge pull request #2013 from vmware-tanzu/authenticators_bugfix
...
fix authenticators bug: stop allowing usage when validation fails
2024-07-17 11:35:24 -07:00
Ryan Richard
a2be4b7b5e
clarify some comments based on PR feedback
2024-07-17 09:58:26 -07:00
Ryan Richard
b5a509f27f
fix authenticators bug: stop allowing usage when validation fails
2024-07-16 09:59:19 -07:00
Ryan Richard
6b722a14c8
Merge pull request #2014 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-07-16 09:38:58 -07:00
Pinny
dd0c805b09
Bump dependencies
2024-07-16 13:01:44 +00:00
Ryan Richard
6c35490cfb
Merge pull request #2012 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-07-15 09:48:11 -07:00
Pinny
19a04ea804
Bump dependencies
2024-07-15 13:02:37 +00:00
Ryan Richard
a9a63914b2
Merge pull request #2008 from vmware-tanzu/dependabot/go_modules/hack/update-go-mod/golang.org/x/mod-0.19.0
...
Bump golang.org/x/mod from 0.18.0 to 0.19.0 in /hack/update-go-mod
2024-07-12 09:00:02 -07:00
Ryan Richard
b7d1c3f5f6
Merge pull request #2010 from vmware-tanzu/remove_warning
...
remove unnecessary warning log message
2024-07-12 08:59:45 -07:00
Ryan Richard
a8ccdbc833
Merge pull request #2011 from vmware-tanzu/update_toolchain
...
update Go toolchain directives to match current version of Go
2024-07-12 08:59:29 -07:00
Ryan Richard
decf1cf537
update Go toolchain directives to match current version of Go
2024-07-10 10:27:39 -07:00
Ryan Richard
e5cfa521da
remove unnecessary warning log message
...
This message is not needed because the IDP chooser page will take
care of the case where a browser-based authorization flow did not
request any specific IDP. For browserless flows (only allowed for
the `pinniped-cli` client), the client must request a specific IDP
(except in backwards-compatibility mode) because there is no browser
in which to show the IDP chooser page. Failing to request a specific
IDP in a browserless flow will result in a helpful error message
being returned.
2024-07-10 09:32:23 -07:00
Ryan Richard
dd80627dfa
Merge pull request #2007 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-07-10 08:58:13 -07:00
Pinny
f79c844c71
Bump dependencies
2024-07-10 13:01:25 +00:00
dependabot[bot]
cb550dfed0
Bump golang.org/x/mod from 0.18.0 to 0.19.0 in /hack/update-go-mod
...
Bumps [golang.org/x/mod](https://github.com/golang/mod ) from 0.18.0 to 0.19.0.
- [Commits](https://github.com/golang/mod/compare/v0.18.0...v0.19.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-05 01:48:54 +00:00
Ryan Richard
602623a0ba
Merge pull request #2005 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-07-02 15:30:16 -07:00
Pinny
6d7646c0a2
Bump dependencies
2024-07-02 13:02:03 +00:00
Ryan Richard
51518aeb03
Merge pull request #2004 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-07-01 10:43:24 -07:00
Pinny
f3e710c814
Bump dependencies
2024-07-01 13:02:17 +00:00
Ryan Richard
b132b14982
Merge pull request #2003 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-06-27 13:29:03 -07:00
Pinny
6cd45fa81c
Bump dependencies
2024-06-27 17:43:41 +00:00
Ryan Richard
95e4b8fcdf
Merge pull request #2001 from vmware-tanzu/replace_go-retryablehttp
...
replace indirect dep go-retryablehttp
2024-06-27 10:23:12 -07:00
Ryan Richard
b4cd64e999
replace indirect dep go-retryablehttp
2024-06-25 11:22:42 -07:00
Ryan Richard
82dbb93e2c
Merge pull request #1999 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-06-24 12:03:08 -07:00
Pinny
b7e12334d6
Bump dependencies
2024-06-24 17:42:49 +00:00
Ryan Richard
a39eac6f1b
Merge pull request #1998 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-06-21 16:10:57 -07:00
Ryan Richard
418ec2a01f
Merge pull request #1997 from vmware-tanzu/upgrade_jose_and_coreosoidc
...
upgrade github.com/go-jose/go-jose and github.com/coreos/go-oidc
2024-06-21 13:10:45 -07:00
Ryan Richard
0380a9ce33
upgrade github.com/go-jose/go-jose and github.com/coreos/go-oidc
...
Also standardize some related imports and fix some whitespace in a test
2024-06-21 11:16:40 -07:00
Pinny
ed338d1455
Bump dependencies
2024-06-21 13:05:15 +00:00
Ryan Richard
10699314d4
Merge pull request #1995 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-06-20 09:01:59 -07:00
Pinny
1f7b6133cd
Bump dependencies
2024-06-20 13:02:20 +00:00
Ashish Amarnath
3c0ed4d5e3
Merge pull request #1984 from vmware-tanzu/jtc/add-proposal-for-secret-ref-ca-bundles
...
Add proposal for CA bundles to be sourced from configmaps or secrets
2024-06-19 16:21:47 -07:00
Ashish Amarnath
e38f0824dc
update proposal for CA bundles from secret and configmap refs
...
Signed-off-by: Ashish Amarnath <ashish.amarnath@broadcom.com >
2024-06-19 16:19:31 -07:00
Ryan Richard
a7d2c50550
Merge pull request #1993 from vmware-tanzu/local_demo
...
add local demo tutorial to site
2024-06-19 14:21:43 -07:00
Joshua Casey
9fee276214
Add proposal for CA bundles from secret refs
2024-06-19 13:48:44 -07:00
Ryan Richard
ef7c7d879b
add local demo tutorial to site
2024-06-19 13:02:02 -07:00
Pinny
ea64444c8b
Updated versions in docs for v0.32.0 release
2024-06-19 19:08:25 +00:00
Ashish Amarnath
84308f3518
Merge pull request #1992 from vmware-tanzu/update_flaky_test
...
rewrite flaky category test
2024-06-18 10:56:26 -07:00
Ryan Richard
88bcdbadce
rewrite flaky category test
2024-06-18 08:40:56 -07:00
Ryan Richard
b50d1384dc
Merge pull request #1991 from vmware-tanzu/update_codegen_kube_versions
...
bump codegen kube versions
2024-06-17 15:10:09 -07:00
Ryan Richard
b3457271a9
bump codegen kube versions
2024-06-17 11:38:28 -07:00
Ryan Richard
fc6de7e86c
Merge pull request #1990 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-06-17 10:11:31 -07:00
Pinny
6b87bc3fa9
Bump dependencies
2024-06-17 13:02:34 +00:00
Ryan Richard
238df12920
Merge pull request #1952 from vmware-tanzu/jtc/issue-1605-limit-tls-ciphers-for-tls1.2-v2
...
Allow admin user to further limit TLS ciphers used for TLS1.2 client requests and server ports (not including CLI)
2024-06-14 15:52:52 -07:00
Ryan Richard
f7f32f2f98
some mild refactoring of ptls common.go (mostly renames)
2024-06-14 13:27:38 -07:00
Ryan Richard
1f8ac0ff23
Also probe aggregated API ports in new ciphers test
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-06-14 13:27:38 -07:00
Joshua Casey
75ff3efb59
fix lint
2024-06-14 10:42:17 -07:00
Ryan Richard
f0f9efa277
Refactor to make profiles.go and profiles_fips_strict.go more similar
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-06-14 10:42:17 -07:00
Joshua Casey
4ab2ed10f5
Add integration test for allowed ciphers
2024-06-14 10:42:17 -07:00
Joshua Casey
53031ad8d4
User can now configured allowed ciphers, to restrict the ciphers used by the Default profile
2024-06-14 10:42:17 -07:00
Joshua Casey
ce1ad010e9
Remove Legacy TLS Config, which is not used in the source code
2024-06-14 10:42:17 -07:00
Ryan Richard
5d6dbe1fc3
Merge pull request #1989 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-06-13 12:22:21 -07:00
Pinny
774504e209
Bump dependencies
2024-06-13 14:57:22 +00:00
Joshua Casey
2275cd5985
Merge pull request #1988 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-06-12 09:00:06 -05:00
Pinny
3b520d6e93
Bump dependencies
2024-06-12 13:02:54 +00:00
Ryan Richard
80e1fee208
Merge pull request #1949 from vmware-tanzu/jtc/remove-logr-logger
...
Use plog.Logger instead of logr.Logger wherever possible
2024-06-11 22:17:10 -04:00
Joshua Casey
011d6ba71b
Remove plog.Logr, make plog.TestZapr private, and CLI logs do not need a name
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-06-11 17:27:45 -05:00
Joshua Casey
9296d95084
No need for calling code to use deprecated options
2024-06-11 13:09:59 -05:00
Joshua Casey
c6463831ac
Use plog.Logger instead of logr.Logger wherever possible
2024-06-11 12:47:19 -05:00
Joshua Casey
247ac10215
Merge pull request #1947 from vmware-tanzu/jtc/add-importas-linter
...
Enforce import aliases
2024-06-11 12:27:57 -05:00
Joshua Casey
678be9902a
Lint new files from the GitHub branch
2024-06-11 10:16:18 -05:00
Joshua Casey
bafd578866
Merge branch 'main' into jtc/add-importas-linter
2024-06-11 09:39:48 -05:00
Ryan Richard
8ac2dc2e9e
Merge pull request #1986 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-06-10 11:04:51 -04:00
Pinny
5689bf621c
Bump dependencies
2024-06-10 13:02:50 +00:00
Joshua Casey
ae1cf53dcf
Merge pull request #1981 from vmware-tanzu/dependabot/go_modules/hack/update-go-mod/golang.org/x/mod-0.18.0
...
Bump golang.org/x/mod from 0.17.0 to 0.18.0 in /hack/update-go-mod
2024-06-06 20:33:49 -05:00
Joshua Casey
ced019291b
Merge branch 'main' into dependabot/go_modules/hack/update-go-mod/golang.org/x/mod-0.18.0
2024-06-06 16:06:46 -05:00
Joshua Casey
b483409c63
Merge pull request #1983 from vmware-tanzu/handle_another_github_interstitial
...
handle another github login interstitial page
2024-06-06 16:00:58 -05:00
Ryan Richard
1fe6f2eff9
update toolchain version in some go.mod files
2024-06-06 14:00:22 -04:00
Ryan Richard
07f8c327e4
handle another githug login interstitial page
2024-06-06 14:00:22 -04:00
Pinny
e9fa98edfb
Updated versions in docs for v0.31.0 release
2024-06-06 15:45:25 +00:00
Ryan Richard
6c102f09f2
Merge pull request #1980 from vmware-tanzu/v31_blog_post
...
blog post for v0.31.0: github IDP support
2024-06-06 11:34:27 -04:00
Ryan Richard
ea9d06c819
blog post for v0.31.0: github IDP support
2024-06-06 11:26:28 -04:00
Ryan Richard
05fb8b75ef
Merge pull request #1982 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-06-05 12:24:13 -05:00
Pinny
ee2aa9ce50
Bump dependencies
2024-06-05 13:00:42 +00:00
dependabot[bot]
8b1bf8d4f9
Bump golang.org/x/mod from 0.17.0 to 0.18.0 in /hack/update-go-mod
...
Bumps [golang.org/x/mod](https://github.com/golang/mod ) from 0.17.0 to 0.18.0.
- [Commits](https://github.com/golang/mod/compare/v0.17.0...v0.18.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-06-05 01:50:41 +00:00
Ryan Richard
ca9560effb
Merge pull request #1978 from vmware-tanzu/github_identity_provider
...
Add GitHubIdentityProvider and support browser-based auth in the Pinniped Supervisor
2024-06-04 10:26:46 -07:00
Ryan Richard
6b64a8a9c6
ran update.sh to update generated code
2024-06-03 16:48:57 -07:00
Ryan Richard
dd3c1ac3cf
Merge branch 'main' into github_identity_provider
2024-06-03 16:40:36 -07:00
Ryan Richard
16c8911dfd
Merge pull request #1979 from vmware-tanzu/update_codegen_kube_versions
...
update kube versions for codegen
2024-06-03 16:39:52 -07:00
Ryan Richard
8ea9ba8860
ran go generate to update mocks
2024-06-03 14:48:06 -07:00
Ryan Richard
1d8decfdad
ran update.sh to update generated code
2024-06-03 14:30:53 -07:00
Ryan Richard
57431ce6c2
update kube versions for codegen
2024-06-03 14:20:00 -07:00
Ryan Richard
01723e0d12
Merge branch 'main' into github_identity_provider
2024-06-03 13:21:32 -07:00
Joshua Casey
8733a24ebf
Merge pull request #1976 from vmware-tanzu/resolve_github_todos
...
Resolve remaining GitHub todos
2024-06-03 13:54:13 -05:00
Joshua Casey
58b4ecc0aa
user sees error msg when GitHub login is denied due to allowed orgs
...
Also renamed an interface function from GetName to GetResourceName.
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-06-03 10:56:28 -07:00
Joshua Casey
b43b8439c4
Merge pull request #1977 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-06-03 12:06:07 -05:00
Pinny
f2747ef4e7
Bump dependencies
2024-06-03 13:03:02 +00:00
Ryan Richard
e3d8c71f97
sleep longer before generating any GitHib OTP codes
2024-05-31 12:03:36 -07:00
Ryan Richard
0ace5cf477
update github proposal doc to reflect current status
2024-05-31 09:59:50 -07:00
Ryan Richard
6364ac9ac7
change status condition type name to be "ClientCredentialsSecretValid"
...
For both GitHubIdentityProvider and OIDCIdentityProvider to make them
consistent with each other.
2024-05-31 09:59:30 -07:00
Ryan Richard
e89daadfcf
dump debugging info when a browser-based test fails
2024-05-31 09:09:24 -07:00
Joshua Casey
eee737186f
Clean up how lastTransitionTime and observedGeneration are checked in github_upstream_watcher_test
2024-05-30 21:34:29 -05:00
Ryan Richard
c5b54ec27e
resolve a todo in supervisor_discovery_test.go
2024-05-30 14:48:35 -07:00
Joshua Casey
2ad43789cc
Merge pull request #1975 from vmware-tanzu/another_github_doc_change
...
mention GitHubIdentityProvider in some more website documentation
2024-05-30 16:32:55 -05:00
Ryan Richard
38a90fa01e
mention GitHubIdentityProvider in some more website documentation
2024-05-30 14:21:33 -07:00
Joshua Casey
037fa65c63
Merge pull request #1963 from vmware-tanzu/github-issues-downstream-tokens
...
Issue and refresh downstream ID tokens derived from a GitHub IDP
2024-05-30 16:16:37 -05:00
Joshua Casey
de68594fd6
Merge pull request #1974 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-30 12:03:49 -05:00
Ryan Richard
6327f51f5b
repeat same github int tests using OAuth client in supervisor_login_test
2024-05-30 09:58:10 -07:00
Joshua Casey
781ee82b9d
Merge branch 'main' into pinny/bump-deps
2024-05-30 11:15:35 -05:00
Ryan Richard
34d02466d9
Merge pull request #1973 from vmware-tanzu/jtc/use-dependabot-for-major-versions-only
...
Use dependabot to automate major-only dependency bumps
2024-05-30 07:44:33 -07:00
Pinny
8dd34d9ea9
Bump dependencies
2024-05-30 13:01:05 +00:00
Joshua Casey
3c0bad9ea2
Use dependabot to automate major-only dependency bumps
2024-05-29 17:37:25 -05:00
Ryan Richard
2bf11ffde1
update error message assertion for github in supervisor_login_test.go
2024-05-29 09:45:43 -07:00
Ryan Richard
bb9cb739c6
more unit tests for github in token_handler_test.go
2024-05-29 08:55:41 -07:00
Joshua Casey
cc8d637715
Fix lint
2024-05-28 20:33:55 -05:00
Joshua Casey
eafc9ad78c
Merge pull request #1970 from vmware-tanzu/use_latest_dir_for_api_docs
...
use "latest" dir for API docs in doc URLs on the web site
2024-05-28 18:10:22 -05:00
Ryan Richard
c1719c8f1a
use "latest" dir for API docs in doc URLs on the web site
2024-05-28 15:59:40 -07:00
Joshua Casey
d3fb567fdb
Add callback_handler tests for GitHub+IdentityTransformations
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-05-28 15:59:52 -05:00
Joshua Casey
8b1e5aa320
Add callback_handler tests to confirm GitHub with downstream form_post and GitHub with an error case
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-05-28 15:17:04 -05:00
Joshua Casey
37e654faa0
bunch of renames
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-05-28 13:41:52 -05:00
Joshua Casey
7c73b5e3df
Merge pull request #1969 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-27 11:49:02 -05:00
Pinny
6a9661b374
Bump dependencies
2024-05-27 13:03:01 +00:00
Joshua Casey
6429164852
Merge pull request #1968 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-24 08:55:22 -05:00
Pinny
fa68cbbe4e
Bump dependencies
2024-05-24 13:02:57 +00:00
Ryan Richard
f323690049
refactor upstream refresh test helpers to be more specific to IDP type
2024-05-23 13:35:31 -07:00
Joshua Casey
02ffff01d5
fix lint
2024-05-23 12:32:18 -05:00
Joshua Casey
2cdeb85cd6
Merge pull request #1967 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-23 12:29:41 -05:00
Pinny
6ea7c48ae9
Bump dependencies
2024-05-23 13:01:01 +00:00
Joshua Casey
65682aa60d
Add sample unit test for GitHub in token_handler_test.go
2024-05-22 23:04:15 -05:00
Ryan Richard
bb1737daec
slow down github integration tests to avoid OTP reuse errors from github
2024-05-22 21:21:45 -05:00
Ryan Richard
fef494949f
implement upstream refresh for github
2024-05-22 21:21:45 -05:00
Ryan Richard
0a15d488c8
Merge callback_handler_github_test.go into callback_handler_test.go
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-05-22 21:21:45 -05:00
Ryan Richard
e69eb46911
Add github integration tests to supervisor_login_test.go
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-05-22 21:21:45 -05:00
Ryan Richard
8f8db3f542
Make github org comparison case-insensitive, but return original case
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-05-22 21:21:45 -05:00
Ryan Richard
8923704f3c
Finish initial github login flow
...
Also:
- fix github teams query: fix bug and sort/unique the results
- add IDP display name to github downstream subject
- fix error types returned by LoginFromCallback
- add trace logs to github API results
- update e2e test
- implement placeholder version of refresh for github
2024-05-22 21:21:45 -05:00
Joshua Casey
ba2d122308
fix lint
2024-05-22 21:21:45 -05:00
Joshua Casey
938bea9910
upstreamgitub.go now uses githubclient to determine username and groups
2024-05-22 21:21:45 -05:00
Joshua Casey
8719c7a2db
Standardize error messages and url handling within NewGitHubClient
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-05-22 21:21:45 -05:00
Ryan Richard
16fa12f455
Handle empty or invalid github API responses
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-05-22 21:21:45 -05:00
Joshua Casey
555b1c80e3
Use passed-in context
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-05-22 21:21:45 -05:00
Joshua Casey
a12a5f387a
Empty allowedOrganizations will return all teams
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-05-22 21:21:45 -05:00
Joshua Casey
c087e33b86
Add client wrapper for github.com/google/go-github/v62
2024-05-22 21:21:45 -05:00
Ryan Richard
49c468f00a
Add GetUser() interface and implement LoginFromCallback() for GitHub
...
ALso fixed some of the GitHub test helpers
2024-05-22 21:21:45 -05:00
Joshua Casey
b7f79f0adc
Add github-specific tests in callback_handler_github_test.go
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-05-22 21:21:45 -05:00
Ryan Richard
2756a106a9
Merge pull request #1966 from vmware-tanzu/jtc/add-docs-for-github-app
...
Add docs for GitHub app and GitHub OAuth app
2024-05-22 15:04:38 -07:00
Ryan Richard
efffa0def2
document creating GitHub OAuth App
2024-05-22 15:03:09 -07:00
Joshua Casey
6beb1c135c
Add docs for GitHub App configuration on github.com
2024-05-22 16:25:42 -05:00
Joshua Casey
24ab2e85e5
Merge pull request #1965 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-22 13:27:11 -05:00
Joshua Casey
c6749560b5
Fix plog test assertions that contain the plog library version
2024-05-22 09:35:16 -05:00
Pinny
a0160b8e47
Bump dependencies
2024-05-22 13:01:15 +00:00
Joshua Casey
2f9df8c8e2
Add module generate command and update all generated files
2024-05-21 10:43:52 -05:00
Joshua Casey
0076f1251c
Move all mock files into internal/mocks and use mock prefix
2024-05-21 10:38:25 -05:00
Joshua Casey
fe911a7b7a
Prefer slices package and slices.Concat where possible
2024-05-21 09:31:16 -05:00
Joshua Casey
bdd79a9984
Enforce more imports
...
- go.pinniped.dev/generated/latest/client/concierge/clientset/versioned/fake
- go.pinniped.dev/generated/latest/client/supervisor/clientset/versioned/fake
- go.pinniped.dev/generated/latest/client/concierge/informers/externalversions
- go.pinniped.dev/generated/latest/client/supervisor/informers/externalversions
2024-05-21 09:31:15 -05:00
Joshua Casey
513f43f465
Enforce more imports
...
- go.pinniped.dev/generated/latest/apis/concierge/config/v1alpha1
- go.pinniped.dev/generated/latest/client/concierge/clientset/versioned
- go.pinniped.dev/generated/latest/client/concierge/clientset/versioned/scheme
- go.pinniped.dev/generated/latest/client/supervisor/clientset/versioned
- go.pinniped.dev/generated/latest/client/supervisor/clientset/versioned/scheme
2024-05-21 09:31:15 -05:00
Joshua Casey
f5116cddb4
Enable 'makezero' and 'prealloc' linters, and require 'any' instead of 'interface{}'
...
Enforce importas:
- go.pinniped.dev/generated/latest/apis/supervisor/config/v1alpha1
- go.pinniped.dev/generated/latest/apis/supervisor/idp/v1alpha1
2024-05-21 09:31:15 -05:00
Joshua Casey
bbe10004b4
Enforce more imports
...
- go.pinniped.dev/generated/latest/apis/supervisor/clientsecret/v1alpha1
- go.pinniped.dev/internal/concierge/scheme
2024-05-21 09:31:15 -05:00
Joshua Casey
e9252a9ee3
Enforce more imports
...
- k8s.io/apimachinery/pkg/apis/meta/v1
- k8s.io/api/core/v1
- github.com/coreos/go-oidc/v3/oidc
- github.com/ory/fosite/handler/oauth2
- go.pinniped.dev/generated/latest/apis/concierge/authentication/v1alpha1
2024-05-21 09:31:15 -05:00
Joshua Casey
875b0739aa
Enforce aliases for 'k8s.io/apimachinery/pkg/util/errors' and 'k8s.io/apimachinery/pkg/api/errors'
2024-05-21 09:31:15 -05:00
Joshua Casey
7f56115abc
Merge pull request #1964 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-21 08:56:10 -05:00
Pinny
5a29f19faa
Bump dependencies
2024-05-21 13:02:31 +00:00
Joshua Casey
ae45e158a3
Merge pull request #1962 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-20 10:02:00 -05:00
Pinny
81c44528ba
Bump dependencies
2024-05-20 13:02:19 +00:00
Ryan Richard
9cfb6baaf2
Merge pull request #1961 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-17 14:12:20 -07:00
Pinny
1de902fe8d
Bump dependencies
2024-05-17 13:02:24 +00:00
Joshua Casey
7ac141ba08
Merge pull request #1960 from vmware-tanzu/jtc/merge-main-at-3fe3cf71-into-github
...
Merge main at `3fe3cf71` into `github_identity_provider`
2024-05-16 20:37:42 -05:00
Joshua Casey
fd7838ef2c
Add 'github' as an example to the 'pinniped login oidc --upstream-identity-provider-type' help text
2024-05-16 16:22:13 -05:00
Joshua Casey
7ffb1de1c9
Merge branch 'github_identity_provider' into jtc/merge-main-at-3fe3cf71-into-github
2024-05-16 16:07:30 -05:00
Joshua Casey
e4daa5a924
Merge branch 'main' into jtc/merge-main-at-3fe3cf71-into-github
2024-05-16 16:05:34 -05:00
Joshua Casey
147022234e
Merge pull request #1959 from vmware-tanzu/github_hack_prepare_supervisor
...
update hack/prepare-supervisor-on-kind.sh for GitHub IDPs
2024-05-16 16:04:41 -05:00
Ryan Richard
2054708c53
update hack/prepare-supervisor-on-kind.sh for GitHub IDPs
2024-05-16 13:49:53 -07:00
Ryan Richard
3fe3cf71ab
Merge pull request #1928 from vmware-tanzu/jtc/add-idp-type-discovery
...
Add `pinniped_supported_identity_provider_types` to the IDP discovery endpoint
2024-05-16 13:06:38 -07:00
Joshua Casey
7787885463
Add federation domain cleanup in E2E integration test
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-05-16 14:18:43 -05:00
Ryan Richard
f320980006
Add integration test to prove that 'pinniped login oidc' will infer the flowtype from the Supervisor's IDP discovery
...
Co-authored-by: Joshua T Casey <caseyj@vmware.com >
2024-05-16 12:57:33 -05:00
Ryan Richard
7e0a3c114d
Pinniped CLI and the oidc-client package are now enhanced by pinniped_supported_identity_provider_types
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-05-16 12:57:12 -05:00
Joshua Casey
a86d7d27c1
Add pinniped_supported_identity_provider_types to the IDP discovery endpoint
2024-05-16 12:55:45 -05:00
Joshua Casey
b00cf65732
Merge pull request #1958 from vmware-tanzu/jtc/merge-main-at-6b3f175-into-github
...
Merge main at `6b3f175` into `github_identity_provider`
2024-05-16 11:02:50 -05:00
Joshua Casey
69364b2183
Merge branch 'main' into jtc/merge-main-at-6b3f175-into-github
2024-05-16 09:22:28 -05:00
Joshua Casey
6b3f175885
Merge pull request #1957 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-16 08:55:13 -05:00
Pinny
cb7aa561cf
Bump dependencies
2024-05-16 13:02:49 +00:00
Joshua Casey
253869ad46
Merge pull request #1954 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-15 14:41:24 -05:00
Pinny
109da32164
Bump dependencies
2024-05-15 17:50:34 +00:00
Joshua Casey
b69c0ac746
Merge pull request #1860 from vmware-tanzu/github_proposal
...
Add proposal for Authenticating Users via GitHub
2024-05-15 12:11:42 -05:00
Joshua Casey
4cc61c038e
Merge pull request #1951 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-15 08:54:31 -05:00
Pinny
ae725feee9
Bump dependencies
2024-05-15 13:02:47 +00:00
Joshua Casey
49a57576dd
Merge pull request #1953 from vmware-tanzu/site_and_readme_updates
...
some small readme and site updates
2024-05-14 14:45:46 -05:00
Ryan Richard
b94b9ad2d8
some small readme and site updates
2024-05-14 09:57:16 -07:00
Joshua Casey
b28e416d0c
Merge pull request #1950 from vmware-tanzu/refactor_ptls
...
refactor ptls to clarify the difference between FIPS and non-FIPS modes
2024-05-13 20:32:43 -05:00
Ryan Richard
e13f4a7f29
refactor ptls to clarify the difference between FIPS and non-FIPS modes
...
and backfill some basic tests
2024-05-13 16:52:15 -07:00
Joshua Casey
f96cbea521
Merge pull request #1948 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-13 09:33:18 -05:00
Pinny
d4fb9be250
Bump dependencies
2024-05-13 13:01:21 +00:00
Joshua Casey
41cdb6bbaf
Merge pull request #1946 from vmware-tanzu/jtc/merge-main-at-d7849c79-to-github
...
Merge main at `d7849c79` to `github_identity_provider`
2024-05-10 16:35:35 -05:00
Joshua Casey
f43b6f04dc
Fix lint issues from golangci-lint 1.58.1
2024-05-10 15:15:59 -05:00
Joshua Casey
791b785dea
Merge branch 'main' into jtc/merge-main-at-d7849c79-to-github
2024-05-10 14:22:09 -05:00
Ryan Richard
d7849c793c
Merge pull request #1939 from vmware-tanzu/jtc/bump-golangci-lint-to-1-58
...
Bump golangci-lint to 1.58.1
2024-05-10 12:17:18 -07:00
Joshua Casey
5568372bb9
Do not use v for the version prefix in lint-version.txt
2024-05-10 13:27:15 -05:00
Joshua Casey
cba26c92f5
Remove with_modules from hack/module.sh
2024-05-10 13:12:00 -05:00
Joshua Casey
47de5118f2
Remove deprecated .golangci.yaml options
2024-05-10 12:51:03 -05:00
Joshua Casey
81f3acfa38
Update some build tags since go1.22+ is now required
2024-05-10 12:51:03 -05:00
Joshua Casey
aac48fc308
Enable 'spancheck' linter
2024-05-10 12:51:03 -05:00
Joshua Casey
5635d6c862
Enable 'fatcontext' linter and mark 'canonicalheader' as unusable
2024-05-10 12:51:02 -05:00
Joshua Casey
e9d0ac5110
Enable 'intrange' linter
2024-05-10 12:51:02 -05:00
Joshua Casey
7b36c8ab54
Enable 'copyloopvar' linter
2024-05-10 12:51:02 -05:00
Joshua Casey
e04e5e0185
Fix revive linter issues for all production code, and exclude revive linter issues for test code
2024-05-10 12:51:02 -05:00
Joshua Casey
67d3b5fb82
Fix misspell lint issues
2024-05-10 12:51:01 -05:00
Joshua Casey
c31a0e37bf
Add module command lint_with_docker to run lint within docker with a pinned golangci-lint version
2024-05-10 12:51:01 -05:00
Joshua Casey
ab01ce41ed
Merge pull request #1929 from vmware-tanzu/ben/github/UpstreamAuthorizeRedirectURL
...
GitHub upstream authorize redirect url
2024-05-10 12:19:00 -05:00
Ryan Richard
1e6b8a0be0
Merge pull request #1945 from vmware-tanzu/jtc/update-codegen
...
Bump generated 1.30 toolchains to go1.22.3
2024-05-10 09:22:12 -07:00
Joshua Casey
dba0de88f3
Bump generated 1.30 toolchains to go1.22.3
2024-05-10 09:17:22 -05:00
Ryan Richard
0cdbb710d2
add test for github redirect in auth_handler_test.go
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-05-09 15:35:37 -07:00
Joshua Casey
75f024cb19
Fix lint
2024-05-09 15:35:37 -07:00
Joshua Casey
32e4e0d835
Add TestGenerateOTPCode
2024-05-09 15:35:37 -07:00
Ryan Richard
7c85a511a2
first draft of an e2e integration test for GitHub login (skip while WIP)
2024-05-09 15:35:37 -07:00
Ryan Richard
6be92f92fb
bump Supervisor session storage versions
2024-05-09 15:35:37 -07:00
Ryan Richard
7277d00e1a
refactor upstreamgithub.ProviderConfig to hold more config
2024-05-09 15:35:37 -07:00
Benjamin A. Petersen
29eb3dd384
Update GitHub UpstreamAuthorizeRedirectURL to generate URLs
2024-05-09 15:35:37 -07:00
Ryan Richard
501ec25f5a
Merge pull request #1944 from vmware-tanzu/jtc/merge-main-at-0612654-into-github_identity_provider
...
Merge main at `0612654` into `github_identity_provider`
2024-05-09 15:04:18 -07:00
Joshua Casey
6ae0c0bd22
Merge pull request #1941 from vmware-tanzu/hack_prepare_webhook
...
prepare-webhook-on-kind.sh specifies type and name
2024-05-09 16:33:37 -05:00
Joshua Casey
d9c1b104cd
Merge branch 'main' into jtc/merge-main-at-0612654-into-github_identity_provider
2024-05-09 16:06:04 -05:00
Joshua Casey
fbf4284866
Merge branch 'main' into hack_prepare_webhook
2024-05-09 15:41:41 -05:00
Pinny
06126544bd
Updated versions in docs for v0.30.0 release
2024-05-09 19:41:57 +00:00
Ryan Richard
e9c93305b9
prepare-webhook-on-kind.sh specifies type and name
2024-05-09 12:29:50 -07:00
Ryan Richard
3197156aa1
Merge pull request #1910 from vmware-tanzu/jtc/github_docs
...
Add GitHub Docs to configure the Supervisor with a GitHub IDP
2024-05-09 11:09:11 -07:00
Ryan Richard
f377292ffe
change some wording in github doc
2024-05-09 11:05:48 -07:00
Joshua Casey
ca6a60b534
Merge pull request #1940 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-09 12:10:01 -05:00
Pinny
99755624e8
Bump dependencies
2024-05-09 16:26:27 +00:00
Joshua Casey
96e4442181
Add docs to configure the Supervisor with a GitHub IDP.
...
- Does not include docs for configuring GitHub Apps or GitHub OAuth Apps
2024-05-08 15:57:21 -05:00
Joshua Casey
bc5eb3cf57
Merge pull request #1938 from vmware-tanzu/skip_auth_url_also_skips_authcode_prompt
...
CLI also skips authcode prompt when PINNIPED_SKIP_PRINT_LOGIN_URL=true
2024-05-07 15:38:29 -05:00
Ryan Richard
afb032f8f9
Merge branch 'main' into github_identity_provider
2024-05-07 13:08:50 -07:00
Ryan Richard
c86a615713
CLI also skips authcode prompt when PINNIPED_SKIP_PRINT_LOGIN_URL=true
2024-05-07 12:44:38 -07:00
Joshua Casey
c494add2ce
Merge pull request #1937 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-07 12:16:43 -05:00
Pinny
f94b1e70fc
Bump dependencies
2024-05-07 11:32:13 -05:00
Joshua Casey
42ed11a5cb
Merge pull request #1936 from vmware-tanzu/doc_goland
...
add doc for how to use GoLand to run integration tests
2024-05-06 14:15:35 -05:00
Joshua Casey
a7c6c43112
Merge branch 'main' into doc_goland
2024-05-06 14:15:25 -05:00
Ryan Richard
17d6def081
Merge pull request #1935 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-06 12:15:09 -07:00
Ryan Richard
73e7aeca6e
add doc for how to use GoLand to run integration tests
2024-05-06 11:50:39 -07:00
Joshua Casey
305f3f6abe
Merge pull request #1934 from vmware-tanzu/admission_plugins_need_v1
...
only auto-detect version v1 of ValidatingAdmissionPlugin during startup
2024-05-06 12:58:25 -05:00
Pinny
e4d6a72087
Bump dependencies
2024-05-06 09:24:10 -07:00
Ryan Richard
85e5970d6e
only auto-detect version v1 of ValidatingAdmissionPlugin during startup
2024-05-06 09:11:39 -07:00
Joshua Casey
424e7406af
Merge pull request #1933 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-03 10:28:43 -05:00
Pinny
3e148b629d
Bump dependencies
2024-05-03 13:02:36 +00:00
Joshua Casey
545df755b8
Merge pull request #1932 from vmware-tanzu/ben/fuzzing-error-message
...
Improve Fuzzing error message to remind us to update storage versions
2024-05-02 13:07:55 -05:00
Joshua Casey
e6cb439d9c
Merge branch 'main' into ben/fuzzing-error-message
2024-05-02 12:12:18 -05:00
Ryan Richard
879b840ee2
Merge pull request #1931 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-02 09:22:22 -07:00
Ryan Richard
773fad9701
Merge pull request #1926 from vmware-tanzu/jtc/remove-deprecated-deploy-options
...
Remove deprecated deploy options
2024-05-02 08:57:27 -07:00
Benjamin A. Petersen
fbc3334e8c
Improve TestFuzzAndJSONNewValidEmptyAuthorizeCodeSession message
2024-05-02 11:36:24 -04:00
Pinny
0baae51425
Bump dependencies
2024-05-02 13:01:17 +00:00
Ryan Richard
ad7df9f7d1
don't remove user's ability to configure http port to listen on loopback
2024-05-01 12:36:39 -07:00
Joshua Casey
460fbbacc7
Update documentation to remove reference to legacy HTTP ports
2024-05-01 12:36:39 -07:00
Joshua Casey
d67238d46f
Remove code related to deprecated config params logLevel and HTTP networking
2024-05-01 12:36:39 -07:00
Joshua Casey
5ec1ee086d
Remove deprecated deploy options
2024-05-01 12:36:39 -07:00
Ryan Richard
c0f1e408da
Merge pull request #1916 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-05-01 11:47:13 -07:00
Ryan Richard
0a63dd104d
fix test failures caused by dep bump and update replace statements
2024-05-01 11:01:13 -07:00
Benjamin A. Petersen
d34f297b37
Update generated code
2024-05-01 12:59:27 -04:00
Benjamin A. Petersen
e0591500ce
Update fuzz test
2024-05-01 12:57:00 -04:00
Benjamin A. Petersen
c43193a0c8
Merge branch 'main' into github_identity_provider
2024-05-01 12:15:08 -04:00
Ben Petersen
0896e7164a
Merge pull request #1930 from vmware-tanzu/ben/discovery-test/oidc-and-ldap
...
IDP Discovery Test improvement: Add OIDC, LDAP
2024-05-01 10:35:26 -04:00
Pinny
070819754f
Bump dependencies
2024-05-01 13:01:39 +00:00
Ryan Richard
56d7dee25d
Merge pull request #1921 from vmware-tanzu/jtc/use-k8s-1.30
...
Bump libs to K8s 1.30
2024-04-30 16:16:44 -07:00
Ryan Richard
9d21bcacb6
rerun codegen: adds rest of 1.30 codegen, updates old generated doc files
2024-04-30 14:06:40 -07:00
Ryan Richard
d0781c42dc
make codegen work for Kube 1.30
2024-04-30 13:55:27 -07:00
Benjamin A. Petersen
00567645d0
Add conditional AD to IDP discovery test
2024-04-30 15:43:32 -04:00
Benjamin A. Petersen
92b9d68863
Add OIDC, LDAP to supervisor discovery test
2024-04-30 14:19:54 -04:00
Ryan Richard
1f2d2bff71
rerun kube 1.30 codegen after merging main
2024-04-29 14:24:57 -07:00
Ryan Richard
3bdb380a1a
don't change public signature of endpointaddr.Parse()
2024-04-29 13:31:49 -07:00
Ryan Richard
1ac2215724
update an assertion in integration test leaderelection_test.go
2024-04-29 13:22:14 -07:00
Ryan Richard
9d92f21638
remove codegen for 1.21, 1.22, 1.23
2024-04-29 13:22:14 -07:00
Ryan Richard
9838a7cb6d
avoid the ValidatingAdmissionPolicy admission plugin when it can't work
2024-04-29 13:22:14 -07:00
Ben Petersen
0d709ea8db
Merge pull request #1908 from vmware-tanzu/ben/github/identity-provider/federation-domain-resolved-github
...
Allow GitHub IDP type in FederationDomains
2024-04-29 16:07:51 -04:00
Benjamin A. Petersen
9a21cb9cc7
update code generation
2024-04-29 15:21:35 -04:00
Benjamin A. Petersen
6424f45c19
Add IDP Discovery integration test for GitHub
2024-04-29 14:57:14 -04:00
Joshua Casey
51b1dbd2af
WIP for deployment templates
2024-04-26 11:54:53 -07:00
Joshua Casey
9a8df262d9
Code generation: Add 1.30.0 and bump other patch versions
2024-04-26 11:54:53 -07:00
Joshua Casey
9c2df74e54
Adjust to new K8s 1.30 API
2024-04-26 11:54:53 -07:00
Joshua Casey
581f671643
Bump all dependencies
2024-04-26 11:54:53 -07:00
Ryan Richard
b99da0c805
Merge pull request #1914 from vmware-tanzu/configurable_id_token_length
...
Make ID token lifetime configurable for `OIDCClients`
2024-04-25 15:50:18 -07:00
Benjamin A. Petersen
8a961bfa21
Add upstreamgithub unit tests
2024-04-25 17:02:08 -04:00
Benjamin A. Petersen
cd86d57763
review cleanup, remove TODOs
2024-04-25 17:02:07 -04:00
Benjamin A. Petersen
2753b468fd
Update TestSupervisorFederationDomainStatus test
2024-04-25 17:02:07 -04:00
Joshua Casey
be1915d2d7
fixed fuzzing
2024-04-25 17:02:07 -04:00
Benjamin A. Petersen
42ef46b74e
expand TestUpstreamGitHubIdentityProvider
2024-04-25 17:02:07 -04:00
Benjamin A. Petersen
79d0e74056
Fix github_upstream_watcher so GitHub is listed in Supervisor idp discovery doc
2024-04-25 17:02:06 -04:00
Benjamin A. Petersen
8de4524428
Add github to kubeconfig.go
2024-04-25 17:02:06 -04:00
Benjamin A. Petersen
8f71f965b9
Add github to login_oidc.go
2024-04-25 17:02:06 -04:00
Benjamin A. Petersen
0e3641bba2
Fix test idp lister
2024-04-25 17:02:06 -04:00
Benjamin A. Petersen
e3aa495e0b
Update idp discovery handler test
2024-04-25 17:02:06 -04:00
Benjamin A. Petersen
0edee37498
Update idp discovery types
2024-04-25 17:02:05 -04:00
Benjamin A. Petersen
7968ed6d69
Allow GitHubIdentityProvider IDP type by FederationDomainWatcher
2024-04-25 17:02:05 -04:00
Benjamin A. Petersen
44edba6f75
Add tests for Github in FederationDomain ListerFinder
2024-04-25 17:01:57 -04:00
Benjamin A. Petersen
0c7e95539f
Add GitHub to FederationDomain IdP ListerFinder
2024-04-25 16:51:47 -04:00
Ben Petersen
8938990c04
Merge pull request #1925 from vmware-tanzu/jtc/polish-up-github-validations
...
Polish up GitHub validations
2024-04-25 16:40:24 -04:00
Ryan Richard
57a07a498f
Refactors for custom ID token lifetime based on PR feedback
2024-04-24 15:05:00 -07:00
Ryan Richard
136bc7ac09
Mild refactor of integration test for custom ID token lifetimes
2024-04-24 14:13:41 -07:00
Ryan Richard
a1efcefdce
Unit tests for token endpoint for custom ID token lifetimes
2024-04-24 14:13:41 -07:00
Ryan Richard
5dbf05c31d
Update the session storage versions due to new ID token lifetime field
2024-04-24 14:13:41 -07:00
Ryan Richard
af9612e98e
Update more unit tests for configurable token lifetimes
2024-04-24 14:13:41 -07:00
Joshua Casey
b31a893caf
Add integration test and fix totalExpectedAPIFields
2024-04-24 14:13:40 -07:00
Joshua Casey
c8bc192e0b
Start working on units tests for configurable token lifetimes
2024-04-24 14:13:40 -07:00
Ryan Richard
def2b35e6e
Make ID token lifetimes configurable on OIDCClient resources
2024-04-24 14:13:40 -07:00
Joshua Casey
14b1b7c862
Polish up the github_upstream_watcher: default and verify spec.claims correctly
2024-04-24 13:37:40 -05:00
Joshua Casey
c8b90df6f1
Inline using phttp.Default
2024-04-23 18:06:26 -05:00
Joshua Casey
d0bbfca831
Merge pull request #1924 from vmware-tanzu/jtc/merge-main-5fe94c4e-into-github
...
Merge main (at 5fe94c4e ) into `github_identity_provider`
2024-04-23 14:25:02 -05:00
Joshua Casey
fe5d037600
Merge branch 'main' into jtc/merge-main-5fe94c4e-into-github
2024-04-23 12:42:07 -05:00
Ryan Richard
5fe94c4e2b
Merge pull request #1922 from vmware-tanzu/clarify_err_msg
...
clarify error message for when there is no healthy controller manager
2024-04-22 10:15:41 -07:00
Ryan Richard
1d8310ed44
clarify error message for when there is no healthy controller manager
2024-04-22 09:29:37 -07:00
Ryan Richard
c79f8c89d7
Merge pull request #1917 from vmware-tanzu/dial_config
...
Make WebhookAuthenticators use Pinniped's preferred TLS version and ciphers when testing connection and during authentication attempts
2024-04-19 13:37:32 -07:00
Ryan Richard
7c0c3211d1
fix typo in securetls_fips_test.go
2024-04-19 12:50:05 -07:00
Ryan Richard
0ef98f0558
Use new helpers to assert that all webhook dials use ptls settings
2024-04-19 11:15:59 -07:00
Joshua Casey
94bee9e882
Remove testutil.TLSTestServerWithCert in favor of the testutil/tlsserver package
2024-04-19 10:30:23 -05:00
Joshua Casey
da135d9958
Webhookcachefiller now uses a real tls.Dial, which means we can test IPv6
2024-04-19 09:24:17 -05:00
Joshua Casey
206a16f9e3
Integration test fixes - updated condition messages
2024-04-18 21:32:54 -05:00
Ryan Richard
e048859afd
Use ptls package when calling webhook during authentication
2024-04-18 16:00:57 -07:00
Ryan Richard
8c081c50d4
Use ptls package to determine TLS config when probing webhook for status
2024-04-18 12:55:49 -07:00
Ben Petersen
0dc7dfcb50
Merge pull request #1907 from vmware-tanzu/jtc/add-github-idp-validations
...
Add GitHub IDP validations
2024-04-16 17:09:48 -04:00
Joshua Casey
c9b61ef010
Populate internal GitHub IDP Config from CRD
2024-04-16 14:33:01 -05:00
Joshua Casey
59fef0c1b2
Merge pull request #1913 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-04-12 08:50:23 -05:00
Pinny
23d8a279c4
Bump dependencies
2024-04-12 13:03:21 +00:00
Joshua Casey
349039ff5d
Merge pull request #1912 from vmware-tanzu/ben/github/identity-provider/supervisor-hack-script
...
Add GitHub to Supervisor hack script
2024-04-11 16:01:25 -05:00
Ben Petersen
a72155a57f
Update prepare-supervisor-on-kind.sh final polish
2024-04-11 16:51:53 -04:00
Ben Petersen
41f8663dcd
Update prepare-supervisor-on-kind.sh & remove hard-coded github claims
2024-04-11 16:50:14 -04:00
Ben Petersen
84007cb1ec
Update prepare-supervisor-on-kind.sh add github environment variables
2024-04-11 16:44:58 -04:00
Ben Petersen
265c51b8aa
Update prepare-supervisor-on-kind.sh to use vars for github secret
2024-04-11 16:23:18 -04:00
Joshua Casey
f50ab87b53
Merge pull request #1911 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-04-11 13:34:54 -05:00
Benjamin A. Petersen
4c5d041c21
Initial add Github to hack/prepare-supervisor-on-kind.sh
2024-04-11 13:04:45 -04:00
Pinny
df9a06ddfe
Bump dependencies
2024-04-11 13:02:28 +00:00
Joshua Casey
55aaf33d94
Merge pull request #1902 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-04-08 07:36:22 -05:00
Joshua Casey
8ea339139e
ldap.Conn.Start() is now deprecated as of https://github.com/go-ldap/ldap/releases/tag/v3.4.7
2024-04-08 06:49:03 -05:00
Joshua Casey
e950e7e001
bump deps
2024-04-08 05:41:59 -05:00
Joshua Casey
68339f3acb
Bump deps
2024-04-04 21:57:34 -05:00
Joshua Casey
f4660f0250
Merge remote-tracking branch 'origin/dependabot/go_modules/hack/update-go-mod/golang.org/x/mod-0.17.0' into pinny/bump-deps
2024-04-04 21:56:30 -05:00
dependabot[bot]
bf3cda54ba
Bump golang.org/x/mod from 0.16.0 to 0.17.0 in /hack/update-go-mod
...
Bumps [golang.org/x/mod](https://github.com/golang/mod ) from 0.16.0 to 0.17.0.
- [Commits](https://github.com/golang/mod/compare/v0.16.0...v0.17.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-05 01:44:49 +00:00
Joshua Casey
1b4194373b
Pin go-oidc to v3.9.0
2024-04-04 15:52:24 -05:00
Pinny
241093bb96
Bump dependencies
2024-04-04 13:03:04 +00:00
Ben Petersen
ccef7bd1bc
Merge pull request #1903 from vmware-tanzu/ben/github/identity-provider/controller
...
WIP: Add GitHub upstream observer controller
2024-04-02 14:49:07 -04:00
Benjamin A. Petersen
e2db152c6c
Stub in TestUpstreamGithubIdentityProvider for unit tests
2024-04-02 13:59:11 -04:00
Benjamin A. Petersen
5c490e999d
Stub in unit tests for github_upstream_watcher
2024-04-02 12:38:06 -04:00
Benjamin A. Petersen
a11e1527f0
Add github-upstream-observer Controller
2024-04-02 10:53:26 -04:00
Ben Petersen
6ac11a554a
Merge pull request #1900 from vmware-tanzu/jtc/github_idp_crd
...
First draft of a GitHubIdentityProvider CRD
2024-04-01 17:06:54 -04:00
Joshua Casey
42dd8d1d9d
First draft of a GitHubIdentityProvider CRD
2024-04-01 15:10:46 -05:00
Ben Petersen
722f00e485
Merge pull request #1904 from vmware-tanzu/ben/site/debugging-with-kapp-and-ytt-enhancements
...
Revise log level instructions for kapp and kubectl in docs
2024-04-01 10:34:26 -04:00
Benjamin A. Petersen
67c328f4d0
Revise log level instructions for kapp and kubectl in docs
2024-03-28 12:56:34 -04:00
Joshua Casey
146e61ed03
Merge pull request #1824 from vmware-tanzu/ben/site/pinniped-debug-env
...
Add Debugging subheading to Install CLI page
2024-03-27 16:17:37 -05:00
Benjamin A. Petersen
6718a32fe4
Site debugging revisions.
2024-03-27 17:12:30 -04:00
Ryan Richard
2af6f4cdf6
Update status in proposal docs to reflect current states
2024-03-27 13:15:24 -07:00
Ryan Richard
60bdd3eccd
Update proposal for Authenticating Users via GitHub
2024-03-27 13:15:24 -07:00
Ryan Richard
c1b93179ff
Add proposal for Authenticating Users via GitHub
2024-03-27 13:15:24 -07:00
Benjamin A. Petersen
7387f675e2
Add debugging page to docs
2024-03-27 12:42:09 -04:00
Ben Petersen
f0a43e0402
Merge pull request #1894 from vmware-tanzu/ben/status/webhook-authenticator
...
WebhookAuthenticator .Status and validation improvements
2024-03-26 20:25:35 -04:00
Benjamin A. Petersen
c6b0820438
Fix some utils, spacing, func naming, test inputs, etc.
2024-03-26 16:22:51 -04:00
Benjamin A. Petersen
f86c46e160
Update WebhookAuthenticator Status WebhookConnectionValid
...
- ConnectionProbeValid -> WebhookConnectionValid
- This is to conform with the pattern of other controllers, ex:
LDAPConnectionValid
2024-03-26 15:33:44 -04:00
Ben Petersen
eed0c9d5b0
Update ParseFromURL usage comment.
...
- Carefully note the rfc27732 design for IPv6 in URLs, while also clarifying the handling of IPv6 in Golang.
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-03-26 15:32:15 -04:00
Benjamin A. Petersen
e38a27d93d
Add endpointaddr.ParseFromURL helper, WebhookAuthenticator handle additional IPv6 cases
2024-03-22 15:57:57 -04:00
Benjamin A. Petersen
b0904c2e99
change TestNewWebhookAuthenticator to test table style
2024-03-20 11:39:55 -04:00
Benjamin A. Petersen
bec5fe85cc
change WebhookAuthenticator TLSConnectionNegotiationValid to ConnectionProbeValid
2024-03-19 18:00:40 -04:00
Benjamin A. Petersen
5bc4e678bf
WebhookAuthenticator Status integration test refactor to test table
2024-03-19 17:45:26 -04:00
Joshua Casey
90e7343fb5
Add IPv6 test to WebhookAuthenticator ctrl tests
...
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2024-03-19 16:48:08 -04:00
Benjamin A. Petersen
5c0d67dc50
refactor WebhookAuthenticator newWebhookAuthenticator func
2024-03-19 16:48:08 -04:00
Benjamin A. Petersen
b6512bcbb6
add WebhookCacheFiller updateStatus tests
2024-03-19 16:48:07 -04:00
Benjamin A. Petersen
097e6d5340
Always pass spec to CreateTestWebhookAuthenticator
2024-03-19 16:48:07 -04:00
Benjamin A. Petersen
a45a537cdb
Improve JWTAuthenticator validation of Issuer,Discovery
2024-03-19 16:48:06 -04:00
Benjamin A. Petersen
0467e5c1d5
Refactor logLines to SplitByNewline, deduplicate
2024-03-19 16:48:06 -04:00
Benjamin A. Petersen
5c1fa6d52c
Adjust testlib/client.go for lint quirk
2024-03-19 16:48:06 -04:00
Benjamin A. Petersen
337459feb0
Update webhook status integration tests
...
- total api fields test 260->261
2024-03-19 16:48:05 -04:00
Benjamin A. Petersen
590e2d18f7
Add WebhookAuthenticator integration tests, expand unit tests
...
- Add WebhookAuthenticator unit tests, update generated code
- Add validateTLSNegotiation(), update tests
- Update validateTLSNegotiation, add unit tests, factor out helpers
- Update generated code
2024-03-19 16:48:05 -04:00
Benjamin A. Petersen
ef36b454ba
Improve WebhookAuthenticator Status and Validations
...
- Validate TLS Configuration
- Validate Endpoint
- Validate TLS Negotiation
- Report status handshake negotiation with webhook
- Unit tests
- Integration tests
2024-03-19 16:48:03 -04:00
Ryan Richard
4465810ff8
Merge pull request #1899 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-03-18 10:14:33 -07:00
Pinny
d301bc60b7
Bump dependencies
2024-03-18 13:02:27 +00:00
Ryan Richard
6307a3212b
Merge pull request #1897 from vmware-tanzu/cli_skip_print_url_env_var
...
Add PINNIPED_SKIP_PRINT_LOGIN_URL env var to CLI
2024-03-15 13:19:48 -07:00
Joshua Casey
92a082b0f7
Merge branch 'main' into cli_skip_print_url_env_var
2024-03-15 09:51:25 -05:00
Pinny
15627e7803
Updated versions in docs for v0.29.0 release
2024-03-14 22:28:54 +00:00
Ryan Richard
a70ce9cef7
Add PINNIPED_SKIP_PRINT_LOGIN_URL env var to CLI
2024-03-14 11:32:09 -07:00
Pinny
eab6f0d713
Updated versions in docs for v0.28.0 release
2024-03-14 17:36:50 +00:00
Joshua Casey
cc96f85ec7
Merge pull request #1893 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-03-13 09:46:15 -05:00
Pinny
6557197bae
Bump dependencies
2024-03-13 13:03:41 +00:00
Ryan Richard
ed351938d4
Merge pull request #1892 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-03-12 09:13:47 -07:00
Pinny
718cf234b8
Bump dependencies
2024-03-12 13:02:12 +00:00
Joshua Casey
159b2d50eb
Merge pull request #1891 from vmware-tanzu/jtc/use-uber-mock-1778
...
Use go.uber.org/mock instead of github.com/golang/mock and rerun mock generation
2024-03-11 16:08:50 -05:00
Joshua Casey
bc8aebeffe
Use go.uber.org/mock instead of github.com/golang/mock and rerun mock generation
2024-03-11 13:42:30 -05:00
Joshua Casey
135eab037e
Merge pull request #1890 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-03-11 10:26:39 -05:00
Pinny
714aa59a34
Bump dependencies
2024-03-11 13:02:32 +00:00
Ryan Richard
33fe2bcff4
Merge pull request #1880 from vmware-tanzu/dependabot/go_modules/hack/update-go-mod/golang.org/x/mod-0.16.0
...
Bump golang.org/x/mod from 0.15.0 to 0.16.0 in /hack/update-go-mod
2024-03-09 09:35:29 -08:00
dependabot[bot]
665b921d63
Bump golang.org/x/mod from 0.15.0 to 0.16.0 in /hack/update-go-mod
...
Bumps [golang.org/x/mod](https://github.com/golang/mod ) from 0.15.0 to 0.16.0.
- [Commits](https://github.com/golang/mod/compare/v0.15.0...v0.16.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-03-09 16:38:21 +00:00
Ryan Richard
b99634764f
Merge pull request #1883 from vmware-tanzu/ghcr
...
Use ghcr instead of Harbor as the default for pinniped-server images
2024-03-08 16:40:17 -08:00
Ryan Richard
4a8cd180f8
Use ghcr instead of Harbor as the default for pinniped-server images
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-03-08 15:52:39 -08:00
Joshua Casey
6c7d3e62dd
Merge pull request #1885 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-03-08 17:28:34 -06:00
Pinny
c4b5476088
Bump dependencies
2024-03-08 14:31:58 -08:00
Ryan Richard
61835e9f08
Merge pull request #1887 from vmware-tanzu/cli_callback_cors_get
...
CLI's localhost listener handles CORS preflight requests for GETs
2024-03-08 14:24:01 -08:00
Ryan Richard
d49b011d65
Merge branch 'main' into cli_callback_cors_get
2024-03-08 11:36:32 -08:00
Ryan Richard
f881bbb137
Merge pull request #1884 from vmware-tanzu/jtc/new-whoami-identity-document-extra-fields
...
whoami integration test now allows for additional extra fields in K8s 1.30+
2024-03-08 11:16:23 -08:00
Ryan Richard
f55d56bf4a
CLI's localhost listener handles CORS preflight requests for GETs
2024-03-08 10:45:57 -08:00
Joshua Casey
ffc49d96b3
Integration tests should use a valid value for CredentialIssuer spec.impersonationProxy.service.type
2024-03-08 11:19:15 -06:00
Joshua Casey
8a40dda3ab
Bump google.golang.org/protobuf to v1.33.0 for CVE-2024-24786
2024-03-08 11:19:15 -06:00
Joshua Casey
ab0682917a
whoami integration test now allows for additional extra fields in K8s 1.30+
2024-03-07 08:09:16 -06:00
Joshua Casey
ed15927d90
Merge pull request #1882 from vmware-tanzu/chrome_debugging
...
Add some logging and comments making it easier to debug with chrome
2024-03-05 16:15:40 -06:00
Ryan Richard
e43cf81c38
Add some logging and comments making it easier to debug with chrome
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-03-05 13:26:08 -08:00
Ryan Richard
eb08a9f91f
Merge pull request #1881 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-03-05 08:18:47 -08:00
Pinny
9423ff5e48
Bump dependencies
2024-03-05 14:01:54 +00:00
Joshua Casey
df580fcb39
Merge pull request #1879 from vmware-tanzu/replace_otelhttptrace
...
replace verison of otelhttptrace in go.mod
2024-03-04 17:33:00 -06:00
Ryan Richard
ca58911cc2
replace verison of otelhttptrace in go.mod
2024-03-04 14:38:42 -08:00
Ryan Richard
6afc48849a
Merge pull request #1878 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-03-01 09:29:44 -08:00
Pinny
5569b114ba
Bump dependencies
2024-03-01 14:02:56 +00:00
Ryan Richard
c8bfe780c7
Merge pull request #1877 from vmware-tanzu/codegen-Feb29
...
Add generated code for Kube 1.29, update other generated code
2024-02-29 12:57:11 -08:00
Ryan Richard
b79a2ccf7c
Add 1.29 and update patch versions in kube-versions.txt; run codegen
2024-02-29 12:00:02 -08:00
Ryan Richard
27d0c58319
Change codegen scripts to work with Kube 1.29
...
- Also add support for having comments in kube-versions.txt.
- Update boilerplate copyright dates for generated code files.
2024-02-29 11:46:26 -08:00
Ryan Richard
ffadca7f68
Merge pull request #1876 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-02-28 08:18:08 -08:00
Pinny
62c086a725
Bump dependencies
2024-02-28 14:02:53 +00:00
Ryan Richard
99781443b0
Merge pull request #1851 from vmware-tanzu/ben/status/jwt-authenticator
...
Improve JWTAuthenticator Status
2024-02-27 16:41:54 -08:00
Ryan Richard
f498cb3918
wait for JWTAuthenticator to be phase=ready in supervisor warnings test
2024-02-27 15:45:33 -08:00
Benjamin A. Petersen
e8482ab9e9
Update jwtauthenticator unit tests to check actions
...
- Add test to verify timestamps are particularly updated
- Improve diff output in tests for actions
- Make jwtauthenticator status tests parallel
- Update copyright headers in multiple files
2024-02-27 15:45:32 -08:00
Benjamin A. Petersen
868ff9ed2b
Update jwk authenticator status integration tests
2024-02-27 15:45:32 -08:00
Benjamin A. Petersen
42acf8dcce
Add Status & tests for jwks key fetching
2024-02-27 15:45:32 -08:00
Benjamin A. Petersen
1c7e7048a8
Update copyright year in modified files
2024-02-27 15:45:32 -08:00
Benjamin A. Petersen
73e4d3144b
Add integration tests for JWTAuthenticators
...
- paired with changes to e2e_test.go, adds Status.Condition assertions
around JWTAuthenticators
2024-02-27 15:45:32 -08:00
Benjamin A. Petersen
1a633adde6
add WaitForJWTAuthenticatorStatusPhase() integration helper
2024-02-27 15:45:32 -08:00
Benjamin A. Petersen
09bd51f481
fix comment in testlib/client.go
2024-02-27 15:45:32 -08:00
Benjamin A. Petersen
084c3114f4
Improve jwtcachefiller tests
...
- some format updates
- add timestamp to test
- fix order of expect,actual in some assertions
- remove some commented code no longer needed
2024-02-27 15:45:32 -08:00
Benjamin A. Petersen
47639340ec
extract status comparison test helpers
2024-02-27 15:45:32 -08:00
Benjamin A. Petersen
fd14a5794e
ldap upstream watcher: rename local var for clarity
2024-02-27 15:45:32 -08:00
Benjamin A. Petersen
a4447fa606
Add .Status to JWTAuthenticator with Conditions,Phase
...
- "Ready" condition & supporting conditions
- Legacy "Phase" for convenience
- Refactor newCachedJWTAuthenticator() func
to improve ability to provide additional conditions
- Update JWTAuthenticator.Status type
- Update RBAC for SA to get/watch/update JWTAuthenticator.Status
- Update logger to plog, add tests for logs & statuses
- update Sync() to reduce enqueue when error is config/user managed, perhaps remove validateJWKSResponse()
2024-02-27 15:45:32 -08:00
Ryan Richard
f18d7310a8
Merge pull request #1875 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies (adds gotoolchain to go.mod) and fix CodeQL and unit test races
2024-02-27 15:43:32 -08:00
Ryan Richard
28251f8b92
Update some comments in go.mod
2024-02-27 14:54:26 -08:00
Ryan Richard
50b54580de
Fix races in login_test.go units tests
2024-02-27 14:54:05 -08:00
Ryan Richard
d88883328a
Update codeql workflow actions to latest versions and add setup-go
...
See deprecation of v2 message in README.md at
https://github.com/github/codeql-action
Added setup-go because codeql code scanning stopped working and gave
this error message:
The go.mod file requires version v1.21.3 of Go, but version v1.20.14 is installed. Consider adding an actions/setup-go step to your workflow.
2024-02-27 12:26:32 -08:00
Pinny
ca6687d428
Bump dependencies
2024-02-27 14:03:11 +00:00
Ryan Richard
848d83c496
Merge pull request #1874 from vmware-tanzu/cli_checks_if_stderr_is_tty
...
"login oidc" CLI command sometimes skips printing auth URL for non-ttys
2024-02-26 14:56:24 -08:00
Ryan Richard
5bd73fc10d
"login oidc" CLI command sometimes skips printing auth URL for non-ttys
2024-02-23 12:23:07 -08:00
Ryan Richard
40e548ebf0
Merge pull request #1873 from vmware-tanzu/1864_followup
...
CLI deciding if token exchange needed should not look at ID token expiry
2024-02-23 12:17:54 -08:00
Ryan Richard
64b0e69430
Update configure-concierge-jwt.md doc with clarifications
2024-02-23 08:37:43 -08:00
Ryan Richard
daec673b81
Add hack/prepare-jwtauthenticator-on-kind.sh
2024-02-23 08:37:43 -08:00
Ryan Richard
01d6bdb497
CLI deciding if token exchange needed should not look at ID token expiry
...
This fixes a small mistake in PR #1864 . When the "pinniped login oidc"
CLI command is deciding if the RFC8693 token exchange is needed, it
should not look at the expiry of the ID token. This mistake would cause
the RFC8693 token exchange to happen when the OIDC provider is not
a Pinniped Supervisor, which would fail because most other providers
do not support that type of token exchange.
It does not matter if the current ID token is close to expiring when
deciding if the RFC8693 token exchange is needed, because the token
exchange is going to yield a new ID token anyway. It does matter if the
current ID token is close to expiring if the CLI decides that it is
not going to perform the token exchange, and this commit does not change
that logic.
2024-02-23 08:37:01 -08:00
Ryan Richard
216fce70aa
Merge pull request #1872 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-02-23 06:51:43 -08:00
Pinny
5939ce8cc6
Bump dependencies
2024-02-23 14:00:47 +00:00
Ryan Richard
9471ed2d09
Merge pull request #1871 from vmware-tanzu/always_search_groups
...
Don't skip upstream group memberships when groups scope is not granted
2024-02-22 08:11:08 -08:00
Ryan Richard
0d31e955ae
Don't skip upstream group memberships when groups scope is not granted
...
Background: For dynamic clients, the groups scope is not always allowed
and/or requested by the client, so it will not always be granted by the
Supervisor for an authorization request.
Previously, when the groups scope was not granted, we would skip
searching for upstream groups in some scenarios.
This commit changes the behavior of authorization flows so that even
when the groups scope is not granted we still search for the upstream
group memberships as configured, and we pass the upstream group
memberships into any configured identity transformations. The identity
transformations could potentially reject the user's authentication based
on their upstream group membership.
When the groups scope is not granted, we don't include the groups in
the final Supervisor-issued ID token. This behavior is not changed.
2024-02-21 13:12:18 -08:00
Ryan Richard
5697bb2915
Merge pull request #1870 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-02-21 08:07:37 -08:00
Pinny
ca7b27de3f
Bump dependencies
2024-02-21 14:02:55 +00:00
Ryan Richard
867468ee66
Merge pull request #1867 from vmware-tanzu/refactor_supervisor_authenticators
...
Refactor Supervisor to make interface for upstream IDPs, to better separate upstream and downstream concerns
2024-02-20 22:11:52 -08:00
Ryan Richard
4b4a4ad592
Rename a func and collapse applying id transforms into creating session
2024-02-20 14:47:28 -08:00
Ryan Richard
b341e52214
Refactor to move invocation of identity transforms out of IDP interfaces
...
Each endpoint handler is now responsible for applying the identity
transformations and creating most of the session data, rather than each
implementation of the upstream IDP interface. This shares code better,
and reduces the responsibilities of the implementations of the IDP
interface by letting them focus more on the upstream stuff.
Also refactor the parameters and return types of the IDP interfaces to
make them more clear, and because they can be more focused on upstream
identities (pre-identity transformation). This clarifies the
responsibilities of the implementations of the IDP interface.
2024-02-20 10:45:54 -08:00
Ryan Richard
1e8e7b948e
Refactor token endpoint to add interface for IDP upstream refresh
2024-02-20 09:26:34 -08:00
Ryan Richard
1bc13e94f7
Refactor to extract interface for upstream IDP interactions
...
Create an interface to abstract the upstream IDP from the
authorize, IDP discovery, callback, choose IDP, and login
endpoints. This commit does not refactor the token endpoint,
which will be refactored in a similar way in the next commit.
2024-02-20 09:26:34 -08:00
Ryan Richard
9db87132b1
More refactoring of auth handler and related refactor of upstreamldap
...
- continued refactoring the auth handler to share more code between
the two supported browserless flows: OIDC and LDAP/AD
- the upstreamldap package should not know about the concept of
OIDC granted scopes, so refactored it to be a skipGroups bool
2024-02-20 09:26:34 -08:00
Ryan Richard
9992855cb8
Refactor error handling in authorize endpoint (changes some responses)
...
- Simplify the error handling in the authorize endpoint by making the
private helper functions return fosite-style errors, and having
one place that writes those errors to the response.
- Some types of errors were previously returned as regular http-style
errors. Those have all been converted to be returned as oauth-style
errors (which can be redirects to the client), except for http method
not found errors. This is a change in behavior from the client's point
of view, but only when those unexpected errors happen. These types of
errors are more consistent with RFC6749 section 4.1.2.1.
- Avoids using the httperr package for error handling.
- Create a struct for the handler as a first step toward making smaller
functions with fewer parameters.
2024-02-20 09:26:34 -08:00
Ryan Richard
23dce42a94
Merge pull request #1869 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-02-20 09:25:16 -08:00
Pinny
edf92303ae
Bump dependencies
2024-02-20 15:57:22 +00:00
Ryan Richard
719cd75f64
Merge pull request #1866 from vmware-tanzu/upgrade_fosite_feb_2024
...
Upgrade fosite to latest version
2024-02-13 11:25:24 -08:00
Ryan Richard
ceb9973657
Correct doc which explained bug that has since been fixed.
2024-02-13 10:16:41 -08:00
Ryan Richard
cf82cf996e
Adjust tests and comments for upgrade to latest version of fosite
2024-02-13 10:16:41 -08:00
Pinny
5c702738cf
Bump dependencies
2024-02-13 16:44:20 +00:00
Ryan Richard
485b2271f0
Merge pull request #1864 from vmware-tanzu/cli_use_cached_access_token
...
login oidc cmd checks access token expiry before doing token exchange
2024-02-09 14:21:05 -08:00
Ryan Richard
dce9409ccc
login oidc cmd checks access token expiry before doing token exchange
...
In the RFC8693 token exchange, the CLI sends your access token and
receives in exchange a new cluster-scoped ID token.
Fix a bug in the CLI. Whenever the "pinniped login oidc" command was
planning to perform the RFC8693 token exchange, it failed to check if
the cached access token was still valid before performing the exchange,
which sends the access token. It instead checked if the cached ID token
was still valid, but that it not relevant in this situation because the
ID token is not going to be used for anything (instead the new ID token
returned by the RFC8693 token exchange will be used for auth).
This bug doesn't actually matter today, because the Supervisor-issued
access and ID tokens always both have the same 2-minute lifetimes.
However, future enhancements may cause them to have different lifetimes
in certain circumstances. Fixing this CLI bug now to prepare for those
potential future enhancements.
2024-02-09 13:33:30 -08:00
Ryan Richard
d5ce48bd4b
Convert double-quoted strings to raw strings in login_test.go
2024-02-09 08:38:51 -08:00
Ryan Richard
492dfa84d8
Merge pull request #1862 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-02-09 08:20:58 -08:00
Pinny
e4fddc3596
Bump dependencies
2024-02-09 14:02:39 +00:00
Ryan Richard
ad9d9ce1a5
Merge pull request #1863 from vmware-tanzu/revert_support_for_new_goboring
...
Upgrade to Go 1.22 and revert support for new goboring
2024-02-08 15:05:38 -08:00
Ryan Richard
904a60f04a
Fix ptls_test.go for Go 1.22
2024-02-08 14:13:09 -08:00
Ryan Richard
bf3b4bfca7
Rerun codegen after upgrading CI controller-gen from v0.13.0 to v0.14.0
2024-02-08 13:27:02 -08:00
Ryan Richard
560ee45b50
Fix plog_test.go for Go 1.22
2024-02-08 11:53:59 -08:00
Ryan Richard
d2794114f4
Revert support TLS 1.3 in FIPS mode because Go reverted goboring upgrade
...
Goboring only allows TLS 1.2.
The next goboring will allow both TLS 1.2 and TLS 1.3. We got a preview
of this when the Go team upgraded goboring in Go 1.21.6, but then
downgraded it again in the next Go releases.
When the Go team eventually upgrades goboring again, then we can
revert this commit to bring back TLS 1.3 support in FIPS mode.
2024-02-08 10:43:52 -08:00
Ryan Richard
e303a45dd1
Test util AssertTLS supports both old and new goboring
...
- Current goboring only allows TLS 1.2.
- The next goboring will allow TLS 1.2 and TLS 1.3. We got a preview
of this when the Go team upgraded goboring in Go 1.21.6, but then
downgraded it again in the next Go releases.
2024-02-08 09:39:01 -08:00
Pinny
c47bc74ad0
Bump dependencies
2024-02-07 20:09:08 +00:00
Ryan Richard
a728822993
Merge pull request #1861 from vmware-tanzu/dependabot/go_modules/hack/update-go-mod/golang.org/x/mod-0.15.0
...
Bump golang.org/x/mod from 0.14.0 to 0.15.0 in /hack/update-go-mod
2024-02-07 11:04:16 -08:00
dependabot[bot]
5cd4d47f9e
Bump golang.org/x/mod from 0.14.0 to 0.15.0 in /hack/update-go-mod
...
Bumps [golang.org/x/mod](https://github.com/golang/mod ) from 0.14.0 to 0.15.0.
- [Commits](https://github.com/golang/mod/compare/v0.14.0...v0.15.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-02-07 02:01:12 +00:00
Ryan Richard
2832e7c45e
Merge pull request #1858 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-02-06 08:48:32 -08:00
Pinny
04bb45947d
Bump dependencies
2024-02-06 14:01:03 +00:00
Ryan Richard
f2c9b67854
Merge pull request #1856 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-02-02 10:03:18 -08:00
Pinny
e05ae08b77
Bump dependencies
2024-02-02 17:01:56 +00:00
Ryan Richard
1ab1fd4c50
Merge pull request #1855 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-02-01 10:06:48 -08:00
Pinny
d17dd65d0f
Bump dependencies
2024-02-01 17:19:17 +00:00
Ryan Richard
a832bb641b
Merge pull request #1854 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-01-31 06:52:30 -08:00
Pinny
18da164130
Bump dependencies
2024-01-31 14:02:55 +00:00
Ryan Richard
07b1a144b3
Merge pull request #1853 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-01-29 08:58:42 -08:00
Pinny
4c3f304ba5
Bump dependencies
2024-01-29 14:03:06 +00:00
Ryan Richard
c7445def21
Merge pull request #1852 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-01-26 09:01:20 -08:00
Pinny
d23f6690af
Bump dependencies
2024-01-26 14:02:26 +00:00
Ryan Richard
0a8264c9c8
Merge pull request #1850 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-01-24 09:44:18 -08:00
Pinny
8c7cda84e1
Bump dependencies
2024-01-24 16:59:33 +00:00
Ryan Richard
6767a07a8d
Merge pull request #1839 from vmware-tanzu/update_ci_url
...
Update CI URL, increase lint timeout, disable some dependabot updates
2024-01-19 12:58:22 -08:00
Ryan Richard
6908c2ab65
disable dependabot for some things in favor of our own tooling
2024-01-19 11:34:47 -08:00
Ryan Richard
80b65619bf
Increase the lint timeout in hack/module.sh for when CI workers get slow
2024-01-19 11:34:47 -08:00
Ryan Richard
2aa87dd069
update CI URL in CONTRIBUTING.md
2024-01-19 11:34:47 -08:00
Ryan Richard
bb99d269eb
Merge pull request #1836 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-01-19 11:32:42 -08:00
Pinny
84a1f2a771
Bump dependencies
2024-01-19 17:06:03 +00:00
Ryan Richard
e67838932d
Merge pull request #1841 from vmware-tanzu/new_fips_compiler
...
Support new golang fips compiler
2024-01-19 08:17:43 -08:00
Ryan Richard
50e4d6db6c
Support the new Go FIPS compiler which was upgraded inside Go 1.21.6
...
The release of Go 1.21.6 includes the new boring crypto when compiling
with FIPS enabled. See https://go.dev/doc/devel/release#go1.21.0 and
https://github.com/golang/go/issues/64717 .
This new version of boring crypto allows the use of TLS v1.3 for the
first time, so we changed the Pinniped code to use TLS v1.3 where
appropriate when compiled with the FIPS compiler. It also changed the
allowed TLS v1.2 ciphers, so we updated those as well.
After this commit, the project must be compiled by at least Go v1.21.6
when compiling in fips mode. The hack/Dockerfile_fips was already
updated to use that version of Go in a previous commit.
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2024-01-18 14:23:26 -08:00
Pinny
bcf070cb73
Bump dependencies
2024-01-16 12:33:40 -08:00
Ryan Richard
4ce96634c6
Merge pull request #1835 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-01-09 09:55:19 -08:00
Pinny
c356754aaa
Bump dependencies
2024-01-09 09:24:04 +00:00
Ryan Richard
75a130bafd
Merge pull request #1830 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-01-08 08:59:14 -08:00
Pinny
1d6e51d14a
Bump dependencies
2024-01-08 09:03:58 +00:00
Ryan Richard
da9432b5b2
Merge pull request #1829 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2024-01-05 09:23:14 -08:00
Pinny
d4971ef2da
Bump dependencies
2024-01-05 16:34:26 +00:00
Ryan Richard
bdb7f80571
Merge pull request #1825 from vmware-tanzu/kube_v0.29.0
...
Update dependencies, including Kube packages to v0.29.0
2024-01-04 13:29:44 -08:00
Ryan Richard
c7299f4daf
Update dependencies, including Kube packages to v0.29.0
2024-01-04 12:30:22 -08:00
Pinny
659224a207
Updated versions in docs for v0.28.0 release
2023-12-15 18:56:15 +00:00
Ryan Richard
2c5214724b
Merge pull request #1815 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2023-12-13 09:29:34 -08:00
Pinny
b2e3f84156
Bump dependencies
2023-12-13 16:39:49 +00:00
Ben Petersen
a58649faa6
Merge pull request #1813 from vmware-tanzu/disable_feature_gate
...
Disable UnauthenticatedHTTP2DOSMitigation feature gate
2023-12-12 16:12:14 -05:00
Ryan Richard
a4883507b5
Disable UnauthenticatedHTTP2DOSMitigation feature gate
2023-12-12 08:47:03 -08:00
Ben Petersen
461e272d79
Merge pull request #1812 from vmware-tanzu/tcr_test_more_output_on_failure
...
Add more output on failure of TokenCredentialRequest integration tests
2023-12-12 11:04:06 -05:00
Ryan Richard
981004eec4
Admin kubeconfigs with system:masters can have kubeadm:cluster-admins
2023-12-11 13:05:29 -08:00
Ryan Richard
0332362598
Add more output on failure of TokenCredentialRequest integration tests
2023-12-11 12:09:12 -08:00
Ryan Richard
f519b271d2
Merge pull request #1810 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2023-12-11 08:57:12 -08:00
Pinny
be7a4f781f
Bump dependencies
2023-12-11 09:04:33 +00:00
Ryan Richard
0e3c815e9b
Merge pull request #1809 from vmware-tanzu/sdump_in_whoami_test
...
Add more debugging output for when concierge_whoami_test.go fails
2023-12-08 12:43:32 -08:00
Ryan Richard
3b4147f90e
Add more debugging output for when concierge_whoami_test.go fails
2023-12-08 10:31:40 -08:00
Ryan Richard
3b10cc3097
Merge pull request #1808 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2023-12-08 09:18:57 -08:00
Pinny
d8ec87d0e1
Bump dependencies
2023-12-08 16:17:12 +00:00
Ryan Richard
cdd38dd55e
Merge pull request #1807 from vmware-tanzu/replace_grpc_version
...
replace version of google.golang.org/grpc
2023-12-07 12:33:30 -08:00
Ryan Richard
236a7cf3fb
replace version of google.golang.org/grpc
2023-12-07 10:29:36 -08:00
Ryan Richard
3e74b38a95
Merge pull request #1806 from vmware-tanzu/revert_supervisor_disabling_http2
...
revert the disabling of http2 for the Supervisor OIDC endpoints
2023-12-06 20:33:27 -08:00
Ryan Richard
a05acadf80
Merge pull request #1594 from vmware-tanzu/jtc/add-ldapsearch-hack-script
...
Add ldapsearch hack script
2023-12-06 14:02:20 -08:00
Ryan Richard
c5d1f380d2
revert the disabling of http2 for the Supervisor OIDC endpoints
...
Due to the unintended consequence of potentially breaking Ingresses
which were configured to use http2 on their backends.
2023-12-06 13:10:51 -08:00
Ryan Richard
9883b4e236
rename the ldap debugging hack script and add parens to search filters
2023-12-06 12:56:35 -08:00
Ryan Richard
348187d2f4
Enchance and move the ldapsearch hack script
2023-12-06 09:16:16 -08:00
Joshua Casey
86ee66d21d
Add ldapsearch hack script
...
[#185658904 ]
2023-12-06 09:16:16 -08:00
Ryan Richard
2198b4820a
Merge pull request #1789 from vmware-tanzu/http2
...
Defensive changes to mitigate potential http2 rapid reset attacks
2023-12-06 09:15:07 -08:00
Ryan Richard
4b7b9e4362
Defensive changes to mitigate potential http2 rapid reset attacks
2023-12-05 14:57:50 -08:00
Ryan Richard
70f2bbf4f8
Merge pull request #1804 from vmware-tanzu/upgrade_fosite
...
Upgrade fosite to the latest commit on their main branch
2023-12-05 14:51:34 -08:00
Ryan Richard
7a3efb9981
change update-go-mod.sh to use head of main for fosite via config file
2023-12-05 11:25:02 -08:00
Ryan Richard
e1954b1df9
update session storage version from 5 to 6 due to fosite upgrade
...
A small part of the session storage changed type in the latest version
of fosite compared to the old version of fosite that we were using.
Just to be safe, update our session storage version to invalidate
any pre-existing sessions upon upgrade of Pinniped.
2023-12-04 14:49:22 -08:00
Ryan Richard
37c2ce53d7
upgrade fosite pkg to latest
2023-12-04 14:49:21 -08:00
Ryan Richard
9d3773e58a
Merge pull request #1803 from vmware-tanzu/bump_codegen
...
Update kube-versions.txt and rerun codegen
2023-12-04 14:48:37 -08:00
Ryan Richard
aa651973fc
Update kube-versions.txt and rerun codegen
2023-12-04 12:11:37 -08:00
Ryan Richard
745852ef2e
Merge pull request #1801 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2023-12-04 11:58:04 -08:00
Ryan Richard
ca5ad85bbd
Switch from gopkg.in/square/go-jose.v2 to github.com/go-jose/go-jose/v3
...
Made the switch wherever possible, but since fosite still uses the old
gopkg.in/square/go-jose.v2 there was one test where we still need to use
it as a direct dependency.
2023-12-04 11:05:12 -08:00
Ryan Richard
8296093beb
Increase fudge factor in tokenclient_test.go due to CI failures
2023-12-04 10:04:05 -08:00
Pinny
6d79fe5f4c
Bump dependencies
2023-12-04 09:40:51 -08:00
Ryan Richard
ef6369d71e
Merge pull request #1733 from vmware-tanzu/jtc/issue-1700/impersonation-proxy-token-request-api
...
The Impersonation Proxy should use a short-lived token from the `TokenRequest` API
2023-12-01 11:48:52 -08:00
Ryan Richard
7616799adb
Minor refactors in legacy SA token Secret cleanup controller
2023-11-30 16:40:21 -08:00
Ryan Richard
dea3513125
Add test for when no SA token is cached in impersonator_test.go
2023-11-30 15:55:27 -08:00
Ryan Richard
5f4645d505
Improve unit tests in tokenclient_test.go
...
Also fix a linter error and rename some new files.
2023-11-30 13:29:52 -08:00
Joshua Casey
c439cc03a2
WIP for a tokenClient.Start() unit test
2023-11-30 09:57:57 -08:00
Joshua Casey
2603bbfcd6
Do not use long-lived service account tokens in secrets
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-11-30 09:57:57 -08:00
Ryan Richard
dc1d563549
Merge pull request #1793 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2023-11-29 12:58:38 -08:00
Pinny
416a66f68a
Bump dependencies
2023-11-29 09:02:04 +00:00
Joshua Casey
8f2da915aa
Merge pull request #1791 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2023-11-17 14:00:05 -06:00
Pinny
aad74158ba
Bump dependencies
2023-11-17 09:02:40 +00:00
Joshua Casey
98dde187bb
Merge pull request #1788 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2023-11-16 12:14:21 -06:00
Joshua Casey
ab71450c69
Use correct reference for pinned dependencies
2023-11-16 09:08:42 -08:00
Pinny
a4789e2b2c
Bump dependencies
2023-11-16 17:07:36 +00:00
Ryan Richard
1c2829a326
Merge pull request #1779 from vmware-tanzu/pinny/bump-deps
...
Bump dependencies
2023-11-15 15:54:45 -08:00
Pinny
9be8cd40d2
Bump dependencies
2023-11-15 15:02:54 -08:00
Ryan Richard
90a3538806
Merge pull request #1780 from vmware-tanzu/jtc/lightly-standardize-import-aliases
...
Lightly standardize import aliases
2023-11-15 15:02:01 -08:00
Joshua Casey
b68e7f3e9e
Lightly standardize import aliases
2023-11-15 13:52:17 -06:00
Ben Petersen
4f15fc2123
Merge pull request #1776 from vmware-tanzu/ben/dockerfile-image-args
...
Make Dockerfile base images configurable
2023-11-15 14:33:50 -05:00
Benjamin A. Petersen
2bc6c15d25
Make Dockerfile base images configurable
2023-11-15 14:32:48 -05:00
Joshua Casey
a740fb34c5
Merge pull request #1775 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-11-15 08:54:00 -06:00
Pinny
be1416b7b5
Bump go.mod direct dependencies
2023-11-15 09:02:22 +00:00
Ryan Richard
aad8dc50e7
Merge pull request #1774 from vmware-tanzu/whoami_timeout
...
Infinite default timeout for WhoAmI API call and add `--timeout` CLI flag
2023-11-14 14:02:42 -08:00
Ryan Richard
47f6de58c3
Infinite default timeout for WhoAmI API call & add --timeout CLI flag
2023-11-14 09:40:03 -08:00
Joshua Casey
61c630caf0
Merge pull request #1772 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-11-13 11:04:37 -06:00
Pinny
2985d55edf
Bump go.mod direct dependencies
2023-11-13 09:04:06 +00:00
Joshua Casey
4f794571a2
Merge pull request #1771 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-11-09 08:45:28 -06:00
Pinny
d5ae3da893
Bump go.mod direct dependencies
2023-11-09 09:02:31 +00:00
Ryan Richard
80d5f42b57
Merge pull request #1701 from vmware-tanzu/ben/carvel-package/local-registry
...
Carvel Package POC for local development
2023-11-08 14:49:32 -08:00
Ryan Richard
d5aa682cbc
Fix a comment
...
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-11-08 13:56:11 -08:00
Ryan Richard
b61557d3c3
Auto-format build.sh and deploy.sh
...
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-11-08 13:45:48 -08:00
Ryan Richard
d4e2622ea8
Revert "Rearrange carvel build & deploy scripts"
...
This reverts commit 9a632134ae .
2023-11-08 13:38:22 -08:00
Ryan Richard
88a97033fb
Refined ytt schemas
...
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-11-08 13:37:31 -08:00
Benjamin A. Petersen
c4f9869e7c
Relax image_pull_dockerconfigjson validation, improve endpoints
...
validation
2023-11-08 13:10:20 -08:00
Benjamin A. Petersen
c455a17abe
Adjust validation for run_as_user,run_as_group
2023-11-08 13:10:20 -08:00
Benjamin A. Petersen
9a632134ae
Rearrange carvel build & deploy scripts
2023-11-08 13:10:20 -08:00
Benjamin A. Petersen
1b540181a7
Adjust types on some supervisor validations
2023-11-08 13:10:19 -08:00
Benjamin A. Petersen
1f8aa6c262
import helpers in kind-down.sh
2023-11-08 13:10:19 -08:00
Benjamin A. Petersen
46bea27cb7
no_proxy adjustment for concierge
2023-11-08 13:10:19 -08:00
Benjamin A. Petersen
98bd12241d
extract helpers to lib file and use in various hack scripts
2023-11-08 13:10:19 -08:00
Benjamin A. Petersen
c3410c4b14
improve custom_labels validation func
2023-11-08 13:10:19 -08:00
Benjamin A. Petersen
1e9f9181a1
Enhance schemas with validations, etc.
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-11-08 13:10:19 -08:00
Ryan Richard
07e9c5bd93
refactor carvel packaing scripts
2023-11-08 13:10:19 -08:00
Benjamin A. Petersen
e10d21d678
Support Carvel Package as alternate deployment mechanism
...
- update kind config to include local registry
- configure kind cluster to talk to local registry
- docker build & push pinniped dev code to local registry
- deploy dev code of the following via the local registry:
- concierge
- supervisor
- local-user-authenticator
- Update values.yaml for supervisor,concierge to schema files
- Update values.yaml for local-user-authenticator to schema file
- Add ytt openapi-v3 generation to build carvel package script
- Add supervisor carvel package files
- Add concierge carvel package files
- Add local-user-authenticator carvel package files
- Add hack script to build openapi-v3 files
- add --post-install to hack/prepare-for-integration-tests.sh
- cleanup local registry in kind-down.sh
- webhook_ca_bundle moved in hack script
- adjust were to call post-install script
- deploy/{}/values.yml image_pull_dockerconfigjson type change to base64 string
- Add PINNIPED_USE_LOCAL_KIND_REGISTRY env var
- ensures regular use of hack/prepare-for-integration-tests.sh
- PINNIPED_USE_LOCAL_KIND_REGISTRY=1 ./hack/prepare-for-integration-tests.sh --clean --alternate-deploy ./hack/noop.sh --post-install ./hack/build-carvel-packages.sh
- ./hack/prepare-for-integration-tests.sh --clean
- if PINNIPED_USE_LOCAL_KIND_REGISTRY for kind-down.sh in hack/prepare-for-integration-tests.sh
- Split carvel build & deploy scripts, add --pre-install flag
- add pre-install flag to hack/prepare-for-integration-tests.sh
- split /hack/build-carvel-packages.sh and
/hack/deploy-carvel-packages.sh
- Remove --alternate-deploy-* flags from hack script
- Move scripts to hack/lib/carvel_packages
- Split build.sh deploy.sh
- Separate template files from install artifacts
- Generate all install artifacts in $root/deploy_carvel
- remove $root/deploy_carvel from git
- Extract ytt values to file in hack/prepare-for-integration-tests.sh
- pass registry/repo to carvel build scripts
2023-11-08 13:10:19 -08:00
Joshua Casey
e3d9eb7d82
Merge pull request #1767 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-11-08 10:59:48 -06:00
Joshua Casey
97f6e8a07b
Bump golang to 1.21.4 in the Dockerfiles
2023-11-08 10:09:42 -06:00
Pinny
865ef8d447
Bump go.mod direct dependencies
2023-11-08 09:02:18 +00:00
Joshua Casey
0a342a803c
Merge pull request #1763 from vmware-tanzu/dependabot/go_modules/hack/update-go-mod/golang.org/x/mod-0.14.0
...
Bump golang.org/x/mod from 0.13.0 to 0.14.0 in /hack/update-go-mod
2023-11-06 08:11:27 -06:00
Joshua Casey
120b35a617
Merge pull request #1755 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-11-05 21:39:23 -06:00
Joshua Casey
3f92a546df
Unit test fixes
2023-11-05 20:53:12 -06:00
dependabot[bot]
132e39c8fd
Bump golang.org/x/mod from 0.13.0 to 0.14.0 in /hack/update-go-mod
...
Bumps [golang.org/x/mod](https://github.com/golang/mod ) from 0.13.0 to 0.14.0.
- [Commits](https://github.com/golang/mod/compare/v0.13.0...v0.14.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-11-06 01:50:23 +00:00
Pinny
634654578f
Bump go.mod direct dependencies
2023-11-05 08:05:08 +00:00
Joshua Casey
18f95d3d1e
Merge pull request #1751 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-11-02 22:10:27 -05:00
Joshua Casey
b38723ece2
Integration test fixes
2023-11-02 15:31:50 -05:00
Joshua Casey
bf1366412a
Unit test fixes
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-11-02 14:17:29 -05:00
Pinny
a6f7e05d3d
Bump go.mod direct dependencies
2023-11-02 14:17:29 -05:00
Ryan Richard
660b155eaa
Merge pull request #1752 from vmware-tanzu/upgrade-linter
...
Upgrade the linter to golangci-lint@v1.55 .1
2023-11-02 10:56:03 -07:00
Ryan Richard
29e939db7f
Upgrade the linter to golangci-lint@v1.55.1
...
The unused-parameter linter became stricter, so we adjust it to
allow unused params that start with underscore. It can be nice to keep
unused param names when implementing an interface sometimes, to help
readers understand why it is unused in that particular implementation.
2023-11-02 09:54:16 -07:00
Joshua Casey
3c2d921300
Merge pull request #1748 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-10-31 08:45:55 -05:00
Pinny
d1e5a9aff3
Bump go.mod direct dependencies
2023-10-31 08:02:22 +00:00
Ryan Richard
54d4879c69
Merge pull request #1742 from vmware-tanzu/idp_chooser_ui
...
show interstitial web page to allow user to choose IDP when multiple IDPs are configured and authorize endpoint query param to choose IDP is not used
2023-10-30 15:32:57 -07:00
Joshua Casey
78aa45a970
Merge pull request #1741 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-10-30 17:10:06 -05:00
Joshua Casey
3c33c59aa9
Update unit tests
2023-10-30 15:40:17 -05:00
Pinny
b9b4d31c6b
Bump go.mod direct dependencies
2023-10-30 15:40:17 -05:00
Ryan Richard
0501159ac0
Show an IDP chooser UI when appropriate from authorize endpoint
2023-10-30 11:05:53 -07:00
Ryan Richard
779b084b53
Merge pull request #1738 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-10-25 08:51:52 -07:00
Pinny
f90f2334ba
Bump go.mod direct dependencies
2023-10-25 08:00:49 +00:00
Ryan Richard
a8c35c6f7e
Merge pull request #1735 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-10-23 09:08:51 -07:00
Pinny
ced08aeaf7
Bump go.mod direct dependencies
2023-10-23 08:02:12 +00:00
Joshua Casey
9c5bc763ac
Merge pull request #1734 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-10-20 06:49:44 -05:00
Pinny
dd0039e94c
Bump go.mod direct dependencies
2023-10-20 08:01:23 +00:00
Joshua Casey
9d836c789f
Merge pull request #1732 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-10-19 08:46:45 -05:00
Pinny
ef291bb790
Bump go.mod direct dependencies
2023-10-19 08:02:18 +00:00
Ryan Richard
d4e3cf51b7
Merge pull request #1721 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-10-18 14:45:12 -07:00
Ryan Richard
247123965e
run codegen again
2023-10-18 12:47:43 -07:00
Joshua Casey
097a1ac3d3
Run k8s codegen
2023-10-18 09:23:55 -07:00
Joshua Casey
ec532f622f
Bump golang to 1.21.3 in Dockerfiles
2023-10-16 08:28:13 -05:00
Pinny
d73acd6896
Bump go.mod direct dependencies
2023-10-16 08:03:25 +00:00
Pinny
0c4e3aa5f1
Updated versions in docs for v0.27.0 release
2023-10-10 20:15:37 +00:00
Joshua Casey
cbd892a4b2
Merge pull request #1716 from vmware-tanzu/pinniped-cli-path-docs
...
document usage of --pinniped-cli-path option
2023-10-10 12:42:19 -05:00
Ryan Richard
e46acbee43
document usage of --pinniped-cli-path option
2023-10-10 10:38:13 -07:00
Joshua Casey
c1995c1eea
Merge pull request #1715 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-10-10 06:56:24 -05:00
Pinny
423e2932aa
Bump go.mod direct dependencies
2023-10-10 08:02:52 +00:00
Ryan Richard
c0ac0fa183
Merge pull request #1702 from vmware-tanzu/arm64_docs
...
Update website docs for arm64 support
2023-10-09 21:33:22 -07:00
Ryan Richard
521dec2e04
Merge pull request #1691 from vmware-tanzu/jtc/display-idp-name-when-prompting-for-login-181927293
...
Display IDP name when prompting for username and password
2023-10-09 21:12:49 -07:00
Ryan Richard
0a47aa59fc
add a login banner to CLI-based login prompts which shows the IDP name
...
Skip showing the banner when the CLI does not know the IDP name
from the CLI args (which are typically encoded in the kubeconfig).
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2023-10-09 20:17:55 -07:00
Ryan Richard
3a21c9a35b
backfill unit tests for expected stderr output in login_test.go
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2023-10-09 20:17:55 -07:00
Ryan Richard
6ee1e35329
Rename username and password prompt variables
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2023-10-09 20:17:55 -07:00
Ryan Richard
a077972ce5
Merge pull request #1690 from vmware-tanzu/jtc/change-path-to-pinniped-binary-184673465
...
Increase flexibility around the 'pinniped get kubeconfig' client-go credential plugin command
2023-10-09 20:16:23 -07:00
Joshua Casey
9d89a8dea4
Shorten kubeconfigCommand func for lint funlen
2023-10-09 21:25:14 -05:00
Joshua Casey
d965b65b0a
Allow 'pinniped get kubeconfig' to override the client-go credential plugin command
...
[#184673465 ]
2023-10-09 21:25:14 -05:00
Joshua Casey
bc1593e833
Merge pull request #1703 from vmware-tanzu/tools_tolerations
...
tolerate arm64 in tools deployments and jobs
2023-10-09 21:21:22 -05:00
Ryan Richard
de5026b90f
Merge pull request #1714 from vmware-tanzu/bump-codegen
...
Update kube versions for codegen
2023-10-09 16:04:10 -07:00
Ryan Richard
13f0b5e782
Update kube versions for codegen
2023-10-09 15:18:15 -07:00
Ryan Richard
6310dde4f5
Merge pull request #1713 from vmware-tanzu/jtc/bump-some-things
...
Bump some stray dependencies
2023-10-09 10:03:04 -07:00
Ryan Richard
bbf4412ff3
tolerate arm64 in tools deployments and jobs
2023-10-09 10:00:34 -07:00
Joshua Casey
1409f236da
Bump dockerfiles to golang:1.21.2
2023-10-09 09:28:27 -05:00
Joshua Casey
0cca3a12e6
Update hack/update-go-mod/go.mod
2023-10-09 09:27:57 -05:00
Joshua Casey
5852a9e0ab
Merge pull request #1711 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-10-09 08:31:07 -05:00
Pinny
8c4c99bbaf
Bump go.mod direct dependencies
2023-10-09 08:02:48 +00:00
Ryan Richard
69e3627946
Update website docs for arm64 support
...
Also add the Hugo tmp file to the gitignore.
2023-10-05 14:48:14 -07:00
Ryan Richard
a27a355071
Merge pull request #1699 from vmware-tanzu/arm64
...
Support building of multi-arch linux amd64 and arm64 container images
2023-10-04 12:17:07 -07:00
Ryan Richard
826d8236d9
Use bitnami/openldap in integration tests instead of our old fork
2023-10-04 10:11:46 -07:00
Ryan Richard
776e436e35
Support building and deploying multi-arch linux amd64 and arm64 images
2023-10-04 08:55:26 -07:00
Ryan Richard
af7d3092a5
Merge pull request #1697 from vmware-tanzu/show_errors_on_formpost
...
Show errors from the form_post POST request on the page
2023-10-04 08:54:37 -07:00
Ryan Richard
62c597eb3b
Show errors from the form_post POST request on the page
2023-10-02 09:53:53 -07:00
Joshua Casey
78cb86215b
Merge pull request #1698 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-09-29 09:27:18 -05:00
Pinny
8a7f7b8842
Bump go.mod direct dependencies
2023-09-29 08:03:10 +00:00
Joshua Casey
172db05d8d
Merge pull request #1685 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-09-28 10:06:23 -05:00
Pinny
113bebfb4d
Bump go.mod direct dependencies
2023-09-28 09:20:13 -05:00
Ryan Richard
af7a1a1f58
Merge pull request #1696 from vmware-tanzu/contour_in_hack_prepare_supervisor
...
Optionally use Contour in hack/prepare-supervisor-on-kind.sh
2023-09-27 14:47:53 -07:00
Ryan Richard
0ab6311cf5
Optionally use Contour in hack/prepare-supervisor-on-kind.sh
...
Using Contour for ingress allows us to avoid using the hacky proxy
server approach. This makes it easy to use any web browser to complete
the login process, since there is no need to configure the proxy server
for the browser.
2023-09-27 12:32:49 -07:00
Ryan Richard
24069b56dc
Merge pull request #1695 from vmware-tanzu/fix_pod_shutdown_test_flake
...
fix flake seen in pod_shutdown_test.go
2023-09-27 07:23:45 -07:00
Ryan Richard
87b7ea14d5
fix flake seen in pod_shutdown_test.go
2023-09-26 14:06:04 -07:00
Ryan Richard
7513092432
Merge pull request #1693 from vmware-tanzu/concierge_pods_priorityClassName
...
Stop using deprecated critical-pod annotation
2023-09-26 14:05:23 -07:00
Ryan Richard
192553aed9
Stop using deprecated critical-pod annotation
2023-09-26 13:16:13 -07:00
Ben Petersen
d44882fddc
Merge pull request #1694 from vmware-tanzu/cli_login_page_errors
...
Same error messages shown in CLI's callback web page and in terminal
2023-09-26 14:54:01 -04:00
Ryan Richard
cede6403e1
Same error messages shown in CLI's callback web page and in terminal
2023-09-26 09:58:23 -07:00
Ryan Richard
e25ecea684
Merge pull request #1692 from vmware-tanzu/jtc/use-latest-controller-gen
...
Use latest controller-gen, which allows CEL validations
2023-09-26 09:56:42 -07:00
Joshua Casey
ac9887afdc
Use latest controller-gen, which allows CEL validations
2023-09-25 15:58:32 -05:00
Ryan Richard
58c5146592
Merge pull request #1688 from vmware-tanzu/fix_shutdown_deadlock
...
Fix deadlock during shutdown which prevented leader election cleanup
2023-09-25 10:41:10 -07:00
Ryan Richard
5e06c6d5ad
add integration test for graceful shutdowns which release leader leases
2023-09-25 09:51:17 -07:00
Ryan Richard
ca6c29e463
Fix deadlock during shutdown which prevented leader election cleanup
...
Before this fix, the deadlock would prevent the leader pod from giving
up its lease, which would make it take several minutes for new pods to
be allowed to elect a new leader. During that time, no Pinniped
controllers could write to the Kube API, so important resources were not
being updated during that window. It would also make pod shutdown take
about 1 minute.
After this fix, the leader gives up its lease immediately, and pod
shutdown takes about 1 second. This improves restart/upgrade time and
also fixes the problem where there was no leader for several minutes
after a restart/upgrade.
The deadlock was between the post-start hook and the pre-shutdown hook.
The pre-shutdown hook blocked until a certain background goroutine in
the post-start hook finished, but that goroutine could not finish until
the pre-shutdown hook finished. Thus, they were both blocked, waiting
for each other infinitely. Eventually the process would be externally
killed.
This deadlock was most likely introduced by some change in Kube's
generic api server package related to how the many complex channels used
during server shutdown interact with each other, and was not noticed
when we upgraded to the version which introduced the change.
2023-09-20 16:54:24 -07:00
Joshua Casey
1ac8691199
Merge pull request #1687 from vmware-tanzu/ben/site-blog-h1-swap-main-title
...
Update blog rendering to h1 the title (not h2)
2023-09-20 12:39:51 -05:00
Joshua Casey
4bb596e2cd
Merge pull request #1661 from vmware-tanzu/jtc/add-cicd-howto
...
Add CI/CD How-To
2023-09-20 12:17:43 -05:00
Benjamin A. Petersen
78a7d4deea
Update blog rendering to h1 the title (not h2)
2023-09-20 12:55:48 -04:00
Pinny
bed9a74b58
Updated versions in docs for v0.26.0 release
2023-09-19 22:56:05 +00:00
Ryan Richard
5af01bba4e
Merge pull request #1683 from vmware-tanzu/0.26_blog
...
add blog post for v0.26.0 release
2023-09-19 15:43:04 -07:00
Ryan Richard
9fe9753cbc
add blog post for v0.26.0 release
2023-09-19 15:42:34 -07:00
Ben Petersen
cef5745d2d
Merge pull request #1684 from vmware-tanzu/okta_browser_login_flake
...
Trying to avoid test flake on Okta login page in browser
2023-09-19 13:27:29 -04:00
Ryan Richard
cd1e4bacf8
trying to avoid flake on Okta login page in browser
2023-09-19 08:58:22 -07:00
Joshua Casey
7de8f82295
Add CI/CD How-To
...
- https://github.com/vmware-tanzu/pinniped/discussions/1366
- https://www.pivotaltracker.com/story/show/184297690
2023-09-18 16:19:10 -05:00
Joshua Casey
62887a9cc8
Merge pull request #1682 from vmware-tanzu/exec_with_container_name
...
specify the container name when fetching keys from kube cert agent pod
2023-09-18 13:09:54 -05:00
Joshua Casey
c0e7a6ecbf
Merge branch 'main' into exec_with_container_name
2023-09-18 12:18:51 -05:00
Ryan Richard
465a0c3d80
Merge pull request #1674 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-09-18 09:33:08 -07:00
Ryan Richard
4b4cc93ae7
specify the container name when fetching keys from kube cert agent pod
...
Avoid errors seen when the cluster has been configured to automatically
inject additional sidecar containers into every pod.
2023-09-18 09:19:57 -07:00
Joshua Casey
4a89a9fa16
Update LDAP integration tests for changes in github.com/go-ldap/ldap/v3
2023-09-18 10:45:32 -05:00
Joshua Casey
eb7a9f89e2
Bump k8s.io/kube-openapi and pin github.com/google/cel-go
2023-09-18 09:30:50 -05:00
Pinny
162041c794
Bump go.mod direct dependencies
2023-09-18 08:03:49 +00:00
Ryan Richard
0e7ef1637d
Merge pull request #1677 from vmware-tanzu/dependabot/go_modules/go.uber.org/zap-1.26.0
...
Bump go.uber.org/zap from 1.25.0 to 1.26.0
2023-09-14 21:37:05 -07:00
dependabot[bot]
91d5159743
Bump go.uber.org/zap from 1.25.0 to 1.26.0
...
Bumps [go.uber.org/zap](https://github.com/uber-go/zap ) from 1.25.0 to 1.26.0.
- [Release notes](https://github.com/uber-go/zap/releases )
- [Changelog](https://github.com/uber-go/zap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/uber-go/zap/compare/v1.25.0...v1.26.0 )
---
updated-dependencies:
- dependency-name: go.uber.org/zap
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-09-15 01:57:59 +00:00
Ryan Richard
efb53d3190
Merge pull request #1660 from vmware-tanzu/multiple_idps_and_transformations_docs
...
multiple idps and identity transformations docs
2023-09-14 15:17:34 -07:00
Ryan Richard
c97bb58e3c
Merge pull request #1675 from vmware-tanzu/update_k8s_libs
...
Update deps except for cel-go
2023-09-14 15:16:15 -07:00
Ryan Richard
3cecb62705
Keep the deps updated from previous commit but keep cel-go at 0.16.x
...
because newer cel-go versions will not compile with latest k8s libs
2023-09-14 15:15:35 -07:00
Pinny
52db01d8ef
Bump go.mod direct dependencies
2023-09-14 15:15:35 -07:00
Ben Petersen
1d500ded67
Merge pull request #1676 from vmware-tanzu/update_k8s_versions_for_codegen
...
update kube-versions.txt for codegen
2023-09-14 16:48:41 -04:00
Ryan Richard
edc5f3fc15
update kube-versions.txt for codegen
2023-09-14 13:01:46 -07:00
Ryan Richard
54fb03153a
multiple IDPs and identity transformations docs
2023-09-13 14:33:53 -07:00
Ryan Richard
06d456fc87
Merge pull request #1419 from vmware-tanzu/multiple_idps_and_transformations
...
Support multiple IDPs and identity transformations on Supervisor FederationDomains
2023-09-13 14:26:23 -07:00
Ryan Richard
5573c629b5
remove extra timeoutCtx for exec.CommandContext invocations in e2e test
...
These extra timeout contexts were only in the new multiple IDPs e2e
test. Remove this possible cause of test cleanup flakes where the test
runs slow enough in CI that this timeout context has already expired
and then the cleanup function fails with context deadline exceeded
errors.
2023-09-13 12:48:10 -07:00
Ryan Richard
2cecc17ef0
add celformer unit test demonstrating string regexp in CEL expressions
2023-09-13 12:31:00 -07:00
Ryan Richard
c52ed93bf8
make prepare-supervisor-on-kind.sh work with older versions of bash
2023-09-12 10:24:55 -07:00
Ryan Richard
84498d5a55
fix imports grouping in manager.go
2023-09-12 09:34:19 -07:00
Ryan Richard
8faf3b0e26
add workaround in update-codegen.sh for problem seen when run on linux
2023-09-11 13:07:05 -07:00
Ryan Richard
a7bd494ec3
update FederationDomain.status.conditions to come from metav1
2023-09-11 13:06:52 -07:00
Ryan Richard
b6f0dc3ba7
Fix conflicts caused from rebasing main into multiple IDPs branch
2023-09-11 11:15:40 -07:00
Ryan Richard
e2bdab9e2d
add the IDP display name to the downstream ID token's sub claim
...
To make the subject of the downstream ID token more unique when
there are multiple IDPs. It is possible to define two IDPs in a
FederationDomain using the same identity provider CR, in which
case the only thing that would make the subject claim different
is adding the IDP display name into the values of the subject claim.
2023-09-11 11:15:40 -07:00
Ryan Richard
28210ab14d
add units tests to token_handler_test.go
2023-09-11 11:15:40 -07:00
Ryan Richard
593d55ec09
run codegen again after rebasing main branch into feature branch
2023-09-11 11:15:37 -07:00
Ryan Richard
5ad7e9a8ca
started add units tests for identity transforms to token_handler_test.go
2023-09-11 11:14:06 -07:00
Ryan Richard
7f70fcf679
add units tests to post_login_handler_test.go
2023-09-11 11:14:06 -07:00
Ryan Richard
f653942065
add new unit tests in callback_handler_test.go
2023-09-11 11:14:06 -07:00
Ryan Richard
d4611b829d
use slices.Contains() instead of custom func in token_handler_test.go
2023-09-11 11:14:06 -07:00
Ryan Richard
b2656b9cb1
add new unit tests in auth_handler_test.go
2023-09-11 11:14:06 -07:00
Ryan Richard
2eb82cc1d7
Add more tests with identity transformations in supervisor_login_test.go
2023-09-11 11:14:06 -07:00
Ryan Richard
0a21cb6d08
Replace more pointer.String() with the new ptr.To()
2023-09-11 11:14:06 -07:00
Ryan Richard
519aece8a5
Start adding identity transformations tests to supervisor_login_test.go
2023-09-11 11:14:06 -07:00
Ryan Richard
e6c78facfc
Fix expectations in FederationDomains status test for old Kube versions
...
Also try to avoid flakes by using RetryOnConflict when calling Update
on the FederationDomain.
2023-09-11 11:14:05 -07:00
Ryan Richard
01ab7758d8
Add e2e test for rejecting auth using identity transformation policy
2023-09-11 11:14:05 -07:00
Ryan Richard
957892b677
handle old versions of k8s in supervisor_federationdomain_status_test.go
2023-09-11 11:14:05 -07:00
Ryan Richard
c701a4a344
remove expectation about TransformsConstantsNamesUnique status condition
...
Forgot to remove this in the previous commit which removed writing that
condition from the controller code.
2023-09-11 11:14:05 -07:00
Ryan Richard
92bf826ec5
rename a local variable in an integration test
2023-09-11 11:14:05 -07:00
Ryan Richard
446384a7f5
add an e2e test for a FederationDomain with multiple IDPs and transforms
2023-09-11 11:14:05 -07:00
Ryan Richard
6d82a11645
CRD already validates that IDP transform constant names are unique
...
- Remove that validation from the controller since the CRD already
validates it during creates and updates.
- Also finish the supervisor_federationdomain_status_test.go by adding
more tests for both controller validations and CRD validations
2023-09-11 11:14:05 -07:00
Ryan Richard
bd5cabf0ff
fix some here.Doc string indents in federation_domain_watcher_test.go
...
To make things visually line up better.
2023-09-11 11:14:05 -07:00
Ryan Richard
51742366fe
wordsmith some FederationDomain status messages
2023-09-11 11:14:05 -07:00
Ryan Richard
5341322071
add integration test for FederationDomain status updates
...
- Also fix small bug in controller where it used Sprintf wrong
- Rename WaitForTestFederationDomainStatus test helper to
WaitForFederationDomainStatusPhase
2023-09-11 11:14:05 -07:00
Ryan Richard
23ed2856ce
small refactor in supervisor_discovery_test.go
2023-09-11 11:14:05 -07:00
Ryan Richard
84041e0c55
add unit test for ApplyIdentityTransformations helper
2023-09-11 11:14:05 -07:00
Ryan Richard
4b75ced52c
add unit tests for getters in federation_domain_issuer_test.go
2023-09-11 11:14:05 -07:00
Ryan Richard
61bb01b31d
extract a helper function in federation_domain_watcher.go
...
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-09-11 11:14:05 -07:00
Ryan Richard
64f41d0d0c
use multiple IDPs in manager_test.go
2023-09-11 11:14:05 -07:00
Ryan Richard
e42e3ca421
Status condition messages for IDP transforms show index of invalid IDP
2023-09-11 11:14:05 -07:00
Ryan Richard
b89e6d9d93
Make it possible to compare transformation pipelines in unit tests
2023-09-11 11:14:05 -07:00
Ryan Richard
c771328bb1
Validate transforms examples in federation_domain_watcher.go
...
Also changes the transformation pipeline code to sort and uniq
the transformed group names at the end of the pipeline. This makes
the results more predicable without changing the semantics.
2023-09-11 11:14:05 -07:00
Ryan Richard
52925a2a46
Validate transforms expressions in federation_domain_watcher.go
2023-09-11 11:14:05 -07:00
Benjamin A. Petersen
013030041a
Add helper for happy/sad conditions to federation_domain_watcher_test.go
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-09-11 11:14:05 -07:00
Ryan Richard
be973bc87e
Allow for slower CI workers in celformer_test.go
2023-09-11 11:14:05 -07:00
Ryan Richard
617f57e1c9
Validate transforms const names in federation_domain_watcher.go
2023-09-11 11:14:05 -07:00
Ryan Richard
0aacedf943
Update proposal doc statuses
2023-09-11 11:14:05 -07:00
Ryan Richard
b05e8a5e24
Replace sleep with kubectl wait in prepare-supervisor-on-kind.sh
...
- Now that the FederationDomain has `status.conditions`, we can use
`kubectl wait` to wait for it to be ready in this hack script
2023-09-11 11:14:05 -07:00
Ryan Richard
8e169f9702
Validate IDP objectRef kind names in federation_domain_watcher.go
...
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-09-11 11:14:05 -07:00
Ryan Richard
32063db46e
Validate apiGroup names are valid in federation_domain_watcher.go
2023-09-11 11:14:05 -07:00
Ryan Richard
31d67a1af3
Validate display names are unique in federation_domain_watcher.go
2023-09-11 11:14:05 -07:00
Ryan Richard
a9f2f672c7
Handle some unexpected errors in federation_domain_watcher.go
2023-09-11 11:14:05 -07:00
Ryan Richard
76709892bc
Refactor: extract helper functions in federation_domain_watcher.go
...
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-09-11 11:14:05 -07:00
Ryan Richard
a38fb16295
Load FederationDomain endpoints before updating its status
...
- Avoid a possible race condition where the status says "Ready" but
the endpoints take another moment to become available, potentially
casing a fast client to get a 404 after observing that the status
is "Ready" and then immediately trying to use the endpoints.
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-09-11 11:14:05 -07:00
Ryan Richard
e334ad6f7e
Fix lint errors in federation_domain_watcher.go, and adjust unit test
2023-09-11 11:14:05 -07:00
Ryan Richard
40dcc8a7f1
Update integration tests for new FederationDomain phase behavior
...
- Refactor testlib.CreateTestFederationDomain helper
- Call testlib.WaitForTestFederationDomainStatus after each integration
test creates an IDP and expects the FederationDomain to become ready
- Create an IDP for some tests which want the FederationDomain to be
ready but were previously not creating any IDP
- Expect the new FederationDomain condition type
"IdentityProvidersFound" in those tests where it is needed
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2023-09-11 11:14:05 -07:00
Ryan Richard
97a374c00b
Refactor federation_domain_watcher_test.go and add new test to its table
2023-09-11 11:14:05 -07:00
Benjamin A. Petersen
fe9364c58b
Expand IdentityProvidersFound condition in federation_domain_watcher
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-09-11 11:14:05 -07:00
Benjamin A. Petersen
e9fb4242d5
Update federation_domain_watcher with new IdentityProviderFound
...
- adds the truthy condition
- TODOs for falsy conditions
- addiional notes for other conditions
- tests updated to pass with the new condition
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-09-11 11:14:04 -07:00
Ryan Richard
48e44e13c6
Change federation_domain_watcher_test.go to use a test table style
2023-09-11 11:14:04 -07:00
Ryan Richard
5e2f98af65
Update informers unit test for FederationDomainWatcherController
2023-09-11 11:14:04 -07:00
Ryan Richard
3521e129cd
Change name of FederationDomain printer column back to "Status"
...
To be consistent with the name of the pinter columns on our other CRDs,
which call the Phase "Status" in the printer column names.
2023-09-11 11:14:04 -07:00
Ryan Richard
0b408f4fc0
Change FederationDomain.Status to use Phase and Conditions
2023-09-11 11:14:02 -07:00
Ryan Richard
022fdb9cfd
Update a test assertion to make failure easier to understand
2023-09-11 11:12:27 -07:00
Ryan Richard
e4f43683d4
fix more integration tests for multiple IDPs
2023-09-11 11:12:27 -07:00
Ryan Richard
514f9964c1
update 1.27 codegen for multiple IDPs
2023-09-11 11:12:25 -07:00
Ryan Richard
2c4927debe
update unit test that fails on slow CI workers
2023-09-11 11:11:56 -07:00
Ryan Richard
0f23931fe4
Fix some tests in supervisor_login_test.go
2023-09-11 11:11:56 -07:00
Ryan Richard
98ee9f0979
escape semicolons in variable values in integration-test-env-goland.sh
...
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-09-11 11:11:56 -07:00
Ryan Richard
048f05d39c
fix callback_handler_test.go
...
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-09-11 11:11:56 -07:00
Ryan Richard
b71e5964aa
fix token_handler_test.go
2023-09-11 11:11:56 -07:00
Benjamin A. Petersen
9d792352bf
test FederationDomainIdentityProvidersListerFinder
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-09-11 11:11:56 -07:00
Ryan Richard
86c791b8a6
reorganize federation domain packages to be more intuitive
...
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-09-11 11:11:52 -07:00
Benjamin A. Petersen
3160b5bad1
Reorganized FederationDomain packages to avoid circular dependency
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-09-11 11:09:50 -07:00
Ryan Richard
610f886fd8
Fix auth_handler_test.go
2023-09-11 11:09:50 -07:00
Benjamin A. Petersen
770f8af62b
Update auth_handler.go to return 422 error when upstream IdP not found
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-09-11 11:09:50 -07:00
Benjamin A. Petersen
6ef9cf273e
Fix post_login_handler_test.go
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-09-11 11:09:50 -07:00
Ryan Richard
793d1c6a5d
add a type assertion
2023-09-11 11:09:50 -07:00
Benjamin A. Petersen
8f6a12eae4
fix internal/oidc/provider/manager/manager_test.go
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-09-11 11:09:50 -07:00
Benjamin A. Petersen
5c0425fb71
refactor: rename "provider" to "federationdomain" when appropriate
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-09-11 11:09:50 -07:00
Ryan Richard
96098841dd
Get tests to compile again and fix lint errors
2023-09-11 11:09:50 -07:00
Benjamin A. Petersen
b7627208ea
Add tests for identity_transformation.go
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-09-11 11:09:50 -07:00
Ryan Richard
32aa015d5b
Fixup unit tests for the previous commit
2023-09-11 11:09:50 -07:00
Ryan Richard
7af75dfe3c
First draft of implementation of multiple IDPs support
2023-09-11 11:09:49 -07:00
Ryan Richard
1a53b4daea
Allow user-defined string & stringList consts for use in CEL expressions
2023-09-11 11:09:49 -07:00
Ryan Richard
5385fb38db
Add identity transformation packages idtransform and celformer
...
Implements Supervisor identity transformations helpers using CEL.
2023-09-11 11:09:49 -07:00
Ryan Richard
be11966a64
Add APIs for multiple IDP and id transformations to FederationDomain CRD
2023-09-11 11:09:46 -07:00
Ryan Richard
fee737b267
Merge pull request #1644 from vmware-tanzu/jtc/use-conditions-from-apimachinery
...
Use Conditions from apimachinery, specifically k8s.io/apimachinery/pk…
2023-09-11 11:00:32 -07:00
Joshua Casey
64f1bff13f
Use Conditions from apimachinery, specifically k8s.io/apimachinery/pkg/apis/meta/v1.Conditions
2023-09-11 10:13:39 -07:00
Joshua Casey
96fcfe4d53
Merge pull request #1662 from vmware-tanzu/supervisor_tls_cert_logging
...
Improve pod logs related to Supervisor TLS certificate problems
2023-09-11 12:10:52 -05:00
Ryan Richard
ce567c481b
Improve pod logs related to Supervisor TLS certificate problems
2023-09-11 09:13:21 -07:00
Joshua Casey
33311714e5
Merge pull request #1664 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-09-10 21:22:01 -05:00
Joshua Casey
1bab4ccdb7
Bump to go1.20.1
2023-09-10 19:35:31 -05:00
Pinny
d91ebc1049
Bump go.mod direct dependencies
2023-09-10 08:04:43 +00:00
Joshua Casey
4e48388693
Merge pull request #1663 from vmware-tanzu/css_fixes
...
Small css changes for docs web site
2023-09-08 19:05:07 -05:00
Benjamin A. Petersen
8df2d3cc58
site: fix codeblock left padding and spacing tweak
2023-09-08 15:41:31 -04:00
Ryan Richard
f6cbc879ef
Make pre code blocks have more consistent font size and line height
2023-09-08 12:12:22 -07:00
Ben Petersen
46c773aba6
Merge pull request #1647 from vmware-tanzu/jtc/bump-to-golang-1-21
...
Bump to golang 1.21
2023-09-06 16:39:40 -04:00
Joshua Casey
cd91edf26c
[LDAP] move attributeUnchangedSinceLogin from upstreamldap to activedirectoryupstreamwatcher
2023-09-06 14:52:01 -05:00
Joshua Casey
8fd55a1d81
Adjust test expectations for compilation differences with 1.21
...
- Requires some production code changes, to use pointers to function variables instead of pointers to functions
2023-09-06 14:52:01 -05:00
Joshua Casey
3908097c54
Run 'go fix ./...' with go1.21.0
2023-09-06 14:52:01 -05:00
Joshua Casey
12f18cbed8
Inline and remove testutil.TempDir
2023-09-06 14:52:01 -05:00
Joshua Casey
05a1187e2e
Simplify build tags associated with unsupported golang versions
2023-09-06 14:52:01 -05:00
Joshua Casey
5effb1a89b
Bump to golang 1.21.0, and bump all golang deps
2023-09-06 14:52:01 -05:00
Joshua Casey
b14e86bb91
Merge pull request #1654 from vmware-tanzu/docs/configure-supervisor-with-azuread
...
Add docs for Supervisor with Azure AD
2023-09-06 12:33:51 -05:00
Joshua Casey
c3445a747d
Merge pull request #1650 from vmware-tanzu/ben/prepare-for-integration-tests.sh-improvements
...
Improve hack/prepare-for-integration-tests.sh flexibility
2023-09-06 12:30:12 -05:00
Benjamin A. Petersen
a5c481cf61
Add docs for Supervisor with Azure AD
...
- Note that Azure AD is being rebranded to Entra ID
2023-09-06 13:14:37 -04:00
Benjamin A. Petersen
fd1936c45f
Improve hack/prepare-for-integration-tests.sh flexibility
...
- move pushd/popd inside if statements for alternative-deploy methods
- add specific alternative-deploy vars for individual components
- supervisor
- concierge
- local-user-authenticator
while preserving the current alternative-deploy for all three
- doc that equals for flags does not work
--foo=bar is invalid
--foo bar is valid
2023-08-31 15:02:24 -04:00
Ben Petersen
fbeb45a1a0
Merge pull request #1648 from vmware-tanzu/jtc/do-not-fail-hack-script-without-KUBE_GIT_VERSION
...
Do not fail hack script without kube git version
2023-08-30 10:58:15 -04:00
Joshua Casey
23bd3e7cc9
Do not fail hack/prepare-for-integration-tests.sh without KUBE_GIT_VERSION
2023-08-29 19:58:23 -05:00
Joshua Casey
7cda8f4123
Do not fail when KUBE_GIT_VERSION is not set
2023-08-29 17:31:22 -05:00
Joshua Casey
a42e3edf56
Merge pull request #1646 from vmware-tanzu/jtc/support-k8s-1-21-and-up
...
Remove generated code prior to K8s 1.21
2023-08-29 16:29:32 -05:00
Joshua Casey
76933f69b9
Update comments to indicate support for newer versions of Kubernetes
2023-08-29 15:40:52 -05:00
Joshua Casey
5c9d26baeb
Remove generated code for K8s 1.17, 1.18, 1.19, and 1.20
...
- Kind 0.20.0 supports 1.21 through 1.28 (inclusive)
- https://github.com/kubernetes-sigs/kind/releases/tag/v0.20.0
2023-08-28 16:56:32 -05:00
Joshua Casey
9248db971a
Merge pull request #1634 from vmware-tanzu/jtc/1633/update-pinniped-cli-version-output
...
#1633 Update `pinniped version` output
2023-08-28 14:19:17 -05:00
Joshua Casey
2dcc149fee
Split off helper function
2023-08-28 12:14:14 -05:00
Joshua Casey
38230fc518
Use pversion to retrieve buildtime information
2023-08-28 11:54:27 -05:00
Joshua Casey
8edecffcc0
Merge pull request #1630 from vmware-tanzu/jtc/support-k8s-1-28
...
Support k8s 1.28
2023-08-28 11:49:18 -05:00
Joshua Casey
ca05969f8d
Integration tests should use 'kubectl explain --output plaintext-openapiv2'
...
- OpenAPIV3 discovery of aggregate APIs seems to need a little more work in K8s 1.28
2023-08-28 10:50:11 -05:00
Joshua Casey
1b504b6fbd
Expose OpenAPIv3 explanations
2023-08-28 10:50:11 -05:00
Joshua Casey
dfd3d5075d
Ensure that kubegenerator scripts are executable
2023-08-28 10:50:11 -05:00
Joshua Casey
c51722a121
Run K8s codegen, adding 1.28.0
2023-08-28 10:50:11 -05:00
Joshua Casey
23ec91dee0
K8s API Server audit events are no longer pointers
2023-08-28 10:50:10 -05:00
Joshua Casey
ccba159639
Update all golang dependencies, especially k8s.io (for 1.28)
2023-08-28 10:50:10 -05:00
Ryan Richard
20cfa0a207
Merge pull request #1631 from vmware-tanzu/which_service_doc
...
Update docs to clarify which Supervisor port to expose outside cluster
2023-08-22 10:43:53 -07:00
Ryan Richard
835b8a5333
Update docs to clarify which Supervisor port to expose outside cluster
2023-08-22 10:00:56 -07:00
Ben Petersen
decd40bc26
Merge pull request #1621 from vmware-tanzu/site/blog-post-tags
...
blog: clean up tags page
2023-08-15 15:07:31 -04:00
Benjamin A. Petersen
2891da25f5
blog: clean up tags page
2023-08-15 14:18:48 -04:00
Ben Petersen
c54933bf33
Merge pull request #1606 from vmware-tanzu/jtc/add-blog-post-for-v0.25.0
...
Add blog post for v0.25.0
2023-08-15 11:43:50 -04:00
Benjamin A. Petersen
820c565d21
blog: add multiple author support for posts
2023-08-15 11:37:11 -04:00
Benjamin A. Petersen
e5e8c13f23
blog: impersonation-proxy spelling, grammar
2023-08-15 11:37:11 -04:00
Benjamin A. Petersen
b81206c15d
blog: impersonation-proxy post updates
2023-08-14 11:42:26 -04:00
Benjamin A. Petersen
31c144261f
add author to blog list page
2023-08-14 11:42:26 -04:00
Joshua Casey
4d0da0a5b2
Add blog post for v0.25.0
2023-08-10 09:00:16 -05:00
Pinny
8c96616b51
Updated versions in docs for v0.25.0 release
2023-08-09 21:12:41 +00:00
Ben Petersen
c7b49d9b93
Merge pull request #1615 from vmware-tanzu/jtc/fix-double-decoding-of-ca-crt
...
Fix #1582 by not double-decoding the ca.crt field in external TLS secrets for the impersonation proxy
2023-08-09 14:25:13 -04:00
Joshua Casey
7f0d04dba6
Address PR feedback
2023-08-09 11:42:42 -05:00
Joshua Casey
1707995378
Fix #1582 by not double-decoding the ca.crt field in external TLS secrets for the impersonation proxy
2023-08-08 20:17:21 -05:00
Ben Petersen
f24f82b25b
Merge pull request #1607 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-08-08 09:22:40 -04:00
Pinny
391c38057d
Bump go.mod direct dependencies
2023-08-08 08:03:24 +00:00
Joshua Casey
e2e9819c58
Merge pull request #1582 from vmware-tanzu/jtc/1547-poc
...
Add external certificate management for the Concierge Impersonation Proxy
2023-08-03 15:52:56 -05:00
Joshua Casey
dc61d132cf
Address PR feedback, especially to check that the CA bundle is some kind of valid cert
2023-08-03 14:57:21 -05:00
Joshua Casey
959f18b67b
Add integration test to verify that the impersonation proxy will use an external TLS serving cert
2023-08-03 14:57:21 -05:00
Joshua Casey
ee75a63057
Test Refactor: use explicit names for mTLS signing cert
2023-08-03 14:57:21 -05:00
Joshua Casey
bd035a180e
Impersonation proxy detects when the user has configured an externally provided TLS secret to serve TLS
...
- https://github.com/vmware-tanzu/pinniped/tree/main/proposals/1547_impersonation-proxy-external-certs
- https://joshuatcasey.medium.com/k8s-mtls-auth-with-tls-passthrough-1bc25e750f52
2023-08-03 14:57:21 -05:00
Joshua Casey
8df9033bfc
Add CredentialIssuer.Spec.ImpersonationProxy.TLS to configure an externally provided TLS secret
2023-08-03 14:57:21 -05:00
Joshua Casey
3e57716f0e
The impersonation controller should sync when any secret of type kubernetes.io/tls changes in the namespace
2023-08-03 14:57:21 -05:00
Joshua Casey
c78db66665
Merge pull request #1602 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-08-03 14:25:54 -05:00
Joshua Casey
8dec84b3b2
Bump golang to 1.20.7
2023-08-03 13:39:51 -05:00
Pinny
fcf707b1ce
Bump go.mod direct dependencies
2023-08-03 08:08:39 +00:00
Ben Petersen
563ac77b2f
Merge pull request #1603 from vmware-tanzu/site/sidebar/reorganize
...
Website docs page sidebar reorganization and restyle
2023-08-02 14:50:43 -04:00
Benjamin A. Petersen
e091cd6180
site: autogenerate new sections on main docs listing page
2023-08-02 13:52:31 -04:00
Benjamin A. Petersen
a71f1f88d9
site: minor text updates
2023-08-02 13:46:51 -04:00
Benjamin A. Petersen
bb670249cf
site: reorganize /howto/idp->/howto/supervisor
2023-08-02 13:22:23 -04:00
Benjamin A. Petersen
f632698568
site: add redirects for old doc links
2023-08-02 12:42:08 -04:00
Benjamin A. Petersen
0c81cdf309
site style: code block tweaks and sidebar menu highlight
2023-08-02 12:09:34 -04:00
Benjamin A. Petersen
fbb5296f68
site sidebar: menu renaming & reorganization
2023-08-02 12:09:33 -04:00
Benjamin A. Petersen
14c353993b
site sidebar: create new How-to sub-heading for IDP config
2023-08-02 12:09:24 -04:00
Ryan Richard
2cdd7c9577
Merge pull request #1598 from vmware-tanzu/chromedp
...
Replace agouti and chromedriver with chromedp across the whole project
2023-08-01 12:23:38 -07:00
Ryan Richard
4512eeca9a
Replace agouti and chromedriver with chromedp across the whole project
2023-08-01 11:27:09 -07:00
Ryan Richard
2c27db0c85
Merge pull request #1597 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-08-01 09:21:54 -07:00
Pinny
ed3217459d
Bump go.mod direct dependencies
2023-08-01 08:05:19 +00:00
Joshua Casey
411bc5cf1c
Merge pull request #1592 from vmware-tanzu/jtc/add-auth0-integration-guide
...
Add How To... Integrate with Auth0
2023-07-28 14:43:15 -05:00
Joshua Casey
82b39190ba
Add How To... Integrate with Auth0
2023-07-28 14:41:06 -05:00
Ben Petersen
fd54caeb55
Merge pull request #1595 from vmware-tanzu/site/css/resource-page-images
...
site css: images on resource page should fit the grid
2023-07-28 14:56:53 -04:00
Benjamin A. Petersen
c4f221d778
site css: images on resource page should fit the grid
2023-07-28 14:08:23 -04:00
Joshua Casey
057304e9aa
Merge pull request #1593 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-07-28 12:03:57 -05:00
Joshua Casey
63b5f921e1
Use k8s.io/utils/ptr instead of k8s.io/utils/pointer, which is deprecated
2023-07-28 09:16:02 -05:00
Pinny
eb87739060
Bump go.mod direct dependencies
2023-07-28 08:02:58 +00:00
Joshua Casey
122f819ed9
Merge pull request #1591 from vmware-tanzu/aws_blog
...
add AWS blog post to resources page of pinniped.dev
2023-07-27 19:52:10 -05:00
Ryan Richard
850b4f8510
add AWS blog post to resources page of pinniped.dev
2023-07-27 17:09:04 -05:00
Joshua Casey
6bb4e89fe2
Merge pull request #1590 from vmware-tanzu/kube_cert_agent_cpu_request
...
kube cert agent pod requests 0 cpu to avoid scheduling failures
2023-07-25 15:20:53 -05:00
Ryan Richard
743cb2d250
kube cert agent pod requests 0 cpu to avoid scheduling failures
2023-07-25 10:09:30 -07:00
Joshua Casey
01393aff7e
Merge pull request #1580 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-07-21 13:24:33 -05:00
Joshua Casey
89b7007694
Bump K8s APIs 1.24 through 1.27
2023-07-21 10:36:18 -05:00
Pinny
947f8e2ed4
Bump go.mod direct dependencies
2023-07-21 08:05:19 +00:00
Joshua Casey
6c329ba56f
Merge pull request #1549 from vmware-tanzu/jtc/tiny-fixups-to-support-1548
...
Tiny fixups to support #1548
2023-07-19 16:40:59 -05:00
Joshua Casey
39912060f7
Remove untested comments
2023-07-19 15:50:12 -05:00
Joshua Casey
c142c52258
Do not name return variables
2023-07-19 15:49:22 -05:00
Joshua Casey
741ccfd2ce
Fix lint
2023-07-19 15:47:48 -05:00
Joshua Casey
183c771d4e
Mark untested code paths
2023-07-19 15:47:48 -05:00
Joshua Casey
3d7eb55fc2
Pass caBundle instead of an object
2023-07-19 15:47:48 -05:00
Joshua Casey
5004925444
Backfill test cases
2023-07-19 15:47:48 -05:00
Joshua Casey
10c3e482b4
Prefer early return
2023-07-19 15:47:48 -05:00
Joshua Casey
8d8e1f3abd
Backfill issuer tests
2023-07-19 15:47:48 -05:00
Joshua Casey
f8ce2af08c
Use go:embed for easier to read tests
2023-07-19 15:47:48 -05:00
Joshua Casey
52b0cf43ca
Fix godoc
2023-07-19 15:47:47 -05:00
Joshua Casey
f6c2d40141
Merge pull request #1578 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-07-19 12:15:12 -07:00
Joshua Casey
38c281331a
Bump base images to go1.20.6 in Dockerfiles
2023-07-19 13:25:57 -05:00
Pinny
26686d6b94
Bump go.mod direct dependencies
2023-07-19 08:04:49 +00:00
Ryan Richard
8648cdf8e4
Merge pull request #1579 from vmware-tanzu/improve_perf_oidcclientsecret_test
...
Improve performance of supervisor_oidcclientsecret_test.go
2023-07-14 08:26:56 -07:00
Ryan Richard
7e5ce4b4f3
Merge pull request #1548 from vmware-tanzu/jtc/proposal/allow-external-certs-for-impersonation-proxy
...
Add proposal to implement #1547 , Concierge Impersonation Proxy | External Certificate Management
2023-07-13 14:58:35 -07:00
Ryan Richard
6c65fd910e
Improve performance of supervisor_oidcclientsecret_test.go
...
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-07-13 12:48:46 -07:00
Joshua Casey
95fdfba06d
Add proposal to implement #1547 , Concierge Impersonation Proxy | External Certificate Management
2023-07-13 10:16:11 -07:00
Joshua Casey
0f613d1823
Merge pull request #1407 from vmware-tanzu/multiple_idps_proposal
...
Proposal for multiple identity providers in the Supervisor
2023-07-12 19:56:31 -07:00
Ryan Richard
6db9c79fe0
Add proposal for multiple identity providers in the Supervisor
2023-07-12 15:14:21 -07:00
Joshua Casey
ab227a7c71
Merge pull request #1563 from vmware-tanzu/jtc/bump-all
...
Bump all dependencies and generated files
2023-07-07 09:03:18 -07:00
Joshua Casey
314ec48f46
Bump to golang:1.20.5
2023-07-06 16:48:25 -07:00
Joshua Casey
67cd5e70c2
Func ldap.Conn.Close() now returns an error
...
- https://github.com/go-ldap/ldap/compare/v3.4.4...v3.4.5
2023-07-06 16:48:25 -07:00
Joshua Casey
dbbaf9b969
Pin to the version of k8s.io/kube-openapi used by client-go@v0.27.3
...
- https://github.com/kubernetes/client-go/blob/v0.27.3/go.mod#L30
2023-07-05 21:28:23 -07:00
Joshua Casey
1ac36cfcf8
Update generated files
2023-07-05 21:28:23 -07:00
Joshua Casey
95dd5aabc2
Bump hack/update-go-mod/go.mod
2023-07-05 21:28:23 -07:00
Joshua Casey
8a755676fa
Bump all go.mod dependencies
2023-07-05 21:28:22 -07:00
Pinny
c3dccbb23d
Updated versions in docs for v0.24.0 release
2023-06-01 19:59:23 +00:00
Ryan Richard
914861c5da
Increase a test timeout in supervisor_secrets_test.go
2023-06-01 12:54:45 -07:00
Ryan Richard
9a87a7f14f
Update codeql-analysis.yml according to the latest template
2023-06-01 11:51:48 -07:00
Ryan Richard
533c41f143
Merge pull request #1538 from smeet07/patch-1
...
documents when to avoid setting anon auth command line option
2023-06-01 11:01:08 -07:00
Ryan Richard
4f3c081401
Merge branch 'main' into patch-1
2023-06-01 10:56:11 -07:00
Ryan Richard
d4b20b3899
Update codeql-analysis.yml
...
Also remove scorecards.yml because the version used is no longer
working, and the new version requires write permission to the repo.
2023-06-01 10:53:25 -07:00
Ryan Richard
86e360dc14
Increase a test timeout for when pulling container image is slow
2023-06-01 10:04:59 -07:00
Smeet nagda
c9d54de91a
backtick changes
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-06-01 22:25:24 +05:30
Ryan Richard
d30d76b7ac
Increase some test timeouts
2023-05-31 17:41:36 -07:00
Ryan Richard
5fa2992bc5
Merge pull request #1534 from vmware-tanzu/ldap_userAttributeForFilter
...
Add LDAPIdentityProvider.spec.groupSearch.userAttributeForFilter
2023-05-31 16:42:41 -07:00
Ryan Richard
020e04baf8
Merge branch 'main' into ldap_userAttributeForFilter
2023-05-31 16:42:30 -07:00
Ryan Richard
1bdb491376
Merge pull request #1540 from vmware-tanzu/bump_kube_versions_for_codegen
...
bump versions in kube-versions.txt and run codegen
2023-05-31 16:41:59 -07:00
Ryan Richard
b6b11a6d0c
increase timeout in a test
2023-05-31 15:59:44 -07:00
Ryan Richard
a78c677ca1
bump versions in kube-versions.txt and run codegen
2023-05-31 13:32:41 -07:00
Ryan Richard
d0048595da
Add docs for UserAttributeForFilter group search setting
2023-05-31 13:01:17 -07:00
Joshua Casey
46178e91ee
Merge branch 'main' into ldap_userAttributeForFilter
2023-05-31 14:41:16 -05:00
Joshua Casey
33cc973b43
Merge pull request #1537 from vmware-tanzu/jtc/bump-deps
...
Bump dependencies
2023-05-31 14:32:32 -05:00
Ryan Richard
d4710cb16e
Add integration test for AD UserAttributeForFilter group search setting
2023-05-31 11:36:49 -07:00
Ryan Richard
600d002a35
Use groupSearch.userAttributeForFilter during ActiveDirectory group searches
...
- Load the setting in the controller.
- The LDAP auth code is shared between AD and LDAP,
so no new changes there in this commit.
2023-05-31 11:17:40 -07:00
Ryan Richard
0a1f966886
Add ActiveDirectoryIdentityProvider.spec.groupSearch.userAttributeForFilter
...
Add the field to the tmpl file and run codegen.
Also update the count of the fields of our APIs in an integration test.
2023-05-31 11:09:08 -07:00
Ryan Richard
552eceabdb
Add integration test for UserAttributeForFilter group search setting
...
Also adds new integration test env var to support the new test:
PINNIPED_TEST_LDAP_EXPECTED_DIRECT_POSIX_GROUPS_CN
2023-05-31 10:29:44 -07:00
Ryan Richard
e3b7ba3677
Add group search tests for UserAttributeForFilter in ldap_client_test.go
2023-05-31 10:29:44 -07:00
Smeet nagda
6cbfde95ec
command line option.
2023-05-30 23:24:05 +05:30
Joshua Casey
6bd34fa6ea
Bump dependencies
2023-05-30 09:16:53 -05:00
Ryan Richard
c187474499
Use groupSearch.userAttributeForFilter during LDAP group searches
...
Load the setting in the controller.
Use the setting during authentication and during refreshes.
2023-05-25 14:25:17 -07:00
Ryan Richard
bad5e60a8e
Add LDAPIdentityProvider.spec.groupSearch.userAttributeForFilter
...
Add the field to the tmpl file and run codegen.
Also update the count of the fields of our APIs in an integration test.
2023-05-25 09:52:15 -07:00
Ryan Richard
e4dc810bff
Add some posixGroups to the openldap server for use in integration tests
2023-05-23 16:47:39 -07:00
Ryan Richard
749a208773
Merge pull request #1524 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-05-19 07:06:55 -07:00
Pinny
cb7732083d
Bump go.mod direct dependencies
2023-05-19 08:03:46 +00:00
Ryan Richard
e9d343d80d
Merge pull request #1522 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-05-16 11:30:04 -07:00
Pinny
3871e75140
Bump go.mod direct dependencies
2023-05-16 08:02:49 +00:00
Ryan Richard
b93ac16cee
Merge pull request #1520 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-05-12 10:29:20 -07:00
Ryan Richard
bd95f33f5e
Update string "zapr@v1.2.4" in unit test expectation
2023-05-12 09:18:47 -07:00
Pinny
e717748a3c
Bump go.mod direct dependencies
2023-05-12 08:06:19 +00:00
Ryan Richard
2d2cbef8de
Merge pull request #1497 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-05-10 21:12:51 -07:00
Ryan Richard
187ee80ee3
Handle the new output of kubectl explain which indents differently
2023-05-10 19:56:59 -07:00
Ryan Richard
484f134a98
Handle the new output of kubectl explain which shows GROUP separately
2023-05-10 18:03:40 -07:00
Ryan Richard
1e6e9e0c0e
Change tests to expect new error format from pkg golang.org/x/oauth2
2023-05-10 16:52:09 -07:00
Ryan Richard
bc9afc4554
Aggregated API endpoints now must implement rest.SingularNameProvider
...
This was a change in the interface requirements introduced in Kube 1.27.
2023-05-10 16:50:50 -07:00
Ryan Richard
8c3395481b
ran update.sh for new kube patch versions and adding 1.27
2023-05-10 12:39:35 -07:00
Ryan Richard
b40366d1f6
update versions in hack/lib/kube-versions.txt
2023-05-10 12:38:32 -07:00
Ryan Richard
a1a99b9eeb
Replace usages of deprecated funcs from the wait pkg
2023-05-10 11:41:11 -07:00
Ryan Richard
4756df08cb
Bump golang from 1.20.3 to 1.20.4
2023-05-10 10:36:03 -07:00
Ryan Richard
cf11f8ee7e
Remove replace directive for k8s.io/kube-openapi
2023-05-10 10:30:48 -07:00
Pinny
6b86d91cd7
Bump go.mod direct dependencies
2023-05-10 08:18:14 +00:00
Ryan Richard
49af96b2b1
Merge pull request #1510 from vmware-tanzu/doc_to_use_supervisor_without_concierge
...
Add tutorial doc for how to use Supervisor without Concierge
2023-05-09 13:08:28 -07:00
Ryan Richard
c08ebc622c
Add tutorial doc for how to use Supervisor without Concierge
2023-05-09 13:06:02 -07:00
Joshua Casey
7bd09ff21d
Merge pull request #1485 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-04-10 14:13:16 -05:00
Pinny
6801238e3e
Bump go.mod direct dependencies
2023-04-10 08:02:12 +00:00
Ryan Richard
6cac3d583f
Merge pull request #1482 from vmware-tanzu/pinny/bump-deps
...
Bump go.mod direct dependencies
2023-04-07 09:48:06 -07:00
Pinny
e13794cf73
Bump go.mod direct dependencies
2023-04-07 08:08:42 +00:00
Ryan Richard
5690ed7acd
Merge pull request #1477 from vmware-tanzu/jtc/bump-deps
...
Bump Deps
2023-04-05 13:43:27 -07:00
Joshua Casey
6b1dc9f3ce
Bump update-go-mod to latest direct go dependencies
2023-04-05 09:17:04 -05:00
Joshua Casey
ff89148a93
Bump all direct go dependencies
2023-04-05 09:15:17 -05:00
Joshua Casey
93f51c1a1d
Bump Dockerfiles to go1.20.3
2023-04-05 09:12:10 -05:00
Ryan Richard
e66406ffe2
Merge pull request #1446 from pnbrown/search-update
...
Update docsearch to v3
2023-04-04 14:56:50 -07:00
Pinny
03a2d603d3
Updated versions in docs for v0.23.0 release
2023-04-04 21:38:59 +00:00
Ryan Richard
a7b4e65521
Merge branch 'main' into search-update
2023-04-04 13:44:22 -07:00
Ryan Richard
b4f5be1332
Merge pull request #1471 from vmware-tanzu/doc_updates
...
Clarify audience value in Concierge-only auth doc, and other doc updates
2023-04-04 08:34:45 -07:00
Ryan Richard
eb4254b1c2
Update team members on website
2023-04-03 16:54:10 -07:00
Ryan Richard
19b60fe563
Clarify audience value in Concierge-only auth doc, and other doc updates
...
Also renamed a couple of integration test files to make their names
more clear.
2023-04-03 16:54:10 -07:00
Ryan Richard
985260dcea
Merge pull request #1470 from vmware-tanzu/fix_int_tests_for_1.27_prerelease
...
Fix integration tests to pass with Kube 1.27/1.28 pre-release builds
2023-04-03 15:21:02 -07:00
Ryan Richard
7cd16b179c
Fix integration tests to pass with Kube 1.27/1.28 pre-release builds
...
Fix test failures that occurred in the k8s-main integration test CI job
when using Kube 1.27 and 1.28 pre-release builds.
2023-04-03 14:16:47 -07:00
Ben Petersen
64263fdb0a
Merge pull request #1469 from vmware-tanzu/fix_typo_for_go1.19
...
Fix typo that prevented compiling with Go 1.19
2023-04-03 16:38:59 -04:00
Ryan Richard
a04129548f
Increase some test timeouts that failed once on Kind jobs in CI
2023-04-03 11:46:11 -07:00
Ryan Richard
f7fac330f5
Fix typo that prevented compiling with Go 1.19
2023-04-03 11:46:11 -07:00
Ryan Richard
6ae3c0a9c3
Merge pull request #1453 from jamieklassen/patch-1
...
use apiGroup without version in webapp auth howto
2023-04-03 11:08:20 -07:00
Joshua Casey
84e2f27249
Merge pull request #1468 from vmware-tanzu/update_logr_dep
...
Upgrade dep github.com/go-logr/logr@v1.2.3 to v1.2.4
2023-03-31 13:38:10 -05:00
Ryan Richard
f99ca61bba
Upgrade dep github.com/go-logr/logr@v1.2.3 to v1.2.4
2023-03-31 10:23:58 -07:00
Joshua Casey
7d394658cc
Merge pull request #1466 from vmware-tanzu/get_kubeconfig_discover_username_group_scopes
...
`pinniped get kubeconfig` discovers support for username/groups scopes
2023-03-30 14:47:56 -05:00
Ryan Richard
d659b90e19
pinniped get kubeconfig discovers support for username/groups scopes
2023-03-30 11:52:53 -07:00
Joshua Casey
bd56eebb8a
Merge pull request #1465 from vmware-tanzu/jtc/bump-deps
...
Bump dependencies to latest
2023-03-29 10:56:22 -05:00
Ryan Richard
2ba378904d
Bump dependencies to latest
...
Signed-off-by: Joshua T Casey <caseyj@vmware.com >
2023-03-28 15:15:27 -05:00
Joshua Casey
1ebc8e8b2e
Merge pull request #1463 from vmware-tanzu/jtc/bump-deps
...
Bump Dependencies
2023-03-20 21:06:06 -05:00
Joshua Casey
1699a9995e
Update generated K8s API files
2023-03-20 18:44:48 -05:00
Joshua Casey
255f51f75b
Bump all golang dependencies
2023-03-20 14:31:59 -05:00
Joshua Casey
5928e05d9e
Merge pull request #1436 from vmware-tanzu/jtc/bump-deps
...
Bump k8s.io dependencies, and add support for Go1.20 TLS error messages
2023-03-16 16:01:28 -05:00
Joshua Casey
fc0f9d959a
Bump golangci-lint to 1.51.2 and fix lint issues
2023-03-16 14:55:37 -05:00
Jamie Klassen
6ee05611a1
use apiGroup without version in webapp auth howto
2023-03-16 15:51:17 -04:00
Joshua Casey
a783a5d6b2
Bump to golang 1.20.2
2023-03-16 09:42:15 -05:00
Joshua Casey
72d537f8b4
Bump all golang deps
2023-03-16 09:42:15 -05:00
Joshua Casey
1c8ab72f4f
Update test asserts for Golang 1.19 and 1.20 TLS error messages
2023-03-07 12:25:10 -06:00
Nigel Brown
241a3a6cfb
Update docsearch to v3
...
Update docsearch to v3
Signed-off-by: Nigel Brown <nigelb@vmware.com >
2023-03-06 14:56:02 -06:00
Joshua Casey
daf4be03ce
Update generated kubernetes API files
2023-03-05 22:12:54 -06:00
Joshua Casey
7d48fad385
Bump k8s.io deps to 0.26.2
2023-03-05 22:12:54 -06:00
Joshua Casey
0aa4892353
Merge pull request #1435 from vmware-tanzu/jtc/add-update-go-mod
...
Add helper script to give you all the commands to update all go mod dependencies
2023-03-05 22:11:43 -06:00
Joshua Casey
947b4fd579
Add helper script to give you all the commands to update all go mod dependencies
2023-03-02 08:47:57 -06:00
Joshua Casey
205559b4f3
Merge pull request #1420 from vmware-tanzu/jtc/bump-deps
...
Bump all direct go dependencies, and use go 1.20.1 in the Docker images
2023-03-01 16:14:59 -06:00
Joshua Casey
2bd24f674a
Bump golang in Dockerfiles to 1.20.1
2023-02-27 14:16:49 -06:00
Joshua Casey
8b8af49651
Bump all direct go dependencies
2023-02-27 14:16:49 -06:00
Ryan Richard
60d12d88ac
Merge pull request #1387 from vmware-tanzu/jtc/bump-to-golang-1.19-semantics
...
Bump to golang 1.18 semantics
2023-01-31 10:23:24 -08:00
Joshua Casey
77041760cc
Ignore lint issues for deprecated Pool.Subjects()
...
- 4aa1efed48/src/crypto/x509/cert_pool.go (L243-L244)
2023-01-31 10:10:44 -06:00
Joshua Casey
b9c8e359ab
Use sync/atomic instead of go.uber.org/atomic
2023-01-31 10:10:44 -06:00
Joshua Casey
24cf7c5bcd
Remove internal/psets in favor of k8s.io/apimachinery/pkg/util/sets
2023-01-31 10:10:44 -06:00
Joshua Casey
0d4a4fd2bf
Bump to go 1.18 semantics
2023-01-31 10:09:55 -06:00
Joshua Casey
d0784eaed2
Merge pull request #1395 from vmware-tanzu/cli_help_messages
...
Unhide login subcommand and improve several command help messages
2023-01-29 21:16:59 -06:00
Ryan Richard
2d3e53e6ac
Increase timeouts in supervisor_oidcclientsecret_test.go
...
They were too short after enabling the race detector for integration
tests in CI.
2023-01-27 14:23:04 -08:00
Ryan Richard
7a74ca9f57
Unhide login subcommand and improve several command help messages
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-01-27 13:34:04 -08:00
Joshua Casey
d9e79eac9d
Merge pull request #1391 from vmware-tanzu/dependabot/go_modules/k8s.io/klog/v2-2.90.0
...
Bump k8s.io/klog/v2 from 2.80.1 to 2.90.0
2023-01-27 10:36:19 -06:00
Joshua Casey
adcfedff68
Merge pull request #1394 from vmware-tanzu/jtc/add-no-cookie-banner-183755195
...
Website now displays that it does not use cookies
2023-01-27 10:35:14 -06:00
Joshua Casey
6d39b81b8f
Website now displays that it does not use cookies.
...
[#183755195 ]
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-01-26 17:09:57 -06:00
dependabot[bot]
efeb9a9de0
Bump k8s.io/klog/v2 from 2.80.1 to 2.90.0
...
Bumps [k8s.io/klog/v2](https://github.com/kubernetes/klog ) from 2.80.1 to 2.90.0.
- [Release notes](https://github.com/kubernetes/klog/releases )
- [Changelog](https://github.com/kubernetes/klog/blob/main/RELEASE.md )
- [Commits](https://github.com/kubernetes/klog/compare/v2.80.1...v2.90.0 )
---
updated-dependencies:
- dependency-name: k8s.io/klog/v2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-01-25 09:02:36 -06:00
Joshua Casey
d2afdfaf9a
Merge pull request #1389 from vmware-tanzu/error_assertions
...
Accept both old and new cert error strings on MacOS in test assertions
2023-01-24 15:06:40 -06:00
Ryan Richard
bd9d6fab27
Merge branch 'main' into error_assertions
2023-01-24 09:34:19 -08:00
Joshua Casey
5756c56497
Merge pull request #1388 from vmware-tanzu/jtc/add-presentation-to-website-183914671
...
Add 'Sharing is NOT Caring video presentation to website'
2023-01-22 18:04:13 -06:00
Ryan Richard
c6e4133c5e
Accept both old and new cert error strings on MacOS in test assertions
...
Used this as an opportunity to refactor how some tests were
making assertions about error strings.
New test helpers make it easy for an error string to be expected as an
exact string, as a string built using sprintf, as a regexp, or as a
string built to include the platform-specific x509 error string.
All of these helpers can be used in a single `wantErr` field of a test
table. They can be used for both unit tests and integration tests.
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-01-20 15:01:36 -08:00
Joshua Casey
5005f94ebb
Standardize video resource attribution and dates
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-01-20 12:14:00 -06:00
Joshua Casey
15d700a41c
Add video to website resources - 'Sharing is NOT Caring'
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-01-20 12:13:54 -06:00
Pinny
044cbd0325
Updated versions in docs for v0.22.0 release
2023-01-20 05:17:45 +00:00
Ryan Richard
e6a18978d1
Merge pull request #1385 from vmware-tanzu/update_kube_deps_0.26.1
...
Update Kube deps to 0.26.1
2023-01-19 15:48:41 -08:00
Ryan Richard
14858a6db3
Increase lint timeout to 20m for CI
2023-01-19 14:41:42 -08:00
Ryan Richard
8cad5ea3c9
Update Kube deps to 0.26.1
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2023-01-19 14:03:37 -08:00
Ryan Richard
0ffd01d993
Merge pull request #1372 from vmware-tanzu/jtc/support-k8s-0.26-and-bump-generated-code
...
bump k8s deps to 0.26 and bump generated code to include 1.26
2023-01-19 13:47:12 -08:00
Ryan Richard
23f6dd44a0
Use Go 1.19 for fips builds
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2023-01-18 16:00:16 -08:00
Ryan Richard
7ff3b3d9cb
Code changes to support Kube 0.26 deps
2023-01-18 14:39:22 -08:00
Joshua Casey
a430f4b730
Bump K8s deps to 0.26 and add codegen for 0.26
2023-01-18 13:41:06 -08:00
Joshua Casey
585adc96d8
Bump generated files for K8s 1.22, 1.23, 1.24, 1.25
2023-01-18 13:38:36 -08:00
Ryan Richard
3b46547efc
add hack/update-copyright-year.sh
2023-01-18 13:36:23 -08:00
Ryan Richard
53f56f328b
Merge pull request #1371 from vmware-tanzu/jtc/bump-deps-except-k8s
...
Bump Golang and Deps (except K8s)
2023-01-18 09:19:27 -08:00
Ryan Richard
9aafff78f1
bump two more direct deps
2023-01-18 08:26:55 -08:00
Joshua Casey
a49e48c6f7
Bump FIPS Golang to 1.18.10b7
...
Resolves #1367
2023-01-17 21:20:50 -06:00
Joshua Casey
6926c1ab64
Bump Golang to 1.19.5
...
Resolves #1368
2023-01-17 21:20:37 -06:00
Joshua Casey
f9e2212882
Bump all deps except K8s
...
Resolves:
- #1360
- #1361
- #1362
- #1363
- #1364
- #1365
2023-01-17 21:11:39 -06:00
Joshua Casey
95d35a174d
Merge pull request #1294 from vmware-tanzu/additional_claim_mapping
...
Add `spec.claims.additionalClaimMappings` to OIDCIdentityProvider
2023-01-17 20:48:58 -06:00
Ryan Richard
2f9b8b105d
update copyright to 2023 in files changed by this PR
2023-01-17 15:54:16 -08:00
Ryan Richard
3d20fa79a7
Two more integration tests for additionalClaimMappings
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2023-01-17 15:36:39 -08:00
Ryan Richard
74c3156059
Assert more cluster-scoped ID token claims in supervisor_login_test.go
2023-01-17 13:10:51 -08:00
Joshua Casey
6156fdf175
Expect complex subclaims of additionalClaims to have type interface{}
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2023-01-17 13:27:40 -06:00
Joshua Casey
f494c61790
additionalClaims claim should not be present when no sub claims are expected
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-01-17 11:58:08 -06:00
Ryan Richard
2633d72ce2
Change some test variable names related to additional claims
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2023-01-13 14:59:59 -08:00
Joshua Casey
a94bbe70c7
Add integration test to verify that additionalClaims are present in an ID Token
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-01-13 14:59:59 -08:00
Joshua Casey
9acc456fd7
Update token_handler_test to check additionalClaims for bools, numbers, and slices
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2023-01-13 14:59:59 -08:00
Ryan Richard
8ff6ef32e9
Allow additional claims to map into an ID token issued by the supervisor
...
- Specify mappings on OIDCIdentityProvider.spec.claims.additionalClaimMappings
- Advertise additionalClaims in the OIDC discovery endpoint under claims_supported
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2023-01-13 14:59:50 -08:00
Joshua Casey
f4c9202f49
Merge pull request #1369 from vmware-tanzu/kube_cert_agent_reduce_memory
...
Reduce memory consumption of pinniped-concierge-kube-cert-agent binary
2023-01-13 14:26:39 -06:00
Ryan Richard
bc7ffd37a6
Reduce memory consumption of pinniped-concierge-kube-cert-agent binary
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2023-01-13 11:07:42 -08:00
Pinny
f691baec74
Updated versions in docs for v0.21.0 release
2022-12-21 13:12:06 +00:00
Ryan Richard
39a95e1198
Merge pull request #1354 from vmware-tanzu/dump_more_deps_dec_2022
...
Bump Go 1.19.1 -> 1.19.4, and go-boringcrypto 1.18.6b7 -> 1.18.9b7
2022-12-15 10:35:54 -08:00
Ryan Richard
6d3ed73eee
Bump Go 1.19.1 -> 1.19.4, and go-boringcrypto 1.18.6b7 -> 1.18.9b7
2022-12-15 09:40:32 -08:00
Ryan Richard
e3a963b73f
Merge pull request #1340 from vmware-tanzu/jtc/update-maintainers
...
Update maintainers
2022-12-15 09:31:14 -08:00
Ryan Richard
30818cb66d
Merge pull request #1353 from vmware-tanzu/dump_deps_dec_2022
...
Upgrade project Go dependencies
2022-12-15 09:23:16 -08:00
Ryan Richard
976035115e
Stop using pointer pkg functions that were deprecated by dependency bump
2022-12-14 08:47:16 -08:00
Ryan Richard
85b67f254c
Add more assertion to token_handler_test.go for token exchange exp claim
2022-12-14 08:47:16 -08:00
Ryan Richard
e1a0367b03
Upgrade project Go dependencies
...
Most of the changes in this commit are because of these fosite PRs
which changed behavior and/or APIs in fosite:
- https://github.com/ory/fosite/pull/667
- https://github.com/ory/fosite/pull/679 (from me!)
- https://github.com/ory/fosite/pull/675
- https://github.com/ory/fosite/pull/688
Due to the changes in fosite PR #688 , we need to bump our storage
version for anything which stores the DefaultSession struct as JSON.
2022-12-14 08:47:16 -08:00
Joshua Casey
a9aac69c65
Add https://github.com/joshuatcasey as a Maintainer. Remove Technical Lead role.
2022-12-08 11:47:06 -06:00
Joshua Casey
d88895c4a5
Prettify MAINTAINERS.md
2022-12-08 11:43:09 -06:00
Ryan Richard
d35306aa85
Merge pull request #1322 from rooso/main
...
Update example configuration for Active Directory
2022-11-09 09:35:32 -08:00
rooso
3548362ce4
Update example configuration for Active Directory
...
there was an typo in the example configuration for Microsoft Active Directory. Attribute was `userPrincipleName` but should be `userPrincipalName`
2022-10-20 14:34:12 +02:00
Ben Petersen
4951cbe5d4
Merge pull request #1306 from vmware-tanzu/ci-updates-for-external-idps
...
Update TestLDAPSearch_Parallel to notice different var for external ldap server
2022-09-29 12:35:50 -04:00
Ryan Richard
66f4ee8a1b
Update more tests to notice different var for external ldap server
2022-09-28 14:32:10 -07:00
Benjamin A. Petersen
09b9075abb
Update TestLDAPSearch_Parallel to notice different var for external ldap server
2022-09-28 16:02:56 -04:00
Ben Petersen
99c635c38d
Merge pull request #1304 from vmware-tanzu/site-footers
...
Update site footer and maintainers page
2022-09-27 16:18:18 -04:00
Benjamin A. Petersen
265c63fa54
Update site footer and maintainers page
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2022-09-27 16:13:55 -04:00
Pinny
2995e6a48c
Updated versions in docs for v0.20.0 release
2022-09-27 17:16:32 +00:00
Ryan Richard
563c193499
Fix integration test expectation for AKS clusters
2022-09-26 17:00:11 -07:00
Ryan Richard
0d215566d8
Yet another integration test fix for dynamic clients feature with Okta
2022-09-26 16:41:52 -07:00
Ryan Richard
23185d55a5
Another integration test fix for dynamic clients feature with Okta
...
Also increase the timeout in an integration test because it is flaking
on one of the GKE environments sometimes, probably because the
Concierge controllers aren't ready fast enough before the integration
tests start.
2022-09-26 14:43:50 -07:00
Ryan Richard
f302e71b0f
Fix some integration tests' handling of groups to work with Okta
2022-09-26 12:40:07 -07:00
Ryan Richard
110681cdb8
Fix the name of the API Service updater controller in the log messages
2022-09-26 12:37:34 -07:00
Ryan Richard
36dbc7c9bf
Update supervisor_storage_test.go to avoid using fuzzed value
...
The fuzzed value depends on which Go compiler is used. This breaks
the fips tests in CI as long as the fips compiler is a version behind
(we are still waiting for the 1.19 fips compiler to come out).
The fuzzing is still being tested by a separate unit test, so we are
not losing fuzzing test coverage.
2022-09-26 11:19:39 -07:00
Ryan Richard
1e05012bdb
Merge pull request #1303 from vmware-tanzu/dependabot/go_modules/github.com/tdewolff/minify/v2-2.12.2
...
Bump github.com/tdewolff/minify/v2 from 2.12.1 to 2.12.2
2022-09-26 07:56:37 -07:00
dependabot[bot]
e122e65b0a
Bump github.com/tdewolff/minify/v2 from 2.12.1 to 2.12.2
...
Bumps [github.com/tdewolff/minify/v2](https://github.com/tdewolff/minify ) from 2.12.1 to 2.12.2.
- [Release notes](https://github.com/tdewolff/minify/releases )
- [Commits](https://github.com/tdewolff/minify/compare/v2.12.1...v2.12.2 )
---
updated-dependencies:
- dependency-name: github.com/tdewolff/minify/v2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-09-26 01:34:52 +00:00
Ryan Richard
d444242431
Merge pull request #1302 from vmware-tanzu/bump_deps_sept_2022
...
Bump deps sept 2022
2022-09-23 16:38:41 -07:00
Ryan Richard
3b507dab4a
Upgrade generated code to use the latest available versions of Kube libs
...
Manually kube-versions.txt and then ran ./hack/update.sh to update the
generated code.
2022-09-23 14:55:23 -07:00
Ryan Richard
bad95c072e
Upgrade project dependencies to latest
...
- Upgrade Go used in CI from 1.19.0 to 1.19.1
- Upgrade all go.mod direct dependencies to latest available versions
- Upgrade distroless base image to latest available version
- Upgrade Go fips compiler to to latest available version
Note that upgrading the go-oidc library changed an error message
returned by that library, so update the places where tests were
expecting that error message.
2022-09-23 14:41:54 -07:00
Ryan Richard
eb62f04f21
Merge pull request #1181 from vmware-tanzu/dynamic_clients
...
Dynamic OIDC clients feature
2022-09-23 14:03:08 -07:00
Ryan Richard
208a566bdf
Merge branch 'main' into dynamic_clients
2022-09-23 14:01:11 -07:00
Ryan Richard
510286570a
Merge pull request #1286 from vmware-tanzu/psa
...
Make Pinniped compatible with Kube clusters which have enabled PSAs
2022-09-23 13:56:23 -07:00
Ryan Richard
66b1df2dd9
Fix a test assertion in supervisor_oidcclientsecret_test.go
2022-09-23 07:59:05 -07:00
Ryan Richard
a7eb16dde1
Merge pull request #1255 from vmware-tanzu/dynamic_clients_docs
...
Add docs for dynamic clients
2022-09-22 12:34:17 -07:00
Ryan Richard
b46a2f0267
Add more details about OIDCClients to configure-auth-for-webapps.md
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2022-09-22 12:31:31 -07:00
Ryan Richard
e27b04cb41
Merge pull request #1273 from vmware-tanzu/dynamic_client_create_secret
...
Implement OIDCClientSecretRequest API for managing dynamic client secrets
2022-09-22 11:31:47 -07:00
Ryan Richard
3a7b373a7d
Add OIDCClientSecretRequest to code-walkthrough.md
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2022-09-22 11:26:17 -07:00
Ryan Richard
ba98c8cc14
Enhance Kube middleware to rewrite API group of ownerRefs on update verb
...
When oidcclientsecretstorage.Set() wants to update the contents of the
storage Secret, it also wants to keep the original ownerRef of the
storage Secret, so it needs the middleware to rewrite the API group
of the ownerRef again during the update (just like it had initially done
during the create of the Secret).
2022-09-21 21:30:44 -07:00
Ryan Richard
31716358a9
Make the assertNoRestartsDuringTest() helper ignore terminating pods
2022-09-21 21:27:02 -07:00
Ryan Richard
12b3079377
integration tests for oidcclientsecretrequest endpoint
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2022-09-21 16:25:41 -07:00
Benjamin A. Petersen
a7ca2cf2dd
fix test name in clientsecretrequest unit tests
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2022-09-21 15:17:23 -07:00
Ryan Richard
b49dcc7d45
Resolve a todo in oidcclientsecretstorage.go
2022-09-21 15:17:21 -07:00
Ryan Richard
90f13225ef
Update integration test helper to call new OIDCClientSecretRequest API
2022-09-21 15:17:21 -07:00
Ryan Richard
ee3515f23b
Create OIDCClientSecretRequest returns metadata
...
Sets the Name, Namespace, CreationTimestamp fields in the object meta
of the return value.
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2022-09-21 15:17:10 -07:00
Ryan Richard
7997285b19
Make fields optional on OIDCClientSecretRequest
2022-09-21 15:17:08 -07:00
Benjamin A. Petersen
6d863a159b
Add unit tests for clientsecretrequest logs
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2022-09-21 15:17:02 -07:00
Benjamin A. Petersen
5e3a912200
Add unit tests for clientsecretrequest
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2022-09-21 15:16:48 -07:00
Benjamin A. Petersen
a812646dd1
Update pre-commit-config
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2022-09-21 15:16:39 -07:00
Benjamin A. Petersen
488296a480
adding tests
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2022-09-21 15:16:12 -07:00
Benjamin A. Petersen
55fb62d060
Fix OIDCClientSecretStorage.Get to check version, add tests for OIDCClientSecretStorage
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2022-09-21 15:15:50 -07:00
Ryan Richard
af01c3aeb6
Make kubectl explain work for Pinniped aggregated APIs
...
- Change update-codegen.sh script to also generated openapi code for the
aggregated API types
- Update both aggregated API servers' configuration to make them serve
the openapi docs for the aggregated APIs
- Add new integration test which runs `kubectl explain` for all Pinniped
API resources, and all fields and subfields of those resources
- Update some the comments on the API structs
- Change some names of the tmpl files to make the filename better match
the struct names
2022-09-21 15:15:37 -07:00
Ryan Richard
1c296e5c4c
Implement the OIDCClientSecretRequest API
...
This commit is a WIP commit because it doesn't include many tests
for the new feature.
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
2022-09-21 15:15:07 -07:00
Ryan Richard
b564454bab
Make Pinniped compatible with Kube clusters which have enabled PSAs
...
Where possible, use securityContext settings which will work with the
most restrictive Pod Security Admission policy level (as of Kube 1.25).
Where privileged containers are needed, use the namespace-level
annotation to allow them.
Also adjust some integration tests to make similar changes to allow the
integration tests to pass on test clusters which use restricted PSAs.
2022-09-15 14:58:15 -07:00
Ryan Richard
7c247e9000
Merge branch 'main' into dynamic_clients
2022-09-15 12:00:41 -07:00
anjalitelang
6b3a2e87c0
Update ROADMAP.md
2022-09-09 11:18:48 -04:00
anjalitelang
3c2820fdae
Update ROADMAP.md
...
Updating the roadmap based on current needs of users 9/9/2022
2022-09-09 11:18:19 -04:00
Pinny
4441ac0600
Updated versions in docs for v0.19.0 release
2022-08-26 20:08:48 +00:00
Ryan Richard
dc39162597
Rerun codegen after merging main into dynamic_clients
...
Needed to update the new v1.25 generated code to include the new APIs
that were added in the dynamic_clients branch.
2022-08-26 12:13:53 -07:00
Ryan Richard
8d8f980e86
Merge branch 'main' into dynamic_clients
2022-08-26 11:35:35 -07:00
Ryan Richard
a5ac710831
Add unit test for expired refresh tokens used in refresh flow
2022-08-26 09:23:25 -07:00
Ryan Richard
5246ff9005
Give more time for slow envs to update in concierge_api_serving_certs_test.go
...
This test is a little flaky in slow Kubernetes clusters. Try giving a
little more time for things to update before failing the test, to
hopefully make this test a little more reliable.
2022-08-25 11:20:54 -07:00
Ryan Richard
24a3588eb0
Run codegen again using Go 1.19, causes whitespace diffs in generated code
2022-08-25 09:36:54 -07:00
Ryan Richard
8f27219ac9
Change allowed gcp auth plugin is deprecation warning text
...
It seems that google changed it from "the gcp auth plugin is deprecated
in v1.22+, unavailable in v1.25+; use gcloud instead" to instead say
"unavailable in v1.26+". Make the matcher in category_test.go more loose
to allow both to match.
2022-08-25 08:11:37 -07:00
Ryan Richard
736b385d7b
Merge pull request #1264 from vmware-tanzu/access_token_validation
...
Improve token exchange error messages and error test cases
2022-08-24 17:53:53 -07:00
Ryan Richard
c40465127e
Merge branch 'main' into access_token_validation
2022-08-24 16:50:21 -07:00
Ryan Richard
af7cf673e0
Merge pull request #1192 from vmware-tanzu/dependabot/docker/distroless/static-66cd130
...
Bump distroless/static from `2556293` to `66cd130`
2022-08-24 16:49:37 -07:00
Ryan Richard
ee99106160
Merge pull request #1193 from vmware-tanzu/dependabot/docker/hack/distroless/static-66cd130
...
Bump distroless/static from `2556293` to `66cd130` in /hack
2022-08-24 16:49:18 -07:00
Ryan Richard
65197d0f9d
Merge branch 'main' into access_token_validation
2022-08-24 16:41:12 -07:00
dependabot[bot]
f320a04125
Bump distroless/static from 2556293 to 66cd130
...
Bumps distroless/static from `2556293` to `66cd130`.
---
updated-dependencies:
- dependency-name: distroless/static
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-08-24 23:40:35 +00:00
dependabot[bot]
036c937db5
Bump distroless/static from 2556293 to 66cd130 in /hack
...
Bumps distroless/static from `2556293` to `66cd130`.
---
updated-dependencies:
- dependency-name: distroless/static
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-08-24 23:40:34 +00:00
Ryan Richard
4e8601e73b
Merge pull request #1272 from vmware-tanzu/bump_deps_aug_2022
...
Bump all deps
2022-08-24 16:39:45 -07:00
Ryan Richard
138f1d263f
Rerun godegen using Go 1.19, causes whitespace diffs in generated code
2022-08-24 16:06:42 -07:00
Ryan Richard
43af297b44
Add codegen for Kube 1.25, and update patch versions on older codegen
2022-08-24 15:13:21 -07:00
Ryan Richard
c6c2c525a6
Upgrade the linter and fix all new linter warnings
...
Also fix some tests that were broken by bumping golang and dependencies
in the previous commits.
Note that in addition to changes made to satisfy the linter which do not
impact the behavior of the code, this commit also adds ReadHeaderTimeout
to all usages of http.Server to satisfy the linter (and because it
seemed like a good suggestion).
2022-08-24 14:45:55 -07:00
Ryan Richard
03694d78a8
Implement new Destroy() interface from rest.Storage from Kube v1.25
2022-08-24 12:04:38 -07:00
Ryan Richard
fe083f73fc
Bump to golang 1.19.0 and to latest distroless base image
...
For fips dockerfile, the fips 1.19 compiler has not been released yet,
so bump to the latest available.
2022-08-24 11:18:53 -07:00
Ryan Richard
c1ebf5b737
Run go mod tidy -compat=1.17
2022-08-24 10:06:56 -07:00
Ryan Richard
dd7902faa0
bump golang deps
2022-08-24 10:03:09 -07:00
Ryan Richard
1384f75731
Improve token exchange error messages and error test cases
2022-08-23 17:20:30 -07:00
Ryan Richard
91cf439b31
Merge pull request #1249 from vmware-tanzu/username_scope
...
Add the new `username` scope to the Supervisor and exclude usernames from dynamic clients which are not granted the scope, and other dynamic client related changes
2022-08-19 10:21:45 -07:00
Ryan Richard
02a27e0186
Add docs for dynamic clients
2022-08-11 14:35:18 -07:00
Ryan Richard
0bb2c7beb7
Always add the azp claim to ID tokens to show the original client ID
...
When the token exchange grant type is used to get a cluster-scoped
ID token, the returned token has a new audience value. The client ID
of the client which performed the authorization was lost. This didn't
matter before, since the only client was `pinniped-cli`, but now that
dynamic clients can be registered, the information would be lost in the
cluster-scoped ID token. It could be useful for logging, tracing, or
auditing, so preserve the information by putting the client ID into the
`azp` claim in every ID token (authcode exchange, clsuter-scoped, and
refreshed ID tokens).
2022-08-09 16:07:23 -07:00
Ryan Richard
8a5db99abf
get kubeconfig cmd errors on audience values with reserved substring
2022-08-09 09:12:25 -07:00
Ryan Richard
22fbced863
Create username scope, required for clients to get username in ID token
...
- For backwards compatibility with older Pinniped CLIs, the pinniped-cli
client does not need to request the username or groups scopes for them
to be granted. For dynamic clients, the usual OAuth2 rules apply:
the client must be allowed to request the scopes according to its
configuration, and the client must actually request the scopes in the
authorization request.
- If the username scope was not granted, then there will be no username
in the ID token, and the cluster-scoped token exchange will fail since
there would be no username in the resulting cluster-scoped ID token.
- The OIDC well-known discovery endpoint lists the username and groups
scopes in the scopes_supported list, and lists the username and groups
claims in the claims_supported list.
- Add username and groups scopes to the default list of scopes
put into kubeconfig files by "pinniped get kubeconfig" CLI command,
and the default list of scopes used by "pinniped login oidc" when
no list of scopes is specified in the kubeconfig file
- The warning header about group memberships changing during upstream
refresh will only be sent to the pinniped-cli client, since it is
only intended for kubectl and it could leak the username to the
client (which may not have the username scope granted) through the
warning message text.
- Add the user's username to the session storage as a new field, so that
during upstream refresh we can compare the original username from the
initial authorization to the refreshed username, even in the case when
the username scope was not granted (and therefore the username is not
stored in the ID token claims of the session storage)
- Bump the Supervisor session storage format version from 2 to 3
due to the username field being added to the session struct
- Extract commonly used string constants related to OIDC flows to api
package.
- Change some import names to make them consistent:
- Always import github.com/coreos/go-oidc/v3/oidc as "coreosoidc"
- Always import go.pinniped.dev/generated/latest/apis/supervisor/oidc
as "oidcapi"
- Always import go.pinniped.dev/internal/oidc as "oidc"
2022-08-08 16:29:22 -07:00
Ryan Richard
6b29082c27
Merge pull request #1236 from vmware-tanzu/dynamic_clients_in_downstream_flows
...
Allow dynamic clients to be used in downstream OIDC flows
2022-07-26 11:18:15 -07:00
Ryan Richard
bda233482d
Merge branch 'dynamic_clients' into dynamic_clients_in_downstream_flows
2022-07-26 09:31:39 -07:00
Ryan Richard
57f8e18dbc
Merge branch 'main' into dynamic_clients
2022-07-26 09:31:18 -07:00
Ryan Richard
a876591765
Merge pull request #1126 from vmware-tanzu/dynamic_clients_proposal
...
Dynamic Supervisor OIDC Clients proposal
2022-07-26 09:27:37 -07:00
Ryan Richard
b5c0b4b90e
Merge pull request #1240 from vmware-tanzu/pause_community_meeting
...
pause community meeting for a little while
2022-07-26 09:24:19 -07:00
Ryan Richard
c07cc6b8ec
Update e2e_test.go for clusters which have ServerSideFieldValidation
...
Also update prepare-cluster-for-integration-tests.sh for new
kubectl version command options.
2022-07-25 17:25:21 -07:00
Ryan Richard
8c7fbd2c0c
pause community meeting for a little while
2022-07-25 12:07:18 -07:00
Ryan Richard
88f611d31a
Be extra defensive and don't lookup dynamic client ID's lacking prefix
2022-07-22 15:19:19 -07:00
Ryan Richard
2f1966dbc8
Merge branch 'dynamic_clients' into dynamic_clients_in_downstream_flows
2022-07-22 10:01:26 -07:00
Ryan Richard
f1cd4eebb0
Merge branch 'main' into dynamic_clients
2022-07-22 10:00:53 -07:00
Ryan Richard
075bc824e7
Merge branch 'main' into dynamic_clients_proposal
2022-07-22 09:56:40 -07:00
Ryan Richard
7ccd41b5f2
docs gen tool changed its output, so rerun codegen
2022-07-22 09:56:20 -07:00
Ryan Richard
ae917bfd8d
Merge branch 'main' into dynamic_clients_proposal
2022-07-22 09:33:45 -07:00
Ryan Richard
7450fb6c8e
A few more small changes to the dynamic clients proposal
2022-07-22 09:26:24 -07:00
Mo Khan
ee3646ef13
Merge pull request #1239 from enj/goodbye
...
Update current maintainers ✌️ 👋 🫡
2022-07-22 10:39:55 -04:00
Ryan Richard
b65f872dcd
Configure printer columns for OIDCClient CRD
2022-07-21 16:40:03 -07:00
Monis Khan
1e56968491
Update current maintainers ✌️ 👋 🫡
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-07-21 18:07:54 -04:00
Ryan Richard
0495286f97
Fix lint error and remove accidental direct dep on ory/x
...
Fixing some mistakes from previous commit on feature branch.
2022-07-21 13:50:33 -07:00
Ryan Richard
b507604b90
Update dynamic clients proposal with a link to the LDAP/AD UI release
...
Also fix a typos.
2022-07-21 11:37:58 -07:00
Ryan Richard
1eefba537d
Update dynamic clients proposal with details learned during implementation
...
Also fix some typos and add some clarifying comments.
2022-07-21 11:26:04 -07:00
Ryan Richard
c12ffad29e
Add integration test for failed client auth for a dynamic client
2022-07-21 10:13:34 -07:00
Ryan Richard
e42f5488fa
More unit tests for dynamic clients
...
- Add dynamic client unit tests for the upstream OIDC callback and
POST login endpoints.
- Enhance a few log statements to print the full fosite error messages
into the logs where they were previously only printing the name of
the error type.
2022-07-21 09:26:00 -07:00
Ryan Richard
34509e7430
Add more unit tests for dynamic clients and enhance token exchange
...
- Enhance the token exchange to check that the same client is used
compared to the client used during the original authorization and
token requests, and also check that the client has the token-exchange
grant type allowed in its configuration.
- Reduce the minimum required bcrypt cost for OIDCClient secrets
because 15 is too slow for real-life use, especially considering
that every login and every refresh flow will require two client auths.
- In unit tests, use bcrypt hashes with a cost of 4, because bcrypt
slows down by 13x when run with the race detector, and we run our
tests with the race detector enabled, causing the tests to be
unacceptably slow. The production code uses a higher minimum cost.
- Centralize all pre-computed bcrypt hashes used by unit tests to a
single place. Also extract some other useful test helpers for
unit tests related to OIDCClients.
- Add tons of unit tests for the token endpoint related to dynamic
clients for authcode exchanges, token exchanges, and refreshes.
2022-07-20 13:55:56 -07:00
Ryan Richard
32ea6090ad
Merge branch 'dynamic_clients' into dynamic_clients_in_downstream_flows
2022-07-15 10:28:30 -07:00
Mo Khan
f9dfd68420
Merge pull request #1221 from vmware-tanzu/oidcclient_controller2
...
Enhancements to OIDCClient controller
2022-07-15 08:51:44 -04:00
Ryan Richard
f5f55176af
Enhance integration tests for OIDCClients in supervisor_login_test.go
2022-07-14 18:50:23 -07:00
Ryan Richard
e0ecdc004b
Allow dynamic clients to be used in downstream OIDC flows
...
This is only a first commit towards making this feature work.
- Hook dynamic clients into fosite by returning them from the storage
interface (after finding and validating them)
- In the auth endpoint, prevent the use of the username and password
headers for dynamic clients to force them to use the browser-based
login flows for all the upstream types
- Add happy path integration tests in supervisor_login_test.go
- Add lots of comments (and some small refactors) in
supervisor_login_test.go to make it much easier to understand
- Add lots of unit tests for the auth endpoint regarding dynamic clients
(more unit tests to be added for other endpoints in follow-up commits)
- Enhance crud.go to make lifetime=0 mean never garbage collect,
since we want client secret storage Secrets to last forever
- Move the OIDCClient validation code to a package where it can be
shared between the controller and the fosite storage interface
- Make shared test helpers for tests that need to create OIDC client
secret storage Secrets
- Create a public const for "pinniped-cli" now that we are using that
string in several places in the production code
2022-07-14 09:51:11 -07:00
Ryan Richard
be85e1ed0a
TotalClientSecrets field gets omitempty and becomes int32
2022-07-14 09:30:03 -07:00
Ryan Richard
93939ccbd8
OIDCClient watcher controller updates based on PR feedback
2022-07-06 10:34:24 -07:00
Ryan Richard
8a23f244f3
Merge pull request #1215 from vmware-tanzu/prepare_supervisor_on_kind_linux
...
fix usage of base64 in hack script for linux
2022-06-29 10:51:16 -07:00
Ryan Richard
5b0c165dc8
fix usage of base64 in hack script
2022-06-28 12:44:41 -07:00
Ryan Richard
4878ae77e5
Merge pull request #1142 from vmware-tanzu/audit_logging_proposal
...
Audit logging proposal
2022-06-28 12:33:55 -07:00
Ryan Richard
18a1f3a43a
Merge branch 'main' into audit_logging_proposal
2022-06-28 12:33:02 -07:00
Mo Khan
43a76648d5
Merge pull request #1213 from vmware-tanzu/fix-groups-scope-integration-tests
...
One line fix to the supervisor warnings test
2022-06-24 11:12:07 -04:00
Margo Crawford
98b0b6b21c
One line fix to the supervisor warnings test
...
Make the scopes in the cache key include the new groups scope
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-24 08:09:32 -07:00
Monis Khan
f13c5e3f06
Fix supervisor scheme comment
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-06-24 09:56:44 -04:00
Mo Khan
d576e44f0a
Merge pull request #1197 from vmware-tanzu/require-groups-scope
...
Require groups scope
2022-06-23 14:06:46 -04:00
Margo Crawford
8adc1ce345
Fix failing active directory integration test
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-22 16:16:32 -07:00
Ryan Richard
3cf3b28c5b
Update audit log proposal
2022-06-22 15:12:28 -07:00
Margo Crawford
a010e72b29
Merge branch 'dynamic_clients' into require-groups-scope
2022-06-22 14:27:06 -07:00
Margo Crawford
dac0395680
Add a couple tests, address pr comments
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-22 14:19:55 -07:00
Margo Crawford
f2005b4c7f
Merge branch 'dynamic_clients' into require-groups-scope
2022-06-22 12:30:54 -07:00
Margo Crawford
c70a0b99a8
Don't do ldap group search when group scope not specified
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-22 10:58:08 -07:00
Margo Crawford
9903c5f79e
Handle refresh requests without groups scope
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-22 08:21:16 -07:00
Mo Khan
0a2aa9338d
Merge pull request #1198 from vmware-tanzu/oidcclient_controller
...
New controller watches OIDCClients and updates validation Conditions
2022-06-17 13:39:49 -04:00
Ryan Richard
5aa0d91267
New controller watches OIDCClients and updates validation Conditions
2022-06-17 13:11:26 -04:00
Mo Khan
f8183e0fab
Merge pull request #1199 from enj/enj/f/dynamic_clients_name_fix
...
Fix TestOIDCClientStaticValidation on old servers
2022-06-17 09:05:08 -04:00
Monis Khan
36a5c4c20d
Fix TestOIDCClientStaticValidation on old servers
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-06-17 09:04:03 -04:00
Mo Khan
4bf734061d
Merge pull request #1190 from vmware-tanzu/client-secret-api-noop
...
aggregated api for oidcclientsecretrequest
2022-06-16 10:30:13 -04:00
Mo Khan
90077f7135
Merge pull request #1195 from enj/enj/f/dynamic_clients_name
...
Static validation for OIDC clients
2022-06-16 10:29:03 -04:00
Margo Crawford
64cd8b0b9f
Add e2e test for groups scope
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-15 13:41:22 -07:00
Monis Khan
59d67322d3
Static validation for OIDC clients
...
The following validation is enforced:
1. Names must start with client.oauth.pinniped.dev-
2. Redirect URIs must start with https://
or http://127.0.0.1
or http://::1
3. All spec lists must not have duplicates
Added an integration test to assert all static validations.
Signed-off-by: Monis Khan <mok@vmware.com >
2022-06-15 15:09:40 -04:00
Margo Crawford
ff26c424ae
Remove unused role binding
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-15 10:19:56 -07:00
Margo Crawford
424f925a14
Merge branch 'dynamic_clients' into client-secret-api-noop
2022-06-15 09:38:55 -07:00
Margo Crawford
c117329553
Updates based on code review
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-15 09:38:21 -07:00
Margo Crawford
4d0c2e16f4
require groups scope to get groups back from supervisor
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-15 08:00:17 -07:00
Mo Khan
c77bee67c1
Merge pull request #1189 from vmware-tanzu/token_exchange_aud
...
Disallow certain requested audience strings in token exchange
2022-06-14 16:41:51 -04:00
Margo Crawford
c95efad180
Merge branch 'dynamic_clients' into client-secret-api-noop
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-13 17:12:00 -07:00
Ryan Richard
268e1108d1
Merge pull request #1194 from vmware-tanzu/config_oidcclient
...
Move oidcclient into config.supervisor.pinniped.dev
2022-06-13 16:03:05 -07:00
Margo Crawford
104e08b0f6
Merge branch 'dynamic_clients' into client-secret-api-noop
2022-06-13 15:52:34 -07:00
Margo Crawford
0c1f48cbc1
Move oidcclient into config.supervisor.pinniped.dev
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-13 15:48:54 -07:00
Margo Crawford
8f4285dbff
Change group names
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-13 14:28:05 -07:00
Ryan Richard
aceea7888b
Merge branch 'main' into dynamic_clients
2022-06-13 12:29:09 -07:00
Ryan Richard
b9272b2729
Reserve all of *.pinniped.dev for requested aud in token exchanges
...
Our previous plan was to reserve only *.oauth.pinniped.dev but we
changed our minds during PR review.
2022-06-13 12:08:11 -07:00
Margo Crawford
ba371423d9
Add integration test for OIDCClientSecretRequest
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-10 13:56:15 -07:00
Margo Crawford
018bdacc6d
Merge pull request #1191 from vmware-tanzu/codegen-docker-pull-always
...
Always attempt to docker pull before codegen
2022-06-10 13:31:47 -07:00
Ryan Richard
e7096c61a8
Merge branch 'main' into dynamic_clients
2022-06-10 12:52:59 -07:00
Margo Crawford
b3ad29fe1c
Always attempt to docker pull before codegen
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-10 12:26:40 -07:00
Margo Crawford
479b6c421d
fix out of date codegen images
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-10 09:51:37 -07:00
Margo Crawford
157b5a7079
Update 1.24 codegen
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-10 07:55:46 -07:00
Margo Crawford
37884e7015
reran update.sh to get the codegen up to date
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-09 14:39:06 -07:00
Margo Crawford
889348e999
WIP aggregated api for oidcclientsecretrequest
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-09 13:47:19 -07:00
Ryan Richard
484c8f4bf3
Merge pull request #1183 from anjaltelang/main
...
Blog for v0.18.0
2022-06-08 15:14:31 -07:00
Ryan Richard
221f174768
Update v0.18.0 blog post date
2022-06-08 15:14:02 -07:00
Pinny
3ebf5ad4c3
Updated versions in docs for v0.18.0 release
2022-06-08 22:13:13 +00:00
Ryan Richard
ec533cd781
Skip some recently added integration tests when LDAP is unavailable
...
Also refactor to use shared test helper for skipping LDAP and AD tests.
2022-06-08 12:57:00 -07:00
Ryan Richard
1f505fc065
Update audience confusion section of proposal doc
2022-06-08 11:36:50 -07:00
Ryan Richard
dd61ada540
Allow new warning messages about GCP plugin in TestGetPinnipedCategory
2022-06-08 10:22:15 -07:00
Ryan Richard
0b6b8b4fcd
Merge branch 'dynamic_clients' into token_exchange_aud
2022-06-08 09:58:38 -07:00
Ryan Richard
77f37b5a57
run codegen
2022-06-08 09:41:35 -07:00
Ryan Richard
321abfc98d
Merge branch 'dynamic_clients' into token_exchange_aud
2022-06-08 09:03:29 -07:00
Ryan Richard
97d17bbda8
Merge branch 'main' into dynamic_clients
2022-06-08 09:03:06 -07:00
Mo Khan
cc1163e326
Merge pull request #1179 from vmware-tanzu/auth_handler_form_post_csp
...
Fix bug in certain error handling for authorize endpoint when response_mode=form_post is requested
2022-06-08 08:47:56 -04:00
Ryan Richard
ea45e5dfef
Disallow certain requested audience strings in token exchange
2022-06-07 16:32:19 -07:00
Mo Khan
472ab229e7
Merge branch 'main' into auth_handler_form_post_csp
2022-06-07 18:26:52 -04:00
Mo Khan
2c7b52dce8
Merge pull request #1186 from vmware-tanzu/bump_deps
...
Bump all project dependencies
2022-06-07 18:25:12 -04:00
Ryan Richard
2c048bcb4f
Bump all deps to latest
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-06-07 15:26:30 -04:00
Ryan Richard
e78c7d4e0e
update kube codegen versions and add 1.24 codegen
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-06-07 15:26:30 -04:00
Ryan Richard
7751c0bf59
Bump project deps, including kube 0.23.6->0.24.1 and Go 1.18.1->1.18.3
...
Several API changes in Kube required changes in Pinniped code.
Signed-off-by: Monis Khan <mok@vmware.com >
2022-06-07 15:26:30 -04:00
Ryan Richard
8170889aef
Update CSP header expectations in TestSupervisorLogin_Browser int test
2022-06-07 11:20:59 -07:00
Mo Khan
38bfdd6b70
Merge branch 'main' into auth_handler_form_post_csp
2022-06-07 11:42:09 -04:00
Margo Crawford
e5a96e353c
Merge pull request #1185 from vmware-tanzu/oidc_client_crd
...
OIDC client crd
2022-06-06 14:16:10 -07:00
Anjali Telang
52bbbcf7e8
margo's suggestions
2022-06-06 17:03:52 -04:00
Mo Khan
a3ec15862d
Run CodeQL on dynamic_clients branch
2022-06-06 16:41:38 -04:00
Ryan Richard
98c45fefe9
Merge branch 'main' into auth_handler_form_post_csp
2022-06-06 11:51:51 -07:00
Margo Crawford
d6442ed53d
Merge pull request #1180 from vmware-tanzu/cli_flow_env_var
...
Allow `PINNIPED_UPSTREAM_IDENTITY_PROVIDER_FLOW` env var to override `--upstream-identity-provider-flow` CLI flag
2022-06-06 11:49:00 -07:00
Margo Crawford
0dec2eee32
Add enum validation for scopes and grant types
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-06 10:15:25 -07:00
Ryan Richard
fd9d641b5c
Add doc for PINNIPED_UPSTREAM_IDENTITY_PROVIDER_FLOW env var
2022-06-06 09:47:50 -07:00
Ryan Richard
326cc194e9
Merge branch 'main' into cli_flow_env_var
2022-06-06 09:38:57 -07:00
Margo Crawford
3cacb5b022
Fix typo in oidcclient spec and status descriptions
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-06 07:38:57 -07:00
Margo Crawford
ca3da0bc90
Fix some disallowed kubebuilder annotations, fix kube api discovery test
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-04 21:04:40 -07:00
Margo Crawford
cd47ba53c2
Add CRD for OIDCClient
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-06-03 16:22:15 -07:00
anjalitelang
2f6349c96d
Merge pull request #1166 from anjaltelang/main
...
Roadmap updates for future
2022-06-02 17:27:14 -04:00
anjalitelang
225bbdd36b
Merge branch 'main' into main
2022-06-02 17:25:43 -04:00
Ryan Richard
30d09b2b7e
Empty commit
2022-06-02 13:10:34 -07:00
Ryan Richard
cb8685b942
Add e2e test for PINNIPED_UPSTREAM_IDENTITY_PROVIDER_FLOW env var
2022-06-02 11:27:54 -07:00
Ryan Richard
6e461821d6
Allow PINNIPED_UPSTREAM_IDENTITY_PROVIDER_FLOW env var to override flow
...
Env var may be used with CLI to override the flow selected by the
--upstream-identity-provider-flow CLI flag.
2022-06-02 10:30:03 -07:00
Ryan Richard
b99c4773a2
Use CSP headers in auth handler response
...
When response_mode=form_post is requested, some error cases will be
returned to the client using the form_post web page to POST the result
back to the client's redirect URL.
2022-06-02 09:23:34 -07:00
Monis Khan
212f00ebde
Recommend a single approach to address all goals
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-06-01 10:26:37 -04:00
Mo Khan
75a32ae243
Merge pull request #1145 from enj/enj/f/json_logs
...
Switch to go.uber.org/zap for JSON formatted logging
2022-05-24 13:15:22 -04:00
Monis Khan
0674215ef3
Switch to go.uber.org/zap for JSON formatted logging
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-05-24 11:17:42 -04:00
Ryan Richard
03ccef03fe
Merge pull request #1163 from vmware-tanzu/ldap-login-ui
...
Support a browser-based login flow for LDAP and Active Directory providers
2022-05-24 10:19:34 -04:00
Ryan Richard
438ab0a0e1
Merge branch 'main' into ldap-login-ui
2022-05-20 08:40:34 -07:00
Ryan Richard
39fd9ba270
Small refactors and comments for LDAP/AD UI
2022-05-19 16:02:08 -07:00
Anjali Telang
cc985aa98a
Roadmap updates for future
...
Signed-off-by: Anjali Telang <atelang@vmware.com >
2022-05-19 15:53:53 -04:00
Ryan Richard
7388097de7
Merge pull request #1116 from vmware-tanzu/proposal-ldap-web-ui
...
ldap/ad web ui proposal
2022-05-16 16:22:17 -07:00
Ryan Richard
f008c081b3
Accept LDAP UI proposal
2022-05-16 16:21:33 -07:00
Ryan Richard
1092fc4a9e
Add PR link to LDAP UI proposal
2022-05-16 16:21:17 -07:00
Ryan Richard
dc6874e9cd
Move remaining open q's to answered q's
2022-05-16 16:20:42 -07:00
Ryan Richard
0f2a984308
Merge branch 'main' into ldap-login-ui
2022-05-11 11:32:15 -07:00
Ryan Richard
4101a55001
Update docs for new LDAP/AD browser-based login flow
...
Also fix some comments that didn't fit onto one line in the yaml
examples, be consistent about putting a blank line above `---` yaml
separators, and some other small doc improvements.
2022-05-11 11:19:08 -07:00
Ryan Richard
aa732a41fb
Add LDAP browser flow login failure tests to supervisor_login_test.go
...
Also do some refactoring to share more common test setup code in
supervisor_login_test.go.
2022-05-10 16:28:08 -07:00
Ryan Richard
0b106c245e
Add LDAP browser flow login test to supervisor_login_test.go
2022-05-10 12:54:40 -07:00
Ryan Richard
ab302cf2b7
Add AD via browser login e2e test and refactor e2e tests to share code
2022-05-10 10:30:32 -07:00
Ryan Richard
a4e32d8f3d
Extract browsertest.LoginToUpstreamLDAP() integration test helper
2022-05-09 15:43:36 -07:00
Ryan Richard
831abc315e
Update audit log proposal key names and timestamp format
2022-05-09 14:45:18 -07:00
Monis Khan
6bb34130fe
Add asymmetric crypto based client secret generation
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-05-09 15:58:52 -04:00
Margo Crawford
22aea6ab9d
Address some small comments to make the doc more understandable
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-05-09 12:55:32 -07:00
Monis Khan
58f8a10919
Add data model and secret generation alternatives
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-05-09 00:05:06 -04:00
Monis Khan
1c4ed8b404
Add recommendation for solving the audience confusion problem
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-05-06 22:26:59 -04:00
Pinny
afc73221d6
Updated versions in docs for v0.17.0 release
2022-05-06 19:28:56 +00:00
Ryan Richard
4c44f583e9
Don't add pinniped_idp_name pinniped_idp_type params into upstream state
2022-05-06 12:00:46 -07:00
Margo Crawford
408e390094
Add more detail on how we should display errors
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-05-06 11:00:01 -07:00
Ryan Richard
ec22b5715b
Add Pinniped favicon to login UI page 🦭
2022-05-05 14:46:07 -07:00
Ryan Richard
6e6e1f4add
Update login page CSS selectors in e2e test
2022-05-05 13:56:38 -07:00
Ryan Richard
00d68845c4
Add --flow to choose login flow in prepare-supervisor-on-kind.sh
2022-05-05 13:42:23 -07:00
Ryan Richard
cffa353ffb
Login page styling/structure for users, screen readers, passwd managers
...
Also:
- Add CSS to login page
- Refactor login page HTML and CSS into a new package
- New custom CSP headers for the login page, because the requirements
are different from the form_post page
2022-05-05 13:13:25 -07:00
Ryan Richard
6ca7c932ae
Add unit test for rendering form_post response from POST /login
2022-05-05 13:13:25 -07:00
Margo Crawford
b458cd43b9
Merge pull request #1159 from vmware-tanzu/fix-openldap-typo
...
Tiny fix to openldap group name: pinninpeds->pinnipeds
2022-05-05 12:50:43 -07:00
Margo Crawford
07a3faf449
Merge branch 'main' into fix-openldap-typo
2022-05-05 10:51:09 -07:00
Margo Crawford
329d41aac7
Add the full end to end test for ldap web ui
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-05-05 08:49:58 -07:00
Margo Crawford
079908fb50
Update to reflect further conversations we've had
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-05-04 13:28:54 -07:00
anjalitelang
1a59b6a686
Update ROADMAP.md
...
Changes made to reflect status as of May 4th, 2022
2022-05-04 16:06:33 -04:00
Margo Crawford
eb891d77a5
Tiny fix: pinninpeds->pinnipeds
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-05-04 12:42:55 -07:00
Ryan Richard
572474605f
Merge pull request #1151 from vmware-tanzu/more_unit_tests_for_ldap_escaping
...
More unit tests for LDAP DNs which contain special chars
2022-05-04 09:49:20 -07:00
Ryan Richard
656f221fb7
Merge branch 'main' into ldap-login-ui
2022-05-04 09:29:15 -07:00
Ryan Richard
a36688573b
Merge pull request #1150 from vmware-tanzu/prepare_supervisor_on_kind_active_directory
...
Support AD in hack/prepare-supervisor-on-kind.sh
2022-05-04 09:16:13 -07:00
Ryan Richard
2e031f727b
Use security headers for the form_post page in the POST /login endpoint
...
Also use more specific test assertions where security headers are
expected. And run the unit tests for the login package in parallel.
2022-05-03 16:46:09 -07:00
Ryan Richard
acc6c50e48
More unit tests for LDAP DNs which contain special chars
...
Adding explicit coverage for PerformRefresh().
2022-05-03 15:43:01 -07:00
Margo Crawford
388cdb6ddd
Fix bug where form was posting to the wrong path
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-05-03 15:18:38 -07:00
Ryan Richard
eaa87c7628
support AD in hack/prepare-supervisor-on-kind.sh
2022-05-03 12:59:39 -07:00
Ryan Richard
d6e61012c6
Merge pull request #1149 from vmware-tanzu/update_kube_versions
...
Update kube codegen versions
2022-05-02 15:35:49 -07:00
Ryan Richard
cc1f0b8db9
Merge pull request #1148 from vmware-tanzu/ldap_group_search_escape
...
Escape special characters in LDAP DNs when used in search filters
2022-05-02 14:44:45 -07:00
Ryan Richard
90e88bb83c
Update kube codegen versions
...
Note that attempting to update 1.18.18 to 1.18.20 didn't work for some
reason, so I skipped that one. The code generator didn't like 1.18.20
and it deleted all the generated code. Avoiding 1.18.19 because it is
listed as having a regression at
https://kubernetes.io/releases/patch-releases/#non-active-branch-history
2022-05-02 14:33:33 -07:00
Ryan Richard
2ad181c7dd
Merge branch 'main' into ldap_group_search_escape
2022-05-02 13:49:55 -07:00
Mo Khan
ee881aa406
Merge pull request #1146 from enj/enj/i/bump_0007
...
Bump deps to latest and go mod compat to 1.17
2022-05-02 16:44:49 -04:00
Ryan Richard
c74dea6405
Escape special characters in LDAP DNs when used in search filters
2022-05-02 13:37:32 -07:00
Ryan Richard
dfbc33b933
Apply suggestions from code review
...
Co-authored-by: Mo Khan <i@monis.app >
2022-05-02 09:47:09 -07:00
Ryan Richard
69e5169fc5
Implement post_login_handler.go to accept form post and auth to LDAP/AD
...
Also extract some helpers from auth_handler.go so they can be shared
with the new handler.
2022-04-29 16:02:00 -07:00
Ryan Richard
56c8b9f884
Add recommendations to dynamic client proposal
2022-04-29 12:48:03 -07:00
Margo Crawford
646c6ec9ed
Show error message on login page
...
Also add autocomplete attribute and title element
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-29 10:36:13 -07:00
Monis Khan
2cdb55e7da
Bump deps to latest and go mod compat to 1.17
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-04-28 15:37:51 -04:00
Margo Crawford
453c69af7d
Fix some errors and pass state as form element
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-28 12:07:04 -07:00
Margo Crawford
07b2306254
Add basic outline of login get handler
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-28 11:51:36 -07:00
Margo Crawford
77f016fb64
Allow browser_authcode flow for pinniped login command
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-27 08:53:53 -07:00
Margo Crawford
ae60d4356b
Some refactoring of shared code between OIDC and LDAP browser flows
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-27 08:51:37 -07:00
Margo Crawford
379a803509
when password header but not username is sent to password grant, error
...
also add more unit tests
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-26 16:46:58 -07:00
Ryan Richard
65eed7e742
Implement login_handler.go to defer to other handlers
...
The other handlers for GET and POST requests are not yet implemented in
this commit. The shared handler code in login_handler.go takes care of
things checking the method, checking the CSRF cookie, decoding the state
param, and adding security headers on behalf of both the GET and POST
handlers.
Some code has been extracted from callback_handler.go to be shared.
2022-04-26 15:37:30 -07:00
Margo Crawford
eb1d3812ec
Update authorization endpoint to redirect to new login page
...
Also fix some test failures on the callback handler, register the
new login handler in manager.go and add a (half baked) integration test
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-26 12:51:56 -07:00
Margo Crawford
8832362b94
WIP: Add login handler for LDAP/AD web login
...
Also change state param to include IDP type
2022-04-25 16:41:55 -07:00
Margo Crawford
694e4d6df6
Advertise browser_authcode flow in ldap idp discovery
...
To keep this backwards compatible, this PR changes how
the cli deals with ambiguous flows. Previously, if there
was more than one flow advertised, the cli would require users
to set the flag --upstream-identity-provider-flow. Now it
chooses the first one in the list.
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-25 14:54:21 -07:00
Ryan Richard
973c3102bb
add audit logging proposal
2022-04-21 14:50:48 -07:00
Ryan Richard
24b0ddf600
Merge pull request #1140 from vmware-tanzu/bump_kube_deps_v0.23.6
...
bump kube deps from v0.23.5 to v0.23.6
2022-04-21 10:18:43 -07:00
Ryan Richard
cab9ac8368
bump kube deps from v0.23.5 to v0.23.6
2022-04-21 09:17:24 -07:00
Margo Crawford
444cf111d0
Add more detail about how the flow should work
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-20 16:17:49 -07:00
Ryan Richard
793b8b9260
Merge pull request #1121 from anjaltelang/main
...
v0.16.0 Blog
2022-04-20 11:54:20 -07:00
Pinny
4071b48f01
Updated versions in docs for v0.16.0 release
2022-04-20 18:52:59 +00:00
Ryan Richard
46e61bdea9
Update 2022-04-15-fips-and-more.md
...
Update release date
2022-04-20 10:56:21 -07:00
Ryan Richard
52341f4e49
Merge pull request #1083 from vmware-tanzu/dependabot/go_modules/k8s.io/klog/v2-2.60.1
...
Bump k8s.io/klog/v2 from 2.40.1 to 2.60.1
2022-04-19 15:22:08 -07:00
dependabot[bot]
cd982655a2
Bump k8s.io/klog/v2 from 2.40.1 to 2.60.1
...
Bumps [k8s.io/klog/v2](https://github.com/kubernetes/klog ) from 2.40.1 to 2.60.1.
- [Release notes](https://github.com/kubernetes/klog/releases )
- [Changelog](https://github.com/kubernetes/klog/blob/main/RELEASE.md )
- [Commits](https://github.com/kubernetes/klog/compare/v2.40.1...v2.60.1 )
---
updated-dependencies:
- dependency-name: k8s.io/klog/v2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-04-19 20:33:38 +00:00
Margo Crawford
311bb05993
Merge pull request #1130 from vmware-tanzu/kube-versions-april-22
...
Update kube versions to latest patch
2022-04-19 13:30:40 -07:00
Ryan Richard
0ec5e57114
Merge pull request #1131 from vmware-tanzu/bump_some_deps
...
Bump some deps
2022-04-19 13:29:28 -07:00
Margo Crawford
63779ddac2
Merge pull request #1129 from vmware-tanzu/jwt-authenticator-client-field
...
JWTAuthenticator distributed claims resolution honors tls config
2022-04-19 13:28:43 -07:00
Ryan Richard
4de8004094
Empty commit to trigger CI
2022-04-19 12:12:45 -07:00
Margo Crawford
0b72f7084c
JWTAuthenticator distributed claims resolution honors tls config
...
Kube 1.23 introduced a new field on the OIDC Authenticator which
allows us to pass in a client with our own TLS config. See
https://github.com/kubernetes/kubernetes/pull/106141 .
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-19 11:36:46 -07:00
Ryan Richard
132d2aac72
add a code comment
2022-04-19 11:35:46 -07:00
Ryan Richard
2d4f4e4efd
Merge branch 'main' into bump_some_deps
2022-04-19 11:32:53 -07:00
Margo Crawford
c40bca5e65
Merge pull request #1127 from hectorj2f/add_code_challenge_method_support
...
oidc: add code challenge supported methods to the discovery doc
2022-04-19 11:23:57 -07:00
Margo Crawford
019750a292
Update kube versions to latest patch
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-19 11:19:24 -07:00
Anjali Telang
9e5d4ae51c
Blog for v0.16.0
...
Signed-off-by: Anjali Telang <atelang@vmware.com >
2022-04-19 14:16:45 -04:00
Ryan Richard
5b9831d319
bump the kube direct deps
2022-04-19 11:13:52 -07:00
Ryan Richard
fb8083d024
bump some direct deps
2022-04-19 11:09:24 -07:00
hectorj2f
a3f7afaec4
oidc: add code challenge supported methods
...
Signed-off-by: hectorj2f <hectorf@vmware.com >
2022-04-19 01:21:39 +02:00
Ryan Richard
19149ff043
Update proposal state to "in-review"
2022-04-15 13:35:07 -07:00
Ryan Richard
e2836fbdb5
Dynamic Supervisor OIDC Clients proposal
2022-04-15 13:23:40 -07:00
Margo Crawford
f5cf3276d5
Merge pull request #1123 from vmware-tanzu/macos-untrusted-certificate-errors
2022-04-14 20:15:31 -07:00
Margo Crawford
d5337c9c19
Error format of untrusted certificate errors should depend on OS
...
Go 1.18.1 started using MacOS' x509 verification APIs on Macs
rather than Go's own. The error messages are different.
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-14 17:37:36 -07:00
Margo Crawford
96137cd0ee
ldap/ad web ui proposal
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-14 13:58:31 -07:00
Mo Khan
c624846eaa
Merge pull request #1122 from vmware-tanzu/impersonator-only-http2
...
the http2RoundTripper should only use http2
2022-04-14 16:55:50 -04:00
Margo Crawford
03f19da21c
the http2RoundTripper should only use http2
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-14 10:51:25 -07:00
Mo Khan
8fe635e7ce
Merge pull request #1096 from vmware-tanzu/dependabot/docker/distroless/static-2556293
...
Bump distroless/static from `80c956f` to `2556293`
2022-04-14 12:53:59 -04:00
dependabot[bot]
2fa81546f3
Bump distroless/static from 80c956f to 2556293
...
Bumps distroless/static from `80c956f` to `2556293`.
---
updated-dependencies:
- dependency-name: distroless/static
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-04-14 14:51:17 +00:00
Mo Khan
43485563ff
Merge pull request #1120 from vmware-tanzu/dependabot/docker/hack/google.com/api-project-999119582588/go-boringcrypto/golang-1.18.1b7
...
Bump google.com/api-project-999119582588/go-boringcrypto/golang from 1.17.8b7 to 1.18.1b7 in /hack
2022-04-14 10:26:04 -04:00
dependabot[bot]
5621c1161a
Bump google.com/api-project-999119582588/go-boringcrypto/golang in /hack
...
Bumps google.com/api-project-999119582588/go-boringcrypto/golang from 1.17.8b7 to 1.18.1b7.
---
updated-dependencies:
- dependency-name: google.com/api-project-999119582588/go-boringcrypto/golang
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-04-14 13:26:21 +00:00
Mo Khan
79fd8e2901
Merge pull request #1119 from enj/enj/i/fips_log_errs
...
Only emit FIPS startup log when running a server component
2022-04-14 09:19:40 -04:00
Monis Khan
e0886c6948
Only emit FIPS startup log when running a server component
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-04-13 18:31:02 -04:00
Mo Khan
f5cc2f20f7
Merge pull request #1118 from enj/enj/i/go1.18_linter_fix
...
Bump to go1.18.1 and fix linter errors
2022-04-13 18:15:20 -04:00
Monis Khan
8fd77b72df
Bump to go1.18.1 and fix linter errors
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-04-13 16:43:06 -04:00
Mo Khan
8ecf18521c
Merge pull request #1112 from vmware-tanzu/fips-website-docs
...
document how to use the fips dockerfile on our website
2022-04-13 16:41:25 -04:00
Margo Crawford
96c705bf94
document how to use the fips dockerfile on our website
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-04-13 12:45:58 -07:00
Mo Khan
d0d20e00e4
Merge pull request #1117 from vmware-tanzu/prefix_tokens
...
Add custom prefix to downstream access and refresh tokens and authcodes
2022-04-13 15:34:42 -04:00
Ryan Richard
53348b8464
Add custom prefix to downstream access and refresh tokens and authcodes
2022-04-13 10:13:27 -07:00
Ryan Richard
13daf59217
Merge pull request #1108 from vicmarbev/main
...
Use vmware-tanzu/carvel instead of the deprecated k14s/tap to install deps with brew
2022-04-13 08:43:39 -07:00
Ryan Richard
9ebf3a5b92
Merge branch 'main' into main
2022-04-13 08:41:04 -07:00
Mo Khan
6af1aaeb20
Merge pull request #1114 from enj/enj/i/fips_init_log
...
Use klog to make sure FIPS init log is emitted
2022-04-12 16:23:38 -04:00
Monis Khan
6b4fbb6e0e
Use klog to make sure FIPS init log is emitted
...
We cannot use plog until the log level config has been setup, but
that occurs after this init function has run.
Signed-off-by: Monis Khan <mok@vmware.com >
2022-04-12 14:36:06 -04:00
Mo Khan
edf4ffb018
Merge pull request #1101 from vmware-tanzu/dependabot/docker/hack/distroless/static-2556293
...
Bump distroless/static from `80c956f` to `2556293` in /hack
2022-04-11 12:37:25 -04:00
dependabot[bot]
721526b7e7
Bump distroless/static from 80c956f to 2556293 in /hack
...
Bumps distroless/static from `80c956f` to `2556293`.
---
updated-dependencies:
- dependency-name: distroless/static
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-04-07 14:13:12 +00:00
anjalitelang
91681b9368
Update ROADMAP.md
...
Edits to the wiki based on our current backlog 4/5/2022
2022-04-06 16:08:04 -04:00
Mo Khan
3c6f97a457
Target hack/Dockerfile_fips correctly
2022-04-06 15:32:08 -04:00
Mo Khan
12cbd744b7
Syntax highlighting for Dockerfile_fips
2022-04-06 15:31:07 -04:00
Ryan Richard
103538858f
Merge pull request #1094 from vmware-tanzu/disable_http
...
Supervisor HTTP listener disabled by default and may only bind to loopback interfaces
2022-04-05 12:39:04 -07:00
Ryan Richard
bdabdf0f42
Update comment in FederationDomainTLSSpec
2022-04-05 09:53:22 -07:00
Ryan Richard
25d20d4081
Merge branch 'main' into disable_http
2022-04-05 09:00:26 -07:00
Víctor Martínez Bevià
dc24397df4
Use vmware-tanzu/carvel instead of the deprecated k14/tap to install deps with brew
2022-04-05 16:43:22 +02:00
Mo Khan
c0874706d9
Merge pull request #1106 from enj/enj/i/fips_followup
...
Add more details to FIPS comments
2022-04-01 13:16:50 -04:00
Monis Khan
07066e020d
Explicitly set defaultServing ciphers in FIPS mode
...
This is a no-op today, but could change in the future when we add
support for FIPS in non-strict mode.
Signed-off-by: Monis Khan <mok@vmware.com >
2022-04-01 10:59:47 -04:00
Monis Khan
3f0753ec5a
Remove duplication in secure TLS tests
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-04-01 10:56:38 -04:00
Monis Khan
15bc6a4a67
Add more details to FIPS comments
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-04-01 10:56:38 -04:00
Mo Khan
ce82d799c9
Run OSSF scorecard on release branches
2022-04-01 10:41:23 -04:00
Mo Khan
a453522d81
Add OSSF Scorecard GitHub Action
2022-04-01 10:30:01 -04:00
Ryan Richard
51c527a965
Change to camel-case for insecureAcceptExternalUnencryptedHttpRequests
...
- Use camel-case in the static configmap
- Parse the value into a boolean in the go struct instead of a string
- Add test for when unsupported value is used in the configmap
- Run the config_test.go tests in parallel
- Update some paragraphs in configure-supervisor.md for clarity
2022-03-31 16:23:45 -07:00
Ryan Richard
ae7aac020a
Merge branch 'main' into disable_http
2022-03-30 11:30:32 -07:00
Mo Khan
17e8faa0fe
Have dependabot keep the FIPS dockerfile updated
2022-03-30 13:55:19 -04:00
Mo Khan
6639ce2a1f
Merge pull request #1061 from vmware-tanzu/fips-boringcrypto
...
FIPs compatibility
2022-03-30 13:43:23 -04:00
Margo Crawford
53597bb824
Introduce FIPS compatibility
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-03-29 16:58:41 -07:00
Ryan Richard
0e54ba1a20
Slightly fancier way to prevent old values.yaml names from being used
2022-03-29 14:24:40 -07:00
Ryan Richard
b07a4131e5
Merge branch 'main' into disable_http
2022-03-29 12:47:53 -07:00
Mo Khan
2cffea5880
Merge pull request #1099 from vmware-tanzu/remove_supervisorhttpaddress_var
...
Remove unused env.SupervisorHTTPAddress integration test var
2022-03-29 13:36:00 -04:00
Ryan Richard
5f34efc0b7
Empty commit to trigger CI
2022-03-29 09:39:18 -07:00
Ryan Richard
cf471d6422
Remove unused env.SupervisorHTTPAddress integration test var
2022-03-29 09:13:44 -07:00
Ryan Richard
3592f80457
Merge branch 'main' into disable_http
2022-03-28 17:03:59 -07:00
Ryan Richard
488f08dd6e
Provide a way to override the new HTTP loopback-only validation
...
Add new deprecated_insecure_accept_external_unencrypted_http_requests
value in values.yaml. Allow it to be a boolean or a string to make it
easier to use (both --data-value and --data-value-yaml will work).
Also:
- Consider "ip6-localhost" and "ip6-loopback" to be loopback addresses
for the validation
- Remove unused env.SupervisorHTTPAddress var
- Deprecate the `service_http_*` values in values.yaml by renaming them
and causing a ytt render error when the old names are used
2022-03-28 17:03:23 -07:00
Mo Khan
cd25cb89c4
Merge pull request #1093 from enj/enj/d/ws1
...
Add Workspace ONE Access docs
2022-03-24 20:24:29 -04:00
Monis Khan
57fb085bef
Add Workspace ONE Access docs
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-03-24 20:17:54 -04:00
Ryan Richard
8d12c1b674
HTTP listener: default disabled and may only bind to loopback interfaces
2022-03-24 15:46:10 -07:00
Mo Khan
9c5adad062
Merge pull request #1092 from vmware-tanzu/remove_oryx_direct_dep
...
Remove direct dependency on ory/x
2022-03-24 15:16:34 -04:00
Mo Khan
4649b8e0e4
Merge pull request #1085 from pnbrown/community-page-update
...
Update _index.html
2022-03-24 14:02:51 -04:00
Ryan Richard
48c5a625a5
Remove our direct dependency on ory/x
...
ory/x has new releases very often, sometimes multiple times per week,
causing a lot of noise from dependabot. We were barely using it
directly, so replace our direct usages with equivalent code.
2022-03-24 10:24:54 -07:00
Ryan Richard
42bd385cbd
Merge pull request #1088 from vmware-tanzu/pty_int_test_flakes
...
WIP: Try to fix recent integration test flakes
2022-03-22 18:10:08 -07:00
Ryan Richard
bedf4e5a39
Try to avoid getting a second username prompt in a test in e2e_test.go
2022-03-22 14:23:50 -07:00
Ryan Richard
2715741c2c
Increase a test timeout in e2e_test.go
2022-03-22 12:13:10 -07:00
Ryan Richard
d20b2056f2
Merge branch 'main' into pty_int_test_flakes
2022-03-22 11:14:19 -07:00
Margo Crawford
a9b054e2f4
Merge pull request #1087 from vmware-tanzu/update-install-linter-1.45.0
...
Update install-linter.sh to use v1.45.0
2022-03-22 10:57:34 -07:00
Margo Crawford
051a228a8c
Update install-linter.sh to use v1.45.0
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-03-22 10:29:08 -07:00
Ryan Richard
d162e294ed
Split up the context timeouts per test in e2e_test.go
2022-03-22 10:17:45 -07:00
Margo Crawford
636d2014a7
Merge pull request #1086 from pnbrown/patch-1
...
Update MAINTAINERS.md
2022-03-21 15:02:05 -07:00
Nigel Brown
f981f63b90
Update MAINTAINERS.md
2022-03-21 13:17:14 -05:00
Nigel Brown
b5be8c6c9b
Update _index.html
...
Add current community meeting info
2022-03-21 13:08:54 -05:00
Ryan Richard
ff4ceb5d0b
Merge pull request #1079 from vmware-tanzu/contributor_guide_updates2
...
Small updates to CONTRIBUTING.md
2022-03-21 10:45:17 -07:00
Ryan Richard
d24f82fff5
Merge branch 'main' into contributor_guide_updates2
2022-03-21 10:45:10 -07:00
Ryan Richard
0ac37fd169
Merge pull request #1059 from vmware-tanzu/2022-readme
...
Update main README.md for 2022
2022-03-21 10:44:41 -07:00
Ryan Richard
bcfddec0a2
Merge branch 'main' into 2022-readme
2022-03-21 10:44:32 -07:00
Ryan Richard
b1310877d8
Add docs for how to run specific integration test(s) to CONTRIBUTING.md
2022-03-21 09:33:26 -07:00
Ryan Richard
f64779cba7
small updates to CONTRIBUTING.md
2022-03-18 14:27:33 -07:00
anjalitelang
c710cfbc70
Update ROADMAP.md
...
Changed last updated field for March
2022-03-18 10:12:50 -04:00
anjalitelang
3052763020
Update ROADMAP.md
...
Updated roadmap with current priorities
2022-03-17 09:36:24 -04:00
Ryan Richard
8b80a01d0a
Merge pull request #1065 from vmware-tanzu/kind-update
...
Use kubeadm.k8s.io/v1beta3 in addition to v1beta2 for kind config
2022-03-16 09:18:40 -07:00
Ryan Richard
e465056943
Use both kubeadm.k8s.io/v1beta2 and v1beta3 to allow old versions of K8s
...
You can use an older version of K8s on your development workstation
by temporarily editing kind-up.sh to add the `--image` flag. By defining
both v1beta2 and v1beta3 you should continue to be able to use old
versions of K8s in this way with Kind v0.12.0.
2022-03-15 15:09:39 -07:00
Ryan Richard
16c4c67af1
Use kubeadm.k8s.io/v1beta3 instead of v1beta2 for kind config
...
It appears that kind completely ignores kubeadm.k8s.io/v1beta2 config
starting in Kind v0.12.0.
You can observe the config being ignored or used by adding `-v 10` to
the command-line arguments of `kind create cluster` in kind-up.sh.
2022-03-15 09:37:27 -07:00
Mo Khan
c5dce9cab4
Merge pull request #1057 from enj/enj/i/turn_off_http
...
Rework or remove tests that rely on the http port
2022-03-10 20:06:34 -05:00
Monis Khan
8fac6cb9a4
Rework or remove tests that rely on the http port
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-03-10 19:43:12 -05:00
Ryan Richard
9805f6d6b2
Update main README.md for 2022
2022-03-10 14:23:27 -08:00
Mo Khan
61c8d54527
Fix typo in concierge deploy step
2022-03-10 09:08:40 -05:00
Ryan Richard
7c1f7447c5
Merge pull request #1054 from vmware-tanzu/update-linter
...
Update to github.com/golangci/golangci-lint/cmd/golangci-lint@v1.44 .2
2022-03-08 13:52:14 -08:00
Ryan Richard
1c2dd12f32
Merge branch 'main' into update-linter
2022-03-08 12:57:22 -08:00
Ryan Richard
e312ac6c46
Merge pull request #1053 from vmware-tanzu/upgrade-controllergen
...
Regenerate code after updating controller-gen to v0.8.0
2022-03-08 12:56:11 -08:00
Ryan Richard
fffcb7f5b4
Update to github.com/golangci/golangci-lint/cmd/golangci-lint@v1.44.2
...
- Two of the linters changed their names
- Updated code and nolint comments to make all linters pass with 1.44.2
- Added a new hack/install-linter.sh script to help developers install
the expected version of the linter for local development
2022-03-08 12:28:09 -08:00
Ryan Richard
0ec5b31c40
Regenerate code after updating controller-gen to v0.8.0
...
- Note that v0.8.0 no longer supports the "trivialVersions=true"
command-line option, so remove that from update-codegen.sh.
It doesn't seem to impact the output (our generated CRD yaml files).
2022-03-08 11:27:05 -08:00
Mo Khan
93aaa9e509
Merge pull request #1050 from vmware-tanzu/dependabot/docker/golang-1.17.8
...
Bump golang from 1.17.7 to 1.17.8
2022-03-07 10:41:29 -05:00
dependabot[bot]
8182a233d1
Bump golang from 1.17.7 to 1.17.8
...
Bumps golang from 1.17.7 to 1.17.8.
---
updated-dependencies:
- dependency-name: golang
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-03-07 01:20:25 +00:00
Mo Khan
853cc753b8
Merge pull request #1024 from anjaltelang/main
...
Blog changes for Group refresh
2022-03-04 13:28:18 -05:00
Pinny
cdfb3b75cb
Updated versions in docs for v0.15.0 release
2022-03-04 17:36:24 +00:00
Pinny
89e68489ea
Updated versions in docs for v0.14.0 release
2022-03-03 21:57:36 +00:00
Mo Khan
eec5f0fa26
Fix v0.15.0 release link
2022-03-03 15:28:01 -05:00
Ryan Richard
7e8eba3244
Update 2022-01-18-idp-refresh-tls-ciphers-for-compliance.md
2022-03-03 12:23:42 -08:00
Margo Crawford
b987783c62
Merge pull request #1047 from vmware-tanzu/docs-k8s-codegen-version
...
Update docs to reference the latest k8s codegen version
2022-03-03 11:14:33 -08:00
Margo Crawford
b8bdfa1b9a
Update docs to reference the latest k8s codegen version
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-03-03 10:36:42 -08:00
Mo Khan
6347d7c0e2
Merge pull request #1044 from vmware-tanzu/upgrade-crd-ref-docs
...
Regenerate reference docs and escape pipe characters
2022-03-03 13:04:09 -05:00
Anjali Telang
27f04e9ab9
Blog changes for Group refresh
...
Signed-off-by: Anjali Telang <atelang@vmware.com >
2022-03-03 12:49:01 -05:00
anjalitelang
ab4a66131b
Update ROADMAP.md
...
Updated roadmap for March
2022-03-03 11:51:24 -05:00
Margo Crawford
60d2b852ae
Corresponds with making our CI use the head of the master branch of crd-ref-docs
...
This fixes #906
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-03-02 14:31:58 -08:00
Mo Khan
ec74158ebc
Merge pull request #1043 from vmware-tanzu/active-directory-group-change-warning
...
Add group change warning test for Active Directory
2022-03-02 15:43:59 -05:00
Margo Crawford
f6ad5d5c45
Add group change warning test for Active Directory
...
Also refactor some of the AD test helper functions
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-03-02 11:54:36 -08:00
Mo Khan
dd4394a0d6
Merge pull request #1042 from enj/enj/i/group_warn_typo
...
Fix typo in group removed warning
2022-03-02 14:41:22 -05:00
Monis Khan
eae55a8595
Fix typo in group removed warning
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-03-02 12:58:30 -05:00
Ryan Richard
541811a7a6
Merge pull request #1028 from jvanzyl/main
...
Minimal changes to allow an alternate deployment mechanism
2022-03-02 09:23:16 -08:00
Ryan Richard
0a63784ca2
Merge branch 'main' into main
2022-03-02 08:41:06 -08:00
Mo Khan
be2aee957c
Bump API docs to 1.23
...
Seems like this should be automated.
2022-03-02 09:04:41 -05:00
Margo Crawford
9a4a862808
Merge pull request #1039 from vmware-tanzu/group-change-warning
...
Group change warning
2022-03-01 14:38:35 -08:00
Margo Crawford
609b55a6d7
Pinniped Supervisor should issue a warning when groups change during refresh
2022-03-01 14:01:57 -08:00
Ryan Richard
d1f756c9ab
Merge pull request #1040 from vmware-tanzu/codegen-21-22-23
...
Add generated code for Kube 1.21, 1.22, and 1.23
2022-03-01 12:53:54 -08:00
Ryan Richard
58f790c1c6
generate code for 1.17-1.20 using Go 1.17
2022-03-01 10:39:58 -08:00
Ryan Richard
956d046cf0
Merge branch 'main' into codegen-21-22-23
2022-03-01 10:02:05 -08:00
Ryan Richard
bf7457db59
expose env var for debug level of codegen
2022-03-01 10:01:49 -08:00
Mo Khan
0c866a6f98
Merge pull request #1041 from enj/enj/i/bump_0004
...
Bump kube to v0.23.4, rest to latest
2022-03-01 12:25:30 -05:00
Monis Khan
8179a7e802
Bump kube to v0.23.4, rest to latest
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-03-01 09:25:56 -05:00
Ryan Richard
f501c76acc
Add generated code for Kube 1.21, 1.22, and 1.23
...
Also:
- Make our code generator script work with Go 1.17
- Make our update.sh script work on linux
- Update the patch versions of the old Kube versions that we were using
to generate code (see kube-versions.txt)
- Use our container images from ghcr instead of
projects.registry.vmware.com for codegen purposes
- Make it easier to debug in the future by passing "-v" to the Kube
codegen scripts
- Updated copyright years to make commit checks pass
2022-02-28 17:58:48 -08:00
Mo Khan
04c6b3331b
Merge pull request #1031 from vmware-tanzu/tolerate-control-plane
...
Add toleration for new "control-plane" node label for Concierge deploy
2022-02-26 12:56:14 -05:00
Jason van Zyl
0ea10c77c7
Consolidate declaration of variables
2022-02-25 11:26:53 -05:00
Jason van Zyl
782157e1df
Remove debug output
2022-02-25 06:25:20 -05:00
Jason van Zyl
1e3f3555a4
Add line in help output for --alternate-deploy
2022-02-25 06:22:25 -05:00
Ryan Richard
8dc4a890ed
Merge branch 'main' into tolerate-control-plane
2022-02-24 10:12:31 -08:00
Mo Khan
619b8c19ad
Merge pull request #1032 from vmware-tanzu/increase-e2e-timeout
...
Increase a test timeout to account for slower test on EKS in CI
2022-02-23 11:36:39 -05:00
Ryan Richard
e1e3342b3d
Increase a test timeout to account for slower test on EKS in CI
...
The test takes longer on EKS because it has to wait about 2 minutes for
the EKS load balancer to be ready during the test.
2022-02-22 11:46:15 -08:00
Ryan Richard
0651b9a912
Add toleration for new "control-plane" node label for Concierge deploy
2022-02-22 11:24:26 -08:00
Jason van Zyl
6491742c3a
Minimal changes to allow an alternate deployment mechanism
...
The purpose of this change is to allow Helm to be used to deploy Pinniped
into the local KinD cluster for the local integration tests. That said,
the change allows any alternate deployment mechanism, I just happen
to be using it with Helm.
All default behavior is preserved. This won't change how anyone uses the
script today, it just allows me not to copy/paste the whole setup for the
integration tests.
Changes:
1) An option called `--alternate-deploy <path-to-deploy-script>` has been
added, that when enabled calls the specified script instead of using ytt
and kapp. The alternate deploy script is called with the app to deploy
and the tag of the docker image to use. We set the default value of
the alternate_deploy variable to undefined, and there is a check that
tests if the alternate deploy is defined. For the superivsor it looks
like this:
```
if [ "$alternate_deploy" != "undefined" ]; then
log_note "The Pinniped Supervisor will be deployed with $alternate_deploy pinniped-supervisor $tag..."
$alternate_deploy pinniped-supervisor $tag
else
normal ytt/kapp deploy
fi
```
2) Additional log_note entries have been added to enumerate all values passed
into the ytt/kapp deploy. Used while I was trying to reach parity in the integration
tests, but I think they are useful for debugging.
3) The manifests produced by ytt and written to /tmp are now named individually.
This is so an easy comparison can be made between manifests produced by a ytt/kapp
run of integration tests and manifests produced by helm run of the integration tests.
If something is not working I have been comparing the manifests after these runs to
find differences.
2022-02-20 10:15:29 -05:00
Margo Crawford
339bb84765
Merge pull request #982 from vmware-tanzu/upstream-ldap-group-refresh-skip
...
Only run group refresh when the skipGroupRefresh boolean isn't set
2022-02-17 13:59:07 -08:00
Margo Crawford
b9582f864e
Update comment for skipGroupRefresh
2022-02-17 12:50:28 -08:00
Margo Crawford
e2c6dcd6e6
Add integration test
2022-02-17 12:50:28 -08:00
Margo Crawford
fdac4d16f0
Only run group refresh when the skipGroupRefresh boolean isn't set
...
for AD and LDAP
2022-02-17 12:50:28 -08:00
Ryan Richard
67085e9dbb
Merge pull request #973 from vmware-tanzu/proposal_process
...
Introduce a proposal process in the governance doc
2022-02-17 12:49:23 -08:00
Ryan Richard
dec89b5378
Merge branch 'main' into proposal_process
2022-02-17 12:48:58 -08:00
Margo Crawford
c7aaa69b4b
Merge pull request #975 from vmware-tanzu/upstream-ldap-group-refresh
...
Inline upstream ldap group refresh
2022-02-17 12:47:22 -08:00
Margo Crawford
662f2cef9c
Integration test for updating group search base
...
Also a small change to a comment
2022-02-17 11:29:59 -08:00
Margo Crawford
ca523b1f20
Always update groups even if it's nil
...
Also de-dup groups and various small formatting changes
2022-02-17 11:29:59 -08:00
Margo Crawford
c28602f275
Add unit tests for group parsing overrides
2022-02-17 11:29:59 -08:00
Margo Crawford
dd11c02b6a
Add back entries because I think it's actually necessary
2022-02-17 11:29:59 -08:00
Margo Crawford
f890fad90c
Rename a function, sort strings inside searchGroupsForUserDN
2022-02-17 11:29:59 -08:00
Margo Crawford
cd7538861a
Add integration test where we don't get groups back
2022-02-17 11:29:59 -08:00
Margo Crawford
013b521838
Upstream ldap group refresh:
...
- Doing it inline on the refresh request
2022-02-17 11:29:59 -08:00
Ryan Richard
9526009f74
Fix spelling typo in proposals/README.md
...
Co-authored-by: Mo Khan <i@monis.app >
2022-02-17 10:59:23 -08:00
Ryan Richard
2f7713889a
Remove an unnecessary step from the proposal lifecycle
2022-02-17 10:56:13 -08:00
Ryan Richard
60cc61cdaa
Add the concept of a tracking issue to the proposal process
2022-02-17 10:42:10 -08:00
Ryan Richard
bc6827b2e1
Auto-format GOVERNANCE.md
2022-02-17 10:08:37 -08:00
Ryan Richard
9dbf7d6bf5
Merge branch 'main' into proposal_process
2022-02-17 10:07:37 -08:00
Ryan Richard
46dd73de70
Merge pull request #1006 from vmware-tanzu/fix_int_test_macos
...
Fix int test that was failing on MacOS, and some small doc changes
2022-02-16 12:56:30 -08:00
Ryan Richard
9a6136761d
Merge branch 'main' into fix_int_test_macos
2022-02-16 12:01:47 -08:00
Ryan Richard
eaa3e9f612
Merge pull request #1013 from vmware-tanzu/cli_require_https_issuers
...
CLI requires HTTPS OIDC issuer, authorize, and token URLS
2022-02-16 11:22:26 -08:00
Ryan Richard
c09daa8513
Merge branch 'main' into fix_int_test_macos
2022-02-16 11:09:11 -08:00
Ryan Richard
e5a60a8c84
Update a comment
2022-02-16 11:09:05 -08:00
Ryan Richard
79467318f4
CLI requires HTTPS OIDC issuer, authorize, and token URLS
2022-02-16 10:41:51 -08:00
Mo Khan
cc50fc980c
Merge pull request #1009 from enj/enj/i/chrome_beta_build_5
...
Enforce naming convention for browser based tests
2022-02-16 11:21:27 -05:00
Monis Khan
b8202d89d9
Enforce naming convention for browser based tests
...
This allows us to target browser based tests with the regex:
go test -v -race -count 1 -timeout 0 ./test/integration -run '/_Browser'
New tests that call browsertest.Open will automatically be forced to
follow this convention.
Signed-off-by: Monis Khan <mok@vmware.com >
2022-02-16 09:20:28 -05:00
Ryan Richard
f1f42052fb
Merge branch 'main' into fix_int_test_macos
2022-02-15 16:45:59 -08:00
Ryan Richard
3f4e6cf367
Fix a typo in CONTRIBUTING.md from a recent commit: comma in wrong place
2022-02-15 16:45:49 -08:00
Ryan Richard
1aa17bd84d
Check for darwin before relaxing stderr vs stdout assertion in e2e test
2022-02-15 13:45:04 -08:00
Mo Khan
c4ae5cfebb
Merge pull request #1003 from enj/enj/d/dex_password
...
Update dex docs regarding password grant
2022-02-15 15:45:54 -05:00
Ryan Richard
b0c36c6633
Fix int test that was failing on MacOS, and some small doc changes
2022-02-15 11:19:49 -08:00
Ryan Richard
461c0ae56c
Merge branch 'main' into proposal_process
2022-02-15 10:15:46 -08:00
Ryan Richard
42db13d044
Move the proposal process doc to the proposals directory's README.md
2022-02-15 10:14:59 -08:00
Ryan Richard
82cdc870a6
Merge pull request #996 from vmware-tanzu/gke_tutorial
...
Replace old tutorial with a new Supervisor + Concierge tutorial which uses GKE to demonstrate both
2022-02-15 09:37:29 -08:00
Ryan Richard
0175445ece
Merge branch 'main' into gke_tutorial
2022-02-15 09:22:52 -08:00
Ryan Richard
f728ea743f
Add --ignore-not-found to delete Supervisor app command
2022-02-15 09:04:47 -08:00
Ryan Richard
230e563ab7
Another draft of the new tutorial guide
2022-02-14 17:23:57 -08:00
Ryan Richard
26dcbd9ec1
Try using ``markdown instead of ``md for coloring
2022-02-14 13:45:30 -08:00
Monis Khan
a21a5bca1e
Update dex docs regarding password grant
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-02-13 12:48:20 -05:00
Ryan Richard
05ec8cba8c
Add a new subheading to the tutorial doc
2022-02-11 17:16:40 -08:00
Ryan Richard
e57a1a7891
Overwrite the old Supervisor+Concierge tutorial with the new one
...
And make it easier for web site readers to find by adding prominent
links to it from several places.
2022-02-11 17:03:13 -08:00
Mo Khan
11d9b4f21a
Merge pull request #999 from vmware-tanzu/dependabot/docker/golang-1.17.7
...
Bump golang from 1.17.6 to 1.17.7
2022-02-10 21:55:27 -05:00
dependabot[bot]
93e4d5d956
Bump golang from 1.17.6 to 1.17.7
...
Bumps golang from 1.17.6 to 1.17.7.
---
updated-dependencies:
- dependency-name: golang
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-02-11 01:13:54 +00:00
Mo Khan
390af8f476
Merge pull request #997 from enj/enj/i/bump_0003
...
Bump Kube to v0.23.3 and rest to latest
2022-02-10 18:19:54 -05:00
Monis Khan
49e88dd74a
Change some single quotes to double quotes in minified JS
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-02-10 16:15:26 -05:00
Monis Khan
4be2dd3b2a
Bump Kube to v0.23.3 and rest to latest
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-02-10 16:15:26 -05:00
Mo Khan
2c0b5b733b
Bump site latest_version to v0.14.0
2022-02-10 16:13:39 -05:00
Ryan Richard
c56ef5c40c
First draft of a Supervisor on GKE + Concierge on GKE tutorial
...
Including ingress, DNS, cert-manager + letsencrypt for TLS certs,
Okta, multiple workload clusters, etc.
2022-02-09 17:13:40 -08:00
Mo Khan
e1080e1225
Allow dependabot to open more pull requests
2022-02-09 16:15:57 -05:00
Mo Khan
59be3008fd
Merge pull request #985 from microwavables/update-docs
...
updated search functionality of docs on site
2022-02-09 12:01:59 -05:00
Nanci Lancaster
d728c89ba6
updated search functionality of docs on site
...
Signed-off-by: Nanci Lancaster <nancil@vmware.com >
2022-02-09 11:01:37 -05:00
Mo Khan
863aadd9ea
Merge pull request #989 from vmware-tanzu/chrome_cors2
...
Followup for CORS request handling to CLI's localhost listener
2022-02-09 10:27:00 -05:00
Ryan Richard
5d79d4b9dc
Fix form_post.js mistake from recent commit; Better CORS on callback
2022-02-08 17:30:48 -08:00
Ryan Richard
f6f188565b
Merge pull request #987 from vmware-tanzu/chrome_cors
...
Add CORS request handling to CLI's localhost listener
2022-02-08 14:31:45 -08:00
Mo Khan
29368e8242
Make the linter happy
2022-02-08 16:31:04 -05:00
Ryan Richard
cd825c5e51
Use "-v6" for kubectl for an e2e test so we can get more failure output
2022-02-08 13:00:49 -08:00
Mo Khan
874b567974
Merge pull request #988 from enj/enj/t/e2e_hung
...
e2e_test: handle hung go routines and readers
2022-02-08 12:57:54 -05:00
Monis Khan
8ee461ae8a
e2e_test: handle hung go routines and readers
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-02-08 11:40:10 -05:00
Mo Khan
1388183bf1
TestE2EFullIntegration: reduce timeout
...
This causes the test to timeout before concourse terminates the entire test run.
2022-02-07 20:53:03 -05:00
Ryan Richard
f1962ccf86
Merge branch 'main' into chrome_cors
2022-02-07 16:35:44 -08:00
Ryan Richard
0431a072ae
Remove an unnecessary nolint comment
2022-02-07 16:26:39 -08:00
Ryan Richard
6781bfd7d8
Fix JS bug: form post UI shows manual copy/paste UI upon failed callback
...
When the POST to the CLI's localhost callback endpoint results in a
non-2XX status code, then treat that as a failed login attempt and
automatically show the manual copy/paste UI.
2022-02-07 16:21:23 -08:00
Ryan Richard
aa56f174db
Capture and print the full kubectl output in an e2e test upon failure
2022-02-07 16:17:38 -08:00
Ryan Richard
3c7e387137
Keep the CLI localhost listener running after requests with wrong verb
...
Just in case some future browser change sends some new kind of request
to our CLI, just ignore them by returning StatusMethodNotAllowed and
continuing to listen.
2022-02-07 13:32:31 -08:00
Ryan Richard
2b93fdf357
Fix a bug in the e2e tests
...
When the test was going to fail, a goroutine would accidentally block
on writing to an unbuffered channel, and the spawnTestGoroutine helper
would wait for that goroutine to end on cleanup, causing the test to
hang forever while it was trying to fail.
2022-02-07 11:57:54 -08:00
Ryan Richard
7b97f1533e
Add CORS request handling to CLI's localhost listener
...
This is to support the new changes in Google Chrome v98 which now
performs CORS preflight requests for the Javascript form submission
on the Supervisor's login page, even though the form is being submitted
to a localhost listener.
2022-02-04 16:57:37 -08:00
anjalitelang
7c246784dc
Update ROADMAP.md
...
Updated roadmap to reflect changes planned for v0.14 release and beyond.
2022-02-03 08:57:47 -05:00
anjalitelang
0dd3b40694
Update ROADMAP.md
2022-01-31 12:13:18 -05:00
Ryan Richard
a2a05548f9
More updates to draft proposal process based on feedback
2022-01-27 14:56:10 -08:00
Ryan Richard
d4725423a9
More updates to draft proposal process based on feedback
2022-01-27 14:51:52 -08:00
Ryan Richard
e9e56689cf
Update draft proposal process based on feedback
2022-01-25 11:22:19 -08:00
Ryan Richard
31bd50c011
first draft of proposal process
2022-01-24 15:17:09 -08:00
Margo Crawford
3b1153cd91
Update latest version to v0.13.0
2022-01-21 15:19:40 -08:00
anjalitelang
6590230bcd
Merge pull request #954 from anjaltelang/main
...
Blog for v0.13.0
2022-01-21 15:17:18 -08:00
Pinny
4f06cd3c2e
Update CLI docs for v0.13.0 release
2022-01-21 23:12:12 +00:00
Margo Crawford
dea9bf9b90
Merge pull request #970 from vmware-tanzu/kubectl-apply-resources
...
When instructing users how to install the concierge with kubectl apply,
2022-01-21 13:36:52 -08:00
Margo Crawford
726e88ea03
When instructing users how to install the concierge with kubectl apply,
...
reccommend using install-pinniped-concierge-crds.yaml, then
install-pinniped-concierge-resources.yaml.
Previously we recommended install-pinniped-concierge-crds (a subset),
then install-pinniped-concierge (everything concierge related, including
the crds). This works fine for install, but not uninstall. Instead we
should use a separate yaml file that contains everything in
install-pinniped-concierge but *not* in install-pinniped-concierge-crds.
We have been generating this file in CI since a5ced4286b6febc7474b7adee34eeb1b62ec82b7
but we haven't released since then so we haven't been able to recommend
its use.
2022-01-21 10:26:45 -08:00
Margo Crawford
70c99c6d44
Merge pull request #969 from vmware-tanzu/request-offline-access-in-docs
...
Request offline_access in the concierge with supervisor demo
2022-01-21 10:24:04 -08:00
Margo Crawford
62a8967db1
Request offline_access in the concierge with supervisor demo
...
It's a generic config and not OIDC provider specific
but since most providers require it it seems like the
best default.
2022-01-21 09:58:04 -08:00
Mo Khan
3fc73c21d2
Merge pull request #968 from enj/enj/i/bump_0002
...
Bump to Kube v0.23.2
2022-01-21 12:16:49 -05:00
Monis Khan
d55ae3f8bb
Bump all deps to latest
...
Signed-off-by: Monis Khan <mok@vmware.com >
2022-01-21 11:25:56 -05:00
Ryan Richard
c8d4b73f94
Merge pull request #967 from vmware-tanzu/refresh-token-test-warnings
...
Fix new refresh token grace period test to have warnings
2022-01-21 04:20:46 -08:00
Margo Crawford
b30dad72ed
Fix new refresh token grace period test to have warnings
2022-01-20 14:54:59 -08:00
Margo Crawford
31cdd808ac
Merge pull request #951 from vmware-tanzu/short-session-warning
...
Supervisor should emit a warning when access token lifetime is too short
2022-01-20 14:44:32 -08:00
Ryan Richard
e85a6c09f6
Merge pull request #953 from vmware-tanzu/dependabot/go_modules/github.com/tdewolff/minify/v2-2.9.29
...
Bump github.com/tdewolff/minify/v2 from 2.9.26 to 2.9.29
2022-01-20 14:16:05 -08:00
Mo Khan
025ef6311b
Merge pull request #943 from vmware-tanzu/dependabot/go_modules/github.com/ory/fosite-0.42.0
...
Bump github.com/ory/fosite from 0.41.0 to 0.42.0
2022-01-20 17:03:52 -05:00
Margo Crawford
842ef38868
Ensure warning is on stderr and not stdout.
2022-01-20 13:48:50 -08:00
Margo Crawford
acd23c4c37
Separate test for access token refresh
2022-01-20 13:48:50 -08:00
Margo Crawford
38d184fe81
Integration test + making sure we get the session correctly in token handler
2022-01-20 13:48:50 -08:00
Margo Crawford
b0ea7063c7
Supervisor should emit a warning when access token lifetime is too short
2022-01-20 13:48:50 -08:00
Ryan Richard
fe819e3512
Empty commit to trigger CI
2022-01-20 13:37:15 -08:00
Ryan Richard
42ca31055a
Empty commit to trigger CI
2022-01-20 13:25:29 -08:00
Ryan Richard
652797ba0b
Merge branch 'main' into dependabot/go_modules/github.com/tdewolff/minify/v2-2.9.29
2022-01-20 12:23:02 -08:00
Ryan Richard
89c40259f3
Use latest github.com/ory/x v0.0.336
2022-01-20 12:21:19 -08:00
Ryan Richard
520fcf195a
Merge branch 'main' into dependabot/go_modules/github.com/ory/fosite-0.42.0
2022-01-20 12:16:54 -08:00
Ryan Richard
284ce00aef
Merge pull request #957 from vmware-tanzu/dependabot/go_modules/github.com/ory/x-0.0.334
...
Bump github.com/ory/x from 0.0.331 to 0.0.334
2022-01-20 12:10:57 -08:00
Ryan Richard
db789dc2bf
Merge branch 'main' into dependabot/go_modules/github.com/tdewolff/minify/v2-2.9.29
2022-01-20 12:10:24 -08:00
Ryan Richard
6ddc953989
Merge branch 'main' into dependabot/go_modules/github.com/ory/fosite-0.42.0
2022-01-20 12:10:01 -08:00
Ryan Richard
1f21e30bb2
Merge pull request #948 from vmware-tanzu/upstream-oidc-refresh-groups
...
Update group memberships during refresh for upstream OIDC providers
2022-01-20 12:07:42 -08:00
Margo Crawford
6c923d3bc6
Merge pull request #956 from vmware-tanzu/fix-scopes-access-token-refresh-test
...
Keep all scopes except offline_access in access token refresh integration test
2022-01-19 16:19:13 -08:00
dependabot[bot]
cd3d1333de
Bump github.com/ory/x from 0.0.331 to 0.0.334
...
Bumps [github.com/ory/x](https://github.com/ory/x ) from 0.0.331 to 0.0.334.
- [Release notes](https://github.com/ory/x/releases )
- [Commits](https://github.com/ory/x/compare/v0.0.331...v0.0.334 )
---
updated-dependencies:
- dependency-name: github.com/ory/x
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-01-19 22:07:18 +00:00
Ryan Richard
dff53b8144
Changes for Fosite's new RevokeRefreshTokenMaybeGracePeriod() interface
...
Fosite v0.42.0 introduced a new RevokeRefreshTokenMaybeGracePeriod()
interface function. Updated our code to support this change. We didn't
support grace periods on refresh tokens before, so implemented it by
making the new RevokeRefreshTokenMaybeGracePeriod() method just call
the old RevokeRefreshToken() method, therefore keeping our old behavior.
2022-01-19 13:57:01 -08:00
Margo Crawford
513c943e87
Keep all scopes except offline_access in integration test
2022-01-19 13:29:26 -08:00
Ryan Richard
3b1cc30e8d
Update unit test to match new JS minify output after minify upgrade
2022-01-19 13:29:07 -08:00
Ryan Richard
a4ca44ca14
Improve error handling when upstream groups is invalid during refresh
2022-01-19 12:57:47 -08:00
dependabot[bot]
4ce2f9db50
Bump github.com/tdewolff/minify/v2 from 2.9.26 to 2.9.29
...
Bumps [github.com/tdewolff/minify/v2](https://github.com/tdewolff/minify ) from 2.9.26 to 2.9.29.
- [Release notes](https://github.com/tdewolff/minify/releases )
- [Commits](https://github.com/tdewolff/minify/compare/v2.9.26...v2.9.29 )
---
updated-dependencies:
- dependency-name: github.com/tdewolff/minify/v2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-01-19 01:05:43 +00:00
Ryan Richard
78bdb1928a
Merge branch 'main' into upstream-oidc-refresh-groups
2022-01-18 16:03:14 -08:00
dependabot[bot]
b2bdf01152
Bump github.com/ory/fosite from 0.41.0 to 0.42.0
...
Bumps [github.com/ory/fosite](https://github.com/ory/fosite ) from 0.41.0 to 0.42.0.
- [Release notes](https://github.com/ory/fosite/releases )
- [Changelog](https://github.com/ory/fosite/blob/master/CHANGELOG.md )
- [Commits](https://github.com/ory/fosite/compare/v0.41.0...v0.42.0 )
---
updated-dependencies:
- dependency-name: github.com/ory/fosite
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-01-18 23:53:34 +00:00
Mo Khan
956f6f1eab
Merge pull request #945 from enj/enj/i/supervisor_ports
...
Allow configuration of supervisor endpoints
2022-01-18 18:52:32 -05:00
Monis Khan
1e1789f6d1
Allow configuration of supervisor endpoints
...
This change allows configuration of the http and https listeners
used by the supervisor.
TCP (IPv4 and IPv6 with any interface and port) and Unix domain
socket based listeners are supported. Listeners may also be
disabled.
Binding the http listener to TCP addresses other than 127.0.0.1 or
::1 is deprecated.
The deployment now uses https health checks. The supervisor is
always able to complete a TLS connection with the use of a bootstrap
certificate that is signed by an in-memory certificate authority.
To support sidecar containers used by service meshes, Unix domain
socket based listeners include ACLs that allow writes to the socket
file from any runAsUser specified in the pod's containers.
Signed-off-by: Monis Khan <mok@vmware.com >
2022-01-18 17:43:45 -05:00
Ryan Richard
70bd831099
Merge branch 'main' into upstream-oidc-refresh-groups
2022-01-18 14:36:18 -08:00
Ryan Richard
01a7978387
Merge pull request #940 from vmware-tanzu/ldap_and_activedirectory_status_conditions_bug
...
Fix bug where LDAP or AD status conditions were not updated correctly
2022-01-18 14:35:49 -08:00
Ryan Richard
1a2514f417
Merge branch 'main' into ldap_and_activedirectory_status_conditions_bug
2022-01-18 10:09:14 -08:00
Ryan Richard
6143d66504
Increase timeout on linter for when CI gets slow
2022-01-18 10:07:36 -08:00
Ryan Richard
1602fca5ed
Increase timeout on linter for when CI gets slow
2022-01-18 10:06:53 -08:00
anjalitelang
ebcf71c30c
Update ROADMAP.md
...
Proposed changes based on multiple tracks of work- Compliance, IDP features
2022-01-18 10:34:09 -05:00
Ryan Richard
88f3b29515
Merge branch 'main' into upstream-oidc-refresh-groups
2022-01-14 16:51:12 -08:00
Ryan Richard
75e4093067
Merge branch 'main' into ldap_and_activedirectory_status_conditions_bug
2022-01-14 16:50:34 -08:00
Ryan Richard
619b0ba052
Merge pull request #904 from vmware-tanzu/upstream_access_revocation_during_gc
...
Revoke upstream OIDC access tokens during downstream session garbage collection
2022-01-14 16:45:29 -08:00
Ryan Richard
548977f579
Update group memberships during refresh for upstream OIDC providers
...
Update the user's group memberships when possible. Note that we won't
always have enough information to be able to update it (see code
comments).
2022-01-14 16:38:21 -08:00
Ryan Richard
7551af3eb8
Fix code that did not auto-merge correctly in previous merge from main
2022-01-14 10:59:39 -08:00
Ryan Richard
814399324f
Merge branch 'main' into upstream_access_revocation_during_gc
2022-01-14 10:49:22 -08:00
Margo Crawford
50e4871d65
Merge pull request #944 from vmware-tanzu/refresh-with-no-refresh-token
...
Access Token based OIDC refresh by checking the UserInfo endpoint
2022-01-14 10:23:41 -08:00
Ryan Richard
db0a765b98
Merge branch 'main' into ldap_and_activedirectory_status_conditions_bug
2022-01-14 10:06:16 -08:00
Ryan Richard
092a80f849
Refactor some variable names and update one comment
...
Change variable names to match previously renamed interface name.
2022-01-14 10:06:00 -08:00
Margo Crawford
5b161be334
Refactored oidcUpstreamRefresh
...
Various style changes, updated some comments and variable names and
extracted a helper function for validation.
2022-01-12 18:05:22 -08:00
Margo Crawford
62be761ef1
Perform access token based refresh by fetching the userinfo
2022-01-12 18:05:10 -08:00
Ryan Richard
651d392b00
Refuse logins when no upstream refresh token and no userinfo endpoint
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-01-12 18:03:25 -08:00
Margo Crawford
6f3977de9d
Store access token when refresh not available for authcode flow.
...
Also refactor oidc downstreamsessiondata code to be shared between
callback handler and auth handler.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2022-01-12 18:03:25 -08:00
Ryan Richard
91924ec685
Revert adding allowAccessTokenBasedRefresh flag to OIDCIdentityProvider
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-01-12 18:03:25 -08:00
Margo Crawford
683a2c5b23
WIP adding access token to storage upon login
2022-01-12 18:03:25 -08:00
Ryan Richard
1f146f905a
Add struct field for storing upstream access token in downstream session
2022-01-12 18:03:25 -08:00
Mo Khan
82f54b5556
Merge pull request #917 from vmware-tanzu/oidc-refresh-user-info-checks
...
OIDC refresh user info checks
2022-01-12 20:27:00 -05:00
Margo Crawford
2b744b2eef
Add back comment about deferring validation when id token subject is missing
2022-01-12 11:19:43 -08:00
Ryan Richard
438b58193d
Empty commit to trigger CI
2022-01-10 13:47:13 -08:00
Margo Crawford
2958461970
Addressing PR feedback
...
store issuer and subject in storage for refresh
Clean up some constants
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-01-10 11:03:37 -08:00
Margo Crawford
f2d2144932
rename ValidateToken to ValidateTokenAndMergeWithUserInfo to better reflect what it's doing
...
Also changed a few comments and small things
2022-01-10 11:03:37 -08:00
Margo Crawford
c9cf13a01f
Check for issuer if available
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-01-10 11:03:37 -08:00
Margo Crawford
0cd086cf9c
Check username claim is unchanged for oidc.
...
Also add integration tests for claims changing.
2022-01-10 11:03:37 -08:00
Margo Crawford
b098435290
Refactor validatetoken to handle refresh case without id token
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-01-10 11:03:37 -08:00
Margo Crawford
74b007ff66
Validate that issuer url and urls returned from discovery are https
...
and that they have no query or fragment
Signed-off-by: Ryan Richard <richardry@vmware.com >
2022-01-10 11:03:37 -08:00
Margo Crawford
ed96b597c7
Check for subject matching with upstream refresh
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2022-01-10 11:03:37 -08:00
Ryan Richard
6b9fc7aa59
Merge branch 'main' into ldap_and_activedirectory_status_conditions_bug
2022-01-10 09:23:09 -08:00
Mo Khan
d438bfbc99
Merge pull request #939 from vmware-tanzu/dependabot/go_modules/github.com/ory/x-0.0.331
...
Bump github.com/ory/x from 0.0.330 to 0.0.331
2022-01-09 12:04:56 -05:00
Ryan Richard
7f99d78462
Fix bug where LDAP or AD status conditions were not updated correctly
...
When the LDAP and AD IDP watcher controllers encountered an update error
while trying to update the status conditions of the IDP resources, then
they would drop the computed desired new value of the condition on the
ground. Next time the controller ran it would not try to update the
condition again because it wants to use the cached settings and had
already forgotten the desired new value of the condition computed during
the previous run of the controller. This would leave the outdated value
of the condition on the IDP resource.
This bug would manifest in CI as random failures in which the expected
condition message and the actual condition message would refer to
different versions numbers of the bind secret. The actual condition
message would refer to an older version of the bind secret because the
update failed and then the new desired message got dropped on the
ground.
This commit changes the in-memory caching strategy to also cache the
computed condition messages, allowing the conditions to be updated
on the IDP resource during future calls to Sync() in the case of a
failed update.
2022-01-07 17:19:13 -08:00
dependabot[bot]
a7ff638f4c
Bump github.com/ory/x from 0.0.330 to 0.0.331
...
Bumps [github.com/ory/x](https://github.com/ory/x ) from 0.0.330 to 0.0.331.
- [Release notes](https://github.com/ory/x/releases )
- [Commits](https://github.com/ory/x/compare/v0.0.330...v0.0.331 )
---
updated-dependencies:
- dependency-name: github.com/ory/x
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-01-07 13:45:37 +00:00
Mo Khan
287d5094ec
Merge pull request #938 from vmware-tanzu/dependabot/docker/golang-1.17.6
...
Bump golang from 1.17.5 to 1.17.6
2022-01-07 08:13:16 -05:00
dependabot[bot]
f2b4d667d1
Bump golang from 1.17.5 to 1.17.6
...
Bumps golang from 1.17.5 to 1.17.6.
---
updated-dependencies:
- dependency-name: golang
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-01-07 01:04:10 +00:00
Mo Khan
fff27a4270
Merge pull request #935 from enj/enj/i/bump_0001
...
Bump all deps to latest
2022-01-03 19:48:08 -05:00
Monis Khan
f90f173826
Bump all deps to latest
...
Ran:
go get -u ./... && go mod tidy
Pinned all go.opentelemetry.io deps to match k/k.
This is needed to make the go get command work.
Signed-off-by: Monis Khan <mok@vmware.com >
2022-01-03 17:48:59 -05:00
Mo Khan
cc88d2a334
Merge pull request #931 from vmware-tanzu/dependabot/docker/distroless/static-80c956f
...
Bump distroless/static from `bca3c20` to `80c956f`
2022-01-03 10:49:08 -05:00
dependabot[bot]
a0ddf4a945
Bump distroless/static from bca3c20 to 80c956f
...
Bumps distroless/static from `bca3c20` to `80c956f`.
---
updated-dependencies:
- dependency-name: distroless/static
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-12-27 01:17:24 +00:00
Mo Khan
05277a5579
Merge pull request #925 from enj/enj/i/flexible_cli_redirect
...
pinniped CLI: allow all forms of http redirects
2021-12-17 15:51:44 -05:00
Monis Khan
c155c6e629
Clean up nits in AD code
...
- Make everything private
- Drop unused AuthTime field
- Use %q format string instead of "%s"
- Only rely on GetRawAttributeValues in AttributeUnchangedSinceLogin
Signed-off-by: Monis Khan <mok@vmware.com >
2021-12-17 08:53:44 -05:00
Monis Khan
a6085c9678
Drop unsafe unwrapper for exec.roundTripper
...
exec.roundTripper now implements utilnet.RoundTripperWrapper so this
unsafe hack is no longer needed.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-12-17 08:28:30 -05:00
Monis Khan
86f2bea8c5
pinniped CLI: allow all forms of http redirects
...
For password based login on the CLI (i.e. no browser), this change
relaxes the response code check to allow for any redirect code
handled by the Go standard library. In the future, we can drop the
rewriteStatusSeeOtherToStatusFoundForBrowserless logic from the
server side code.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-12-17 08:28:29 -05:00
Mo Khan
adf04d29f7
Merge pull request #914 from enj/enj/i/bump_0.23.0
...
Update all deps to latest where possible, bump Kube deps to v0.23.1
2021-12-16 21:45:32 -05:00
Monis Khan
9599ffcfb9
Update all deps to latest where possible, bump Kube deps to v0.23.1
...
Highlights from this dep bump:
1. Made a copy of the v0.4.0 github.com/go-logr/stdr implementation
for use in tests. We must bump this dep as Kube code uses a
newer version now. We would have to rewrite hundreds of test log
assertions without this copy.
2. Use github.com/felixge/httpsnoop to undo the changes made by
ory/fosite#636 for CLI based login flows. This is required for
backwards compatibility with older versions of our CLI. A
separate change after this will update the CLI to be more
flexible (it is purposefully not part of this change to confirm
that we did not break anything). For all browser login flows, we
now redirect using http.StatusSeeOther instead of http.StatusFound.
3. Drop plog.RemoveKlogGlobalFlags as klog no longer mutates global
process flags
4. Only bump github.com/ory/x to v0.0.297 instead of the latest
v0.0.321 because v0.0.298+ pulls in a newer version of
go.opentelemetry.io/otel/semconv which breaks k8s.io/apiserver.
We should update k8s.io/apiserver to use the newer code.
5. Migrate all code from k8s.io/apimachinery/pkg/util/clock to
k8s.io/utils/clock and k8s.io/utils/clock/testing
6. Delete testutil.NewDeleteOptionsRecorder and migrate to the new
kubetesting.NewDeleteActionWithOptions
7. Updated ExpectedAuthorizeCodeSessionJSONFromFuzzing caused by
fosite's new rotated_secrets OAuth client field. This new field
is currently not relevant to us as we have no private clients.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-12-16 21:15:27 -05:00
Mo Khan
69d5951296
Merge pull request #919 from microwavables/updating-community-details
...
Updated community and resources pages
2021-12-16 17:14:21 -05:00
Mo Khan
b148359337
Merge pull request #918 from vmware-tanzu/replace_reflections
...
Replace reflections in go.mod
2021-12-16 17:10:28 -05:00
Nanci Lancaster
e31a410096
Updated community and resources pages
2021-12-16 16:02:47 -06:00
Ryan Richard
6bf67f44ef
replace reflections in go.mod
2021-12-16 11:15:24 -08:00
Mo Khan
fdc91ec56c
Merge pull request #909 from vmware-tanzu/dependabot/docker/golang-1.17.5
...
Bump golang from 1.17.4 to 1.17.5
2021-12-10 12:41:02 -05:00
dependabot[bot]
884d18bade
Bump golang from 1.17.4 to 1.17.5
...
Bumps golang from 1.17.4 to 1.17.5.
---
updated-dependencies:
- dependency-name: golang
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-12-10 17:03:50 +00:00
Mo Khan
ca2ee26c86
Merge pull request #884 from vmware-tanzu/upstream-ad-refresh
...
Upstream active directory refresh checks for password changes, deactivated and locked users
2021-12-09 20:51:46 -05:00
Margo Crawford
59d999956c
Move ad specific stuff to controller
...
also make extra refresh attributes a separate field rather than part of
Extra
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-12-09 16:16:36 -08:00
Margo Crawford
acaad05341
Make pwdLastSet stuff more generic and not require parsing the timestamp
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-12-09 16:16:36 -08:00
Margo Crawford
65f3464995
Fix issue with very high integer value parsing, add unit tests
...
also add comment about urgent replication
2021-12-09 16:16:36 -08:00
Margo Crawford
ee4f725209
Incorporate PR feedback
2021-12-09 16:16:36 -08:00
Margo Crawford
ef5a04c7ce
Check for locked users on ad upstream refresh
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-12-09 16:16:36 -08:00
Margo Crawford
f62e9a2d33
Active directory checks for deactivated user
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-12-09 16:16:36 -08:00
Margo Crawford
da9b4620b3
Active Directory checks whether password has changed recently during
...
upstream refresh
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-12-09 16:16:35 -08:00
Margo Crawford
8db0203839
Add test for upstream ldap idp not found, wrong idp uid, and malformed
...
fosite session storage
2021-12-09 16:16:35 -08:00
Ryan Richard
92bd3b49c8
Merge branch 'main' into upstream_access_revocation_during_gc
2021-12-09 14:16:52 -08:00
anjalitelang
4110297a8f
Update ROADMAP.md
...
Updated roadmap to reflect current velocity
2021-12-09 16:59:09 -05:00
Ryan Richard
dbcb213691
Merge branch 'main' into upstream_access_revocation_during_gc
2021-12-08 14:29:59 -08:00
Ryan Richard
f410d2bd00
Add revocation of upstream access tokens to garbage collector
...
Also refactor the code that decides which types of revocation failures
are worth retrying. Be more selective by only retrying those types of
errors that are likely to be worth retrying.
2021-12-08 14:29:25 -08:00
Mo Khan
7a3b5e3571
Merge pull request #908 from vmware-tanzu/microwavables-main
...
Added GOVERNANCE.md file to repo
2021-12-08 14:38:21 -05:00
Nanci Lancaster
505bc47ae1
Added GOVERNANCE.md file to repo
...
Signed-off-by: Nanci Lancaster <nancil@vmware.com >
2021-12-08 14:29:16 -05:00
Ryan Richard
c9c218fdf0
Merge branch 'main' into upstream_access_revocation_during_gc
2021-12-06 14:47:27 -08:00
Ryan Richard
46008a7235
Add struct field for storing upstream access token in downstream session
2021-12-06 14:43:39 -08:00
Mo Khan
2c5b74c960
Merge pull request #905 from vmware-tanzu/dependabot/docker/golang-1.17.4
...
Bump golang from 1.17.3 to 1.17.4
2021-12-06 15:44:42 -05:00
dependabot[bot]
db68fc3a2b
Bump golang from 1.17.3 to 1.17.4
...
Bumps golang from 1.17.3 to 1.17.4.
---
updated-dependencies:
- dependency-name: golang
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-12-06 01:14:25 +00:00
Ryan Richard
29490ee665
ran go mod tidy
2021-12-03 16:40:01 -08:00
Ryan Richard
b981055d31
Support revocation of access tokens in UpstreamOIDCIdentityProviderI
...
- Rename the RevokeRefreshToken() function to RevokeToken() and make it
take the token type (refresh or access) as a new parameter.
- This is a prefactor getting ready to support revocation of upstream
access tokens in the garbage collection handler.
2021-12-03 13:44:24 -08:00
Ryan Richard
edd3547977
Merge pull request #903 from vmware-tanzu/code-walkthrough-doc
...
Add first draft of code walk-through doc
2021-12-03 12:19:29 -08:00
Ryan Richard
aa361a70a7
clarifications to code walkthrough doc
2021-12-03 10:50:02 -08:00
Ryan Richard
7b6bdd8129
fix link to blog and add another in doc
2021-12-03 10:32:16 -08:00
Ryan Richard
4aed3385b6
Merge branch 'main' into code-walkthrough-doc
2021-12-03 09:17:35 -08:00
Ryan Richard
2736c3603a
fix typo in doc
2021-12-03 09:17:17 -08:00
Ryan Richard
3ea90467b7
add first draft of code walk-through doc
2021-12-02 17:18:50 -08:00
anjalitelang
683027468e
Update ROADMAP.md
2021-12-02 12:00:54 -05:00
Mo Khan
269cae3a9f
Merge pull request #895 from enj/enj/f/warning_rt
...
phttp: add generic support for RFC 2616 14.46 warnings headers
2021-11-30 16:15:39 -05:00
Monis Khan
9d4a932656
phttp: add generic support for RFC 2616 14.46 warnings headers
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-11-30 15:11:59 -05:00
Mo Khan
1611cf681a
Merge pull request #876 from vmware-tanzu/upstream_refresh_revocation_during_gc
...
Revoke upstream OIDC refresh tokens during downstream session garbage collection
2021-11-23 20:15:37 -05:00
Mo Khan
78474cfae9
Merge branch 'main' into upstream_refresh_revocation_during_gc
2021-11-23 19:29:13 -05:00
Mo Khan
aaf847040f
Merge pull request #893 from vmware-tanzu/fix_unit_test
...
Attempt to fix a unit test that always failed on my laptop
2021-11-23 19:25:16 -05:00
Ryan Richard
e44540043d
Attempt to fix a unit test that always failed on my laptop
...
Try to make the GCP plugin config less sensitive to the setup of the
computer on which it runs.
2021-11-23 15:47:19 -08:00
Ryan Richard
69be273e01
Merge branch 'main' into upstream_refresh_revocation_during_gc
2021-11-23 14:55:44 -08:00
Mo Khan
5a1de2f54c
Merge pull request #888 from vmware-tanzu/customize_ports
...
Make Concierge server port numbers configurable
2021-11-23 17:51:04 -05:00
Ryan Richard
91eed1ab24
Merge branch 'main' into upstream_refresh_revocation_during_gc
2021-11-23 12:11:39 -08:00
Ryan Richard
3ca8c49334
Improve garbage collector log format and some comments
2021-11-23 12:11:17 -08:00
Mo Khan
f28b33bbf0
Merge branch 'main' into customize_ports
2021-11-23 08:30:48 -05:00
Mo Khan
537f85205d
Merge pull request #889 from enj/enj/i/strict_tls_acceptance
...
tls: fix integration tests for long lived environments
2021-11-18 16:37:15 -05:00
Ryan Richard
b8a93b6b90
Merge branch 'main' into customize_ports
2021-11-18 09:31:18 -08:00
Monis Khan
764a1ad7e4
tls: fix integration tests for long lived environments
...
This change updates the new TLS integration tests to:
1. Only create the supervisor default TLS serving cert if needed
2. Port forward the node port supervisor service since that is
available in all environments
Signed-off-by: Monis Khan <mok@vmware.com >
2021-11-18 03:55:56 -05:00
Mo Khan
6a68c6532c
Merge pull request #873 from enj/enj/i/strict_tls
...
Force the use of secure TLS config
2021-11-17 19:17:13 -05:00
Ryan Richard
3b3641568a
GC retries failed upstream revocations for a while, but not forever
2021-11-17 15:58:44 -08:00
Monis Khan
cd686ffdf3
Force the use of secure TLS config
...
This change updates the TLS config used by all pinniped components.
There are no configuration knobs associated with this change. Thus
this change tightens our static defaults.
There are four TLS config levels:
1. Secure (TLS 1.3 only)
2. Default (TLS 1.2+ best ciphers that are well supported)
3. Default LDAP (TLS 1.2+ with less good ciphers)
4. Legacy (currently unused, TLS 1.2+ with all non-broken ciphers)
Highlights per component:
1. pinniped CLI
- uses "secure" config against KAS
- uses "default" for all other connections
2. concierge
- uses "secure" config as an aggregated API server
- uses "default" config as a impersonation proxy API server
- uses "secure" config against KAS
- uses "default" config for JWT authenticater (mostly, see code)
- no changes to webhook authenticater (see code)
3. supervisor
- uses "default" config as a server
- uses "secure" config against KAS
- uses "default" config against OIDC IDPs
- uses "default LDAP" config against LDAP IDPs
Signed-off-by: Monis Khan <mok@vmware.com >
2021-11-17 16:55:35 -05:00
Ryan Richard
ca2cc40769
Add impersonationProxyServerPort to the Concierge's static ConfigMap
...
- Used to determine on which port the impersonation proxy will bind
- Defaults to 8444, which is the old hard-coded port value
- Allow the port number to be configured to any value within the
range 1024 to 65535
- This commit does not include adding new config knobs to the ytt
values file, so while it is possible to change this port without
needing to recompile, it is not convenient
2021-11-17 13:27:59 -08:00
Ryan Richard
2383a88612
Add aggregatedAPIServerPort to the Concierge's static ConfigMap
...
- Allow the port number to be configured to any value within the
range 1024 to 65535
- This commit does not include adding new config knobs to the ytt
values file, so while it is possible to change this port without
needing to recompile, it is not convenient
2021-11-16 16:43:51 -08:00
Ryan Richard
48518e9513
Add trace logging to help observe upstream OIDC refresh token revocation
2021-11-11 12:24:05 -08:00
Ryan Richard
de79f15068
Merge branch 'main' into upstream_refresh_revocation_during_gc
2021-11-10 15:35:42 -08:00
Ryan Richard
2388e25235
Revoke upstream OIDC refresh tokens during GC
2021-11-10 15:34:19 -08:00
Mo Khan
c570f08b2b
Merge pull request #885 from vmware-tanzu/dependabot/docker/golang-1.17.3
...
Bump golang from 1.17.2 to 1.17.3
2021-11-05 21:45:56 -04:00
dependabot[bot]
2aeb464b43
Bump golang from 1.17.2 to 1.17.3
...
Bumps golang from 1.17.2 to 1.17.3.
---
updated-dependencies:
- dependency-name: golang
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-11-06 00:55:39 +00:00
Mo Khan
5a3f83f90f
Merge pull request #877 from vmware-tanzu/upstream-ldap-refresh
...
Upstream ldap refresh
2021-11-05 18:08:45 -04:00
Margo Crawford
cb60a44f8a
extract ldap refresh search into helper function
...
also added an integration test for refresh failing after updating the username attribute
2021-11-05 14:22:43 -07:00
Margo Crawford
b5b8cab717
Refactors:
...
- pull construction of authenticators.Response into searchAndBindUser
- remove information about the identity provider in the error that gets
returned to users. Put it in debug instead, where it may show up in
logs.
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-11-05 14:22:43 -07:00
Margo Crawford
c84329d7a4
Fix broken ldap_client_test
2021-11-05 14:22:43 -07:00
Margo Crawford
f988879b6e
Addressing code review changes
...
- changed to use custom authenticators.Response rather than the k8s one
that doesn't include space for a DN
- Added more checking for correct idp type in token handler
- small style changes
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-11-05 14:22:43 -07:00
Margo Crawford
84edfcb541
Refactor out a function, add tests for getting the wrong idp uid
2021-11-05 14:22:43 -07:00
Margo Crawford
722b5dcc1b
Test for change to stored username or subject.
...
All of this is still done staticly.
2021-11-05 14:22:43 -07:00
Margo Crawford
8396937503
Updates to tests and some error assertions
2021-11-05 14:22:43 -07:00
Margo Crawford
2c4dc2951d
resolved a couple of testing related todos
2021-11-05 14:22:43 -07:00
Margo Crawford
7a58086040
Check that username and subject remain the same for ldap refresh
2021-11-05 14:22:43 -07:00
Margo Crawford
19281313dd
Basic upstream LDAP/AD refresh
...
This stores the user DN in the session data upon login and checks that
the entry still exists upon refresh. It doesn't check anything
else about the entry yet.
2021-11-05 14:22:42 -07:00
Mo Khan
71f7ea686d
Fix typo in community meeting time
2021-11-04 12:02:46 -04:00
Mo Khan
d5d957f6ee
Fix CONTRIBUTING zoom link
2021-11-04 11:53:14 -04:00
Mo Khan
e371c34237
Fix README zoom link
2021-11-04 11:52:28 -04:00
Mo Khan
b5be763631
Fix typo in community meeting time
2021-11-04 08:38:33 -04:00
Mo Khan
f03e5f4fef
Merge pull request #883 from enj/enj/i/dockerfile_tweaks
...
Dockerfile: build all files and trim file system paths
2021-11-03 14:45:23 -04:00
Monis Khan
a042f74a88
Dockerfile: build all files and trim file system paths
...
Use "..." instead of "main.go" as the build target since we may have
extra files in the future.
https://pkg.go.dev/cmd/go#hdr-Compile_packages_and_dependencies
-trimpath
remove all file system paths from the resulting executable.
Instead of absolute file system paths, the recorded file names
will begin with either "go" (for the standard library),
or a module path@version (when using modules),
or a plain import path (when using GOPATH).
Signed-off-by: Monis Khan <mok@vmware.com >
2021-11-03 10:26:13 -04:00
Mo Khan
aae586b4ef
Merge pull request #879 from vmware-tanzu/dependabot/docker/distroless/static-bca3c20
...
Bump distroless/static from `07869ab` to `bca3c20`
2021-11-02 09:54:48 -04:00
dependabot[bot]
1c3545e234
Bump distroless/static from 07869ab to bca3c20
...
Bumps distroless/static from `07869ab` to `bca3c20`.
---
updated-dependencies:
- dependency-name: distroless/static
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-10-28 01:02:33 +00:00
anjalitelang
c494f65b84
Update ROADMAP.md
...
Updating roadmap to reflect dates when we will have Upstream Refresh released
2021-10-27 10:43:31 -04:00
Margo Crawford
6c47c3327a
Add hint to hack/prepare-for-integration-tests.sh
...
I keep forgetting the name of the --get-active-directory-vars flag.
2021-10-26 16:25:34 -07:00
Mo Khan
3f698d24e5
Merge pull request #878 from enj/enj/i/cli_link
...
Change default install hint to use get.pinniped.dev/cli
2021-10-26 17:42:53 -04:00
Monis Khan
2ba5d51120
Change default install hint to use get.pinniped.dev/cli
...
This avoids a hard link against a docs page that may change over
time.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-10-26 17:14:13 -04:00
Margo Crawford
c3060e3474
Merge pull request #872 from anjaltelang/main
...
Architecture should be on top on the documentation webpage
2021-10-26 13:41:17 -07:00
Anjali Telang
59256264ec
Changing the architecture.md weight back to 100
...
Signed-off-by: Anjali Telang <atelang@vmware.com >
2021-10-26 16:34:32 -04:00
Mo Khan
3aa14accd7
Merge pull request #875 from siddhant94/add-install-hint-kubeconfig
...
Add --install-hint flag to `get kubeconfig` command
2021-10-26 15:38:39 -04:00
Anjali Telang
f93cdcb9c5
Merge remote-tracking branch 'upstream/main' into main
2021-10-26 15:29:56 -04:00
vagrant
1b6b4106db
Add --install-hint flag to get kubeconfig command
...
This populates the installHint attribute in the exec section of the
generated kubeconfig.
For more details, see installHint documentation:
https://kubernetes.io/docs/reference/access-authn-authz/authentication/#configuration
Reviewed-by: Monis Khan <mok@vmware.com >
2021-10-26 14:26:47 -04:00
Mo Khan
f25d2870ce
Merge pull request #874 from enj/enj/i/distroless_nonroot
...
Use 65532 instead of 1001 as non-root user
2021-10-25 16:54:47 -04:00
Monis Khan
7921a58988
Use 65532 instead of 1001 as non-root user
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-10-25 16:21:54 -04:00
Mo Khan
7d30bfc22c
Start using CodeQL
2021-10-25 16:05:12 -04:00
Mo Khan
bdb199c53a
Merge pull request #858 from vmware-tanzu/upstream_refresh
...
For OIDCIdenitityProviders perform an upstream refresh during downstream refresh
2021-10-25 12:32:35 -04:00
Monis Khan
1e17418585
TestSupervisorUpstreamOIDCDiscovery: include AdditionalAuthorizeParametersValid condition
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-10-25 10:21:51 -04:00
Ryan Richard
d0ced1fd74
WIP towards revoking upstream refresh tokens during GC
...
- Discover the revocation endpoint of the upstream provider in
oidc_upstream_watcher.go and save it into the cache for future use
by the garbage collector controller
- Adds RevokeRefreshToken to UpstreamOIDCIdentityProviderI
- Implements the production version of RevokeRefreshToken
- Implements test doubles for RevokeRefreshToken for future use in
garbage collector's unit tests
- Prefactors the crud and session storage types for future use in the
garbage collector controller
- See remaining TODOs in garbage_collector.go
2021-10-22 14:32:26 -07:00
Ryan Richard
303b1f07d3
Fix mistake in previous commit
2021-10-22 14:06:31 -07:00
Ryan Richard
e0db59fd09
More small updates based on PR feedback
2021-10-22 10:23:21 -07:00
Ryan Richard
867853016f
Merge branch 'main' into upstream_refresh
2021-10-22 09:23:52 -07:00
anjalitelang
be6c335bb8
Update ROADMAP.md
...
Minor changes
2021-10-21 10:16:54 -04:00
anjalitelang
b3a1dcd634
Update ROADMAP.md
...
Updated roadmap to reflect current focus of Pinniped project
2021-10-21 10:10:19 -04:00
Ryan Richard
dec43289f6
Lots of small updates based on PR feedback
2021-10-20 15:53:25 -07:00
Ryan Richard
7ec0304472
Add offline_access scope for integration tests when using Dex
2021-10-19 12:25:51 -07:00
Anjali Telang
a22507f835
Architecture should be on top of the docs page
...
Signed-off-by: Anjali Telang <atelang@vmware.com >
2021-10-19 13:46:30 -04:00
Ryan Richard
d3ade82f3f
Update docs
2021-10-19 09:48:40 -07:00
Ryan Richard
c43e019d3a
Change default of additionalScopes and disallow "hd" in additionalAuthorizeParameters
2021-10-18 16:41:31 -07:00
Ryan Richard
d68bebeb49
Merge branch 'main' into upstream_refresh
2021-10-18 15:35:46 -07:00
Ryan Richard
c51d7c08b9
Add a comment that might be useful some day
2021-10-18 15:35:22 -07:00
Ryan Richard
ddb23bd2ed
Add upstream refresh related config to OIDCIdentityProvider CRD
...
Also update related docs.
2021-10-14 15:49:44 -07:00
Ryan Richard
9e05d175a7
Add integration test: upstream refresh failure during downstream refresh
2021-10-13 15:12:19 -07:00
Ryan Richard
a34dae549b
When performing an upstream refresh, use the configured http client
...
Otherwise, the CA and proxy settings will not be used for the call
to the upstream token endpoint while performing the refresh. This
mistake was exposed by the TestSupervisorLogin integration test, so
it has test coverage.
2021-10-13 14:05:00 -07:00
Ryan Richard
79ca1d7fb0
Perform an upstream refresh during downstream refresh for OIDC upstreams
...
- If the upstream refresh fails, then fail the downstream refresh
- If the upstream refresh returns an ID token, then validate it (we
use its claims in the future, but not in this commit)
- If the upstream refresh returns a new refresh token, then save it
into the user's session in storage
- Pass the provider cache into the token handler so it can use the
cached providers to perform upstream refreshes
- Handle unexpected errors in the token handler where the user's session
does not contain the expected data. These should not be possible
in practice unless someone is manually editing the storage, but
handle them anyway just to be safe.
- Refactor to share the refresh code between the CLI and the token
endpoint by moving it into the UpstreamOIDCIdentityProviderI
interface, since the token endpoint needed it to be part of that
interface anyway
2021-10-13 12:31:20 -07:00
Mo Khan
bc6da55e96
Merge pull request #860 from vmware-tanzu/dependabot/docker/golang-1.17.2
...
Bump golang from 1.17.1 to 1.17.2
2021-10-11 13:23:37 -04:00
Margo Crawford
1bd346cbeb
Require refresh tokens for upstream OIDC and save more session data
...
- Requiring refresh tokens to be returned from upstream OIDC idps
- Storing refresh tokens (for oidc) and idp information (for all idps) in custom session data during authentication
- Don't pass access=offline all the time
2021-10-08 15:48:21 -07:00
dependabot[bot]
d1d954bb3b
Bump golang from 1.17.1 to 1.17.2
...
Bumps golang from 1.17.1 to 1.17.2.
---
updated-dependencies:
- dependency-name: golang
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-10-08 01:03:52 +00:00
Margo Crawford
43244b6599
Do not pass through downstream prompt param
...
- throw an error when prompt=none because the spec says we can't ignore
it
- ignore the other prompt params
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-10-06 16:30:30 -07:00
Ryan Richard
c6f1d29538
Use PinnipedSession type instead of fosite's DefaultSesssion type
...
This will allow us to store custom data inside the fosite session
storage for all downstream OIDC sessions.
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-10-06 15:28:13 -07:00
Margo Crawford
a2cafb251a
Merge pull request #857 from vmware-tanzu/impersonation-proxy-supported-clusters
...
Change description of impersonation proxy strategy in supported clusters
2021-10-06 11:40:24 -07:00
Margo Crawford
e0b62a46bb
Merge branch 'main' into impersonation-proxy-supported-clusters
2021-10-06 11:36:45 -07:00
Margo Crawford
4aa66b9667
Update site/content/docs/reference/supported-clusters.md
...
Co-authored-by: Mo Khan <i@monis.app >
2021-10-06 11:23:29 -07:00
Margo Crawford
11797db866
Change description of impersonation proxy strategy in supported clusters.
...
This was wrong, since you don't need a LoadBalancer to run the
impersonation proxy if you specify spec.service.type = "None" or
"ClusterIP" on the CredentialIssuer.
2021-10-06 11:08:17 -07:00
Mo Khan
c2c966b761
Merge pull request #856 from enj/enj/i/impersonation_proxy_signer_expiration
...
Do not rotate impersonation proxy signer CA unless necessary
2021-10-06 13:51:52 -04:00
Monis Khan
4bf715758f
Do not rotate impersonation proxy signer CA unless necessary
...
This change fixes a copy paste error that led to the impersonation
proxy signer CA being rotated based on the configuration of the
rotation of the aggregated API serving certificate. This would lead
to occasional "Unauthorized" flakes in our CI environments that
rotate the serving certificate at a frequent interval.
Updated the certs_expirer controller logs to be more detailed.
Updated CA common names to be more specific (this does not update
any previously generated CAs).
Signed-off-by: Monis Khan <mok@vmware.com >
2021-10-06 12:03:49 -04:00
anjalitelang
946419fc18
Update ROADMAP.md
...
Updated Roadmap to reflect the work on Supervisor token refresh for OIDC and LDAP/AD. Also changed ordering on Multiple IDP Support as we are seeing more user interest for this feature.
2021-10-05 19:31:33 -04:00
Mo Khan
2b9a869633
Merge pull request #851 from vmware-tanzu/dependabot/docker/distroless/static-7cb5539
...
Bump distroless/static from `be5d77c` to `7cb5539`
2021-10-01 08:26:29 -04:00
dependabot[bot]
19cecc3235
Bump distroless/static from be5d77c to 7cb5539
...
Bumps distroless/static from `be5d77c` to `7cb5539`.
---
updated-dependencies:
- dependency-name: distroless/static
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-09-30 17:09:57 +00:00
Mo Khan
6e41c10584
Merge pull request #854 from enj/enj/i/do_not_truncate_x509
...
Do not truncate x509 errors
2021-09-30 12:44:19 -04:00
Monis Khan
266d64f7d1
Do not truncate x509 errors
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-09-29 09:38:22 -04:00
Mo Khan
725b35196f
Merge pull request #853 from enj/enj/i/oidc_log_claims
...
upstreamoidc: log claim keys at debug level
2021-09-28 20:11:05 -04:00
Monis Khan
03bbc54023
upstreamoidc: log claim keys at debug level
...
At debug level:
upstreamoidc.go:213] "claims from ID token and userinfo"
providerName="oidc"
keys=[at_hash aud email email_verified exp iat iss sub]
At all level:
upstreamoidc.go:207] "claims from ID token and userinfo"
providerName="oidc"
claims="{\"at_hash\":\"C55S-BgnHTmr2_TNf...hYmVhYWESBWxvY2Fs\"}"
Signed-off-by: Monis Khan <mok@vmware.com >
2021-09-28 12:58:00 -04:00
Mo Khan
ad8610fa03
Merge pull request #852 from enj/enj/i/user_info_cleanup
...
upstreamoidc: directly detect user info support
2021-09-28 12:56:26 -04:00
Monis Khan
e86488615a
upstreamoidc: directly detect user info support
...
Avoid reliance on an error string from the Core OS OIDC lib.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-09-28 11:29:38 -04:00
Mo Khan
ee0e2402b1
Merge pull request #845 from vmware-tanzu/crd_printcolumns
...
Update the AdditionalPrinterColumns of the CRDs, and add a test for it
2021-09-21 23:19:07 -04:00
Ryan Richard
ddf5e566b0
Update a comment
2021-09-21 14:07:08 -07:00
Ryan Richard
bb08e7635b
Merge branch 'main' into crd_printcolumns
2021-09-21 14:05:30 -07:00
Mo Khan
3bde085c57
Merge pull request #846 from enj/enj/i/faster_kube_cert
...
kubecertagent: attempt to load signer as long as agent labels match
2021-09-21 17:03:23 -04:00
Monis Khan
0d6bf9db3e
kubecertagent: attempt to load signer as long as agent labels match
...
This change updates the kube cert agent to a middle ground behavior
that balances leader election gating with how quickly we load the
signer.
If the agent labels have not changed, we will attempt to load the
signer even if we cannot roll out the latest version of the kube
cert agent deployment.
This gives us the best behavior - we do not have controllers
fighting over the state of the deployment and we still get the
signer loaded quickly.
We will have a minute of downtime when the kube cert agent deployment
changes because the new pods will have to wait to become a leader
and for the new deployment to rollout the new pods. We would need
to have a per pod deployment if we want to avoid that downtime (but
this would come at the cost of startup time and would require
coordination with the kubelet in regards to pod readiness).
Signed-off-by: Monis Khan <mok@vmware.com >
2021-09-21 16:20:56 -04:00
Ryan Richard
f700246bfa
Allow focused integration tests to be run from the GoLand UI again
...
This was broken recently by the improvements in #808 .
2021-09-21 12:04:45 -07:00
Ryan Richard
fca183b203
Show DefaultStrategy as a new printer column for CredentialIssuer
2021-09-21 12:01:30 -07:00
Ryan Richard
1b2a116518
Merge branch 'main' into crd_printcolumns
2021-09-21 09:36:46 -07:00
Mo Khan
9851035e40
Merge pull request #847 from enj/enj/i/tcr_log
...
token credential request: fix trace log kind
2021-09-21 12:36:16 -04:00
Mo Khan
aa5ff162b4
Merge pull request #849 from enj/enj/i/clock_skew
...
certauthority: tolerate larger clock skew between API server and pinniped
2021-09-21 12:18:49 -04:00
Mo Khan
933697f045
Merge pull request #848 from vmware-tanzu/tests_use_certificatesv1
...
Tests use CertificatesV1 when available, otherwise use CertificatesV1beta1
2021-09-21 12:13:22 -04:00
Monis Khan
91c8f747f4
certauthority: tolerate larger clock skew between API server and pinniped
...
This change updates our certificate code to use the same 5 minute
backdate that is used by the Kubernetes controller manager. This
helps to account for clock skews between the API servers and the
kubelets that are running the pinniped pods. While this backdating
reflects a large percentage of the lifetime of our short lived
certificates (100% for the 5 minute client certificates), even a 10
minute irrevocable client certificate is within our limits. When
we move to the CSR based short lived certificates, they will always
have at least a 15 minute lifetime (5 minute backdating plus 10 minute
minimum valid duration).
Signed-off-by: Monis Khan <mok@vmware.com >
2021-09-21 09:32:24 -04:00
Ryan Richard
4e98c1bbdb
Tests use CertificatesV1 when available, otherwise use CertificatesV1beta1
...
CertificatesV1beta1 was removed in Kube 1.22, so the tests cannot
blindly rely on it anymore. Use CertificatesV1 whenever the server
reports that is available, and otherwise use the old
CertificatesV1beta1.
Note that CertificatesV1 was introduced in Kube 1.19.
2021-09-20 17:14:58 -07:00
Ryan Richard
0a31f45812
Update the AdditionalPrinterColumns of the CRDs, and add a test for it
2021-09-20 12:47:39 -07:00
Monis Khan
e65817ad5b
token credential request: fix trace log kind
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-09-20 15:34:05 -04:00
Mo Khan
43ba6ba686
Merge pull request #842 from enj/enj/t/kube_cert_flake
...
kubecertagent: fix flakey tests
2021-09-16 16:38:07 -04:00
Monis Khan
09467d3e24
kubecertagent: fix flakey tests
...
This commit makes the following changes to the kube cert agent tests:
1. Informers are synced on start using the controllerinit code
2. Deployment client and informer are synced per controller sync loop
3. Controller sync loop exits after two consistent errors
4. Use assert instead of require to avoid ending the test early
Signed-off-by: Monis Khan <mok@vmware.com >
2021-09-16 14:48:04 -04:00
Ryan Richard
95b9782549
Update config.yaml
2021-09-16 11:43:40 -07:00
anjalitelang
454b792afb
Update ROADMAP.md
...
Changing the roadmap based on current priorities.
2021-09-16 08:46:03 -04:00
Ryan Richard
cb4085bfd9
Merge pull request #840 from vmware-tanzu/mod_tidy
...
ran `go mod tidy`
2021-09-15 14:47:22 -07:00
Ryan Richard
9b0dc92025
Merge branch 'main' into mod_tidy
2021-09-15 14:47:12 -07:00
Ryan Richard
7859a7b5c2
Merge pull request #839 from vmware-tanzu/deployment_selectors
...
Improve the selectors of Deployments and Services
2021-09-15 14:46:31 -07:00
Ryan Richard
bdcf468e52
Add log statement for when kube cert agent key has been loaded
...
Because it makes things easier to debug on a real cluster
2021-09-15 14:02:46 -07:00
Monis Khan
efaca05999
prevent kapp from altering the selector of our services
...
This makes it so that our service selector will match exactly the
YAML we specify instead of including an extra "kapp.k14s.io/app" key.
This will take us closer to the standard kubectl behavior which is
desirable since we want to avoid future bugs that only manifest when
kapp is not used.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-09-15 16:08:49 -04:00
Monis Khan
316e6171d4
Enable aggregator routing on kind clusters
...
This should make it easier for us to to notice if something is wrong
with our service (especially in any future kubectl tests we add).
Signed-off-by: Monis Khan <mok@vmware.com >
2021-09-15 15:09:15 -04:00
Ryan Richard
04544b3d3c
Update TestKubeCertAgent to use new "v3" label value
2021-09-15 11:09:07 -07:00
Ryan Richard
85102b0118
ran go mod tidy
2021-09-15 09:21:46 -07:00
Ryan Richard
55de160551
Bump the version number of the kube cert agent label
...
Not required, but within the spirit of using the version number.
Since the existing kube cert agent deployment will get deleted anyway
during an upgrade, it shouldn't hurt to change the version number.
New installations will get the new version number on the new kube cert
agent deployment.
2021-09-14 15:27:15 -07:00
Ryan Richard
cec9f3c4d7
Improve the selectors of Deployments and Services
...
Fixes #801 . The solution is complicated by the fact that the Selector
field of Deployments is immutable. It would have been easy to just
make the Selectors of the main Concierge Deployment, the Kube cert agent
Deployment, and the various Services use more specific labels, but
that would break upgrades. Instead, we make the Pod template labels and
the Service selectors more specific, because those not immutable, and
then handle the Deployment selectors in a special way.
For the main Concierge and Supervisor Deployments, we cannot change
their selectors, so they remain "app: app_name", and we make other
changes to ensure that only the intended pods are selected. We keep the
original "app" label on those pods and remove the "app" label from the
pods of the Kube cert agent Deployment. By removing it from the Kube
cert agent pods, there is no longer any chance that they will
accidentally get selected by the main Concierge Deployment.
For the Kube cert agent Deployment, we can change the immutable selector
by deleting and recreating the Deployment. The new selector uses only
the unique label that has always been applied to the pods of that
deployment. Upon recreation, these pods no longer have the "app" label,
so they will not be selected by the main Concierge Deployment's
selector.
The selector of all Services have been updated to use new labels to
more specifically target the intended pods. For the Concierge Services,
this will prevent them from accidentally including the Kube cert agent
pods. For the Supervisor Services, we follow the same convention just
to be consistent and to help future-proof the Supervisor app in case it
ever has a second Deployment added to it.
The selector of the auto-created impersonation proxy Service was
also previously using the "app" label. There is no change to this
Service because that label will now select the correct pods, since
the Kube cert agent pods no longer have that label. It would be possible
to update that selector to use the new more specific label, but then we
would need to invent a way to pass that label into the controller, so
it seemed like more work than was justified.
2021-09-14 13:35:10 -07:00
Ryan Richard
16f562e81c
Merge pull request #838 from vmware-tanzu/dependabot/docker/golang-1.17.1
...
Bump golang from 1.17.0 to 1.17.1
2021-09-13 14:30:15 -07:00
dependabot[bot]
92ccc0ec84
Bump golang from 1.17.0 to 1.17.1
...
Bumps golang from 1.17.0 to 1.17.1.
---
updated-dependencies:
- dependency-name: golang
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-09-13 01:13:32 +00:00
Margo Crawford
74175f2518
Merge pull request #836 from vmware-tanzu/search-base-caching
...
Make sure search base in the validatedSettings cache is properly updated when the bind secret changes
2021-09-10 11:42:03 -07:00
Margo Crawford
0a1ee9e37c
Remove unused functions
2021-09-08 10:34:42 -07:00
Margo Crawford
05f5bac405
ValidatedSettings is all or nothing
...
If either the search base or the tls settings is invalid, just
recheck everything.
2021-09-07 13:09:35 -07:00
Margo Crawford
0195894a50
Test fix for ldap upstream watcher
2021-09-07 13:09:35 -07:00
Margo Crawford
27c1d2144a
Make sure search base in the validatedSettings cache is properly updated when the bind secret changes
2021-09-07 13:09:35 -07:00
Matt Moyer
88aba645b8
Merge pull request #837 from mattmoyer/so-long-and-thanks-for-all-the-fish
...
So long and thanks for all the fish 🦭
2021-09-03 10:49:35 -07:00
Matt Moyer
402c213183
So long and thanks for all the fish 🦭
...
Today is my last day working full time on Pinniped (for now). This change removes me from the MAINTAINERS.md and the website.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-09-03 12:38:53 -05:00
Mo Khan
17acc7caa6
Merge pull request #834 from anjaltelang/main
...
Add release note reference in the v0.11.0 Blog Post
2021-09-02 19:16:08 -04:00
Matt Moyer
6b7a230ca5
Merge pull request #835 from mattmoyer/fix-readonly-fields
...
Fix broken "read only" fields added in v0.11.0.
2021-09-02 15:23:26 -07:00
Matt Moyer
c7a8c429ed
Add a dry-run 'kubectl apply' in prepare-for-integration-tests.sh so we can be sure that our manifests pass API validation.
...
We had this for some components, but not the ones that mattered the most.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-09-02 16:55:28 -05:00
Matt Moyer
f0a1555aca
Fix broken "read only" fields added in v0.11.0.
...
These fields were changed as a minor hardening attempt when we switched to Distroless, but I bungled the field names and we never noticed because Kapp doesn't apply API validations.
This change fixes the field names so they act as was originally intended. We should also follow up with a change that validates all of our installation manifest in CI.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-09-02 16:12:39 -05:00
Anjali Telang
ccd338fa50
Merge branch 'main' of github.com:anjaltelang/pinniped into main
2021-09-02 14:54:48 -04:00
Anjali Telang
4e7214c6b5
Rephrased again
...
Signed-off-by: Anjali Telang <atelang@vmware.com >
2021-09-02 14:54:14 -04:00
Anjali Telang
2297ee4b81
Merge branch 'main' of github.com:anjaltelang/pinniped into main
2021-09-02 14:52:01 -04:00
Anjali Telang
85daec4748
Rephrased
...
Signed-off-by: Anjali Telang <atelang@vmware.com >
2021-09-02 14:51:36 -04:00
Anjali Telang
cf014656af
Add Reference to release notes in the v0.11.0 Blog post
...
Signed-off-by: Anjali Telang <atelang@vmware.com >
2021-09-02 14:44:53 -04:00
Matt Moyer
b3b3c2303f
Merge pull request #831 from anjaltelang/main
...
Add community info and resolve some minor issues
2021-09-02 09:02:24 -07:00
Matt Moyer
0ff66c718b
Merge pull request #832 from vmware-tanzu/dependabot/docker/distroless/static-be5d77c
...
Bump distroless/static from `c9f9b04` to `be5d77c`
2021-09-02 05:40:51 -07:00
dependabot[bot]
1bb8a43e04
Bump distroless/static from c9f9b04 to be5d77c
...
Bumps distroless/static from `c9f9b04` to `be5d77c`.
---
updated-dependencies:
- dependency-name: distroless/static
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-09-02 03:00:24 +00:00
anjalitelang
655bbce42a
Update ROADMAP.md
...
Updated September roadmap to reflect work on Improving Security Posture. Added CLI SSO as Future roadmap item.
2021-09-01 21:35:47 -04:00
Mo Khan
9258745ec7
Fix roadmap table formatting
...
We seem to have missed a `|` at the start of the table.
2021-09-01 15:33:23 -04:00
Anjali Telang
fcffab9a4c
Add community info and resolve some minor issues
...
Signed-off-by: Anjali Telang <atelang@vmware.com >
2021-09-01 13:23:26 -04:00
Ryan Richard
92f7f12bab
Update latest release tag in site/config.yaml, used by docs
2021-08-31 16:47:40 -07:00
Ryan Richard
7c40185676
Merge pull request #825 from anjaltelang/main
...
Add Blog post for v0.11.0 release
2021-08-31 16:46:23 -07:00
Pinny
abf19f649d
Update CLI docs for v0.11.0 release
2021-08-31 23:40:00 +00:00
Pinny
0a2a716796
Update CLI docs for v0.10.0 release
2021-08-31 23:21:54 +00:00
Anjali Telang
a27e398923
Changed date and cleaned up some more AD format
...
Signed-off-by: Anjali Telang <atelang@vmware.com >
2021-08-31 15:02:57 -04:00
Ryan Richard
b19af2e135
Merge pull request #829 from enj/enj/i/wait_shutdown
...
Ensure concierge and supervisor gracefully exit
2021-08-31 11:30:35 -07:00
Ryan Richard
883007aa1b
Merge pull request #756 from vmware-tanzu/ad-identity-provider-docs
...
Document how to configure the ActiveDirectoryIdentityProvider
2021-08-31 10:48:25 -07:00
Anjali Telang
ba1470ea9d
Add AD changes
...
Signed-off-by: Anjali Telang <atelang@vmware.com >
2021-08-30 21:04:48 -04:00
Monis Khan
0d285ce993
Ensure concierge and supervisor gracefully exit
...
Changes made to both components:
1. Logs are always flushed on process exit
2. Informer cache sync can no longer hang process start up forever
Changes made to concierge:
1. Add pre-shutdown hook that waits for controllers to exit cleanly
2. Informer caches are synced in post-start hook
Changes made to supervisor:
1. Add shutdown code that waits for controllers to exit cleanly
2. Add shutdown code that waits for active connections to become idle
Waiting for controllers to exit cleanly is critical as this allows
the leader election logic to release the lock on exit. This reduces
the time needed for the next leader to be elected.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-30 20:29:52 -04:00
Matt Moyer
e43bd59688
Merge pull request #830 from mattmoyer/update-youtube-demo-link
...
Update YouTube demo link to our official page.
2021-08-30 14:30:15 -07:00
Matt Moyer
0c8d885c26
Update YouTube demo link to our official page.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-08-30 16:29:32 -05:00
Anjali Telang
23fb84029b
changes made on ryan's review comments
...
Signed-off-by: Anjali Telang <atelang@vmware.com >
2021-08-28 15:59:04 -04:00
Mo Khan
d2dfe3634a
Merge pull request #828 from enj/enj/i/supervisor_graceful_exit
...
supervisor: ensure graceful exit
2021-08-28 13:40:13 -04:00
Monis Khan
5489f68e2f
supervisor: ensure graceful exit
...
The kubelet will send the SIGTERM signal when it wants a process to
exit. After a grace period, it will send the SIGKILL signal to
force the process to terminate. The concierge has always handled
both SIGINT and SIGTERM as indicators for it to gracefully exit
(i.e. stop watches, controllers, etc). This change updates the
supervisor to do the same (previously it only handled SIGINT). This
is required to allow the leader election lock release logic to run.
Otherwise it can take a few minutes for new pods to acquire the
lease since they believe it is already held.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-28 11:23:11 -04:00
Ryan Richard
4eb500cc41
Merge pull request #826 from vmware-tanzu/simplify_readme
...
Simplify the main README.md to reduce duplication with website
2021-08-27 16:40:53 -07:00
Ryan Richard
871a9fb0c6
Simplify the main README.md to reduce duplication with website
2021-08-27 15:52:51 -07:00
Anjali Telang
4cb0152ea1
Merge branch 'main' of github.com:anjaltelang/pinniped into main
2021-08-27 17:15:55 -04:00
Anjali Telang
42af8acd1e
Fixed yaml format for Aud
...
Signed-off-by: Anjali Telang <atelang@vmware.com >
2021-08-27 17:14:53 -04:00
Anjali Telang
df014dadc3
Remove unnecessary space after image
2021-08-27 17:07:02 -04:00
Anjali Telang
bb657e7432
Blog for v0.11.0
...
Signed-off-by: Anjali Telang <atelang@vmware.com >
2021-08-27 17:00:34 -04:00
Mo Khan
d580695faa
Merge pull request #824 from enj/enj/t/disruptive_hang
...
test/integration: use short timeouts with distinct requests to prevent hangs
2021-08-27 16:38:39 -04:00
Monis Khan
ba80b691e1
test/integration: use short timeouts with distinct requests to prevent hangs
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-27 16:10:36 -04:00
Mo Khan
41c017c9da
Merge pull request #821 from enj/enj/t/increase_disruptive_test_timeout
...
test/integration: increase timeout on disruptive tests
2021-08-27 15:24:43 -04:00
Monis Khan
5078cdbc90
test/integration: increase timeout on disruptive tests
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-27 14:56:51 -04:00
Margo Crawford
e5718351ba
Merge pull request #695 from vmware-tanzu/active-directory-identity-provider
...
Active directory identity provider
2021-08-27 08:39:12 -07:00
Mo Khan
36ff0d52da
Merge pull request #818 from enj/enj/i/bump_go1.17
...
Bump to Go 1.17.0
2021-08-27 10:30:51 -04:00
Monis Khan
ad3086b8f1
Downgrade go mod compat to 1.16 for golangci-lint
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-27 10:03:48 -04:00
Monis Khan
6c29f347b4
go 1.17 bump: fix unit test failures
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-27 09:46:58 -04:00
Monis Khan
a86949d0be
Use go 1.17 module lazy loading
...
See https://golang.org/doc/go1.17#go-command for details.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-27 09:46:58 -04:00
Monis Khan
44f03af4b9
Bump to Go 1.17.0
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-27 09:00:49 -04:00
Mo Khan
ce5cfde11e
Merge pull request #816 from enj/enj/i/bump_1.22.1
...
Bump Kube to v0.22.1
2021-08-27 08:40:23 -04:00
Monis Khan
40d70bf1fc
Bump Kube to v0.22.1
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-27 07:36:12 -04:00
Margo Crawford
19100d68ef
Merge branch 'main' of github.com:vmware-tanzu/pinniped into active-directory-identity-provider
2021-08-26 20:42:16 -07:00
Mo Khan
1d44aa945d
Merge pull request #814 from mayankbh/topic/bmayank/inherit-hostnetwork
...
Allow use of hostNetwork for kube-cert-agent
2021-08-26 21:13:29 -04:00
Mayank Bhatt
68547f767d
Copy hostNetwork field for kube-cert-agent
...
For clusters where the control plane nodes aren't running a CNI, the
kube-cert-agent pods deployed by concierge cannot be scheduled as they
don't know to use `hostNetwork: true`. This change allows embedding the
host network setting in the Concierge configuration. (by copying it from
the kube-controller-manager pod spec when generating the kube-cert-agent
Deployment)
Also fixed a stray double comma in one of the nearby tests.
2021-08-26 17:09:59 -07:00
Margo Crawford
44e5e9d8c9
Add sentence about api docs
2021-08-26 17:02:56 -07:00
Margo Crawford
43694777d5
Change some comments on API docs, fix lint error by ignoring it
2021-08-26 16:55:43 -07:00
Ryan Richard
f579b1cb9f
Merge pull request #812 from vmware-tanzu/resources_section_web_site
...
Add "Resources" section to pinniped.dev web site
2021-08-26 16:23:36 -07:00
Margo Crawford
2d32e0fa7d
Merge branch 'main' of github.com:vmware-tanzu/pinniped into active-directory-identity-provider
2021-08-26 16:21:08 -07:00
Margo Crawford
6f221678df
Change sAMAccountName env vars to userPrincipalName
...
and add E2E ActiveDirectory test
also fixed regexes in supervisor_login_test to be anchored to the
beginning and end
2021-08-26 16:18:05 -07:00
Ryan Richard
e24040b0a9
add link to CNCF presentation slides
2021-08-26 15:52:04 -07:00
Mo Khan
1d269d2f6d
Merge pull request #815 from enj/enj/t/integration_parallel_disruptive
...
test/integration: mark certain tests as disruptive
2021-08-26 17:32:14 -04:00
Monis Khan
d4a7f0b3e1
test/integration: mark certain tests as disruptive
...
This prevents them from running with any other test, including other
parallel tests.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-26 15:11:47 -04:00
Mo Khan
d22099ac33
Merge pull request #808 from enj/enj/t/integration_parallel
...
test/integration: run parallel tests concurrently with serial tests
2021-08-26 14:34:18 -04:00
Monis Khan
e2cf9f6b74
leader election test: approximate that followers have observed change
...
Instead of blindly waiting long enough for a disruptive change to
have been observed by the old leader and followers, we instead rely
on the approximation that checkOnlyLeaderCanWrite provides - i.e.
only a single actor believes they are the leader. This does not
account for clients that were in the followers list before and after
the disruptive change, but it serves as a reasonable approximation.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-26 12:59:52 -04:00
Monis Khan
74daa1da64
test/integration: run parallel tests concurrently with serial tests
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-26 12:59:52 -04:00
Ryan Richard
475da05185
Merge pull request #810 from vmware-tanzu/docs_gitops_example
...
Install docs use more GitOps-friendly style
2021-08-25 16:46:58 -07:00
Ryan Richard
86bfd4f5e4
Number each install step using "1."
2021-08-25 16:37:36 -07:00
Ryan Richard
d453bf3403
Add "Resources" section to pinniped.dev web site
2021-08-25 16:25:53 -07:00
Mo Khan
2b9b034bd2
Merge pull request #811 from vmware-tanzu/test_shell_container_image
...
Replace one-off usages of busybox and debian images in integration tests
2021-08-25 19:13:13 -04:00
Ryan Richard
d20cab10b9
Replace one-off usages of busybox and debian images in integration tests
...
Those images that are pulled from Dockerhub will cause pull failures
on some test clusters due to Dockerhub rate limiting.
Because we already have some images that we use for testing, and
because those images are already pre-loaded onto our CI clusters
to make the tests faster, use one of those images and always specify
PullIfNotPresent to avoid pulling the image again during the integration
test.
2021-08-25 15:12:07 -07:00
Ryan Richard
399737e7c6
Install docs use more GitOps-friendly style
2021-08-25 14:33:48 -07:00
Margo Crawford
1c5a2b8892
Add a couple more unit tests
2021-08-25 11:33:42 -07:00
Mo Khan
c17e7bec49
Merge pull request #800 from enj/enj/i/leader_election_release
...
leader election: fix small race duration lease release
2021-08-25 10:29:19 -04:00
Monis Khan
c71ffdcd1e
leader election: use better duration defaults
...
OpenShift has good defaults for these duration fields that we can
use instead of coming up with them ourselves:
e14e06ba8d/pkg/config/leaderelection/leaderelection.go (L87-L109)
Copied here for easy future reference:
// We want to be able to tolerate 60s of kube-apiserver disruption without causing pod restarts.
// We want the graceful lease re-acquisition fairly quick to avoid waits on new deployments and other rollouts.
// We want a single set of guidance for nearly every lease in openshift. If you're special, we'll let you know.
// 1. clock skew tolerance is leaseDuration-renewDeadline == 30s
// 2. kube-apiserver downtime tolerance is == 78s
// lastRetry=floor(renewDeadline/retryPeriod)*retryPeriod == 104
// downtimeTolerance = lastRetry-retryPeriod == 78s
// 3. worst non-graceful lease acquisition is leaseDuration+retryPeriod == 163s
// 4. worst graceful lease acquisition is retryPeriod == 26s
if ret.LeaseDuration.Duration == 0 {
ret.LeaseDuration.Duration = 137 * time.Second
}
if ret.RenewDeadline.Duration == 0 {
// this gives 107/26=4 retries and allows for 137-107=30 seconds of clock skew
// if the kube-apiserver is unavailable for 60s starting just before t=26 (the first renew),
// then we will retry on 26s intervals until t=104 (kube-apiserver came back up at 86), and there will
// be 33 seconds of extra time before the lease is lost.
ret.RenewDeadline.Duration = 107 * time.Second
}
if ret.RetryPeriod.Duration == 0 {
ret.RetryPeriod.Duration = 26 * time.Second
}
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-24 16:21:53 -04:00
Margo Crawford
c590c8ff41
Merge branch 'main' of github.com:vmware-tanzu/pinniped into active-directory-identity-provider
2021-08-24 12:19:29 -07:00
Monis Khan
c0617ceda4
leader election: in-memory leader status is stopped before release
...
This change fixes a small race condition that occurred when the
current leader failed to renew its lease. Before this change, the
leader would first release the lease via the Kube API and then would
update its in-memory status to reflect that change. Now those
events occur in the reverse (i.e. correct) order.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-24 15:02:56 -04:00
Mo Khan
f7751d13fe
Merge pull request #778 from vmware-tanzu/oidc_password_grant
...
Optionally allow OIDC password grant for CLI-based login experience
2021-08-24 13:02:07 -04:00
Mo Khan
3077034b2d
Merge branch 'main' into oidc_password_grant
2021-08-24 12:23:52 -04:00
Mo Khan
89cef2ea6c
Merge pull request #796 from enj/enj/i/leader_election_flake
...
leader election test: fix flake related to invalid assumption
2021-08-20 19:06:51 -04:00
Ryan Richard
211f4b23d1
Log auth endpoint errors with stack traces
2021-08-20 14:41:02 -07:00
Monis Khan
132ec0d2ad
leader election test: fix flake related to invalid assumption
...
Even though a client may hold the leader election lock in the Kube
lease API, that does not mean it has had a chance to update its
internal state to reflect that. Thus we retry the checks in
checkOnlyLeaderCanWrite a few times to allow the client to catch up.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-20 17:04:26 -04:00
Mo Khan
ae505d8009
Merge pull request #788 from enj/enj/i/leader_election
...
Add Leader Election Middleware
2021-08-20 12:58:27 -04:00
Monis Khan
c356710f1f
Add leader election middleware
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-20 12:18:25 -04:00
Matt Moyer
b9d186e8a3
Merge pull request #786 from mattmoyer/cleanup-go-mod
...
Cleanup `go.mod` replace directives that are no longer needed.
2021-08-20 08:43:36 -07:00
Matt Moyer
03a8160a91
Remove replace directive for dgrijalva/jwt-go.
...
We no longer have a transitive dependency on this older repository, so we don't need the replace directive anymore.
There is a new fork of this that we should move to (https://github.com/golang-jwt/jwt ), but we can't easily do that until a couple of our direct dependencies upgrade.
This is a revert of d162cb9adf .
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-08-20 10:15:55 -05:00
Matt Moyer
f379eee7a3
Drop replace directive for oleiade/reflections.
...
This is reverting 8358c26107 .
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-08-20 10:15:55 -05:00
Matt Moyer
4f5312807b
Undo dep hacks to work around gRPC example module.
...
This is essentially reverting 87c7e89b13 .
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-08-20 10:15:54 -05:00
Margo Crawford
cec3c2133a
Update with new default values
2021-08-19 16:27:43 -07:00
Margo Crawford
05afae60c2
Review comments--
...
- Change list of attributeParsingOverrides to a map
- Add unit test for sAMAccountName as group name without the override
- Change some comments in the the type definition.
2021-08-19 14:21:18 -07:00
Ryan Richard
6239a567a8
remove one nolint:unparam comment
2021-08-19 10:57:00 -07:00
Ryan Richard
e4d418a076
Merge branch 'main' into oidc_password_grant
2021-08-19 10:55:54 -07:00
Ryan Richard
c4727d57c8
Merge pull request #789 from vmware-tanzu/remove_unparam_linter
...
Remove `unparam` linter
2021-08-19 10:55:04 -07:00
Ryan Richard
b4a39ba3c4
Remove unparam linter
...
We decided that this linter does not provide very useful feedback
for our project.
2021-08-19 10:20:24 -07:00
Ryan Richard
cf627a82cb
Merge branch 'main' into oidc_password_grant
2021-08-19 10:00:11 -07:00
Ryan Richard
42d31a7085
Update login.md doc to mention OIDC CLI-based flow
2021-08-19 09:59:47 -07:00
anjalitelang
02b8ed7e0b
Update ROADMAP.md
...
Removing features listed for July as they are shipped.
2021-08-19 12:19:31 -04:00
Margo Crawford
5e9087263d
Increase timeout for activedirectoryidentityprovider to be loaded
2021-08-18 16:24:05 -07:00
Margo Crawford
a20aee5f18
Update test assertions to reflect userPrincipalName as username
2021-08-18 13:18:53 -07:00
Margo Crawford
1d18908055
Fix test error-- execcredential now has interactive:false
...
for activedirectoryidentityprovider test, which didn't exist on main
when #770 was merged to update the other tests to use 1.22.
2021-08-18 12:55:26 -07:00
Margo Crawford
1c5da35527
Merge remote-tracking branch 'origin' into active-directory-identity-provider
2021-08-18 12:44:12 -07:00
Ryan Richard
61c21d2977
Refactor some authorize and callback error handling, and add more tests
2021-08-18 12:06:46 -07:00
Margo Crawford
90e6298e29
Update text on CRD templates to reflect new defaults
2021-08-18 10:39:01 -07:00
Ryan Richard
04b8f0b455
Extract Supervisor authorize endpoint string constants into apis pkg
2021-08-18 10:20:33 -07:00
Margo Crawford
8657b0e3e7
Cleanup new group attribute behavior and add test coverage
2021-08-18 10:11:18 -07:00
Ryan Richard
0089540b07
Extract Supervisor IDP discovery endpoint string constants into apis pkg
2021-08-17 17:50:02 -07:00
Margo Crawford
26c47d564f
Make new combined sAMAccountName@domain attribute the group name
...
Also change default username attribute to userPrincipalName
2021-08-17 16:53:26 -07:00
Ryan Richard
62c6d53a21
Merge branch 'main' into oidc_password_grant
2021-08-17 15:23:29 -07:00
Ryan Richard
96474b3d99
Extract Supervisor IDP discovery endpoint types into apis package
2021-08-17 15:23:03 -07:00
Ryan Richard
964d16110e
Some refactors based on PR feedback from @enj
2021-08-17 13:14:09 -07:00
Matt Moyer
d57637ee56
Merge pull request #783 from enj/enj/t/ignore_test_pods
...
test/integration: ignore restarts associated with test pods
2021-08-17 11:00:19 -07:00
Mo Khan
8ce4bb6dc1
Merge pull request #784 from enj/enj/r/specific_private
...
dynamiccert: prevent misuse of NewServingCert
2021-08-17 13:56:23 -04:00
Ryan Richard
a7c88b599c
Merge branch 'main' into oidc_password_grant
2021-08-17 10:45:00 -07:00
Monis Khan
e0901f4fe5
dynamiccert: prevent misuse of NewServingCert
...
The Kube API server code that we use will cast inputs in an attempt
to see if they implement optional interfaces. This change adds a
simple wrapper struct to prevent such casts from causing us any
issues.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-17 12:58:32 -04:00
Monis Khan
cf25c308cd
test/integration: ignore restarts associated with test pods
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-17 12:57:41 -04:00
Mo Khan
9d11be899c
Merge pull request #785 from enj/enj/i/no_proxy_env
...
Provide good defaults for NO_PROXY
2021-08-17 12:55:12 -04:00
Monis Khan
66ddcf98d3
Provide good defaults for NO_PROXY
...
This change updates the default NO_PROXY for the supervisor to not
proxy requests to the Kubernetes API and other Kubernetes endpoints
such as Kubernetes services.
It also adds https_proxy and no_proxy settings for the concierge
with the same default.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-17 10:03:19 -04:00
Ryan Richard
3fb683f64e
Update expected error message in e2e integration test
2021-08-16 15:40:34 -07:00
Ryan Richard
52409f86e8
Merge branch 'main' into oidc_password_grant
2021-08-16 15:17:55 -07:00
Ryan Richard
91c8a3ebed
Extract private helper in auth_handler.go
2021-08-16 15:17:30 -07:00
Ryan Richard
52cb0bbc07
More unit tests and small error handling changes for OIDC password grant
2021-08-16 14:27:40 -07:00
Mo Khan
eb2a68fec0
Merge pull request #782 from vmware-tanzu/dependabot/go_modules/github.com/go-ldap/ldap/v3-3.4.1
...
Bump github.com/go-ldap/ldap/v3 from 3.3.0 to 3.4.1
2021-08-16 17:20:06 -04:00
dependabot[bot]
e05a46b7f5
Bump github.com/go-ldap/ldap/v3 from 3.3.0 to 3.4.1
...
Bumps [github.com/go-ldap/ldap/v3](https://github.com/go-ldap/ldap ) from 3.3.0 to 3.4.1.
- [Release notes](https://github.com/go-ldap/ldap/releases )
- [Commits](https://github.com/go-ldap/ldap/compare/v3.3.0...v3.4.1 )
---
updated-dependencies:
- dependency-name: github.com/go-ldap/ldap/v3
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-08-16 20:46:25 +00:00
Mo Khan
46304c8137
Merge pull request #775 from enj/enj/i/dynamiccert_no_unload
...
impersonatorconfig: only unload dynamiccert when proxy is disabled
2021-08-16 16:36:03 -04:00
Monis Khan
7a812ac5ed
impersonatorconfig: only unload dynamiccert when proxy is disabled
...
In the upstream dynamiccertificates package, we rely on two pieces
of code:
1. DynamicServingCertificateController.newTLSContent which calls
- clientCA.CurrentCABundleContent
- servingCert.CurrentCertKeyContent
2. unionCAContent.VerifyOptions which calls
- unionCAContent.CurrentCABundleContent
This results in calls to our tlsServingCertDynamicCertProvider and
impersonationSigningCertProvider. If we Unset these providers, we
subtly break these consumers. At best this results in test slowness
and flakes while we wait for reconcile loops to converge. At worst,
it results in actual errors during runtime. For example, we
previously would Unset the impersonationSigningCertProvider on any
sync loop error (even a transient one caused by a network blip or
a conflict between writes from different replicas of the concierge).
This would cause us to transiently fail to issue new certificates
from the token credential require API. It would also cause us to
transiently fail to authenticate previously issued client certs
(which results in occasional Unauthorized errors in CI).
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-16 16:07:46 -04:00
Ryan Richard
71d6281e39
Merge branch 'main' into oidc_password_grant
2021-08-16 09:30:13 -07:00
Mo Khan
bb30569e41
Merge pull request #780 from enj/enj/i/browser_stderr
...
cli: prevent browser output from breaking ExecCredential output
2021-08-16 10:34:33 -04:00
Monis Khan
942c55cf51
cli: prevent browser output from breaking ExecCredential output
...
This change updates the pinniped CLI entrypoint to prevent browser
processes that we spawn from polluting our std out stream.
For example, chrome will print the following message to std out:
Opening in existing browser session.
Which leads to the following incomprehensible error message from
kubectl:
Unable to connect to the server: getting credentials:
decoding stdout: couldn't get version/kind; json parse error:
json: cannot unmarshal string into Go value of type struct
{ APIVersion string "json:\"apiVersion,omitempty\"";
Kind string "json:\"kind,omitempty\"" }
This would only occur on the initial login when we opened the
browser. Since credentials would be cached afterwards, kubectl
would work as expected for future invocations as no browser was
opened.
I could not think of a good way to actually test this change. There
is a clear gap in our integration tests - we never actually launch a
browser in the exact same way a user does - we instead open a chrome
driver at the login URL as a subprocess of the integration test
binary and not the pinniped CLI. Thus even if the chrome driver was
writing to std out, we would not notice any issues.
It is also unclear if there is a good way to prevent future related
bugs since std out is global to the process.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-16 09:13:57 -04:00
Ryan Richard
50085a505b
First unit test for auth endpoint's password grant and related refactor
2021-08-12 17:53:14 -07:00
Ryan Richard
69964fc788
New unit tests updated for Kube 1.22 ExecCredential changes from main
...
After merging the new Kube 1.22 ExecCredential changes from main into
this feature branch, some of the new units test on this feature branch
needed to be update to account for the new ExecCredential "interactive"
field.
2021-08-12 13:35:56 -07:00
Ryan Richard
5b96d014b4
Merge branch 'main' into oidc_password_grant
2021-08-12 11:12:57 -07:00
Ryan Richard
84c3c3aa9c
Optionally allow OIDC password grant for CLI-based login experience
...
- Add `AllowPasswordGrant` boolean field to OIDCIdentityProvider's spec
- The oidc upstream watcher controller copies the value of
`AllowPasswordGrant` into the configuration of the cached provider
- Add password grant to the UpstreamOIDCIdentityProviderI interface
which is implemented by the cached provider instance for use in the
authorization endpoint
- Enhance the IDP discovery endpoint to return the supported "flows"
for each IDP ("cli_password" and/or "browser_authcode")
- Enhance `pinniped get kubeconfig` to help the user choose the desired
flow for the selected IDP, and to write the flow into the resulting
kubeconfg
- Enhance `pinniped login oidc` to have a flow flag to tell it which
client-side flow it should use for auth (CLI-based or browser-based)
- In the Dex config, allow the resource owner password grant, which Dex
implements to also return ID tokens, for use in integration tests
- Enhance the authorize endpoint to perform password grant when
requested by the incoming headers. This commit does not include unit
tests for the enhancements to the authorize endpoint, which will come
in the next commit
- Extract some shared helpers from the callback endpoint to share the
code with the authorize endpoint
- Add new integration tests
2021-08-12 10:45:39 -07:00
anjalitelang
592563124b
Update ROADMAP.md
...
Updated the roadmap to reflect the Non-Interactive Password based Login support we delivered in July for LDAP and TBD in Aug for OIDC
2021-08-12 11:08:27 -04:00
Mo Khan
c4d7e5c124
Merge pull request #770 from enj/enj/i/bump_1.22.0
...
Bump to Go 1.16.7 and Kube v0.22.0
2021-08-10 12:29:35 -04:00
Monis Khan
34fd0ea2e2
impersonation proxy: assert nested UID impersonation is disallowed
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-10 00:03:33 -04:00
Monis Khan
5678fc6196
login: update tests for new client exec code
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-09 19:16:55 -04:00
Monis Khan
4a17e1e736
impersonator: update tests for new Impersonate-Uid code
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-09 19:16:54 -04:00
Monis Khan
724acdca1d
Update tests for new CSR duration code
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-09 19:16:50 -04:00
Monis Khan
a027f1ae2c
jwtcachefiller: update to use CAContentProvider
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-09 19:16:25 -04:00
Monis Khan
d2891554a4
remove google.golang.org/grpc pin
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-09 19:16:14 -04:00
Monis Khan
25b4d82d87
Bump to Go 1.16.7 and Kube v0.22.0
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-09 15:32:13 -04:00
Mo Khan
01ddc7ac36
Merge pull request #738 from mattmoyer/distroless
...
Switch to a slimmer distroless base image
2021-08-09 15:31:17 -04:00
Matt Moyer
58bbffded4
Switch to a slimmer distroless base image.
...
At a high level, it switches us to a distroless base container image, but that also includes several related bits:
- Add a writable /tmp but make the rest of our filesystems read-only at runtime.
- Condense our main server binaries into a single pinniped-server binary. This saves a bunch of space in
the image due to duplicated library code. The correct behavior is dispatched based on `os.Args[0]`, and
the `pinniped-server` binary is symlinked to `pinniped-concierge` and `pinniped-supervisor`.
- Strip debug symbols from our binaries. These aren't really useful in a distroless image anyway and all the
normal stuff you'd expect to work, such as stack traces, still does.
- Add a separate `pinniped-concierge-kube-cert-agent` binary with "sleep" and "print" functionality instead of
using builtin /bin/sleep and /bin/cat for the kube-cert-agent. This is split from the main server binary
because the loading/init time of the main server binary was too large for the tiny resource footprint we
established in our kube-cert-agent PodSpec. Using a separate binary eliminates this issue and the extra
binary adds only around 1.5MiB of image size.
- Switch the kube-cert-agent code to use a JSON `{"tls.crt": "<b64 cert>", "tls.key": "<b64 key>"}` format.
This is more robust to unexpected input formatting than the old code, which simply concatenated the files
with some extra newlines and split on whitespace.
- Update integration tests that made now-invalid assumptions about the `pinniped-server` image.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-08-09 15:05:13 -04:00
Matt Moyer
a464c81711
Bump latest version on website.
...
We accidentally missed this in the v0.10.0 release process. The new YAML field here should make it easier to automate this step, which seems like a really good idea.
2021-08-03 09:21:54 -05:00
Mo Khan
f18cbcd9a6
Merge pull request #763 from enj/enj/i/eks_slow_test
...
concierge_impersonation_proxy_test: run slowly for EKS
2021-08-01 18:21:54 -04:00
Monis Khan
ac7d65c4a8
concierge_impersonation_proxy_test: run slowly for EKS
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-08-01 18:19:53 -04:00
Matt Moyer
65fa47cbcd
Link to the release from our v0.10.0 blog post.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-30 16:35:38 -05:00
Matt Moyer
a06b38d2cd
Merge pull request #760 from mattmoyer/add-v0.10.0-blog-post
...
Add v0.10.0 blog post.
2021-07-30 16:21:36 -05:00
Matt Moyer
7773fb8afe
Add v0.10.0 blog post.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-30 15:30:56 -05:00
Matt Moyer
f4badb3961
Merge pull request #758 from mattmoyer/use-plain-authcode-prompt
...
Fix broken TTY after manual auth code prompt.
2021-07-30 13:50:27 -05:00
Matt Moyer
1e32530d7b
Fix broken TTY after manual auth code prompt.
...
This may be a temporary fix. It switches the manual auth code prompt to use `promptForValue()` instead of `promptForSecret()`. The `promptForSecret()` function no longer supports cancellation (the v0.9.2 behavior) and the method of cancelling in `promptForValue()` is now based on running the blocking read in a background goroutine, which is allowed to block forever or leak (which is not important for our CLI use case).
This means that the authorization code is now visible in the user's terminal, but this is really not a big deal because of PKCE and the limited lifetime of an auth code.
The main goroutine now correctly waits for the "manual prompt" goroutine to clean up, which now includes printing the extra newline that would normally have been entered by the user in the manual flow.
The text of the manual login prompt is updated to be more concise and less scary (don't use the word "fail").
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-30 12:45:44 -05:00
Matt Moyer
0ab8e14e4a
Merge pull request #755 from mattmoyer/update-installation-docs
...
Update installation documentation
2021-07-29 17:54:23 -05:00
Mo Khan
f1109afa79
Merge pull request #757 from enj/enj/t/dns_hacks
...
concierge_impersonation_proxy_test: check all forms of DNS
2021-07-29 15:51:22 -04:00
Monis Khan
22be97eeda
concierge_impersonation_proxy_test: check all forms of DNS
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-07-29 13:35:37 -04:00
Matt Moyer
d23f3c9428
Update ROADMAP.md
2021-07-29 10:22:43 -05:00
Matt Moyer
c3e037b24e
Fix a broken link in .../docs/howto/configure-supervisor.md.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-29 09:56:00 -05:00
Matt Moyer
62afb34877
Fix command typo and expand description of values.yaml a bit.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-29 08:45:19 -05:00
Matt Moyer
fd5ed2e5da
Rework "install" sections of our docs.
...
- Remove all the "latest" links and replace them with our new shortcode so they point at the latest release in a more explicit way.
This also eliminates one of the sections in our Concierge and Supervisor install guides, since you're always installing a specific version.
- Provide instructions for installing with both kapp (one step) and kubectl (two steps for the Concierge).
- Minor wording changes. Mainly we are now a bit less verbose about reminding people they can choose a different version (once per page instead of in each step).
- When we give an example `kapp deploy` command, don't suggest `--yes` and `--diff-changes`.
Users can still use these but it seems overly verbose for an example command.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-29 08:45:19 -05:00
Matt Moyer
ca82609d1a
Create a site parameter and shortcode for "latestversion".
...
This gives us a single line of YAML to edit when we want to bump our docs to the latest version number.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-29 08:45:18 -05:00
Margo Crawford
a6dc5b912f
Document how to configure the ActiveDirectoryIdentityProvider
2021-07-28 14:35:29 -07:00
Ryan Richard
d73093a694
Avoid failures due to impersonation Service having unrelated annotations
2021-07-28 14:19:14 -07:00
Matt Moyer
85560299e0
Merge pull request #754 from mattmoyer/fix-TestLegacyPodCleaner-flake
...
Relax the timeout for TestLegacyPodCleaner a bit.
2021-07-28 12:43:08 -06:00
Matt Moyer
b42b1c1110
Relax the timeout for TestLegacyPodCleaner a bit.
...
This test is asynchronously waiting for the controller to do something, and in some of our test environments it will take a bit longer than we'd previously allowed.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-28 13:08:57 -05:00
Matt Moyer
84733405d0
Merge pull request #753 from mattmoyer/fix-e2e-test-assertion
...
Fix backwards condition in E2E test assertion.
2021-07-28 12:07:00 -06:00
Matt Moyer
48c8fabb5c
Fix backwards condition in E2E test assertion.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-28 12:40:07 -05:00
Matt Moyer
1f51159d22
Merge pull request #752 from mattmoyer/fix-impersonator-config-controller-informers
...
Add ClusterIP service to impersonator-config-controller informer.
2021-07-28 11:28:30 -06:00
Matt Moyer
5f679059d5
Add ClusterIP service to impersonator-config-controller informer.
...
Prior to this fix, this controller did not correctly react to changes to the ClusterIP service. It would still eventually react with a long delay due to our 5 minute resync interval.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-28 11:57:18 -05:00
Ryan Richard
8afbb4eb4f
Merge pull request #744 from vmware-tanzu/dependabot/go_modules/github.com/tdewolff/minify/v2-2.9.20
...
Bump github.com/tdewolff/minify/v2 from 2.9.19 to 2.9.20
2021-07-28 09:08:22 -07:00
Ryan Richard
c9b4598fa0
Merge pull request #745 from vmware-tanzu/dependabot/go_modules/github.com/creack/pty-1.1.14
...
Bump github.com/creack/pty from 1.1.13 to 1.1.14
2021-07-28 09:08:03 -07:00
Mo Khan
ef33846d7d
Merge pull request #747 from enj/enj/i/delete_race
...
certs_expirer: be specific about what secret to delete
2021-07-28 10:32:17 -04:00
Monis Khan
8b4ed86071
certs_expirer: be specific about what secret to delete
...
This change fixes a race that can occur because we have multiple
writers with no leader election lock.
1. TestAPIServingCertificateAutoCreationAndRotation/automatic
expires the current serving certificate
2. CertsExpirerController 1 deletes expired serving certificate
3. CertsExpirerController 2 starts deletion of expired serving
certificate but has not done so yet
4. CertsManagerController 1 creates new serving certificate
5. TestAPIServingCertificateAutoCreationAndRotation/automatic
records the new serving certificate
6. CertsExpirerController 2 finishes deletion, and thus deletes the
newly created serving certificate instead of the old one
7. CertsManagerController 2 creates new serving certificate
8. TestAPIServingCertificateAutoCreationAndRotation/automatic keeps
running and eventually times out because it is expecting the
serving certificate created by CertsManagerController 2 to match
the value it recorded from CertsManagerController 1 (which will
never happen since that certificate was incorrectly deleted).
Signed-off-by: Monis Khan <mok@vmware.com >
2021-07-28 09:56:05 -04:00
Mo Khan
8b74dd824b
Merge pull request #748 from mattmoyer/fix-css-text-wrapping
...
Fix form_post CSS styling in Firefox and Safari.
2021-07-28 09:55:39 -04:00
Matt Moyer
727035a2dc
Fix form_post CSS styling in Firefox and Safari.
...
This functioned fine, but did not have the intended visual appearance when it came to how the text of the auth code wrapped inside the copy button in the manual flow.
The new styling behaves correctly on at least Chrome, Firefox, and Safari on macOS.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-28 08:09:20 -05:00
dependabot[bot]
fc82fde585
Bump github.com/tdewolff/minify/v2 from 2.9.19 to 2.9.20
...
Bumps [github.com/tdewolff/minify/v2](https://github.com/tdewolff/minify ) from 2.9.19 to 2.9.20.
- [Release notes](https://github.com/tdewolff/minify/releases )
- [Commits](https://github.com/tdewolff/minify/compare/v2.9.19...v2.9.20 )
---
updated-dependencies:
- dependency-name: github.com/tdewolff/minify/v2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-07-28 00:03:48 +00:00
dependabot[bot]
f352db8072
Bump github.com/creack/pty from 1.1.13 to 1.1.14
...
Bumps [github.com/creack/pty](https://github.com/creack/pty ) from 1.1.13 to 1.1.14.
- [Release notes](https://github.com/creack/pty/releases )
- [Commits](https://github.com/creack/pty/compare/v1.1.13...v1.1.14 )
---
updated-dependencies:
- dependency-name: github.com/creack/pty
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-07-28 00:03:39 +00:00
Margo Crawford
f075d95183
Merge branch 'main' of github.com:vmware-tanzu/pinniped into active-directory-identity-provider
2021-07-27 15:16:52 -07:00
Matt Moyer
22a66c1192
Merge pull request #746 from mattmoyer/fix-windows-build
...
Fix CLI compilation on Windows.
2021-07-27 16:15:01 -06:00
Margo Crawford
474266f918
Merge branch 'main' of github.com:vmware-tanzu/pinniped into active-directory-identity-provider
2021-07-27 15:06:58 -07:00
Matt Moyer
8e8af51955
Fix CLI compilation on Windows.
...
It turns out that `syscall.Stdin` is of type `int` on Linux and macOS, but not on Windows (it's `syscall.Handle`). This should now be portable and do all the require type casting on every platform.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-27 16:10:05 -05:00
Ryan Richard
d5759c9951
Merge pull request #739 from vmware-tanzu/merge_impersonator_service_annotations
...
Carefully merge desired annotations into impersonation proxy Service
2021-07-27 12:40:31 -07:00
Ryan Richard
bf99348faf
Merge branch 'main' into merge_impersonator_service_annotations
2021-07-27 12:40:02 -07:00
Mo Khan
2789af79f6
Merge pull request #742 from enj/enj/i/bump_1.21.3
...
Bump to Go 1.16.6 and Kube v0.21.3
2021-07-27 15:34:37 -04:00
Ryan Richard
71cae75758
Merge branch 'main' into merge_impersonator_service_annotations
2021-07-27 11:57:16 -07:00
Ryan Richard
90db3ad51b
Merge pull request #730 from vmware-tanzu/cli_username_password_env_vars
...
LDAP logins via CLI read from `PINNIPED_USERNAME` and `PINNIPED_PASSWORD` env vars
2021-07-27 11:56:40 -07:00
Monis Khan
32c9aa5087
Bump to Go 1.16.6 and Kube v0.21.3
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-07-27 14:18:08 -04:00
Margo Crawford
bbaa820278
parsing objectGUID as human-readable string version
2021-07-27 11:08:23 -07:00
Margo Crawford
287a5d225a
Change SearchBaseFound condition success reason to be a string constant
2021-07-27 10:23:05 -07:00
Ryan Richard
f17f7c0c6a
Small refactors in impersonator_config.go suggested by @mattmoyer
2021-07-26 17:46:06 -07:00
Ryan Richard
54c5bcc9a1
Merge branch 'main' into merge_impersonator_service_annotations
2021-07-26 17:25:52 -07:00
Ryan Richard
58ab57201f
Suppress lint errors
2021-07-26 17:20:49 -07:00
Ryan Richard
f4829178b3
Use sentence case for headers in docs
...
Following some common developer style guides such as
Google
https://developers.google.com/style/capitalization#capitalization-in-titles-and-headings
and Microsoft
https://docs.microsoft.com/en-us/style-guide/scannable-content/headings#formatting-headings
2021-07-26 17:18:44 -07:00
Ryan Richard
295f013580
Merge branch 'main' into cli_username_password_env_vars
2021-07-26 17:04:46 -07:00
Margo Crawford
53b58f65b2
Add integration test for wrong password with ldap
2021-07-26 16:32:46 -07:00
Margo Crawford
cc3875f048
PR feedback
2021-07-26 16:03:12 -07:00
Ryan Richard
d8e1521457
Merge pull request #741 from vmware-tanzu/dockerignore
...
dockerignore gets same contents as gitignore
2021-07-26 12:47:26 -07:00
Ryan Richard
e150111b27
dockerignore gets same contents as gitignore
2021-07-26 11:28:25 -07:00
Ryan Richard
9e27c28b39
Fix TestImpersonationProxy integration test changes from previous commit
...
Forgot to account for our new booking annotation on the impersonator's
Service.
2021-07-23 14:23:24 -07:00
Margo Crawford
5d23068690
Removed a todo that was resolved
2021-07-23 13:01:41 -07:00
Margo Crawford
1050f39789
Integration test deactivated ad account
2021-07-23 13:01:41 -07:00
Margo Crawford
00978c15f7
Update wording for ActiveDirectoryIdentityProvider crd
2021-07-23 13:01:41 -07:00
Margo Crawford
8ea1bd3dfb
Make prepare-for-integration-tests active directory setup accessible for anyone
2021-07-23 13:01:41 -07:00
Margo Crawford
91085e68f9
Refactoring defaulting logic
2021-07-23 13:01:41 -07:00
Margo Crawford
f99f7be836
Default values for ad usersearch and groupsearch
2021-07-23 13:01:41 -07:00
Margo Crawford
890d9c3216
resolve some todos about error handling search base discovery results
2021-07-23 13:01:41 -07:00
Margo Crawford
cb0ee07b51
Fetch AD search base from defaultNamingContext when not specified
2021-07-23 13:01:41 -07:00
Margo Crawford
8e1d70562d
Remove shared variables from ldap upstream observer
2021-07-23 13:01:41 -07:00
Margo Crawford
5d8d7246c2
Refactor active directory and ldap controllers to share almost everything
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-07-23 13:01:41 -07:00
Ryan Richard
3b4f521596
Changed TestLDAPUpstream.TestUsernameAttributeName back to TestUserMailAttributeName
...
Also added TestUserSAMAccountNameValue
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-07-23 13:01:40 -07:00
Margo Crawford
e5c8cbb3a4
One line fix for lint error. Forgot a period in a comment.
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-07-23 13:01:40 -07:00
Margo Crawford
7696f4256d
Move defaulting of ad username and uid attributes to controller
...
Now the controller uses upstreamldap so there is less duplication,
since they are very similar.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-07-23 13:01:40 -07:00
Ryan Richard
aaa4861373
Custom API Group overlay for AD
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-07-23 13:01:40 -07:00
Margo Crawford
b3d0b28bd0
Integration test fixes, fixing objectGUID handling
2021-07-23 13:01:40 -07:00
Margo Crawford
5c283d941c
Helper script for running active directory tests
2021-07-23 13:01:40 -07:00
Margo Crawford
94e90a5d26
groups related env variables for AD
2021-07-23 13:01:40 -07:00
Margo Crawford
be6f9f83ce
RBAC rules for activedirectoryidentityprovider
2021-07-23 13:01:40 -07:00
Margo Crawford
3b8edb84a5
WIP on active directory integration test
2021-07-23 13:01:40 -07:00
Margo Crawford
8fb35c6569
Active Directory cli options
2021-07-23 13:01:40 -07:00
Margo Crawford
3899292e89
Advertise Active Directory idps
2021-07-23 13:01:40 -07:00
Margo Crawford
b06de69f6a
ActiveDirectoryIdentityProvider
...
- Create CRD
- Create implementation of AD-specific user search defaults
2021-07-23 13:01:40 -07:00
Ryan Richard
ac4bc02817
Enhance integration test for CredentialIssuer spec annotations
2021-07-23 09:46:40 -07:00
Ryan Richard
708164b878
Carefully merge desired annotations into impersonation proxy Service
...
Don't overwrite annotations that might have come from a human user or
from some other non-Pinniped controller.
2021-07-22 17:09:50 -07:00
Ryan Richard
e30cf6e51a
Merge branch 'main' into cli_username_password_env_vars
2021-07-22 09:29:03 -07:00
Matt Moyer
ee30b78117
Update ROADMAP.md
...
Bump "Wider Concierge cluster support" to August.
2021-07-22 10:30:45 -05:00
Ryan Richard
64aba7e703
Add new howto guide login.md
2021-07-21 12:10:47 -07:00
Matt Moyer
c6c3a80a86
Merge pull request #733 from mattmoyer/switch-tools-images
...
Switch to GHCR tools images for local tests, with `imagePullPolicy: IfNotPresent`.
2021-07-21 11:47:37 -06:00
Margo Crawford
a7af63ca3a
Merge pull request #729 from rdimitrov/dimitrovr/add-dex-docs
...
Add documentation for configuring Supervisor with Dex and Github
2021-07-21 08:48:49 -07:00
Matt Moyer
ae72d30cec
Switch to GHCR tools images for local tests, with imagePullPolicy: IfNotPresent.
...
This is more consistent with our CI environment.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-21 09:21:05 -05:00
Nanci Lancaster
fec59eb1bf
Merge pull request #731 from microwavables/main
...
Removed Andrew Keesler, Pablo Schumaker from site, moved them to emeritus status on maintainers file,
2021-07-20 15:37:04 -07:00
Radoslav Dimitrov
f6273b0604
Update the Prerequisites section and add a note about the groups scope
...
Add Dex to the prerequisites and add a note that to query for the groups
scope the user must set the organizations Dex should search against.
Otherwise the groups claim would be empty. This is because of the format
group claims are represented, i.e. "org:team".
Signed-off-by: Radoslav Dimitrov <dimitrovr@vmware.com >
2021-07-20 13:49:45 +03:00
Ryan Richard
deb699a84a
e2e test: PINNIPED_USERNAME/PINNIPED_PASSWORD env vars during LDAP login
2021-07-19 17:08:52 -07:00
Ryan Richard
cac45fd999
LDAP logins read from PINNIPED_USERNAME and PINNIPED_PASSWORD env vars
...
For CLI-based auth, such as with LDAP upstream identity providers, the
user may use these environment variables to avoid getting interactively
prompted for username and password.
2021-07-19 16:20:59 -07:00
Radoslav Dimitrov
0bdd1bc68f
Add documentation for configuring Supervisor with Dex and Github
...
The following guide describes the process of configuring Supervisor
with Dex and identify users through their Github account. Issue #415
Signed-off-by: Radoslav Dimitrov <dimitrovr@vmware.com >
2021-07-19 16:00:43 +03:00
Mo Khan
4605846499
Merge pull request #724 from vmware-tanzu/fix_git_sha_in_version_info
...
Copy .git dir during Docker build; used to bake git sha into binary
2021-07-16 14:34:33 -04:00
Ryan Richard
4670890a82
Add .git dir to Docker; used to bake git sha into binary
2021-07-16 09:51:46 -07:00
Margo Crawford
d204b46c18
Merge pull request #721 from vmware-tanzu/resolve-load-balancer-dns
...
wait for lb dns to resolve in the impersonation proxy integration test
2021-07-15 17:02:08 -07:00
Ryan Richard
b3208f0ca6
wait for lb dns to resolve in the impersonation proxy integration test
...
this will hopefully fix some flakes where aws provisioned a host for the
load balancer but the tests weren't able to resolve it.
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-07-15 16:39:15 -07:00
Ryan Richard
be7bf9c193
Merge pull request #718 from vmware-tanzu/workaround_for_flaky_unit_test
...
TestAgentController unit test is flaky, try to add workaround
2021-07-15 14:17:11 -07:00
Ryan Richard
2bba39d723
TestAgentController unit test is flaky, try to add workaround
...
TestAgentController really runs the controller and evaluates multiple
calls to the controller's Sync with real informers caching updates.
There is a large amount of non-determinism in this unit test, and it
does not always behave the same way. Because it makes assertions about
the specific errors that should be returned by Sync, it was not
accounting for some errors that are only returned by Sync once in a
while depending on the exact (unpredictable) order of operations.
This commit doesn't fix the non-determinism in the test, but rather
tries to work around it by also allowing other (undesired but
inevitable) error messages to appear in the list of actual error
messages returned by the calls to the Sync function.
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-07-15 13:41:31 -07:00
anjalitelang
dc567d0d1f
Update ROADMAP.md
...
Added https://github.com/vmware-tanzu/pinniped/issues/577 to Roadmap
2021-07-15 12:29:51 -04:00
Ryan Richard
143837c136
Merge pull request #714 from vmware-tanzu/ytt_install_doc_fix
...
ytt install docs suggest that you checkout the release tag
2021-07-14 12:52:23 -07:00
Ryan Richard
11eb18d348
ytt install docs suggest that you checkout the release tag
...
Previously, the ytt install docs suggested that you use ytt templates
from the HEAD of main with the container image from the latest public
release, which could result in a mismatch.
2021-07-14 10:59:51 -07:00
Ryan Richard
d5cf5b91d6
Merge pull request #711 from vmware-tanzu/e2e_test_clear_cookies
...
Clear the browser cookies between each TestE2EFullIntegration subtest
2021-07-13 16:43:57 -07:00
Ryan Richard
48b58e2fad
Clear the browser cookies between each TestE2EFullIntegration test
...
It seems like page.ClearCookies() only clears cookies for the current
domain, so there doesn't seem to be a function to clear all browser
cookies. Instead, we'll just start a whole new browser each test.
They start fast enough that it shouldn't be a problem.
2021-07-13 16:20:02 -07:00
Ryan Richard
7ef3d42e01
Merge pull request #704 from mattmoyer/deflake-serving-certificate-rotation-test
...
Make TestAPIServingCertificateAutoCreationAndRotation less flaky.
2021-07-13 14:58:54 -07:00
Ryan Richard
33461ddc14
Merge branch 'main' into deflake-serving-certificate-rotation-test
2021-07-13 14:04:34 -07:00
Mo Khan
238c9e6743
Merge pull request #709 from vmware-tanzu/dependabot/go_modules/github.com/tdewolff/minify/v2-2.9.19
...
Bump github.com/tdewolff/minify/v2 from 2.9.18 to 2.9.19
2021-07-12 14:48:16 -04:00
dependabot[bot]
25cda4f3e6
Bump github.com/tdewolff/minify/v2 from 2.9.18 to 2.9.19
...
Bumps [github.com/tdewolff/minify/v2](https://github.com/tdewolff/minify ) from 2.9.18 to 2.9.19.
- [Release notes](https://github.com/tdewolff/minify/releases )
- [Commits](https://github.com/tdewolff/minify/compare/v2.9.18...v2.9.19 )
---
updated-dependencies:
- dependency-name: github.com/tdewolff/minify/v2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-07-12 01:20:59 +00:00
Matt Moyer
c71703e4db
Merge pull request #707 from mattmoyer/fix-okta-cli-integration-test
...
Fix TestCLILoginOIDC when running against Okta, and lower CLI server shutdown timeout.
2021-07-09 14:30:19 -07:00
Matt Moyer
5527566a36
Fix TestCLILoginOIDC when running directly against Okta.
...
Our actual CLI code behaved correctly, but this test made some invalid assumptions about the "upstream" IDP we're testing. It assumed that the upstream didn't support `response_mode=form_post`, but Okta does. This means that when we end up on the localhost callback page, there are no URL query parameters.
Adjusting this regex makes the test pass as expected.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 16:29:42 -05:00
Matt Moyer
b6580b303a
Reduce CLI callback shutdown timeout (5s -> 500ms).
...
I found that there are some situations with `response_mode=form_post` where Chrome will open additional speculative TCP connections. These connections will be idle so they block server shutdown until the (previously 5s) timeout. Lowering this to 500ms should be safe and makes any added latency at login much less noticeable.
More information about Chrome's TCP-level behavior here: https://bugs.chromium.org/p/chromium/issues/detail?id=116982#c5
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 16:29:29 -05:00
Matt Moyer
405a27ba90
Merge pull request #687 from mattmoyer/add-response-mode-form-post
...
Add support for "response_mode=form_post" in Supervisor and CLI.
2021-07-09 10:37:59 -07:00
Matt Moyer
43f66032a9
Extend TestE2EFullIntegration to test manual OIDC flow.
...
Using the same fake TTY trick we used to test LDAP login, this new subtest runs through the "manual"/"jump box" login flow. It runs the login with a `--skip-listen` flag set, causing the CLI to skip opening the localhost listener. We can then wait for the login URL to be printed, visit it with the browser and log in, and finally simulate "manually" copying the auth code from the browser and entering it into the waiting CLI prompt.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:45 -05:00
Matt Moyer
91a1fec5cf
Add hidden --skip-listen flag for pinniped login oidc.
...
This flag is (for now) meant only to facilitate end-to-end testing, allowing us to force the "manual" login flow. If it ends up being useful we can un-hide it, but this seemed like the safest option to start with.
There is also a corresponding `--oidc-skip-listen` on the `pinniped get kubeconfig` command.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:44 -05:00
Matt Moyer
d0b37a7c90
Adjust TestFormPostHTML to work on Linux chromedriver.
...
For some reason our headless Chrome test setup behaves slightly differently on Linux and macOS hosts. On Linux, the emoji characters are not recognized as valid text, so they are URL encoded. This change updates the test to cope with both cases correctly.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:44 -05:00
Matt Moyer
5029495fdb
Add manual paste flow to pinniped login oidc command.
...
This adds a new login flow that allows manually pasting the authorization code instead of receiving a browser-based callback.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:44 -05:00
Matt Moyer
ac6ff1a03c
Deprecate oidcclient.WithBrowserOpen() option, add simpler oidcclient.WithSkipBrowserOpen().
...
This is a more restrictive library interface that more closely matches the use cases of our new form_post login flow.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:44 -05:00
Matt Moyer
95ee9f0b00
Add ctx params to promptForValue() and promptForSecret().
...
This allows the prompts to be cancelled, which we need to be able to do in the case where we prompt for a manually-pasted auth code but the automatic callback succeeds.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:44 -05:00
Matt Moyer
9fba8d2203
Adjust TestE2EFullIntegration for new form_post flow.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:44 -05:00
Matt Moyer
428f389c7d
Add missing t.Helper() on RequireEventuallyf().
...
This gives us nicer test assertion failure messages.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:44 -05:00
Matt Moyer
71d4e05fb6
Add custom response_mode=form_post HTML template.
...
This is a new pacakge internal/oidc/provider/formposthtml containing a number of static files embedded using the relatively recent Go "//go:embed" functionality introduced in Go 1.16 (https://blog.golang.org/go1.16 ).
The Javascript and CSS files are minifiied and injected to make a single self-contained HTML response. There is a special Content-Security-Policy helper to calculate hash-based script-src and style-src rules.
This new code is covered by a new integration test that exercises the JS/HTML functionality in a real browser outside of the rest of the Supervisor.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:43 -05:00
Matt Moyer
1904f8ddc3
In browsertest.Open(), capture console INFO logs.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:43 -05:00
Matt Moyer
6b801056b5
Add testlib.RandBytes() helper.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:43 -05:00
Matt Moyer
674cd4a88c
Adjust our securityheader pkg to support form_post.
...
Our Supervisor callback handler now needs to load JS and CSS from the provider endpoint, and this JS needs to make a `fetch()` call across origins (to post the form to the CLI callback). This requires a custom Content-Security-Policy compared to other pages we render.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:43 -05:00
Matt Moyer
7217cf4892
In form_post mode, expect params via POST'ed form.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:43 -05:00
Matt Moyer
40c931bdc5
When supported, use "response_mode=form_post" in client.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:43 -05:00
Matt Moyer
2823d4d1e3
Add "response_modes_supported" to Supervisor discovery response.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:43 -05:00
Matt Moyer
6d83ecb420
Unit test response_mode=form_post in internal/oidc/callback.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:43 -05:00
Matt Moyer
c27eb17f23
Add "response_mode=form_post" to CLI client.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 12:08:42 -05:00
Matt Moyer
58363bca2c
Merge pull request #705 from mattmoyer/deflake-impersonation-websocket-test
...
Make TestImpersonationProxy less flaky.
2021-07-09 10:06:14 -07:00
Matt Moyer
3bf39797bb
Merge pull request #706 from mattmoyer/fix-api-doc-comment
...
Fix typo in generated API docs (s/mode/type/).
2021-07-09 10:05:05 -07:00
Matt Moyer
3a840cee76
Make TestAPIServingCertificateAutoCreationAndRotation less flaky.
...
This test would occasionally flake for me when running locally. This change moves more of the assertions into the "eventually" loop, so they can temporarily fail as long as they converge on the expected values.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 11:29:02 -05:00
Matt Moyer
04e9897d51
Make TestImpersonationProxy less flaky.
...
This test did not tolerate this connection failing, which can happen for any number of flaky networking-related reasons. This change moves the connection setup into an "eventually" retry loop so it's allowed to fail temporarily as long as it eventually connects.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 11:28:33 -05:00
Matt Moyer
ff9095f9c4
Fix typo in generated API docs (s/mode/type/).
...
This CredentialIssuer field is called `spec.impersonationProxy.service.type`, not `spec.impersonationProxy.service.mode`.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-07-09 11:28:02 -05:00
Matt Moyer
2e18c88e33
Merge pull request #684 from christianang/oidc-upstream-watcher-supports-proxy
...
Add IPv6 support to FederationDomain spec.issuer field.
2021-07-09 09:14:39 -07:00
Matt Moyer
9f91c6c884
Merge branch 'main' into oidc-upstream-watcher-supports-proxy
2021-07-09 07:24:52 -07:00
Ryan Richard
59fd1997f4
Merge pull request #703 from vmware-tanzu/ldap-client-int-tests-only-on-kind
...
Run the LDAP client's integration tests only on Kind
2021-07-08 12:55:03 -07:00
Ryan Richard
74f3ce5dcd
Merge branch 'main' into ldap-client-int-tests-only-on-kind
2021-07-08 12:54:56 -07:00
Ryan Richard
d403c8b44b
Merge pull request #702 from vmware-tanzu/supervisor-https-proxy-fix-timeout
...
Fix broken upstream OIDC discovery timeout added in previous commit
2021-07-08 12:54:39 -07:00
Ryan Richard
e130da6daa
Add unit test assertion for new OIDC client request timeout
2021-07-08 11:47:49 -07:00
Ryan Richard
2f7dbed321
Try increasing the "eventually" timeouts in one integration test
...
There were 10 second timeouts in
`TestAPIServingCertificateAutoCreationAndRotation` which fail often
on CI. Maybe increasing the timeouts will help?
2021-07-08 11:17:22 -07:00
Ryan Richard
709c10227f
Run the LDAP client's integration tests only on Kind
...
TestSimultaneousLDAPRequestsOnSingleProvider proved to be unreliable
on AKS due to some kind of kubectl port-forward issue, so only
run the LDAP client's integration tests on Kind. They are testing
the integration between the client code and the OpenLDAP test server,
not testing anything about Kubernetes, so running only on Kind should
give us sufficient test coverage.
2021-07-08 11:10:53 -07:00
Ryan Richard
f0d120a6ca
Fix broken upstream OIDC discovery timeout added in previous commit
...
After noticing that the upstream OIDC discovery calls can hang
indefinitely, I had tried to impose a one minute timeout on them
by giving them a timeout context. However, I hadn't noticed that the
context also gets passed into the JWKS fetching object, which gets
added to our cache and used later. Therefore the timeout context
was added to the cache and timed out while sitting in the cache,
causing later JWKS fetchers to fail.
This commit is trying again to impose a reasonable timeout on these
discovery and JWKS calls, but this time by using http.Client's Timeout
field, which is documented to be a timeout for *each* request/response
cycle, so hopefully this is a more appropriate way to impose a timeout
for this use case. The http.Client instance ends up in the cache on
the JWKS fetcher object, so the timeout should apply to each JWKS
request as well.
Requests that can hang forever are effectively a server-side resource
leak, which could theoretically be taken advantage of in a denial of
service attempt, so it would be nice to avoid having them.
2021-07-08 09:44:02 -07:00
Ryan Richard
1f5480cd5c
Merge pull request #701 from vmware-tanzu/supervisor-https-proxy
...
Add `https_proxy` and `no_proxy` settings for the Supervisor
2021-07-07 14:57:38 -07:00
Ryan Richard
f1e63c55d4
Add https_proxy and no_proxy settings for the Supervisor
...
- Add new optional ytt params for the Supervisor deployment.
- When the Supervisor is making calls to an upstream OIDC provider,
use these variables if they were provided.
- These settings are integration tested in the main CI pipeline by
sometimes setting them on deployments in certain cases, and then
letting the existing integration tests (e.g. TestE2EFullIntegration)
provide the coverage, so there are no explicit changes to the
integration tests themselves in this commit.
2021-07-07 12:50:13 -07:00
Matt Moyer
562951b77a
Merge branch 'main' into oidc-upstream-watcher-supports-proxy
2021-07-06 11:30:09 -07:00
Matt Moyer
dbd2cb4563
Merge pull request #696 from vmware-tanzu/dependabot/go_modules/github.com/spf13/cobra-1.2.1
...
Bump github.com/spf13/cobra from 1.2.0 to 1.2.1
2021-07-06 07:04:02 -07:00
dependabot[bot]
1c746feafe
Bump github.com/spf13/cobra from 1.2.0 to 1.2.1
...
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra ) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/spf13/cobra/releases )
- [Changelog](https://github.com/spf13/cobra/blob/master/CHANGELOG.md )
- [Commits](https://github.com/spf13/cobra/compare/v1.2.0...v1.2.1 )
---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-07-05 01:28:57 +00:00
Ryan Richard
49683975ab
Merge pull request #689 from vmware-tanzu/trivial_refactor
...
Extract some trivial helpers for identical code usages
2021-07-02 14:56:26 -07:00
Ryan Richard
4be26fc1a6
Merge branch 'main' into trivial_refactor
2021-07-02 13:48:27 -07:00
Matt Moyer
f590a3a88b
Merge pull request #692 from vmware-tanzu/dependabot/go_modules/github.com/spf13/cobra-1.2.0
...
Bump github.com/spf13/cobra from 1.1.3 to 1.2.0
2021-07-02 07:24:55 -07:00
dependabot[bot]
e26486bd41
Bump github.com/spf13/cobra from 1.1.3 to 1.2.0
...
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra ) from 1.1.3 to 1.2.0.
- [Release notes](https://github.com/spf13/cobra/releases )
- [Changelog](https://github.com/spf13/cobra/blob/master/CHANGELOG.md )
- [Commits](https://github.com/spf13/cobra/compare/v1.1.3...v1.2.0 )
---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-07-02 01:11:11 +00:00
Matt Moyer
5c2e890ecd
Add "Extended IDP support" to the roadmap.
2021-07-01 10:48:13 -05:00
Matt Moyer
715cf7748a
Add "Identity transforms" feature to roadmap.
2021-07-01 10:17:40 -05:00
Matt Moyer
e0456b4485
Update ROADMAP given current state of work
2021-07-01 10:05:30 -05:00
Ryan Richard
629bf61655
Extract some trivial helpers for identical code usages
2021-06-30 15:02:14 -07:00
Matt Moyer
738e6aa3cc
Merge pull request #685 from vmware-tanzu/dependabot/go_modules/github.com/gofrs/flock-0.8.1
...
Bump github.com/gofrs/flock from 0.8.0 to 0.8.1
2021-06-30 10:53:39 -07:00
Guangyuan Wang
76dc39ac2d
Use hostname instead of host and split on ":"
...
Co-authored-by: Christian Ang <angc@vmware.com >
Co-authored-by: Tyler Schultz <tschultz@vmware.com >
2021-06-28 23:03:05 +00:00
dependabot[bot]
43fee6bb94
Bump github.com/gofrs/flock from 0.8.0 to 0.8.1
...
Bumps [github.com/gofrs/flock](https://github.com/gofrs/flock ) from 0.8.0 to 0.8.1.
- [Release notes](https://github.com/gofrs/flock/releases )
- [Commits](https://github.com/gofrs/flock/compare/v0.8.0...v0.8.1 )
---
updated-dependencies:
- dependency-name: github.com/gofrs/flock
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-06-28 01:28:52 +00:00
Christian Ang
8026729c43
Use net.JoinHostPort instead of Sprintf
...
Co-authored-by: Guangyuan Wang <wguangyuan@vmware.com >
2021-06-24 23:19:11 +00:00
Guangyuan Wang
d19d63ad7d
Set Proxy on oidc upstream watcher transport
...
- this allows the oidc upsream watcher to honor the
HTTP_PROXY,HTTPS_PROXY,NO_PROXY environment variables
Co-authored-by: Christian Ang <angc@vmware.com >
2021-06-24 22:35:16 +00:00
Mo Khan
a6141e911c
Merge pull request #683 from enj/enj/i/credentialrequest_notafter
...
credentialrequest: use safer approximation for ExpirationTimestamp
2021-06-23 11:55:29 -04:00
Monis Khan
5ff2be973c
credentialrequest: use safer approximation for ExpirationTimestamp
...
We want the value of time.Now() to be calculated before the call to
IssueClientCertPEM to prevent the ExpirationTimestamp from being
later than the notAfter timestamp on the issued certificate.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-06-23 11:07:00 -04:00
Matt Moyer
73201ba575
Merge pull request #682 from vmware-tanzu/dependabot/docker/debian-10.10-slim
...
Bump debian from 10.9-slim to 10.10-slim
2021-06-22 19:39:13 -07:00
dependabot[bot]
125d891cd5
Bump debian from 10.9-slim to 10.10-slim
...
Bumps debian from 10.9-slim to 10.10-slim.
---
updated-dependencies:
- dependency-name: debian
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-06-23 01:02:44 +00:00
Matt Moyer
682a47f739
Merge pull request #680 from mattmoyer/update-k8s-1.21.2
...
Update to Kubernetes 1.21.2 runtime components.
2021-06-22 10:23:14 -07:00
Matt Moyer
594e47efdf
Update to Kubernetes 1.21.2 runtime components.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-22 11:55:22 -05:00
Mo Khan
f09a45382e
Merge pull request #681 from enj/enj/i/fix_bad_name
...
Fix bad test package name
2021-06-22 12:54:29 -04:00
Monis Khan
d78b845575
Fix bad test package name
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-06-22 11:23:19 -04:00
Mo Khan
1929b47dda
Merge pull request #674 from mattmoyer/new-eventual-assertion-helpers
...
Improve our integration test "Eventually" assertions.
2021-06-22 11:15:06 -04:00
Matt Moyer
3efa7bdcc2
Improve our integration test "Eventually" assertions.
...
This fixes some rare test flakes caused by a data race inherent in the way we use `assert.Eventually()` with extra variables for followup assertions. This function is tricky to use correctly because it runs the passed function in a separate goroutine, and you have no guarantee that any shared variables are in a coherent state when the `assert.Eventually()` call returns. Even if you add manual mutexes, it's tricky to get the semantics right. This has been a recurring pain point and the cause of several test flakes.
This change introduces a new `library.RequireEventually()` that works by internally constructing a per-loop `*require.Assertions` and running everything on a single goroutine (using `wait.PollImmediate()`). This makes it very easy to write eventual assertions.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-17 16:56:03 -05:00
Matt Moyer
6a9eb87c35
Update ROADMAP.md
2021-06-17 10:17:04 -05:00
Matt Moyer
3eba3e07c6
Merge pull request #669 from vmware-tanzu/dependabot/go_modules/github.com/golang/mock-1.6.0
...
Bump github.com/golang/mock from 1.5.0 to 1.6.0
2021-06-15 18:49:23 -07:00
dependabot[bot]
9f06869f76
Bump github.com/golang/mock from 1.5.0 to 1.6.0
...
Bumps [github.com/golang/mock](https://github.com/golang/mock ) from 1.5.0 to 1.6.0.
- [Release notes](https://github.com/golang/mock/releases )
- [Changelog](https://github.com/golang/mock/blob/master/.goreleaser.yml )
- [Commits](https://github.com/golang/mock/compare/v1.5.0...v1.6.0 )
---
updated-dependencies:
- dependency-name: github.com/golang/mock
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-06-16 01:22:04 +00:00
Matt Moyer
3f41261580
Merge pull request #673 from mattmoyer/refactor-static-client-struct-second-attempt
...
Use a custom type for our static CLI client.
2021-06-15 17:37:08 -07:00
Matt Moyer
551249fb69
Use a custom type for our static CLI client (smaller change).
...
Before this change, we used the `fosite.DefaultOpenIDConnectClient{}` struct, which implements the `fosite.Client` and `fosite.OpenIDConnectClient` interfaces. For a future change, we also need to implement some additional optional interfaces, so we can no longer use the provided default types. Instead, we now use a custom `clientregistry.Client{}` struct, which implements all the requisite interfaces and can be extended to handle the new functionality (in a future change).
There is also a new `clientregistry.StaticRegistry{}` struct, which implements the `fosite.ClientManager` and looks up our single static client. We could potentially extend this in the future with a registry backed by Kubernetes API, for example.
This should be 100% refactor, with no user-observable change.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-15 15:31:48 -05:00
Mo Khan
1a610022cf
Merge pull request #671 from enj/enj/i/eks_rbac
...
TestServiceAccountPermissions: handle extra permissions on EKS
2021-06-15 11:46:24 -04:00
Monis Khan
524ff21b7f
TestServiceAccountPermissions: handle extra permissions on EKS
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-06-15 11:17:59 -04:00
Matt Moyer
913c140be8
Update the latest version number in the docs.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-15 09:46:51 -05:00
Mo Khan
e06c696bea
Merge pull request #670 from enj/enj/f/impersonator_always_authz
...
impersonator: always authorize every request
2021-06-14 16:16:12 -04:00
Monis Khan
269db6b7c2
impersonator: always authorize every request
...
This change updates the impersonator to always authorize every
request instead of relying on the Kuberentes API server to perform
the check on the impersonated request. This protects us from
scenarios where we fail to correctly impersonate the user due to
some bug in our proxy logic. We still rely completely on the API
server to perform admission checks on the impersonated requests.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-06-14 12:53:09 -04:00
Monis Khan
addf632e7c
impersonator: add docs regarding limited serivce account
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-06-11 15:37:55 -04:00
Mo Khan
87489da316
Merge pull request #667 from enj/enj/f/impersonator_distinct_sa
...
impersonator: run as a distinct SA with minimal permissions
2021-06-11 15:36:28 -04:00
Monis Khan
898f2bf942
impersonator: run as a distinct SA with minimal permissions
...
This change updates the impersonation proxy code to run as a
distinct service account that only has permission to impersonate
identities. Thus any future vulnerability that causes the
impersonation headers to be dropped will fail closed instead of
escalating to the concierge's default service account which has
significantly more permissions.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-06-11 12:13:53 -04:00
Matt Moyer
918c50f6a7
Merge pull request #666 from vmware-tanzu/dependabot/go_modules/gopkg.in/square/go-jose.v2-2.6.0
...
Bump gopkg.in/square/go-jose.v2 from 2.5.1 to 2.6.0
2021-06-10 15:06:55 -07:00
Matt Moyer
9ca82116f1
Update ROADMAP.md
2021-06-10 12:45:23 -05:00
Matt Moyer
564c1f8ae5
Update ROADMAP.md
2021-06-10 10:27:20 -05:00
dependabot[bot]
c88aad873b
Bump gopkg.in/square/go-jose.v2 from 2.5.1 to 2.6.0
...
Bumps [gopkg.in/square/go-jose.v2](https://github.com/square/go-jose ) from 2.5.1 to 2.6.0.
- [Release notes](https://github.com/square/go-jose/releases )
- [Commits](https://github.com/square/go-jose/compare/v2.5.1...v2.6.0 )
---
updated-dependencies:
- dependency-name: gopkg.in/square/go-jose.v2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-06-08 05:41:45 +00:00
Mo Khan
9d27e6b4c6
Merge pull request #665 from enj/enj/i/impersonator_dead_code
...
impersonator: remove redundant deleteKnownImpersonationHeaders logic
2021-06-04 16:12:08 -04:00
Monis Khan
5b327a2b37
impersonator: remove redundant deleteKnownImpersonationHeaders logic
...
WithImpersonation already deletes impersonation headers and has done
so since the early days:
https://github.com/kubernetes/kubernetes/pull/36769
ensureNoImpersonationHeaders will still reject any request that has
impersonation headers set so we will always fail closed.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-06-04 15:22:01 -04:00
Matt Moyer
7114988eec
Merge pull request #663 from vmware-tanzu/dependabot/docker/golang-1.16.5
...
Bump golang from 1.16.4 to 1.16.5
2021-06-04 09:20:44 -05:00
Mo Khan
3a47060256
Merge pull request #645 from enj/enj/f/anon_impersonation_proxy
...
impersonator: honor anonymous authentication being disabled
2021-06-04 09:28:14 -04:00
Benjamin A. Petersen
492f6cfddf
impersonator: honor anonymous authentication being disabled
...
When anonymous authentication is disabled, the impersonation proxy
will no longer authenticate anonymous requests other than calls to
the token credential request API (this API is used to retrieve
credentials and thus must be accessed anonymously).
Signed-off-by: Benjamin A. Petersen <ben@benjaminapetersen.me >
Signed-off-by: Monis Khan <mok@vmware.com >
2021-06-04 09:00:56 -04:00
dependabot[bot]
f417f706b9
Bump golang from 1.16.4 to 1.16.5
...
Bumps golang from 1.16.4 to 1.16.5.
---
updated-dependencies:
- dependency-name: golang
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-06-04 06:00:24 +00:00
Matt Moyer
02335e2ade
Bump the latest version referenced in the docs.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-03 17:25:32 -05:00
Matt Moyer
9b9e733a7d
Merge pull request #662 from mattmoyer/parameterize-test-images
...
Parameterize our test images in ytt.
2021-06-03 15:53:13 -05:00
Matt Moyer
df78e00df3
Parameterize our test images in ytt.
...
These are images we use for local and some CI testing.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-03 15:25:09 -05:00
Matt Moyer
b5ed4e6a13
Merge pull request #660 from mattmoyer/fix-credentialissuer-service-type-field-typo
...
Fix typo in CredentialIssuer ytt template.
2021-06-03 14:01:14 -05:00
Matt Moyer
500b444bad
Merge pull request #657 from vmware-tanzu/fix-ldap-supervisor-login-test-flake
...
Avoid a rare flake in TestSupervisorLogin.
2021-06-03 13:31:15 -05:00
Matt Moyer
d3e2859238
Merge pull request #658 from vmware-tanzu/fix-impersonation-notfound-handling
...
Tolerate NotFound when deleting services in `impersonatorconfig`.
2021-06-03 13:30:54 -05:00
Matt Moyer
5686591420
Avoid a rare flake in TestSupervisorLogin.
...
There was nothing to guarantee that _all_ Supervisor pods would be ready to handle this request. We saw a rare test flake where the LDAPIdentityProvider was marked as ready but one of the Supervisor pods didn't have it loaded yet and returned an HTTP 422 error (`Unprocessable Entity: No upstream providers are configured`).
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-03 12:13:56 -05:00
Matt Moyer
6903196c18
Fix a data race in TestImpersonationProxy.
...
The `require.Eventually()` function runs the body of the check in a separate goroutine, so it's not safe to use other `require` assertions as we did here. Our `library.RequireEventuallyWithoutError()` function does not spawn a goroutine, so it's safer to use here.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-03 12:07:19 -05:00
Matt Moyer
af4cd1b515
Tolerate NotFound when deleting services in impersonatorconfig.
...
When a CredentialIssuer is switched from one service type to another (or switched to disabled mode), the `impersonatorconfig` controller will delete the previous Service, if any. Normally one Concierge pod will succeed to delete this initially and any other pods will see a NotFound error.
Before this change, the NotFound would bubble up and cause the strategy to enter a ErrorDuringSetup status until the next reconcile loop. We now handle this case without reporting an error.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-03 12:07:19 -05:00
Matt Moyer
2acfafd5a5
Merge pull request #656 from vmware-tanzu/fix-credentialissuer-test-flake
...
Remove an invalid test assertion in TestCredentialIssuer.
2021-06-03 12:03:22 -05:00
anjalitelang
a5067cdbb3
Update ROADMAP.md
...
Updating Roadmap for June to reflect Device Code Flow and AD support
2021-06-03 12:33:36 -04:00
Matt Moyer
5aa08756e0
Fix typo in CredentialIssuer ytt template.
...
This typo wasn't caught in testing because 1) the Kubernetes API ignores the unknown field and 2) the `type` field defaults to `LoadBalancer` anyway, so things behave as expected.
Even though this doesn't cause any large problems, it's quite confusing.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-02 14:48:18 -05:00
Matt Moyer
0e66b0b165
Remove an invalid test assertion in TestCredentialIssuer.
...
The LastUpdateTime is no longer updated on every resync. It only changes if the underlying status has changed, so that it effectively shows when the transition happened.
This change happened in ab750f48aa , but we missed this test. It only fails when it has been more than ten minutes since the CredentialIssuer transitioned into a healthy state, but that can happen in our long-running CI environments.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-02 12:05:02 -05:00
Matt Moyer
87660611d2
Tweak blog post to add a shoutout.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-02 11:28:54 -05:00
Matt Moyer
9968c0d234
Fix my fix 🤦🏻 .
2021-06-02 11:06:03 -05:00
Matt Moyer
193fcb87bb
Fix a typo on the "Community Meetings" time.
...
We had "PT" twice, when one of them should have been "ET".
2021-06-02 11:05:29 -05:00
Ryan Richard
a08e4ec043
Update architecture.md
2021-06-02 08:54:04 -07:00
Matt Moyer
e38a7548cc
Link the v0.9.0 release from the blog post.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-02 10:24:17 -05:00
Pinny
b5dea42bbe
Update CLI docs for v0.9.0 release
2021-06-02 15:22:13 +00:00
Matt Moyer
d06fe15a68
Merge pull request #655 from mattmoyer/update-docs-for-v0.9.0
...
Update docs for v0.9.0
2021-06-02 10:07:02 -05:00
Matt Moyer
e6301f0e74
Update latest version number in docs.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-02 10:05:07 -05:00
Matt Moyer
aca33e45fb
Fix blog post date to match actual v0.9.0 release.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-02 10:02:59 -05:00
Matt Moyer
46825b1c9f
Merge pull request #653 from mattmoyer/fix-impersonation-test-flake
...
Fix another impersonation test flake related to `kubectl logs --tail` line count + test refactor.
2021-06-01 16:51:16 -05:00
Matt Moyer
2ee3cec5ed
Refactor TestImpersonationProxy "apply annotation" test for clarity.
...
This test felt overly complex and some of the cleanup logic wasn't 100% correct (it didn't clean up in all cases).
The new code is essentially the same flow but hopefully easier to read.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-01 15:50:51 -05:00
Matt Moyer
75d92079e4
Allow some flexibility in "kubectl logs --tail=10" test.
...
We see that occasionally kubectl returns 11 lines (probably related to https://github.com/kubernetes/kubernetes/issues/72628 ).
This test doesn't need to be so picky, so now it allows +/- one line from the expected count.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-01 15:50:51 -05:00
Matt Moyer
0be77c3bf2
Merge pull request #651 from vmware-tanzu/dependabot/go_modules/github.com/creack/pty-1.1.13
...
Bump github.com/creack/pty from 1.1.12 to 1.1.13
2021-06-01 15:50:38 -05:00
dependabot[bot]
d4a6a61560
Bump github.com/creack/pty from 1.1.12 to 1.1.13
...
Bumps [github.com/creack/pty](https://github.com/creack/pty ) from 1.1.12 to 1.1.13.
- [Release notes](https://github.com/creack/pty/releases )
- [Commits](https://github.com/creack/pty/compare/v1.1.12...v1.1.13 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-06-01 20:15:47 +00:00
Ryan Richard
abc3df8df9
Merge pull request #637 from vmware-tanzu/ldap_docs
...
LDAP docs
2021-06-01 12:59:58 -07:00
Ryan Richard
5932bce54d
Merge branch 'main' into ldap_docs
2021-06-01 12:59:38 -07:00
Matt Moyer
41ff3e0917
Merge pull request #652 from mattmoyer/fix-impersonation-test-flake
...
In TestImpersonationProxy tests, avoid mutating anything in parallel block of tests.
2021-06-01 14:41:07 -05:00
Matt Moyer
f62c6e806d
In TestImpersonationProxy tests, avoid mutating anything in parallel block of tests.
...
We had this one test that mutated the CredentialIssuer, which could cause the impersonation proxy to blip on one or both of the running concierge pods. This would sometimes break other concurrently running tests.
Instead, this bit of code is split into a separate non-concurrent test.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-06-01 14:02:27 -05:00
Ryan Richard
79e3980f1f
Fix nil function deference in an integration test from previous commit
2021-05-28 17:06:01 -07:00
Ryan Richard
8f2e8b8a6c
Merge branch 'main' into ldap_docs
2021-05-28 16:20:02 -07:00
Ryan Richard
e4fda80fcc
Merge pull request #650 from mattmoyer/do-not-log-usernames-that-might-be-passwords
...
In LDAP, do not log username until we know the user exists.
2021-05-28 16:16:32 -07:00
Ryan Richard
5263e0bae5
Merge branch 'main' into do-not-log-usernames-that-might-be-passwords
2021-05-28 16:16:01 -07:00
Ryan Richard
b8205006ca
Enable skipping of LDAP int tests when a firewall will block them
2021-05-28 16:13:20 -07:00
Matt Moyer
7ee1f8c441
In LDAP, do not log username until we know the user exists.
...
This prevents accidentally logging a password if the user enters it into the username field by mistake.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-28 16:57:48 -05:00
Ryan Richard
854903c4ed
Merge pull request #649 from vmware-tanzu/change_ldap_groupname_default
...
Default `groupSearch.attributes.groupName` to "dn" instead of "cn" in LDAPIdentityProvider spec
2021-05-28 14:04:37 -07:00
Ryan Richard
cedbe82bbb
Default groupSearch.attributes.groupName to "dn" instead of "cn"
...
- DNs are more unique than CNs, so it feels like a safer default
2021-05-28 13:27:11 -07:00
Matt Moyer
a741041737
Merge pull request #648 from mattmoyer/2021-05-28-dep-upgrades
...
Upgrade Go dependencies (fosite and klog).
2021-05-28 14:31:58 -05:00
Matt Moyer
83f418e7f2
Upgrade k8s.io/klog/v2 to v2.9.0.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-28 12:53:37 -05:00
Matt Moyer
e25de9e559
Update ID token tests for latest Fosite.
...
The new version has different behavior for the `nonce` claim, which is now omitted if it would be empty (see https://github.com/ory/fosite/pull/570 ).
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-28 12:53:37 -05:00
Matt Moyer
87c7e89b13
Upgrade github.com/ory/fosite to v0.40.2.
...
This required a weird hack because some of the Fosite tests (or a transitive dependency of them) depends on a newer version of gRPC that's incompatible with the Kubernetes runtime version we use. It wasn't as simple as just replacing the gRPC module with an older version, because in the latest versions of gRPC, they split out the "examples" packages into their own module. This new module name doesn't exist at the old version.
Ultimately, the workaround was to make a fake "examples" module locally. This module can be empty because we never actually depend on that code (it's only used in transitive dependency tests).
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-28 12:53:37 -05:00
Ryan Richard
4722422aae
Fix OIDC assertion bug in TestSupervisorLogin introduced by LDAP branch
2021-05-28 10:37:46 -07:00
Matt Moyer
a39b328778
Merge pull request #626 from vmware-tanzu/credentialissuer-spec-api
...
Add spec fields to Credentialissuer API to configure impersonation proxy behavior
2021-05-27 17:48:45 -05:00
Matt Moyer
343238fa9b
Merge branch 'credentialissuer-spec-api-docs' of github.com:vmware-tanzu/pinniped into credentialissuer-spec-api
2021-05-27 17:12:08 -05:00
Matt Moyer
a69fe68362
Merge branch 'main' of github.com:vmware-tanzu/pinniped into credentialissuer-spec-api
2021-05-27 17:11:40 -05:00
Matt Moyer
01713c7ce1
Don't reconcile Service ports in impersonatorconfig.
...
These are tricky because a real load balancer controller (e.g., on GKE) will overwrite and set NodePort, so we can't blindly set the desired state of this fields.
For now, we will just skip reconciling these. In the future, we could be more clever about merging them together with the current state.
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-05-27 17:10:25 -05:00
Matt Moyer
ab750f48aa
When merging CredentialIssuer updates, don't overwrite LastUpdated.
...
If the only thing that has changed about a strategy is the LastUpdated timestamp, then we should not update the object.
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-05-27 17:09:12 -05:00
Ryan Richard
d7d8630e08
Merge branch 'main' into ldap_docs
2021-05-27 14:30:02 -07:00
Ryan Richard
cd7f5741d8
Incorporate feedback into LDAP blog post
2021-05-27 14:29:40 -07:00
Ryan Richard
c8dc03b06a
Merge pull request #647 from vmware-tanzu/ldap_binary_uids
...
Use base64 binary-encoded value as UID for LDAP
2021-05-27 14:28:21 -07:00
Ryan Richard
83001d8cce
Fix typo in LDAP blog post
2021-05-27 14:13:07 -07:00
Ryan Richard
d2251d2ea7
Use base64 binary-encoded value as UID for LDAP
...
This is to allow the use of binary LDAP entry attributes as the UID.
For example, a user might like to configure AD’s objectGUID or maybe
objectSid attributes as the UID attribute.
This negatively impacts the readability of the UID when it did not come
from a binary value, but we're considering this an okay trade-off to
keep things simple for now. In the future, we may offer more
customizable encoding options for binary attributes.
These UIDs are currently only used in the downstream OIDC `sub` claim.
They do not effect the user's identity on the Kubernetes cluster,
which is only based on their mapped username and group memberships from
the upstream identity provider. We are not currently supporting any
special encoding for those username and group name LDAP attributes, so
their values in the LDAP entry must be ASCII or UTF-8 in order for them
to be interpreted correctly.
2021-05-27 13:47:10 -07:00
Margo Crawford
f330b52076
Update values.yaml to include CredentialIssuer ImpersonationProxy spec.
2021-05-27 13:36:18 -07:00
Matt Moyer
af2af567be
Merge branch 'main' of github.com:vmware-tanzu/pinniped into credentialissuer-spec-api
2021-05-27 15:13:36 -05:00
Ryan Richard
ec2956d54e
Forgot to mention the CLI in the LDAP blog post
2021-05-27 13:05:45 -07:00
Ryan Richard
35cf1a00c8
Merge pull request #643 from vmware-tanzu/ldap_base_in_sub
...
Add user search base to downstream subject for upstream LDAP
2021-05-27 12:23:27 -07:00
Ryan Richard
0d43105759
Blog post for LDAP release
2021-05-27 12:06:01 -07:00
Matt Moyer
67d5c91713
Wait for successful TCR in TestImpersonationProxy.
...
This test setup should tolerate when the TokenCredentialRequest API isn't quite ready to authenticate the user or issue a cert.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-27 13:03:07 -05:00
Ryan Richard
81148866e0
URL query escape the upstream OIDC subject in the downstream subject URL
2021-05-27 09:25:48 -07:00
Matt Moyer
349d3dad83
Make temporary errors return Pending in impersonatorconfig.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-27 11:13:10 -05:00
Matt Moyer
049abfb94c
Remove a "fail fast" check from TestImpersonationProxy.
...
This check is no longer valid, because there can be ephemeral, recoverable errors that show as ErrorDuringSetup.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-27 09:22:47 -05:00
Ryan Richard
033e1f0399
Add user search base to downstream subject for upstream LDAP
...
- Also add some tests about UTF-8 characters in LDAP attributes
2021-05-26 17:04:20 -07:00
Margo Crawford
d2d0dae4ed
Wait for credentialissuer to be updated and always use proxy on clusterip test
2021-05-26 15:58:46 -07:00
Matt Moyer
0a47aa4843
Adjust log levels in impersonatorconfig controller.
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-05-26 16:47:02 -05:00
Matt Moyer
d780bf64bc
Remove references to impersonationConfigMap.
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-05-26 15:24:59 -05:00
Matt Moyer
b57878ebc5
Remove TODO from impersonator.go.
...
We're now tracking this in an issue: https://github.com/vmware-tanzu/pinniped/issues/642
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-26 15:08:29 -05:00
Matt Moyer
1932b03c39
Refactor createOrUpdateService() method.
...
This updates the code to use a different mechanism for driving desired state:
- Read existing object
- If it does not exist, create desired object
- If it does exist, make a copy and set all the desired fields
- Do a deepequal to see if an update is necessary.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-26 15:03:04 -05:00
Matt Moyer
be8118ec2e
Re-enable parallelism on TestImpersonatorConfigControllerSync.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-26 12:57:51 -05:00
Matt Moyer
1a4687a40a
Switch impersonatorconfig to all singleton queues.
...
We also no longer need an initial event, since we don't do anything unless the CredentialIssuer exists, so we'll always be triggered at the appropriate time.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-26 12:54:40 -05:00
Matt Moyer
b13c494f93
Migrate off global logger in impersonatorconfig.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-26 12:44:05 -05:00
Margo Crawford
e5a61f3b95
IPv6 address in unit tests for ClusterIPs
2021-05-26 10:30:33 -07:00
Ryan Richard
9621ad9d2c
More doc updates
2021-05-26 10:08:03 -07:00
Margo Crawford
f2021f1b53
Merge branch 'credentialissuer-spec-api' of github.com:vmware-tanzu/pinniped into credentialissuer-spec-api
2021-05-25 17:06:26 -07:00
Margo Crawford
e2fad6932f
multiple cluster ips
2021-05-25 17:01:42 -07:00
Ryan Richard
9ee11d2a49
Merge branch 'main' into ldap_docs
2021-05-25 16:19:06 -07:00
Ryan Richard
bf39f930d4
Some light docs wordsmithing and reordering of the sidebar
2021-05-25 16:15:45 -07:00
Matt Moyer
450ce6a4aa
Switch impersonatorconfig to new endpointaddr package.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-25 17:44:25 -05:00
Matt Moyer
c970dd1fb0
Merge branch 'main' of github.com:vmware-tanzu/pinniped into credentialissuer-spec-api
2021-05-25 17:32:58 -05:00
Matt Moyer
18a2a27a06
Merge pull request #640 from mattmoyer/endpointaddr
...
Refactor "endpoint address" parsing code into shared package.
2021-05-25 17:22:31 -05:00
Anjali Telang
47582e3290
Documentation for using Jumpcloud as LDAP provider with Pinniped Supervisor
2021-05-25 17:52:32 -04:00
Matt Moyer
89eff28549
Convert LDAP code to use endpointaddr package.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-25 16:17:27 -05:00
Matt Moyer
d9a3992b3b
Add endpointaddr pkg for parsing host+port inputs.
...
This type of field appears in more than one of our APIs, so this package will provide a single source of truth for validating and parsing inputs.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-25 16:17:26 -05:00
Margo Crawford
75dd98a965
Integration test for impersonation proxy cluster ip
2021-05-25 13:50:50 -07:00
Matt Moyer
61362f8187
Merge pull request #639 from vmware-tanzu/dependabot/go_modules/github.com/google/go-cmp-0.5.6
...
Bump github.com/google/go-cmp from 0.5.5 to 0.5.6
2021-05-25 11:04:08 -05:00
dependabot[bot]
f89f2281d8
Bump github.com/google/go-cmp from 0.5.5 to 0.5.6
...
Bumps [github.com/google/go-cmp](https://github.com/google/go-cmp ) from 0.5.5 to 0.5.6.
- [Release notes](https://github.com/google/go-cmp/releases )
- [Commits](https://github.com/google/go-cmp/compare/v0.5.5...v0.5.6 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-05-25 05:51:17 +00:00
Ryan Richard
f5b11a0239
New docs: 1) Concierge with Supervisor, and 2) Supervisor with OpenLDAP
2021-05-24 19:08:25 -07:00
Ryan Richard
5e8945c616
Merge pull request #632 from vmware-tanzu/ldap_additional_unit_test
...
Add another unit test for the LDAP client code
2021-05-24 14:26:13 -07:00
Ryan Richard
2331c2dae2
Merge branch 'main' into ldap_additional_unit_test
2021-05-24 14:24:48 -07:00
Ryan Richard
2014f4623d
Move require.NoError() to t.Cleanup()
2021-05-24 14:24:09 -07:00
Matt Moyer
fabc08b01b
Merge branch 'main' of github.com:vmware-tanzu/pinniped into credentialissuer-spec-api
2021-05-24 15:49:13 -05:00
Matt Moyer
468463ce1d
Merge pull request #635 from mattmoyer/fix-docs-version-to-better-default
...
Replace all references to "a specific version" with v0.8.0.
2021-05-24 14:25:48 -05:00
Matt Moyer
520eb43bfd
Replace all references to "a specific version" with v0.8.0.
...
The documentation was a bit confusing before, and it was easy to accidentally install a very outdated version if you weren't reading carefully.
We could consider writing a post-release CI job to update these references automatically (perhaps using a Hugo macro?), but for now a manual update seems sufficient.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-24 11:50:16 -05:00
Margo Crawford
5de9bac4ac
Oof... good I wrote an integration test because that's not how updating works!
...
Now updating the existing service in kubernetes but with the new
annotations
2021-05-24 09:41:49 -07:00
Matt Moyer
523a8d432f
Merge pull request #616 from vmware-tanzu/okta-supervisor-docs
...
Add doc for configuring the supervisor with okta
2021-05-24 10:34:02 -05:00
Matt Moyer
1ab1d41735
Minor cleanups on the new Supervisor+Okta docs page.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-24 10:31:06 -05:00
Margo Crawford
36168122cc
Add doc for configuring the supervisor with okta
2021-05-24 10:30:50 -05:00
Margo Crawford
150e879a68
Add tests for deleting services
2021-05-21 13:47:06 -07:00
Ryan Richard
b16e84d90a
Add another unit test for the LDAP client code
2021-05-21 12:44:01 -07:00
Margo Crawford
722aa72206
Integration test tests update functionality
2021-05-21 10:19:33 -07:00
Matt Moyer
2d0cb16239
Merge pull request #631 from mattmoyer/remove-openapi-codegen
...
Stop generating zz_generated.openapi.go files.
2021-05-21 12:19:09 -05:00
Margo Crawford
b4bb0db6e5
Refactor some shared code between load balancer and cluster ip creation
2021-05-21 09:57:46 -07:00
Matt Moyer
fd9d9b8c73
Stop generating zz_generated.openapi.go files.
...
It turns out we no longer need these and can skip this bit of code generation.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-21 11:16:59 -05:00
Matt Moyer
44f6fd4437
Merge pull request #630 from mattmoyer/20210521-dependency-updates
...
Upgrade Go module dependencies
2021-05-21 11:12:03 -05:00
Matt Moyer
f0d5923091
Downgrade k8s.io/kube-openapi back to a previous version.
...
9b07d72531...00de3ae54c
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-21 10:42:39 -05:00
Matt Moyer
85ebaa96d5
Upgrade k8s.io/kube-openapi dependency.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-21 10:11:26 -05:00
Matt Moyer
cf5bc9f1b4
Upgrade k8s.io/utils dependency.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-21 10:07:41 -05:00
Matt Moyer
0d02ba6af3
Upgrade k8s.io/gengo dependency.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-21 10:07:00 -05:00
Matt Moyer
74a569fa82
Upgrade golang.org/x/* module dependencies.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-21 10:06:29 -05:00
Matt Moyer
01c0514057
Upgrade github.com/pkg/browser.
...
This some some kind of improvement on Windows.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-21 10:00:19 -05:00
Matt Moyer
0d42c1e9fe
Update to Kubernetes 1.21.1 runtime components.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-21 09:57:41 -05:00
Margo Crawford
4606f1d8bd
More error handling for cluster ip
2021-05-20 16:21:10 -07:00
Ryan Richard
1307c49212
Merge pull request #620 from vmware-tanzu/ldap_starttls
...
Support `StartTLS` for `LDAPIdentityProvider`s
2021-05-20 16:16:37 -07:00
Ryan Richard
b01665386d
Use latest container image of our fork of bitnami-docker-openldap
2021-05-20 15:49:34 -07:00
Margo Crawford
599d70d6dc
Wire generatedClusterIPServiceName through from NamesConfig
2021-05-20 14:11:35 -07:00
Ryan Richard
901ddd1870
Merge branch 'main' into ldap_starttls
2021-05-20 13:40:56 -07:00
Ryan Richard
8b549f66d4
Add integration test for LDAP StartTLS
2021-05-20 13:39:48 -07:00
Ryan Richard
4780c39640
Merge pull request #618 from vmware-tanzu/initial_ldap_group_support
...
Initial support for upstream LDAP group membership
2021-05-20 13:10:23 -07:00
Ryan Richard
7e76b66639
LDAP upstream watcher controller tries using both TLS and StartTLS
...
- Automatically try to fall back to using StartTLS when using TLS
doesn't work. Only complain when both don't work.
- Remember (in-memory) which one worked and keeping using that one
in the future (unless the pod restarts).
2021-05-20 12:46:33 -07:00
Ryan Richard
fff90ed2ca
Merge branch 'main' into initial_ldap_group_support
2021-05-20 12:36:04 -07:00
Margo Crawford
62651eddb0
Took care of some impersonation cluster ip related todos
2021-05-20 11:57:07 -07:00
Matt Moyer
ec25259901
Update impersonatorconfig controller to use new CredentialIssuer update helper.
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-05-20 12:26:07 -05:00
Matt Moyer
e4dd83887a
Merge remote-tracking branch 'origin/main' into credentialissuer-spec-api
2021-05-20 10:53:53 -05:00
Matt Moyer
562942cdbf
Merge pull request #627 from mattmoyer/use-informers-for-credentialissuer-updates
...
Create CredentialIssuer at install, not runtime.
2021-05-20 10:13:41 -05:00
Ryan Richard
025b37f839
upstreamldap.New() now supports a StartTLS config option
...
- This enhances our LDAP client code to make it possible to optionally
dial an LDAP server without TLS and then use StartTLS to upgrade
the connection to TLS.
- The controller for LDAPIdentityProviders is not using this option
yet. That will come in a future commit.
2021-05-19 17:17:44 -07:00
Margo Crawford
63c39454f6
WIP on impersonation clusterip service
2021-05-19 17:00:28 -07:00
Matt Moyer
657488fe90
Create CredentialIssuer at install, not runtime.
...
Previously, our controllers would automatically create a CredentialIssuer with a singleton name. The helpers we had for this also used "raw" client access and did not take advantage of the informer cache pattern.
With this change, the CredentialIssuer is always created at install time in the ytt YAML. The controllers now only update the existing CredentialIssuer status, and they do so using the informer cache as much as possible.
This change is targeted at only the kubecertagent controller to start. The impersonatorconfig controller will be updated in a following PR along with other changes.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-19 17:15:25 -05:00
Margo Crawford
9e61640c92
LoadBalancerIP updated dynamically
2021-05-19 14:16:15 -07:00
Ryan Richard
94d6b76958
Merge branch 'initial_ldap_group_support' into ldap_starttls
2021-05-19 13:12:56 -07:00
Ryan Richard
424c112bbc
Merge branch 'main' into initial_ldap_group_support
2021-05-19 13:12:17 -07:00
Margo Crawford
3bb95f1de2
Give kubeclient_test some default values for credentialissuer spec
2021-05-19 11:56:54 -07:00
Margo Crawford
0b66321902
Changes to make the linter pass
2021-05-19 11:05:35 -07:00
Matt Moyer
297a484948
Add more validation and update tests for impersonationProxy as pointer.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-19 12:42:31 -05:00
Matt Moyer
13372a43e6
Update generated code from previous commit.
2021-05-19 11:41:35 -05:00
Matt Moyer
54e0b83146
Update API so that impersonationProxy spec is a pointer.
2021-05-19 11:41:17 -05:00
Margo Crawford
94c370ac85
Annotations for impersonation load balancer
2021-05-18 16:54:59 -07:00
Ryan Richard
b5063e59ab
Merge branch 'initial_ldap_group_support' into ldap_starttls
2021-05-18 16:39:59 -07:00
Ryan Richard
a6f95cfff1
Configure openldap to disallow non-TLS clients
...
- For testing purposes, we would like to ensure that when we connect
to the LDAP server we cannot accidentally avoid using TLS or StartTLS.
- Also enabled the openldap `memberOf` overlay in case we want to
support group search using `memberOf` in the future.
- This required changes to the docker.io/bitnami/openldap container
image, so we're using our own fork for now. Will submit a PR to
bitnami/openldap to see if they will accept it (or something similar)
upstream.
2021-05-18 16:38:12 -07:00
Margo Crawford
eaea3471ec
Validation for service type none and external endpoint none
...
Also added a few more test cases for provisioning a load balancer
2021-05-18 13:50:52 -07:00
Matt Moyer
4a785e73e6
WIP fixing impersonatorconfig tests
2021-05-18 14:54:04 -05:00
Margo Crawford
51f1a0ec13
WIP: not using impersonator.config just credentialissuer directly
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-18 12:16:27 -07:00
Matt Moyer
9af3cb1115
Change impersonation integration test to use CredentialIssuer spec
...
rather than a configmap
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-05-18 09:51:11 -07:00
Matt Moyer
18ccf11905
Update impersonatorconfig controller to use CredentialIssuer API instead of ConfigMap.
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-18 09:50:35 -07:00
Matt Moyer
1a131e64fe
Start deploying an initial CredentialIssuer in our install YAML.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-18 11:12:18 -05:00
Matt Moyer
e885114221
Add generated code from adding spec fields to CredentialIssuer.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-18 11:12:18 -05:00
Matt Moyer
26da763962
Add spec fields to CredentialIssuer.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-18 11:12:18 -05:00
Matt Moyer
4a456446ff
Update doc comments for types_credentialissuer.go.tmpl.
...
Update to follow https://golang.org/doc/effective_go#commentary :
> The first sentence should be a one-sentence summary that starts with the name being declared.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-18 11:12:18 -05:00
Matt Moyer
efeb25b8eb
Merge pull request #619 from vmware-tanzu/dependabot/go_modules/github.com/creack/pty-1.1.12
...
Bump github.com/creack/pty from 1.1.11 to 1.1.12
2021-05-18 09:16:27 -05:00
dependabot[bot]
f595e81dbb
Bump github.com/creack/pty from 1.1.11 to 1.1.12
...
Bumps [github.com/creack/pty](https://github.com/creack/pty ) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/creack/pty/releases )
- [Commits](https://github.com/creack/pty/compare/v1.1.11...v1.1.12 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-05-18 05:56:45 +00:00
Mo Khan
0f5f72829b
Merge pull request #594 from enj/enj/i/tcr_strict_user_info
...
cred req: disallow lossy user info translations
2021-05-17 19:28:21 -04:00
Monis Khan
f40fd29c7c
local-user-authenticator: stop setting UID
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-05-17 19:03:45 -04:00
Monis Khan
35479e2978
cred req: disallow lossy user info translations
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-05-17 19:03:44 -04:00
Ryan Richard
742b70d6a4
Merge branch 'main' into initial_ldap_group_support
2021-05-17 14:24:56 -07:00
Ryan Richard
dab5ff3788
ldap_client_test.go: Forgot to change an assertion related to groups
2021-05-17 14:21:57 -07:00
Ryan Richard
99099fd32f
Yet more debugging of tests which only fail in main CI
2021-05-17 14:20:41 -07:00
Ryan Richard
65cab53a11
Merge branch 'main' into initial_ldap_group_support
2021-05-17 14:12:20 -07:00
Ryan Richard
8c660f09bc
More debugging of tests which only fail in main CI
2021-05-17 13:53:17 -07:00
Ryan Richard
ac431ddc6d
Add more to failure message in test which only fails in main CI
2021-05-17 12:57:34 -07:00
Ryan Richard
3e1e8880f7
Initial support for upstream LDAP group membership
...
Reflect the upstream group membership into the Supervisor's
downstream tokens, so they can be added to the user's
identity on the workload clusters.
LDAP group search is configurable on the
LDAPIdentityProvider resource.
2021-05-17 11:10:26 -07:00
Ryan Richard
14b8fcc472
Merge pull request #555 from vmware-tanzu/initial_ldap
...
Initial `LDAPIdentityProvider` support for the Supervisor and CLI
2021-05-17 10:40:50 -07:00
Ryan Richard
20b1c41bf5
Experiment to see if we can ignore read /dev/ptmx: input/output error
...
This error seems to always happen on linux, but never on MacOS.
2021-05-13 16:02:24 -07:00
Ryan Richard
f5bf8978a3
Cache ResourceVersion of the validated bind Secret in memory
...
...instead of caching it in the text of the Condition message
2021-05-13 15:22:36 -07:00
Ryan Richard
514ee5b883
Merge branch 'main' into initial_ldap
2021-05-13 14:24:10 -07:00
Margo Crawford
39d7f8b6eb
Merge pull request #614 from vmware-tanzu/gc-bug-tests
...
Tests for garbage collection behavior for access and refresh tokens
2021-05-13 13:08:07 -07:00
Ryan Richard
609883c49e
Update TestSupervisorOIDCDiscovery for versioned IDP discovery endpoint
2021-05-13 13:07:31 -07:00
Ryan Richard
f15fc66e06
pinniped get kubeconfig refactor to use oidc.NewProvider for discovery
...
- Note that this adds an extra check of the response, which is that
the issuer string in the response must match issuer of the requested
URL.
- Some of the error messages also changed to match the errors provided
by oidc.NewProvider
2021-05-13 12:27:42 -07:00
Margo Crawford
6479015caf
Remove timeout so this test doesnt take forever
2021-05-13 10:23:44 -07:00
Ryan Richard
67dca688d7
Add an API version to the Supervisor IDP discovery endpoint
...
Also rename one of the new functional opts in login.go to more
accurately reflect the intention of the opt.
2021-05-13 10:05:56 -07:00
Margo Crawford
b391d5ae02
Also check that the authcode storage is around for a while
2021-05-12 14:22:14 -07:00
Ryan Richard
29ca8acab4
oidc_upstream_watcher.go: two methods become private funcs
2021-05-12 14:05:08 -07:00
Ryan Richard
1ae3c6a1ad
Split package upstreamwatchers into four packages
2021-05-12 14:00:39 -07:00
Ryan Richard
22092e9aed
Missed a usage of int64Ptr in previous commit
2021-05-12 14:00:26 -07:00
Margo Crawford
874f938fc7
unit test for garbage collection time for refresh and access tokens
2021-05-12 13:55:54 -07:00
Ryan Richard
4804c837d4
Insignificant change in ldap_upstream_watcher_test.go
2021-05-12 13:37:01 -07:00
Ryan Richard
f0652c1ce1
Replace all usages of strPtr() with pointer.StringPtr()
2021-05-12 13:20:00 -07:00
Ryan Richard
044443f315
Rename X-Pinniped-Idp-* headers to Pinniped-*
...
See RFC6648 which asks that people stop using `X-` on header names.
Also Matt preferred not mentioning "IDP" in the header name.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-12 13:06:08 -07:00
Ryan Richard
9ca72fcd30
login.go: Respect overallTimeout for LDAP login-related http requests
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-12 12:57:10 -07:00
Ryan Richard
3008d1a85c
Log slow LDAP authentication attempts for debugging purposes
2021-05-12 11:59:48 -07:00
Ryan Richard
6c2a775c9b
Use proxy for pinniped get kubeconfig in hack/prepare-supervisor-on-kind.sh
...
Because the command now calls the discovery endpoint,
so it needs to go through the proxy to resolve the
hostname.
2021-05-12 11:34:16 -07:00
Ryan Richard
41d3e3b6ec
Fix lint error in e2e_test.go
2021-05-12 11:24:00 -07:00
Ryan Richard
20b86ac0a9
Merge pull request #589 from vmware-tanzu/ldap-get-kubeconfig
...
WIP: Support for Supervisor upstream LDAP IDPs in `pinniped get kubeconfig`
2021-05-12 10:10:49 -07:00
Margo Crawford
df0e715bb7
Add integration test that waits for access token expiry
2021-05-12 09:05:13 -07:00
Ryan Richard
6723ed9fd8
Add end-to-end integration test for CLI-based LDAP login
2021-05-11 13:55:46 -07:00
Ryan Richard
f98aa96ed3
Merge branch 'initial_ldap' into ldap-get-kubeconfig
2021-05-11 11:10:25 -07:00
Ryan Richard
675bbb2aba
Merge branch 'main' into initial_ldap
2021-05-11 11:09:37 -07:00
Ryan Richard
e25eb05450
Move Supervisor IDP discovery to its own new endpoint
2021-05-11 10:31:33 -07:00
Pinny
dbde150c38
Update CLI docs for v0.8.0 release
2021-05-10 22:01:16 +00:00
Ryan Richard
c0fcd27594
Fix typo in test/integration/e2e_test.go
...
Co-authored-by: Mo Khan <i@monis.app >
2021-05-10 12:51:56 -07:00
Mo Khan
1ddc85495f
Merge pull request #610 from enj/enj/t/eks_extra_nested_impersonation
...
impersonation proxy test: handle admin users with mixed case extra keys
2021-05-10 13:49:24 -04:00
Monis Khan
716659b74a
impersonation proxy test: handle admin users with mixed case extra keys
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-05-10 13:22:51 -04:00
Mo Khan
696c2b9133
Merge pull request #609 from enj/enj/t/eks_uid_nested_impersonation
...
impersonation proxy test: handle admin users with UID such as on EKS
2021-05-10 10:35:26 -04:00
Mo Khan
0770682bf9
impersonation proxy test: handle admin users with UID such as on EKS
...
Signed-off-by: Mo Khan <mok@vmware.com >
2021-05-10 09:21:45 -04:00
Mo Khan
88ff3164a2
Merge pull request #608 from enj/enj/i/discovery_keep_oidc_err
...
upstreamwatcher: do not truncate explicit oidc errors
2021-05-10 09:18:13 -04:00
Mo Khan
56d316e8d3
upstreamwatcher: do not truncate explicit oidc errors
...
This change makes it easier to understand misconfigurations caused
by issuers with extraneous trailing slashes.
Signed-off-by: Mo Khan <mok@vmware.com >
2021-05-10 01:45:19 -04:00
Matt Moyer
9fc7f43245
Merge pull request #607 from mattmoyer/fix-eks-nested-impersonation-tests
...
Fix TestImpersonationProxy on EKS.
2021-05-07 16:46:40 -05:00
Matt Moyer
47f5e822d0
Fix TestImpersonationProxy on EKS.
...
The admin kubeconfigs we have on EKS clusters are a bit different from others, because there is no certificate/key (EKS does not use certificate auth).
This code didn't quite work correctly in that case. The fix is to allow the case where `tlsConfig.GetClientCertificate` is non-nil, but returns a value with no certificates.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-07 16:22:08 -05:00
Mo Khan
cc99d9aeb4
Merge pull request #606 from enj/enj/i/log_discovery_err
...
upstreamwatcher: preserve oidc discovery error
2021-05-07 16:56:52 -04:00
Mo Khan
7ece196893
upstreamwatcher: preserve oidc discovery error
...
Signed-off-by: Mo Khan <mok@vmware.com >
2021-05-07 16:35:12 -04:00
Matt Moyer
a08a28d67b
Merge pull request #603 from vmware-tanzu/dependabot/docker/golang-1.16.4
...
Bump golang from 1.16.3 to 1.16.4
2021-05-07 06:58:13 -05:00
dependabot[bot]
2634c9f04a
Bump golang from 1.16.3 to 1.16.4
...
Bumps golang from 1.16.3 to 1.16.4.
Signed-off-by: dependabot[bot] <support@github.com >
2021-05-07 05:49:58 +00:00
Margo Crawford
29a1ca5168
Merge pull request #602 from vmware-tanzu/access-token-lifetime
...
Change access token storage lifetime to be the same as the refresh token's
2021-05-06 14:39:52 -07:00
Margo Crawford
5240f5e84a
Change access token storage lifetime to be the same as the refresh token's
...
to avoid garbage collection breaking the refresh flow
Also changed the access token lifetime to be 2 minutes instead of 15
since we now have cert caching.
2021-05-06 13:14:20 -07:00
Matt Moyer
a8bccc5432
Merge pull request #599 from mattmoyer/docs-tweak-configure-supervisor-with-gitlab
...
Do some minor copyediting on "configure-supervisor-with-gitlab.md".
2021-05-04 17:32:14 -05:00
Matt Moyer
f167a075dd
Clean up this language in configure-supervisor-with-gitlab.md a bit more.
...
This was duplicitive.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-04 15:49:45 -05:00
Matt Moyer
8136c787a7
More adjustments to configure-supervisor-with-gitlab.md.
...
- Use `nickname` claim as an example, which means we only need the `openid` scope.
This is also more stable since emails can change over time.
- Put the OIDCIdentityProvider and Secret into one YAML blob, since they will likely be copy-pasted together anyway.
- Add a separate section for using alternate claims.
- Add a separate section for using a private GitLab instance.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-04 15:49:45 -05:00
Matt Moyer
3e13b5f39d
Do some minor copyediting on "configure-supervisor-with-gitlab.md".
...
Some minor edits I came across while reviewing this:
- Capitalize "GitLab" the way they do.
- Use `{{< ref "xyz" >}}` references when linking internally. The advantage of these is that they're "type checked" by Hugo when the site is rendered, so we'll know if we ever break one.
- Add links to the GitLab docs about creating an OAuth client. These also cover adding a group-level or instance-wide application.
- Re-wrap the YAML lines to fit a bit more naturally.
- Add a `namespace` to the YAML examples, so they're more likely to work without tweaks.
- Use "gitlab" instead of "my-oidc-identity-provider" as the example name, for clarity.
- Re-word a few small bits. These are 100% subjective but hopefully an improvement?
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-04 15:49:45 -05:00
Margo Crawford
1a2940c278
Merge pull request #560 from vmware-tanzu/client-debug-logging
...
Client debug logging
2021-05-04 13:46:47 -07:00
Mo Khan
4bb0fdeddd
Merge pull request #598 from enj/enj/i/gc_tz
...
supervisor gc: use singleton queue
2021-05-04 15:08:06 -04:00
Monis Khan
4ce77c4837
supervisor gc: use singleton queue
...
The supervisor treats all events the same hence it must use a
singleton queue.
Updated the integration test to remove the data race caused by
calling methods on testing.T outside of the main test go routine.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-05-04 14:44:55 -04:00
Matt Moyer
1586171876
Merge pull request #595 from mattmoyer/fix-psp-related-regression
...
Fix PSP-related regression since kube-cert-agent change in #569 .
2021-05-04 11:04:16 -05:00
Matt Moyer
165bef7809
Split out kube-cert-agent service account and bindings.
...
Followup on the previous comment to split apart the ServiceAccount of the kube-cert-agent and the main concierge pod. This is a bit cleaner and ensures that in testing our main Concierge pod never requires any privileged permissions.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-04 10:09:33 -05:00
Matt Moyer
b80cbb8cc5
Run kube-cert-agent pod as Concierge ServiceAccount.
...
Since 0dfb3e95c5 , we no longer directly create the kube-cert-agent Pod, so our "use"
permission on PodSecurityPolicies no longer has the intended effect. Since the deployments controller is now the
one creating pods for us, we need to get the permission on the PodSpec of the target pod instead, which we do somewhat
simply by using the same service account as the main Concierge pods.
We still set `automountServiceAccountToken: false`, so this should not actually give any useful permissions to the
agent pod when running.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-05-03 16:20:13 -05:00
Ryan Richard
71e38d232e
login.go discards logs by default
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-05-03 09:13:18 -07:00
Margo Crawford
778c194cc4
Autodetection with multiple idps in discovery document
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-04-30 17:14:28 -07:00
Margo Crawford
a8754b5658
Refactor: extract helper func from runGetKubeconfig()
...
- Reduces the cyclomatic complexity of the function
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-04-30 15:00:54 -07:00
Ryan Richard
1c66ffd5ff
WIP: add supervisor upstream flags to pinniped get kubeconfig
...
- And perform auto-discovery when the flags are not set
- Several TODOs remain which will be addressed in the next commit
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-04-30 14:28:03 -07:00
Margo Crawford
ab94b97f4a
Change login.go to use logr.logger
2021-04-30 12:10:04 -07:00
Margo Crawford
d6a172214d
Merge pull request #587 from vmware-tanzu/supervisor-gitlab-docs
...
Added documentation for how to configure the Supervisor with GitLab
2021-04-30 11:01:22 -07:00
Mo Khan
638fa7ba27
Merge pull request #592 from enj/enj/t/valueless_ctx_2
...
valuelesscontext: make unit tests more clear
2021-04-30 11:07:32 -04:00
Monis Khan
b5ffab6330
valuelesscontext: make unit tests more clear
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-04-30 10:43:29 -04:00
Mo Khan
8556a638a2
Merge pull request #591 from enj/enj/t/valueless_ctx
...
valuelesscontext: add some unit tests
2021-04-30 10:10:48 -04:00
Monis Khan
44c7f8daf0
valuelesscontext: add some unit tests
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-04-30 09:45:34 -04:00
Mo Khan
1efa4da80c
Merge pull request #590 from enj/enj/f/sa_authn_impersonation_proxy
...
impersonator: add support for service account token authentication
2021-04-29 17:53:27 -04:00
Monis Khan
62785674c3
impersonator: add support for service account token authentication
...
This change updates the impersonator logic to pass through requests
that authenticated via a bearer token that asserts a UID. This
allows us to support service account tokens (as well as any other
form of token based authentication).
Signed-off-by: Monis Khan <mok@vmware.com >
2021-04-29 17:30:35 -04:00
Mo Khan
9e4f601a3f
Merge pull request #588 from enj/enj/i/webhookcachefiller_ca
...
webhookcachefiller: be stricter about CA bundle validation
2021-04-29 07:47:06 -04:00
Monis Khan
bb7e7fe81e
webhookcachefiller: be stricter about CA bundle validation
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-04-29 05:49:06 -04:00
Ryan Richard
10c4cb4493
Merge branch 'initial_ldap' into ldap-get-kubeconfig
2021-04-28 14:28:32 -07:00
Ryan Richard
36819989a3
Remove DryRunAuthenticationUsername from LDAPIdentityProviderSpec
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-04-28 14:26:57 -07:00
Margo Crawford
bed2d2dd62
Incorporated PR feedback
2021-04-28 13:34:36 -07:00
Ryan Richard
4bd83add35
Add Supervisor upstream IDP discovery on the server-side
2021-04-28 13:14:21 -07:00
Margo Crawford
90b2854032
Avoid using global logger in login.go
2021-04-28 09:34:42 -07:00
Ryan Richard
5c62a9d0bd
More adjustments based on PR feedback
2021-04-27 16:54:26 -07:00
Margo Crawford
96fda6ed13
Added documentation for how to configure the Supervisor with GitLab
2021-04-27 16:18:30 -07:00
Ryan Richard
263a33cc85
Some updates based on PR review
2021-04-27 12:43:09 -07:00
Ryan Richard
b3b108500a
Merge branch 'main' into initial_ldap
2021-04-27 10:12:43 -07:00
Ryan Richard
67a568811a
Make prepare-for-integration-tests.sh work on linux too
...
- The linux base64 command is different, so avoid using it at all.
On linux the default is to split the output into multiple lines,
which messes up the integration-test-env file. The flag used to
disable this behavior on linux ("-w0") does not exist on MacOS's
base64.
- On debian linux, the latest version of Docker from apt-get still
requires DOCKER_BUILDKIT=1 or else it barfs.
2021-04-27 10:10:02 -07:00
Matt Moyer
620a4d55b7
Merge pull request #584 from mattmoyer/fix-broken-readme-link
...
Fix a broken docs link in our README.
2021-04-26 13:23:35 -07:00
Matt Moyer
a52872cd03
Fix a broken docs link in our README.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-26 13:48:17 -06:00
Matt Moyer
0dfb3e95c5
Merge pull request #569 from mattmoyer/use-deployment-for-kube-cert-agent
...
Refactor kube-cert-agent controllers to use a Deployment.
2021-04-26 09:25:37 -07:00
Matt Moyer
e532a88647
Add a new "legacy pod cleaner" controller.
...
This controller is responsible for cleaning up kube-cert-agent pods that were deployed by previous versions.
They are easily identified because they use a different `kube-cert-agent.pinniped.dev` label compared to the new agent pods (`true` vs. `v2`).
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-26 08:19:45 -06:00
Matt Moyer
54a8297cc4
Add generated mocks for kubecertagent.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-26 08:19:45 -06:00
Matt Moyer
2843c4f8cb
Refactor kube-cert-agent controllers to use a Deployment.
...
This is a relatively large rewrite of much of the kube-cert-agent controllers. Instead of managing raw Pod objects, they now create a single Deployment and let the builtin k8s controller handle it from there.
This reduces the amount of code we need and should handle a number of edge cases better, especially those where a Pod becomes "wedged" and needs to be recreated.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-26 08:19:45 -06:00
Ryan Richard
9b818dbf10
Remove another 10s sleep related to JWTAuthenticator initialization
2021-04-22 16:59:42 -07:00
Ryan Richard
6a350aa4e1
Fix some LDAP CA bundle handling
...
- Make PINNIPED_TEST_LDAP_LDAPS_CA_BUNDLE optional for integration tests
- When there is no CA bundle provided, be careful to use nil instead of
an empty bundle, because nil means to use the OS defaults
2021-04-22 16:58:48 -07:00
Matt Moyer
cc51c72c12
Merge pull request #576 from ankeesler/prepare-webhook-script
...
hack: add prepare-webhook-on-kind.sh
2021-04-22 14:07:38 -07:00
Matt Moyer
0ab9927115
Merge branch 'main' into prepare-webhook-script
2021-04-22 13:05:55 -07:00
Matt Moyer
204c8e8dbc
Merge pull request #578 from mattmoyer/remove-unneeded-test-sleep
...
Remove unneeded sleeps in TestE2EFullIntegration and jwtcachefiller tests.
2021-04-22 12:59:40 -07:00
Matt Moyer
638d9235a2
Remove unneeded OIDC-related sleeps in tests.
...
Now that we have the fix from https://github.com/kubernetes/kubernetes/pull/97693 , we no longer need these sleeps.
The underlying authenticator initialization is still asynchronous, but should happen within a few milliseconds.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-22 10:25:44 -05:00
Andrew Keesler
81a4c84f46
Merge pull request #579 from ankeesler/log-level
...
internal/kubeclient: match plog level with klog level
2021-04-21 17:37:41 -04:00
Andrew Keesler
9f509d3f13
internal/kubeclient: match plog level with klog level
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-04-21 16:25:08 -04:00
Margo Crawford
5f3eab2538
Fix expected number of log lines in TestCLILoginOIDC
2021-04-21 13:05:32 -07:00
Margo Crawford
c45d48d027
Change test log expectations
2021-04-21 10:58:48 -07:00
Margo Crawford
09560fd8dc
Log lines about using cached credential
2021-04-21 09:02:45 -07:00
Margo Crawford
264778113d
lookupEnv in oidclogin same as for static
2021-04-21 09:02:45 -07:00
Margo Crawford
b5889f37ff
WIP on new plog
2021-04-21 09:02:45 -07:00
Margo Crawford
45e4695444
Unset pinniped debug environment variable at end of integration test
...
Also log when setting the debug log level fails
2021-04-21 09:02:45 -07:00
Margo Crawford
6a21499ed3
Add check for number of log lines.
2021-04-21 09:02:45 -07:00
Margo Crawford
211d4fd0b6
Add more logging, integration test checks that debug flag works.
2021-04-21 09:02:45 -07:00
Margo Crawford
8ffd9fdc4e
Started debug logging.
2021-04-21 09:02:45 -07:00
Ryan Richard
ddc632b99c
Show the error_description when it is included in authorization response
2021-04-19 18:08:52 -07:00
Ryan Richard
c176d15aa7
Add Supervisor upstream LDAP login to the Pinniped CLI
...
- Also enhance prepare-supervisor-on-kind.sh to allow setup of
a working LDAP upstream IDP.
2021-04-19 17:59:46 -07:00
Mo Khan
d76ac56df2
Merge pull request #573 from enj/enj/f/nested_impersonation
...
impersonation proxy: add nested impersonation support
2021-04-19 17:46:10 -04:00
Andrew Keesler
d86b24ca2f
hack: add prepare-webhook-on-kind.sh
...
Inspired from 7bb5657c4d . I used this to help accept 2 stories today.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-04-19 16:10:20 -04:00
Monis Khan
73716f1b91
Ignore client-side throttling in kubectl stderr
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-04-19 15:52:47 -04:00
Monis Khan
521adffb17
impersonation proxy: add nested impersonation support
...
This change updates the impersonator logic to use the delegated
authorizer for all non-rest verbs such as impersonate. This allows
it to correctly perform authorization checks for incoming requests
that set impersonation headers while not performing unnecessary
checks that are already handled by KAS.
The audit layer is enabled to track the original user who made the
request. This information is then included in a reserved extra
field original-user-info.impersonation-proxy.concierge.pinniped.dev
as a JSON blob.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-04-19 15:52:46 -04:00
Ryan Richard
c79930f419
Merge branch 'main' into initial_ldap
2021-04-16 18:33:02 -07:00
Ryan Richard
70d607d87e
prepare-supervisor-on-kind.sh was accidentally double base64 encoding
...
$PINNIPED_TEST_SUPERVISOR_UPSTREAM_OIDC_ISSUER_CA_BUNDLE was recently
changed to be a base64 encoded value, so this script does not need to
base64 encode the value itself anymore.
2021-04-16 18:32:30 -07:00
Ryan Richard
4c2a0b4872
Add new command-line flags to the login oidc command
...
- Also some light prefactoring in login.go to make room for LDAP-style
login, which is not implemented yet in this commit. TODOs are added.
- And fix a test pollution problem in login_oidc_test.go where it was
using a real on-disk CLI cache file, so the tests were polluted by
the contents of that file and would sometimes cause each other to
fail.
2021-04-16 18:30:31 -07:00
Ryan Richard
e9d5743845
Add authentication dry run validation to LDAPIdentityProvider
...
Also force the LDAP server pod to restart whenever the LDIF file
changes, so whenever you redeploy the tools deployment with a new test
user password the server will be updated.
2021-04-16 14:04:05 -07:00
Ryan Richard
83085aa3d6
Retest the server connection when the bind Secret has changed
...
Unfortunately, Secrets do not seem to have a Generation field, so we
use the ResourceVersion field instead. This means that any change to
the Secret will cause us to retry the connection to the LDAP server,
even if the username and password fields in the Secret were not
changed. Seems like an okay trade-off for this early draft of the
controller compared to a more complex implementation.
2021-04-15 17:45:15 -07:00
Ryan Richard
8e438e22e9
Only test the server connection when the spec has changed
...
This early version of the controller is not intended to act as an
ongoing health check for your upstream LDAP server. It will connect
to the LDAP server to essentially "lint" your configuration once.
It will do it again only when you change your configuration. To account
for transient errors, it will keep trying to connect to the server
until it succeeds once.
This commit does not include looking for changes in the associated bind
user username/password Secret.
2021-04-15 16:46:27 -07:00
Ryan Richard
b9ce84fd68
Test the LDAP config by connecting to the server in the controller
2021-04-15 14:44:43 -07:00
Matt Moyer
9dfa1f5ee5
Update ROADMAP.md
...
Update ROADMAP.md with Pablo.
2021-04-15 13:43:01 -05:00
Ryan Richard
da7216c1ef
Merge branch 'main' into initial_ldap
2021-04-15 10:27:59 -07:00
Ryan Richard
f63ded99bc
Add a flag for skipping chromedriver version check to hack script
2021-04-15 10:27:00 -07:00
Ryan Richard
e6e6497022
Introduce upstreamldap.New to prevent changes to the underlying config
...
Makes it easier to support using the same upstreamldap.Provider from
multiple goroutines safely.
2021-04-15 10:25:35 -07:00
Ryan Richard
5c28d36c9b
Redact some params of URLs in logs to avoid printing sensitive info
2021-04-15 07:59:38 -07:00
Andrew Keesler
e7b7b597ff
Merge pull request #570 from vmware-tanzu/add-ok-amba-to-adopters
...
Add OK a.m.b.a. to adopters.md file
2021-04-15 09:22:16 -04:00
Andrew Keesler
e5da119000
Merge branch 'main' into add-ok-amba-to-adopters
2021-04-15 08:56:02 -04:00
Ryan Richard
12a3636351
base64 once instead of thrice
2021-04-14 20:39:01 -07:00
Ryan Richard
939b6b12cc
ldap_client_test.go: refactor to use the LDAP server on the K8s cluster
2021-04-14 17:49:40 -07:00
Ryan Richard
8d75825635
Merge branch 'main' into initial_ldap
2021-04-14 17:47:26 -07:00
Ryan Richard
923938ab26
Avoid multi-line integration test env vars
...
Avoid them because they can't be used in GoLand for running integration
tests in the UI, like running in the debugger.
Also adds optional PINNIPED_TEST_TOOLS_NAMESPACE because we need it
on the LDAP feature branch where we are developing the upcoming LDAP
support for the Supervisor.
2021-04-14 17:26:12 -07:00
Nanci Lancaster
352d4dc5b1
Add OK a.m.b.a. to adopters.md file
...
Adding just logo for now. Use case will come at a later time.
2021-04-14 18:38:11 -05:00
Ryan Richard
e0fe184c89
Relax cpu limit on ldap server a little to make it start faster
...
- Allowing it to use more CPU during startup decreases startup time
from about 25 seconds (on my laptop) down to about 1 second.
2021-04-14 08:35:04 -07:00
Ryan Richard
a6e1a949d2
ldap_client_test.go: mark as integration test so units skip it
2021-04-14 08:12:15 -07:00
Ryan Richard
47b66ceaa7
Passing integration test for LDAP login! 🚀
2021-04-13 18:11:16 -07:00
Ryan Richard
6bba529b10
RBAC rules for ldapidentityproviders to grant permissions to controller
2021-04-13 17:26:53 -07:00
Ryan Richard
14ff5ee4ff
ldap_upstream_watcher.go: decode and validate CertificateAuthorityData
2021-04-13 17:16:57 -07:00
Ryan Richard
51263a0f07
Return unauthenticated instead of error for bad username or password
...
- Bad usernames and passwords aren't really errors, since they are
based on end-user input.
- Other kinds of authentication failures are caused by bad configuration
so still treat those as errors.
- Empty usernames and passwords are already prevented by our endpoint
handler, but just to be safe make sure they cause errors inside the
authenticator too.
2021-04-13 16:22:13 -07:00
Ryan Richard
fec3d92f26
Add integration test for upstreamldap.Provider
...
- The unit tests for upstreamldap.Provider need to mock the LDAP server,
so add an integration test which allows us to get fast feedback for
this code against a real LDAP server.
- Automatically wrap the user search filter in parenthesis if it is not
already wrapped in parens.
- More special handling for using "dn" as the username or UID attribute
name.
- Also added some more comments to types_ldapidentityprovider.go.tmpl
2021-04-13 15:23:14 -07:00
Ryan Richard
7b8c86b38e
Handle error cases during LDAP user search and bind
2021-04-13 08:38:04 -07:00
Ryan Richard
f0c4305e53
Started implementation of LDAP user search and bind
2021-04-12 17:50:25 -07:00
Ryan Richard
e24d5891dd
ldap_upstream_watcher_test.go: add another unit test
2021-04-12 14:12:51 -07:00
Ryan Richard
25c1f0d523
Add Conditions to LDAPIdentityProvider's Status and start to fill them
...
- The ldap_upstream_watcher.go controller validates the bind secret and
uses the Conditions to report errors. Shares some condition reporting
logic with its sibling controller oidc_upstream_watcher.go, to the
extent which is convenient without generics in golang.
2021-04-12 13:53:21 -07:00
Ryan Richard
05571abb74
Add a little more logic to ldap_upstream_watcher.go
2021-04-12 11:23:08 -07:00
Ryan Richard
05daa9eff5
More LDAP WIP: started controller and LDAP server connection code
...
Both are unfinished works in progress.
2021-04-09 18:49:43 -07:00
Matt Moyer
dab7b57da0
Merge pull request #556 from microwavables/add-search-function-to-docs
...
added search functionality to docs on Pinniped.dev
2021-04-09 12:42:27 -07:00
Matt Moyer
12d35583c5
Merge pull request #566 from mattmoyer/upgrade-kubernetes-1.21
...
Upgrade to client-go and apimachinery from Kubernetes 1.21.0.
2021-04-09 11:27:09 -07:00
Matt Moyer
599c537d24
Remove metav1.ExportOptions from scheme tests.
...
This type was removed in Kubernetes v1.21.0 (see https://github.com/kubernetes/kubernetes/pull/98312 ).
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-09 13:00:50 -05:00
Matt Moyer
38f3ea3f2f
Upgrade to client-go and apimachinery from Kubernetes 1.21.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-09 13:00:49 -05:00
Matt Moyer
e450a348c5
Merge pull request #565 from mattmoyer/cleanup-test-file
...
Remove proxy-kubeconfig.yaml.
2021-04-09 09:59:56 -07:00
Matt Moyer
11d820be06
Remove proxy-kubeconfig.yaml.
...
I don't believe this is used by any tests or docs. I think it was for some initial local testing of the impersonation proxy?
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-09 11:33:50 -05:00
Matt Moyer
63816aa3ba
Disable Content-Security-Policy for now.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-09 10:58:39 -05:00
Nanci Lancaster
e5314164c5
added search functionality to docs on Pinniped.dev
...
Signed-off-by: Nanci Lancaster <nancil@vmware.com >
2021-04-09 10:58:39 -05:00
Ryan Richard
7781a2e17a
Some renames in pkg upstreamwatcher to make room for a second controller
2021-04-09 08:43:19 -07:00
Andrew Keesler
4ab704b7de
ldap: add initial stub upstream LDAP connection package
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-04-09 11:38:53 -04:00
Ryan Richard
f6ded84f07
Implement upstream LDAP support in auth_handler.go
...
- When the upstream IDP is an LDAP IDP and the user's LDAP username and
password are received as new custom headers, then authenticate the
user and, if authentication was successful, return a redirect with
an authcode. Handle errors according to the OAuth/OIDC specs.
- Still does not support having multiple upstream IDPs defined at the
same time, which was an existing limitation of this endpoint.
- Does not yet include the actual LDAP authentication, which is
hidden behind an interface from the point of view of auth_handler.go
- Move the oidctestutil package to the testutil directory.
- Add an interface for Fosite storage to avoid a cyclical test
dependency.
- Add GetURL() to the UpstreamLDAPIdentityProviderI interface.
- Extract test helpers to be shared between callback_handler_test.go
and auth_handler_test.go because the authcode and fosite storage
assertions should be identical.
- Backfill Content-Type assertions in callback_handler_test.go.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-04-08 17:28:01 -07:00
Matt Moyer
abf606ab72
Merge pull request #563 from mattmoyer/cli-caching-enhancements
...
CLI cluster-specific credentials enhancements (followup to #562 )
2021-04-08 16:48:48 -07:00
Matt Moyer
b59a4f3fec
Use a temporary directory for credential cache in CLI tests.
...
This avoids polluting the main cache directory on developer machines.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-08 18:14:21 -05:00
Matt Moyer
3b461572ea
Add cluster info to cache key for cluster-specific credential cache.
...
This isn't strictly necessary because we currently always have the concierge endpoint and CA as CLI flags, but it doesn't hurt and it's better to err on the side of _not_ reusing a cache entry.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-08 17:12:59 -05:00
Matt Moyer
271c006b6c
Add --credential-cache flag to "pinniped get kubeconfig" and tweak usage messages.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-08 16:57:18 -05:00
Matt Moyer
043cefcd9f
Merge pull request #562 from mattmoyer/add-cluster-credential-caching
...
Add cluster-specific credential caching to login subcommands.
2021-04-08 12:59:23 -07:00
Matt Moyer
2296faaeef
Add CLI caching of cluster-specific credentials.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-08 14:12:34 -05:00
Matt Moyer
fec24d307e
Fix missing normalization in pkg/oidcclient/filesession.
...
We have some nice normalization code in this package to remove expired or otherwise malformed cache entries, but we weren't calling it in the appropriate place.
Added calls to normalize the cache data structure before and after each transaction, and added test cases to ensure that it's being called.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-08 14:12:34 -05:00
Margo Crawford
64b13043ed
Merge pull request #561 from vmware-tanzu/Adding-OK-amba-to-adopters-file
...
Added Ok amba logo for adopters file
2021-04-08 11:51:40 -07:00
Nanci Lancaster
5501b5aa13
Added Ok amba logo for adopters file
2021-04-08 11:48:06 -05:00
Ryan Richard
064e3144a2
auth_handler.go: pre-factor to make room for upstream LDAP IDPs
2021-04-07 17:05:25 -07:00
Ryan Richard
1f5978aa1a
Supervisor pre-factor to make room for upstream LDAP identity providers
2021-04-07 16:12:13 -07:00
Ryan Richard
1c55c857f4
Start to fill out LDAPIdentityProvider's fields and TestSupervisorLogin
...
- Add some fields to LDAPIdentityProvider that we will need to be able
to search for users during login
- Enhance TestSupervisorLogin to test logging in using an upstream LDAP
identity provider. Part of this new test is skipped for now because
we haven't written the corresponding production code to make it
pass yet.
- Some refactoring and enhancement to env.go and the corresponding env
vars to support the new upstream LDAP provider integration tests.
- Use docker.io/bitnami/openldap for our test LDAP server instead of our
own fork now that they have fixed the bug that we reported.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-04-07 12:56:09 -07:00
Ryan Richard
2b6859b161
Add stub LDAP API type and integration test
...
The goal here was to start on an integration test to get us closer to the red
test that we want so we can start working on LDAP.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-04-06 13:10:01 -04:00
Ryan Richard
9968d501f4
Merge branch 'main' into initial_ldap
2021-04-05 15:15:05 -07:00
Ryan Richard
9450048acf
Fix lint error from previous commit
2021-04-05 15:14:24 -07:00
Ryan Richard
702f9965ab
Deploy an OpenLDAP server for integration tests
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-04-05 15:05:53 -07:00
Andrew Keesler
c53507809d
Rename dex namespace, add new ytt value to deploy/tools, and remove Tilt
...
- Rename the test/deploy/dex directory to test/deploy/tools
- Rename the dex namespace to tools
- Add a new ytt value called `pinny_ldap_password` for the tools
ytt templates
- This new value is not used on main at this time. We intend to use
it in the forthcoming ldap branch. We're defining it on main so
that the CI scripts can use it across all branches and PRs.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-04-05 15:01:49 -07:00
Matt Moyer
9cd2b6e855
Merge pull request #552 from mattmoyer/nicer-generated-kubeconfig-names
...
Generate more helpful context/cluster/user names in `pinniped get kubeconfig`
2021-04-05 11:35:07 -07:00
Matt Moyer
4e25bcd4b2
Generate more helpful context/cluster/user names in pinniped get kubeconfig
...
Before this change, the "context", "cluster", and "user" fields in generated kubeconfig YAML were always hardcoded to "pinniped". This could be confusing if you generated many kubeconfigs for different clusters.
After this change, the fields will be copied from their names in the original kubeconfig, suffixed with "-pinniped". This suffix can be overridden by setting the new `--generated-name-suffix` CLI flag.
The goal of this change is that you can distinguish between kubeconfigs generated for different clusters, as well as being able to distinguish between the Pinniped and original (admin) kubeconfigs for a cluster.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-05 12:36:02 -05:00
Matt Moyer
5add31d263
Merge pull request #545 from vmware-tanzu/dependabot/docker/golang-1.16.3
...
Bump golang from 1.16.2 to 1.16.3
2021-04-05 08:58:23 -07:00
Matt Moyer
88c4335b4b
Display blog posts in reverse order by date.
...
This is a minor style tweak.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-05 10:54:00 -05:00
Matt Moyer
623830bf1f
Fix a typo on the timezones on the website.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-05 10:50:10 -05:00
dependabot[bot]
30f476e1ac
Bump golang from 1.16.2 to 1.16.3
...
Bumps golang from 1.16.2 to 1.16.3.
Signed-off-by: dependabot[bot] <support@github.com >
2021-04-02 05:56:43 +00:00
Pinny
7b82b7a010
Update CLI docs for v0.7.0 release
2021-04-01 19:15:23 +00:00
Matt Moyer
44bf925c3e
Merge pull request #544 from mattmoyer/blog-post-v0.7.0
...
Add a blog post about the v0.7.0 release.
2021-04-01 11:03:09 -07:00
Matt Moyer
d2a6d7689f
Add a small note about our test grid, and mention some limitations of the first version.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-01 13:02:24 -05:00
Matt Moyer
23dbd7cab6
Extract out a common shortcode for the "join the community" blurb we put at the end of each blog post.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-01 11:55:17 -05:00
Matt Moyer
e4321cb369
Add v0.7.0 blog post.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-04-01 11:55:17 -05:00
Matt Moyer
ad66f67dc9
Rename existing posts for clarity.
...
This doesn't change the generated HTML at all, as far as I can tell.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-31 23:20:48 -05:00
Matt Moyer
55bc3dee7f
Merge pull request #543 from mattmoyer/fix-head-version-string-validation
...
Fix missing "v".
2021-03-31 14:54:26 -07:00
Ryan Richard
fdbeb213fb
Merge pull request #540 from vmware-tanzu/prepare-supervisor-on-kind.sh
...
Add hack/prepare-supervisor-on-kind.sh
2021-03-31 13:47:32 -07:00
Ryan Richard
1817d6c751
Merge branch 'main' into prepare-supervisor-on-kind.sh
2021-03-31 13:47:13 -07:00
Matt Moyer
476cc98e5a
Fix missing "v".
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-31 15:41:44 -05:00
Matt Moyer
4cbf4959f2
Merge pull request #542 from mattmoyer/fix-head-version-string-validation
...
Use "0.0.0" as our fake version instead of "?.?.?" to avoid a panic.
2021-03-31 13:36:22 -07:00
Matt Moyer
e4e4e686f6
Use "0.0.0" as our fake version instead of "?.?.?" to avoid a panic.
...
These values need to pass the validation in k8s.io/component-base/metrics: https://github.com/kubernetes/component-base/blob/v0.20.5/metrics/version_parser.go#L28-L50
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-31 15:03:40 -05:00
Ryan Richard
d5be37673a
Merge branch 'main' into prepare-supervisor-on-kind.sh
2021-03-31 11:42:06 -07:00
Ryan Richard
7bb5657c4d
Add hack/prepare-supervisor-on-kind.sh
...
A demo of running the Supervisor and Concierge on
a kind cluster. Can be used to quickly set up an
environment for manual testing.
Also added some missing copyright headers to other
hack scripts.
2021-03-31 11:39:10 -07:00
Matt Moyer
fe9f12a29c
Merge pull request #539 from mattmoyer/upgrade-kubernetes-deps
...
Upgrade to prereleased Kubernetes v1.20.5++ dependencies.
2021-03-31 11:21:54 -07:00
Matt Moyer
bea75bb7ac
Upgrade to prereleased Kubernetes v1.20.5++ dependencies.
...
These commits include security fixes (CVE-2021-3121) for code generated by github.com/gogo/protobuf.
We expect this fix to also land in v1.20.6, but we don't want to wait for it.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-31 12:53:41 -05:00
Matt Moyer
081de8da62
Merge pull request #538 from vmware-tanzu/dependabot/docker/debian-10.9-slim
...
Bump debian from 10.8-slim to 10.9-slim
2021-03-31 06:00:27 -07:00
dependabot[bot]
469f864de3
Bump debian from 10.8-slim to 10.9-slim
...
Bumps debian from 10.8-slim to 10.9-slim.
Signed-off-by: dependabot[bot] <support@github.com >
2021-03-31 05:41:15 +00:00
Margo Crawford
dc510792c4
Merge pull request #536 from vmware-tanzu/secret-deletion-not-found-flake
...
Do not error when trying to delete the TLS secret and you get a not found
2021-03-30 15:46:32 -07:00
Margo Crawford
8b6fe0ac70
Fix lint error
2021-03-30 14:53:26 -07:00
Margo Crawford
d47603472d
Do not error when trying to delete the TLS secret and you get a not found
2021-03-30 14:44:06 -07:00
Matt Moyer
d4baeff94e
Merge pull request #534 from mattmoyer/deflake-categories-test-rate-limiting
...
Deflake TestGetPinnipedCategory.
2021-03-30 13:46:55 -07:00
Matt Moyer
210114dbe1
Merge pull request #535 from mattmoyer/deflake-impersonation-proxy-test-dns
...
Deflake TestImpersonationProxy (especially on EKS).
2021-03-30 12:31:44 -07:00
Matt Moyer
4ebd0f5f12
Deflake TestImpersonationProxy (especially on EKS).
...
This test could flake if the load balancer hostname was provisioned but is not yet resolving in DNS from the test process.
The fix is to retry this step for up to 5 minutes.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-30 13:48:53 -05:00
Matt Moyer
f02b39b80f
Deflake TestGetPinnipedCategory.
...
This test could fail when the cluster was under heavy load. This could cause kubectl to emit "Throttling request took [...]" logs that triggered a failure in the test.
The fix is to ignore these innocuous warnings.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-30 13:38:33 -05:00
Margo Crawford
608be8332e
Merge pull request #533 from vmware-tanzu/eks-load-balancer-annotation
...
Add annotation to make the idle timeout be over 1 hour rather than 1 minute
2021-03-30 11:12:54 -07:00
Margo Crawford
3742719427
Add annotation to make the idle timeout be over 1 hour rather than 1 minute
...
- Note that 4000 seconds is the maximum value that AWS allows.
2021-03-30 09:12:34 -07:00
Andrew Keesler
f00a02dcca
Merge pull request #529 from microwavables/main
...
updated adopters.md instructions and included logos from VMware Tanzu…
2021-03-29 16:16:02 -04:00
Nanci Lancaster
017c891fb8
Merge branch 'main' into main
2021-03-29 12:29:25 -05:00
Margo Crawford
d8baa43903
Add new non-idle timeout integration test for impersonation proxy
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-03-29 09:30:51 -07:00
Nanci Lancaster
5c741bc423
Merge pull request #1 from microwavables/Adding-in-TKG-and-TMC-to-Adopters
...
Updated adopters.md file to include TMC and TKG
2021-03-29 09:49:54 -05:00
Nanci Lancaster
e99e175ce2
Updated adopters.md file to include TMC and TKG
...
Based on Andrew Keesler's feedback, I added in TMC and TKG adopter components to the file.
2021-03-29 09:48:34 -05:00
Matt Moyer
003e3e3c4d
Merge pull request #532 from vmware-tanzu/group-link
...
Update Google Group Link
2021-03-29 07:36:54 -07:00
Matt Moyer
391202c253
Merge pull request #517 from mattmoyer/deflake-supervisor-oidc-discovery-test
...
Tweak some assertions in TestSupervisorOIDCDiscovery.
2021-03-29 07:35:58 -07:00
Ryan Richard
95bb4c4be5
Fix concierge_impersonation_proxy_test.go on AKS
...
Also send the correct instance of `t` into a helper function which
makes assertions.
2021-03-26 19:32:46 -07:00
Mo Khan
32422f18f1
Update Google Group Link
...
Remove the user account prefix.
2021-03-26 22:11:16 -04:00
Mo Khan
d52f500b83
Merge pull request #531 from mattmoyer/remove-test-dumplogs-helper
...
Remove library.DumpLogs test helper.
2021-03-26 18:58:07 -04:00
Matt Moyer
defad3cdd7
Remove library.DumpLogs test helper.
...
We had this code that printed out pod logs when certain tests failed, but it is a bit cumbersome. We're removing it because we added a CI task that exports all pod logs after every CI run, which accomplishes the same thing and provides us a bunch more data.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-26 16:43:02 -05:00
Matt Moyer
c6d7724b67
In TestImpersonationProxy, instead of failing in this case just skip the test.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-26 16:28:33 -05:00
Ryan Richard
3359311228
concierge_impersonation_proxy_test.go: fix typo in previous commit
2021-03-26 09:49:49 -07:00
Ryan Richard
7e16619146
concierge_impersonation_proxy_test.go: handle TKGS test clusters
...
Handle any test cluster which supports load balancers but should
not automatically start the impersonator, e.g. TKGS clusters.
2021-03-26 09:28:42 -07:00
Ryan Richard
a084544f08
Add hasExternalLoadBalancerProvider to AKS/EKS capabilities files
2021-03-26 08:03:51 -07:00
Mo Khan
c2588cf035
Merge pull request #528 from enj/enj/i/impersonation-proxy-authz-user-extra
...
impersonation proxy: add RBAC to impersonate user extra and SAs
2021-03-26 00:37:24 -04:00
Monis Khan
2179c2879a
impersonation proxy: add RBAC to impersonate user extra and SAs
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-25 22:21:57 -04:00
Margo Crawford
b6e217e13a
Hardcode type "webhook" in concierge_impersonation_proxy_test.go
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-03-25 17:19:47 -07:00
Margo Crawford
6f2882b831
Explicitly set the correct authenticator for impersonator test
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-03-25 16:57:37 -07:00
Margo Crawford
cd6e48bfa8
Use a random password for the dex integration test user
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-03-25 15:12:17 -07:00
Nanci Lancaster
818535f30d
updated adopters.md instructions and included logos from VMware Tanzu and Kubeapps
...
Signed-off-by: Nanci Lancaster <nancil@vmware.com >
2021-03-25 16:17:41 -05:00
Margo Crawford
c0361645e2
Merge pull request #355 from vmware-tanzu/impersonation-proxy
...
Impersonation proxy
2021-03-25 13:19:18 -07:00
Margo Crawford
6bf8bfe9a8
Merge remote-tracking branch 'origin/main' into impersonation-proxy
2021-03-24 17:22:40 -07:00
Matt Moyer
ea130ea781
Merge pull request #525 from vmware-tanzu/microwavables-patch-1
...
Added kubeapps and vmware tanzu logos
2021-03-24 16:28:36 -07:00
Nanci Lancaster
03619fc878
Added kubeapps and vmware tanzu logos
...
these logos will be used for the adopters.md file
2021-03-24 18:03:57 -05:00
Matt Moyer
454348b2fd
Merge pull request #524 from mattmoyer/allow-prebuilt-cli-binaries-for-testing
...
Allow running CLI-related integration tests with pre-built binary.
2021-03-23 16:19:50 -07:00
Matt Moyer
cda8bd6e26
Allow running CLI-related integration tests with pre-built binary.
...
This allows setting `$PINNIPED_TEST_CLI` to point at an existing `pinniped` CLI binary instead of having the test build one on-the-fly. This is more efficient when you're running the tests across many clusters as we do in CI.
Building the CLI from scratch in our CI environment takes 1.5-2 minutes, so this change should save nearly that much time on every test job.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-23 17:19:09 -05:00
Matt Moyer
c0d32f10b2
Add some test debug logging when running the CLI.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-23 12:07:34 -05:00
Matt Moyer
ce5b05f912
Add some debug logging to measure how long the CLI build takes.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-23 12:06:35 -05:00
Matt Moyer
176fb6a139
Authenticators are no longer namespaced, so clean up these test logs.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-23 10:33:05 -05:00
Matt Moyer
9501168265
Simplify TestCLIGetKubeconfigStaticToken now that there's only a single table case.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-23 10:26:04 -05:00
Matt Moyer
2e79664f3d
Merge branch 'main' of github.com:vmware-tanzu/pinniped into impersonation-proxy
2021-03-23 09:05:13 -05:00
Andrew Keesler
e70788204b
Merge pull request #516 from ankeesler/cli-docs
...
Add CLI command for generating docs
2021-03-23 09:58:47 -04:00
Andrew Keesler
f6646eb2b7
cmd/pinniped: add generate-markdown-help for generating CLI doc
...
This command is hidden. We want to use this to generate our CLI reference docs
upon release.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-23 09:35:58 -04:00
Ryan Richard
75cfda0ffe
prepare-for-integration-tests.sh: Check Chrome and chromedriver versions
...
They usually need to match, or at least be close, so added some
code to help us remember to do that.
2021-03-22 16:54:22 -07:00
Andrew Keesler
bde54ef643
Merge remote-tracking branch 'main' into impersonation-proxy
2021-03-22 17:00:40 -04:00
Margo Crawford
d90398815b
Nothing in parallel in the impersonation proxy integration test
2021-03-22 10:48:09 -07:00
Margo Crawford
7683a98792
Unparallelize run all the verbs and port-forward tests
2021-03-22 09:45:51 -07:00
Margo Crawford
d7e9568137
Unparallelize a couple
2021-03-22 09:43:40 -07:00
Ryan Richard
904086cbec
fix a typo in some comments
2021-03-22 09:34:58 -07:00
Matt Moyer
5e95c25d4f
Tweak some assertions in TestSupervisorOIDCDiscovery.
...
We've seen some test flakes caused by this test. Some small changes:
- Use a 30s timeout for each iteration of the test loop (so each iteration needs to check or fail more quickly).
- Log a bit more during the checks so we can diagnose what's going on.
- Increase the overall timeout from one minute to five minutes
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-22 11:33:02 -05:00
Ryan Richard
c9b1982767
Merge branch 'main' into impersonation-proxy
2021-03-22 09:27:18 -07:00
Matt Moyer
f69d095a69
Merge pull request #515 from mattmoyer/bump-kube-deps-1.20.5
...
Upgrade Kubernetes runtime libraries to v1.20.5.
2021-03-22 08:30:53 -07:00
Matt Moyer
1e7f2c7735
Upgrade Kubernetes runtime libraries to v0.20.5.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-22 09:33:29 -05:00
Andrew Keesler
9af75d23fb
Merge pull request #514 from enj/enj/i/whoami_ctx
...
pinniped whoami: print correct cluster info when --kubeconfig-context is used
2021-03-22 09:22:45 -04:00
Margo Crawford
d0df2009ac
Merge pull request #498 from vmware-tanzu/impersonation-proxy-docs
...
Impersonation proxy docs
2021-03-19 16:13:58 -07:00
Monis Khan
964d4889c4
pinniped whoami: print correct cluster info when --kubeconfig-context is used
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-19 18:42:40 -04:00
Margo Crawford
a537287601
Regenerate cli.md based on output of help message
2021-03-19 14:34:35 -07:00
Margo Crawford
fdfc854f8c
Incorporating suggestions:
...
- a credential that is understood by -> a credential that can be used to
authenticate to
- This is more neutral to whether its going directly to k8s
or through the impersonation proxy
2021-03-19 14:06:20 -07:00
Margo Crawford
331fef8fae
Tweaked some wording, updated the cli page
2021-03-19 14:06:20 -07:00
Margo Crawford
4470d3d2d1
Fix broken links to architecture page
2021-03-19 14:06:20 -07:00
Margo Crawford
698bffc2ad
Naming changes
2021-03-19 14:06:20 -07:00
Margo Crawford
6ff3e42602
Add description of impersonation proxy strategy to docs
2021-03-19 14:06:20 -07:00
Ryan Richard
3e50b4e129
Add -sS to the curl command in concierge_impersonation_proxy_test.go
2021-03-19 13:23:28 -07:00
Ryan Richard
d856221f56
Edit some comments in concierge_impersonation_proxy_test.go
2021-03-19 13:19:17 -07:00
Monis Khan
f519f0cb09
impersonator: disallow clients from setting the X-Forwarded-For header
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-19 15:35:06 -04:00
Monis Khan
c03fe2d1fe
Use http2 for all non-upgrade requests
...
Instead of using the LongRunningFunc to determine if we can safely
use http2, follow the same logic as the aggregation proxy and only
use http2 when the request is not an upgrade.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-19 13:45:58 -04:00
Andrew Keesler
2749044625
test/integration: unparallelize impersonation kubectl test
...
Maybe this will cut down on flakes we see in CI?
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-19 13:31:28 -04:00
Andrew Keesler
f73c70d8f9
test/integration: use Ryan's 20x rule to harden simple access tests
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-19 13:18:10 -04:00
Andrew Keesler
ebd5e45fa6
test/integration: wait for convergence at end of impersonation test
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-19 12:54:37 -04:00
Andrew Keesler
6154883855
test/integration: add temporary debug 'kubectl attach' logging
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-19 10:42:11 -04:00
Andrew Keesler
ebe01a5aef
test/integration: catch early 'kubectl attach' return
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-19 09:59:24 -04:00
Andrew Keesler
28d00ce67b
Merge remote-tracking branch 'upstream/main' into impersonation-proxy
2021-03-18 20:13:49 -04:00
Mo Khan
50e4531215
Merge pull request #505 from enj/enj/i/jwt-go_cve
...
Move to github.com/form3tech-oss/jwt-go
2021-03-18 19:34:19 -04:00
Andrew Keesler
1a9922d050
test/integration: poll more quickly in f2a48aee
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-18 17:53:14 -04:00
Andrew Keesler
f2a48aee2b
test/integration: increase timeout to a minute to see if it helps
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-18 17:48:00 -04:00
Monis Khan
d162cb9adf
Move to github.com/form3tech-oss/jwt-go
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-18 16:56:04 -04:00
Andrew Keesler
14a28bec24
test/integration: fix second assertion from dae62929
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-18 16:34:30 -04:00
Andrew Keesler
dae62929e0
test/integration: error assertions pass w/ and w/o middleware
...
In the case where we are using middleware (e.g., when the api group is
different) in our kubeclient, these error messages have a "...middleware request
for..." bit in the middle.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-18 15:35:31 -04:00
Andrew Keesler
c22ac17dfe
internal/concierge/impersonator: use http/2.0 as much as we can
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-18 15:35:31 -04:00
Ryan Richard
08c446a3e1
Use openssl to generate the test user password instead of /dev/urandom
...
Because it's more portable across different operating systems and
it is already pre-installed on MacOS.
2021-03-18 11:20:33 -07:00
Ryan Richard
bd8c243636
concierge_impersonation_proxy_test.go: small refactor
2021-03-18 10:46:27 -07:00
Ryan Richard
e4bf6e068f
Add a comment to impersonator.go
2021-03-18 10:46:27 -07:00
Monis Khan
120e46b5f7
test/integration: fix race condition
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-18 11:27:52 -04:00
Andrew Keesler
257d69045d
Reuse internal/concierge/scheme
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-18 10:40:59 -04:00
Andrew Keesler
05a188d4cd
Merge remote-tracking branch 'upstream/main' into impersonation-proxy
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-18 10:36:28 -04:00
Monis Khan
205c22ddbe
impersonator config: catch panics when running impersonator
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-18 10:28:28 -04:00
Andrew Keesler
aa79bc7609
internal/concierge/impersonator: ensure log statement is printed
...
When the frontend connection to our proxy is closed, the proxy falls through to
a panic(), which means the HTTP handler goroutine is killed, so we were not
seeing this log statement.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-18 10:14:11 -04:00
Andrew Keesler
a36914f5ca
Merge pull request #476 from ankeesler/whoami-cli
...
cmd/pinniped: add whoami cli command
2021-03-18 09:46:48 -04:00
Andrew Keesler
cc8f0b623c
test/integration: add pinniped whoami tests
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-18 08:56:35 -04:00
Andrew Keesler
de6837226e
cmd/pinniped: add whoami command
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-18 08:56:34 -04:00
Matt Moyer
3a32833306
Merge pull request #503 from mattmoyer/rework-restart-assertions-helper
...
Rework integration test assertions for pod restarts.
2021-03-17 14:38:39 -07:00
Matt Moyer
74df6d138b
Memoize library.IntegrationEnv so it's only constructed once per test.
...
This is probably a good idea regardless, but it also avoids an infinite recursion from IntegrationEnv() -> assertNoRestartsDuringTest() -> NewKubeclient() -> IntegrationEnv() -> ...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-17 13:37:48 -05:00
Matt Moyer
0dd2b358fb
Extend assertNoRestartsDuringTest to dump logs from containers that restarted.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-17 13:37:47 -05:00
Matt Moyer
6520c5a3a1
Extend library.DumpLogs() to dump logs from the previous container, if one exists.
...
This is important in case the container has crashed and has been restarted.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-17 11:46:40 -05:00
Matt Moyer
5a43a5d53a
Remove library.AssertNoRestartsDuringTest and make that assertion implicit in library.IntegrationEnv.
...
This means we (hopefully) can't forget to include these assertions in any integration test.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-17 11:18:10 -05:00
Margo Crawford
897340860b
Small refactor to impersonation proxy integration test
2021-03-16 16:57:46 -07:00
Matt Moyer
4d2035ab2a
Merge branch 'main' of github.com:vmware-tanzu/pinniped into impersonation-proxy
2021-03-16 18:19:40 -05:00
Matt Moyer
d85135c12e
Merge pull request #501 from mattmoyer/deflake-get-category-test
...
Improve the reliability of TestGetPinnipedCategory.
2021-03-16 16:18:22 -07:00
Matt Moyer
30a392b900
Improve the reliability of TestGetPinnipedCategory.
...
This test could flake in some rare scenarios. This change adds a bunch of retries, improves the debugging output if the tests fail, and puts all of the subtests in parallel which saves ~10s on my local machine.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-16 17:39:02 -05:00
Mo Khan
4ab3c64b70
Merge pull request #500 from mattmoyer/deflake-cert-rotation-test
...
Make TestAPIServingCertificateAutoCreationAndRotation more reliable.
2021-03-16 17:03:07 -04:00
Matt Moyer
2515b2d710
Make TestAPIServingCertificateAutoCreationAndRotation more reliable.
...
This test has occasionally flaked because it only waited for the APIService GET to finish, but did not wait for the controller to successfully update the target object.
The new code should be more patient and allow the controller up to 10s to perform the expected action.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-16 15:14:24 -05:00
Matt Moyer
10a1e29e15
Merge branch 'main' of github.com:vmware-tanzu/pinniped into impersonation-proxy
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-16 14:35:07 -05:00
Matt Moyer
2319606cd2
Fix some nits from the previous commit that I accidentally merged before fixing.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-16 14:24:13 -05:00
Matt Moyer
10168ab2e7
Merge pull request #499 from vmware-tanzu/add-anon-auth-capability
...
Describe "anonymousAuthenticationSupported" test cluster capability and add more managed cluster types.
2021-03-16 12:21:47 -07:00
Matt Moyer
c5b784465b
Describe "anonymousAuthenticationSupported" test cluster capability and add more managed cluster types.
...
This new capability describes whether a cluster is expected to allow anonymous requests (most do since k8s 1.6.x, but AKS has it disabled).
This commit also contains new capability YAML files for AKS and EKS, mostly to document publicly how we expect our tests to function in those environments.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-16 13:54:29 -05:00
Monis Khan
236dbdb2c4
impersonator: test UID impersonation and header canonicalization
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-16 13:00:51 -04:00
Ryan Richard
6887d0aca2
Repeat the method and url in the log line for the userinfo username
2021-03-15 17:12:03 -07:00
Margo Crawford
64e0dbb481
Sleep for 1 minute 10 seconds instead of a minute in timeout test
2021-03-15 16:33:47 -07:00
Ryan Richard
e47543233c
Merge branch 'main' into impersonation-proxy
2021-03-15 16:28:25 -07:00
Ryan Richard
2460568be3
Add some debug logging
2021-03-15 16:26:51 -07:00
Ryan Richard
1b31489347
Add prepare-impersonator-on-kind.sh for manually starting impersonator
...
It takes a lot of manual steps to get ready to manually test the
impersonation proxy on a kind cluster, which makes it error prone,
so encapsulate them into a script to make it easier.
2021-03-15 16:26:51 -07:00
Ryan Richard
ab6452ace7
Remove linting from pre-commit because it is slow and messes up GoLand
...
It seems to confusing committing in the GoLand IDE.
2021-03-15 16:25:45 -07:00
Matt Moyer
c46aa1c29d
Merge pull request #490 from vmware-tanzu/dependabot/docker/golang-1.16.2
...
Bump golang from 1.16.1 to 1.16.2
2021-03-15 15:08:03 -07:00
Margo Crawford
939ea30030
Make all tests but disable test parallelized
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-15 14:34:41 -07:00
Andrew Keesler
efd973fa17
Test waiting for a minute and keeping connection open
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-03-15 14:34:41 -07:00
Monis Khan
4f671f5dca
dynamiccert: unit test with DynamicServingCertificateController
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-15 17:23:37 -04:00
Ryan Richard
a5384a6e38
Merge branch 'main' into impersonation-proxy
2021-03-15 13:06:36 -07:00
dependabot[bot]
e64f2fe7fb
Bump golang from 1.16.1 to 1.16.2
...
Bumps golang from 1.16.1 to 1.16.2.
Signed-off-by: dependabot[bot] <support@github.com >
2021-03-15 19:55:44 +00:00
Matt Moyer
035362f4d3
Merge pull request #494 from vmware-tanzu/dependabot/go_modules/k8s.io/klog/v2-2.8.0
...
Bump k8s.io/klog/v2 from 2.6.0 to 2.8.0
2021-03-15 12:54:46 -07:00
Ryan Richard
8065a8d2e6
TestKubeCertAgent waits for CredentialIssuer strategy to be successful
...
At the end of the test, wait for the KubeClusterSigningCertificate
strategy on the CredentialIssuer to go back to being healthy, to avoid
polluting other integration tests which follow this one.
2021-03-15 11:43:12 -07:00
Ryan Richard
e22ad6171a
Fix a race detector warning by re-declaring err in a t.Cleanup()
2021-03-15 11:43:12 -07:00
dependabot[bot]
c2b0acf241
Bump k8s.io/klog/v2 from 2.6.0 to 2.8.0
...
Bumps [k8s.io/klog/v2](https://github.com/kubernetes/klog ) from 2.6.0 to 2.8.0.
- [Release notes](https://github.com/kubernetes/klog/releases )
- [Changelog](https://github.com/kubernetes/klog/blob/master/RELEASE.md )
- [Commits](https://github.com/kubernetes/klog/compare/v2.6.0...v2.8.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-03-15 17:36:36 +00:00
Monis Khan
00694c9cb6
dynamiccert: split into serving cert and CA providers
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-15 12:24:07 -04:00
Matt Moyer
dc96f398da
Merge pull request #497 from mattmoyer/ignore-local-user-authenticator-coverage
...
Ignore test coverage for local-user-authenticator.
2021-03-15 08:46:28 -07:00
Matt Moyer
755a87cdbb
Ignore test coverage for local-user-authenticator.
...
This should ignore coverage changes in this test-only component, using the syntax described here: https://docs.codecov.io/docs/ignoring-paths .
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-15 10:43:17 -05:00
Matt Moyer
c538a4e8e8
Merge pull request #495 from mattmoyer/add-golangci-lint-to-pre-commit-hooks
...
Add golangci-lint to .pre-commit-config.yaml.
2021-03-15 08:23:09 -07:00
Matt Moyer
41949d8e07
Add golangci-lint to .pre-commit-config.yaml.
...
This is the configuration for https://pre-commit.com/ , which now also runs golangci-lint using the same version as CI (currently v1.33.0).
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-15 10:20:59 -05:00
Monis Khan
4c162be8bf
impersonator: add comment about long running func
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-15 09:43:06 -04:00
Monis Khan
b530cef3b1
impersonator: encode proper API status on failure
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-13 20:25:23 -05:00
Ryan Richard
c82f568b2c
certauthority.go: Refactor issuing client versus server certs
...
We were previously issuing both client certs and server certs with
both extended key usages included. Split the Issue*() methods into
separate methods for issuing server certs versus client certs so
they can have different extended key usages tailored for each use
case.
Also took the opportunity to clean up the parameters of the Issue*()
methods and New() methods to more closely match how we prefer to call
them. We were always only passing the common name part of the
pkix.Name to New(), so now the New() method just takes the common name
as a string. When making a server cert, we don't need to set the
deprecated common name field, so remove that param. When making a client
cert, we're always making it in the format expected by the Kube API
server, so just accept the username and group as parameters directly.
2021-03-12 16:09:37 -08:00
Monis Khan
5e4746e96b
impersonator: match kube API server long running func
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-12 16:36:37 -05:00
Matt Moyer
077aa8a42e
Fix a copy-paste typo in the ImpersonationProxyInfo JSON field name.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-12 13:24:05 -06:00
Margo Crawford
d509e7012e
Add eventually loop to port-forward test
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-12 10:44:11 -08:00
Monis Khan
8c0bafd5be
impersonator: prep work for future SA token support
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-12 10:47:07 -05:00
Monis Khan
12b13b1ea5
impersonator: wire in genericapiserver.Config
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-12 10:47:07 -05:00
Andrew Keesler
5b1dc0abdf
test/integration: add some more debugging to kubectl impersonation test
...
I think this is nondeterministic...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-12 10:45:36 -05:00
Andrew Keesler
253e0f8e9a
test/integration: TestImpersonationProxy/websocket_client passes on my machine now
...
I'm kinda surprised this is working with our current implementation of the
impersonator, but regardless this seems like a step forward.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-12 09:54:59 -05:00
Ryan Richard
87f2899047
impersonator_test.go: small refactor of previous commit
2021-03-11 17:24:52 -08:00
Ryan Richard
6ddf4c04e6
impersonator_test.go: Test failed and anonymous auth
2021-03-11 17:11:38 -08:00
Ryan Richard
1d68841c78
impersonator_test.go: Test one more thing and small refactors
2021-03-11 16:44:08 -08:00
Ryan Richard
f77c92560f
Rewrite impersonator_test.go, add missing argument to IssuePEM()
...
The impersonator_test.go unit test now starts the impersonation
server and makes real HTTP requests against it using client-go.
It is backed by a fake Kube API server.
The CA IssuePEM() method was missing the argument to allow a slice
of IP addresses to be passed in.
2021-03-11 16:27:16 -08:00
Ryan Richard
c12a23725d
Fix lint errors from a previous commit
2021-03-11 16:21:40 -08:00
Matt Moyer
d5beba354b
Merge pull request #487 from vmware-tanzu/dependabot/docker/golang-1.16.1
...
Bump golang from 1.16.0 to 1.16.1
2021-03-11 16:12:07 -08:00
Andrew Keesler
71712b2d00
Add test for http2
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-03-11 15:49:49 -08:00
dependabot[bot]
ad3f04a982
Bump golang from 1.16.0 to 1.16.1
...
Bumps golang from 1.16.0 to 1.16.1.
Signed-off-by: dependabot[bot] <support@github.com >
2021-03-11 22:25:17 +00:00
Matt Moyer
a52455504f
Capitalize "Concierge" in these error messages as well, for consistency.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-11 16:24:20 -06:00
Matt Moyer
4f154100ff
Remove "--concierge-mode" flag from "pinniped login [...]" commands.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-11 16:24:20 -06:00
Matt Moyer
d2d9b1e49e
Stop outputting "--concierge-mode" from "pinniped get kubeconfig".
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-11 16:13:29 -06:00
Matt Moyer
c9ce067a0e
Captialize "API" in this error message.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-11 16:11:46 -06:00
Pablo Schuhmacher
1af25552a0
Update ROADMAP.md
2021-03-11 13:58:34 -08:00
Matt Moyer
a64786a728
Fix TestCLIGetKubeconfigStaticToken for new CLI log output.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-11 15:48:04 -06:00
Monis Khan
2d28d1da19
Implement all optional methods in dynamic certs provider
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-11 16:24:08 -05:00
Matt Moyer
78fdc59d2d
Merge branch 'main' of github.com:vmware-tanzu/pinniped into impersonation-proxy
2021-03-11 14:56:11 -06:00
Ryan Richard
29d7f406f7
Test double impersonation as the cluster admin
2021-03-11 12:53:27 -08:00
Matt Moyer
3449b896d6
Merge pull request #488 from mattmoyer/add-retries-for-supervisor-discovery-tests
...
Add retries to TestSupervisorTLSTerminationWithSNI and TestSupervisorOIDCDiscovery.
2021-03-11 12:22:22 -08:00
Margo Crawford
22ca2da1ff
test/integration: add "kubectl attach" test to TestImpersonationProxy
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-11 15:10:16 -05:00
Matt Moyer
e98c6dfdd8
Add retries to TestSupervisorTLSTerminationWithSNI and TestSupervisorOIDCDiscovery.
...
These tests occasionally flake because of a conflict error such as:
```
supervisor_discovery_test.go:105:
Error Trace: supervisor_discovery_test.go:587
supervisor_discovery_test.go:105
Error: Received unexpected error:
Operation cannot be fulfilled on federationdomains.config.supervisor.pinniped.dev "test-oidc-provider-lvjfw": the object has been modified; please apply your changes to the latest version and try again
Test: TestSupervisorOIDCDiscovery
```
These retries should improve the reliability of the tests.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-11 13:18:15 -06:00
Andrew Keesler
fcd8c585c3
test/integration: update "kubectl port-forward" test to use non-privileged port
...
This was failing on our laptops because 443 is a privileged port.
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-03-11 13:05:26 -05:00
Ryan Richard
a918e9fb97
concierge_impersonation_proxy_test.go: Fix lint error in previous commit
2021-03-11 10:04:24 -08:00
Ryan Richard
34accc3dee
Test using a service account token to auth to the impersonator
...
Also make each t.Run use its own namespace to slight reduce the
interdependency between them.
Use t.Cleanup instead of defer in whoami_test.go just to be consistent
with other integration tests.
2021-03-11 10:01:17 -08:00
Ryan Richard
61d64fc4c6
Use ioutil.ReadFile instead of os.ReadFile
...
Because it works on older golang versions too.
2021-03-11 08:58:54 -08:00
Andrew Keesler
b793b9a17e
test/integration: add 'kubectl logs' test to TestImpersonationProxy
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-11 10:42:28 -05:00
Monis Khan
7b1ecf79a6
Fix race between err chan send and re-queue
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-11 10:13:29 -05:00
Andrew Keesler
32b038c639
test/integration: add 'kubectl cp' test to TestImpersonationProxy
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-03-11 10:07:16 -05:00
Ryan Richard
d13bb07b3e
Add integration test for using WhoAmIRequest through impersonator
2021-03-10 16:57:15 -08:00
Margo Crawford
24396b6af1
Use gorilla websocket library so squid proxy works
2021-03-10 16:03:52 -08:00
Ryan Richard
006dc8aa79
Small test refactor
2021-03-10 14:50:46 -08:00
Ryan Richard
2a2e2f532b
Remove an integration test that is covered elsewhere now
...
The same coverage that was supplied by
TestCredentialRequest_OtherwiseValidRequestWithRealTokenShouldFailWhenTheClusterIsNotCapable
is now provided by an assertion at the end of TestImpersonationProxy,
so delete the duplicate test which was failing on GKE because the
impersonation proxy is now active by default on GKE.
2021-03-10 14:17:20 -08:00
Ryan Richard
1078bf4dfb
Don't pass credentials when testing impersonation proxy port is closed
...
When testing that the impersonation proxy port was closed there
is no need to include credentials in the request. At the point when
we want to test that the impersonation proxy port is closed, it is
possible that we cannot perform a TokenCredentialRequest to get a
credential either.
Also add a new assertion that the TokenCredentialRequest stops handing
out credentials on clusters which have no successful strategies.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-10 13:08:15 -08:00
Matt Moyer
c14621428f
Merge pull request #485 from vmware-tanzu/pabloschuhmacher-patch-2
...
Create ROADMAP.md
2021-03-10 12:43:55 -08:00
Monis Khan
6582c23edb
Fix a race detector error in a unit test
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-03-10 11:24:42 -08:00
Ryan Richard
0b300cbe42
Use TokenCredentialRequest instead of base64 token with impersonator
...
To make an impersonation request, first make a TokenCredentialRequest
to get a certificate. That cert will either be issued by the Kube
API server's CA or by a new CA specific to the impersonator. Either
way, you can then make a request to the impersonator and present
that client cert for auth and the impersonator will accept it and
make the impesonation call on your behalf.
The impersonator http handler now borrows some Kube library code
to handle request processing. This will allow us to more closely
mimic the behavior of a real API server, e.g. the client cert
auth will work exactly like the real API server.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-10 10:30:06 -08:00
Pablo Schuhmacher
876f0a55d8
Create ROADMAP.md in actual markdown
...
fixed the random html generated when converting the google doc to markdown
2021-03-09 18:41:40 -08:00
Margo Crawford
c853707889
Added integration test for using websockets via the impersonation proxy
...
Tested that this test passed when using the kube api server directly,
so it's just the impersonation proxy that must be improved.
2021-03-09 17:00:30 -08:00
Matt Moyer
005133fbfb
Add more debug logging when waiting for pending strategies.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-09 16:56:53 -06:00
Matt Moyer
0cb1538b39
Fix linter warnings, including a bit of refactoring.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-09 15:16:46 -06:00
Matt Moyer
0abe10e6b2
Add new behavior to "pinniped get kubeconfig" to wait for pending strategies to become non-pending.
...
This behavior can be disabled with "--concierge-skip-wait".
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-09 14:50:35 -06:00
Margo Crawford
883b90923d
Add integration test for kubectl port-forward with impersonation
2021-03-09 11:32:50 -08:00
Matt Moyer
d6a0dfa497
Add some debug logging when "pinniped get kubeconfig" fails to find a successful strategy.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-09 12:44:35 -06:00
Matt Moyer
29d5e43220
Fix minor typo in e2e_test.go.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-09 12:12:52 -06:00
Matt Moyer
eef1fd0c64
Merge pull request #481 from vmware-tanzu/dependabot/go_modules/github.com/ory/fosite-0.39.0
...
Bump github.com/ory/fosite from 0.38.0 to 0.39.0
2021-03-09 07:51:27 -06:00
dependabot[bot]
b2be83ee45
Bump github.com/ory/fosite from 0.38.0 to 0.39.0
...
Bumps [github.com/ory/fosite](https://github.com/ory/fosite ) from 0.38.0 to 0.39.0.
- [Release notes](https://github.com/ory/fosite/releases )
- [Changelog](https://github.com/ory/fosite/blob/master/CHANGELOG.md )
- [Commits](https://github.com/ory/fosite/compare/v0.38.0...v0.39.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-03-09 05:50:01 +00:00
Matt Moyer
b20a8358d3
Merge branch 'main' of github.com:vmware-tanzu/pinniped into impersonation-proxy
2021-03-08 15:16:40 -06:00
Matt Moyer
a58b460bcb
Switch TestImpersonationProxy to get clients from library.NewKubeclient instead of directly from kubernetes.NewForConfig.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-08 15:03:34 -06:00
Matt Moyer
8fd6a71312
Use simpler prefix matching for impersonation headers.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-08 14:44:38 -06:00
Matt Moyer
6efbd81f75
Rename this flag types for consistency.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-08 14:33:38 -06:00
Matt Moyer
a059d8dfce
Refactor "get kubeconfig" a bit more to clean things up.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-08 14:31:13 -06:00
Matt Moyer
8c0a073cb6
Fix this constant name to match its value.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-08 13:31:16 -06:00
Matt Moyer
389cd3486b
Rework "pinniped get kubeconfig" so that --concierge-mode can be used even when auto-discovering other parameters.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-08 11:43:56 -06:00
Matt Moyer
eac108aee5
Merge pull request #478 from vmware-tanzu/prepare-script-macos-big-sur
...
Fix hack/prepare-for-integration-tests.sh for MacOS Big Sur
2021-03-08 10:02:52 -06:00
Ryan Richard
49ec16038c
Add integration test for using "kubectl exec" through the impersonator
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-03-05 16:14:45 -08:00
Margo Crawford
4bd68b1fa1
Use LC_ALL=C instead of LC_CTYPE=C because it works on Big Sur
...
It also works on the slightly older MacOS Catalina.
This script is only used on development laptops, so hopefully
this will work for more laptop OS's now.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-03-05 15:25:52 -08:00
Matt Moyer
73419313ee
Log when the validation eventually succeeds.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-05 16:59:43 -06:00
Matt Moyer
4750d7d7d2
The stderr from "pinniped get kubeconfig" is no longer empty.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-05 16:57:24 -06:00
Matt Moyer
ba0dc3bf52
Remove this test retry loop since the "get kubeconfig" step should now wait.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-05 16:39:57 -06:00
Matt Moyer
5d8594b285
Add validation step to "pinniped get kubeconfig".
...
This adds two new flags to "pinniped get kubeconfig": --skip-validation and --timeout.
By default, at the end of the kubeconfig generation process, we validate that we can reach the configured cluster. In the future this might also validate that the TokenCredentialRequest API is running, but for not it just verifies that the DNS name resolves, and the TLS connection is available on the given port.
If there is an error during this check, we block and retry for up to 10 minutes. This duration can be changed with --timeout an the entire process can be skipped with --skip-validation.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-05 16:35:42 -06:00
Matt Moyer
ce1b6303d9
Add an "--output" flag to "pinniped get kubeconfig".
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-05 15:53:30 -06:00
Matt Moyer
36bc679142
Add diagnostic logging to "pinniped get kubeconfig".
...
These stderr logs should help clarify all the autodetection logic that's happening in a particular run.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-05 15:52:17 -06:00
Matt Moyer
c4f6fd5b3c
Add a bit nicer assertion helper in testutil/testlogger.
...
This makes output that's easier to copy-paste into the test. We could also make it ignore the order of key/value pairs in the future.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-05 15:49:45 -06:00
Matt Moyer
52f58477b8
Wait for the ELB to become available _before_ starting the kubectl command.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-05 09:32:49 -06:00
Matt Moyer
d848499176
Close this HTTP response body in TestE2EFullIntegration.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-05 08:45:25 -06:00
Matt Moyer
c3b7d21037
Be less picky about what error code is returned here.
...
The thing we're waiting for is mostly that DNS is resolving, the ELB is listening, and connections are making it to the proxy.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-05 08:40:29 -06:00
Matt Moyer
832bc2726e
Merge pull request #477 from vmware-tanzu/dependabot/go_modules/github.com/google/go-cmp-0.5.5
...
Bump github.com/google/go-cmp from 0.5.4 to 0.5.5
2021-03-05 08:20:51 -06:00
dependabot[bot]
3833ba0430
Bump github.com/google/go-cmp from 0.5.4 to 0.5.5
...
Bumps [github.com/google/go-cmp](https://github.com/google/go-cmp ) from 0.5.4 to 0.5.5.
- [Release notes](https://github.com/google/go-cmp/releases )
- [Commits](https://github.com/google/go-cmp/compare/v0.5.4...v0.5.5 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-03-05 05:59:54 +00:00
Ryan Richard
ec133b9743
Resolve some new linter errors
2021-03-04 17:44:01 -08:00
Ryan Richard
d8c6894cbc
All controller unit tests should not cancel context until test is over
...
All controller unit tests were accidentally using a timeout context
for the informers, instead of a cancel context which stays alive until
each test is completely finished. There is no reason to risk
unpredictable behavior of a timeout being reached during an individual
test, even though with the previous 3 second timeout it could only be
reached on a machine which is running orders of magnitude slower than
usual, since each test usually runs in about 100-300 ms. Unfortunately,
sometimes our CI workers might get that slow.
This sparked a review of other usages of timeout contexts in other
tests, and all of them were increased to a minimum value of 1 minute,
under the rule of thumb that our tests will be more reliable on slow
machines if they "pass fast and fail slow".
2021-03-04 17:26:01 -08:00
Ryan Richard
b102aa8991
In unit test, wait for obj from informer instead of resource version
...
In impersonator_config_test.go, instead of waiting for the resource
version to appear in the informers, wait for the actual object to
appear.
This is an attempt to resolve flaky failures that only happen in CI,
but it also cleans up the test a bit by avoiding inventing fake resource
version numbers all over the test.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-04 17:26:01 -08:00
Ryan Richard
9eb97e2683
Use Eventually when making tls connections and avoid resource version 0
...
- Use `Eventually` when making tls connections because the production
code's handling of starting and stopping the TLS server port
has some async behavior.
- Don't use resource version "0" because that has special meaning
in the informer libraries.
2021-03-04 17:26:01 -08:00
Matt Moyer
fea626b654
Remove this proxy-related test code that we ended up not needing.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-04 17:19:59 -06:00
Matt Moyer
16163b989b
Use regular http.Client in this test.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-04 17:18:24 -06:00
Matt Moyer
165fce67af
Use the unversioned REST client for this check.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-04 16:23:39 -06:00
Matt Moyer
6a8f377781
Fix a linter warning.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-04 16:16:03 -06:00
Matt Moyer
d24cf4b8a7
Go back to testing entirely through the proxy, but add a retry loop during the first connection.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-04 16:05:56 -06:00
Matt Moyer
34e15f03c3
Simplify const declarations in flag_types.go.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-04 15:21:50 -06:00
Matt Moyer
274e6281a8
Whoops, missed these fixes in test/library/env.go.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-04 15:21:49 -06:00
Matt Moyer
7146cb3880
Remove old debug-make-impersonation-token command.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-04 15:02:42 -06:00
Matt Moyer
9dfbe60253
Do the kubeconfig proxy environment injection, but actually render back out the YAML.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-04 14:41:20 -06:00
Matt Moyer
1734280a19
Merge branch 'main' of github.com:vmware-tanzu/pinniped into impersonation-proxy
2021-03-04 12:38:00 -06:00
Matt Moyer
9a0f75980d
Set a special proxy environment just for the "pinniped login oidc" command in the E2E test.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-04 12:35:29 -06:00
Matt Moyer
ddd1d29e5d
Fix "pinniped get kubeconfig" strategy detection to pick the _first_ working strategy.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-04 12:24:57 -06:00
Matt Moyer
03f09c6870
Allow TestE2EFullIntegration to run on clusters where only the impersonation proxy works (again).
...
This time, don't use the Squid proxy if the cluster supports real external load balancers (as in EKS/GKE/AKS).
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-04 12:04:52 -06:00
Matt Moyer
f99c186c55
Merge pull request #475 from vmware-tanzu/dependabot/go_modules/k8s.io/klog/v2-2.6.0
...
Bump k8s.io/klog/v2 from 2.5.0 to 2.6.0
2021-03-04 10:04:08 -06:00
dependabot[bot]
14b8def320
Bump k8s.io/klog/v2 from 2.5.0 to 2.6.0
...
Bumps [k8s.io/klog/v2](https://github.com/kubernetes/klog ) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/kubernetes/klog/releases )
- [Changelog](https://github.com/kubernetes/klog/blob/master/RELEASE.md )
- [Commits](https://github.com/kubernetes/klog/compare/v2.5.0...v2.6.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-03-04 06:10:36 +00:00
Ryan Richard
5697adc36a
Revert "Allow TestE2EFullIntegration to run on clusters where only the impersonation proxy works."
...
This reverts commit 7c9aff3278 .
2021-03-03 17:24:10 -08:00
Ryan Richard
9c1c760f56
Always clean up the ConfigMap at the end of the impersonator int test
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-03-03 16:23:07 -08:00
Ryan Richard
48f2ae9eb4
Fix a typo in concierge_impersonation_proxy_test.go
2021-03-03 15:18:01 -08:00
Matt Moyer
7c9aff3278
Allow TestE2EFullIntegration to run on clusters where only the impersonation proxy works.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-03 17:05:46 -06:00
Ryan Richard
58607c7e81
Update TestCredentialIssuer int test to ignore ImpersonationProxy type
2021-03-03 14:19:24 -08:00
Ryan Richard
1b3103c9b5
Remove a nolint comment to satisfy the version of the linter used in CI
2021-03-03 13:37:03 -08:00
Ryan Richard
666c0b0e18
Use CredentialIssuer for URL/CA discovery in impersonator int test
2021-03-03 12:53:41 -08:00
Ryan Richard
f0fc84c922
Add new allowed values to field validations on CredentialIssuer
...
The new values are used by the impersonation proxy's status.
2021-03-03 12:53:41 -08:00
Ryan Richard
7b7901af36
Add -timeout 0 when describing how to run integration tests
...
Because otherwise `go test` will panic/crash your test if it takes
longer than 10 minutes, which is an annoying way for an integration
test to fail since it skips all of the t.Cleanup's.
2021-03-03 12:53:41 -08:00
Ryan Richard
57453773ea
CONTRIBUTING.md: remove mention of Tilt, since it isn't working well
2021-03-03 12:53:41 -08:00
Matt Moyer
f4fcb9bde6
Sort CredentialIssuer strategies in preferred order.
...
This updates our issuerconfig.UpdateStrategy to sort strategies according to a weighted preference.
The TokenCredentialRequest API strategy is preffered, followed by impersonation proxy, followed by any other unknown types.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-03 14:03:27 -06:00
Margo Crawford
0799a538dc
change FromString to Parse so TargetPort parses correctly
2021-03-03 11:12:37 -08:00
Mo Khan
4f700d4811
Merge pull request #473 from enj/enj/r/oidc_discovery_json
...
oidc discovery: encode metadata once and reuse
2021-03-03 14:12:33 -05:00
Monis Khan
d7edc41c24
oidc discovery: encode metadata once and reuse
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-03-03 13:37:43 -05:00
Ryan Richard
333a3ab4c2
impersonator_config_test.go: Add another unit test
2021-03-03 09:37:08 -08:00
Ryan Richard
730092f39c
impersonator_config.go: refactor to clean up cert name handling
2021-03-03 09:22:35 -08:00
Ryan Richard
d3599c541b
Fill in the frontend field of CredentialIssuer status for impersonator
2021-03-02 16:52:23 -08:00
Ryan Richard
454f35ccd6
Edit a comment on a type and run codegen
2021-03-02 16:52:23 -08:00
Margo Crawford
27daf0a2fe
Increase timeout for creating load balancer in impersonation proxy test
2021-03-02 15:49:30 -08:00
Ryan Richard
8bf03257f4
Add new impersonation-related constants to api types and run codegen
2021-03-02 15:28:13 -08:00
Ryan Richard
1ad2c38509
Impersonation controller updates CredentialIssuer on every call to Sync
...
- This commit does not include the updates that we plan to make to
the `status.strategies[].frontend` field of the CredentialIssuer.
That will come in a future commit.
2021-03-02 15:28:13 -08:00
Ryan Richard
84cc42b2ca
Remove tls field from the impersonator config
...
- Decided that we're not going to implement this now, although
we may decide to add it in the future
2021-03-02 15:28:13 -08:00
Margo Crawford
4c68050706
Allow all headers besides impersonation-* through impersonation proxy
2021-03-02 15:01:13 -08:00
Matt Moyer
aa826a1579
Merge pull request #472 from mattmoyer/deflake-getpinnipedcategory-test
...
Make TestGetPinnipedCategory and TestKubeClientOwnerRef tests more resilient.
2021-03-02 16:42:23 -06:00
Matt Moyer
60f92d5fe2
Merge branch 'main' of github.com:vmware-tanzu/pinniped into impersonation-proxy
...
This is more than an automatic merge. It also includes a rewrite of the CredentialIssuer API impersonation proxy fields using the new structure, and updates to the CLI to account for that new API.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-02 16:06:19 -06:00
Matt Moyer
df27c2e1fc
Use randomly generated API groups in TestKubeClientOwnerRef.
...
I think this is another aspect of the test flakes we're trying to fix. This matters especially for the "Multiple Pinnipeds" test environment where two copies of the test suite are running concurrently.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-02 15:48:13 -06:00
Matt Moyer
45f57939af
Make TestGetPinnipedCategory more resilient.
...
If the test is run immediately after the Concierge is installed, the API server can still have broken discovery data and return an error on the first call.
This commit adds a retry loop to attempt this first kubectl command for up to 60s before declaring failure.
The subsequent tests should be covered by this as well since they are not run in parallel.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-02 15:40:17 -06:00
Matt Moyer
30f5f66090
Merge pull request #471 from vmware-tanzu/change-credentialissuer-strategies-api
...
Deprecate status.kubeConfigInfo field in CredentialIssuer and move this data into strategies field.
2021-03-02 15:39:41 -06:00
Matt Moyer
2a29303e3f
Fix label handling in kubecertagent controllers.
...
These controllers were a bit inconsistent. There were cases where the controllers ran out of the expected order and the custom labels might not have been applied.
We should still plan to remove this label handling or move responsibility into the middleware layer, but this avoids any regression.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-02 13:59:46 -06:00
Matt Moyer
643c60fd7a
Drop NewKubeConfigInfoPublisherController, start populating strategy frontend from kubecertagent execer controller.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-02 13:09:25 -06:00
Matt Moyer
7174f857d8
Add generated code.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-02 13:09:25 -06:00
Matt Moyer
0be2c0d40f
Add CredentialIssuer "status.strategies[].frontend" field.
...
This field is a new tagged-union style field that describes how clients can connect using each successful strategy.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-02 13:09:25 -06:00
Ryan Richard
a75c2194bc
Read the names of the impersonation-related resources from the config
...
They were previously temporarily hardcoded. Now they are set at deploy
time via the static ConfigMap in deployment.yaml
2021-03-02 09:31:24 -08:00
Ryan Richard
41140766f0
Add integration test which demonstrates double impersonation
...
We don't support using the impersonate headers through the impersonation
proxy yet, so this integration test is a negative test which asserts
that we get an error.
2021-03-01 17:53:26 -08:00
Ryan Richard
045c427317
Merge branch 'main' into impersonation-proxy
2021-03-01 17:03:56 -08:00
Ryan Richard
ac404af48f
Add .DS_Store files to .gitignore
2021-03-01 17:03:05 -08:00
Ryan Richard
a2ecd05240
Impersonator config controller writes CA cert & key to different Secret
...
- The CA cert will end up in the end user's kubeconfig on their client
machine, so if it changes they would need to fetch the new one and
update their kubeconfig. Therefore, we should avoid changing it as
much as possible.
- Now the controller writes the CA to a different Secret. It writes both
the cert and the key so it can reuse them to create more TLS
certificates in the future.
- For now, it only needs to make more TLS certificates if the old
TLS cert Secret gets deleted or updated to be invalid. This allows
for manual rotation of the TLS certs by simply deleting the Secret.
In the future, we may want to implement some kind of auto rotation.
- For now, rotation of both the CA and TLS certs will also happen if
you manually delete the CA Secret. However, this would cause the end
users to immediately need to get the new CA into their kubeconfig,
so this is not as elegant as a normal rotation flow where you would
have a window of time where you have more than one CA.
2021-03-01 17:02:08 -08:00
Matt Moyer
a778a5ef81
Merge pull request #469 from mattmoyer/split-out-credentialissuer-status-helpers
...
Factor out issuerconfig.UpdateStrategy helper.
2021-03-01 18:14:16 -06:00
Matt Moyer
c94ee7188c
Factor out issuerconfig.UpdateStrategy helper.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-01 16:21:10 -06:00
Matt Moyer
7ef6a02d0a
Merge pull request #466 from mattmoyer/bump-dependencies
...
Upgrade Go and Go library dependencies.
2021-03-01 14:16:58 -06:00
Matt Moyer
c832cab8d0
Update internal/oidc/token_exchange.go for latest Fosite version.
...
The `fosite.TokenEndpointHandler` changed and now requires some additional methods.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-01 13:08:41 -06:00
Matt Moyer
234465789b
Regenerate gomock mocks with v1.5.0.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-01 11:44:27 -06:00
dependabot[bot]
da6d69d807
Bump github.com/golang/mock from 1.4.4 to 1.5.0
...
Bumps [github.com/golang/mock](https://github.com/golang/mock ) from 1.4.4 to 1.5.0.
- [Release notes](https://github.com/golang/mock/releases )
- [Changelog](https://github.com/golang/mock/blob/master/.goreleaser.yml )
- [Commits](https://github.com/golang/mock/compare/v1.4.4...v1.5.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-03-01 11:44:26 -06:00
dependabot[bot]
04ef7c5456
Bump github.com/ory/fosite from 0.36.0 to 0.38.0
...
Bumps [github.com/ory/fosite](https://github.com/ory/fosite ) from 0.36.0 to 0.38.0.
- [Release notes](https://github.com/ory/fosite/releases )
- [Changelog](https://github.com/ory/fosite/blob/master/CHANGELOG.md )
- [Commits](https://github.com/ory/fosite/compare/v0.36.0...v0.38.0 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-03-01 11:44:26 -06:00
dependabot[bot]
f05c3092b5
Bump github.com/go-openapi/spec from 0.19.9 to 0.20.3
...
Bumps [github.com/go-openapi/spec](https://github.com/go-openapi/spec ) from 0.19.9 to 0.20.3.
- [Release notes](https://github.com/go-openapi/spec/releases )
- [Commits](https://github.com/go-openapi/spec/compare/v0.19.9...v0.20.3 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-03-01 11:44:26 -06:00
dependabot[bot]
2637dc00da
Bump golang from 1.15.8 to 1.16.0
...
Bumps golang from 1.15.8 to 1.16.0.
Signed-off-by: dependabot[bot] <support@github.com >
2021-03-01 11:44:26 -06:00
Matt Moyer
e8365d2c57
Merge pull request #467 from mattmoyer/fix-docs-title
...
Fix missing titles on website docs.
2021-03-01 11:35:56 -06:00
Matt Moyer
dd151b3f50
Fix missing titles on website docs.
...
Also fixes our sitemap to have correct `lastmod` times when built locally (it was already correct on Netlify).
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-03-01 11:31:27 -06:00
Ryan Richard
f1eeae8c71
Parse out ports from impersonation proxy endpoint config
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-26 15:01:38 -08:00
Ryan Richard
41e4a74b57
impersonator_config_test.go: more small refactoring of test helpers
2021-02-26 13:53:30 -08:00
Margo Crawford
fa49beb623
Change length of TLS certs and CA.
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-02-26 12:05:17 -08:00
Margo Crawford
9bd206cedb
impersonator_config_test.go: small refactor of test helpers
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-02-26 11:27:19 -08:00
Ryan Richard
5b01e4be2d
impersonator_config.go: handle more error cases
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-26 10:58:56 -08:00
Ryan Richard
bbbb40994d
Prefer hostnames over IPs when making certs to match load balancer ingress
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-25 17:03:34 -08:00
Margo Crawford
f709da5569
Updated test assertions for new logger version
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-02-25 15:18:36 -08:00
Margo Crawford
ccb17843c1
Fix some lint errors that resulted from merging main
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-02-25 15:06:24 -08:00
Ryan Richard
f8111db5ff
Merge branch 'main' into impersonation-proxy
2021-02-25 14:50:40 -08:00
Ryan Richard
3fcde8088c
concierge_impersonation_proxy_test.go: Make it work on more clusters
...
Should work on cluster which have:
- load balancers not supported, has squid proxy (e.g. kind)
- load balancers supported, has squid proxy (e.g. EKS)
- load balancers supported, no squid proxy (e.g. GKE)
When testing with a load balancer, call the impersonation proxy through
the load balancer.
Also, added a new library.RequireNeverWithoutError() helper.
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-25 14:40:18 -08:00
Matt Moyer
f937ae2c07
Add --concierge-credential-issuer flag to "pinniped get kubeconfig" command.
...
This flag selects a CredentialIssuer to use when detecting what mode the Concierge is in on a cluster. If not specified, the command will look for a single CredentialIssuer. If there are multiple, then the flag is required.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-25 14:31:51 -06:00
Matt Moyer
1c7c22352f
Switch "get kubeconfig" flags to use --concierge-mode flag instead of boolean flag.
...
This is the same as the previous change to the login commands.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-25 14:31:51 -06:00
Ryan Richard
0cae72b391
Get hostname from load balancer ingress to use for impersonator certs
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-25 11:40:14 -08:00
Margo Crawford
9a8c80f20a
Impersonator checks cert addresses when endpoint config is a hostname
...
Also update concierge_impersonation_proxy_test.go integration test
to use real TLS when calling the impersonator.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-02-25 10:27:19 -08:00
Matt Moyer
a42e3708aa
Merge pull request #453 from mattmoyer/bump-dependencies
...
Bump a bunch of minor dependencies.
2021-02-25 09:33:53 -06:00
Matt Moyer
c8fc8a0b65
Reformat some log-based test assertions.
...
These are prone to breaking when stdr is upgraded because they rely on the exact ordering of keys in the log message. If we have more problems we can rewrite the assertions to be more robust, but for this time I'm just fixing them to match the new output.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-25 08:11:37 -06:00
Margo Crawford
8fc68a4b21
WIP improved cert management in impersonator config
...
- Allows Endpoint to be a hostname, not just an IP address
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-02-24 17:08:58 -08:00
Margo Crawford
975d493b8a
Fix some small lint errors
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-02-24 16:09:15 -08:00
Ryan Richard
aee7a7a72b
More WIP managing TLS secrets from the impersonation config controller
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-24 16:03:26 -08:00
Matt Moyer
a31c24e5a0
Bump a bunch of minor dependencies.
...
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify ) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/stretchr/testify/releases )
- [Commits](https://github.com/stretchr/testify/compare/v1.6.1...v1.7.0 )
Bumps [github.com/go-logr/logr](https://github.com/go-logr/logr ) from 0.3.0 to 0.4.0.
- [Release notes](https://github.com/go-logr/logr/releases )
- [Commits](https://github.com/go-logr/logr/compare/v0.3.0...v0.4.0 )
Bumps [k8s.io/klog/v2](https://github.com/kubernetes/klog ) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/kubernetes/klog/releases )
- [Changelog](https://github.com/kubernetes/klog/blob/master/RELEASE.md )
- [Commits](https://github.com/kubernetes/klog/compare/v2.4.0...v2.5.0 )
Bumps [github.com/go-logr/stdr](https://github.com/go-logr/stdr ) from 0.2.0 to 0.4.0.
- [Release notes](https://github.com/go-logr/stdr/releases )
- [Commits](https://github.com/go-logr/stdr/compare/v0.2.0...v0.4.0 )
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra ) from 1.1.1 to 1.1.3.
- [Release notes](https://github.com/spf13/cobra/releases )
- [Changelog](https://github.com/spf13/cobra/blob/master/CHANGELOG.md )
- [Commits](https://github.com/spf13/cobra/compare/v1.1.1...v1.1.3 )
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-24 17:37:29 -06:00
Matt Moyer
943b0ff6ec
Switch login flags to use --concierge-mode flag instead of boolean flag.
...
The login commands now expect either `--concierge-mode ImpersonationProxy` or `--concierge-mode TokenCredentialRequestAPI` (the default).
This is partly a style choice, but I also think it helps in case we need to add a third major mode of operation at some point.
I also cleaned up some other minor style items in the help text.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-24 17:09:08 -06:00
Ryan Richard
d42c533fbb
WIP managing TLS secrets from the impersonation config controller
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-24 10:57:36 -08:00
Matt Moyer
4dbde4cf7f
Fix TestImpersonationProxy on Kubernetes 1.20 with RootCAConfigMap.
...
There is a new feature in 1.20 that creates a ConfigMap by default in each namespace: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md#introducing-rootcaconfigmap
This broke this test because it assumed that all the ConfigMaps in the ephemeral test namespace were those created by the test code. The fix is to add a test label and rewrite our assertions to filter with it.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-24 12:08:41 -06:00
Matt Moyer
7be8927d5e
Add generated code for new CredentialIssuer API fields.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-24 10:47:06 -06:00
Matt Moyer
96d7743eab
Add CredentialIssuer API fields for impersonation proxy.
...
Adds a new optional `spec.impersonationProxyInfo` field to hold the URL and CA data for the impersonation proxy, as well as some additional status condition constants for describing the current status of the impersonation proxy.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-24 10:45:25 -06:00
Matt Moyer
2254f76b30
Fix a broken link, a typo, and tweak menu text.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-24 09:23:21 -06:00
Matt Moyer
852c1b7a27
Fix some copy-paste errors on install-supervisor.md.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-23 16:02:27 -06:00
Matt Moyer
522210adb6
Merge pull request #447 from mattmoyer/website-security-headers
...
Add security headers to the website.
2021-02-23 14:39:31 -06:00
Matt Moyer
a4089fcc72
Add security headers to the website.
...
The one bit of JS we have for the mobile menu needed some tweaking.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-23 14:38:05 -06:00
Matt Moyer
60034b39a3
Fix wording on website hero text.
...
Requested by @pabloschuhmacher as a small fix.
2021-02-23 12:17:26 -08:00
Matt Moyer
2f7c80a5e0
Merge pull request #446 from mattmoyer/more-website-tweaks
...
More website tweaks.
2021-02-23 14:13:27 -06:00
Matt Moyer
827e6e0dc0
More website tweaks.
...
These are some more changes that came up when Pablo and I were reviewing the previous docs PR.
In no particular order:
- Fix "related posts" on the blog section, and hide the section if there are none.
- Minor style changes to several pages (guided by various style guides).
- Redirect the root of get.pinniped.dev to our main page (shouldn't really be hit, but it's nice to do something).
- Add more mobile-friendly CSS for our docs.
- Reword the "getting started" CTA, and hide it on the docs pages (you're already there).
- Fix the "Learn how Pinniped provides identity services to Kubernetes" link on the landing page.
- Add a date to our blog post cards.
- Rewrite the hero text on the landing page.
- Fix the docs link for the "Get Started with Pinniped" button on the landing page.
- Rework the landing page grid text.
- Add Margo and Nanci to the team section and sort it alphabetically.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-23 14:03:37 -06:00
Margo Crawford
dac1c9939e
concierge_impersonation_proxy_test.go: Test all the verbs
...
Also:
- Shut down the informer correctly in
concierge_impersonation_proxy_test.go
- Remove the t.Failed() checks which avoid cleaning up after failed
tests. This was inconsistent with how most of the tests work, and
left cruft on clusters when a test failed.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-02-23 10:38:32 -08:00
Matt Moyer
a6d74ea876
Merge pull request #443 from mattmoyer/reorg-docs
...
Restructure website documentation
2021-02-23 11:12:32 -06:00
Matt Moyer
7a1d92a8d4
Restructure docs into new layout.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-23 11:11:07 -06:00
Matt Moyer
f2db76a0d5
Fix typo in multiple-pinnipeds post.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-23 11:11:07 -06:00
Matt Moyer
3721632de2
Move scope doc out of website to SCOPE.md.
...
This is contributor-focused, so we decided to move it into GitHub only for now.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-23 11:11:07 -06:00
Matt Moyer
4de949fe18
Rework docs sidebar to have some nesting.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-23 11:11:07 -06:00
Andrew Keesler
069b3fba37
Merge remote-tracking branch 'upstream/main' into impersonation-proxy
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-23 12:10:52 -05:00
Mo Khan
e74dd47b1d
Merge pull request #439 from enj/enj/f/whoami_api
...
Add WhoAmIRequest Aggregated Virtual REST API
2021-02-23 10:40:38 -05:00
Monis Khan
6a9f57f83d
TestWhoAmI: support older clusters (CSR and impersonation)
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-23 10:15:17 -05:00
Ryan Richard
80ff5c1f17
Fix bug which prevented watches from working through impersonator
...
Also:
- Changed base64 encoding of impersonator bearer tokens to use
`base64.StdEncoding` to make it easier for users to manually
create a token using the unix `base64` command
- Test the headers which are and are not passed through to the Kube API
by the impersonator more carefully in the unit tests
- More WIP on concierge_impersonation_proxy_test.go
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-22 17:23:11 -08:00
Monis Khan
aa22047a0f
Generated
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-22 20:02:42 -05:00
Monis Khan
abc941097c
Add WhoAmIRequest Aggregated Virtual REST API
...
This change adds a new virtual aggregated API that can be used by
any user to echo back who they are currently authenticated as. This
has general utility to end users and can be used in tests to
validate if authentication was successful.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-22 20:02:41 -05:00
Monis Khan
62630d6449
getAggregatedAPIServerScheme: move group version logic internally
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-19 11:10:54 -05:00
Mo Khan
f228f022f5
Merge pull request #435 from enj/enj/c/bump_v0.20.4
...
Bump Kube deps to v0.20.4
2021-02-19 10:59:40 -05:00
Monis Khan
1c1decfaf1
Generated
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-19 10:33:10 -05:00
Monis Khan
7786c83b0d
Bump kube deps to v0.20.4
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-19 10:26:53 -05:00
Mo Khan
41b75e6977
Merge pull request #431 from enj/enj-patch-1
...
concierge API service: update groupPriorityMinimum and versionPriority
2021-02-19 08:48:06 -05:00
Mo Khan
a54e1145a5
concierge API service: update groupPriorityMinimum and versionPriority
...
Copy over values that I have seen used in the past.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-19 07:47:38 -05:00
Ryan Richard
b8592a361c
Add some comments to concierge_impersonation_proxy_test.go
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-18 16:27:03 -08:00
Margo Crawford
19881e4d7f
Increase how long we wait for loadbalancers to be deleted for int test
...
Also add some log messages which might help us debug issues like this
in the future.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-02-18 15:58:27 -08:00
Ryan Richard
126f9c0da3
certs_manager.go: Rename some local variables
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-18 11:16:34 -08:00
Margo Crawford
7a140bf63c
concierge_impersonation_proxy_test.go: add an eventually loop
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-02-18 11:08:13 -08:00
Ryan Richard
f5fedbb6b2
Add Service resource "delete" permission to Concierge RBAC
...
- Because the impersonation proxy config controller needs to be able
to delete the load balancer which it created
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-18 11:00:22 -08:00
Andrew Keesler
957cb2d56c
Merge remote-tracking branch 'upstream/main' into impersonation-proxy
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-18 13:37:28 -05:00
Andrew Keesler
b3cdc438ce
internal/concierge/impersonator: reuse kube bearertoken.Authenticator
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-18 10:13:24 -05:00
Margo Crawford
22a3e73bac
impersonator_config_test.go: use require.Len() when applicable
...
Also fix a lint error in concierge_impersonation_proxy_test.go
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-02-17 17:29:56 -08:00
Margo Crawford
0ad91c43f7
ImpersonationConfigController uses servicesinformer
...
This is a more reliable way to determine whether the load balancer
is already running.
Also added more unit tests for the load balancer.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-02-17 17:22:13 -08:00
Matt Moyer
2b208807a6
Merge pull request #426 from mattmoyer/website-accessibility-tweaks
...
Tweak website styles for accessibility.
2021-02-17 17:28:03 -06:00
Matt Moyer
25f841d063
Tweak website styles for accessibility.
...
Makes most of the fonts a bit bigger, increases contrast, fixes some nits about the spacing in numbered/bulletted lists, and adds some image alt texts.
Overall this improves our Lighthouse accessibility score from 71 to 95 and I think it's subjectively more readable.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-17 17:19:58 -06:00
Margo Crawford
10b769c676
Fixed integration tests for load balancer capabilities
2021-02-17 10:55:49 -08:00
Margo Crawford
67da840097
Add loadbalancer for impersonation proxy when needed
2021-02-16 15:57:02 -08:00
Matt Moyer
93d4581721
Workaround a bad module version to fix Dependabot.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-16 17:05:33 -06:00
Matt Moyer
0a7c5b0604
Merge pull request #403 from mattmoyer/add-latest-generated-package
...
Add "go.pinniped.dev/generated/latest" package that is not a nested module.
2021-02-16 15:30:48 -06:00
Matt Moyer
acbeb93f79
Don't lint generated code.
...
This wasn't needed before because the other code wasn't in the main module and golangci-lint won't cross a module boundary.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-16 13:18:18 -06:00
Matt Moyer
6565265bee
Use new 'go.pinniped.dev/generated/latest' package.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-16 13:00:08 -06:00
Matt Moyer
b42a34d822
Add generated client code for 'latest'.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-16 12:34:33 -06:00
Matt Moyer
3ce3403b95
Update ./hack/update.sh to add a "latest" package.
...
This is just a copy of the newest Kubernetes version, but as a plain package and not a submodule.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-16 12:28:29 -06:00
Andrew Keesler
eb19980110
internal/concierge/impersonator: set user extra impersonation headers
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-16 09:26:47 -05:00
Andrew Keesler
c7905c6638
internal/concierge/impersonator: fail if impersonation headers set
...
If someone has already set impersonation headers in their request, then
we should fail loudly so the client knows that its existing impersonation
headers will not work.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-16 08:15:50 -05:00
Andrew Keesler
fdd8ef5835
internal/concierge/impersonator: handle custom login API group
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-16 07:55:09 -05:00
Andrew Keesler
25bc8dd8a9
test/integration: hopefully fix TestImpersonationProxy
...
I think we were assuming the name of our Concierge app, and getting lucky
because it was the name we use when testing locally (but not in CI).
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-15 18:04:21 -05:00
Andrew Keesler
6512ab1351
internal/concierge/impersonator: don't care about namespace
...
Concierge APIs are no longer namespaced (see f015ad5852 ).
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-15 17:11:59 -05:00
Ryan Richard
5cd60fa5f9
Move starting/stopping impersonation proxy server to a new controller
...
- Watch a configmap to read the configuration of the impersonation
proxy and reconcile it.
- Implements "auto" mode by querying the API for control plane nodes.
- WIP: does not create a load balancer or proper TLS certificates yet.
Those will come in future commits.
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-11 17:25:52 -08:00
Andrew Keesler
fac571b51a
Merge pull request #410 from ankeesler/update-copyright
...
generated: include 2021 in copyright
2021-02-11 12:26:31 -05:00
Andrew Keesler
9b87906a30
Merge remote-tracking branch 'upstream/main' into impersonation-proxy
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-11 11:03:33 -05:00
Andrew Keesler
c8b1f00107
generated: include 2021 in copyright
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-11 10:52:01 -05:00
Mo Khan
f015ad5852
Merge pull request #405 from enj/enj/i/cluster_scope_concierge
...
Cluster scope all concierge APIs
2021-02-11 08:50:42 -05:00
Monis Khan
b04fd46319
Update federation domain logic to use status subresource
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:10 -05:00
Monis Khan
4c304e4224
Assert all APIs have a status subresource
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:10 -05:00
Monis Khan
0a9f446893
Update credential issuer logic to use status subresource
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:10 -05:00
Monis Khan
96cec59236
Generated
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:09 -05:00
Monis Khan
4faf724c2c
Make credential issuer status optional
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:09 -05:00
Monis Khan
de88ae2f61
Fix status related RBAC
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:09 -05:00
Monis Khan
dd3d1c8b1b
Generated
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:09 -05:00
Monis Khan
2e9baf9fa6
Correctly generate status subresource for all CRDs
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:08 -05:00
Monis Khan
ac01186499
Use API service as owner ref for cluster scoped resources
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:08 -05:00
Monis Khan
2eb01bd307
authncache: remove namespace concept
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:08 -05:00
Monis Khan
741b8fe88d
Generated
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:08 -05:00
Monis Khan
d25c6d9d0a
Make kubebuilder CRDs cluster scoped
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:08 -05:00
Monis Khan
89b00e3702
Declare war on namespaces
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:07 -05:00
Monis Khan
d2480e6300
Generated
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:07 -05:00
Monis Khan
4205e3dedc
Make concierge APIs cluster scoped
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-10 21:52:07 -05:00
Matt Moyer
ee80920ffd
Merge pull request #409 from mattmoyer/upgrade-debian
...
Upgrade Debian base images from 10.7 to 10.8.
2021-02-10 16:57:09 -06:00
Matt Moyer
45f4a0528c
Upgrade Debian base images from 10.7 to 10.8.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-10 15:57:16 -06:00
Andrew Keesler
d0266cecdb
Merge pull request #390 from ankeesler/use-more-middleware
...
Use middleware to mutate TokenCredentialRequest.Spec.Authenticator.APIGroup
2021-02-10 16:38:54 -05:00
Andrew Keesler
0fc1f17866
internal/groupsuffix: mutate TokenCredentialRequest's Authenticator
...
This is a partial revert of 288d9c999e . For some reason it didn't occur to me
that we could do it this way earlier. Whoops.
This also contains a middleware update: mutation funcs can return an error now
and short-circuit the rest of the request/response flow. The idea here is that
if someone is configuring their kubeclient to use middleware, they are agreeing
to a narrow-er client contract by doing so (e.g., their TokenCredentialRequest's
must have an Spec.Authenticator.APIGroup set).
I also updated some internal/groupsuffix tests to be more realistic.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-10 15:53:44 -05:00
Andrew Keesler
ae6503e972
internal/plog: add KObj() and KRef()
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-10 14:25:39 -05:00
Mo Khan
44b7679e9f
Merge pull request #407 from ankeesler/test-flake
...
test/integration: make TestKubeCertAgent more stable
2021-02-10 14:24:44 -05:00
Andrew Keesler
12d5b8959d
test/integration: make TestKubeCertAgent more stable
...
I think the reason we were seeing flakes here is because the kube cert agent
pods had not reached a steady state even though our test assertions passed, so
the test would proceed immediately and run more assertions on top of a weird
state of the kube cert agent pods.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-10 12:08:34 -05:00
Andrew Keesler
5b076e7421
Merge pull request #404 from ankeesler/remove-deprecated-commands
...
cmd/pinniped: delete get-kubeconfig + exchange-token
2021-02-10 08:33:00 -05:00
Andrew Keesler
1ffe70bbea
cmd/pinniped: delete get-kubeconfig + exchange-token
...
These were deprecated in v0.3.0.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-09 17:01:57 -05:00
Ryan Richard
e4c49c37b9
Merge branch 'main' into impersonation-proxy
2021-02-09 13:45:37 -08:00
Ryan Richard
268ca5b7f6
Add config structs in impersonator package
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-09 13:44:19 -08:00
Mo Khan
cf735715f6
Merge pull request #394 from enj/enj/i/server_side_tcr_api_group
...
Use server scheme to handle credential request API group changes
2021-02-09 16:36:13 -05:00
Monis Khan
2679d27ced
Use server scheme to handle credential request API group changes
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-09 15:51:38 -05:00
Monis Khan
6b71b8d8ad
Revert server side token credential request API group changes
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-09 15:51:35 -05:00
Andrew Keesler
8697488126
internal/concierge/impersonator: use kubeconfig from kubeclient
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-09 15:28:56 -05:00
Margo Crawford
dfcc2a1eb8
Introduce clusterhost package to determine whether a cluster has control plane nodes
...
Also added hasExternalLoadBalancerProvider key to cluster capabilities
for integration testing.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-02-09 11:16:01 -08:00
Andrew Keesler
812f5084a1
internal/concierge/impersonator: don't mutate ServeHTTP() req
...
I added that test helper to create an http.Request since I wanted to properly
initialize the http.Request's context.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-09 13:25:32 -05:00
Andrew Keesler
43da4ab2e0
SECURITY.md: follow established pattern
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-09 09:08:19 -05:00
Matt Moyer
e4d8af6701
Merge pull request #399 from mattmoyer/upgrade-go
...
Upgrade Go from 1.15.7 to 1.15.8.
2021-02-08 18:17:17 -06:00
Matt Moyer
d06c935c2c
Upgrade Go from 1.15.7 to 1.15.8.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-08 10:58:51 -06:00
Mo Khan
9399b5d800
Merge pull request #395 from enj/enj/i/remove_multierror
...
Remove multierror package and migrate callers to k8s.io/apimachinery/pkg/util/errors.NewAggregate
2021-02-05 15:14:25 -05:00
Monis Khan
05a471fdf9
Migrate callers to k8s.io/apimachinery/pkg/util/errors.NewAggregate
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-05 12:56:05 -05:00
Monis Khan
81d4e50f94
Remove multierror package
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-05 12:55:18 -05:00
Matt Moyer
850f030fe3
Merge pull request #393 from enj/enj/i/no_op_tcr_list
...
Add no-op list support to token credential request
2021-02-05 11:09:09 -06:00
Monis Khan
f7958ae75b
Add no-op list support to token credential request
...
This allows us to keep all of our resources in the pinniped category
while not having kubectl return errors for calls such as:
kubectl get pinniped -A
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-05 10:59:39 -05:00
Andrew Keesler
ee05f155ca
Merge pull request #392 from ankeesler/flowcontrol-rbac
...
deploy/concierge: add RBAC for flowschemas and prioritylevelconfigurations
2021-02-05 09:19:50 -05:00
Andrew Keesler
2ae631b603
deploy/concierge: add RBAC for flowschemas and prioritylevelconfigurations
...
As of upgrading to Kubernetes 1.20, our aggregated API server nows runs some
controllers for the two flowcontrol.apiserver.k8s.io resources in the title of
this commit, so it needs RBAC to read them.
This should get rid of the following error messages in our Concierge logs:
Failed to watch *v1beta1.FlowSchema: failed to list *v1beta1.FlowSchema: flowschemas.flowcontrol.apiserver.k8s.io is forbidden: User "system:serviceaccount:concierge:concierge" cannot list resource "flowschemas" in API group "flowcontrol.apiserver.k8s.io" at the cluster scope
Failed to watch *v1beta1.PriorityLevelConfiguration: failed to list *v1beta1.PriorityLevelConfiguration: prioritylevelconfigurations.flowcontrol.apiserver.k8s.io is forbidden: User "system:serviceaccount:concierge:concierge" cannot list resource "prioritylevelconfigurations" in API group "flowcontrol.apiserver.k8s.io" at the cluster scope
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-05 08:19:12 -05:00
Matt Moyer
9c64476aee
Tweak some small bits in the blog post.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-04 17:51:35 -06:00
Matt Moyer
b6e98b5783
Update the get.pinniped.dev redirect to always point at the latest version.
...
I messed this up before because the ordering of the path components is a bit different than in the specific version case.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-04 17:48:41 -06:00
Matt Moyer
9addb4d6e0
Merge pull request #385 from vmware-tanzu/credential_request_spec_api_group
...
Use custom suffix in `Spec.Authenticator.APIGroup` of `TokenCredentialRequest`
2021-02-04 16:19:20 -06:00
Ryan Richard
2a921f7090
Merge branch 'main' into credential_request_spec_api_group
2021-02-04 13:44:53 -08:00
Matt Moyer
bb8b65cca6
Merge pull request #387 from vmware-tanzu/blog/multiple-pinnipeds
...
Add a v0.5.0 "multiple Pinnipeds" blog post.
2021-02-04 15:22:52 -06:00
Matt Moyer
5c331e9002
Fix go.pinniped.dev redirects.
...
Our meeting notes are now on HackMD, our Zoom link changed, and I added a YouTube link.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-04 14:56:50 -06:00
Matt Moyer
1382fc6e5f
Add a v0.5.0 "multiple Pinnipeds" blog post.
2021-02-04 14:56:49 -06:00
Andrew Keesler
cc8c917249
Merge pull request #325 from ankeesler/restart-test
...
Add an integration test helper to assert that no pods restart during the test
2021-02-04 13:07:40 -05:00
Andrew Keesler
ae498f14b4
test/integration: ensure no pods restart during integration tests
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-04 10:24:33 -05:00
Ryan Richard
288d9c999e
Use custom suffix in Spec.Authenticator.APIGroup of TokenCredentialRequest
...
When the Pinniped server has been installed with the `api_group_suffix`
option, for example using `mysuffix.com`, then clients who would like to
submit a `TokenCredentialRequest` to the server should set the
`Spec.Authenticator.APIGroup` field as `authentication.concierge.mysuffix.com`.
This makes more sense from the client's point of view than using the
default `authentication.concierge.pinniped.dev` because
`authentication.concierge.mysuffix.com` is the name of the API group
that they can observe their cluster and `authentication.concierge.pinniped.dev`
does not exist as an API group on their cluster.
This commit includes both the client and server-side changes to make
this work, as well as integration test updates.
Co-authored-by: Andrew Keesler <akeesler@vmware.com >
Co-authored-by: Ryan Richard <richardry@vmware.com >
Co-authored-by: Margo Crawford <margaretc@vmware.com >
2021-02-03 15:49:15 -08:00
Andrew Keesler
26922307ad
prepare-for-integration-tests.sh: New cmdline option --api_group_suffix
...
Makes it easy to deploy Pinniped under a different API group for manual
testing and iterating on integration tests on your laptop.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2021-02-03 12:07:38 -08:00
Ryan Richard
5549a262b9
Rename client_test.go to concierge_client_test.go
...
Because it is a test of the conciergeclient package, and the naming
convention for integration test files is supervisor_*_test.go,
concierge_*_test.go, or cli_*_test.go to identify which component
the test is primarily covering.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-03 12:07:38 -08:00
Margo Crawford
6b46bae6c6
Fixed integration test compile failures after rebase
2021-02-03 11:32:29 -08:00
Mo Khan
c5df66fbd5
Merge pull request #383 from enj/enj/i/avoid_scheme_double_register
...
Avoid double registering types in server scheme
2021-02-03 13:55:33 -05:00
Margo Crawford
23e8c35918
Revert "CredentialIssuer contains Impersonation Proxy spec"
...
This reverts commit 83bbd1fa9314508030ea9fcf26c6720212d65dc0.
2021-02-03 09:37:39 -08:00
Margo Crawford
ab60396ac4
CredentialIssuer contains Impersonation Proxy spec
2021-02-03 09:37:39 -08:00
Margo Crawford
343c275f46
Path to ci bundle rather than the actual value for get kubeconfig
...
Also changed a function param to a pointer
2021-02-03 09:37:36 -08:00
Margo Crawford
12e41d783f
Refactored execCredentialForImpersonationProxy to be shared
2021-02-03 09:34:48 -08:00
Margo Crawford
2f891b4bfb
Add --concierge-use-impersonation-proxy to static login
...
- also renamed --use-impersonation-proxy to
--concierge-use-impersonation-proxy
2021-02-03 09:34:47 -08:00
Margo Crawford
170b86d0c6
Add happy path test for login oidc
2021-02-03 09:34:47 -08:00
Margo Crawford
07b7b743b4
Impersonation proxy cli arguments
2021-02-03 09:34:39 -08:00
Matt Moyer
64aff7b983
Only log user ID, not user name/groups.
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-03 09:31:30 -08:00
Matt Moyer
1299231a48
Add integration test for impersonation proxy.
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-02-03 09:31:30 -08:00
Margo Crawford
b6abb022f6
Add initial implementation of impersonation proxy.
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-03 09:31:13 -08:00
Monis Khan
300d7bd99c
Drop duplicate logic for unversioned type registration
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-03 12:16:57 -05:00
Monis Khan
012bebd66e
Avoid double registering types in server scheme
...
This makes sure that if our clients ever send types with the wrong
group, the server will refuse to decode it.
Signed-off-by: Monis Khan <mok@vmware.com >
2021-02-03 12:16:57 -05:00
Andrew Keesler
e1d06ce4d8
internal/mocks/mockroundtripper: we don't need these anymore
...
We thought we needed these to test the middleware, but we don't.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-03 08:55:38 -05:00
Andrew Keesler
52b98bdb87
Merge pull request #330 from enj/enj/f/better_middleware
...
Enhance middleware to allow multiple Pinnipeds
2021-02-03 08:53:00 -05:00
Andrew Keesler
62c117421a
internal/kubeclient: fix not found test and request body closing bug
...
- I realized that the hardcoded fakekubeapi 404 not found response was invalid,
so we were getting a default error message. I fixed it so the tests follow a
higher fidelity code path.
- I caved and added a test for making sure the request body was always closed,
and believe it or not, we were double closing a body. I don't *think* this will
matter in production, since client-go will pass us ioutil.NopReader()'s, but
at least we know now.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-03 08:19:34 -05:00
Monis Khan
efe1fa89fe
Allow multiple Pinnipeds to work on same cluster
...
Yes, this is a huge commit.
The middleware allows you to customize the API groups of all of the
*.pinniped.dev API groups.
Some notes about other small things in this commit:
- We removed the internal/client package in favor of pkg/conciergeclient. The
two packages do basically the same thing. I don't think we use the former
anymore.
- We re-enabled cluster-scoped owner assertions in the integration tests.
This code was added in internal/ownerref. See a0546942 for when this
assertion was removed.
- Note: the middlware code is in charge of restoring the GV of a request object,
so we should never need to write mutations that do that.
- We updated the supervisor secret generation to no longer manually set an owner
reference to the deployment since the middleware code now does this. I think we
still need some way to make an initial event for the secret generator
controller, which involves knowing the namespace and the name of the generated
secret, so I still wired the deployment through. We could use a namespace/name
tuple here, but I was lazy.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
Co-authored-by: Ryan Richard <richardry@vmware.com >
2021-02-02 15:18:41 -08:00
Andrew Keesler
93d25a349f
hack: fix docker most recent tag check
...
I think this stopped working when we starting using a specific registry in e0b94f47 .
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-02 18:01:07 -05:00
Andrew Keesler
93ebd0f949
internal/plog: add Enabled()
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-02-02 18:01:06 -05:00
Matt Moyer
74a8005f92
Merge pull request #376 from mattmoyer/add-csrftoken-test
...
Add some trivial unit tests to internal/oidc/csrftoken.
2021-02-02 11:02:39 -06:00
Matt Moyer
5b4e58f0b8
Add some trivial unit tests to internal/oidc/csrftoken.
...
This change is primarily to test that our test coverage reporting is working as expected.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-02 09:38:17 -06:00
Matt Moyer
b871a02ca3
Merge pull request #375 from mattmoyer/test-coverage
...
Add Codecov configuration file.
2021-02-01 15:19:37 -06:00
Matt Moyer
6a20bbf607
Add Codecov configuration file.
...
This configures how our coverage reports are processed on https://codecov.io . See https://docs.codecov.io/docs/codecov-yaml for reference.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-02-01 14:28:38 -06:00
Ryan Richard
dfa4d639e6
Merge pull request #374 from microwavables/main
...
Updated the community meeting info with new zoom link and agenda notes
2021-01-29 14:15:17 -08:00
Nanci Lancaster
8b4024bf82
Updated the community meeting info with new zoom link and agenda notes
...
Signed-off-by: Nanci Lancaster <nancil@vmware.com >
2021-01-29 16:07:23 -06:00
Ryan Richard
d89c6546e7
Merge pull request #373 from microwavables/main
...
Updated text on community meetings and added YouTube link
2021-01-28 09:49:12 -08:00
Nanci Lancaster
2710591429
Updated text on community meetings and added YouTube link
...
Signed-off-by: Nanci Lancaster <nancil@vmware.com >
2021-01-28 11:22:44 -06:00
Matt Moyer
02815cfb26
Revert "Use GitHub's "latest" handling so this doesn't get out of sync."
...
This reverts commit 46ad41e813 .
This turns out not to work, so we have to use a hardcoded version here.
2021-01-28 10:28:46 -06:00
Matt Moyer
3f7cb5d9f8
Merge pull request #372 from mattmoyer/fix-redirects-version
...
Fix get.pinniped.dev latest version redirects.
2021-01-28 10:26:51 -06:00
Matt Moyer
46ad41e813
Use GitHub's "latest" handling so this doesn't get out of sync.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-01-28 10:25:33 -06:00
Matt Moyer
d4eca3a82a
Fix get.pinniped.dev latest version redirects.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-01-28 10:23:48 -06:00
Matt Moyer
c03a088399
Merge pull request #370 from mattmoyer/cleanup-docs
...
Clean up docs using https://get.pinniped.dev redirects.
2021-01-28 10:17:46 -06:00
Matt Moyer
f81dda4eda
Add syntax highlighting CSS.
...
This was generated via `hugo gen chromastyles --style=monokailight > ./site/themes/pinniped/assets/scss/_syntax.css`.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-01-28 10:15:39 -06:00
Matt Moyer
1ceef5874e
Clean up docs using https://get.pinniped.dev redirects.
...
We have these redirects set up to make the `kubectl apply -f [...]` commands cleaner, but we never went back and fixed up the documentation to use them until now.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-01-28 10:15:39 -06:00
Matt Moyer
1b224bc4f2
Merge pull request #369 from mattmoyer/cleanup-go-sum
...
Prune unused versions from go.sum.
2021-01-28 10:09:06 -06:00
Matt Moyer
530d6961c2
Prune unused versions from go.sum.
...
The broken github.com/oleiade/reflections v1.0.0 package was still causing problems with Dependabot.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-01-28 09:03:00 -06:00
Matt Moyer
fe500882ef
Merge pull request #365 from mattmoyer/upgrade-oleiade-reflections-dep
...
Upgrade github.com/oleiade/reflections to v1.0.1.
2021-01-27 15:56:49 -06:00
Matt Moyer
8358c26107
Upgrade github.com/oleiade/reflections to v1.0.1.
...
This project overwrote the v1.0.0 tag with a different commit ID, which has caused issues with the Go module sum DB (which accurately detected the issue).
This has been one of the reasons why Dependabot is not updating our Go dependencies.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-01-27 13:49:30 -06:00
Matt Moyer
ad9a187522
Merge pull request #335 from mattmoyer/optimize-dockerfile
...
Optimize image build using .dockerignore and BuildKit features.
2021-01-27 11:35:42 -06:00
Matt Moyer
8a41419b94
Optimize image build using .dockerignore and BuildKit features.
...
This optimizes our image in a few different ways:
- It adds a bunch of files and directories to the `.dockerignore` file.
This lets us have a single `COPY . .` but still be very aggressive about pruning what files end up in the build context.
- It adds build-time cache mounts to the `go build` commands using BuildKit's `--mount=type=cache` flag.
This requires BuildKit-capable Docker, but means that our Go builds can all be incremental builds.
This replaces the previous flow we had where we needed to split out `go mod download`.
- Instead of letting the full `apt-get install ca-certificates` layer end up in our final image, we copy just the single file we need.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-01-27 10:42:56 -06:00
Ryan Richard
6ef7ec21cd
Merge branch 'release-0.4' into main
2021-01-25 15:13:14 -08:00
Ryan Richard
b77297c68d
Validate the upstream email_verified claim when it makes sense
2021-01-25 15:10:41 -08:00
Ryan Richard
df1d15ebd1
Merge pull request from GHSA-wp53-6256-whf9
...
This is a fake PR for testing - please ignore
2021-01-22 12:46:53 -08:00
Ryan Richard
b3732e8b6c
Trivial change to a comment
2021-01-22 12:43:35 -08:00
Matt Moyer
7e887666ce
Merge pull request #349 from microwavables/main
...
Add Google Group for meetings
2021-01-21 15:15:01 -06:00
Nanci Lancaster
d6e6f51ced
Add Google Group for meetings
...
Signed-off-by: Nanci Lancaster <nancil@vmware.com >
2021-01-21 14:57:14 -06:00
Matt Moyer
9e21de9c47
Merge pull request #347 from mattmoyer/upgrade-go-oidc-library
...
Upgrade to github.com/coreos/go-oidc v3.0.0.
2021-01-21 14:39:22 -06:00
Matt Moyer
04c4cd9534
Upgrade to github.com/coreos/go-oidc v3.0.0.
...
See https://github.com/coreos/go-oidc/releases/tag/v3.0.0 for release notes.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-01-21 12:08:14 -06:00
Matt Moyer
5821faec03
Merge pull request #342 from vmware-tanzu/pre-commit-fix
...
Remove pre-commit hooks file to de-duplicate from pre-commit-config
2021-01-21 12:02:11 -06:00
Matt Moyer
8bca244d59
Merge pull request #345 from vmware-tanzu/dependabot/docker/golang-1.15.7
...
Bump golang from 1.15.6 to 1.15.7
2021-01-21 11:31:06 -06:00
dependabot[bot]
79fa96cfbc
Bump golang from 1.15.6 to 1.15.7
...
Bumps golang from 1.15.6 to 1.15.7.
Signed-off-by: dependabot[bot] <support@github.com >
2021-01-21 13:56:04 +00:00
Ryan Richard
b5cbe018e3
Allow passing multiple redirect URIs to Dex
...
We need this in CI when we want to configure Dex with the redirect URI for both
primary and secondary deploys at one time (since we only stand up Dex once).
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-01-20 17:06:50 -05:00
Andrew Keesler
33f4b671d1
Merge pull request #327 from ankeesler/reenable-max-inflight-checks
...
Restore max in flight check when updating to 0.19.5 #243
2021-01-19 18:29:38 -05:00
Andrew Keesler
50c3e4c00f
Merge branch 'main' into reenable-max-inflight-checks
2021-01-19 18:14:27 -05:00
Andrew Keesler
5486427d88
Merge pull request #344 from vmware-tanzu/wire-api-group-suffix
...
Wire api group suffix through YTT/server components/CLI/integration tests
2021-01-19 18:06:12 -05:00
Andrew Keesler
906bfa023c
test: wire API group suffix through to tests
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-01-19 17:23:20 -05:00
Andrew Keesler
1c3518e18a
cmd/pinniped: wire API group suffix through to client components
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-01-19 17:23:20 -05:00
Andrew Keesler
88fd9e5c5e
internal/config: wire API group suffix through to server components
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-01-19 17:23:20 -05:00
Ryan Richard
616211c1bc
deploy: wire API group suffix through YTT templates
...
I didn't advertise this feature in the deploy README's since (hopefully) not
many people will want to use it?
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-01-19 17:23:06 -05:00
Andrew Keesler
7a9c0e8c69
Merge branch 'main' into reenable-max-inflight-checks
2021-01-19 13:53:00 -05:00
Margo Crawford
c09020102c
Remove pre-commit hooks file
2021-01-19 09:43:11 -08:00
Andrew Keesler
af11d8cd58
Run Tilt images as root for faster reload
...
Previously, when triggering a Tilt reload via a *.go file change, a reload would
take ~13 seconds and we would see this error message in the Tilt logs for each
component.
Live Update failed with unexpected error:
command terminated with exit code 2
Falling back to a full image build + deploy
Now, Tilt should reload images a lot faster (~3 seconds) since we are running
the images as root.
Note! Reloading the Concierge component still takes ~13 seconds because there
are 2 containers running in the Concierge namespace that use the Concierge
image: the main Concierge app and the kube cert agent pod. Tilt can't live
reload both of these at once, so the reload takes longer and we see this error
message.
Will not perform Live Update because:
Error retrieving container info: can only get container info for a single pod; image target image:image/concierge has 2 pods
Falling back to a full image build + deploy
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-01-15 11:34:53 -05:00
Matt Moyer
93ba1b54f2
Merge branch 'main' into reenable-max-inflight-checks
2021-01-15 10:19:17 -06:00
Matt Moyer
156e8d9df4
Merge pull request #334 from mattmoyer/fix-test-e2e-full-integration-groups-assertion
...
Fix an issue in TestE2EFullIntegration groups assertions.
2021-01-14 21:22:13 -06:00
Matt Moyer
6a0dc1e2bb
Fix an issue in TestE2EFullIntegration groups assertions.
...
The group claims read from the session cache file are loaded as `[]interface{}` (slice of empty interfaces) so when we previously did a `groups, _ := idTokenClaims[oidc.DownstreamGroupsClaim].([]string)`, then `groups` would always end up nil.
The solution I tried here was to convert the expected value to also be `[]interface{}` so that `require.Equal(t, ...)` does the right thing.
This bug only showed up in our acceptance environnment against Okta, since we don't have any other integration test coverage with IDPs that pass a groups claim.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2021-01-14 21:06:02 -06:00
Margo Crawford
b95f2c97b9
Merge pull request #333 from vmware-tanzu/groups-claim-parsing
...
groups claim parsing
2021-01-14 15:55:42 -08:00
Margo Crawford
d11a73c519
PR feedback-- omit empty groups, keep groups as nil until last minute
...
Also log keys and values for claims
2021-01-14 15:11:00 -08:00
Andrew Keesler
6fce1bd6bb
Allow arrays of type interface
...
and always set the groups claim to an
array in the downstream token
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-01-14 17:21:41 -05:00
Margo Crawford
5e60c14ce7
internal/upstreamoidc: log claims from ID token and userinfo
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-01-14 16:47:39 -05:00
Andrew Keesler
434448a2f9
Merge pull request #331 from ankeesler/1-20-owner-ref-test
...
Update test/integration/kubeclient_test.go to work with Kube 1.20 GC behavior
2021-01-14 10:59:02 -05:00
Andrew Keesler
8a916ce8ae
test/integration: add test helper to avoid race conditions
...
We were seeing a race in this test code since the require.NoError() and
require.Eventually() would write to the same testing.T state on separate
goroutines. Hopefully this helper function should cover the cases when we want
to require.NoError() inside a require.Eventually() without causing a race.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
Co-authored-by: Margo Crawford <margaretc@vmware.com >
Co-authored-by: Monis Khan <i@monis.app >
2021-01-14 10:19:35 -05:00
Andrew Keesler
a0546942b8
test/integration: skip part of test to avoid Kube 1.20 GC bug
...
See comment.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
Co-authored-by: Margo Crawford <margaretc@vmware.com >
Co-authored-by: Monis Khan <i@monis.app >
2021-01-14 10:19:26 -05:00
Andrew Keesler
792bb98680
Revert "Temporarily disable max inflight checks for mutating requests"
...
This reverts commit 4a28d1f800 .
This commit was originally made to fix a bug that caused TokenCredentialRequest
to become slow when the server was idle for an extended period of time. This was
to address a Kubernetes issue that was fixed in 1.19.5 and onward. We are now
running with Kubernetes 1.20, so we should be able to pick up this fix.
2021-01-13 11:12:09 -05:00
Andrew Keesler
3151ca92db
Merge pull request #322 from enj/enj/f/user_info_test
...
Wire in new env vars for user info testing
2021-01-12 11:51:46 -05:00
Monis Khan
3c3da9e75d
Wire in new env vars for user info testing
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-01-12 11:23:25 -05:00
Mo Khan
3f08f2e11e
Merge pull request #318 from enj/enj/f/user_info_endpoint
...
Fetch claims from the user info endpoint if provided
2021-01-11 14:14:20 -05:00
Monis Khan
6fff179e39
Fetch claims from the user info endpoint if provided
...
Signed-off-by: Monis Khan <mok@vmware.com >
2021-01-09 18:16:24 -05:00
Margo Crawford
3569076d3e
Merge pull request #317 from vmware-tanzu/kubernetes-1.20
...
Switching to Kubernetes 1.20
2021-01-08 15:31:48 -08:00
Margo Crawford
2686031ac1
Fixing documentation to reference 1.20 generated docs
2021-01-08 15:21:23 -08:00
Margo Crawford
9051342d6d
Ignore lint error
2021-01-08 14:13:04 -08:00
Margo Crawford
6f04613aed
Merge branch 'main' of github.com:vmware-tanzu/pinniped into kubernetes-1.20
2021-01-08 13:22:31 -08:00
Margo Crawford
326f10bbbf
Resolving code review suggestions:
...
- set provideClusterInfo to true
- kubernetes library versions to 0.20.1
- version timestamps back to v0.0.0-00010101000000-000000000000
2021-01-08 10:21:59 -08:00
Mo Khan
6a9976742c
Merge pull request #316 from enj/enj/i/always_set_owner_ref
...
Always set an owner ref back to our deployment
2021-01-07 19:51:02 -05:00
Margo Crawford
1b770b01ae
Fix failing kubeconfig unit test
2021-01-07 16:23:41 -08:00
Margo Crawford
5611212ea9
Changing references from 1.19 to 1.20
2021-01-07 15:25:47 -08:00
Margo Crawford
b8f56bd10b
1.20 Changes to the update script and Dockerfile
2021-01-07 13:20:25 -08:00
Monis Khan
bba0f3a230
Always set an owner ref back to our deployment
...
This change updates our clients to always set an owner ref when:
1. The operation is a create
2. The object does not already have an owner ref set
Signed-off-by: Monis Khan <mok@vmware.com >
2021-01-07 15:25:40 -05:00
Margo Crawford
9b8e4f4d5b
Merge pull request #315 from vmware-tanzu/kube-versions-1.20.0
...
Kubernetes 1.20.0 generated code
2021-01-07 10:47:52 -08:00
Margo Crawford
b7cd026bd6
Merge branch 'main' of github.com:vmware-tanzu/pinniped into kube-versions-1.20.0
2021-01-07 10:30:40 -08:00
Margo Crawford
553e25cbb7
Add generated/1.20 directory
2021-01-07 10:29:56 -08:00
Margo Crawford
988eee82cf
Merge pull request #314 from vmware-tanzu/kube-versions-1.20.0
...
Add kubernetes 1.20 to kube-versions.txt
2021-01-07 09:57:36 -08:00
Margo Crawford
da1bf06764
Add kubernetes 1.20 to kube-versions.txt
2021-01-07 09:51:45 -08:00
Andrew Keesler
13d17ba352
Merge pull request #312 from ankeesler/credential-issuer-test-timing
...
test/integration: fix intermittent failures on GKE
2021-01-06 14:58:06 -05:00
Andrew Keesler
3d8616e75f
test/integration: fix intermittent failures on GKE
...
See comment. This is at least a first step to make our GKE acceptance
environment greener. Previously, this test assumed that the Pinniped-under-test
had been deployed in (roughly) the last 10 minutes, which is not an assumption
that we make anywhere else in the integration test suite.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-01-06 12:09:11 -05:00
Margo Crawford
e7884d8793
Merge pull request #313 from vmware-tanzu/copyright-year
...
Copyright year validation in linter and pre-commit hook
2021-01-06 09:08:19 -08:00
Margo Crawford
19d592566d
Merge branch 'main' into copyright-year
2021-01-06 09:03:13 -08:00
Margo Crawford
afa140b6a6
Add more text explaining what copyright notice should look like
2021-01-05 16:06:59 -08:00
Margo Crawford
ea6ebd0226
Got pre-commit to check for correct copyright year
2021-01-05 15:53:14 -08:00
Andrew Keesler
53a185083c
Hopefully triggering the precommit hook
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-01-05 14:15:46 -08:00
Margo Crawford
f1e177fee7
Copyright year precommit hook
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-01-05 14:02:28 -08:00
Andrew Keesler
75bc5bdc7e
Linter allows range of years in copyright
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-01-05 13:35:09 -08:00
Margo Crawford
0d4588aa8d
Merge pull request #311 from vmware-tanzu/dont-block-owner-deletion
...
Remove blockOwnerDeletion from the supervisor secrets
2021-01-05 13:18:39 -08:00
Andrew Keesler
40753d1454
Remove blockOwnerDeletion from the supervisor secrets
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2021-01-05 10:44:36 -08:00
Andrew Keesler
dd3c990a51
Merge pull request #310 from vmware-tanzu/supervisor-demo
...
Supervisor demo
2021-01-05 09:57:53 -05:00
Andrew Keesler
ef74ba7238
Re-export arch diagram to embed images
...
I followed the steps in site/content/docs/img/README.md.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-01-05 08:44:10 -05:00
Andrew Keesler
b4415a05d0
I don't _think_ we need this picture anymore
...
See f25b4a3 .
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-01-05 08:36:26 -05:00
Margo Crawford
7817d15657
Remove image width constraint on architecture diagram
2021-01-04 17:08:47 -08:00
Margo Crawford
f25b4a3e12
De-duped architecture diagram references
2021-01-04 16:47:34 -08:00
Margo Crawford
8422659ee5
Fixed typos and issues with the demo code
...
- Also cleaned up some wording
2021-01-04 16:23:24 -08:00
Margo Crawford
ef828cf2e1
Add rough draft of supervisor demo
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2021-01-04 15:31:53 -05:00
Ryan Richard
546b8b5d25
Merge pull request #305 from vmware-tanzu/quiet-secrets-controllers
...
Sync Secret-watching controller less often by adjusting their filters to be more specific
2020-12-18 18:21:51 -08:00
Ryan Richard
a7f383f610
Merge branch 'main' into quiet-secrets-controllers
2020-12-18 18:20:54 -08:00
Ryan Richard
116c8dd6c5
SupervisorSecretsController Syncs less often by adjusting its filters
...
- Only watches Secrets of type
"secrets.pinniped.dev/supervisor-csrf-signing-key"
Signed-off-by: Aram Price <pricear@vmware.com >
2020-12-18 15:57:12 -08:00
Aram Price
1b5e8c3439
Upstream Watcher Controller Syncs less often by adjusting its filters
...
- Only watches Secrets of type "secrets.pinniped.dev/oidc-client"
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-18 15:41:18 -08:00
Margo Crawford
80031deab7
Merge pull request #297 from vmware-tanzu/supervisor-docs
...
Update docs for Supervisor
2020-12-18 15:36:00 -08:00
Margo Crawford
a005b8dce1
Merge branch 'main' into supervisor-docs
2020-12-18 15:34:34 -08:00
aram price
cc5af1a810
Fix lint error
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-18 15:28:56 -08:00
Ryan Richard
23be766c8b
Move const to file-of-use and replce dup string
...
Signed-off-by: aram price <pricear@vmware.com >
2020-12-18 15:14:51 -08:00
Ryan Richard
2f518b8b7c
TLSCertObserverController Syncs less often by adjusting its filters
...
- Only watches Secrets of type "kubernetes.io/tls"
Signed-off-by: Aram Price <pricear@vmware.com >
2020-12-18 15:10:48 -08:00
Margo Crawford
6cae776e48
Change image reference on README,
...
Also clarified some wording between authenticators and identity providers
2020-12-18 15:09:50 -08:00
aram price
cff2dc1379
Reorder functions
2020-12-18 15:08:55 -08:00
Ryan Richard
fc250f98d0
Adjust func grouping
2020-12-18 14:58:39 -08:00
Matt Moyer
8177db3601
Merge pull request #306 from mattmoyer/website-updates
...
Fix a website typo and add an "Installing Pinniped" docs page.
2020-12-18 16:55:14 -06:00
Aram Price
b3e428c9de
Several more controllers Sync less often by adjusting their filters
...
- JWKSWriterController
- JWKSObserverController
- FederationDomainSecretsController for HMAC keys
- FederationDomainSecretsController for state signature key
- FederationDomainSecretsController for state encryption key
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-18 14:55:05 -08:00
Margo Crawford
afc39cd2f7
Tweak image descriptions
2020-12-18 14:54:30 -08:00
Margo Crawford
7c9f40b6d9
Merge branch 'main' of github.com:vmware-tanzu/pinniped into supervisor-docs
2020-12-18 14:49:44 -08:00
Matt Moyer
8313ffcf7f
Add "Installing Pinniped" docs page.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-18 16:44:20 -06:00
Andrew Keesler
0b12b30cb1
Updated diagrams and architecture text
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-18 14:13:29 -08:00
Matt Moyer
c27d02a929
Fix a typo on the Project Scope page.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-18 13:48:12 -06:00
Margo Crawford
4dbd8c9cae
Update Concierge-only demo for v0.3.0 release
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-18 13:06:09 -05:00
Ryan Richard
1056cef384
Sync garbage collector controller less often by adjusting its filters
...
- Only sync on add/update of secrets in the same namespace which
have the "storage.pinniped.dev/garbage-collect-after" annotation, and
also during a full resync of the informer whenever secrets in the
same namespace with that annotation exist.
- Ignore deleted secrets to avoid having this controller trigger itself
unnecessarily when it deletes a secret. This controller is never
interested in deleted secrets, since its only job is to delete
existing secrets.
- No change to the self-imposed rate limit logic. That still applies
because secrets with this annotation will be created and updated
regularly while the system is running (not just during rare system
configuration steps).
2020-12-18 09:36:28 -08:00
Andrew Keesler
40d93ff33b
site/content/docs/architecture.md: another coat of paint with Supervisor updates
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-18 09:39:36 -05:00
Andrew Keesler
1af06bbcc9
De-dup markdown docs by deleting them in site/ tree
...
I'm not sure if these docs are used anywhere in our website, but I don't think
that they are. I'm assuming someone or something will yell if these should not
be deleted. These docs also live at the root of the repo, and the duplicate
versions are already drifting out of sync from one another.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-18 08:11:14 -05:00
Ryan Richard
6c210b67d4
Merge pull request #301 from vmware-tanzu/typed-secrets
...
Put a Type on all of the Secrets that we create in the supervisor
2020-12-17 17:42:20 -08:00
Ryan Richard
3a4405659e
Merge branch 'main' into typed-secrets
2020-12-17 17:42:04 -08:00
aram price
187bd9060c
All FederationDomain Secrets have distinct Types
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-17 17:07:38 -08:00
Margo Crawford
2e191084b0
Miscellaneous wording changes
2020-12-17 16:42:45 -08:00
Matt Moyer
7a98900b28
Merge pull request #302 from mattmoyer/switch-registry-references
...
Move our main image references to the VMware Harbor registry.
2020-12-17 18:23:12 -06:00
Margo Crawford
28e23e14b5
Demo landing page
2020-12-17 16:08:51 -08:00
Margo Crawford
5f2807e693
Updates to the architecture page.
2020-12-17 15:55:05 -08:00
Matt Moyer
e0b94f4780
Move our main image references to the VMware Harbor registry.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-17 17:51:09 -06:00
aram price
587cced768
Add extra type info where SecretType is used
2020-12-17 15:43:20 -08:00
Ryan Richard
50964c6677
Supervisor CSRF Secret has unique Type
...
Signed-off-by: aram price <pricear@vmware.com >
2020-12-17 15:30:26 -08:00
Matt Moyer
81eb0735d1
Merge pull request #299 from mattmoyer/update-go-dependencies
...
Update dependencies before v0.3.0 release.
2020-12-17 17:28:40 -06:00
Matt Moyer
c7931bc6d5
Remove our main module dependency on golangci-lint.
...
We will still pin this in CI via an image dependency.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-17 17:01:32 -06:00
Ryan Richard
b27e3e1a89
Put a Type on the Secrets that we create for FederationDomain JWKS
...
Signed-off-by: Aram Price <pricear@vmware.com >
2020-12-17 14:48:49 -08:00
Matt Moyer
8db9331fed
Update ExpectedAuthorizeCodeSessionJSONFromFuzzing.
...
We stared at this very carefully and we don't think there are any structural changes. Maybe something small happened to get the RNG off by one?
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-17 16:31:08 -06:00
Matt Moyer
3e15e184ef
Update test assertions related to spf13/cobra.
...
It now correctly prints errors to stderr (https://github.com/spf13/cobra/pull/894 ).
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-17 16:31:08 -06:00
Matt Moyer
6a457466df
Update generated k8s code for 1.19.5.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-17 16:31:08 -06:00
Matt Moyer
3a81fbd1b4
Update fosite error usage.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-17 16:31:08 -06:00
Matt Moyer
421c17c421
Update all modules.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-17 16:31:08 -06:00
Ryan Richard
780d236d89
Merge pull request #300 from vmware-tanzu/even-more-opc-renames
...
Even more "op" and "opc" local variable renames
2020-12-17 13:51:54 -08:00
Aram Price
55483b726b
More "op" and "opc" local variable renames
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-17 13:49:53 -08:00
Andrew Keesler
157d041b6a
README.md: first draft of Supervisor additions
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-17 15:36:33 -05:00
Ryan Richard
32602f579b
Merge pull request #298 from vmware-tanzu/more-opc-rename
...
Rename all "op" and "opc" usages
2020-12-17 12:31:52 -08:00
Ryan Richard
65e7df1417
Merge branch 'main' into more-opc-rename
2020-12-17 12:10:19 -08:00
Ryan Richard
b96d49df0f
Rename all "op" and "opc" usages
...
Signed-off-by: Aram Price <pricear@vmware.com >
2020-12-17 11:34:49 -08:00
Margo Crawford
152838e998
CONTRIBUTING.md: add missing integration test dependencies
...
Also alphabetize dependencies because sorting wins.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-17 13:59:23 -05:00
Matt Moyer
9183c3897f
Merge pull request #281 from mattmoyer/upgrade-dex
...
Upgrade the Dex we use for local testing to v2.27.0.
2020-12-17 12:50:36 -06:00
Andrew Keesler
b009cee877
Add Margo and Mo as maintainers of Pinniped
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-17 13:37:20 -05:00
Matt Moyer
41832369fd
Upgrade the Dex we use for local testing to v2.27.0.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-17 12:04:09 -06:00
Matt Moyer
cc5cb394e0
Merge pull request #143 from enj/enj/i/cache_mutation_detector_unit
...
Enable cache mutation detector in unit tests
2020-12-17 10:09:02 -06:00
Matt Moyer
b60542f0d1
Clean this test up a trivial amount using require.Implementsf().
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-17 08:38:16 -06:00
Monis Khan
dc8e7a2f39
Enable cache mutation detector in unit tests
...
Signed-off-by: Monis Khan <mok@vmware.com >
2020-12-17 08:38:15 -06:00
Matt Moyer
34e6e7567f
Merge pull request #295 from ankeesler/fix-secret-status
...
Only set single secret status field in FederationDomainSecretsController
2020-12-17 08:26:23 -06:00
Andrew Keesler
04d54e622a
Only set single secret status field in FederationDomainSecretsController
...
This implementation is janky because I wanted to make the smallest change
possible to try to get the code back to stable so we can release.
Also deep copy an object so we aren't mutating the cache.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-17 07:41:53 -05:00
Ryan Richard
4c6e1e5fb3
supervisor_login_test.go: wait for the /jwks.json endpoint to be ready
...
- Also fail in a more obvious way if the token exchanged failed by
adding an assertion about its status code
2020-12-16 17:59:39 -08:00
Ryan Richard
b2b906f4fe
supervisor_discovery_test.go: make test timeouts longer to avoid flakes
2020-12-16 15:13:02 -08:00
Margo Crawford
40586b255c
Merge pull request #293 from vmware-tanzu/rename-oidcprovider-and-upstreamoidcprovider
...
Rename OIDCProvider -> FederationDomain and UpstreamOIDCProvider -> OIDCIdentityProvider
2020-12-16 14:58:33 -08:00
Margo Crawford
196e43aa48
Rename off of main
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-16 14:27:09 -08:00
Matt Moyer
fbe1a202c2
Merge pull request #283 from vmware-tanzu/username-and-subject-claims
...
Adjust subject and username claims
2020-12-16 15:23:34 -06:00
Matt Moyer
7dae166a69
Merge branch 'main' into username-and-subject-claims
2020-12-16 15:23:19 -06:00
Matt Moyer
72ce69410e
Merge pull request #273 from vmware-tanzu/secret-generation
...
Generate secrets for Pinniped Supervisor
2020-12-16 15:22:23 -06:00
Matt Moyer
7bb0d649c0
Merge pull request #290 from mattmoyer/rename-token-exchange-scope
...
Rename the "pinniped.sts.unrestricted" scope to "pinniped:request-audience".
2020-12-16 15:22:05 -06:00
Matt Moyer
c110e173ac
Merge pull request #286 from mattmoyer/upgrade-debian-base-image
...
Upgrade base images to Debian 10.7-slim.
2020-12-16 15:21:31 -06:00
Matt Moyer
111f6513ac
Upgrade base images to Debian 10.7-slim.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-16 15:16:31 -06:00
Matt Moyer
5367fd9fcb
Trigger CI
2020-12-16 15:13:28 -06:00
Andrew Keesler
095ba14cc8
Merge remote-tracking branch 'upstream/main' into secret-generation
2020-12-16 15:40:34 -05:00
Andrew Keesler
446863ad96
Merge pull request #292 from ankeesler/golang-debian-bump
...
Upgrade golang (1.15.5 -> 1.15.6)
2020-12-16 15:38:12 -05:00
Matt Moyer
8527c363bb
Rename the "pinniped.sts.unrestricted" scope to "pinniped:request-audience".
...
This is a bit more clear. We're changing this now because it is a non-backwards-compatible change that we can make now since none of this RFC8693 token exchange stuff has been released yet.
There is also a small typo fix in some flag usages (s/RF8693/RFC8693/)
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-16 14:24:13 -06:00
Matt Moyer
05127f4cfb
Merge pull request #291 from mattmoyer/tweak-oidcclient-timeouts
...
Tweak timeouts in oidcclient package.
2020-12-16 14:23:32 -06:00
Ryan Richard
653224c2ad
types_jwt.go.tmpl: Replace spaces with tabs
2020-12-16 12:21:30 -08:00
Margo Crawford
406fc95501
Empty commit to trigger CI
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-16 11:49:59 -08:00
Matt Moyer
01b6bf7850
Tweak timeouts in oidcclient package.
...
- The overall timeout for logins is increased to 90 minutes.
- The timeout for token refresh is increased from 30 seconds to 60 seconds to be a bit more tolerant of extremely slow networks.
- A new, matching timeout of 60 seconds has been added for the OIDC discovery, auth code exchange, and RFC8693 token exchange operations.
The new code uses the `http.Client.Timeout` field rather than managing contexts on individual requests. This is easier because the OIDC package stores a context at creation time and tries to use it later when performing key refresh operations.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-16 13:47:08 -06:00
Matt Moyer
2840e4e152
Merge pull request #288 from mattmoyer/fixup-securityheaders
...
Fix a regression in securityheaders package and add tests.
2020-12-16 13:46:28 -06:00
Matt Moyer
3948bb76d8
Be more lax in some of our test assertions.
...
Fosite overrides the `Cache-Control` header we set, which is basically fine even though it's not exactly what we want.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-16 13:15:38 -06:00
Matt Moyer
24c01d3e54
Add an integration test to verify security headers on the supervisor authorize endpoint.
...
It would be great to do this for the supervisor's callback endpoint as well, but it's difficult to get at those since the request happens inside the spawned browser.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-16 12:41:06 -06:00
Matt Moyer
74e52187a3
Simplify securityheader package by merging header fields.
...
From RFC2616 (https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2 ):
> It MUST be possible to combine the multiple header fields into one "field-name: field-value" pair,
> without changing the semantics of the message, by appending each subsequent field-value to the first,
> each separated by a comma.
This was correct before, but this simplifes a bit and shaves off a few bytes from the response.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-16 12:41:05 -06:00
Matt Moyer
602f3c59ba
Fix a regression in securityheader package.
...
The bug itself has to do with when headers are streamed to the client. Once a wrapped handler has sent any bytes to the `http.ResponseWriter`, the value of the map returned from `w.Header()` no longer matters for the response. The fix is fairly trivial, which is to add those response headers before invoking the wrapped handler.
The existing unit test didn't catch this due to limitations in `httptest.NewRecorder()`. It is now replaced with a new test that runs a full HTTP test server, which catches the previous bug.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-16 12:41:05 -06:00
Aram Price
a33dace80b
Upgrade golang (1.15.5 -> 1.15.6)
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-16 13:31:54 -05:00
Margo Crawford
1d4012cabf
jwtcachefiller_test.go: don't assert about time zones in errors
...
Because the library that we are using which returns that error
formats the timestamp in localtime, which is LMT when running
on a laptop, but is UTC when running in CI.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-16 10:17:17 -08:00
Ryan Richard
dcb19150fc
Nest claim configs one level deeper in JWTAuthenticatorSpec
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-16 09:42:19 -08:00
Matt Moyer
bc1dc0805e
Merge pull request #289 from mattmoyer/fix-secret-type-doc-comment
...
Fix documentation comment for the UpstreamOIDCProvider's spec.client.secretName type.
2020-12-16 10:09:05 -06:00
Andrew Keesler
fec80113c7
Revert "Retry a couple of times if we fail to get a token from the Supervisor"
...
This reverts commit be4e34d0c0 .
Roll back this change that was supposed to make the test more robust. If we
retry multiple token exchanges with the same auth code, of course we are going
to get failures on the second try onwards because the auth code was invalidated
on the first try.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-16 09:04:29 -05:00
Andrew Keesler
5bdbfe1bc6
test/integration: more verbosity to try to track down flakes...
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-16 09:04:25 -05:00
Matt Moyer
404ff93102
Fix documentation comment for the UpstreamOIDCProvider's spec.client.secretName type.
...
The value is correctly validated as `secrets.pinniped.dev/oidc-client` elsewhere, only this comment was wrong.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 21:52:07 -06:00
aram price
78df80f128
Tests ensure OIDCProvider secrets exist
...
... whenever one is successfully created.
2020-12-15 18:26:27 -08:00
Ryan Richard
40c6a67631
Merge branch 'main' into username-and-subject-claims
2020-12-15 18:09:44 -08:00
Ryan Richard
91af51d38e
Fix integration tests to work with the username and sub claims
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-15 17:16:08 -08:00
Margo Crawford
a10d219049
Pass through custom groups claim and username claim
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-15 16:11:53 -08:00
Andrew Keesler
0758ecfea8
Tests wait for OIDCProvider secrets to be set
...
Signed-off-by: aram price <pricear@vmware.com >
2020-12-15 15:46:55 -08:00
Ryan Richard
05ab8f375e
Default to "username" claim in jwtcachefiller
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-15 14:37:38 -08:00
Aram Price
0bd428e45d
test/integration: more logging to track down flakes
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-15 16:52:57 -05:00
Margo Crawford
720bc7ae42
jwtcachefiller_test.go: refactor and remove "if short skip" check
...
- Refactor the test to avoid testing a private method and instead
always test the results of running the controller.
- Also remove the `if testing.Short()` check because it will always
be short when running unit tests. This prevented the unit test
from ever running, both locally and in CI.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-15 13:33:49 -08:00
Andrew Keesler
056afc17bd
Merge remote-tracking branch 'upstream/main' into secret-generation
2020-12-15 15:55:46 -05:00
Andrew Keesler
35bb76ea82
Ensure labels are set correct on generated Supervisor secret
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-15 15:55:14 -05:00
Andrew Keesler
3d4717b772
Merge pull request #285 from vmware-tanzu/log-unexpected-upstream
...
Log when unexpected Upstream OIDC Providers found
2020-12-15 15:30:20 -05:00
Andrew Keesler
2b7685fa23
Merge branch 'main' into log-unexpected-upstream
2020-12-15 15:30:05 -05:00
Andrew Keesler
9d9040944a
Secrets owned by Deployment have Controller: false
...
- This is to prevent K8s internal Deployment controller from trying to
manage these objects
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-15 12:12:47 -08:00
Matt Moyer
2b2f1bbfc9
Merge pull request #276 from mattmoyer/extended-e2e-cli
...
Enhance CLI to integrate supervisor and concierge capabilities.
2020-12-15 13:23:51 -06:00
aram price
2edcdc92f4
Log when unexpected Upstream OIDC Providers found
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-15 10:49:13 -08:00
Ryan Richard
0e60c93cef
Add UsernameClaim and GroupsClaim to JWTAuthenticator CRD spec
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-15 10:36:19 -08:00
Matt Moyer
0b38d6c763
Add TestE2EFullIntegration test which combines supervisor, concierge, and CLI.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:34:50 -06:00
Matt Moyer
ff49647de4
Add some missing test logs in test/library/client.go.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:34:50 -06:00
Matt Moyer
e0eba9d5a6
Refactor library.CreateTestJWTAuthenticator() so we can also use the supervisor as an upstream.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:34:50 -06:00
Matt Moyer
5ad3c65ae1
Close the right pipe output in runPinnipedLoginOIDC.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:34:50 -06:00
Matt Moyer
aca9af748b
Cleanup TestSuccessfulCredentialRequest and TestCLILoginOIDC a little.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:34:49 -06:00
Matt Moyer
8cdcb89cef
Add a library.PinnipedCLIPath() test helper, with caching.
...
Caching saves us a little bit of time now that we're using the CLI in more and more tests.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:34:49 -06:00
Matt Moyer
70fd330178
Add library.CreateTestClusterRoleBinding test helper.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:34:49 -06:00
Matt Moyer
ad5e257600
Add a library.RandHex() test helper.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:34:49 -06:00
Matt Moyer
4088793cc5
Add a .ProxyEnv() helper on the test environment.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:28:04 -06:00
Matt Moyer
b6edc3dc08
Replace TestCLIGetKubeconfig with TestCLIGetKubeconfigStaticToken.
...
It now tests both the deprecated `pinniped get-kubeconfig` and the new `pinniped get kubeconfig --static-token` flows.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:28:03 -06:00
Matt Moyer
fe4e2d620d
Update TestCLIGetKubeconfig to ignore stderr output from get-kubeconfig.
...
This will now have a deprecation warning, so we can't treat is as part of the YAML output.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:28:03 -06:00
Matt Moyer
f9691208d5
Add library.NewRestConfigFromKubeconfig() test helper.
...
This is extracted from library.NewClientsetForKubeConfig(). It is useful so you can assert properties of the loaded, parsed kubeconfig.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:28:03 -06:00
Matt Moyer
71850419c1
Overhaul pinniped CLI subcommands.
...
- Adds two new subcommands: `pinniped get kubeconfig` and `pinniped login static`
- Adds concierge support to `pinniped login oidc`.
- Adds back wrapper commands for the now deprecated `pinniped get-kubeconfig` and `pinniped exchange-credential` commands. These now wrap `pinniped get kubeconfig` and `pinniped login static` respectively.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:28:03 -06:00
Matt Moyer
dfbb5b60de
Remove pinniped get-kubeconfig CLI subcommand.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:28:03 -06:00
Matt Moyer
3b5f00439c
Remove pinniped exchange-credential CLI subcommand.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:28:02 -06:00
Matt Moyer
9b7fe01648
Add a new ./pkg/conciergeclient package to replace ./internal/client.
...
This is a slighly evolved version of our previous client package, exported to be public and refactored to use functional options for API maintainability.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-15 12:28:02 -06:00
Andrew Keesler
2e784e006c
Merge remote-tracking branch 'upstream/main' into secret-generation
2020-12-15 13:24:33 -05:00
Andrew Keesler
08cf2f7cd1
Merge pull request #284 from ankeesler/oidcprovider-enum-values
...
SameIssuerHostMustUseSameSecret is a valid OIDCProvider status, and help some test flakes
2020-12-15 13:23:16 -05:00
Andrew Keesler
be4e34d0c0
Retry a couple of times if we fail to get a token from the Supervisor
...
I hope this will make TestSupervisorLogin less flaky. There are some instances
where the front half of the OIDC login flow happens so fast that the JWKS
controller doesn't have time to properly generate an asymmetric key.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-15 11:53:58 -05:00
Andrew Keesler
50f9b434e7
SameIssuerHostMustUseSameSecret is a valid OIDCProvider status
...
I saw this message in our CI logs, which led me to this fix.
could not update status: OIDCProvider.config.supervisor.pinniped.dev "acceptance-provider" is invalid: status.status: Unsupported value: "SameIssuerHostMustUseSameSecret": supported values: "Success", "Duplicate", "Invalid"
Also - correct an integration test error message that was misleading.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-15 11:53:53 -05:00
Ryan Richard
43bb7117b7
Allow upstream group claim values to be either arrays or strings
2020-12-15 08:34:24 -08:00
Andrew Keesler
7320928235
Get rid of TODOs in code by punting on them
...
We will do these later; they have been recorded in a work tracking record.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-15 09:58:46 -05:00
Andrew Keesler
d2498c96e0
Merge remote-tracking branch 'upstream/main' into secret-generation
2020-12-15 09:27:23 -05:00
Andrew Keesler
82ae98d9d0
Set secret names on OIDCProvider status field
...
We believe this API is more forwards compatible with future secrets management
use cases. The implementation is a cry for help, but I was trying to follow the
previously established pattern of encapsulating the secret generation
functionality to a single group of packages.
This commit makes a breaking change to the current OIDCProvider API, but that
OIDCProvider API was added after the latest release, so it is technically still
in development until we release, and therefore we can continue to thrash on it.
I also took this opportunity to make some things private that didn't need to be
public.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-15 09:13:01 -05:00
Andrew Keesler
60d4a7beac
Test more filters in SupervisorSecretsController (see 6e8d564013)
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-15 07:58:33 -05:00
Andrew Keesler
9a3e60d4df
go.mod: unnecessary dependency slipped in ( c3f73ff)
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-15 07:56:31 -05:00
aram price
e03e344dcd
SecretHelper depends less on OIDCProvider
...
This should allow the helper to be more generic so that it can be used
with the SupervisorSecretsController
2020-12-14 19:35:45 -08:00
aram price
bf86bc3383
Rename for clarity
2020-12-14 18:36:56 -08:00
Ryan Richard
16dfab0aff
token_handler_test.go: Add tests for username and groups custom claims
2020-12-14 18:27:14 -08:00
aram price
b799515f84
Pull symmetricsecrethelper package up to generator
...
- rename symmetricsecrethelper.New => generator.NewSymmetricSecretHelper
2020-12-14 17:41:02 -08:00
Ryan Richard
417e6b1fee
Merge pull request #282 from vmware-tanzu/security-headers
...
Add Cache-Control, Pragma, Expires, and X-DNS-Prefetch-Control headers
2020-12-14 17:22:09 -08:00
Margo Crawford
afcd5e3e36
WIP: Adjust subject and username claims
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-14 17:05:53 -08:00
aram price
b1ee434ddf
Rename in preparation for refactor
2020-12-14 16:44:27 -08:00
aram price
6e8d564013
Test filters in SupervisorSecretsController
2020-12-14 16:08:48 -08:00
Ryan Richard
16907e4453
Add Cache-Control, Pragma, Expires, and X-DNS-Prefetch-Control headers
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-14 15:28:32 -08:00
Andrew Keesler
9c79adcb26
Rename and move some code to perpare for refactor
...
Signed-off-by: aram price <pricear@vmware.com >
2020-12-14 14:24:13 -08:00
Aram Price
5b7a86ecc1
Integration test for Supervisor secret controllers
...
This forced us to add labels to the CSRF cookie secret, just as we do
for other Supervisor secrets. Yay tests.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-14 15:53:12 -05:00
Andrew Keesler
cae0023234
Merge remote-tracking branch 'upstream/main' into secret-generation
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-14 11:44:01 -05:00
Andrew Keesler
2f28d2a96b
Synchronize the OIDCProvider secrets cache
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-14 11:32:33 -05:00
Andrew Keesler
e3ea141bf3
Reuse helper filter in generic secret gen controller
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-14 10:37:27 -05:00
Andrew Keesler
b043dae149
Finish first implementation of generic secret generator controller
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-14 10:36:45 -05:00
aram price
3ca877f1df
WIP - preliminary OIDCProviderSecrets controller
...
Tests not yet passing, controller is incomplete and expectations may be
incorrect.
2020-12-13 17:37:49 -05:00
aram price
3e31668eb0
Refactor some utilitiy methods for sharing.
2020-12-13 17:37:48 -05:00
aram price
9e2213cbae
Rename for clarity
...
- makes space for OIDCPrivder related controller
2020-12-13 17:37:48 -05:00
Ryan Richard
a5c07042c1
Merge pull request #279 from vmware-tanzu/fosite-settings
...
Update more fosite settings
2020-12-11 18:19:50 -08:00
Ryan Richard
7cda6628a6
Merge branch 'main' into fosite-settings
2020-12-11 18:19:37 -08:00
Ryan Richard
020fbcf190
Adjust some expectations about the state and nonce lengths
2020-12-11 17:39:58 -08:00
Ryan Richard
791c50fd33
Merge pull request #278 from vmware-tanzu/fosite-storage-gc
...
Garbage collect the fosite secrets to limit amount of storage used
2020-12-11 17:17:15 -08:00
Margo Crawford
2a19dd0d2e
Pass prompt through to upstream login request
...
Signed-off-by: Ryan Richard <rrichard@vmware.com >
2020-12-11 17:13:27 -08:00
Margo Crawford
ded28dff15
Update the fosite settings
...
- AudienceMatchingStrategy: we want to use the default matcher from
fosite, so remove that line
- AllowedPromptValues: We can use the default if we add a small
change to the auth_handler.go to account for it (in a future commit)
- MinParameterEntropy: Use the fosite default to make it more likely
that off the shelf OIDC clients can work with the supervisor
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-11 16:15:50 -08:00
Ryan Richard
baa1a4a2fc
Supervisor storage garbage collection controller enabled in production
...
- Also add more log statements to the controller
- Also have the controller apply a rate limit to itself, to avoid
having a very chatty controller that runs way more often than is
needed.
- Also add an integration test for the controller's behavior.
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-11 15:21:34 -08:00
Andrew Keesler
022dcd1909
Update secretgenerator controller after synchronous review
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-11 15:37:10 -05:00
Andrew Keesler
e2aad48852
internal/oidc/dynamiccodec: loosen test to reduce flakes
...
When we try to decode with the wrong decryption key, we could get any number of
error messages, depending on what failure mode we are in (couldn't authenticate
plaintext after decryption, couldn't deserialize, etc.). This change makes the
test weaker, but at least we know we will get an error message in the case where
the decryption key is wrong.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-11 11:49:27 -05:00
Andrew Keesler
e17bc31b29
Pass CSRF cookie signing key from controller to cache
...
This also sets the CSRF cookie Secret's OwnerReference to the Pod's grandparent
Deployment so that when the Deployment is cleaned up, then the Secret is as
well.
Obviously this controller implementation has a lot of issues, but it will at
least get us started.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-11 11:49:27 -05:00
Andrew Keesler
22c5b102ed
internal/downward: add support for (optional) pod name
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-11 11:49:27 -05:00
Andrew Keesler
0246e57d7f
Set lifespans on state and CSRF cooking encoding
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-11 11:49:22 -05:00
Andrew Keesler
9460b08873
Use just-in-time HMAC signing key fetching in our Fosite config
...
This pattern is similar to what we did in
58237d0e7d .
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-11 11:16:46 -05:00
Margo Crawford
ed9b3ffce5
Add controller for garbage collecting secrets
...
Signed-off-by: Ryan Richard <rrichard@vmware.com >
2020-12-10 17:34:05 -08:00
aram price
a3285fc187
Fix variable / package name collision
2020-12-10 17:32:55 -08:00
aram price
e1173eb5eb
manager.Manager is initialized with secret.Cache
...
- hard-coded secret.Cache is passed in from pinniped-supervisor/main
2020-12-10 17:32:55 -08:00
aram price
72bc458c8e
Manager uses secret.Cach with hardcoded values
2020-12-10 17:32:55 -08:00
Andrew Keesler
e067892ffc
Add secret.Cache to hold crypto inputs
2020-12-10 17:32:55 -08:00
aram price
2f87be3f94
Manager uses dynamiccodec.Codec for cookie encoding
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-10 17:32:55 -08:00
Andrew Keesler
1291380611
dynamiccodec.Codec uses securecookie.JSONEncoder
...
Signed-off-by: aram price <pricear@vmware.com >
2020-12-10 17:32:55 -08:00
aram price
ccac124b7a
Fix broken test
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-10 17:32:55 -08:00
Andrew Keesler
d8212d1337
Whitespace
...
Signed-off-by: aram price <pricear@vmware.com >
2020-12-10 17:32:55 -08:00
aram price
030edaf72d
KeyFunc no longer uses multi-value return
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-10 17:32:55 -08:00
Andrew Keesler
c3f73ffb57
Check in some musings on a symmetric key generator controller
...
There is still a test failing, but I am sure it is a simple fix hiding in the
code. I think this is the general shape of the controller that we want.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-10 17:32:55 -08:00
Andrew Keesler
3e112fb1ac
internal/oidc/dynamiccodec: first draft
...
Note that we don't cache the securecookie.SecureCookie that we use in our
implementation. This was purely because of laziness. We should think about
caching this value in the future.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-10 17:32:55 -08:00
Ryan Richard
afd216308b
KubeStorage annotates every Secret with garbage-collect-after timestamp
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-10 14:47:58 -08:00
Margo Crawford
b0c354637d
WIP passing lifetime through to storage, unit tests are failing
...
Signed-off-by: Ryan Richard <rrichard@vmware.com >
2020-12-10 12:15:40 -08:00
Ryan Richard
c001bb876e
Merge pull request #275 from vmware-tanzu/fosite-storage-gc-prefactor
...
Fosite storage garbage collection prefactor
2020-12-10 10:50:29 -08:00
Ryan Richard
3c6d1a1924
Merge branch 'main' into fosite-storage-gc
2020-12-10 10:45:26 -08:00
Margo Crawford
6f40dcb471
Increase the RefreshTokenSessionStorageLifetime
...
- Make it more likely that the end user will get the more specific error
message saying that their refresh token has expired the first time
that they try to use an expired refresh token
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-10 10:44:27 -08:00
Ryan Richard
a561fd21d9
Consolidate the supervisor's timeout settings into a single struct
...
- This struct represents the configuration of all timeouts. These
timeouts are all interrelated to declare them all in one place.
This should also make it easier to allow the user to override
our defaults if we would like to implement such a feature in the
future.
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-10 10:14:54 -08:00
Matt Moyer
40c9e8472c
Merge pull request #272 from mattmoyer/default-cli-scopes
...
Tweak default CLI `--scopes` parameter to match supervisor use case.
2020-12-10 11:41:22 -06:00
Matt Moyer
e7338da3dc
Tweak default CLI --scopes parameter to match supervisor use case.
...
This should be a better default for most cases.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-10 10:48:11 -06:00
Matt Moyer
0c52739997
Merge pull request #271 from mattmoyer/fix-cli-content-type-parsing
...
Fix bug in handling response content-type in oidcclient.
2020-12-10 10:46:10 -06:00
Matt Moyer
9d3c98232b
Fix bug in handling response content-type in oidcclient.
...
Before this, we weren't properly parsing the `Content-Type` header. This breaks in integration with the Supervisor since it sends an extra encoding parameter like `application/json;charset=UTF-8`.
This change switches to properly parsing with the `mime.ParseMediaType` function, and adds test cases to match the supervisor behavior.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-10 10:12:56 -06:00
Matt Moyer
5a0918afde
Merge pull request #270 from mattmoyer/default-cli-client-id
...
Add a default --client-id in `pinniped login oidc` command.
2020-12-10 10:12:28 -06:00
Matt Moyer
4395d5a0ca
Add a default --client-id in pinniped login oidc command.
...
This default matches the static client we have defined in the supervisor, which will be the correct value in most cases.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-10 09:46:07 -06:00
Andrew Keesler
d83927ae75
Merge pull request #268 from vmware-tanzu/secret-generation-prefactor
...
Secret generation prefactor
2020-12-10 08:39:32 -05:00
aram price
86c75b7a80
CSRF cookie is no longer encrypted
2020-12-09 17:34:02 -08:00
aram price
f1f8ffa456
Distinct Encoder's use distinct keys
2020-12-09 17:34:02 -08:00
aram price
4a5f8e30a8
Use distinct Encoder for state and csrf data
2020-12-09 17:34:02 -08:00
aram price
e111ca02da
Use the narrowest possible interface
2020-12-09 17:34:02 -08:00
aram price
6ec3589112
Use recorder Cookies() helper
...
- replaces hand-parsing of cookie strings
2020-12-09 17:34:02 -08:00
Margo Crawford
2ddba8d825
Merge pull request #267 from vmware-tanzu/token-exchange-endpoint
...
Implement RFC8693 token exchange handler in the supervisor
2020-12-09 17:13:28 -08:00
Margo Crawford
218f27306c
Integration test for refresh grant
...
Signed-off-by: Ryan Richard <rrichard@vmware.com >
2020-12-09 17:07:37 -08:00
Margo Crawford
fde2e6fa97
Merge remote-tracking branch 'origin/main' into token-exchange-endpoint
2020-12-09 15:22:54 -08:00
Ryan Richard
4d82ec1283
Merge pull request #262 from vmware-tanzu/token-refresh
...
Support for the refresh grant in the supervisor's token endpoint
2020-12-09 15:22:02 -08:00
Ryan Richard
5b7c510577
Fixed error handling for token exchange when openid scope missing
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-09 15:15:50 -08:00
Ryan Richard
0abadddb1a
token_handler_test.go: modify a test about refresh request scopes param
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-09 15:03:52 -08:00
Margo Crawford
5f6e7de785
Merge branch 'token-refresh' into token-exchange-endpoint
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-09 14:56:41 -08:00
Ryan Richard
64631d5780
token_handler_test.go: add even more test cases for refresh grant
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-09 14:53:39 -08:00
Ryan Richard
0386658d26
token_handler_test.go: add more test cases for refresh grant
2020-12-09 14:12:00 -08:00
Matt Moyer
167d440b65
Remove this unneccesary go113 nolint directives.
...
We disabled this linter across the project.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-09 14:51:27 -06:00
Matt Moyer
3e6ebab389
Clean up TestTokenExchange a bit.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-09 14:49:44 -06:00
Matt Moyer
f90b5d48de
Merge branch 'token-refresh' of github.com:vmware-tanzu/pinniped into token-exchange-endpoint
2020-12-09 14:46:57 -06:00
Matt Moyer
016b0e9a8e
Satisfy the pedantic linter config 🙃 .
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-09 14:41:27 -06:00
Ryan Richard
51c828382f
Supervisor token endpoint supports refresh grant type
...
- This commit does not include the sad path tests for the refresh
grant type, which will come in a future commit.
2020-12-09 12:12:59 -08:00
Matt Moyer
02d96d731f
Finish TestTokenExchange unit tests and add missing scope check.
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-09 13:56:53 -06:00
Ryan Richard
cac3a3520f
Merge branch 'main' into token-refresh
2020-12-09 09:58:21 -08:00
Matt Moyer
b04db6ad2b
Fix some false positive gosec warnings.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-09 10:42:37 -06:00
Matt Moyer
f1aff2faab
Start extending TestSupervisorLogin to test the token exchange flow (WIP).
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-09 10:23:10 -06:00
Matt Moyer
b1542be7b1
In oidcclient token exchange request, pass client_id but don't bother with authorization header.
...
I think this should be more correct. In the server we're authenticating the request primarily via the `subject_token` parameter anyway, and Fosite needs the `client_id` to be set.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-09 10:08:41 -06:00
Matt Moyer
1db2ae3a45
Add more parameter validations and refactor internal/oidc/token_exchange.go.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-09 10:04:58 -06:00
Matt Moyer
e25d090ca9
Merge branch 'main' of github.com:vmware-tanzu/pinniped into token-exchange-endpoint
2020-12-09 10:00:54 -06:00
Andrew Keesler
5f4348c57d
Merge pull request #266 from ankeesler/fix-jwt-auth-ca-bundle
...
Fix `JWTAuthenticator` CA bundle
2020-12-09 10:43:33 -05:00
Matt Moyer
644cb687b9
Grant the Pinniped STS scope in authorize/callback handlers.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-09 09:36:45 -06:00
Matt Moyer
bebe25c32e
Merge branch 'main' of github.com:vmware-tanzu/pinniped into token-exchange-endpoint
2020-12-09 09:25:58 -06:00
Andrew Keesler
4c0fb12cf6
test/integration: only set JWTAuthenticator CA bundle when it exists
...
See comment in code.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-09 10:15:53 -05:00
Andrew Keesler
93cfd8c93a
Fix prepare-for-integration-tests.sh and Tiltfile for kubectl 1.20
...
kubectl 1.20 prints "Kubernetes control plane" instead of "Kubernetes master".
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-09 10:15:34 -05:00
Matt Moyer
5f1bd5ec31
Update TestNullStorage_GetClient with adjusted pinniped-cli scopes.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-09 09:12:32 -06:00
Andrew Keesler
8fcc176d8b
Merge pull request #258 from ankeesler/jwt-authenticator
...
Add JWTAuthenticator API and initial controller
2020-12-09 08:21:04 -05:00
Ryan Richard
6420caca94
Bring back the test that was skipped by the previous commit
...
- This test is still a work in progress. Some TODO comments
have been added to give hints for next steps.
2020-12-08 18:25:01 -08:00
Ryan Richard
f84dda937b
Merge branch 'token-refresh' into token-exchange-endpoint
2020-12-08 18:12:12 -08:00
Ryan Richard
ef4ef583dc
token_handler_test.go: Refactor how we specify the expected results
...
- This is to make it easier for the token exchange branch to also edit
this test without causing a lot of merge conflicts with the
refresh token branch, to enable parallel development of closely
related stories.
2020-12-08 18:10:55 -08:00
Margo Crawford
f103c02408
Add check for grant type in tokenexchangehandler,
...
- also started writing a test for the tokenexchangehandler, skipping for
now
Signed-off-by: Ryan Richard <rrichard@vmware.com >
2020-12-08 17:33:08 -08:00
Margo Crawford
ef3f837800
Merge remote-tracking branch 'origin/token-refresh' into token-exchange-endpoint
2020-12-08 16:58:35 -08:00
Ryan Richard
170982a688
refactor token_handler_test.go: easier to make more requests after initial authcode exchange
...
- This refactor will allow us to add new test tables for the
refresh and token exchange requests, which both must come after
an initial successful authcode exchange has already happened
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-08 16:54:58 -08:00
Margo Crawford
a852baac75
Merge remote-tracking branch 'origin/token-refresh' into token-exchange-endpoint
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-08 12:55:44 -08:00
Andrew Keesler
381a2e749a
impotent -> idempotent
...
These words do not mean the same thing...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-08 15:41:49 -05:00
Aram Price
9ed5dcb031
Only create underlying jwt authenticator when spec has changed
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-08 15:41:49 -05:00
Andrew Keesler
e0ee18a993
Always close JWTAuthenticator underlying authenticator
...
Otherwise we will leak goroutines.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-08 15:41:48 -05:00
Andrew Keesler
0efc19a1b7
Support JWTAuthenticator in pinniped CLI
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-08 15:41:48 -05:00
Andrew Keesler
57103e0a9f
Add JWTAuthenticator controller
...
See https://github.com/vmware-tanzu/pinniped/issues/260 for UX bummer.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-08 15:41:48 -05:00
Andrew Keesler
946b0539d2
Add JWTAuthenticator API type
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-08 15:41:48 -05:00
Ryan Richard
a9111f39af
Merge branch 'main' into token-refresh
2020-12-08 12:32:41 -08:00
Ryan Richard
18d90a727e
token_handler_test.go: refresh token gets deleted when authcode reused
2020-12-08 12:12:55 -08:00
Ryan Richard
c090eb6a62
Supervisor token endpoint returns refresh tokens when requested
2020-12-08 11:47:39 -08:00
Andrew Keesler
8f51993db2
Merge pull request #265 from vmware-tanzu/scope-constants
...
Use constants for scope values
2020-12-08 14:32:09 -05:00
aram price
8d2b8ae6b5
Use constants for scope values
2020-12-08 10:46:05 -08:00
Matt Moyer
afbef23a51
WIP implementing TokenExchangeHandler methods
...
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-08 10:17:03 -08:00
Margo Crawford
e5ecaf01a0
WIP stubbing out tokenexchangehandler
2020-12-08 09:28:19 -08:00
Margo Crawford
b7b6816531
Merge pull request #259 from mattmoyer/add-cli-request-audience
...
Add a `--request-audience` flag to the `pinniped login oidc` CLI command
2020-12-08 09:26:19 -08:00
Matt Moyer
bfcd2569e9
Add a --request-audience flag to the pinniped login oidc CLI command.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-08 10:22:20 -06:00
Aram Price
d91baba240
authorize and callback endpoints now handle the offline_access scope
...
- This is in preparation for the token endpoint to support the refresh
grant
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-07 17:22:34 -08:00
Ryan Richard
6a90a10123
Merge pull request #249 from vmware-tanzu/token-endpoint
...
OIDC token endpoint supports authcode flow
2020-12-07 15:08:07 -08:00
Ryan Richard
12e5f94e75
Merge branch 'main' into token-endpoint
2020-12-07 14:23:40 -08:00
Ryan Richard
e1ae48f2e4
Discovery does not return token_endpoint_auth_signing_alg_values_supported
...
`token_endpoint_auth_signing_alg_values_supported` is only related to
private_key_jwt and client_secret_jwt client authentication methods
at the token endpoint, which we do not support. See
https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
for more details.
Signed-off-by: Aram Price <pricear@vmware.com >
2020-12-07 14:15:31 -08:00
Matt Moyer
dcaf9166dc
Merge pull request #261 from mattmoyer/remove-goerr113-linter
...
Disable the goerr113 linter.
2020-12-07 16:07:11 -06:00
Matt Moyer
9e945d7547
Disable the goerr113 linter.
...
This linter is nice in principle, but I've found it more annoying than helpful in practice.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-07 15:53:41 -06:00
Aram Price
648fa4b9ba
Backfill test for token endpoint error when JWK is not yet available
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-07 11:53:24 -08:00
Ryan Richard
e0b6133bf1
Integration tests call supervisor token endpoint and validate response
...
Signed-off-by: Aram Price <pricear@vmware.com >
2020-12-04 17:07:04 -08:00
Aram Price
ac19782405
Merge branch 'main' into token-endpoint
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-04 15:52:49 -08:00
Ryan Richard
858356610c
Make assertions about how many secrets were stored by fosite in tests
...
In both callback_handler_test.go and token_handler_test.go
Signed-off-by: Aram Price <pricear@vmware.com >
2020-12-04 15:40:17 -08:00
Matt Moyer
040ad3293a
Merge pull request #255 from mattmoyer/reduce-default-cli-scopes
...
Remove "email" and "profile" from default scopes requested by CLI.
2020-12-04 17:04:03 -06:00
Matt Moyer
66270fded0
Merge pull request #257 from mattmoyer/prefactoring-for-cli-request-audience
...
Prefactor before adding CLI "request audience" functionality.
2020-12-04 17:03:38 -06:00
Aram Price
26a8747509
Use the more specific label name of "storage.pinniped.dev/type"
...
Instead of the less specific "storage.pinniped.dev"
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-04 14:39:11 -08:00
Ryan Richard
ac83633888
Add fosite kube storage for access and refresh tokens
...
Also switched the token_handler_test.go to use kube storage.
Signed-off-by: Aram Price <pricear@vmware.com >
2020-12-04 14:31:06 -08:00
Matt Moyer
c6ead9d7dd
Remove "email" and "profile" from default scopes requested by CLI.
...
We decided that we don't really need these in every case, since we'll be returning username and groups in a custom claim.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-04 16:02:16 -06:00
Matt Moyer
8c3be3ffb2
Refactor UpstreamOIDCIdentityProviderI claim handling.
...
This refactors the `UpstreamOIDCIdentityProviderI` interface and its implementations to pass ID token claims through a `*oidctypes.Token` return parameter rather than as a third return parameter.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-04 15:35:35 -06:00
Matt Moyer
014d760f3d
Add validated ID token claims to the oidctypes.Token structure.
...
This is just a more convenient copy of these values which are already stored inside the ID token. This will save us from having to pass them around seprately or re-parse them later.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-04 15:18:41 -06:00
Andrew Keesler
8d5f4a93ed
Get rid of an unnecessary comment from 58237d0e7d
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-04 11:16:32 -05:00
Andrew Keesler
37631b41ea
Don't set our TokenURL - we don't need it right now
...
TokenURL is used by Fosite to validate clients authenticating with the
private_key_jwt method. We don't have any use for this right now, so just leave
this blank until we need it.
See when Ryan brought this up in
https://github.com/vmware-tanzu/pinniped/pull/239#discussion_r528022162 .
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-04 10:18:45 -05:00
Andrew Keesler
03806629b8
Cleanup code via TODOs accumulated during token endpoint work
...
We opened https://github.com/vmware-tanzu/pinniped/issues/254 for the TODO in
dynamicOpenIDConnectECDSAStrategy.GenerateToken().
This commit also ensures that linting and unit tests are passing again.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-04 10:09:42 -05:00
Andrew Keesler
83e0934864
Add logging in dynamic OIDC ECDSA strategy
...
I'm worried that these errors are going to be really burried from the user, so
add some log statements to try to make them a tiny bit more observable.
Also follow some of our error message convetions by using lowercase error
messages.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-04 09:05:39 -05:00
Andrew Keesler
2dc3ab1840
Merge remote-tracking branch 'upstream/main' into token-endpoint
2020-12-04 08:58:18 -05:00
Matt Moyer
7b088d611d
Merge pull request #252 from mattmoyer/fix-csrf-cookie-same-site
...
Switch CSRF cookie from `Same-Site=Strict` to `Same-Site=Lax`.
2020-12-03 21:53:24 -06:00
Matt Moyer
f0ebd808d7
Switch CSRF cookie from Same-Site=Strict to Same-Site=Lax.
...
This CSRF cookie needs to be included on the request to the callback endpoint triggered by the redirect from the OIDC upstream provider. This is not allowed by `Same-Site=Strict` but is allowed by `Same-Site=Lax` because it is a "cross-site top-level navigation" [1].
We didn't catch this earlier with our Dex-based tests because the upstream and downstream issuers were on the same parent domain `*.svc.cluster.local` so the cookie was allowed even with `Strict` mode.
[1]: https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site-00#section-3.2
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-03 21:30:00 -06:00
Margo Crawford
0bb2b10b3b
Passing signing key through to the token endpoint
2020-12-03 17:16:08 -08:00
Matt Moyer
fa94ebfbd1
Merge pull request #229 from vmware-tanzu/callback-endpoint
...
Implement supervisor OIDC upstream callback endpoint used during authorize flow
2020-12-03 16:28:02 -06:00
Matt Moyer
c18c670765
Merge remote-tracking branch 'origin/main' into callback-endpoint
2020-12-03 14:53:26 -06:00
Matt Moyer
f410da0ed2
Merge pull request #242 from rajat404/refactor-docs
...
Remove duplicate docs from the repo and change all links to point to …
2020-12-03 14:52:51 -06:00
Andrew Keesler
58237d0e7d
WIP: start to wire signing key into token handler
...
This commit includes a failing test (amongst other compiler failures) for the
dynamic signing key fetcher that we will inject into fosite. We are checking it
in so that we can pass the WIP off.
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-03 15:37:25 -05:00
Matt Moyer
c8abc79d9b
Fix this comment (and retrigger CI).
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-03 14:24:26 -06:00
Matt Moyer
9455a66be8
This trailing dash is now taken care of by the library method.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-03 13:56:24 -06:00
aram price
05085d8e23
Use anonymous interface in test for Storage
2020-12-03 11:26:36 -08:00
Matt Moyer
8563c05baf
Tweak these timeouts to be a bit faster (and retrigger CI).
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-03 13:22:27 -06:00
Ryan Richard
67bf54a9f9
Use an interface for storage in token_handler_test.go
...
Signed-off-by: Aram Price <pricear@vmware.com >
2020-12-03 11:05:47 -08:00
Matt Moyer
408fbe4f76
Parameterize the supervisor_redirect_uri in the test env Dex.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-03 12:45:56 -06:00
Matt Moyer
cb5e494815
Dump out proxy access logs in TestSupervisorLogin.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-03 11:28:48 -06:00
Matt Moyer
954591d2db
Add some debugging logs to our proxy client code.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-03 10:25:26 -06:00
Andrew Keesler
2f1a67ef0d
Merge remote-tracking branch 'upstream/callback-endpoint' into token-endpoint
2020-12-03 11:14:37 -05:00
Matt Moyer
d7b1ab8e43
Try to capture more logs from the TestSupervisorLogin test.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-03 09:39:33 -06:00
Matt Moyer
1d44a0cdfa
Add a small integration test library to dump pod logs on test failures.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-03 09:39:33 -06:00
Matt Moyer
1fa41c4d0a
Merge remote-tracking branch 'origin/main' into callback-endpoint
2020-12-03 08:50:31 -06:00
Matt Moyer
0deb7cc09a
Merge pull request #250 from mattmoyer/fix-ipv6-test-regression
...
Fix a test regression with IPv6 localhost interfaces.
2020-12-03 08:48:57 -06:00
Andrew Keesler
fe2e2bdff1
Our ID token signing algorithm is ES256, not RS256
...
We are currently using EC keys to sign ID tokens, so we should reflect that in
our OIDC discovery metadata.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-03 07:46:07 -05:00
Ryan Richard
95093ab0af
Use kube storage for the supervisor callback endpoint's fosite sessions
2020-12-02 17:40:01 -08:00
Margo Crawford
1dd7c82af6
Added id token verification
2020-12-02 16:55:48 -08:00
Matt Moyer
64ef53402d
In TestSupervisorLogin, wrap the discovery request in an Eventually().
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-02 18:07:52 -06:00
Matt Moyer
37c5e121c4
Fix a test issue with IPv6 localhost interfaces.
...
This fixes a regression introduced by 24c4bc0dd4 . It could occasionally cause the tests to fail when run on a machine with an IPv6 localhost interface. As a fix I added a wrapper for the new Go 1.15 `LookupIP()` method, and created a partially-functional backport for Go 1.14. This should be easy to delete in the future.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-02 17:49:21 -06:00
Matt Moyer
879525faac
Clean up the browsertest package a bit.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-02 17:20:24 -06:00
Ryan Richard
6ed9107df0
Remove a couple of todos that will be resolved in Slack conversations
2020-12-02 14:20:18 -08:00
Ryan Richard
c320132289
Back-fill some more unit tests on authorizationcode_test.go
2020-12-02 14:20:18 -08:00
Matt Moyer
ae9bdc1d61
Fix a lint warning by simplifying this append operation.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-02 16:11:40 -06:00
Matt Moyer
c0f13ef4ac
Merge remote-tracking branch 'origin/main' into callback-endpoint
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-02 16:09:08 -06:00
Matt Moyer
f40144e1a9
Update TestSupervisorLogin to test the callback flow using a browser.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-02 15:55:35 -06:00
Matt Moyer
0ccf14801e
Expose the MaskTokens function so other test code can use it.
...
This is just a small helper to make test output more readable.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-02 15:55:34 -06:00
Matt Moyer
273ac62ec2
Extend the test client helpers in ./test/library/client.go.
...
This adds a few new "create test object" helpers and extends `CreateTestOIDCProvider()` to optionally wait for the created OIDCProvider to enter some expected status condition.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-02 15:55:34 -06:00
Matt Moyer
545c26e5fe
Refactor browser-related test functions to a ./test/library/browsertest package.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-02 15:55:34 -06:00
Matt Moyer
22953cdb78
Add a CA.Pool() method to ./internal/certauthority.
...
This is convenient for at least one test and is simple enough to write and test.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-02 15:55:34 -06:00
Matt Moyer
fe0481c304
In integration test env, deploy a ClusterIP service and register that with Dex.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-02 15:55:33 -06:00
Matt Moyer
fde56164cd
Add a redirectURI parameter to ExchangeAuthcodeAndValidateTokens() method.
...
We missed this in the original interface specification, but the `grant_type=authorization_code` requires it, per RFC6749 (https://tools.ietf.org/html/rfc6749#section-4.1.3 ).
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-02 15:55:33 -06:00
Matt Moyer
4fe691de92
Save an http.Client with each upstreamoidc.ProviderConfig object.
...
This allows the token exchange request to be performed with the correct TLS configuration.
We go to a bit of extra work to make sure the `http.Client` object is cached between reconcile operations so that connection pooling works as expected.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-02 15:55:33 -06:00
Matt Moyer
c23c54f500
Add an explicit Path=/; to our CSRF cookie, per the spec.
...
> [...] a cookie named "__Host-cookie1" MUST contain a "Path" attribute with a value of "/".
https://tools.ietf.org/html/draft-ietf-httpbis-cookie-prefixes-00#section-3.2
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-12-02 15:55:33 -06:00
Margo Crawford
9419b7392d
WIP: start to validate ID token returned from token endpoint
...
This won't compile, but we are passing this between two teammates.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-02 16:26:47 -05:00
Andrew Keesler
09e6c86c46
token_handler.go: complete some TODOs and strengthen double auth code test
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-02 15:33:57 -05:00
Rajat Goyal
7e78c9322c
Remove duplicate documentation images from the repo and change all links to point to the Hugo site
2020-12-02 23:58:19 +05:30
Rajat Goyal
31810a97e1
Remove duplicate docs from the repo and change all links to point to the Hugo site
2020-12-02 23:58:19 +05:30
Andrew Keesler
8e4c85d816
WIP: get linting and unit tests passing after token endpoint first draft
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-02 11:16:02 -05:00
Andrew Keesler
970be58847
token_handler.go: first draft of token handler, with a bunch of TODOs
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-12-02 11:14:45 -05:00
Margo Crawford
d60c184424
Add pkce and openidconnect storage
...
- Also refactor authorizationcode_test
Signed-off-by: Ryan Richard <rrichard@vmware.com >
2020-12-01 17:18:32 -08:00
Ryan Richard
f38c150f6a
Finished tests for pkce storage and added it to kubestorage
...
- Also fixed some lint errors with v1.33.0 of the linter
Signed-off-by: Margo Crawford <margaretc@vmware.com >
2020-12-01 14:53:22 -08:00
Margo Crawford
c8eaa3f383
WIP towards using k8s fosite storage in the supervisor's callback endpoint
...
- Note that this WIP commit includes a failing unit test, which will
be addressed in the next commit
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-12-01 11:01:42 -08:00
Matt Moyer
be8f11fe5a
Merge pull request #246 from mattmoyer/build-on-go-1.14
...
Tweak some stdlib usage so we compile under Go 1.14.
2020-11-30 17:38:19 -06:00
Matt Moyer
b272b3f331
Refactor oidcclient.Login to use new upstreamoidc package.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-30 17:37:14 -06:00
Matt Moyer
4b60c922ef
Add generated mock of UpstreamOIDCIdentityProviderI.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-30 17:37:14 -06:00
Matt Moyer
25ee99f93a
Add ValidateToken method to UpstreamOIDCIdentityProviderI interface.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-30 17:37:14 -06:00
Matt Moyer
d32583dd7f
Move OIDC Token structs into a new oidctypes package.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-30 17:02:03 -06:00
Matt Moyer
d64acbb5a9
Add upstreamoidc.ProviderConfig type implementing provider.UpstreamOIDCIdentityProviderI.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-30 15:22:56 -06:00
Matt Moyer
24c4bc0dd4
Tweak some stdlib usage so we compile under Go 1.14.
...
Mainly, avoid using some `testing` helpers that were added in 1.14, as well as a couple of other niceties we can live without.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-30 10:11:41 -06:00
Andrew Keesler
58a3e35c51
Revert "test/integration: skip TestSupervisorLogin until new callback logic is on main"
...
This reverts commit eae6d355f8 .
We have added the new callback path logic (see b21f003 ), so we can stop skipping
this test.
2020-11-30 11:07:25 -05:00
Andrew Keesler
25bbd28527
Merge remote-tracking branch 'upstream/main' into callback-endpoint
2020-11-30 11:06:20 -05:00
Andrew Keesler
385d2db445
Merge pull request #245 from ankeesler/fix-supervisor-login-test
...
Run TestSupervisorLogin only on valid HTTP/HTTPS supervisor addresses
2020-11-30 11:05:43 -05:00
Andrew Keesler
eae6d355f8
test/integration: skip TestSupervisorLogin until new callback logic is on main
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-30 10:12:03 -05:00
Andrew Keesler
5be46d0bb7
test/integration: get downstream issuer path from upstream redirect
...
See comment in the code.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-30 09:58:08 -05:00
Andrew Keesler
5b04192945
Run TestSupervisorLogin only on valid HTTP/HTTPS supervisor addresses
...
We were assuming that env.SupervisorHTTPAddress was set, but it might not be
depending on the environment on which the integration tests are being run. For
example, in our acceptance environments, we don't currently set
env.SupervisorHTTPAddress.
I tried to follow the pattern from TestSupervisorOIDCDiscovery here.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-30 09:23:12 -05:00
Ryan Richard
e6b6c0e3ab
Merge branch 'main' into callback-endpoint
2020-11-20 15:50:26 -08:00
Matt Moyer
dfb6544171
Merge pull request #238 from jknostman3/patch-1
...
Update site demo to use pinniped-concierge namespace
2020-11-20 17:15:26 -06:00
Matt Moyer
3596610f40
Merge pull request #239 from enj/enj/f/fosite_defaults
...
Set defaults for fosite config
2020-11-20 17:14:05 -06:00
Ryan Richard
ccddeb4cda
Merge branch 'main' into callback-endpoint
2020-11-20 15:13:25 -08:00
Monis Khan
d39cc08b66
Set defaults for fosite config
...
Signed-off-by: Monis Khan <mok@vmware.com >
2020-11-20 17:18:52 -05:00
Ryan Richard
c4ff1ca304
auth_handler.go: Ignore invalid CSRF cookies rather than return error
...
Generate a new cookie for the user and move on as if they had not sent
a bad cookie. Hopefully this will make the user experience better if,
for example, the server rotated cookie signing keys and then a user
submitted a very old cookie.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-20 13:56:35 -08:00
Andrew Keesler
b21f0035d7
callback_handler.go: Get upstream name from state instead of path
...
Also use ConstantTimeCompare() to compare CSRF tokens to prevent
leaking any information in how quickly we reject bad tokens.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-20 13:33:08 -08:00
Matt Moyer
ad9439eef2
Merge pull request #207 from vmware-tanzu/dependabot/docker/golang-1.15.5
...
Bump golang from 1.15.3 to 1.15.5
2020-11-20 15:18:23 -06:00
Ryan Richard
72321fc106
Use /callback (without IDP name) path for callback endpoint (part 1)
...
This is much nicer UX for an administrator installing a UpstreamOIDCProvider
CRD. They don't have to guess as hard at what the callback endpoint path should
be for their UpstreamOIDCProvider.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-20 16:14:45 -05:00
Andrew Keesler
541019eb98
callback_handler.go: simplify stored ID token claims
...
Fosite is gonna set these fields for us.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-20 15:36:51 -05:00
Jake Knostman
15bffc6b16
Update site demo to use pinniped-concierge namespace
2020-11-20 12:31:23 -08:00
dependabot[bot]
901242c1e1
Bump golang from 1.15.3 to 1.15.5
...
Bumps golang from 1.15.3 to 1.15.5.
Signed-off-by: dependabot[bot] <support@github.com >
2020-11-20 20:19:51 +00:00
Matt Moyer
fd0e0bb4c9
Merge pull request #234 from rajat404/main
...
Avoid printing the error message twice from client
2020-11-20 13:29:35 -06:00
Rajat Goyal
53bece2186
Avoid printing the error message twice from client
2020-11-21 00:05:26 +05:30
Matt Moyer
1a881e4f2b
Merge pull request #232 from mattmoyer/adjust-test-environment-upstream-clients
...
Split test environment variables so there's a specific supervisor upstream client.
2020-11-20 09:46:04 -06:00
Andrew Keesler
488d1b663a
internal/oidc/provider/manager: route to callback endpoint
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-20 10:44:56 -05:00
Andrew Keesler
8f5d1709a1
callback_handler.go: assert behavior about PKCE and IDSession storage
...
Also aggresively refactor for readability:
- Make helper validations functions for each type of storage
- Try to label symbols based on their downstream/upstream use and group them
accordingly
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-20 09:41:49 -05:00
Matt Moyer
bc700d58ae
Split test environment variables so there's a specific supervisor upstream client.
...
Prior to this we re-used the CLI testing client to test the authorize flow of the supervisor, but they really need to be separate upstream clients. For example, the supervisor client should be a non-public client with a client secret and a different callback endpoint.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-20 08:03:06 -06:00
Andrew Keesler
f8d76066c5
callback_handler.go: assert nonce is stored correctly
...
I think we want to do this here since we are storing all of the
other ID token claims?
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-20 08:38:23 -05:00
Mo Khan
b8fb37b9f6
Merge pull request #233 from enj/enj/i/tmp_disable_max_flight
...
Temporarily disable max inflight checks for mutating requests
2020-11-19 22:51:03 -05:00
Monis Khan
4a28d1f800
Temporarily disable max inflight checks for mutating requests
...
Signed-off-by: Monis Khan <mok@vmware.com >
2020-11-19 21:21:10 -05:00
Andrew Keesler
b25696a1fb
callback_handler.go: Prepend iss to sub when making default username
...
- Also handle several more error cases
- Move RequireTimeInDelta to shared testutils package so other tests
can also use it
- Move all of the oidc test helpers into a new oidc/oidctestutils
package to break a circular import dependency. The shared testutil
package can't depend on any of our other packages or else we
end up with circular dependencies.
- Lots more assertions about what was stored at the end of the
request to build confidence that we are going to pass all of the
right settings over to the token endpoint through the storage, and
also to avoid accidental regressions in that area in the future
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-19 17:57:07 -08:00
Andrew Keesler
b49d37ca54
callback_handler.go: test invalid upstream ID token username/groups
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-19 15:53:21 -05:00
Mo Khan
20b62b8841
Merge pull request #231 from enj/enj/f/fosite_kube_storage
...
Add kube based storage for use with fosite
2020-11-19 15:34:55 -05:00
Ryan Richard
83101eefce
callback_handler.go: start to test upstream token corner cases
...
Also refactor to get rid of duplicate test structs.
Also also don't default groups ID token claim because there is no standard one.
Also also also add some logging that will hopefully help us in debugging in the
future.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-19 14:19:01 -05:00
Monis Khan
86865d155a
Switch fuzzing test to UTC
...
Signed-off-by: Monis Khan <mok@vmware.com >
2020-11-19 14:04:25 -05:00
Monis Khan
3575be7742
Add authorization code storage
...
Signed-off-by: Monis Khan <mok@vmware.com >
2020-11-19 13:18:27 -05:00
Monis Khan
b7d823a077
Add generic Kube API based CRUD storage
...
Signed-off-by: Monis Khan <mok@vmware.com >
2020-11-19 13:18:02 -05:00
Ryan Richard
a47617cad0
callback_handler.go: Add JWT Audience claim to storage
2020-11-19 08:53:53 -08:00
Ryan Richard
ee84f31f42
callback_handler.go: Add JWT Issuer claim to storage
2020-11-19 08:35:23 -08:00
Andrew Keesler
ace861f722
callback_handler.go: get some thoughts down about default upstream claims
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-19 11:08:21 -05:00
Andrew Keesler
2e62be3ebb
callback_handler.go: assert correct args are passed to token exchange
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-19 10:20:46 -05:00
Andrew Keesler
48e0250649
callback_handler.go: test that we request openid scope correctly
...
Also add some testing.T.Log() calls to make debugging handler test failures
easier.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-19 09:28:56 -05:00
Andrew Keesler
6c72507bca
callback_handler.go: add test for failed upstream exchange/validation
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-19 09:00:41 -05:00
Andrew Keesler
63b8c6e4b2
callback_handler.go: test when state missing a needed param
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-19 08:51:23 -05:00
Andrew Keesler
ffdb7fa795
callback_handler.go: add a test for invalid state auth params
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-19 08:41:44 -05:00
Ryan Richard
652ea6bd2a
Start using fosite in the Supervisor's callback handler
2020-11-18 17:15:01 -08:00
Mo Khan
3bc5952f7e
Merge pull request #227 from mattmoyer/add-authorizationconfig-omitempty
...
Use `omitempty` on UpstreamOIDCProvider `spec.authorizationConfig` field.
2020-11-18 20:10:55 -05:00
Matt Moyer
7520dadbdd
Use omitempty on UpstreamOIDCProvider spec.authorizationConfig field.
...
This allows you to omit the field in creation requests, which was annoying.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-18 17:14:35 -06:00
Mo Khan
8a4be431f6
Merge pull request #230 from vmware-tanzu/scc
...
Add nonroot SCC to work on OpenShift clusters
2020-11-18 17:46:01 -05:00
Mo Khan
c32e452db8
Add nonroot SCC to work on OpenShift clusters
2020-11-18 17:08:45 -05:00
Ryan Richard
24bd8b2e42
Merge pull request #226 from absoludity/fix-getting-started4
...
Fix demo.md and update default namespace for pinniped concierge.
2020-11-18 13:39:04 -08:00
Ryan Richard
227fbd63aa
Use an interface instead of a concrete type for UpstreamOIDCIdentityProvider
...
Because we want it to implement an AuthcodeExchanger interface and
do it in a way that will be more unit test-friendly than the underlying
library that we intend to use inside its implementation.
2020-11-18 13:38:13 -08:00
Ryan Richard
c83cec341b
Merge branch 'main' into fix-getting-started4
2020-11-17 15:02:36 -08:00
Matt Moyer
7404ee4531
Merge pull request #224 from mattmoyer/make-oidcclient-public
...
Move `./internal/oidcclient` to `./pkg/oidcclient`.
2020-11-17 15:13:50 -06:00
Matt Moyer
e0a9bef6ce
Move ./internal/oidcclient to ./pkg/oidcclient.
...
This will allow it to be imported by Go code outside of our repository, which was something we have planned for since this code was written.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-17 14:53:32 -06:00
Matt Moyer
428b9f2758
Merge pull request #223 from mattmoyer/refactor-cert-gen
...
Refactor certificate generation for integration test Dex.
2020-11-17 12:45:20 -06:00
Matt Moyer
0d1ad6e1df
Fix some broken resource grouping/ordering in Tiltfile.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-17 12:21:15 -06:00
Matt Moyer
6ce2f109bf
Refactor certificate generation for integration test Dex.
...
Before, we did this in an init container, which meant if the Dex pod restarted we would have fresh certs, but our Tilt/bash setup didn't account for this.
Now, the certs are generated by a Job which runs once and saves the generated files into a Secret. This should be a bit more stable.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-17 11:36:36 -06:00
Matt Moyer
3b9fb71dd1
Merge pull request #222 from mattmoyer/readd-supervisor-login-tests
...
Re-add the TestSupervisorLogin integration test.
2020-11-17 11:16:01 -06:00
Ryan Richard
97552aec5f
Merge branch 'main' into callback-endpoint
2020-11-17 09:06:54 -08:00
Matt Moyer
d6d808d185
Re-add the TestSupervisorLogin integration test.
...
This is 99% Andrew's code from 4032ed32ae , but tweaked to work with the new UpstreamOIDCProvider setup.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-17 09:21:17 -06:00
Matt Moyer
b75a6cdb76
Merge pull request #221 from mattmoyer/use-https-dex
...
Add support for custom CA bundle in CLI and UpstreamOIDCProvider.
2020-11-16 20:47:16 -06:00
Matt Moyer
b31deff0fb
Update integration tests to use HTTPS Dex for UpstreamOIDCProvider testing.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-16 20:23:20 -06:00
Matt Moyer
ee978fdde8
Add controller support for spec.tls field.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-16 20:23:20 -06:00
Matt Moyer
e867fb82b9
Add spec.tls field to UpstreamOIDCProvider API.
...
This allows for a custom CA bundle to be used when connecting to the upstream issuer.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-16 20:23:20 -06:00
Matt Moyer
b17ac6ec0b
Update integration tests to run Dex over HTTPS.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-16 20:23:20 -06:00
Matt Moyer
dd2133458e
Add --ca-bundle flag to "pinniped login oidc" command.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-16 18:15:20 -06:00
Matt Moyer
e7ecfd3954
Merge pull request #219 from mattmoyer/add-test-proxy
...
Convert CLI tests to work through an HTTP forward proxy.
2020-11-16 17:48:16 -06:00
Matt Moyer
c8b17978a9
Convert CLI tests to work through an HTTP forward proxy.
...
This change deploys a small Squid-based proxy into the `dex` namespace in our integration test environment. This lets us use the cluster-local DNS name (`http://dex.dex.svc.cluster.local/dex `) as the OIDC issuer. It will make generating certificates easier, and most importantly it will mean that our CLI can see Dex at the same name/URL as the supervisor running inside the cluster.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-16 17:16:58 -06:00
Matt Moyer
a4733025ce
Merge pull request #220 from jonasrosland/fix-landing-text
...
Fix landing page use cases
2020-11-16 16:36:44 -06:00
Andrew Keesler
1c7601a2b5
callback_handler.go: start happy path test with redirect
...
Next steps: fosite storage?
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-16 17:07:34 -05:00
Ryan Richard
052cdc40dc
callback_handler.go: add CSRF and version state validations
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-16 14:41:00 -05:00
jonasrosland
332ed8e50b
Fix landing page use cases
...
Signed-off-by: jonasrosland <jrosland@vmware.com >
2020-11-16 12:00:06 -05:00
Andrew Keesler
4138c9244f
callback_handler.go: write 2 invalid cookie tests
...
Also common-ize some more constants shared between the auth and callback
endpoints.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-16 11:47:49 -05:00
Michael Nelson
57a2dc9fc1
Update default namespace for pinniped-concierge to match install-pinniped-concierge.yaml
2020-11-16 11:05:53 +11:00
Michael Nelson
9bb9402e89
Updated doc/demo.md with required namespace
2020-11-16 11:05:53 +11:00
Andrew Keesler
3ef1171667
Tiny bit more code for Supervisor's callback_handler.go
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-13 15:59:51 -08:00
Matt Moyer
84b61fac88
Merge pull request #215 from mattmoyer/fix-upstream-oidc-provider
...
Fix some issues in the UpstreamOIDCProvider CRD and controller
2020-11-13 17:23:10 -06:00
Matt Moyer
c10393b495
Mask the raw error messages from go-oidc, since they are dangerous.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-13 16:22:34 -06:00
Matt Moyer
d3d8ef44a0
Make more fields in UpstreamOIDCProvider optional.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-13 15:28:37 -06:00
Mo Khan
d5ee925e62
Merge pull request #213 from mattmoyer/more-categories
...
Add our TokenCredentialRequest to the "pinniped" API category as well.
2020-11-13 15:51:42 -05:00
Mo Khan
47d216caae
Merge pull request #209 from alexbrand/doc-fixes
...
Fix broken links in the project's website
2020-11-13 15:51:13 -05:00
Alexander Brand
406d6b5544
docs/scope.md: Fix link to contrib guide
...
Signed-off-by: Alexander Brand <alexbrand09@gmail.com >
2020-11-13 15:25:01 -05:00
Matt Moyer
ab87977c08
Put our TokenCredentialRequest API into the "pinniped" category.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-13 14:22:26 -06:00
Matt Moyer
f4dfc22f8e
Merge pull request #212 from enj/enj/i/restore_cert_ttl
...
Reduce client cert TTL back to 5 mins
2020-11-13 14:11:44 -06:00
Matt Moyer
785a1d14fb
Merge pull request #199 from mattmoyer/add-oidc-upstream-crd
...
Add UpstreamOIDCProvider API and initial controller.
2020-11-13 13:01:13 -06:00
Matt Moyer
d68a4b85f4
Add integration tests for UpstreamOIDCProvider status.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-13 12:30:38 -06:00
Matt Moyer
cbd71df574
Add "upstream-watcher" controller to supervisor.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-13 12:30:38 -06:00
Monis Khan
c05cbca0b0
Reduce client cert TTL back to 5 mins
...
Signed-off-by: Monis Khan <mok@vmware.com >
2020-11-13 13:30:02 -05:00
Matt Moyer
2e7d869ccc
Add generated API/client code for new UpstreamOIDCProvider CRD.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-13 11:38:50 -06:00
Matt Moyer
bac3c19bec
Add UpstreamOIDCProvider API type definition.
...
This is essentially just a copy of Andrew's work from https://github.com/vmware-tanzu/pinniped/pull/135 .
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-13 11:38:49 -06:00
Andrew Keesler
81b9a48437
callback_handler.go: initial API/test shape with 1 test
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-13 12:32:35 -05:00
Alexander Brand
271640b66d
docs/architecture.md: Fix broken link
2020-11-13 09:17:47 -05:00
Alexander Brand
6b0d4184d5
docs/architecture.md: Fix broken link
2020-11-13 09:15:46 -05:00
Ryan Richard
d351ef430c
Merge pull request #206 from vmware-tanzu/authorize_endpoint_reuse_cookie
...
Supervisor authorize endpoint reuses existing CSRF cookies and signs new ones
2020-11-12 16:26:01 -08:00
Matt Moyer
e6f128e2a7
Merge pull request #205 from mattmoyer/more-careful-categories
...
Put all of our APIs into a "pinniped" category, and never use "all".
2020-11-12 17:37:20 -06:00
Andrew Keesler
080bb594b2
Supervisor authorize endpoint reuses existing CSRF cookies and signs new ones
...
- To better support having multiple downstream providers configured,
the authorize endpoint will share a CSRF cookie between all
downstream providers' authorize endpoints. The first time a
user's browser hits the authorize endpoint of any downstream
provider, that endpoint will set the cookie. Then if the user
starts an authorize flow with that same downstream provider or with
any other downstream provider which shares the same domain name
(i.e. differentiated by issuer path), then the same cookie will be
submitted and respected.
- Just in case we are sharing the domain name with some other app,
we sign the value of any new CSRF cookie and check the signature
when we receive the cookie. This wasn't strictly necessary since
we probably won't share a domain name with other apps, but it
wasn't hard to add this cookie signing.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-12 15:36:59 -08:00
Matt Moyer
f1696411d9
Test that Pinniped APis do not have short names, either.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-12 17:13:52 -06:00
Matt Moyer
5580ca82ac
Merge pull request #204 from mattmoyer/cleanup-update-script
...
Remove CRD count check, since we can now use wildcards.
2020-11-12 16:28:24 -06:00
Matt Moyer
7f2c43cd62
Put all of our APIs into a "pinniped" category, and never use "all".
...
We want to have our APIs respond to `kubectl get pinniped`, and we shouldn't use `all` because we don't think most average users should have permission to see our API types, which means if we put our types there, they would get an error from `kubectl get all`.
I also added some tests to assert these properties on all `*.pinniped.dev` API resources.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-12 16:26:34 -06:00
Matt Moyer
372cfe1601
Remove CRD count check, since we can now use wildcards.
...
This check predates the API renaming we did. Now that our API groups have `concierge`/`supervisor` in the name, we don't need to maintain a specific set of `cp` commands and keep them in sync, so we don't really need this check.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-12 15:48:03 -06:00
Mo Khan
d73fdb1d33
Merge pull request #202 from mattmoyer/remove-internal-crd-packages
...
Remove extraneous internal packages for CRD APIs.
2020-11-12 15:29:29 -05:00
Matt Moyer
821190004c
Remove extraneous internal packages for CRD APIs.
...
These only really make sense for aggregated API types where we need `conversion-gen` to do version conversion.
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-12 14:04:53 -06:00
Andrew Keesler
8321773a22
auth_handler.go: fix lint error
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-12 12:24:40 -05:00
Andrew Keesler
3a943a3b9a
auth_handler.go: ignore encoding timestamp for deterministic tests
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-12 12:14:50 -05:00
Ryan Richard
6d380c629a
auth_handler.go: use encryption in tests
...
Our unit tests are gonna touch a lot more corner cases than our
integration tests, so let's make them run as close to the real
implementation as possible.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-12 12:14:49 -05:00
Matt Moyer
5fd105496f
Merge pull request #201 from amymanion/am-dev
...
Style updates
2020-11-12 09:12:24 -06:00
Matt Moyer
b3e622c914
Merge pull request #200 from jonasrosland/website-fixes
...
Website fixes for broken links, formatting, and more
2020-11-12 09:10:28 -06:00
Amy Manion
c4ed768c9e
Adjust hero font size
2020-11-12 09:46:44 -05:00
Amy Manion
ef11f97a75
Style updates
...
-adjust font sizes
-fix ordered lists
Signed-off-by: Amy Manion <amy.manion@principlestudios.com >
2020-11-12 09:35:17 -05:00
Jonas Rosland
0b41469527
Website fixes for broken links, formatting, and more
...
Signed-off-by: Jonas Rosland <jrosland@vmware.com >
2020-11-11 21:40:49 -05:00
Mo Khan
8859172025
Merge pull request #198 from enj/enj/i/multi_api_service
...
Prevent multiple pinnipeds from thrashing on the API service
2020-11-11 20:44:42 -05:00
Monis Khan
9c8b081906
Prevent multiple pinnipeds from thrashing on the API service
...
Signed-off-by: Monis Khan <mok@vmware.com >
2020-11-11 20:09:49 -05:00
Ryan Richard
300d522eb0
Merge pull request #185 from vmware-tanzu/authorize_endpoint
2020-11-11 16:03:15 -08:00
Ryan Richard
203e040be1
Remove an unfinished integration test
...
This commit is meant to be reverted when we are unblocked and
ready to start working on this integration test again. Temporarily
remove it so we can merge this PR to main.
Note: I had tried using t.Skip() in the test, but then that caused lint
failures, so decided to just remove it for now.
2020-11-11 15:40:40 -08:00
Matt Moyer
fdcea0de05
Merge pull request #197 from jonasrosland/a-seal-of-approval
...
Add first blog post
2020-11-11 17:33:40 -06:00
Monis Khan
db6fc234b7
Add NullStorage for the authorize endpoint to use
...
We want to run all of the fosite validations in the authorize
endpoint, but we don't need to store anything yet because
we are storing what we need for later in the upstream state
parameter.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-11 14:49:24 -08:00
jonasrosland
e6838ace6b
Add first blog post
...
Signed-off-by: jonasrosland <jrosland@vmware.com >
2020-11-11 17:06:36 -05:00
Ryan Richard
4b8c1de647
Add unit test to auth_handler_test.go for non-openid authorize requests
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-11 13:13:57 -08:00
Andrew Keesler
c2262773e6
Finish the WIP from the previous commit for saving authorize endpoint state
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-11 12:29:14 -08:00
Andrew Keesler
f806768039
Merge pull request #196 from ankeesler/ytt-logging
...
Add YTT template value for log level
2020-11-11 09:29:24 -05:00
Andrew Keesler
83a156d72b
Enable debug logging in all testing scenarios
...
It is really helpful to have verbose logs during test debugging.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-11 09:01:43 -05:00
Andrew Keesler
724c0d3eb0
Add YTT template value for setting log level
...
This is helpful for us, amongst other users, because we want to enable "debug"
logging whenever we deploy components for testing.
See a5643e3 for addition of log level.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-11 09:01:38 -05:00
Monis Khan
dd190dede6
WIP for saving authorize endpoint state into upstream state param
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-10 17:58:00 -08:00
Matt Moyer
5b8e0c4d99
Merge pull request #195 from mattmoyer/fix-links
...
Fix some links on the community page.
2020-11-10 17:22:37 -06:00
Matt Moyer
b2b8d5457d
Fix some links on the community page.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-10 17:19:30 -06:00
Matt Moyer
16ef0b2d41
Merge pull request #194 from jonasrosland/website-fixes
...
Minor website fixes and adding netlify configs
2020-11-10 16:24:51 -06:00
jonasrosland
d097de7fdf
Minor website fixes and adding netlify configs
...
Signed-off-by: jonasrosland <jrosland@vmware.com >
2020-11-10 16:03:07 -05:00
Matt Moyer
101394c714
Merge pull request #188 from smalltalk-ai/main
...
Hugo version of Pinniped site
2020-11-10 14:51:45 -06:00
Matt Moyer
06df825dab
Merge pull request #193 from mattmoyer/add-extra-sites
...
Add Netlify configs for extra redirect domains.
2020-11-10 14:03:37 -06:00
Matt Moyer
f7efc360a0
Add Netlify configs for extra redirect domains.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-10 13:58:31 -06:00
Amy Manion
ad74f259de
Content updates
...
-remove extra blog posts
-remove extra images
-replace Andrew’s picture
2020-11-10 13:39:13 -05:00
Andrew Keesler
005225d5f9
Use the new plog pkg in auth_handler.go
...
- Add a new helper method to plog to make a consistent way to log
expected errors at the info level (as opposed to unexpected
system errors that would be logged using plog.Error)
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-10 10:33:52 -08:00
Ryan Richard
b9726615dd
Merge branch 'main' into authorize_endpoint
2020-11-10 09:29:21 -08:00
Ryan Richard
01941d6b2a
Run Tilt containers as root because live-reload breaks otherwise
2020-11-10 09:27:44 -08:00
Ryan Richard
b21c27b219
Merge branch 'main' into authorize_endpoint
2020-11-10 09:24:19 -08:00
Mo Khan
9bfcaa33c6
Merge pull request #190 from enj/enj/f/klog_levels
...
Add log level support
2020-11-10 12:14:02 -05:00
Monis Khan
1c60e09f13
Make race detector happy by removing parallelism
...
Signed-off-by: Monis Khan <mok@vmware.com >
2020-11-10 11:23:42 -05:00
Monis Khan
15a5332428
Reduce log spam
...
Signed-off-by: Monis Khan <mok@vmware.com >
2020-11-10 10:22:27 -05:00
Monis Khan
a5643e3738
Add log level support
...
Signed-off-by: Monis Khan <mok@vmware.com >
2020-11-10 10:22:27 -05:00
Monis Khan
9356f64c55
Remove global klog --log-flush-frequency flag
...
Signed-off-by: Monis Khan <mok@vmware.com >
2020-11-10 08:48:42 -05:00
Ryan Richard
246471bc91
Also run OIDC validations in supervisor authorize endpoint
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-06 14:44:58 -08:00
Adam Powell
896e1b45f0
Hugo version of Pinniped site
2020-11-06 12:42:57 -10:00
Andrew Keesler
4032ed32ae
Auth endpoint integration test initial thoughts
...
This is awaiting the new upstream OIDC provider CRD in order
to pass, however hopefully this is a starting point for us.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-05 11:00:05 -05:00
Ryan Richard
33ce79f89d
Expose the Supervisor OIDC authorization endpoint to the public
2020-11-04 17:06:47 -08:00
Andrew Keesler
3bc13517b2
prepare-for-integration-tests.sh: add check for chromedriver
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-04 15:53:32 -08:00
Andrew Keesler
a36f7c6c07
Test that the port of localhost redirect URI is ignored during validation
...
Also move definition of our oauth client and the general fosite
configuration to a helper so we can use the same config to construct
the handler for both test and production code.
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-04 15:04:50 -08:00
Ryan Richard
ba688f56aa
Supervisor authorize endpoint errors when PKCE code_challenge_method is invalid
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-04 12:29:43 -08:00
Matt Moyer
8684f8f628
Merge pull request #139 from enj/enj/i/use_parent_func
...
Use parent func to indicate when the controller queue is a singleton
2020-11-04 14:21:50 -06:00
Andrew Keesler
2564d1be42
Supervisor authorize endpoint errors when missing PKCE params
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-04 12:19:07 -08:00
Matt Moyer
4da3d93f6e
The supervisor JWKS observer and TLS cert controllers use the ctx after all, whoops.
...
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-04 13:08:50 -06:00
Ryan Richard
0045ce4286
Refactor auth_handler_test.go's creation of paths and urls to use helpers
2020-11-04 09:58:40 -08:00
Monis Khan
418f4d20ae
Use parent func to indicate when the controller queue is a singleton
...
This prevents unnecessary sync loop runs when the controller is
running with a single worker. When the controller is running with
more than one worker, it prevents subtle bugs that can cause the
controller to go "back in time."
Signed-off-by: Monis Khan <mok@vmware.com >
Signed-off-by: Matt Moyer <moyerm@vmware.com >
2020-11-04 11:08:10 -06:00
Ryan Richard
8a7e22e63e
@ankeesler: Maybe, but not this time ;)
2020-11-04 08:43:45 -08:00
Andrew Keesler
9e4ffd1cce
One of these days I will get here.Doc() spacing correct
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-04 11:29:33 -05:00
Andrew Keesler
6fe455c687
auth_handler.go: comment out currently unused fosite wiring
...
See e8f4336 for why this is here in the first place.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-04 11:20:03 -05:00
Andrew Keesler
d8c8f04860
auth_handler.go: write some more negative tests
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-04 11:12:26 -05:00
Andrew Keesler
e8f433643f
auth_handler.go: only inject oauth store into handler
...
Previously we were injecting the whole oauth handler chain into this function,
which meant we were essentially writing unit tests to test our tests. Let's push
some of this logic into the source code.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-04 10:35:26 -05:00
Andrew Keesler
4f95e6a372
auth_handler.go: add test for invalid downstream redirect uri
...
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-04 10:30:53 -05:00
Andrew Keesler
259ffb5267
Checkpoint: write a single negative test using fosite
...
Bringing in fosite to our go.mod introduced those other go.mod changes.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-04 10:15:19 -05:00
Andrew Keesler
aab0fd644f
Merge remote-tracking branch 'upstream/main' into authorize_endpoint
2020-11-04 10:14:54 -05:00
Andrew Keesler
e7a817e67a
Merge pull request #186 from ankeesler/bump-jose
...
gopkg.in/square/go-jose.v2: v2.2.2 -> v2.5.1
2020-11-04 10:14:32 -05:00
Andrew Keesler
0bbf55e46f
gopkg.in/square/go-jose.v2: v2.2.2 -> v2.5.1
...
We were behind for some reason. Probably makes sense to bump to
latest version to get bug fixes and such.
2020-11-04 09:55:18 -05:00
Ryan Richard
c34e5a727d
Starting the implementation of an OIDC authorization endpoint handler
...
Does not validate incoming request parameters yet. Also is not
served on the http/https ports yet. Those will come in future commits.
Signed-off-by: Andrew Keesler <akeesler@vmware.com >
2020-11-03 16:17:38 -08:00
Andrew Keesler
0d8477ea8a
Add a type for in-memory caching of upstream OIDC Identity Providers
...
Signed-off-by: Ryan Richard <richardry@vmware.com >
2020-11-03 12:06:07 -08:00