Skip to content

Commit

Permalink
Merge pull request #39 from brightdigit/development
Browse files Browse the repository at this point in the history
Development
  • Loading branch information
leogdion authored Aug 14, 2020
2 parents 45a60e2 + 9ec964a commit e066950
Show file tree
Hide file tree
Showing 63 changed files with 1,623 additions and 1,471 deletions.
3 changes: 3 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.build/
.swiftpm/
DerivedData
64 changes: 64 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# ================================
# Build image
# ================================
FROM swift:5.2-focal as build

# Install OS updates and, if needed, sqlite3
RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \
&& apt-get -q update \
&& apt-get -q dist-upgrade -y \
&& rm -rf /var/lib/apt/lists/*

# Set up a build area
WORKDIR /build

# First just resolve dependencies.
# This creates a cached layer that can be reused
# as long as your Package.swift/Package.resolved
# files do not change.
COPY ./Package.* ./
RUN swift package resolve

# Copy entire repo into container
COPY . .

# Build everything, with optimizations and test discovery
RUN swift build --enable-test-discovery -c release

# Switch to the staging area
WORKDIR /staging

# Copy main executable to staging area
RUN cp "$(swift build --package-path /build -c release --show-bin-path)/orchardnestd" ./

# Uncomment the next line if you need to load resources from the `Public` directory.
# Ensure that by default, neither the directory nor any of its contents are writable.
RUN mv /build/Public ./Public && chmod -R a-w ./Public

# ================================
# Run image
# ================================
FROM swift:5.2-focal-slim

# Make sure all system packages are up to date.
RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true && \
apt-get -q update && apt-get -q dist-upgrade -y && rm -r /var/lib/apt/lists/*

# Create a vapor user and group with /app as its home directory
RUN useradd --user-group --create-home --system --skel /dev/null --home-dir /app vapor

# Switch to the new home directory
WORKDIR /app

# Copy built executable and any staged resources from builder
COPY --from=build --chown=vapor:vapor /staging /app

# Ensure all further commands run as the vapor user
USER vapor:vapor

# Let Docker bind to port 8080
EXPOSE 8080

# Start the Vapor service when the image is run, default to listening on 8080 in production environment
ENTRYPOINT ["./orchardnestd"]
CMD ["serve", "--env", "production", "--hostname", "0.0.0.0", "--port", "8080"]
16 changes: 8 additions & 8 deletions Documentation/Reference/enums/EntryCategory.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ case marketing
case newsletters
```

### `podcasts(_:)`
### `podcasts(_:_:)`

```swift
case podcasts(URL)
case podcasts(URL, Int)
```

### `updates`
Expand All @@ -49,10 +49,10 @@ case podcasts(URL)
case updates
```

### `youtube(_:)`
### `youtube(_:_:)`

```swift
case youtube(String)
case youtube(String, Int)
```

## Properties
Expand All @@ -63,16 +63,16 @@ public var type: EntryCategoryType
```

## Methods
### `init(podcastEpisodeAtURL:)`
### `init(podcastEpisodeAtURL:withSeconds:)`

```swift
public init(podcastEpisodeAtURL url: URL)
public init(podcastEpisodeAtURL url: URL, withSeconds seconds: Int)
```

### `init(youtubeVideoWithID:)`
### `init(youtubeVideoWithID:withSeconds:)`

```swift
public init(youtubeVideoWithID id: String)
public init(youtubeVideoWithID id: String, withSeconds seconds: Int)
```

### `init(type:)`
Expand Down
32 changes: 32 additions & 0 deletions Documentation/Reference/enums/Errors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
**ENUM**

# `Errors`

```swift
public enum Errors: Error
```

## Cases
### `notBeginWithP`

```swift
case notBeginWithP
```

### `timePartNotBeginWithT`

```swift
case timePartNotBeginWithT
```

### `unknownElement`

```swift
case unknownElement
```

### `discontinuous`

```swift
case discontinuous
```
12 changes: 12 additions & 0 deletions Documentation/Reference/extensions/EntryItem.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ public extension EntryItem
```

## Properties
### `seconds`

```swift
var seconds: Int?
```

### `podcastEpisodeURL`

```swift
Expand All @@ -23,3 +29,9 @@ var youtubeID: String?
```swift
var twitterShareLink: String
```

### `fallbackImageURL`

```swift
var fallbackImageURL: URL?
```
6 changes: 6 additions & 0 deletions Documentation/Reference/structs/FeedItem.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@ public let ytId: String?
public let audio: URL?
```

### `duration`

```swift
public let duration: TimeInterval?
```

### `published`

```swift
Expand Down
20 changes: 20 additions & 0 deletions Documentation/Reference/structs/YouTubeItem.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
**STRUCT**

# `YouTubeItem`

```swift
public struct YouTubeItem: Decodable
```

## Properties
### `contentDetails`

```swift
public let contentDetails: YouTubeItemContentDetails
```

### `id`

```swift
public let id: String
```
27 changes: 27 additions & 0 deletions Documentation/Reference/structs/YouTubeItemContentDetails.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
**STRUCT**

# `YouTubeItemContentDetails`

```swift
public struct YouTubeItemContentDetails: Decodable
```

## Properties
### `duration`

```swift
public let duration: TimeInterval
```

## Methods
### `init(from:)`

```swift
public init(from decoder: Decoder) throws
```

#### Parameters

| Name | Description |
| ---- | ----------- |
| decoder | The decoder to read data from. |
14 changes: 14 additions & 0 deletions Documentation/Reference/structs/YouTubeResponse.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
**STRUCT**

# `YouTubeResponse`

```swift
public struct YouTubeResponse: Decodable
```

## Properties
### `items`

```swift
public let items: [YouTubeItem]
```
3 changes: 1 addition & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@ let package = Package(
.package(url: "https://github.com/JohnSundell/Ink.git", from: "0.1.0"),
// dev
.package(url: "https://github.com/shibapm/Komondor", from: "1.0.5"),
.package(url: "https://github.com/eneko/SourceDocs", from: "1.2.1"),
.package(url: "https://github.com/shibapm/Rocket", from: "0.1.0")
.package(url: "https://github.com/eneko/SourceDocs", from: "1.2.1")
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
Expand Down
Empty file added Public/robots.txt
Empty file.
Loading

0 comments on commit e066950

Please sign in to comment.