Machine identity: OIDC discovery provider for OpenBao #360
No reviewers
Labels
No labels
Compat/Breaking
Difficulty/Architectural
Difficulty/Easy
Difficulty/Hard
Help Wanted
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Testing
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Security
Silenced Alert
Status/Abandoned
Status/Blocked
Status/Need More Info
Status/Postponed
Tracking Issue
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
afnix/infra!360
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "oidc-discovery-provider"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This finishes the base setup for machine identity.
The next PRs will work on providing policies and feeding OpenBao with secrets, eventually putting an OpenBao agent in every VMs.
Machine identity: OIDC discovery provider for OpenBaoto WIP: Machine identity: OIDC discovery provider for OpenBao@ -55,1 +55,3 @@
bagel.baremetal.hypervisor.enable = lib.mkEnableOption "hypervisor role";
bagel.baremetal.hypervisor = {
enable = lib.mkEnableOption "hypervisor role";
secondaryIPv6 = lib.mkOption {
We could avoid this if:
SNI is done.
f090d2beb4
tocceaa1902e
cceaa1902e
tob793d03ce5
WIP: Machine identity: OIDC discovery provider for OpenBaoto Machine identity: OIDC discovery provider for OpenBao@ -36,0 +27,4 @@
defaultPolicyFragment = {
"auth/token/*".capabilities = [ "create" "read" "update" "delete" "list" ];
};
# spiffe://$TD/tenants/$TENANT/svc/forgejo
Expand these comments.
@ -36,0 +22,4 @@
# Each region has its own OIDC discovery server and is expected to operate
# independently.
machine-identity = {
# audience = $tenant_id OR https://vault.afnix.fr
Expand these comments.
@ -83,2 +131,4 @@
"transit/decrypt/terraform-backend-states-key".capabilities = [ "create" "update" ];
};
machine_sts = {
We can get rid of this test now.
@ -0,0 +7,4 @@
regionOpts = { config, ... }: {
options = {
trustDomain = mkOption {
type = types.str;
Missing description and examples.
@ -0,0 +12,4 @@
discoveryUrl = mkOption {
type = types.str;
default = "https://sts-oidc.${config.trustDomain}";
Missing description.
Modulo existing comments.
@ -0,0 +1,126 @@
# SPDX-FileCopyrightText: 2025 Tom Hubrecht <tom.hubrecht@dgnum.eu>
#
# SPDX-License-Identifier: EUPL-1.2
Aren't we relicensing this to match the rest of the repo?
Yes, we did indeed.
@ -0,0 +89,4 @@
inherit (cfg.localTermination) port;
addr = "127.0.0.1";
ssl = true;
# proxyProtocol = true;
Why is this (and the later proxy_protocol line) commented out?
It's because @thubrecht had in intent to support optional proxy protocol for downstreams that would support for it I imagine.
We should get rid of it, our downstreams do not support PROXY protocol v2 anyway and we don't need it, we can read the access logs on our NGINX.
This PROXY story will come back in n64gw01 once I add SNI proxies for IPv4.
b793d03ce5
toaa00cd11cc