Replace uses of the term "Kolide" with "Fleet" (#1999)
Almost two years ago, we began referring to the project as Fleet, but there are many occurences of the term "Kolide" throughout the UI and documentation. This PR attempts to clear up those uses where it is easily achievable. The term "Kolide" is used throughout the code as well, but modifying this would be more likely to introduce bugs.
This commit is contained in:
+4
-4
@@ -3,10 +3,10 @@
|
||||
Welcome to the documentation for the Kolide Fleet osquery fleet manager.
|
||||
|
||||
- If you're interested in using the `fleetctl` CLI to manage your osquery fleet, see the [CLI Documentation](./cli/README.md).
|
||||
- Resources for deploying osquery to hosts, deploying the Kolide server, installing Kolide's infrastructure dependencies, etc. can all be found in the [Infrastructure Documentation](./infrastructure/README.md).
|
||||
- If you are interested in accessing the Kolide REST API in order to programmatically interact with your osquery installation, please see the [API Documentation](./api/README.md).
|
||||
- Information about using the Kolide web dashboard can be found in the [Dashboard Documentation](./dashboard/README.md).
|
||||
- Resources for deploying osquery to hosts, deploying the Fleet server, installing Fleet's infrastructure dependencies, etc. can all be found in the [Infrastructure Documentation](./infrastructure/README.md).
|
||||
- If you are interested in accessing the Fleet REST API in order to programmatically interact with your osquery installation, please see the [API Documentation](./api/README.md).
|
||||
- Information about using the Fleet web dashboard can be found in the [Dashboard Documentation](./dashboard/README.md).
|
||||
- Architecturally significant decisions are documented in the [Architecture Documentation](./architecture/README.md).
|
||||
- Finally, if you're interested in interacting with the Kolide source code, you will find information on modifying and building the code in the [Development Documentation](./development/README.md).
|
||||
- Finally, if you're interested in interacting with the Fleet source code, you will find information on modifying and building the code in the [Development Documentation](./development/README.md).
|
||||
|
||||
If you have any questions, please don't hesitate to [File a GitHub issue](https://github.com/kolide/fleet/issues) or [join us on Slack](https://osquery-slack.herokuapp.com/). You can find us in the `#kolide` channel.
|
||||
|
||||
+1
-1
@@ -36,4 +36,4 @@ Each set of objects follows a similar REST access pattern.
|
||||
|
||||
Queries, packs, scheduled queries, labels, invites, users, sessions all behave this way. Some objects, like invites, have additional HTTP methods for additional functionality. Some objects, such as scheduled queries, are merely a relationship between two other objects (in this case, a query and a pack) with some details attached.
|
||||
|
||||
All of these objects are put together and distributed to the appropriate osquery agents at the appropriate time. At this time, the best source of truth for the API is the [HTTP handler file](https://github.com/kolide/fleet/blob/master/server/service/handler.go) in the Go application. The REST API is exposed via a transport layer on top of an RPC service which is implemented using a micro-service library called [Go Kit](https://github.com/go-kit/kit). If using the Kolide API is important to you right now, being familiar with Go Kit would definitely be helpful.
|
||||
All of these objects are put together and distributed to the appropriate osquery agents at the appropriate time. At this time, the best source of truth for the API is the [HTTP handler file](https://github.com/kolide/fleet/blob/master/server/service/handler.go) in the Go application. The REST API is exposed via a transport layer on top of an RPC service which is implemented using a micro-service library called [Go Kit](https://github.com/go-kit/kit). If using the Fleet API is important to you right now, being familiar with Go Kit would definitely be helpful.
|
||||
|
||||
@@ -286,7 +286,7 @@ The password to use when connecting to the Redis instance.
|
||||
|
||||
##### `server_address`
|
||||
|
||||
The address to serve the Kolide webserver.
|
||||
The address to serve the Fleet webserver.
|
||||
|
||||
- Default value: `0.0.0.0:8080`
|
||||
- Environment variable: `KOLIDE_SERVER_ADDRESS`
|
||||
|
||||
@@ -37,7 +37,7 @@ To install the MySQL server files, run the following:
|
||||
$ sudo apt-get install mysql-server -y
|
||||
```
|
||||
|
||||
When asked for MySQL's root password, enter `toor` for the sake of this tutorial if you are having trouble thinking of a better password for the MySQL root user. If you decide to set your own password, be mindful that you will need to substitute it every time `toor` is used in this document.
|
||||
When asked for MySQL's root password, enter `toor` for the sake of this tutorial if you are having trouble thinking of a better password for the MySQL root user. If you decide to set your own password, be mindful that you will need to substitute it every time `toor` is used in this document.
|
||||
|
||||
After installing `mysql-server`, the `mysqld` server should be running. You can verify this by running the following:
|
||||
|
||||
@@ -134,13 +134,13 @@ $ sudo apt-get update
|
||||
$ sudo apt-get install osquery
|
||||
```
|
||||
|
||||
If you're having trouble with the above steps, check the official [downloads](https://osquery.io/downloads) link for a direct download of the .deb.
|
||||
If you're having trouble with the above steps, check the official [downloads](https://osquery.io/downloads) link for a direct download of the .deb.
|
||||
|
||||
You will need to set the osquery enroll secret and osquery server certificate. If you head over to the manage hosts page on your Fleet instance (which should be [https://localhost:8080/hosts/manage](https://localhost:8080/hosts/manage)), you should be able to click "Add New Hosts" and see a modal like the following:
|
||||
|
||||

|
||||
|
||||
If you select "Fetch Kolide Certificate", your browser will download the appropriate file to your downloads directory (to a file probably called `localhost-8080.pem`). Copy this file to your Ubuntu host at `/var/osquery/server.pem`.
|
||||
If you select "Fetch Fleet Certificate", your browser will download the appropriate file to your downloads directory (to a file probably called `localhost-8080.pem`). Copy this file to your Ubuntu host at `/var/osquery/server.pem`.
|
||||
|
||||
You can also select "Reveal Secret" on that modal and the enrollment secret for your Fleet instance will be revealed. Copy that text and create a file with it's contents:
|
||||
|
||||
|
||||
+10
-10
@@ -1,15 +1,15 @@
|
||||
# Kolide Front-End
|
||||
# Fleet Front-End
|
||||
|
||||
The Kolide front-end is a Single Page Application using React and Redux.
|
||||
The Fleet front-end is a Single Page Application using React and Redux.
|
||||
|
||||
## Running the Kolide web app
|
||||
## Running the Fleet web app
|
||||
|
||||
For details instruction on building and serving the Kolide web application
|
||||
For details instruction on building and serving the Fleet web application
|
||||
consult the [Development Documentation](./development/README.md)
|
||||
|
||||
## Directory Structure
|
||||
|
||||
Component directories in the Kolide front-end application encapsulate the entire
|
||||
Component directories in the Fleet front-end application encapsulate the entire
|
||||
component, including files for the component, helper functions, styles, and tests. The
|
||||
typical directory structure for a component is as follows:
|
||||
|
||||
@@ -47,7 +47,7 @@ parent components to render data and handle user interactions.
|
||||
|
||||
### [interfaces](./interfaces)
|
||||
|
||||
Files in the interfaces directory are used to specify the PropTypes for a reusable Kolide
|
||||
Files in the interfaces directory are used to specify the PropTypes for a reusable Fleet
|
||||
entity. This is designed to DRY up the code and increase re-usability. These
|
||||
interfaces are imported into component files and implemented when defining the
|
||||
component's PropTypes.
|
||||
@@ -59,7 +59,7 @@ found at the [API client documentation page](./kolide/README.md).
|
||||
|
||||
### [layouts](https://github.com/kolide/kolide/tree/master/frontend/layouts)
|
||||
|
||||
The Kolide application has only 1 layout, the [Core Layout](./layouts/CoreLayout/CoreLayout.jsx).
|
||||
The Fleet application has only 1 layout, the [Core Layout](./layouts/CoreLayout/CoreLayout.jsx).
|
||||
The Layout is rendered from the [router](./router/index.jsx) and are used to set up the general app UI (header, sidebar) and render child components.
|
||||
The child components rendered by the layout are typically page components.
|
||||
|
||||
@@ -71,7 +71,7 @@ redux and pass that data to child components (located in the [components
|
||||
directory](./components). As
|
||||
connected components, Pages are also used to dispatch actions. Actions
|
||||
dispatched from Pages are intended to update redux state and oftentimes include
|
||||
making a call to the Kolide API.
|
||||
making a call to the Fleet API.
|
||||
|
||||
### [redux](./redux)
|
||||
|
||||
@@ -113,8 +113,8 @@ etc.
|
||||
|
||||
## Forms
|
||||
|
||||
For details on creating a Kolide form visit the [Kolide Form Documentation](./components/forms/README.md).
|
||||
For details on creating a Fleet form visit the [Fleet Form Documentation](./components/forms/README.md).
|
||||
|
||||
## API Client
|
||||
|
||||
For details on the Kolide API Client visit the [Kolide API Client Documentation](./kolide/README.md).
|
||||
For details on the Fleet API Client visit the [Fleet API Client Documentation](./kolide/README.md).
|
||||
|
||||
@@ -20,7 +20,7 @@ const SmtpWarning = ({ className, onDismiss, onResolve, shouldShowWarning }) =>
|
||||
<Icon name="warning-filled" />
|
||||
<span className={`${baseClass}__label`}>Warning!</span>
|
||||
</div>
|
||||
<span className={`${baseClass}__text`}>Email is not currently configured in Kolide. Many features rely on email to work.</span>
|
||||
<span className={`${baseClass}__text`}>Email is not currently configured in Fleet. Many features rely on email to work.</span>
|
||||
{onDismiss && <Button onClick={onDismiss} variant="unstyled">Dismiss</Button>}
|
||||
{onResolve && <Button onClick={onResolve} variant="unstyled">Resolve</Button>}
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Kolide Forms
|
||||
# Fleet Forms
|
||||
|
||||
Kolide Forms leverage the [Form Higher Order Component](./Form.jsx) to simplify implementation and state management. As a user fills out a form, the Form HOC collects the form data in state. When the form is submitted, the Form HOC calls the provided client-side validation function with the form data and, if valid, then calls the `handleSubmit` prop with the form data. If the client-side validation function returns errors, those errors are stored in the Form HOC state and displayed in the form input where the input name matches the error key.
|
||||
Fleet Forms leverage the [Form Higher Order Component](./Form.jsx) to simplify implementation and state management. As a user fills out a form, the Form HOC collects the form data in state. When the form is submitted, the Form HOC calls the provided client-side validation function with the form data and, if valid, then calls the `handleSubmit` prop with the form data. If the client-side validation function returns errors, those errors are stored in the Form HOC state and displayed in the form input where the input name matches the error key.
|
||||
|
||||
The Form HOC takes 3 parameters:
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ class ConfirmationPage extends Component {
|
||||
<td>{orgName}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Kolide URL:</th>
|
||||
<th>Fleet URL:</th>
|
||||
<td><span className={`${baseClass}__table-url`} title={kolideWebAddress}>{kolideWebAddress}</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -86,4 +86,3 @@ class ConfirmationPage extends Component {
|
||||
}
|
||||
|
||||
export default ConfirmationPage;
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ class KolideDetails extends Component {
|
||||
<div className="registration-fields">
|
||||
<InputFieldWithIcon
|
||||
{...fields.kolide_server_url}
|
||||
placeholder="Kolide Web Address"
|
||||
placeholder="Fleet Web Address"
|
||||
tabIndex={tabIndex}
|
||||
hint={['Don’t include ', <code key="hint">/v1</code>, ' or any other path']}
|
||||
/>
|
||||
|
||||
@@ -85,7 +85,7 @@ class RegistrationForm extends Component {
|
||||
if (page === 1) {
|
||||
return (
|
||||
<div className={`${baseClass}__description`}>
|
||||
<p>Additional admins can be designated within the Kolide App</p>
|
||||
<p>Additional admins can be designated within the Fleet App</p>
|
||||
<p>Passwords must include 7 characters, at least 1 number (eg. 0-9) and at least 1 symbol (eg. ^&*#)</p>
|
||||
</div>
|
||||
);
|
||||
@@ -95,7 +95,7 @@ class RegistrationForm extends Component {
|
||||
return (
|
||||
<div className={`${baseClass}__description`}>
|
||||
<p>Set your organization's name (eg. Kolide, Inc)</p>
|
||||
<p>(Optional) Set an organization logo to use in the Kolide application. Should be an https URL to an image file (eg. https://kolide.co/logo.png).</p>
|
||||
<p>(Optional) Set an organization logo to use in the Fleet application. Should be an https URL to an image file (eg. https://kolide.co/logo.png).</p>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -103,9 +103,9 @@ class RegistrationForm extends Component {
|
||||
if (page === 3) {
|
||||
return (
|
||||
<div className={`${baseClass}__description`}>
|
||||
<p>Define the base URL that clients will use to connect to Kolide.</p>
|
||||
<p>Define the base URL that clients will use to connect to Fleet.</p>
|
||||
<p>
|
||||
<small>Note: Please ensure the URL is accessible to all endpoints that will be managed by Kolide. The hostname must match the name on your TLS certificate.</small>
|
||||
<small>Note: Please ensure the URL is accessible to all endpoints that will be managed by Fleet. The hostname must match the name on your TLS certificate.</small>
|
||||
</p>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -172,17 +172,17 @@ class AppConfigForm extends Component {
|
||||
</div>
|
||||
</div>
|
||||
<div className={`${baseClass}__section`}>
|
||||
<h2>Kolide Web Address</h2>
|
||||
<h2>Fleet Web Address</h2>
|
||||
<div className={`${baseClass}__inputs`}>
|
||||
<InputField
|
||||
{...fields.kolide_server_url}
|
||||
label="Kolide App URL"
|
||||
label="Fleet App URL"
|
||||
hint={<span>Include base path only (eg. no <code>/v1</code>)</span>}
|
||||
/>
|
||||
</div>
|
||||
<div className={`${baseClass}__details`}>
|
||||
<p>What base URL should <strong>osqueryd</strong> clients use to connect and register with <strong>Kolide</strong>?</p>
|
||||
<p className={`${baseClass}__note`}><strong>Note:</strong> Please ensure the URL you choose is accessible to all endpoints that need to communicate with Kolide, otherwise they will not be able to correctly register.</p>
|
||||
<p>What base URL should <strong>osqueryd</strong> clients use to connect and register with <strong>Fleet</strong>?</p>
|
||||
<p className={`${baseClass}__note`}><strong>Note:</strong> Please ensure the URL you choose is accessible to all endpoints that need to communicate with Fleet, otherwise they will not be able to correctly register.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -215,7 +215,7 @@ class AppConfigForm extends Component {
|
||||
/>
|
||||
</div>
|
||||
<div className={`${baseClass}__details`}>
|
||||
<p>The required entity ID is a URI that you use to identify <strong>Kolide</strong> when configuring the identity provider.</p>
|
||||
<p>The required entity ID is a URI that you use to identify <strong>Fleet</strong> when configuring the identity provider.</p>
|
||||
</div>
|
||||
|
||||
<div className={`${baseClass}__inputs`}>
|
||||
@@ -279,7 +279,7 @@ class AppConfigForm extends Component {
|
||||
/>
|
||||
</div>
|
||||
<div className={`${baseClass}__details`}>
|
||||
<p>The address email recipients will see all messages that are sent from the <strong>Kolide</strong> application.</p>
|
||||
<p>The address email recipients will see all messages that are sent from the <strong>Fleet</strong> application.</p>
|
||||
</div>
|
||||
<div className={`${baseClass}__inputs ${baseClass}__inputs--smtp`}>
|
||||
<InputField
|
||||
@@ -318,7 +318,7 @@ class AppConfigForm extends Component {
|
||||
<h2>Osquery Enrollment Secret</h2>
|
||||
<div className={`${baseClass}__inputs`}>
|
||||
<p className={`${baseClass}__enroll-secret-label`}>
|
||||
This is the secret that you use to enroll osquery agents with Kolide:
|
||||
This is the secret that you use to enroll osquery agents with Fleet:
|
||||
<Button variant="unstyled" onClick={onToggleRevealSecret}>Reveal Secret</Button>
|
||||
</p>
|
||||
<InputField
|
||||
|
||||
@@ -26,7 +26,7 @@ describe('AppConfigForm - form', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('Kolide App URL input', () => {
|
||||
describe('Fleet App URL input', () => {
|
||||
it('renders an input field', () => {
|
||||
itBehavesLikeAFormInputElement(form, 'kolide_server_url');
|
||||
});
|
||||
|
||||
@@ -32,7 +32,7 @@ export default (formData) => {
|
||||
}
|
||||
|
||||
if (!kolideServerUrl) {
|
||||
errors.kolide_server_url = 'Kolide Server URL must be present';
|
||||
errors.kolide_server_url = 'Fleet Server URL must be present';
|
||||
}
|
||||
|
||||
if (!orgName) {
|
||||
|
||||
@@ -42,7 +42,7 @@ describe('AppConfigForm - validations', () => {
|
||||
expect(validate(invalidFormData)).toEqual({
|
||||
valid: false,
|
||||
errors: {
|
||||
kolide_server_url: 'Kolide Server URL must be present',
|
||||
kolide_server_url: 'Fleet Server URL must be present',
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
@@ -63,7 +63,7 @@ class AddHostModal extends Component {
|
||||
return (
|
||||
<div className={baseClass}>
|
||||
<p>
|
||||
Follow the instructions below to add hosts to your Kolide Instance.
|
||||
Follow the instructions below to add hosts to your Fleet Instance.
|
||||
</p>
|
||||
|
||||
<div className={`${baseClass}__manual-install-header`}>
|
||||
@@ -83,7 +83,7 @@ class AddHostModal extends Component {
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Kolide / Osquery - Install Docs <Icon name="external-link" />
|
||||
Fleet / Osquery - Install Docs <Icon name="external-link" />
|
||||
</a>
|
||||
</h4>
|
||||
<p>
|
||||
@@ -124,13 +124,13 @@ class AddHostModal extends Component {
|
||||
<h4>Download Server Certificate (Optional)</h4>
|
||||
<p>
|
||||
If you use the native osquery TLS plugins, Osquery requires the
|
||||
same TLS certificate that Kolide is using in order to
|
||||
same TLS certificate that Fleet is using in order to
|
||||
authenticate. You can fetch the certificate below:
|
||||
</p>
|
||||
<p className={`${baseClass}__download-cert`}>
|
||||
<Button variant="unstyled" onClick={onFetchCertificate}>
|
||||
<img src={certificate} role="presentation" />
|
||||
<span>Fetch Kolide Certificate</span>
|
||||
<span>Fetch Fleet Certificate</span>
|
||||
</Button>
|
||||
</p>
|
||||
</li>
|
||||
|
||||
@@ -20,7 +20,7 @@ const LonelyHost = ({ onClick = noop }) => {
|
||||
|
||||
<div className={`${baseClass}__content`}>
|
||||
<h1>It's Kinda Lonely In Here...</h1>
|
||||
<h2>Get started adding hosts to Kolide.</h2>
|
||||
<h2>Get started adding hosts to Fleet.</h2>
|
||||
<p>This can be done individually or across your entire fleet.</p>
|
||||
<img src={swoop} className={`${baseClass}__swoop`} role="presentation" />
|
||||
</div>
|
||||
|
||||
@@ -32,7 +32,7 @@ describe('AppSettingsPage - component', () => {
|
||||
|
||||
expect(smtpWarning.length).toEqual(1);
|
||||
expect(smtpWarning.find('Icon').length).toEqual(1);
|
||||
expect(smtpWarning.text()).toInclude('Email is not currently configured in Kolide');
|
||||
expect(smtpWarning.text()).toInclude('Email is not currently configured in Fleet');
|
||||
});
|
||||
|
||||
it('dismisses the smtp warning when "DISMISS" is clicked', () => {
|
||||
|
||||
@@ -60,7 +60,7 @@ class ConfirmInvitePage extends Component {
|
||||
Welcome to the party, {inviteFormData.email}!
|
||||
</p>
|
||||
<p className={`${baseClass}__sub-lead-text`}>
|
||||
Please take a moment to fill out the following information before we take you into <b>Kolide</b>
|
||||
Please take a moment to fill out the following information before we take you into <b>Fleet</b>
|
||||
</p>
|
||||
</div>
|
||||
<div className={`${baseClass}__form-section-wrapper`}>
|
||||
|
||||
@@ -66,7 +66,7 @@ class ConfirmSSOInvitePage extends Component {
|
||||
Welcome to the party, {inviteFormData.email}!
|
||||
</p>
|
||||
<p className={`${baseClass}__sub-lead-text`}>
|
||||
Please take a moment to fill out the following information before we take you into <b>Kolide</b>
|
||||
Please take a moment to fill out the following information before we take you into <b>Fleet</b>
|
||||
</p>
|
||||
</div>
|
||||
<div className={`${baseClass}__form-section-wrapper`}>
|
||||
|
||||
@@ -408,8 +408,8 @@ export class ManageHostsPage extends Component {
|
||||
onExit={toggleDeleteHostModal(null)}
|
||||
className={`${baseClass}__modal`}
|
||||
>
|
||||
<p>This action will delete the host from your Kolide instance.</p>
|
||||
<p>If the host comes back online it will automatically re-enroll. To prevent the host from auto re-enrolling please disable or uninstall osquery on the host.</p>
|
||||
<p>This action will delete the host from your Fleet instance.</p>
|
||||
<p>If the host comes back online it will automatically re-enroll. To prevent the host from re-enrolling please disable or uninstall osquery on the host.</p>
|
||||
<div className={`${baseClass}__modal-buttons`}>
|
||||
<Button onClick={onDestroyHost} variant="alert">Delete</Button>
|
||||
<Button onClick={toggleDeleteHostModal(null)} variant="inverse">Cancel</Button>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Kolide Redux Implementation
|
||||
# Fleet Redux Implementation
|
||||
|
||||
Kolide uses [`Redux`](http://redux.js.org) for application state management.
|
||||
Fleet uses [`Redux`](http://redux.js.org) for application state management.
|
||||
React components themselves can manage state, but Redux makes it easy to share
|
||||
state throughout the app by being the single source of truth (such as keeping track of the entities returned by the API).
|
||||
|
||||
@@ -47,7 +47,7 @@ The shape of the application's Redux state is as follows:
|
||||
### App State
|
||||
|
||||
App state contains information about the general app setup and information. It
|
||||
contains a `config` object with data on the user's organization and Kolide
|
||||
contains a `config` object with data on the user's organization and Fleet
|
||||
setup. Additionally, the app state in Redux controls rendering the side
|
||||
navigation as a mobile view, and displaying the Kolide jagged background image
|
||||
located on specific pages such as the login page.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Kolide Redux Middleware
|
||||
# Fleet Redux Middleware
|
||||
|
||||
The Kolide Redux Middleware handles actions before they hit the reducers. The
|
||||
The Fleet Redux Middleware handles actions before they hit the reducers. The
|
||||
current middleware does the following:
|
||||
|
||||
## [Authentication Middleware](./auth.js)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Kolide Redux Entities
|
||||
# Fleet Redux Entities
|
||||
|
||||
Redux entities are all configured similarly in Kolide. They start with the same initial
|
||||
Redux entities are all configured similarly in Fleet. They start with the same initial
|
||||
state, and contain the same default actions (each action namespaced to the
|
||||
entity name). Some entities extend the default configuration but for the most
|
||||
part entities are configured as follows:
|
||||
|
||||
@@ -42,7 +42,7 @@ const (
|
||||
TLSProfileOld = "old"
|
||||
)
|
||||
|
||||
// ServerConfig defines configs related to the Kolide server
|
||||
// ServerConfig defines configs related to the Fleet server
|
||||
type ServerConfig struct {
|
||||
Address string
|
||||
Cert string
|
||||
@@ -134,11 +134,11 @@ func (man Manager) addConfigs() {
|
||||
|
||||
// Server
|
||||
man.addConfigString("server.address", "0.0.0.0:8080",
|
||||
"Kolide server address (host:port)")
|
||||
"Fleet server address (host:port)")
|
||||
man.addConfigString("server.cert", "./tools/osquery/kolide.crt",
|
||||
"Kolide TLS certificate path")
|
||||
"Fleet TLS certificate path")
|
||||
man.addConfigString("server.key", "./tools/osquery/kolide.key",
|
||||
"Kolide TLS key path")
|
||||
"Fleet TLS key path")
|
||||
man.addConfigBool("server.tls", true,
|
||||
"Enable TLS (required for osqueryd communication)")
|
||||
man.addConfigString(TLSProfileKey, TLSProfileModern,
|
||||
@@ -263,7 +263,7 @@ func flagNameFromConfigKey(key string) string {
|
||||
return strings.Replace(key, ".", "_", -1)
|
||||
}
|
||||
|
||||
// Manager manages the addition and retrieval of config values for Kolide
|
||||
// Manager manages the addition and retrieval of config values for Fleet
|
||||
// configs. It's only public API method is LoadConfig, which will return the
|
||||
// populated KolideConfig struct.
|
||||
type Manager struct {
|
||||
|
||||
@@ -43,7 +43,7 @@ func Labels2() []kolide.Label {
|
||||
{
|
||||
Name: "All Hosts",
|
||||
Query: "select 1;",
|
||||
Description: "All hosts which have enrolled in Kolide",
|
||||
Description: "All hosts which have enrolled in Fleet",
|
||||
LabelType: kolide.LabelTypeBuiltIn,
|
||||
},
|
||||
{
|
||||
|
||||
@@ -46,7 +46,7 @@ func (d *Datastore) NewInvite(i *kolide.Invite) (*kolide.Invite, error) {
|
||||
|
||||
}
|
||||
|
||||
// ListInvites lists all invites in the Kolide database. Supply query options
|
||||
// ListInvites lists all invites in the Fleet database. Supply query options
|
||||
// using the opt parameter. See kolide.ListOptions
|
||||
func (d *Datastore) ListInvites(opt kolide.ListOptions) ([]*kolide.Invite, error) {
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ type AppConfigStore interface {
|
||||
}
|
||||
|
||||
// AppConfigService provides methods for configuring
|
||||
// the Kolide application
|
||||
// the Fleet application
|
||||
type AppConfigService interface {
|
||||
NewAppConfig(ctx context.Context, p AppConfigPayload) (info *AppConfig, err error)
|
||||
AppConfig(ctx context.Context) (info *AppConfig, err error)
|
||||
@@ -75,8 +75,8 @@ func (m SMTPAuthMethod) String() string {
|
||||
}
|
||||
}
|
||||
|
||||
// AppConfig holds configuration about the Kolide application.
|
||||
// AppConfig data can be managed by a Kolide API user.
|
||||
// AppConfig holds configuration about the Fleet application.
|
||||
// AppConfig data can be managed by a Fleet API user.
|
||||
type AppConfig struct {
|
||||
ID uint
|
||||
OrgName string `db:"org_name"`
|
||||
@@ -92,9 +92,9 @@ type AppConfig struct {
|
||||
// tested with the settings provided by an admin user.
|
||||
SMTPConfigured bool `db:"smtp_configured"`
|
||||
// SMTPSenderAddress is the email address that will appear in emails sent
|
||||
// from Kolide
|
||||
// from Fleet
|
||||
SMTPSenderAddress string `db:"smtp_sender_address"`
|
||||
// SMTPServer is the host name of the SMTP server Kolide will use to send mail
|
||||
// SMTPServer is the host name of the SMTP server Fleet will use to send mail
|
||||
SMTPServer string `db:"smtp_server"`
|
||||
// SMTPPort port SMTP server will use
|
||||
SMTPPort uint `db:"smtp_port"`
|
||||
@@ -176,9 +176,9 @@ type SMTPSettingsPayload struct {
|
||||
// tested with the settings provided by an admin user.
|
||||
SMTPConfigured *bool `json:"configured"`
|
||||
// SMTPSenderAddress is the email address that will appear in emails sent
|
||||
// from Kolide
|
||||
// from Fleet
|
||||
SMTPSenderAddress *string `json:"sender_address"`
|
||||
// SMTPServer is the host name of the SMTP server Kolide will use to send mail
|
||||
// SMTPServer is the host name of the SMTP server Fleet will use to send mail
|
||||
SMTPServer *string `json:"server"`
|
||||
// SMTPPort port SMTP server will use
|
||||
SMTPPort *uint `json:"port"`
|
||||
@@ -214,7 +214,7 @@ type AppConfigPayload struct {
|
||||
SSOSettings *SSOSettingsPayload `json:"sso_settings"`
|
||||
}
|
||||
|
||||
// OrgInfo contains general info about the organization using Kolide.
|
||||
// OrgInfo contains general info about the organization using Fleet.
|
||||
type OrgInfo struct {
|
||||
OrgName *string `json:"org_name,omitempty"`
|
||||
OrgLogoURL *string `json:"org_logo_url,omitempty"`
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package kolide
|
||||
|
||||
// Datastore combines all the interfaces in the Kolide DAL
|
||||
// Datastore combines all the interfaces in the Fleet DAL
|
||||
type Datastore interface {
|
||||
UserStore
|
||||
QueryStore
|
||||
|
||||
@@ -67,7 +67,7 @@ func (m *SMTPTestMailer) Message() ([]byte, error) {
|
||||
}
|
||||
|
||||
type PasswordResetMailer struct {
|
||||
// URL for the Kolide application
|
||||
// URL for the Fleet application
|
||||
KolideServerURL template.URL
|
||||
// Token password reset token
|
||||
Token string
|
||||
|
||||
@@ -34,7 +34,7 @@ type InviteStore interface {
|
||||
// InviteService contains methods for a service which deals with
|
||||
// user invites.
|
||||
type InviteService interface {
|
||||
// InviteNewUser creates an invite for a new user to join Kolide.
|
||||
// InviteNewUser creates an invite for a new user to join Fleet.
|
||||
InviteNewUser(ctx context.Context, payload InvitePayload) (invite *Invite, err error)
|
||||
|
||||
// DeleteInvite removes an invite.
|
||||
@@ -58,7 +58,7 @@ type InvitePayload struct {
|
||||
SSOEnabled *bool `json:"sso_enabled"`
|
||||
}
|
||||
|
||||
// Invite represents an invitation for a user to join Kolide.
|
||||
// Invite represents an invitation for a user to join Fleet.
|
||||
type Invite struct {
|
||||
UpdateCreateTimestamps
|
||||
DeleteFields
|
||||
|
||||
@@ -94,7 +94,7 @@ type LabelType uint
|
||||
const (
|
||||
// LabelTypeRegular is for user created labels that can be modified.
|
||||
LabelTypeRegular LabelType = iota
|
||||
// LabelTypeBuiltIn is for labels built into Kolide that cannot be
|
||||
// LabelTypeBuiltIn is for labels built into Fleet that cannot be
|
||||
// modified by users.
|
||||
LabelTypeBuiltIn
|
||||
)
|
||||
|
||||
@@ -142,7 +142,7 @@ type Option struct {
|
||||
Type OptionType `json:"type"`
|
||||
// Value of the option which may be nil, bool, int, or string.
|
||||
Value OptionValue `json:"value"`
|
||||
// ReadOnly if true, this option is required for Kolide to function
|
||||
// ReadOnly if true, this option is required for Fleet to function
|
||||
// properly and cannot be modified by the end user
|
||||
ReadOnly bool `json:"read_only" db:"read_only"`
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ type UserStore interface {
|
||||
ConfirmPendingEmailChange(userID uint, token string) (string, error)
|
||||
}
|
||||
|
||||
// UserService contains methods for managing a Kolide User.
|
||||
// UserService contains methods for managing a Fleet User.
|
||||
type UserService interface {
|
||||
// NewUser creates a new User from a request Payload.
|
||||
NewUser(ctx context.Context, p UserPayload) (user *User, err error)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Package mail provides implementations of the Kolide MailService
|
||||
// Package mail provides implementations of the Fleet MailService
|
||||
package mail
|
||||
|
||||
import (
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
<tr>
|
||||
<td colspan="2" style="padding:60px; font-family: 'Oxygen', Arial, sans-serif;">
|
||||
<h1 style="font-weight:300">Confirmed Kolide SMTP Setup</h1>
|
||||
<p>Looks like you've got SMTP setup properly on your <a href="{{.KolideServerURL}}">Kolide instance</a> or else you wouldn't be reading this!</p>
|
||||
<p>Looks like you've got SMTP setup properly on your <a href="{{.KolideServerURL}}">Fleet instance</a> or else you wouldn't be reading this!</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr bgcolor="#f4f6fb">
|
||||
|
||||
@@ -41,24 +41,24 @@ func getNodeKey(r interface{}) (string, error) {
|
||||
v := reflect.ValueOf(r)
|
||||
if v.Kind() != reflect.Struct {
|
||||
return "", osqueryError{
|
||||
message: "request type is not struct. This is likely a Kolide programmer error.",
|
||||
message: "request type is not struct. This is likely a Fleet programmer error.",
|
||||
}
|
||||
}
|
||||
nodeKeyField := v.FieldByName("NodeKey")
|
||||
if !nodeKeyField.IsValid() {
|
||||
return "", osqueryError{
|
||||
message: "request struct missing NodeKey. This is likely a Kolide programmer error.",
|
||||
message: "request struct missing NodeKey. This is likely a Fleet programmer error.",
|
||||
}
|
||||
}
|
||||
if nodeKeyField.Kind() != reflect.String {
|
||||
return "", osqueryError{
|
||||
message: "NodeKey is not a string. This is likely a Kolide programmer error.",
|
||||
message: "NodeKey is not a string. This is likely a Fleet programmer error.",
|
||||
}
|
||||
}
|
||||
return nodeKeyField.String(), nil
|
||||
}
|
||||
|
||||
// authenticatedUser wraps an endpoint, requires that the Kolide user is
|
||||
// authenticatedUser wraps an endpoint, requires that the Fleet user is
|
||||
// authenticated, and populates the context with a Viewer struct for that user.
|
||||
func authenticatedUser(jwtKey string, svc kolide.Service, next endpoint.Endpoint) endpoint.Endpoint {
|
||||
return func(ctx context.Context, request interface{}) (interface{}, error) {
|
||||
|
||||
@@ -370,7 +370,7 @@ func makeKolideKitHandlers(e KolideEndpoints, opts []kithttp.ServerOption) *koli
|
||||
}
|
||||
}
|
||||
|
||||
// MakeHandler creates an HTTP handler for the Kolide server endpoints.
|
||||
// MakeHandler creates an HTTP handler for the Fleet server endpoints.
|
||||
func MakeHandler(svc kolide.Service, jwtKey string, logger kitlog.Logger) http.Handler {
|
||||
kolideAPIOptions := []kithttp.ServerOption{
|
||||
kithttp.ServerBefore(
|
||||
|
||||
@@ -61,7 +61,7 @@ func (svc service) SendTestEmail(ctx context.Context, config *kolide.AppConfig)
|
||||
}
|
||||
|
||||
testMail := kolide.Email{
|
||||
Subject: "Hello from Kolide",
|
||||
Subject: "Hello from Fleet",
|
||||
To: []string{vc.User.Email},
|
||||
Mailer: &kolide.SMTPTestMailer{
|
||||
KolideServerURL: config.KolideServerURL,
|
||||
|
||||
@@ -1073,7 +1073,7 @@ func TestUpdateHostIntervals(t *testing.T) {
|
||||
}}`),
|
||||
true,
|
||||
},
|
||||
// Kolide not managing distributed_interval
|
||||
// Fleet not managing distributed_interval
|
||||
{
|
||||
kolide.Host{
|
||||
ConfigTLSRefresh: 60,
|
||||
|
||||
@@ -149,7 +149,7 @@ func (svc service) modifyEmailAddress(ctx context.Context, user *kolide.User, em
|
||||
return err
|
||||
}
|
||||
changeEmail := kolide.Email{
|
||||
Subject: "Confirm Kolide Email Change",
|
||||
Subject: "Confirm Fleet Email Change",
|
||||
To: []string{email},
|
||||
Config: config,
|
||||
Mailer: &kolide.ChangeEmailMailer{
|
||||
@@ -350,7 +350,7 @@ func (svc service) RequestPasswordReset(ctx context.Context, email string) error
|
||||
}
|
||||
|
||||
resetEmail := kolide.Email{
|
||||
Subject: "Reset Your Kolide Password",
|
||||
Subject: "Reset Your Fleet Password",
|
||||
To: []string{user.Email},
|
||||
Config: config,
|
||||
Mailer: &kolide.PasswordResetMailer{
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Configs and Tools for Testing Kolide
|
||||
# Configs and Tools for Testing Fleet
|
||||
|
||||
The files in this directory are intended to assist with Kolide development.
|
||||
The files in this directory are intended to assist with Fleet development.
|
||||
|
||||
* `docker-compose.yml`: This docker-compose file helps with starting `osqueryd` instances for testing Kolide. More on this [below](#testing-with-containerized-osqueryd).
|
||||
* `docker-compose.yml`: This docker-compose file helps with starting `osqueryd` instances for testing Fleet. More on this [below](#testing-with-containerized-osqueryd).
|
||||
|
||||
* `example_config.json`: An example config file with insecure default passwords. Useful for testing in a local dev environment, but should /never/ be used in production.
|
||||
|
||||
@@ -15,21 +15,21 @@ The files in this directory are intended to assist with Kolide development.
|
||||
|
||||
## Testing with containerized osqueryd
|
||||
|
||||
Using Docker enables us to rapidly spin up and down pre-configured `osqueryd` instances for testing Kolide. Currently we have container images for Ubuntu14 and Centos7 osquery installations.
|
||||
Using Docker enables us to rapidly spin up and down pre-configured `osqueryd` instances for testing Fleet. Currently we have container images for Ubuntu14 and Centos7 osquery installations.
|
||||
|
||||
### Setup
|
||||
|
||||
Docker and docker-compose are the only dependencies. The necessary container images will be pulled from Docker Cloud on first run.
|
||||
|
||||
Before using the following commands, set the environment variable `LOCALHOST` to the public IP (127.0.0.1 will not work) of the docker host machine. This will allow the containers to connect to the local Kolide server. You will also need to
|
||||
Before using the following commands, set the environment variable `LOCALHOST` to the public IP (127.0.0.1 will not work) of the docker host machine. This will allow the containers to connect to the local Fleet server. You will also need to
|
||||
set `KOLIDE_OSQUERY_VERSION` to either `1.8.2` or `latest` (currently 2.1.2) to indicate which version of osquery that you want to run on your
|
||||
containers.
|
||||
|
||||
You will also need to set the environment variable `ENROLL_SECRET` to the value of your kolide enroll secret(configured during the app setup or in the app config UI).
|
||||
You will also need to set the environment variable `ENROLL_SECRET` to the value of your Fleet enroll secret (available on the manage hosts page, or via `fleetctl get enroll-secret`).
|
||||
|
||||
### Running osqueryd
|
||||
|
||||
The osqueryd instances are configured to use the TLS plugins at `$LOCALHOST:8080`. Using the `example_config.json` in this directory should configure Kolide with the appropriate settings for these `osqueryd` containers to connect.
|
||||
The osqueryd instances are configured to use the TLS plugins at `$LOCALHOST:8080`. Using the `example_config.json` in this directory should configure Fleet with the appropriate settings for these `osqueryd` containers to connect.
|
||||
|
||||
To start one instance each of Centos and Ubuntu `osqueryd`, use:
|
||||
|
||||
@@ -97,4 +97,4 @@ There will be two osqueryd processes, you'll probably be interested in the child
|
||||
```
|
||||
kill -3 <pid>
|
||||
```
|
||||
The core file should be in your current working directory on the container.
|
||||
The core file should be in your current working directory on the container.
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ var plugins = [
|
||||
template: 'frontend/templates/react.ejs'
|
||||
}),
|
||||
new WebpackNotifierPlugin({
|
||||
title: "Kolide",
|
||||
title: "Fleet",
|
||||
contentImage: path.resolve("./assets/images/kolide-logo.svg"),
|
||||
excludeWarnings: true
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user