Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions documentation/staging/archetypes/default.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: false
---

19 changes: 19 additions & 0 deletions documentation/staging/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# analytics
googleAnalytics = "UA-129126578-2"

baseURL = '/weblogic-toolikit-ui'
languageCode = 'en-us'
title = 'WebLogic Kubernetes Toolkit UI'

# Change the default theme to be use when building the site with Hugo
theme = 'learn'

publishDir = "docs"

# For search functionality
[outputs]
home = [ "HTML", "RSS", "JSON"]

[params]
# disable the copy to clipboard links
disableInlineCopyToClipBoard = true
48 changes: 48 additions & 0 deletions documentation/staging/content/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
## WebLogic Kubernetes Toolkit UI Documentation

The WebLogic Kubernetes Toolkit (WKT) is a collection of open source tools that help you provision WebLogic-based
applications to run in Linux containers on a Kubernetes cluster. WKT includes the following tools:

- [WebLogic Deploy Tooling (WDT)](https://github.com/oracle/weblogic-deploy-tooling) - A set of single-purpose,
lifecycle tools that operate off of a single metadata model representation of a WebLogic domain.
- [WebLogic Image Tool (WIT)](https://github.com/oracle/weblogic-image-tool) - A tool for creating Linux container
images for running WebLogic domains.
- [WebLogic Kubernetes Operator (WKO)](https://github.com/oracle/weblogic-kubernetes-operator) - A Kubernetes operator
that allows WebLogic domains to run natively in a Kubernetes cluster.

The WKT UI provides a graphical user interface that wraps the WKT tools, Docker, Helm, and the Kubernetes client
(`kubectl`) and helps guide you through the process of creating and modifying a model of your WebLogic domain, creating
a Linux container image to use to run the domain, and setting up and deploying the software and configuration
necessary to deploy and access the domain in your Kubernetes cluster.

### Current release

WebLogic Kubernetes Toolkit UI version and release information can be found [here](https://github.com/oracle/weblogic-toolkit-ui/releases).

### About the Documentation
For detailed user information, read the following:

- [About the WKT UI Application]({{< relref "/concepts/_index.md" >}})
- WebLogic Kubernetes Toolkit UI [Prerequisites]({{< relref "/setup/prerequisites.md" >}}) and [Installation]({{< relref "/setup/install.md" >}})
- [Navigate the WKT UI]({{< relref "/navigate/_index.md" >}})
- [Model]({{< relref "/navigate/model.md" >}})
- [Image]({{< relref "/navigate/image.md" >}})
- [Kubernetes]({{< relref "/navigate/kubernetes/_index.md" >}})
- [Verrazzano]({{< relref "/navigate/verrazzano.md" >}})

For developer information, see [WebLogic Kubernetes Toolkit UI Project]({{< relref "/developer/_index.md" >}})

### Get Help

We have a closely monitored public Slack channel where you can get in touch with us to ask questions about using the
WebLogic Toolkit UI or give us feedback or suggestions about what features and improvements you would like to see.
We would love to hear from you.

To join our public channel, please visit this [site](https://weblogic-slack-inviter.herokuapp.com/) to get an invitation. The invitation email will include details of how to access our Slack workspace. After you are logged in, please come to `#weblogic-kubernetes-toolkit` and say, “hello!”

### Related Projects
For detailed documentation and access to WebLogic Toolkit-related projects, see:

- [WebLogic Kubernetes Operator](https://oracle.github.io/weblogic-kubernetes-operator/)
- [WebLogic Deploy Tooling](https://oracle.github.io/weblogic-deploy-tooling/)
- [WebLogic Image Tool](https://oracle.github.io/weblogic-image-tool/)
154 changes: 154 additions & 0 deletions documentation/staging/content/concepts/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
+++
title = "About the WKT UI Application"
date = 2019-02-22T15:27:38-05:00
weight = 1
pre = "<b> </b>"
+++



### Contents

- [WKT Project File](#wkt-project-file)
- [Settings Outside the WKT Project File](#settings-outside-the-wkt-project-file)
- [Environment Variables](#environment-variables)
- [User Preferences](#user-preferences)
- [Proxy Configuration](#proxy-configuration)
- [Logging Configuration](#logging-configuration)
- [WebLogic Kubernetes Toolkit UI Introduction Configuration](#weblogic-kubernetes-toolkit-ui-introduction-configuration)
- [External Applications](#external-applications)
- [Bundled WKT Applications](#bundled-wkt-applications)



Before giving you the whirlwind tour of the WKT UI application, it is important to know that the application is a native,
desktop application. It uses native operating system features, such as:

- Native menus - Some of the application's functionality is available _only_ by using the menus.
- Registering file extensions - The application installer registers the `.wktproj` extension and associates itself
with that extension. For example, this lets you double-click on the file in the native file browser and
have the application start and open the selected project.
- Recent files integration - As you work with `.wktproj` files, the application adds those files to the OS-maintained
list of recently used files. This causes these files to show up in OS-specific locations to provide shortcuts for
opening the file with the application. For example, on MacOS, right-clicking on the application icon in the dock will
display the recently used `.wktproj` files and selecting one will open an application window and load the contents
of the `.wktproj` file.

### WKT Project File
What is a `.wktproj` file? Simply put, it is the application's equivalent of an Integrated Development Environment
(IDE) project file. It stores:

- Metadata about the UI project.
- Pointers to WDT model-related files used by the project.
- Form field data that you enter into the application.

There are two ways to create a new project:
- Explicitly - Use `File` > `New Project` and select the file location and name.
- Implicitly - Use the application to start working. After you trigger an action that needs a project file, you are
prompted to select the file location and name.

_Note that the file extension for project files must be `.wktproj`. Otherwise, the application will not recognize the
file as a project and will not allow it to be opened as a project file._

The WKT UI application uses a one project per window paradigm and most everything you do in the window is
affected by the project data, either stored directly in the project file or in the WDT model-related files referenced
by the project. However, there are a few exceptions that are covered in [Settings Outside the WKT Project File](#settings-outside-the-wkt-project-file).

### Settings Outside the WKT Project File

Multiple factors influence the behavior of the WKT UI application in a particular environment. Other than the WKT Project file,
those include:

- [Environment Variables](#environment-variables) - The application uses the environment it inherits when it is started.
- [User Preferences](#user-preferences) - The application's user preferences file stores shared, user-level settings that
transcend project boundaries.
- [External Applications](#external-applications) - The application or its components depend on an application being available and properly configured.
- [Bundled WKT Applications](#bundled-wkt-applications) - The application bundles its own copies of WebLogic Deploy Tooling and WebLogic Image Tool.

#### Environment Variables
Some of the application's behavior is influenced by environment variables it inherits when it is started. Environment
variables affect the behavior of the WKT UI application when computing default values for application form fields. Some
examples are:

- `PATH` - Used to locate executables like `docker`, `helm`, and `kubectl`.
- `JAVA_HOME` - Used as one way to find the directory where the Java Development Kit (JDK) is installed.
- `ORACLE_HOME` and `MW_HOME` - Used to find the Oracle Fusion Middleware installation directory.

{{% notice note %}}
On Windows and Linux platforms, this tends to be the user's environment that they have configured to be used when
they log in. On MacOS, native applications do not inherit the user's login environment. Instead, the application
inherits the environment configured by the `launchd` daemon process. If you are running on MacOS, then you should keep this in mind
when the application doesn't behave as you expect.
{{% /notice %}}

#### User Preferences

The `Preferences` menu lets you configure settings that affect the behavior of the WKT UI application for the user
across all instances of the application on the machine. These user-visible settings include the following categories:

- [Proxy Configuration](#proxy-configuration)
- [Logging Configuration](#logging-configuration)
- WebLogic Kubernetes Toolkit UI [Introduction Configuration](#weblogic-kubernetes-toolkit-ui-introduction-configuration)

Settings are also used to store internally used values that impact the appearance of the application. For example, the
Window size is stored so that the application will open the window with your last known window size. The list of
such appearance-related settings will likely grow over time.

##### Proxy Configuration

If the WKT UI application is to be run from an environment where a proxy server is required to access the Internet, then you
must configure the proxy server settings to allow Internet access. Currently, the UI depends on access to
`github.com` to access release information and download new releases of the WKT tools and the UI itself. This connectivity
is used in various places to determine default values for input data (for example, the default image tag to use for installing the
WebLogic Kubernetes Operator) and providing updated features for the WKT tools bundled with the application, as
well as updating the WKT UI application itself when a new release becomes available. Depending on the project configuration,
the application may also require access to other sites, such as Docker Hub and other container registries, Helm chart
download sites, and cloud-provider sites for authenticating to and accessing remote Kubernetes clusters.

To configure the proxy environment, use the `Preferences` menu to add or update the
following fields, as needed:

- `HTTPS Proxy URL` - The full URL to the proxy server (for example, http://my-proxy-server.mycompany.com:80).
- `Bypass Proxy Hosts` - The comma-separated list of DNS or IP patterns that should not go through the proxy.
For example, a value of `.us.mycompany.com,.emea.mycompany.com,.apac.mycompany.com` will skip the proxy for any
DNS name that ends in one of the three domain names.

##### Logging Configuration

Using this section, you can configure the logging output level and control the log file directory. The defaults are:

- `File Transport Log Level` - The logging level below which log messages will be discarded. For example, `Debug` messages
will be discarded if the level is set to `Info`. The default value is `Info`.
- `Log File Directory` - The directory to which log files are written. The default is the user's temporary directory, as
defined by the operating system.

##### WebLogic Kubernetes Toolkit UI Introduction Configuration

This setting lets you turn on or off the in-application introductory information being displayed at startup. `Show Introduction` is always
accessible from the `Help` menu.

#### External Applications

The WKT UI application depends on several external applications for its functionality. As such, it is important to install and
configure these external applications properly on the local machine on which the application is running.

- `docker` (or `podman`) - Used to create new images and inspect the contents of
custom base images. The WebLogic Image Tool depends on `docker` (or `podman`) for this functionality. `docker`
(or `podman`) is also used to log in to and interact with image registries.
- `kubectl` - Used to get, create, and update configuration objects in your Kubernetes cluster.
It is critical that the `kubectl` configuration file is properly set up to allow `kubectl` to authenticate to the cluster.
- `helm` - Used to install the WebLogic Kubernetes Operator and ingress controllers.
- `openssl` - Used to generate X.509 TLS certificates, should you ask the application to
generate one for your ingress route(s), only if you ask the application to generate it for you.

#### Bundled WKT Applications

[WebLogic Deploy Tooling](https://oracle.github.io/weblogic-deploy-tooling/) (WDT) and [WebLogic Image Tool](https://oracle.github.io/weblogic-image-tool/) (WIT) are bundled with the WKT UI application. These tools are:

- WDT - Used to support discovering a model from an existing domain, prepare the model for a
particular Kubernetes target type, and is used by the WebLogic Image Tool when creating the domain inside the image.
- WIT - Used to create a new image for your WebLogic Server domain. It is also used to inspect any
custom base image that you might specify be used for creating the new image.

Use `Help` > `Check For Updates` periodically to make sure you are using the latest versions of these
bundled tools.
53 changes: 53 additions & 0 deletions documentation/staging/content/developer/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
+++
title = "Developer Guide"
date = 2019-02-22T15:27:38-05:00
weight = 4
pre = "<b> </b>"
+++

The WebLogic Kubernetes Toolkit UI is a desktop application designed to help WebLogic users move their applications to run in a Kubernetes environment.

### Setting up your development environment
1. Download and install the latest LTS version of `node.js` from [https://nodejs.org/en/download/](https://nodejs.org/en/download/).
2. If you rely on a proxy server to reach the Internet, set these five environment variables to configure the proxy correctly:
```
ELECTRON_GET_USE_PROXY=true
GLOBAL_AGENT_HTTPS_PROXY=<proxy-url>
WKTUI_DEV_PROXY=<proxy-url>
HTTPS_PROXY=<proxy-url>
NO_PROXY=<list-of-no-proxy-hosts>
```
3. Open a command line and run the following command to update the version of `npm` to the latest:
```bash
sudo npm install --global npm
```
**Note**: If developing on Windows, run the following commands from a shell running as Administrator instead:
```cmd
npm install --global --production npm-windows-upgrade
npm-windows-upgrade --npm-version latest
```
4. Set up your global git configuration by running the following commands:
```bash
git config --global user.name "<your real name>"
git config --global user.email "<your-oracle-email-address>"
git config --global core.ignoreCase false
```
**This last command is critical if you are developing on either Windows or MacOS. Yes, the MacOS file system
is, by default, case-insensitive!**

5. Clone the git repository on GitHub at [https://github.com/oracle/weblogic-toolkit-ui](https://github.com/oracle/weblogic-toolkit-ui).
6. Open a command line in the `weblogic-toolkit-ui` directory and run `npm install` to download and install the JavaScript dependencies required by the project.
7. Open a command line in the `weblogic-toolkit-ui/electron` directory and run `npm run install-tools`.
8. Open a command line in the `weblogic-toolkit-ui/webui` directory and run `npm start`.
9. After the server from the previous step is fully running, open a command line in the `weblogic-toolkit-ui/electron` directory and run `npm start`.

### Building a Windows or MacOS installer
0. Set up your development environment and verify that the application is working properly from it.
1. Open a command line in the `weblogic-toolkit-ui/electron` directory and run `npm run build`.
2. Find the executable and installer(s) in the `weblogic-toolkit-ui/dist` directory.

### Building a Linux installer
0. Set up your development environment and verify that the application is working properly from it.
1. Open a command line in the `weblogic-toolkit-ui/webui` directory and run `npm run build:release`.
2. From the command line in the `weblogic-toolkit-ui/scripts` directory, run `./devBuildLinuxInstallers.sh`.
3. Find the executable and installer(s) in the `weblogic-toolkit-ui/dist` directory.
34 changes: 34 additions & 0 deletions documentation/staging/content/navigate/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
+++
title = "Navigate the UI"
date = 2019-02-22T15:27:38-05:00
weight = 3
pre = "<b> </b>"
+++

### Before you begin

Make sure you have read [About the WKT UI Application]({{< relref "/concepts/_index.md" >}}).

### About the UI

To help you understand how to use the WKT UI, we will step you through it, section by section,
describing the important decisions to make and fields to populate. The sections are listed in
the left side navigation pane. Depending on the `Kubernetes Environment Target Type` field
on the `Project Settings` page, you will see either the `Kubernetes` or `Verrazzano` section.

The UI sections are:

- [Project Settings]({{< relref "/navigate/project-settings.md" >}})
- [Model]({{< relref "/navigate/model.md" >}})
- [Image]({{< relref "/navigate/image.md" >}})
- [Kubernetes]({{< relref "/navigate/kubernetes/_index.md" >}})
- [Client Configuration]({{< relref "/navigate/kubernetes/k8s-client-config.md" >}})
- [WebLogic Operator]({{< relref "/navigate/kubernetes/k8s-wko.md" >}})
- [WebLogic Domain]({{< relref "/navigate/kubernetes/k8s-weblogic-domain.md" >}})
- [Ingress Controller]({{< relref "/navigate/kubernetes/k8s-ingress-controller.md" >}})
- [Verrazzano]({{< relref "/navigate/verrazzano.md" >}})
- Client Configuration
- Application

At the bottom of the page, the collapsed `Console` panel automatically appears and displays the `stdout` and `stderr`
streams when running certain actions, such as `Prepare Model`.
Loading