Commit Graph
4400 Commits
Author SHA1 Message Date
Dan Heath 72e6ea8da0 docs: Clarify need to reload or restart Client Agent on Mac (#5183)
* docs: Clarify need to reload or restart Client Agent on Mac

* docs: Wake up Vercel

* docs: Use full name of client
2024-10-17 18:36:05 -04:00
Johan Brandhorst-Satzkorn 2d72d2488e Client agent docs updates (#5180)
* docs/client-agent: indent PAN docs correctly

Identifying the primary network interface is a sub-heading under the
PAN troubleshooting section.

* docs/transparent-sessions: add known issue around containers/VMs

VMs/containers that do not have access to the local network cannot
use aliases through transparent sessions.
2024-10-17 15:30:29 -04:00
Michael Li 61f5986f0d chore(enos): Add ipv6 cleanup permission (#5174) 2024-10-17 10:38:24 -04:00
Irena Rindos 7798906e4e chore: update version and add Next to changelog post-release (#5179)
* chore: update version and add Next to changelog post-release
2024-10-15 13:40:55 -04:00
Dan Heath 456f447167 docs: Update installer download link (#5176)
* docs: Update installer download link

* docs: Add absolute path
2024-10-15 11:22:28 -04:00
0bd699c999 Dheath 0.18.0 assembly (#5175)
* docs: TS public beta docs

* docs: Updates

* docs: Move Client Agent sections

* docs: Updates

* docs: Fix typo

* docs: Remove x86

* docs: Add lead in sentence for links

* docs: FAQ updates

* docs: Edits and file name fixes

* Update website/content/docs/api-clients/client-agent.mdx

Co-authored-by: Irena Rindos <irenarindos@users.noreply.github.com>

* docs: Add alias refresh interval

* docs: Remove recurse only option

* Update website/content/docs/api-clients/client-agent.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Update website/content/docs/api-clients/client-agent.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Update website/content/docs/api-clients/client-agent.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Update website/content/docs/api-clients/client-agent.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Update website/content/docs/api-clients/client-agent.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Update website/content/docs/api-clients/client-agent.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Update website/content/docs/api-clients/client-agent.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Update website/content/docs/api-clients/client-agent.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Update website/content/docs/api-clients/client-agent.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Update website/content/docs/concepts/transparent-sessions.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Update website/content/docs/concepts/transparent-sessions.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Update website/content/docs/concepts/transparent-sessions.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Update website/content/docs/concepts/transparent-sessions.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* Update website/content/docs/concepts/transparent-sessions.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* docs: Updates from code review

* docs: Update support request

* docs: Fix a typo

* Update website/content/docs/api-clients/client-agent.mdx

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* docs: Delete log example, create tabs

* client-agent: rework configuration docs

The section in the configuration talking about reloading the config
was repetitive and verbose. Combine the different sections into
two separate sections, one for updating general values and
one for reloading values, on MacOS only.

This also removes the specific Log section.

* docs: Minor rewrites

* client-agent: consistently use $ for shell sessions

* aliases: discourage single-word aliases

The use of single-word aliases breaks Transparent Sessions
on Windows, so we should discourage it. See ICU-15255 for more information.

* transparent-sessions: add known issues

Add two new known issues.

* client-agent: add troubleshooting section

* transparent-sessions: emphasize troubleshooting guide

* correct links

I haven't actually validated these links, but they
are now consistent with the rest of the links.

* Review comments

* client-agent: clarify that not all sessions are listed by command

* transparent-session: add known issue regarding Windows installer

* docs: Minor rewrites

* docs: Fix a typo

* docs: Add AssumeRole support

* docs: Add Backblaze support

* docs: Minor revision

* docs: Update MinIO reqs

* docs: Add supported Hitachi version

* docs: Trigger a new build

* docs: Clarify Desktop compatibility with control plane

* Update website/content/docs/enterprise/supported-versions.mdx

Co-authored-by: Robin Beck <stellarsquall@users.noreply.github.com>

* docs: Release notes 0.18.0

* docs: Add link to Client Agent docs

* docs: Update ts definition

* docs: Remove stray line

* docs: Fix minor issues with the assembly branch

* docs: Move section

* docs: Add section

* docs: Remove duplicate section

---------

Co-authored-by: Irena Rindos <irenarindos@users.noreply.github.com>
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
Co-authored-by: Robin Beck <stellarsquall@users.noreply.github.com>
2024-10-15 08:21:31 -04:00
hashicorp-tsccr[bot]andhashicorp-tsccr[bot] 152d2e83a1 Result of tsccr-helper -log-level=info gha update -latest . (#5141)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
2024-10-11 11:58:14 -04:00
Cameron Perera 2e3fdb718c bump ui commit to 0ff91f9 (#5172) 2024-10-10 15:04:49 -05:00
Lisbet Alvarez 987cdb3b64 bump ui commit to 857bf01 (#5170) 2024-10-09 15:58:44 -07:00
Danny KnightsandDan Heath d580fbb84a Added new remove the requirement for inbound network rules section (#5010)
* Added new remove the requirement for inbound network rules section

* docs: Fix typo

* Update website/content/docs/concepts/connection-workflows/multi-hop.mdx

Co-authored-by: Dan Heath <76443935+Dan-Heath@users.noreply.github.com>

* Update website/content/docs/concepts/connection-workflows/multi-hop.mdx

Co-authored-by: Dan Heath <76443935+Dan-Heath@users.noreply.github.com>

* Update website/content/docs/concepts/connection-workflows/multi-hop.mdx

Co-authored-by: Dan Heath <76443935+Dan-Heath@users.noreply.github.com>

* Update website/content/docs/concepts/connection-workflows/multi-hop.mdx

Co-authored-by: Dan Heath <76443935+Dan-Heath@users.noreply.github.com>

---------

Co-authored-by: Dan Heath <76443935+Dan-Heath@users.noreply.github.com>
2024-10-09 16:33:47 -04:00
Johan Brandhorst-Satzkorn ab922b5786 internal/clientcache/cmd/cache: restart cache on version mismatch (#5165)
Restart the client cache if it is found to be a version below the
version of the CLI during client cache hook execution.
2024-10-09 14:26:33 -04:00
Robin Beck 9a0049a5ff Rab create bucket add filters link (#5157)
* adds link to worker filters examples

* adds terraform tabs for minio and s3-compliant storage
2024-10-09 11:38:52 -06:00
vanphan24andDan Heath 7bef893399 Update controller.mdx - public_cluster_addr (#5151)
* Update controller.mdx - public_cluster_addr

Updating public_cluster_addr to indicate that it is used if a load balancer is used for controllers. Also added a note about not including https:// and http:// in the address

* docs: Minor rewrite

* docs: Minor rewrite

---------

Co-authored-by: Dan Heath <76443935+Dan-Heath@users.noreply.github.com>
2024-10-08 17:42:56 -04:00
vanphan24andDan Heath 778e09ba5e Update multi-hop.mdx (#5153)
* Update multi-hop.mdx

added blurb about using HCP-managed workers for outbound-only scenarios.

* Update multi-hop.mdx

misspelled "intermediary"

* docs: Minor rewrite

---------

Co-authored-by: Dan Heath <76443935+Dan-Heath@users.noreply.github.com>
2024-10-08 17:04:42 -04:00
Cameron Perera f656509739 bump ui commit to 0d55812 (#5158) 2024-10-08 13:57:31 -05:00
Cameron Perera 739d30c365 update CHANGELOG with UI specific updates (#5156) 2024-10-08 11:09:16 -05:00
Michael Li 9398248c32 test(e2e): Add user name to AWS resources (#5149)
This change makes it easier to identify who generated these resources when looking at the AWS console
2024-10-07 14:12:00 -04:00
Cameron Perera a7105868d1 bump ui commit to 64e568bd (#5150) 2024-10-04 12:18:37 -05:00
Timothy Messier 21230e1c61 db: Re-order migrations for next release (#5146)
Refs: 37bf59243a
Refs: 3609658edd
2024-10-01 15:36:05 -04:00
Cameron Perera d9055bd316 bump ui commit to d3c789c66c (#5147) 2024-10-01 14:35:21 -05:00
Hugo d2cf26869c feat(plugins): Update MinIO Storage Plugin (#5145) 2024-10-01 15:36:17 +01:00
Michael Gaffney 9119effa9e fix(session): Fix query for orphaned connections (#5138) 2024-10-01 10:16:29 -04:00
Timothy Messier 3609658edd perf(session): Avoid select when canceling session (#5140)
When a resource relating to a session is deleted,
notably a target, host, or auth_token, the corresponding sessions are
marked as canceled via a database trigger that calls the cancel_session
function. This function was performing a select as part of the insert
call to ensure that it would not attempt to insert a session_sate of
canceled if it was an invalid state transition. However, since this
function was first introduced, there has been additional constraints
added that would prevent an invalid state transition. In addition,
performing a select as part of an insert increases the chances for
contention with other queries that interact with the session_state
table, especially since a large number of sessions and session_state
rows can be included in a single transaction when things like
auth_tokens or targets get deleted.

Now, the cancel_function will perform the insert, and catch any of the
potential violations, allowing the query to continue without needing to
perform the select, thus reduction the potential for contention.
2024-10-01 10:14:06 -04:00
Irena Rindos 10a33eb7a0 Bump boundary version & update changelog (#5143)
* Bump version to 0.18
2024-10-01 09:58:31 -04:00
Hugo 6c70ca42b7 docs(CHANGELOG): Add changes related to AWS dynamic host catalogs (#5142) 2024-10-01 14:45:26 +01:00
Hugo 06f5f02cd4 chore(plugins): Update AWS plugin to v0.4.0 2024-09-30 21:24:18 +01:00
Hugo ec2d5d4285 feat(host/plugin): Support empty host catalog secrets 2024-09-30 21:24:18 +01:00
Hugo a5237cc171 feat(host/plugin): Use plugin client pkg func on job_set_sync 2024-09-30 21:24:18 +01:00
Hugo 5b5aa484da feat(host/plugin): Extract plugin client functionality to pkg func 2024-09-30 21:24:18 +01:00
Hugo ee9f9fb4a1 feat(worker): Support running AWS host plugin 2024-09-30 21:24:18 +01:00
Hugo 60dc0ec3ff feat(host/plugin): Always send plugin information on DHC requests 2024-09-30 21:24:18 +01:00
Hugo c3d03f69d8 feat(cmd): Support plugin host catalog worker filter 2024-09-30 21:24:18 +01:00
Hugo b8046a3ef3 feat(handlers/host_catalogs): Support plugin host catalog worker filter 2024-09-30 21:24:18 +01:00
Hugo 7449fd6f2a feat(host/plugin): Implement worker filter 2024-09-30 21:24:18 +01:00
Hugo 22b54c8b97 fix(event): Prevent eventer data races by removing shallow object copy (#5139)
This issue was surfaced through other changes (PR 5137).

Given that the eventer works in a singleton pattern (see sysEventer
global variable), performing this shallow object copy can cause a data
race because the copy operation reads the underlying eventer data
structures. At the same time, given the global nature of this eventer,
other goroutines can be writing to those same data structures.

Since we're already using a singleton pattern in this package, and given
that the current copy operation is shallow, copying the object doesn't
seem necessary, so this commit changes `StandardWriter` to build the
`logAdapter` with the `e` eventer directly instead of copying it.
2024-09-30 12:17:56 -07:00
Ryan Derr de141e34a9 Worker Connection Failure Add Controller Target (#5109)
* ICU-11692 Add Upstream Controller Addrs When Throwing Controller Connection Failure

* Reference Consistant Load Variable For Client Connection
2024-09-30 11:51:55 -07:00
Timothy Messier 37bf59243a refact(session): Replace state start_time/end_time with time range (#5134)
This replaces the start_time, end_time, and previous_end_time columns on
the session_state table with a time range column that records when the
state was active. This allowed for dropping several constraints on the
session_state table that were used to ensure that states for a session
did not overlap. Instead this can be ensured with a single exclusion
constraint. By reducing the number of constraints, it improves the
performance for a number of queries involved with session state. Most
notably when resolving delete cascades of resources related to sessions,
such as targets, where as part of the delete transaction large numbers
of sessions get canceled. Similarly, when sessions get deleted, and the
corresponding session_state rows are deleted, these constraints all must
be checked during the transaction.

The domain layer continues to expose StartTime and EndTime fields on
session.State. However it drops PreviousEndTime, which was never used by
anything calling the domain layer.

See:
    https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-EXCLUSION
    https://www.postgresql.org/docs/current/rangetypes.html
2024-09-30 14:39:19 -04:00
Timothy Messier f6bdbd116e changelog: Add details for cache speedup and performance improvements (#5130)
Refs: f431d1e223
Refs: d5817f0adab7f5c1f045fa4a5c15a6dc553b022c
2024-09-30 13:33:22 -04:00
Jeff Mitchell dc74e725d4 Some clarity updates to comments in ACL code (#5136) 2024-09-27 12:24:33 -04:00
Irena RindosandMichael Li 7d3fbf3797 chore: update changelog for 0.17.2 (#5131)
* chore: update changelog for 0.17.2

Co-authored-by: Michael Li <michael.li@hashicorp.com>
2024-09-25 14:21:37 -04:00
Irena Rindos 37d8330a10 update changelog with controllers deprecation version (#5129) 2024-09-25 09:38:20 -04:00
Timothy Messier f431d1e223 Merge pull request #5128 from hashicorp/tmessi-cherry-pick-cache-speedup
Cache speed up and additional performance improvements

This includes several changes to improve the performance of the
client cache, including:

* Making the sqlite database for the cache persistent, so the cache does
   not need to be rebuilt each time the boundary client is started.
* Limiting the number of results retrieved when listing resources to 250.
* Preventing redundant refreshes running at the same time for a given
   client.
* Adding indexes to the cache database.

It also refactors the grants query that is run to fetch grants for a
user when processing a controller API request. This greatly reduces the
amount of data that is returned from the database, but required a number
of changes in the application logic to account for different kinds of
grant scopes.

Lastly this makes some performance improvements in the controller
database. It adds several indexes to help with the grants query and with
delete cascades for several resources. And it changes the delete trigger
for sessions to run per statement instead of per row to help with bulk
deleting of sessions.
2024-09-24 14:16:33 -04:00
Timothy Messier 632d048f7b lint: Fix linter errors
(cherry picked from commit 51a2b2035f9c6bb51fe8f5f1defeeb514183fecd)
2024-09-24 14:18:54 +00:00
Timothy Messier a92c88dfb5 refact(db): Replace get_deleted_tables function with a view
This function was returning the set of deletion tables. A view seems
better suited for this task since it would allow for applying additional
filters of the result set. This was particularly necessary to easily
make changes to some sqltests due to switching the delete trigger for
the session table.

(cherry picked from commit 32d41639892950b21fafc39b50c10b997c6d5121)
2024-09-24 14:18:54 +00:00
Timothy Messier 33037b4887 perf(db): Use statement trigger for marking deleted sessions
When sessions are deleted, a trigger is used to insert records into the
session_deleted table. This table is utilized by the sessions list
endpoint when using a refresh token to inform a client of the sessions
that have been deleted since the last request. We delete sessions in
bulk via a controller job to delete sessions that have been terminated
over an hour ago, which results in the trigger running a large number of
separate insert statements while processing the delete statement.

This changes the trigger to run once for the delete statement, instead
of for each row, resulting in a single bulk insert statement to the
session_deleted table.

This new trigger function also avoids the use of `on conflict`. When
testing this function, while the single statement was still faster than
running multiple inserts, the `on conflict` still added significant
overhead, even when there were no conflicts. It should be safe to
perform the insert without the `on conflict`, since the same ID should
never be deleted more than once if it is successfully deleted.

(cherry picked from commit 3569b36c6eb2bee7a4e36e7584fcc6bbf1124f95)
2024-09-24 14:18:54 +00:00
Timothy Messier 091ed6bacb perf(db): Reorder index columns for primary keys
When processing a controller API request, system uses a query to fetch
the grants for the requesting user. This query requires pulling together
information from several tables, and is currently performing many
sequential scans to do so. For a number of the tables involved, there
are indexes from multi-column primary keys, however, due to the order of
the columns in the index, the postgres planner would need to do a full
scan of the index, which can be less efficient than a sequential scan,
so instead it will perform a sequential scan of the table.

This recreates the primary keys while swapping the order of the columns
in the primary key definition, and thus the order in the index. By doing
so, the planner will not need to perform a full index scan, and will be
more likely to use the index when executing the grants query.

(cherry picked from commit 5577b3c358e9d45cd7ec02fc951e45d52e50595e)
2024-09-24 14:18:54 +00:00
Timothy Messier c9578b441a perf(db): Add indexes on foreign key to improve delete performance
This adds indexes for a few categories:

1. Foreign keys on the session table. These are set to `null` when the
   referenced row is deleted. These indexes will help to more
   efficiently set these `null` values in the case where a target is
   deleted, or and auth token is deleted.
2. Foreign keys from other tables to the session table. These are either
   set to `null` or cascade deleted when a session is deleted. These
   indexes help with these update/deletes when a session is deleted.
3. A multi-column index on session_state. This helps with the query that
   is used to delete all terminated sessions that have been terminated
   for over an hour.

(cherry picked from commit 263a96e9ddd197cb36f2c4c74e91ac034112321e)
2024-09-24 14:18:54 +00:00
Jeff Mitchell 62d4f8453b Don't explode grants from the DB (#5104)
This removes the Cartesian product in the DB for GrantsForUser in favor
of returning the actual grant scope information and dealing with it in
application code.

(cherry picked from commit 913cd536823d73994acc4f4d833208c1cc05f91b)
2024-09-24 14:18:53 +00:00
Irena Rindos 2945692bf4 Client cache API paging (#5107)
* internal/clientcache: add -force-reset-schema flag

* clientcache: stream list pages directly to DB

---------

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
(cherry picked from commit ccea8a4ce53f7b0d1105c1c1e4875e443635d96a)
2024-09-24 14:18:53 +00:00
Jeff Mitchell 3a4ee032d9 Paginate targets in cache (#5101)
* Update Go API to support pagination
* Implement pagination of targets in cache

(cherry picked from commit cd25fad42f325fc050b7ea3bec3336780d2b5e16)
2024-09-24 14:18:53 +00:00