Commit Graph

924 Commits (28092034088597a68e327dd25caae82d3a503dee)

Author SHA1 Message Date
Mitchell Hashimoto 8c1d5a2cdc
agent: resolve flaky test by checking cache hits increase, rather than
7 years ago
Mitchell Hashimoto 051f004683
agent: use helper/retry instead of timing related tests
7 years ago
Mitchell Hashimoto bd3b8e042a
agent/cache: address PR feedback, lots of typos
7 years ago
Mitchell Hashimoto 02b20a0353
agent/cache: address feedback, clarify comments
7 years ago
Mitchell Hashimoto af1d70b026
agent/cache: don't every block on NotifyCh
7 years ago
Mitchell Hashimoto 724b829104
agent/cache: unit tests for ExpiryHeap, found a bug!
7 years ago
Mitchell Hashimoto 194b256861
agent/cache: send the total entries count on eviction to go-metrics
7 years ago
Mitchell Hashimoto e0d964188c
agent/cache: make edge case with prev/next idx == 0 handled better
7 years ago
Mitchell Hashimoto 3b550d2b72
agent/cache: rework how expiry data is stored to be more efficient
7 years ago
Mitchell Hashimoto 595193a781
agent/cache: initial TTL work
7 years ago
Mitchell Hashimoto 1df99514ca
agent/cache: send the RefreshTimeout into the backend fetch
7 years ago
Mitchell Hashimoto db4c47df27
agent/cache: on error, return from Get immediately, don't block forever
7 years ago
Mitchell Hashimoto cc2c98f961
agent/cache: lots of comment/doc updates
7 years ago
Mitchell Hashimoto 6c01e402e0
agent: augment /v1/connect/authorize to cache intentions
7 years ago
Mitchell Hashimoto 0f3f3d13ca
agent/cache-types: support intention match queries
7 years ago
Mitchell Hashimoto e1c1b8812a
agent/cache: return the error as part of Get
7 years ago
Mitchell Hashimoto 00e7ab3cd5
agent/cache: integrate go-metrics so the cache is debuggable
7 years ago
Mitchell Hashimoto 9f3dbf7b2a
agent/structs: DCSpecificRequest sets all the proper fields for
7 years ago
Mitchell Hashimoto be873d2558
agent/cache-types/ca-leaf: proper result for timeout, race on setting CA
7 years ago
Mitchell Hashimoto fcb15e15ae
agent/cache: support timeouts for cache reads and empty fetch results
7 years ago
Mitchell Hashimoto e81942df7a
agent/cache-types: rename to separate root and leaf cache types
7 years ago
Mitchell Hashimoto 8e7c517db1
agent/cache-types: got basic CA leaf caching work, major problems still
7 years ago
Mitchell Hashimoto 917a9e63d5
agent: check cache hit count to verify CA root caching, background update
7 years ago
Mitchell Hashimoto 6902d721d6
agent: initialize the cache and cache the CA roots
7 years ago
Mitchell Hashimoto c329b4cb34
agent/cache: partition by DC/ACL token
7 years ago
Mitchell Hashimoto e3c1162881
agent/cache: Reorganize some files, RequestInfo struct, prepare for partitioning
7 years ago
Mitchell Hashimoto b0db5657c4
agent/cache: ConnectCA roots caching type
7 years ago
Mitchell Hashimoto 975be337a9
agent/cache: blank cache key means to always fetch
7 years ago
Mitchell Hashimoto 1cfb0f1922
agent/cache: initial kind-of working cache
7 years ago
Kyle Havlovitz 33418afd3c
Add cross-signing mechanism to root rotation
7 years ago
Kyle Havlovitz d83fbfc766
Add the root rotation mechanism to the CA config endpoint
7 years ago
Kyle Havlovitz f9d92d795e
Have the built in CA store its state in raft
7 years ago
Kyle Havlovitz 30c1973e8b
Fix the testing endpoint's root set op
7 years ago
Kyle Havlovitz 75f62e3117
Update the CA config endpoint to enable GETs
7 years ago
Kyle Havlovitz ab737ef0f8
Hook the CA RPC endpoint into the provider interface
7 years ago
Kyle Havlovitz 1f6501895f
Add CA bootstrapping on establishing leadership
7 years ago
Kyle Havlovitz 682f105c7c
Add the bootstrap config for the CA
7 years ago
Kyle Havlovitz 9fc33d2a62
Add the CA provider interface and built-in provider
7 years ago
Kyle Havlovitz 1787f88618
Add CA config set to fsm operations
7 years ago
Kyle Havlovitz 6b3416e480
Add the Connect CA config to the state store
7 years ago
Paul Banks 36dbd878c9
Adds `api` client code and tests for new Proxy Config endpoint, registering with proxy and seeing proxy config in /agent/services list.
7 years ago
Paul Banks 730da74369
Fix various test failures and vet warnings.
7 years ago
Paul Banks 1e72ad66f5
Refactor localBlockingQuery to use memdb.WatchSet. Much simpler and correct as a bonus!
7 years ago
Paul Banks 8d09381b96
Super ugly hack to get TeamCity build to work for this PR without adding a vendor that is being added elsewhere and will conflict...
7 years ago
Paul Banks d73f079d0f
Add X-Consul-ContentHash header; implement removing all proxies; add load/unload test.
7 years ago
Paul Banks 2a69663448
Agent Connect Proxy config endpoint with hash-based blocking
7 years ago
Paul Banks 3e3f0e1f31
HTTP agent registration allows proxy to be defined.
7 years ago
Paul Banks e6071051cf
Added connect proxy config and local agent state setup on boot.
7 years ago
Paul Banks 88541bba17
Add tests all the way up through the endpoints to ensure duplicate src/destination is supported and so ultimately deny/allow nesting works.
7 years ago
Paul Banks ed9f07c361
Allow duplicate source or destination, but enforce uniqueness across all four.
7 years ago
Paul Banks 10db79c8ae
Rework connect/proxy and command/connect/proxy. End to end demo working again
7 years ago
Paul Banks 26e65f6bfd
connect.Service based implementation after review feedback.
7 years ago
Mitchell Hashimoto 95da20ffd7
agent: rename authorize param ClientID to ClientCertURI
7 years ago
Mitchell Hashimoto 6e57233913
agent: add TODO for verification
7 years ago
Mitchell Hashimoto 5a47a53c70
acl: IntentionDefault => IntentionDefaultAllow
7 years ago
Mitchell Hashimoto ac72a0c5fd
agent: ACL checks for authorize, default behavior
7 years ago
Mitchell Hashimoto 6dc2db94ea
agent/structs: String format for Intention, used for logging
7 years ago
Mitchell Hashimoto fb7bccc690
agent: bolster commenting for clearer understandability
7 years ago
Mitchell Hashimoto 9a987d6452
agent: default deny on connect authorize endpoint
7 years ago
Mitchell Hashimoto 86a8ce45b9
agent: /v1/agent/connect/authorize is functional, with tests
7 years ago
Mitchell Hashimoto 3ef0b93159
agent/connect: Authorize for CertURI
7 years ago
Mitchell Hashimoto 70d1d5bf06
agent: get rid of method checks since they're done in the http layer
7 years ago
Paul Banks 9309422fd9
Add Connect agent, catalog and health endpoints to api Client
7 years ago
Mitchell Hashimoto 845f7cd8ad
agent/consul/state: ensure exactly one active CA exists when setting
7 years ago
Mitchell Hashimoto ffe4cdfc15
agent/connect: support any values in the URL
7 years ago
Mitchell Hashimoto 75bf0e1638
agent/connect: support SpiffeIDSigning
7 years ago
Mitchell Hashimoto 17ca8ad083
agent/connect: rename SpiffeID to CertURI
7 years ago
Mitchell Hashimoto 0cbcb07d61
agent/connect: use proper keyusage fields for CA and leaf
7 years ago
Mitchell Hashimoto 73442ada5a
agent/connect: address PR feedback for the CA.go file
7 years ago
Mitchell Hashimoto d28ee70a56
agent: implement an always-200 authorize endpoint
7 years ago
Mitchell Hashimoto a54d1af421
agent/consul: encode issued cert serial number as hex encoded
7 years ago
Mitchell Hashimoto 4210003c86
agent/structs: hide some fields from JSON
7 years ago
Mitchell Hashimoto 63d674d07d
agent: /v1/connect/ca/configuration PUT for setting configuration
7 years ago
Mitchell Hashimoto 1c3dbc83ff
agent/consul/fsm,state: snapshot/restore for CA roots
7 years ago
Mitchell Hashimoto 90f423fd02
agent/consul/fsm,state: tests for CA root related changes
7 years ago
Mitchell Hashimoto 1c72639d60
agent/consul: set more fields on the issued cert
7 years ago
Mitchell Hashimoto c2588262b7
agent: /v1/connect/ca/leaf/:service_id
7 years ago
Mitchell Hashimoto 571d9aa785
agent: CA root HTTP endpoints
7 years ago
Mitchell Hashimoto e40afd6a73
agent/consul: CAS operations for setting the CA root
7 years ago
Mitchell Hashimoto 578db06600
agent/consul: tests for CA endpoints
7 years ago
Mitchell Hashimoto 891cd22ad9
agent/consul: key the public key of the CSR, verify in test
7 years ago
Mitchell Hashimoto d768d5e9a7
agent/consul: test for ConnectCA.Sign
7 years ago
Mitchell Hashimoto f4ec28bfe3
agent/consul: basic sign endpoint not tested yet
7 years ago
Mitchell Hashimoto 548ce190d5
agent/connect: package for agent-related Connect, parse SPIFFE IDs
7 years ago
Mitchell Hashimoto 6d294b6bb4
agent/structs: json omit QueryMeta
7 years ago
Mitchell Hashimoto e7536e5485
agent: /v1/connect/ca/roots
7 years ago
Mitchell Hashimoto 5a950190f3
agent/consul: RPC endpoints to list roots
7 years ago
Mitchell Hashimoto 130098b7b5
agent/consul/state: CARoot structs and initial state store
7 years ago
Mitchell Hashimoto 4d852e62a3
agent: address PR feedback
7 years ago
Mitchell Hashimoto 22a0eb6c67
agent: commenting some tests
7 years ago
Mitchell Hashimoto 6313bc5615
agent: clarified a number of comments per PR feedback
7 years ago
Mitchell Hashimoto 353953fcd2
agent/consul: Health.ServiceNodes ACL check for Connect
7 years ago
Mitchell Hashimoto b6c0cb7115
agent/consul: Catalog endpoint ACL requirements for Connect proxies
7 years ago
Mitchell Hashimoto 3b07686648
agent: remove ConnectProxyServiceName
7 years ago
Mitchell Hashimoto 2feef5f7a3
agent/consul: require name for proxies
7 years ago
Mitchell Hashimoto 714026dfb7
agent: validate service entry on register
7 years ago
Mitchell Hashimoto 125fb96ff1
agent/structs: tests for PartialClone and IsSame for proxy fields
7 years ago
Mitchell Hashimoto 9781cb1ace
agent/local: anti-entropy for connect proxy services
7 years ago
Mitchell Hashimoto 44ec8d94d2
agent: clean up connect/non-connect duplication by using shared methods
7 years ago
Mitchell Hashimoto 368137b81b
agent: /v1/health/connect/:service
7 years ago