Skip to content

Commit

Permalink
implemented release manifest support
Browse files Browse the repository at this point in the history
  • Loading branch information
xadhatter committed Jan 19, 2024
1 parent ee8ca58 commit 4efd469
Show file tree
Hide file tree
Showing 45 changed files with 1,491 additions and 999 deletions.
18 changes: 0 additions & 18 deletions api/crds/kubefox.xigxog.io_appdeployments.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,6 @@ spec:
imagePullSecretName:
type: string
repoURL:
format: uri
type: string
tag:
type: string
Expand Down Expand Up @@ -315,13 +314,6 @@ spec:
items:
properties:
kind:
enum:
- AppDeployment
- Component
- HTTPAdapter
- Release
- ReleaseManifest
- VirtualEnvironment
type: string
name:
type: string
Expand All @@ -348,16 +340,6 @@ spec:
message:
type: string
type:
enum:
- AdapterNotFound
- AppDeploymentFailed
- DependencyInvalid
- DependencyNotFound
- ParseError
- PolicyViolation
- RouteConflict
- VarNotFound
- VarWrongType
type: string
required:
- type
Expand Down
424 changes: 287 additions & 137 deletions api/crds/kubefox.xigxog.io_releasemanifests.yaml

Large diffs are not rendered by default.

147 changes: 20 additions & 127 deletions api/crds/kubefox.xigxog.io_virtualenvironments.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ spec:
properties:
environment:
description: Name of the Environment this VirtualEnvironment is part
of.
of. This field is immutable.
minLength: 1
type: string
release:
Expand All @@ -125,8 +125,12 @@ spec:
type: object
minProperties: 1
type: object
id:
minLength: 1
type: string
required:
- apps
- id
type: object
releasePolicy:
properties:
Expand Down Expand Up @@ -174,31 +178,6 @@ spec:
the Release was never activated.
format: date-time
type: string
apps:
additionalProperties:
properties:
appDeployment:
minLength: 1
type: string
observedGeneration:
description: ObservedGeneration represents the .metadata.generation
of the AppDeployment that the status was set based upon.
For instance, if the AppDeployment .metadata.generation
is currently 12, but the observedGeneration is 9, the
status is out of date with respect to the current state
of the instance.
format: int64
type: integer
version:
description: Version of the App being released. Use of semantic
versioning is recommended. If set the value is compared
to the AppDeployment version. If the two versions do not
match the release will fail.
type: string
required:
- appDeployment
type: object
type: object
archiveReason:
description: Reason Release was archived.
enum:
Expand All @@ -210,6 +189,9 @@ spec:
description: Time at which the Release was archived to history.
format: date-time
type: string
id:
minLength: 1
type: string
problems:
items:
description: ObservedTime is added here instead of api package
Expand All @@ -220,13 +202,6 @@ spec:
items:
properties:
kind:
enum:
- AppDeployment
- Component
- HTTPAdapter
- Release
- ReleaseManifest
- VirtualEnvironment
type: string
name:
type: string
Expand Down Expand Up @@ -258,16 +233,6 @@ spec:
format: date-time
type: string
type:
enum:
- AdapterNotFound
- AppDeploymentFailed
- DependencyInvalid
- DependencyNotFound
- ParseError
- PolicyViolation
- RouteConflict
- VarNotFound
- VarWrongType
type: string
required:
- observedTime
Expand All @@ -281,6 +246,8 @@ spec:
to use the Release.
format: date-time
type: string
required:
- id
type: object
conditions:
items:
Expand Down Expand Up @@ -365,31 +332,6 @@ spec:
the Release was never activated.
format: date-time
type: string
apps:
additionalProperties:
properties:
appDeployment:
minLength: 1
type: string
observedGeneration:
description: ObservedGeneration represents the .metadata.generation
of the AppDeployment that the status was set based upon.
For instance, if the AppDeployment .metadata.generation
is currently 12, but the observedGeneration is 9, the
status is out of date with respect to the current state
of the instance.
format: int64
type: integer
version:
description: Version of the App being released. Use of semantic
versioning is recommended. If set the value is compared
to the AppDeployment version. If the two versions do not
match the release will fail.
type: string
required:
- appDeployment
type: object
type: object
archiveReason:
description: Reason Release was archived.
enum:
Expand All @@ -401,6 +343,9 @@ spec:
description: Time at which the Release was archived to history.
format: date-time
type: string
id:
minLength: 1
type: string
problems:
items:
description: ObservedTime is added here instead of api package
Expand All @@ -411,13 +356,6 @@ spec:
items:
properties:
kind:
enum:
- AppDeployment
- Component
- HTTPAdapter
- Release
- ReleaseManifest
- VirtualEnvironment
type: string
name:
type: string
Expand Down Expand Up @@ -449,16 +387,6 @@ spec:
format: date-time
type: string
type:
enum:
- AdapterNotFound
- AppDeploymentFailed
- DependencyInvalid
- DependencyNotFound
- ParseError
- PolicyViolation
- RouteConflict
- VarNotFound
- VarWrongType
type: string
required:
- observedTime
Expand All @@ -472,6 +400,8 @@ spec:
to use the Release.
format: date-time
type: string
required:
- id
type: object
pendingReleaseFailed:
type: boolean
Expand All @@ -483,31 +413,6 @@ spec:
set the Release was never activated.
format: date-time
type: string
apps:
additionalProperties:
properties:
appDeployment:
minLength: 1
type: string
observedGeneration:
description: ObservedGeneration represents the .metadata.generation
of the AppDeployment that the status was set based upon.
For instance, if the AppDeployment .metadata.generation
is currently 12, but the observedGeneration is 9, the
status is out of date with respect to the current state
of the instance.
format: int64
type: integer
version:
description: Version of the App being released. Use of
semantic versioning is recommended. If set the value
is compared to the AppDeployment version. If the two
versions do not match the release will fail.
type: string
required:
- appDeployment
type: object
type: object
archiveReason:
description: Reason Release was archived.
enum:
Expand All @@ -519,6 +424,9 @@ spec:
description: Time at which the Release was archived to history.
format: date-time
type: string
id:
minLength: 1
type: string
problems:
items:
description: ObservedTime is added here instead of api package
Expand All @@ -530,13 +438,6 @@ spec:
items:
properties:
kind:
enum:
- AppDeployment
- Component
- HTTPAdapter
- Release
- ReleaseManifest
- VirtualEnvironment
type: string
name:
type: string
Expand Down Expand Up @@ -568,16 +469,6 @@ spec:
format: date-time
type: string
type:
enum:
- AdapterNotFound
- AppDeploymentFailed
- DependencyInvalid
- DependencyNotFound
- ParseError
- PolicyViolation
- RouteConflict
- VarNotFound
- VarWrongType
type: string
required:
- observedTime
Expand All @@ -591,6 +482,8 @@ spec:
to use the Release.
format: date-time
type: string
required:
- id
type: object
type: array
type: object
Expand Down
2 changes: 2 additions & 0 deletions api/data.go → api/data_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ import "fmt"

// +kubebuilder:object:generate=false
type DataProvider interface {
Object

GetData() *Data
GetDataKey() DataKey
}
Expand Down
4 changes: 4 additions & 0 deletions api/kubernetes/common_types.go → api/kubernetes/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

// Types in this file contain dependencies on Kubernetes packages. They are kept
// out of the api package to prevent the Kubernetes packages from being pulled
// in by Kit.

// ObservedTime is added here instead of api package to prevent k8s.io
// dependencies from getting pulled into Kit.
type Problem struct {
Expand Down
Loading

0 comments on commit 4efd469

Please sign in to comment.