@@ -56,31 +56,15 @@ kubectl --namespace kube-system expose deployment gitkubed --type=LoadBalancer -
56
56
gitkube install
57
57
```
58
58
59
- #### Example
60
- Follow this [ example] ( https://github.com/hasura/gitkube-example ) repo for a typical workflow of gitkube.
61
-
62
-
63
- ## How it works
64
-
65
- Gitkube has three components:
66
-
67
- 1 . Remote: Custom resource defined by a K8s CRD
68
- 2 . gitkube-controller: Controller that manages Remote objects and propogates changes to gitkubed
69
- 3 . gitkubed: Git host that builds docker image from the repo and rolls out deployment
70
-
71
- ### High-level architecture
72
-
73
- ![ Architecture] ( https://raw.githubusercontent.com/hasura/gitkube/master/artifacts/gitkube-v0.1.png )
74
-
75
- ### Workflow
59
+ ## Workflow
76
60
- Local dev: User creates a base git repo for the application with Dockerfile and K8s deployment
77
61
- Setting Remote: User defines a spec for Remote containing the rules for ` git push `
78
62
- Deploying application: Once a Remote is setup, application can be deployed to K8s using ` git push <remote> master `
79
63
80
- #### Local dev
64
+ ### Local dev
81
65
User should have a git repo with source code and a Dockerfile. User should also create a base K8s deployment for the application.
82
66
83
- #### Setting Remote
67
+ ### Setting Remote
84
68
A Remote resource consists of 3 parts:
85
69
86
70
1 . authorizedKeys: List of ssh-keys for authorizing ` git push ` .
115
99
dockerfile : example/www/Dockerfile # Location of Dockerfile for the source code
116
100
` ` `
117
101
118
- #### Deploying application
102
+ ### Deploying application
119
103
120
104
Once a Remote is created, it gets a git remote URL which you can find in its ` status` spec
121
105
@@ -139,12 +123,21 @@ And finally, `git push`
139
123
$ git push sampleremote master
140
124
` ` `
141
125
142
- # # Roadmap
126
+ # ## More examples
127
+ Follow this [example](https://github.com/hasura/gitkube-example) repo for more workflows with gitkube.
128
+
129
+ # # How it works
130
+
131
+ Gitkube has three components :
132
+
133
+ 1. Remote : Custom resource defined by a K8s CRD
134
+ 2. gitkube-controller : Controller that manages Remote objects and propogates changes to gitkubed
135
+ 3. gitkubed : Git host that builds docker image from the repo and rolls out deployment
143
136
144
- Gitkube is open to evolution. Some of the features to be added in future include :
137
+ # ## High-level architecture
138
+
139
+ 
145
140
146
- - Allowing all apps (daemonset, statefulset) to be deployed using `git push`. Current support is limited to deployments. [#19](https://github.com/hasura/gitkube/issues/19)
147
- - Allowing different git hooks to be integrated [#20](https://github.com/hasura/gitkube/issues/20)
148
141
149
142
# # Contributing
150
143
0 commit comments