You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/cmd
Irbe Krumina c3e2b7347b
tailcfg,cmd/k8s-operator,kube: move Kubernetes cap to a location that can be shared with control (#12236)
This PR is in prep of adding logic to control to be able to parse
tailscale.com/cap/kubernetes grants in control:
- moves the type definition of PeerCapabilityKubernetes cap to a location
shared with control.
- update the Kubernetes cap rule definition with fields for granting
kubectl exec session recording capabilities.
- adds a convenience function to produce tailcfg.RawMessage from an
arbitrary cap rule and a test for it.

An example grant defined via ACLs:
"grants": [{
      "src": ["tag:eng"],
      "dst": ["tag:k8s-operator"],
      "app": {
        "tailscale.com/cap/kubernetes": [{
            "recorder": ["tag:my-recorder"]
	    “enforceRecorder”: true
        }],
      },
    }
]
This grant enforces `kubectl exec` sessions from tailnet clients,
matching `tag:eng` via API server proxy matching `tag:k8s-operator`
to be recorded and recording to be sent to a tsrecorder instance,
matching `tag:my-recorder`.

The type needs to be shared with control because we want
control to parse this cap and resolve tags to peer IPs.

Updates tailscale/corp#19821

Signed-off-by: Irbe Krumina <irbe@tailscale.com>
2 years ago
..
addlicense all: update tools that manage copyright headers 3 years ago
build-webclient client/web: precompress assets 2 years ago
cloner all: use Go 1.22 range-over-int 2 years ago
connector-gen cmd/connector-gen: add helper tool for wide app connector configurations 2 years ago
containerboot ipn/store/kubestore, cmd/containerboot: allow overriding client api server URL via ENV (#12115) 2 years ago
derper all: do not depend on the testing package 2 years ago
derpprobe cmd/derpprobe: support 'local' derpmap to get derp map via LocalAPI 2 years ago
dist release/dist/qnap: add qnap target builder 2 years ago
get-authkey util/cmpx: delete now that we're using Go 1.22 2 years ago
gitops-pusher cmd/gitops-pusher: only use OAuth creds if non-empty string 2 years ago
hello cmd/hello: link to the Hello KB article (#11022) 2 years ago
k8s-nameserver cmd/{k8s-operator,k8s-nameserver},k8s-operator: update nameserver config with records for ingress/egress proxies (#11019) 2 years ago
k8s-operator tailcfg,cmd/k8s-operator,kube: move Kubernetes cap to a location that can be shared with control (#12236) 2 years ago
mkmanifest cmd/mkmanifest, cmd/tailscale, cmd/tailscaled: remove Windows arm32 resources from OSS 3 years ago
mkpkg go.mod: upgrade nfpm to v2 (#8786) 2 years ago
mkversion version/mkversion: open-source version generation logic 3 years ago
nardump all: update copyright and license headers 3 years ago
natc cmd/natc: add --wg-port flag 2 years ago
netlogfmt all: use Go 1.22 range-over-int 2 years ago
nginx-auth tailcfg,all: add and use Node.IsTagged() 3 years ago
pgproxy tsnet: split user facing and backend logging 2 years ago
printdep cmd/printdep: print correct toolchain URL 3 years ago
proxy-to-grafana all: use Go 1.22 range-over-int 2 years ago
sniproxy all: use math/rand/v2 more 2 years ago
speedtest all: update copyright and license headers 3 years ago
ssh-auth-none-demo all: replace deprecated ioutil references 2 years ago
stunc cmd/stunc: support ipv6 address targets (#12166) 2 years ago
stund all: use math/rand/v2 more 2 years ago
stunstamp cmd/stunstamp: support probing multiple ports (#12356) 2 years ago
sync-containers all: adjust some build tags for plan9 2 years ago
tailscale all: use math/rand/v2 more 2 years ago
tailscaled wgengine/magicsock: use math/rands/v2 2 years ago
testcontrol all: use Go 1.22 range-over-int 2 years ago
testwrapper cmd/testwrapper: apply results of all unit tests to coverage for all packages 2 years ago
tsconnect all: use math/rand/v2 more 2 years ago
tsidp tsnet: split user facing and backend logging 2 years ago
tsshd all: update copyright and license headers 3 years ago
viewer all: use Go 1.22 range-over-int 2 years ago