This project is mirrored from https://gitee.com/mirrors/nomad.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
  1. 08 Jun, 2022 1 commit
  2. 07 Jun, 2022 10 commits
  3. 02 Jun, 2022 2 commits
    • Tim Gross's avatar
      core job for root key GC (#13199) · 1e7d5eaf
      Tim Gross authored
      Inactive and unused keys older than a threshold will be periodically
      garbage collected.
      1e7d5eaf
    • Tim Gross's avatar
      remove end-user algorithm selection (#13190) · cef1aed0
      Tim Gross authored
      After internal design review, we decided to remove exposing algorithm
      choice to the end-user for the initial release. We'll solve nonce
      rotation by forcing rotations automatically on key GC (in a core job,
      not included in this changeset). Default to AES-256 GCM for the
      following criteria:
      
      * faster implementation when hardware acceleration is available
      * FIPS compliant
      * implementation in pure go
      * post-quantum resistance
      
      Also fixed a bug in the decoding from keystore and switched to a 
      harder-to-misuse encoding method.
      cef1aed0
  4. 01 Jun, 2022 15 commits
    • Tim Gross's avatar
      provide state store query for variables by key ID (#13195) · 75fc8101
      Tim Gross authored
      The core jobs to garbage collect unused keys and perform full key
      rotations will need to be able to query secure variables by key ID for
      efficiency. Add an index to the state store and associated query
      function and test.
      75fc8101
    • Tim Gross's avatar
      bootstrap keyring (#13124) · 81653cd8
      Tim Gross authored
      When a server becomes leader, it will check if there are any keys in
      the state store, and create one if there is not. The key metadata will
      be replicated via raft to all followers, who will then get the key
      material via key replication (not implemented in this changeset).
      81653cd8
    • Phil Renaud's avatar
      Secure Variables UI: /variables/new and /variables/*path (#13069) · 6a669f17
      Phil Renaud authored
      * variables.new initialized
      
      * Hacky but savey
      
      * Variable wildcard route and multiple creatable at a time
      
      * multiple KVs per variable
      
      * PR Prep cleanup and lintfix
      
      * Delog
      
      * Data mocking in mirage for variables
      
      * Linting fixes
      
      * Re-implement absent params
      
      * Adapter and model tests
      
      * Moves the path-as-id logic to a serializer instead of adapter
      
      * Classic to serializer and lint cleanup
      
      * Pluralized save button (#13140)
      
      * Autofocus modifier and better Add More button UX (#13145)
      
      * Secure Variables: show/hide functionality when adding new values (#13137)
      
      * Flight Icons added and show hide functionality
      
      * PR cleanup
      
      * Linting cleanup
      
      * Position of icon moved to the right of input
      
      * PR feedback addressed
      
      * Delete button and stylistic changes to show hide
      
      * Hmm, eslint doesnt like jsdoc-usage as only reason for import
      
      * More closely match the button styles and delete test
      
      * Simplified new.js model
      
      * Secure Variables: /variables/*path/edit route and functionality (#13170)
      
      * Variable edit page init
      
      * Significant change to where we house model methods
      
      * Lintfix
      
      * Edit a variable tests
      
      * Remove redundant tests
      
      * Asserts expected
      
      * Mirage factory updated to reflect model state
      6a669f17
    • Charlie Voiselle's avatar
      Secure Variables: Variables - State store, FSM, RPC (#13098) · 346b1bcb
      Charlie Voiselle authored
      
      * Secure Variables: State Store
      * Secure Variables: FSM
      * Secure Variables: RPC
      * Secure Variables: HTTP API
      Co-authored-by: default avatarTim Gross <tgross@hashicorp.com>
      346b1bcb
    • Tim Gross's avatar
      keystore serialization (#13106) · eadecead
      Tim Gross authored
      This changeset implements the keystore serialization/deserialization:
      
      * Adds a JSON serialization extension for the `RootKey` struct, along with a metadata stub. When we serialize RootKey to the on-disk keystore, we want to base64 encode the key material but also exclude any frequently-changing fields which are stored in raft.
      * Implements methods for loading/saving keys to the keystore.
      * Implements methods for restoring the whole keystore from disk.
      * Wires it all up with the `Keyring` RPC handlers and fixes up any fallout on tests.
      eadecead
    • Tim Gross's avatar
      keyring HTTP API (#13077) · 2c5b8fff
      Tim Gross authored
      2c5b8fff
    • Tim Gross's avatar
      keyring RPC handlers (#13075) · 3399a1be
      Tim Gross authored
      Implement the upsert, list, delete, and rotate RPC handlers for the
      secure variables keyring. Operations on the keyring itself are still
      stubbed out.
      3399a1be
    • Tim Gross's avatar
      keyring state store operations (#13016) · ecbcf7ca
      Tim Gross authored
      Implement the basic upsert, list, and delete operations for
      `RootKeyMeta` needed by the Keyring RPCs.
      
      This changeset also implements two convenience methods
      `RootKeyMetaByID` and `GetActiveRootKeyMeta` which are useful for
      testing but also will be needed to implement the rest of the RPCs.
      ecbcf7ca
    • Phil Renaud's avatar
      Secure Variables UI: Router setup and /variables/index route + guards (#12967) · 090edb5e
      Phil Renaud authored
      * Route init
      
      * Bones of a mirage-mocked secure variables policy
      
      * Functinoing policy for list vars
      
      * Delog and transition on route
      
      * Basic guard test
      
      * Page guard tests for secure variables
      
      * Cleanup and unit tests for variables ability
      
      * Linter cleanup
      
      * Set expectations for test assertions
      
      * PR feedback addressed
      
      * Read label changed to View per suggestion
      090edb5e
    • Charlie Voiselle's avatar
      Provide mock secure variables implementation (#12980) · c0386a43
      Charlie Voiselle authored
      * Add SecureVariable mock
      * Add SecureVariableStub
      * Add SecureVariable Copy and Stub funcs
      c0386a43
    • Tim Gross's avatar
      secure variables: initial state store (#12932) · f381a02e
      Tim Gross authored
      Implement the core SecureVariable and RootKey structs in memdb,
      provide the minimal skeleton for FSM, and a dummy storage and keyring
      RPC endpoint.
      f381a02e
    • Tim Gross's avatar
      refactor index threshold calculation for core GC jobs (#13196) · a0e8de33
      Tim Gross authored
      Almost all GC jobs check the index of the objects being GC'd to see if
      they're older than a configured threshold. This code was repeated six
      times in `CoreScheduler` with only logging changes, so it seems safe
      to extract it as its own method.
      a0e8de33
    • Seth Hoenig's avatar
      Merge pull request #13194 from hashicorp/update-golangci-lint · 63fed3b5
      Seth Hoenig authored
      build: update golangci-lint to v1.46.2
      63fed3b5
    • Jason Paul Deland's avatar
      f42c94da
    • Seth Hoenig's avatar
      Merge pull request #13193 from hashicorp/build-exclude-go-work-sum · 0be43c24
      Seth Hoenig authored
      build: git ignore go.work.sum files
      0be43c24
  5. 31 May, 2022 4 commits
  6. 30 May, 2022 2 commits
  7. 27 May, 2022 3 commits
  8. 26 May, 2022 3 commits